在不创建主题的情况下将CSS规则添加到Pelican

时间:2019-01-04 21:19:13

标签: python css static-site pelican

我更喜欢默认的Pelican主题notmyidea。它很好地满足了我的目的。

但是,为了实现Python-Markdown admonishments扩展,我需要在模板中添加一些CSS规则。

我在文档中(或通过谷歌搜索)找不到的内容似乎说明了如何执行此操作。仅介绍如何创建全新主题或使用自定义样式表,该样式表将覆盖默认样式表。

是否可以添加补充样式表,甚至仅添加一些补充规则?

2 个答案:

答案 0 :(得分:1)

Pelican自版本3起允许使用theme inheritance,但出于某些原因,它似乎仅适用于simple主题…

以下是一些或多或少的骇客方式,仍然无需修改主题本身:

  • 您可以在Markdown中包含HTML,因此只需在页面/文章<link rel="stylesheet" href="…">文件中插入<style>…</style>甚至.md即可。您可以获取Makefile来针对每个页面/文章自动执行此操作。它不会中断更新,notmyidea主题将使用Pelican进行更新,而不是保留旧的静态副本。

  • includes a CSS file设置变量中指定的
  • Notmyidea CSS_FILE可让您使用宽变体(文档中的CSS_FILE = "wide.css")。查看wide.css source,它会导入main.css。因此,您可以创建例如。 custom.css,导入notmyidea的main.css(就像wide.css一样),然后添加您的自定义规则。然后将CSS_FILE指向您的custom.css

答案 1 :(得分:0)

Pelican不提供主题继承-除非您使用内置的“简单”主题。

您可以使用THEME_TEMPLATES_OVERRIDES 覆盖主题模板,但Pelican中没有主题继承(包括模板或样式继承)。然而。我认为这是WordPress的杀手feature。

此外,此功能还有一个open feature request right now