有没有办法在 Githubs markdown 中嵌入文件的内容(来自项目 repo)?
我有一个代码示例,想将它嵌入到项目自述文件中。
@Petros 的答案(仍然)是正确的,但是我对此感到非常恼火,因此我创建了一个工具来自动复制并使您的自述文件与源代码保持同步 - https://github.com/zakhenry/embedme
已接受答案的示例用法
在代码围栏中插入注释
```rb
# path/to/your/file.rb
```
运行npx embedme README.md
(假设你已经安装了 Nodejs)
自述文件将就地编写,文件内容在您的评论之后
```rb
# path/to/your/file.rb
class MyClass
end
```
请注意,由于注释仍然存在,您可以愉快地再次运行npx embedme README.md
它,它不会做任何更改。
如果你有 CI,你也可以运行npx embedme --verify README.md
which1
如果检测到差异将返回(这意味着源已更新而自述文件未更新)。
你目前不能这样做。您必须复制代码示例并将其粘贴在 README 文件中的三个刻度之间。这是一个例子:
``` 红宝石 我的班级 结尾 ```
这当然是静态的,您必须在代码更改时手动更新它。
如果你愿意使用 github 操作,我在 Github Marketplace 上找到了Markdown autodocs来为我的项目工作。
您所要做的就是在.github/workflows/your-workflow.yml
文件中添加一行:
uses: dineshsonachalam/markdown-autodocs@v1.0.4
然后将这些片段插入到您的 Markdown 文件中:
<!-- MARKDOWN-AUTO-DOCS:START (CODE:src=./relative/path/to/code.js) -->
<!-- MARKDOWN-AUTO-DOCS:END -->
我也喜欢它允许使用远程文件的事实:
<!-- MARKDOWN-AUTO-DOCS:START (CODE:src=https://raw.githubusercontent.com/username/project/master/path/to/file) -->
<!-- MARKDOWN-AUTO-DOCS:END -->
还有一个事实是您可以限制打印的行数:
<!-- MARKDOWN-AUTO-DOCS:START (CODE:src=https://raw.githubusercontent.com/username/project/master/path/to/file&lines=1-42) -->
<!-- MARKDOWN-AUTO-DOCS:END -->
您可以编写一个脚本,从公共存储库加载源代码,然后在容器中显示它。这是一个 MD 文件的示例,它从 github 加载数据并将其显示在容器中。
## Welcome to the Simple Alarm Server Example
This page will load and show a code example.
<div id="code-element"></div>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
axios({
method: 'get',
url: 'https://raw.githubusercontent.com/iotify/nsim-examples/master/functional-testing/alarm-server.js'
})
.then(function (response) {
document.getElementById("code-element").innerHTML = response.data;
});
</script>