Readue 是一个 README 一键式生成工具,它可以帮你免去从四处复制粘贴信息的烦恼,并始终保持和项目本身的一致性。你可以通过 CLI 来快速生成 README,可以在 可视化界面中预览内容,在 Github Actions 中持续集成,更可以通过 API 方式对多个项目的 README 进行批量更新。
Readue 是一个我筹划已久的项目,它主要致力于解决信息一致性的问题。
在开源项目中,README 文件是项目的重要文档之一。它通常包含项目的介绍、使用方法、贡献指南等。它是一个项目最直观的信息载体,在项目创建或者发布第一个发行版时,我们通常都会认真地书写 README 文件,以更好地向用户展示项目。
但是随着项目的迭代,项目本身的内容也在不断变化,README 文件本应随之更新,但很遗憾地是,后期我们的重心往往会放在功能迭代,或专门的文档站点内容建设上,却忽略了 README 才是用户访问你的项目时第一眼看到的内容。
因此,Readue 应运而生,它旨在帮助开发者在项目迭代的过程中,及时保持 README 内容与项目本身的一致性。
接下来我们会介绍 Readue 的主要功能特性。
对于开源项目来说,在 README 文件中的很多内容都是类似的,比如项目信息、证书、Monorepo 的子包信息等。但我们却需要为每个项目都手动书写这些内容,这无疑会浪费大量的时间。
使用 @readue/cli
工具在项目根目录执行 readue
,即可一键写入 README。
Readue 将 README 的内容视为一个一个的内容块,每个内容块都由一个单独的插件来负责,接受统一的参数,输出不同的内容,用户可以根据自己的需要,灵活自定义生成的信息。
以 lexmin0412/readue
项目本身为例,它的块配置信息如下:
module.exports = {
...,
// 其他配置信息
blocks: {
type: 'custom',
list: [
"@readue/block-base_info",
"@readue/block-packages",
"@readue/block-star_history",
]
}
}
它使用了 @readue/block-base_info
、@readue/block-packages
和 @readue/block-star_history
插件,Readue 会在运行过程中依次执行这些插件,并将它们返回的内容拼接起来,最终生成 README。
当然,你也可以自定义自己的插件,来实现官方插件没有覆盖的需求。
Readue 提供了 CLI 、API、可视化界面三种方式来生成 README,分别适用于不同的场景。
生成方式 | 应用场景 |
---|---|
CLI | 命令行工具,适用于 CI/CD 场景 |
API | Node.js API,适用于批量更新 README |
可视化界面 | 所见即所得,使用成本低,适用于一次性操作 |