如何在 Pelican markdown post 的元数据部分写评论?

How can I write comments in the metadata section of a Pelican markdown post?

在 Pelican 中,是否可以在降价文件的元数据部分添加评论?假设我有一个 post 看起来像这样:

Title: Hello World!
Tags: greetings
Date: 2020-01-01

Lorem ipsum sit dolor amet...

是否可以向元数据添加评论?例如:

Title: Hello World!
Tags: greetings
Date: 2020-01-01  # This is the first comment.
# This is another comment.

Lorem ipsum sit dolor amet...

上面的示例不起作用,因为 Pelican 将 # This is another comment. 视为 Markdown 标题。

如何在 Pelican markdown 文件的元数据部分中发表评论?

对于 Markdown 内容,Pelican delegates processing to the Python-Markdown library. Markdown meta-data is handled by its Meta-Data extension, which I do not believe supports comments within meta-data fields. A cursory examination of tracker issues 没有产生任何与此问题相关的问题。

简而言之,这个问题与 Pelican 本身无关,而是与依赖的 Python-Markdown 库有关。

改为使用 HTML 评论,或将评论作为“官方”元数据。所以 #1:

Title: Hello World!
Tags: greetings
Date: 2020-01-01  # This is the first comment.
<!-- This is another comment. -->

Lorem ipsum sit dolor amet...

或#2:

Title: Hello World!
Tags: greetings
Date: 2020-01-01  # This is the first comment.
Comment: This is another comment.

Lorem ipsum sit dolor amet...

您可以使用许多 Pelican 插件,这些插件允许将元数据部分写入 YAML,即(大部分)backwards-compatible 具有简单的键值元数据对,Pelican默认情况下期望。这些 YAML 插件的示例包括:

在 YAML 中,注释以 # 开头(一行中的任何位置,而不仅仅是开头)并继续到行尾,就像在您的示例中一样。

您只需要记住几件事。首先,这些插件要求您开始和结束整个元数据 header,行只包含 ---,因此如果您要转换现有的 Pelican 站点,您可能需要编写一个简短的脚本(使用sed、Perl 等)将这些定界符添加到您的文件中。其次,YAML 中的一些其他字符具有特殊含义,因此如果您在元数据值中使用这些字符中的任何一个,则需要将它们转义或将值用单引号或双引号引起来。