是否有可能生成一个自动目录使用Github调味Markdown?
当前回答
我的同事@schmiedc和我已经创建了一个GreaseMonkey脚本,它在h1按钮的左侧安装了一个新的TOC按钮,它使用优秀的markdown-js库来添加/刷新目录。
与doctoc等解决方案相比,它的优势在于集成到GitHub的wiki编辑器中,不需要用户使用命令行(并要求用户安装node.js等工具)。在Chrome中,它通过拖拽到扩展页面来工作,在Firefox中,你需要安装GreaseMonkey扩展。
它将与普通markdown工作(即它不能正确处理代码块,因为这是一个GitHub扩展markdown)。贡献的欢迎。
其他回答
GitHub Pages(基本上是Jekyll的包装器)似乎使用了kramdown,它实现了所有Maruku,因此通过atoc属性支持自动生成的目录:
* auto-gen TOC:
{:toc}
第一行只是开始一个无序列表,实际上被丢弃了。
这将使用文档中的头文件生成一组嵌套的无序列表。
注意:这应该适用于GitHub页面,而不是评论或wiki页面中使用的GitHub调味Markdown (GFM)。我想这个问题没有解决办法。
Github调味Markdown使用红地毯作为他们的Markdown引擎。 摘自RedCarpet回购:
:with_toc_data -添加HTML锚的每个头在输出HTML, 允许链接到每个部分。
似乎你需要在渲染器级别设置这个标志,这在Github上显然是不可能的。然而,Github Pages的最新更新,似乎自动锚定是为标题打开的,创建可链接的标题。这不是你想要的,但它可能会帮助你更容易地为你的文档创建一个TOC(尽管是手动的)。
目前还不可能使用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
正如这条评论所建议的。点击这里查看演示。
在使用Visual Studio Code时,实现mardown文件目录的一个非常方便的方法是扩展名Markdown-TOC。
它可以向现有的markdown文件添加toc,甚至在保存时保持toc的最新状态。
现在有一个GitHub行动完成这一点:
https://github.com/marketplace/actions/toc-generator
指定TOC的位置(选项) 例如README.md
<!-- START doctoc -->
<!-- END doctoc -->
设置工作流程 例如.github /工作流/ toc.yml
on: push
name: TOC Generator
jobs:
generateTOC:
name: TOC Generator
runs-on: ubuntu-latest
steps:
- uses: technote-space/toc-generator@v2
推荐文章
- 了解Git和GitHub的基础知识
- 在GitHub上有一个公共回购的私人分支?
- 只用GitHub动作在特定分支上运行作业
- Git合并与强制覆盖
- 是否有一个链接到GitHub下载文件的最新版本的存储库?
- GitHub -致命:无法读取用户名https://github.com':没有这样的文件或目录
- Github:我能看到回购的下载数量吗?
- 如何运行一个github-actions步骤,即使前一步失败,同时仍然失败的工作
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 在GitHub repo上显示Jenkins构建的当前状态
- 如何取消在github上的拉请求?
- HEAD和master的区别
- 在另一个目录中运行操作
- GitHub克隆与OAuth访问令牌
- 我可以在GitHub上对要点进行拉请求吗?