Githubリポジトリに_README.md
_ファイルがあるとします。次に、このリポジトリについて、_gh-pages
_を使用してホストするWebサイトを作成します。
私が欲しいのは、_index.html
_ファイルからコンテンツを取得する_README.md
_ファイルのセクションを用意することです。この方法では、1つのファイルのみを更新する必要があります。
マークダウンファイルを最初にhtmlに変換する必要があり、そのhtmlを別のhtmlファイルに入れることができると思います。
私は HTML5 Imports を調査しましたが、それらは現在Chromeでのみサポートされています。 document.write()
で別の_.js
_ファイルを使用すると便利な場合がありますが、シンプルでクリーンな方法はありますか?
Node.jsを使用した私の完全な回答
1。最初にmarked
マークダウンコンバーターをインストールします。
$ npm install --save-dev marked
2。次に、generateReadMe.js
という新しいファイルで、マークダウンをHTMLにコンパイルし、新しいREADME.html
ファイルに書き込みます。
var marked = require('marked');
var fs = require('fs');
var readMe = fs.readFileSync('README.md', 'utf-8');
var markdownReadMe = marked(readMe);
fs.writeFileSync('./site/README.html', markdownReadMe);
3。次に、index.html
のコンテンツが必要なREADME.md
内に、<object>
タグを追加します。
<object data="README.html" type="text/html"></object>
4。次に、コマンドラインでこれを実行して、それを実現します。
$ node path/to/generateReadMe.js
プロセス全体は非常にシンプルで簡単でした。すべてをnpm start
スクリプトに追加しました。これで、README.md
ファイルに変更を加えるたびに、変更がgh-pages Webサイトに登録されます。
https://github.com/markdown-it/markdown-it などのマークダウンパーサーを使用して、マークダウンをhtmlに変換できます。
サーバー上のマークダウンを変換してクライアントに配信されるHTMLにマージするか、それを使用してブラウザーにマークダウンをロードし、そこで変換することができます。
マークダウンをhtmlに変換するには、変換ライブラリまたはコマンドツールを使用できます。 Ruby言語を使用した例については、 https://github.com/github/markup にアクセスしてください。
https://www.npmjs.com/search?q=markup にアクセスして、実装に適した変換ライブラリまたはコマンドツールを検索してみてください。上記の受け入れられた答えは、Node.jsのNPMパッケージマネージャーを使用した例です。
< zero-md > Webコンポーネントを使用しています。
<!-- Lightweight client-side loader that feature-detects and load polyfills only when necessary -->
<script src="https://cdn.jsdelivr.net/npm/@webcomponents/webcomponentsjs@2/webcomponents-loader.min.js"></script>
<!-- Load the element definition -->
<script type="module" src="https://cdn.jsdelivr.net/gh/zerodevx/zero-md@1/src/zero-md.min.js"></script>
<!-- Simply set the `src` attribute to your MD file and win -->
<zero-md src="README.md"></zero-md>