(プロジェクトリポジトリからの)ファイルのコンテンツをGithubsマークダウンに埋め込む方法はありますか?
コードサンプルがあり、プロジェクトのreadmeに埋め込みたいと思います。
@Petrosの答えは(まだ)正しいですが、これで十分にイライラしたので、コピーを自動化し、readmeをソースと同期させておくためのツールを作成しました-https ://github.com/zakhenry/embedme
受け入れられた回答からの使用例
コードフェンスにコメントを挿入する
```rb
# path/to/your/file.rb
```
実行npx embedme README.md
(これは、Nodejsがインストールされていることを前提としています)
READMEはインプレースで書き込まれ、ファイルの内容はコメントの後に続きます
```rb
# path/to/your/file.rb
class MyClass
end
```
コメントはまだ残っているので、npx embedme README.md
もう一度実行しても問題はありません。
npx embedme --verify README.md
CIを使用している場合は、差分を検出した場合に返されるCIを実行することもできます1
(これは、readmeが更新されずにソースが更新されたことを意味します)。
現在、それを行うことはできません。コードサンプルをコピーして、READMEファイルの3つの目盛りの間に貼り付ける必要があります。次に例を示します。
`` `Ruby クラスMyClass 終わり `` `
もちろんこれは静的であり、コードが変更されたときに手動で更新する必要があります。
githubアクションを使用する場合は、GithubMarketplaceのMarkdownautodocsが私のプロジェクトで機能することがわかりました。
あなたがしなければならないのはあなたの.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 -->
パブリックリポジトリからソースコードをロードし、それをコンテナ内に表示するスクリプトを作成できます。これは、githubからデータをロードし、それをコンテナー内に表示するMDファイルの例です。
## 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>