1 个不稳定版本
0.1.0 | 2021 年 3 月 7 日 |
---|
#13 在 #mdbook-preprocessor
26KB
232 行代码(不含注释)
mdbook-rss
为 mdBook 提供的预处理器,可从您的章节生成 RSS 联想。
代码基于文档中的 示例 构建。
使用和配置
首先,确保将其安装到您的 $PATH
中,以便 mdbook
可以找到并使用它
cargo install --git <url to this repository>
配置:Feed
本节描述了针对 RSS 联想本身的“全局”配置。
mdbook-rss
在您的 book.toml 中查找 [preprocessor.rss]
部分
[preprocessor.rss]
files-glob = "posts/*.md"
url-base = "https://example.com/"
从 book.toml 中获取的可用配置键
files-glob
:用于指定要包含在 RSS 联想中的文件的文件通配符url-base
:一个 URL,与文件的路径结合使用以构建文章的链接。
基本上,这是 mdbook 托管域和书的site-url
选项的组合。
请注意,由于url::Url::join
的实现细节,它应以 '/' 结尾。
生成的 RSS 联想将写入与您的 SUMMARY.md
旁边的 rss.xml
文件,因此可以通过 <url-base>/rss.xml
访问。
配置:书籍章节和 RSS 项目
本节描述了基于章节的配置。
除了全局配置之外,您还可以通过定义类似如下的前端元数据来配置您书籍中每个章节的一些属性
---
pub_date: Wed, 03 Mar 2021 12:00:00 GMT
description: A helpful example
---
# Example
Rest of your markdown
目前仅支持 pub_date
和 description
,其中描述是可选的。
注意:此前端元数据将从中删除每个章节,因此它将不再适用于在此之后运行的预处理器!
已知问题/潜在改进
- 目前还没有实际的测试。我做的唯一测试是检查在新闻源阅读器中的结果源。
- 该预处理程序使用 markdown crate 将 RSS 项目的内容渲染为 HTML;这意味着生成的 RSS 源中可能无法正确渲染 mdbook 特定功能。
- 前端内容被移除,使其不可用/与其他在此之后运行的也使用前端内容的预处理程序不兼容。
保留前端内容并使用用于移除前端内容的单独预处理程序将其移除? - 此预处理程序目前假设每个 RSS 项都由同一人(们)编写,并仅用逗号分隔每个 RSS 项的书籍
作者
字段。
这可以在前端内容中覆盖吗? - RSS 源的标题以及每个项目的标题都来自书籍和章节。
这可以在 book.toml 和前端内容中覆盖吗?
许可证
此存储库中的代码在 Mozilla Public License Version 2.0 下发布。
依赖项
~20–33MB
~583K SLoC