博客主题的修改

Posted by ivicel on 2019-05-01

这个博客是使用 Pelican 搭建了, Pelican 是一个使用了 Python 写的一个静态博客生成框架, 里面使用了 Jinja2 作为模版

最近重新修改了博客主题, 使用了 HuxPro 里的样式主题, 原主题里使用的是 Jekyll 生成, 不过其模版写法和 Jinja2 差不多, 自己稍微修改了下, 用 jinja2 重新写了一个

由于 Pelican 生成的目录结构不同, 其针对 article, archive, category, page, tag 都可以生成单独的页面, 所以在一些内嵌的页面里 (archives), 取巧的使用 ajax 来请求刷新 tag

由于 Python Markdown 只支持最基本的 Markdown 语法, 所以需要扩展插件, 我使用了 pymdownx, 这是一个扩展包, 包含了比如基于 js 的语法高亮, ``` 格式的代码标记, 路径转换(这个在写 markdown 时图片和上传后的图片路径不一致时进行转换), todo-list 等等.

语法高亮使用了 prismjs, 先在 pymdownx.highlight 里禁用 markdown 使用 pygments 语法高亮, 设置自定义生成 css_class, 主要是用于生成行号. prismjs 需要在 pre 标签读取 .line-numbers 这个 class, 默认只生成 .highlight, 设置成 highlight line-nubmers 即可