使用Jekyll忽略Markdown文件中的一行

问题描述 投票:0回答:1

是否可以忽略来自Jekyll引擎的降价文档中的文本行?

在主README.md上,有一个指向我生成的页面url的链接,View the [Docs as a Website](https://gitpages.mycompany.com/myrepo/)链接到与Jekyll支持的github.io页面等效的企业页面,其中读取/ docs /文件夹。

出于明显的原因,我不想在页面站点上显示此内容,因为查看器已经存在,如果用户继续单击它,它最终会陷入无尽的循环。

是否有办法在代码视图readme.md上显示它,而不在呈现的jekyll版本上显示它?

jekyll github-enterprise
1个回答
0
投票

解决方案:

[如果您希望Jekyll将处理行(甚至单个字符)跳过到烘焙的/ _site /输出中,请使用Liquid {% comment %}标签:

{% comment %} 

     Character or lines for Jekyll to skip.

{% endcomment %}

示例:

之前:Code w/o {% comment %} + HTML render

之后:Code w/   {% comment %} + HTML render

说明:

如果markdown.md页面的顶部带有Jekyll Front Matter,那么Jekyll将其处理为markdown.html页面(see Jekyll's docs for more info)。

Jekyll处理的页面可以包含液体代码(特别是Jekyll's implementation of Liquid)。

液体具有{% comment %}标签。它适用于Jekyll。

From Liquid's documentation of the comment tag

评论

允许您将未呈现的代码留在Liquid模板中。任何开头和结尾注释块中的文本将不会打印,并且其中的任何Liquid代码都不会执行。

如果Jekyll处理您的markdown.md页面,它将处理所有Liquid语句,并且将完全省略{% comment %}标记+ {% endcomment %}标记+以及输出文件之间的所有内容。

{% comment %}标记换行的文本不需要专门为Jekyll包含Liquid来排除它。输出页面将忽略内部的所有内容:元素,其他代码,明文等。

警告语:

即使您的Liquid语法不正确,即使在注释标记中,Jekyll仍然会抛出错误。

以下结果导致错误,并且Jekyll无法生成:

{% comment %} 

     Character or lines for Jekyll to skip.
     {% assign abc 

{% endcomment %}

[为避免这种情况,请确保(1)您注释标签中的所有代码都是有效的Liquid,或(2)通过将其包装在{% raw %}标签中来防止Jekyll对代码进行评估:

{% comment %} 
     {% raw %}

     Character or lines for Jekyll to skip.
     {% assign abc 

     {% endraw %}
{% endcomment %}

然后,注释中的所有内容都会成功从Jekyll输出的/ _site /文件中排除。

有关更多信息,请参见Liquid's documentation of the raw tag.

© www.soinside.com 2019 - 2024. All rights reserved.