【问题标题】:Pelican - How can I render html pages instead of markup?Pelican - 如何呈现 html 页面而不是标记?
【发布时间】:2018-06-27 22:09:14
【问题描述】:

我正在重做 Pelican 的 Flask 网站,因为我打算开始写博客。我已经有一些特定页面(即联系人、书籍等)的 html 文件,这些页面使用引导卡和 Markdown 中不可能的其他功能(据我所知)。

如何在构建周期中呈现这些。必须有一个配置变量吗?我找到了 TEMPLATE_PAGES 但它似乎没有用。这必须是可能的,对吧?

【问题讨论】:

    标签: python pelican


    【解决方案1】:

    我试图和你做同样的事情,最后找到了相关文档(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 文件以及您想要使用的所有好东西。

    我知道这来晚了,但希望有人(也许还是你!)将从这个答案中受益。这绝对是一个非常隐蔽的功能……

    【讨论】:

      【解决方案2】:

      来自他们的官方文档

      http://docs.getpelican.com/en/stable/content.html#writing-content

      Pelican 还可以处理以 .html 和 .htm 结尾的 HTML 文件。鹈 以非常直接的方式解释 HTML,读取元数据 来自元标签,标题来自标题标签,正文来自 正文标签:

      【讨论】:

      • 谢谢。在您发表评论后,我尝试了这个。它似乎需要一个 body 标签来呈现内容并且不会扩展 base.html。因此,不幸的是,这不是答案。
      猜你喜欢
      • 2012-09-18
      • 1970-01-01
      • 2013-09-29
      • 2017-12-06
      • 2013-07-16
      • 2021-02-09
      • 2020-09-20
      • 1970-01-01
      • 2012-01-26
      相关资源
      最近更新 更多