鹈鹕:在主页上包含文件内容

2024-05-20 07:16:54 发布

您现在位置:Python中文网/ 问答频道 /正文

努布鹈鹕问题:

我想在我的pelican网站主页上包含与博客无关的内容,但它只读取rst文件并将结果放在主页上。我可以把一篇文章放在一起,但那真的不是我想要的

我当然可以破解index.html模板,直接将文本放在那里。但是我想做的是在那里放一些代码,解析一个文件,并将相同的文本放在那里


Tags: 文件代码文本模板内容index网站html
1条回答
网友
1楼 · 发布于 2024-05-20 07:16:54

使用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 }}变量放置在索引模板中所需的位置来插入呈现的内容

相关问题 更多 >