Github包含README.md中的md文件?

Jen*_*ell 23 markdown github readme

Github中有一种方法可以包含md文件,例如README.md吗?

# Headline

Text

[include](File:load_another_md_file_here.md)
Run Code Online (Sandbox Code Playgroud)

它不应该链接到文件,它应该加载它的内容,如PHP include/file_get_contents.

Von*_*onC 23

这似乎是不可能的,特别是在考虑github/markup#346和时github/markup#172.

不支持include指令.

  • 是的,这在未来很可能不会改变.[Github即使对于reStructuredText也没有提供此功能](https://github.com/github/markup/issues/172)(rst)在官方语言规范中有include指令. (3认同)

Ton*_*Nam 14

因为这是不可能的,所以我最终将链接放置为

[MY-LINK](../../SOME-OTHER-README.MD)
Run Code Online (Sandbox Code Playgroud)

  • 这是一个答案:“不可能”,并提出了一个替代方案(在我看来不是最好的,但很好) (2认同)

Dav*_*arx 11

将你的自述文件迁移到另一个文件,然后按照你喜欢的方式构建你的实际自述文件作为 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
Run Code Online (Sandbox Code Playgroud)

这是我的更新脚本中与您相关的部分:

... # 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)
Run Code Online (Sandbox Code Playgroud)

假设您有一个名为的文件README.stub,其名称可能如下所示:

# Title

some text

{TOC}

more text
Run Code Online (Sandbox Code Playgroud)

{TOC}我们的动态内容的替换目标在哪里。


Jen*_*ell 5

这不是正确的答案,而是对其他确实需要此解决方案的人的解决方法。

在将文件发送到Github之前,可以使用GulpGulp Concat将文件合并为一个文件。