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

Add CSS rules to Pelican without creating a theme

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

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

我在文档(或通过谷歌搜索)中找不到任何内容似乎可以解释如何执行此操作。只有如何创建一个全新的主题,或者使用自定义样式 sheet,覆盖默认样式 sheet。

有没有办法添加补充样式sheet甚至只是一些补充规则?

Pelican 自第 3 版起允许 theme inheritance,但出于某种原因它似乎只适用于 simple 主题……

这里有一些或多或少的 hacky 方法,仍然没有编辑主题本身:

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

  • Notmyidea includes a CSS file specified in CSS_FILE settings variable to allow you to use the wide variant (CSS_FILE = "wide.css" in the docs). Looking at the wide.css source,它导入 main.css。所以,你可以创建例如。 custom.css,导入 notmyidea 的 main.css(就像 wide.css 一样),并添加您的自定义规则。然后将 CSS_FILE 指向您的 custom.css.

Pelican 不提供主题继承——除非您使用内置的 'simple' 主题。

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

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