是否有可能生成一个自动目录使用Github调味Markdown?
当前回答
使用coryfklein/doctoc, thlorenz/doctoc的一个分支,它不会在每个目录中添加“由doctoc生成”。
npm install -g coryfklein/doctoc
其他回答
它不是自动的,但它使用notepad++正则表达式:
用第二个替换所有第一个(删除所有没有标题的行)
^##(#?)(#?)(.*?)$(.|\r|\n)*?(?=^##|\z)
-\1\2 [\3](#\3)\n
然后(将头III转换为空格)
-##
-
然后(将标题II转换为空格)
-#
-
然后(删除链接标题开头和结尾未使用的字符)
\[ *((?:(?![ .:#!\?;]*\])[^#])*)[ #:!\?;]*\]
[\1]
然后(转换最后一个符号小写和破折号而不是空格)
\]([^ \r\n]*) ([^\r\n ]*)
]\L\1-\2
删除未使用的最后磅和初始破折号:
(?:()[-:;!\?#]+$|(\]#)-)
\1\2
删除链接中无用的字符:
(\].*?)(?:\(|\))
\1
最后在最后链接的周围加上圆括号:
\](?!\()(.*?)$
\]\(\1\)
瞧!如果你重复足够多的时间,你甚至可以把它放在一个全局宏中。
我的同事@schmiedc和我已经创建了一个GreaseMonkey脚本,它在h1按钮的左侧安装了一个新的TOC按钮,它使用优秀的markdown-js库来添加/刷新目录。
与doctoc等解决方案相比,它的优势在于集成到GitHub的wiki编辑器中,不需要用户使用命令行(并要求用户安装node.js等工具)。在Chrome中,它通过拖拽到扩展页面来工作,在Firefox中,你需要安装GreaseMonkey扩展。
它将与普通markdown工作(即它不能正确处理代码块,因为这是一个GitHub扩展markdown)。贡献的欢迎。
大多数其他答案需要安装一些工具。 我找到了一个快速简单的在线解决方案https://imthenachoman.github.io/nGitHubTOC。
对于任何markdown输入,它生成内容输出表。 您可以指定最小和最大标题级别。
源代码位于https://github.com/imthenachoman/nGitHubTOC
Gitdown是Github的markdown预处理器。
使用Gitdown你可以:
生成目录 查找失效的url和片段标识符 包括变量 包含文件 获取文件大小 生成徽章 打印日期 打印关于存储库本身的信息
giitdown简化了与维护GitHub存储库文档页面相关的常见任务。
使用它很简单:
var Gitdown = require('gitdown');
Gitdown
// Gitdown flavored markdown.
.read('.gitdown/README.md')
// GitHub compatible markdown.
.write('README.md');
您可以将其作为一个单独的脚本,也可以将其作为构建脚本例程的一部分(例如Gulp)。
目前还不可能使用markdown语法(参见GitHub上正在进行的讨论),但是你可以使用一些外部工具,例如:
在线内容表生成器(raychenon/play-table-of-contents) arthurhammer/ GitHub -toc -浏览器扩展,添加一个目录到GitHub回购表
或者使用AsciiDoc代替(例如README.adoc)。
:toc: macro
:toc-title:
:toclevels: 99
# Title
## A
### A2
## B
### B2
正如这条评论所建议的。点击这里查看演示。
推荐文章
- 了解Git和GitHub的基础知识
- 在GitHub上有一个公共回购的私人分支?
- 只用GitHub动作在特定分支上运行作业
- Git合并与强制覆盖
- 是否有一个链接到GitHub下载文件的最新版本的存储库?
- GitHub -致命:无法读取用户名https://github.com':没有这样的文件或目录
- Github:我能看到回购的下载数量吗?
- 如何运行一个github-actions步骤,即使前一步失败,同时仍然失败的工作
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 在GitHub repo上显示Jenkins构建的当前状态
- 如何取消在github上的拉请求?
- HEAD和master的区别
- 在另一个目录中运行操作
- GitHub克隆与OAuth访问令牌
- 我可以在GitHub上对要点进行拉请求吗?