跳转到主要内容

Pelican插件,将Mau格式的文档转换为HTML

项目描述

Mau Reader:Pelican插件

Build Status PyPI Version Downloads License

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(不推荐,因为它不是唯一的)。参数 textlevel 分别是标题本身的文本和表示深度级别的整数(例如,1 对于 h1 标题,2 对于 h2 标题,等等)。

贡献

欢迎并非常感谢贡献。每一点贡献都很有帮助。您可以通过改进文档、添加缺失的功能和修复错误来做出贡献。您还可以通过审查和评论 现有问题 来提供帮助。

要开始为此插件做出贡献,请查阅 Pelican贡献指南,从 贡献代码 部分开始。

许可

本项目采用MIT许可证。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

pelican_mau_reader-4.0.0.tar.gz (5.3 kB 查看散列)

上传时间

构建分发

pelican_mau_reader-4.0.0-py3-none-any.whl (5.3 kB 查看散列)

上传于 Python 3