使用 Node.js 开发的项目目录管理工具,能够将项目内文件结构自动映射并生成为 README.md
当一份 README.md 的主体内容是项目目录,而你又厌倦了每次增加、修改、删除项目中文件时都要对 README 进行维护,那么不妨试试 yuki!
它可以在极短时间内帮你生成符合要求的 README.md 文档。你更可以通过配置一份 yuki.config.json 来满足你的以下需求:
- 固定文档标题
- 目录前后增加固定内容
- 映射时忽略指定文件夹、文件、扩展名
- 根据指定扩展名选择是否去掉文件名的扩展名或加上书名号
- 让每个文件都带上 Github 的链接以方便在线跳转查看
你可以用 yuki 帮助你轻松维护 github 上类似博客、笔记、代码汇总等项目!
我的每天一题 LeetCode项目的 README.md 完全通过 yuki 生成。你可以点击以查看效果。
请确认你使用的电脑有 Node 环境,越新越好。
npm install -g yuki
# 请将 <dirname> 换为文件夹路径
cd <dirname>
touch yuki.config.json
{
// README.md的大标题(h1),默认为所在文件夹名
"title": "《算法(第4版)》笔记及代码",
// github库地址,如果配置了这项会给每个文件加上超链接
// 如果配置,请保证index填写无误,且所有文件名不含空格(否则链接无法正确表示)
// branch默认为master
"repository": {
"index": "https://github.com/bighuang624/Algorithms-notes",
"branch": "master"
},
// 目录开始的标题等级
// 默认为2,即该目录下的文件夹名等级从3开始,随层级深入递减
"startLevel": 2,
// 需要忽略的目录、扩展名和文件,都以数组表示
"ignore": {
"dir": [".git"],
"extname": [".json"],
"file": [
"yuki.config.json",
".gitignore",
"README.md",
".DS_Store"
]
},
// 根据扩展名选择对展示的文件名做一些处理
// 每个扩展名的配置需要单独一个对象
// 目前支持省略扩展名"withoutExt": true
// 和加上书名号"withBookmark": true
"format": [
{
"extname": ".md",
"withoutExt": true,
"withBookmark": true
}
],
// 在大标题之后,目录之前添加的内容
// 每个对象可选择包含标题、标题等级和内容
// 其中,标题和标题等级需在一个对象中一同填写
"prefix": [
{
"content": "[![作者](https:\//img.shields.io\/badge/%E4%BD%9C%E8%80%85-KyonHuang-7AD6FD.svg)](http:\//kyonhuang.top)"
}, {
"title": "目录",
"level": 2
}
],
// 在README.md末尾添加的内容
// 和prefix相同,每个对象可选择包含标题、标题等级和内容
"append": [
{
"title": "维护",
"level": 2,
"content": "本文档由 [yuki](https://github.com/bighuang624/yuki) 维护"
}
]
}
因为 JSON 标准中不含注释,请在使用时将注释去掉。本项目中也提供一份不带注释、可供修改使用的 yuki.config.json 模版。
不需要的配置选项请全部删除。
yuki
- 生成的文档中文件和文件夹按照名称顺序排列
- 如果你觉得这个小工具还不错,或者使用时觉得很方便、减轻了重复的工作负担,那么不妨点一个 star 作为鼓励
- 欢迎开 issue 或者提交 PR