菜鸟鹈鹕问题在这里:
我想在我的 pelican 网站的主页上包含与博客无关的帖子,但它只是读取一个 rst 文件并将结果放在主页上。我可以把一个帖子放在一起,但这真的不是我想要的。
我当然可以破解 index.html 模板并将文本直接放在那里。但我想做的是放一些代码来解析文件并将相同的文本放在那里。
菜鸟鹈鹕问题在这里:
我想在我的 pelican 网站的主页上包含与博客无关的帖子,但它只是读取一个 rst 文件并将结果放在主页上。我可以把一个帖子放在一起,但这真的不是我想要的。
我当然可以破解 index.html 模板并将文本直接放在那里。但我想做的是放一些代码来解析文件并将相同的文本放在那里。
使用 Python 作为设置文件格式的好处之一是 Pelican 可以做你想做的事,而无需编写插件或修改 Pelican 本身。
假设您存储了一些intro.rst
要在index.html
模板中呈现的介绍性内容。Pelican 设置文件的以下添加将生成一个INTRO
包含intro.rst
文件呈现内容的新变量。
from pelican.settings import DEFAULT_CONFIG
from pelican.readers import RstReader
config = DEFAULT_CONFIG.copy()
# If you need to override default settings (e.g., DOCUTILS_SETTINGS / DEFAULT_LANG):
# config["DEFAULT_LANG"] = "de"
# .read() returns (content, metadata). Keep content only; we don’t need the metadata.
# Assign content to an ALL-CAPS variable to access from template:
INTRO, _ = RstReader(config).read("path/to/intro.rst")
有了上述设置,您应该能够通过将{{ INTRO }}
变量放置在索引模板中的所需位置来插入呈现的内容。