【发布时间】:2018-06-27 22:09:14
【问题描述】:
我正在重做 Pelican 的 Flask 网站,因为我打算开始写博客。我已经有一些特定页面(即联系人、书籍等)的 html 文件,这些页面使用引导卡和 Markdown 中不可能的其他功能(据我所知)。
如何在构建周期中呈现这些。必须有一个配置变量吗?我找到了 TEMPLATE_PAGES 但它似乎没有用。这必须是可能的,对吧?
【问题讨论】:
我正在重做 Pelican 的 Flask 网站,因为我打算开始写博客。我已经有一些特定页面(即联系人、书籍等)的 html 文件,这些页面使用引导卡和 Markdown 中不可能的其他功能(据我所知)。
如何在构建周期中呈现这些。必须有一个配置变量吗?我找到了 TEMPLATE_PAGES 但它似乎没有用。这必须是可能的,对吧?
【问题讨论】:
我试图和你做同样的事情,最后找到了相关文档(you can find it here 其中定义了变量DIRECT_TEMPLATES):
DIRECT_TEMPLATES = ['index', 'categories', 'authors', 'archives']
直接用于呈现内容的模板列表。通常,直接模板用于为内容集合生成索引页面(例如,标签和类别索引页面)。如果不需要标签和类别集合,设置
DIRECT_TEMPLATES = ['index', 'archives']
例如,假设您的templates 目录中有一个文件my_file.html。如果你想在你的主题中像其他模板文件一样渲染它而不是只使用 Markdown,你可以将一个项目附加到变量DIRECT_TEMPLATES 的列表中,你必须在你的配置文件中定义它(它是 pelicanconf .py 默认)。结果应该类似于:
DIRECT_TEMPLATES = [
'index', 'categories', 'authors', 'archives', # (default)
'my_file' # other HTML template to render
]
通过这种方式,my_file.html 将呈现为具有 Jinja2 语法的任何其他 HTML 文件以及您想要使用的所有好东西。
我知道这来晚了,但希望有人(也许还是你!)将从这个答案中受益。这绝对是一个非常隐蔽的功能……
【讨论】:
来自他们的官方文档
http://docs.getpelican.com/en/stable/content.html#writing-content
Pelican 还可以处理以 .html 和 .htm 结尾的 HTML 文件。鹈 以非常直接的方式解释 HTML,读取元数据 来自元标签,标题来自标题标签,正文来自 正文标签:
【讨论】: