Github有没有办法将md文件包含在例如README.md中?
# Headline
Text
[include](File:load_another_md_file_here.md)
它不应该链接到文件,它应该从中加载内容,就像 PHP include / file_get_contents 一样。
因为这是不可能的,所以我最终将链接设置为
[MY-LINK](../../SOME-OTHER-README.MD)
将您的自述文件迁移到另一个文件,然后按照您喜欢的方式构建实际的自述文件作为 github 操作
编辑:这是一个您可以构建的演示。该存储库有一个 github 操作,该操作运行一个脚本,该脚本根据存储库的内容动态构建 README.md(以目录形式为存储库构建站点地图):https://github .com/dmarx/bench-warmers
工作流程配置:
name: update-readme
on:
push:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v2
- name: Run the script
run: python scripts/update_readme.py
- name: Commit files
run: |
git config --local user.name "dmarx"
git add README.md
git commit -m "Updated TOC"
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
force: true
这是我的更新脚本中与您相关的部分:
... # code that builds the object `toc_str`
# template readme
with open('README.stub') as f:
readme_stub = f.read()
# simple replacement, use whatever stand-in value is useful for you.
readme = readme_stub.replace('{TOC}',toc_str)
with open('README.md','w') as f:
f.write(readme)
假设您有一个名为
README.stub
的文件,它可能看起来像这样:
# Title
some text
{TOC}
more text
其中
{TOC}
是我们动态内容的替换目标。
这不是正确的答案,而是其他真正想要这个的人的解决方法。
可以使用 Gulp 和 Gulp Concat 将文件合并为一个,然后再发送到 Github..
Ruby gem markdown_helper 实现 GitHub 风格的 Markdown (GFM) 的包含文件。
披露:我写了宝石。
注意直接答案,因为 GFM 不支持包含,但我保留了我发现的项目列表,可以让您通过预处理步骤包含内容以生成最终的 Markdown 文件:
https://github.com/realazthat/snipinator/#-lated-projects
披露:我写了snipinator。