Pelican插件,将Mau格式的文档转换为HTML
项目描述
Mau Reader:Pelican插件
Mau Reader是一个Pelican插件,可以将Mau格式转换为HTML。
需求
此插件需要
- Python 3.8+
- Pelican 4.5+
- Mau 2.0+
安装
此插件可以通过以下命令安装,该命令还将自动安装Mau本身
python -m pip install pelican-mau-reader
只要您没有明确将 PLUGINS
设置添加到您的Pelican配置文件中,新安装的插件应自动检测并启用。否则,您必须将 mau_reader
添加到现有的 PLUGINS
列表。有关更多信息,请参阅 如何使用插件 文档。
用法
插件自动管理所有以 .mau
扩展名结尾的Pelican内容文件
元数据应以 pelican
命名空间下的Mau变量形式表达。例如
:pelican.title:Test Mau file with content
:pelican.date:2021-02-17 13:00:00
:pelican.modified:2021-02-17 14:00:00
:pelican.category:test
:pelican.tags:foo, bar, foobar
:pelican.summary:I have a lot to test
元数据字段的值是一个字符串,就像标准Markdown格式中一样。请注意,Mau变量值包括冒号后面的所有字符,包括空格。
config
字典中的所有值都可用作变量,因此您可以指定适用于所有文档的全局值。
自定义模板
您可以通过 custom_templates
配置变量覆盖Mau的某些或全部默认HTML模板。例如,如果您想为所有标题添加永久链接,您可以定义
MAU = {
"custom_templates": {
"header.html": (
'<h{{ level }} id="{{ anchor }}">'
"{{ value }}"
'<a href="#{{ anchor }}" title="Permanent link">¶</a>'
"</h{{ level }}>"
)
}
}
… 如果您只想将此限制为1级和2级的标题,则可以使用
MAU = {
"custom_templates": {
"header.html": (
'<h{{ level }} id="{{ anchor }}">'
"{{ value }}"
'{% if level <= 2 %}<a href="#{{ anchor }}" title="Permanent link">¶</a>{% endif %}'
"</h{{ level }}>"
)
}
}
目录和脚注
目录(TOC)和脚注是针对每个内容文件特定的,可以使用Mau命令 ::toc:
和 ::footnotes:
如常插入。
自定义标题锚点
Mau提供了一种简单函数来根据内容计算标题的ID。当前函数是
def header_anchor(text, level):
# Everything lowercase
sanitised_text = text.lower()
# Get only letters, numbers, dashes, and spaces
sanitised_text = "".join(re.findall("[a-z0-9- ]+", sanitised_text))
# Remove multiple spaces
sanitised_text = "-".join(sanitised_text.split())
return sanitised_text
这提供了确定性的标题ID,应该适用于大多数情况。如果您需要不同的内容,您可以通过在配置中指定 mau.header_anchor_function
来提供自己的函数
MAU = {
"mau.header_anchor_function": lambda text, level: "XYZ",
}
上面的例子为所有标题返回ID XYZ
(不推荐,因为它不是唯一的)。参数 text
和 level
分别是标题本身的文本和表示深度级别的整数(例如,1
对于 h1
标题,2
对于 h2
标题,等等)。
贡献
欢迎并非常感谢贡献。每一点贡献都很有帮助。您可以通过改进文档、添加缺失的功能和修复错误来做出贡献。您还可以通过审查和评论 现有问题 来提供帮助。
要开始为此插件做出贡献,请查阅 Pelican贡献指南,从 贡献代码 部分开始。
许可
本项目采用MIT许可证。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。