GitHub 页面上的 Jekyll:在另一个 markdown 文件中包含 markdown
Jekyll on GitHub Pages: include markdown in another markdown file
我在 GitHub 页面上使用 kramdown
和 Jekyll。我有一个 markdown,我想使用两次,并且不想维护它的两个版本。如何将其包含在其他降价文件中?
例如,我想输入类似
的内容
{: include otherFile.md }
并在该命令所在的位置直接呈现 otherFile.md
的内容。请注意,父文件也是 markdown 文件,而不是 HTML 模板。
其他注意事项:如果能够使用默认的 GitHub 页面工作流程执行此操作,并且不必使用 GH 页面禁用的插件并且必须推送编译版本的插件,那就太好了手动网站。
要走的路似乎是include_relative
. I found this answer by user geraldb on the old Jekyll forums:
Yes, there's a simple way. It works "out-of-the-box" in Jekyll (and
GitHub Pages). Just tried it. See the Vienna.html test page e.g.:
---
layout: default
---
some text here
{% include_relative test_header.md %}
some more text here
{% include_relative test_footer.md %}
See the source ->
test.md
and the live page.
The "trick" if you want to call it so - is to use include_relative
if you want to have the building block texts (e.g. intro.md
,
explanation.md
, conclusion.md
, etc.) along with your page (in the
same folder). Cheers. Happy Jekylling.
自从我第一次写这个答案后,原来的论坛 post 似乎完全消失了,我还没有在 archive.org 上找到它的存档。旧论坛上的答案 link 是 this (now points to an unrelated post), and the profile of geraldb in the new forum is here。
引用答案中的第一个 link 已更新为指向存储库中当前存在的正确文件,1 和第二个 link 已死但保持不变,因为我在这里引用原作者。
1感谢Ben Leggiero找到!
有一个 Ruby gem markdown_helper 支持包含文件。
对我来说,通过 include_relative
导入和使用 normal 无法解决问题 include
不会呈现包含的 Markdown 文件。
但是捕获包含然后通过管道将其通过 markdownify
是一个很好的解决方法:
{% capture my_include %}{% include a_markdown_file.md %}{% endcapture %}
{{ my_include | markdownify }}
我在 GH:/jekyll/jekyll#1303 (comment) 中找到了这个。这是避免捕获的功能请求。不幸的是,它已经关闭了。
我补充了:
---
layout: default
---
到 .html 文件的顶部,{% include my_partial.html %}
终于成功了。
我在 GitHub 页面上使用 kramdown
和 Jekyll。我有一个 markdown,我想使用两次,并且不想维护它的两个版本。如何将其包含在其他降价文件中?
例如,我想输入类似
的内容{: include otherFile.md }
并在该命令所在的位置直接呈现 otherFile.md
的内容。请注意,父文件也是 markdown 文件,而不是 HTML 模板。
其他注意事项:如果能够使用默认的 GitHub 页面工作流程执行此操作,并且不必使用 GH 页面禁用的插件并且必须推送编译版本的插件,那就太好了手动网站。
要走的路似乎是include_relative
. I found this answer by user geraldb on the old Jekyll forums:
Yes, there's a simple way. It works "out-of-the-box" in Jekyll (and GitHub Pages). Just tried it. See the Vienna.html test page e.g.:
--- layout: default --- some text here {% include_relative test_header.md %} some more text here {% include_relative test_footer.md %}
See the source ->
test.md
and the live page.The "trick" if you want to call it so - is to use
include_relative
if you want to have the building block texts (e.g.intro.md
,explanation.md
,conclusion.md
, etc.) along with your page (in the same folder). Cheers. Happy Jekylling.
自从我第一次写这个答案后,原来的论坛 post 似乎完全消失了,我还没有在 archive.org 上找到它的存档。旧论坛上的答案 link 是 this (now points to an unrelated post), and the profile of geraldb in the new forum is here。
引用答案中的第一个 link 已更新为指向存储库中当前存在的正确文件,1 和第二个 link 已死但保持不变,因为我在这里引用原作者。
1感谢Ben Leggiero找到!
有一个 Ruby gem markdown_helper 支持包含文件。
对我来说,通过 include_relative
导入和使用 normal 无法解决问题 include
不会呈现包含的 Markdown 文件。
但是捕获包含然后通过管道将其通过 markdownify
是一个很好的解决方法:
{% capture my_include %}{% include a_markdown_file.md %}{% endcapture %}
{{ my_include | markdownify }}
我在 GH:/jekyll/jekyll#1303 (comment) 中找到了这个。这是避免捕获的功能请求。不幸的是,它已经关闭了。
我补充了:
---
layout: default
---
到 .html 文件的顶部,{% include my_partial.html %}
终于成功了。