34

(プロジェクトリポジトリからの)ファイルのコンテンツをGithubsマークダウンに埋め込む方法はありますか?

コードサンプルがあり、プロジェクトのreadmeに埋め込みたいと思います。

4

4 に答える 4

15

@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.mdCIを使用している場合は、差分を検出した場合に返されるCIを実行することもできます1(これは、readmeが更新されずにソースが更新されたことを意味します)。

于 2019-06-20T10:35:59.900 に答える
9

現在、それを行うことはできません。コードサンプルをコピーして、READMEファイルの3つの目盛りの間に貼り付ける必要があります。次に例を示します。

`` `Ruby
クラスMyClass
終わり
`` `

もちろんこれは静的であり、コードが変更されたときに手動で更新する必要があります。

于 2013-10-15T09:05:00.537 に答える
1

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 -->
于 2022-01-04T20:05:07.200 に答える
0

パブリックリポジトリからソースコードをロードし、それをコンテナ内に表示するスクリプトを作成できます。これは、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>
于 2020-05-27T15:42:57.840 に答える