GithubPagesのJekyllでkramdown
を使用しています。 2回使用したいマークダウンがあり、2つのバージョンを維持したくありません。これを他のマークダウンファイルに含めるにはどうすればよいですか?
たとえば、次のように入力したい
{: include otherFile.md }
otherFile.md
の内容をこのコマンドがある場所に直接レンダリングします。親ファイルもマークダウンファイルであり、HTMLテンプレートではないことに注意してください。
追加の考慮事項:デフォルトのGitHubページワークフローでこれを実行でき、GHページによって無効にされているプラグインを使用する必要がなく、サイトのコンパイル済みバージョンを手動でプッシュする必要がないのは素晴らしいことです。
行く方法は include_relative
のようです。私は古い Jekyllフォーラム でユーザーgeraldbによってこの答えを見つけました:
はい、簡単な方法があります。 Jekyll(およびGitHub Pages)では「すぐに使用できる」状態で動作します。試してみました。例:Vienna.htmlテストページを参照してください。
--- layout: default --- some text here {% include_relative test_header.md %} some more text here {% include_relative test_footer.md %}
ソース->
test.md
および ライブページ を参照してください。そのように呼びたい場合の「トリック」は、ビルディングブロックテキスト(例:
include_relative
、intro.md
、explanation.md
など)が必要な場合はconclusion.md
を使用することです。 。)ページと一緒に(同じフォルダに)。乾杯。ハッピージェキリング。
この回答を最初に書いたので、元のフォーラムの投稿は完全になくなったようで、archive.orgにアーカイブされていません。古いフォーラムの回答リンクは this で、新しいフォーラムのgeraldbのプロファイルは here です。
引用された回答のリンクは機能しなくなりましたが、ここに viennahtml.github.io リポジトリへのリンクがあります。
私の場合、include_relative
でインポートしても問題を解決できず、normalinclude
を使用してもレンダリングされません含まれているMarkdownファイル。
ただし、インクルードをキャプチャしてmarkdownify
にパイプすることは、かなり良い回避策です。
{% capture my_include %}{% include a_markdown_file.md %}{% endcapture %}
{{ my_include | markdownify }}
私はこれを GH:/ jekyll/jekyll#1303(コメント) で見つけました。これは、キャプチャを回避するための機能要求です。残念ながら閉鎖されています。
インクルードファイルをサポートするRuby gem markdown_helper があります。