我知道这是一篇旧帖子,但我很难找到答案,所以我在这里发布我的发现。
TL;DR 将 minify_html 设置为 false 并在下面使用液体缩小 html 页面。这适用于 Jekyll 版本 4.0.0
编辑 1。
进一步调查显示,代码括号内的尾随空格也会导致类似的行为。
text
text
最后一个空行在缩小 html 时打破了 pre 标记。当捕获输出 html 并将换行符转换为 br 并使用 br 标记拆分整个 html 字符串时,就会发生这种情况,因此尾随的空行会丢失。(可能会使用空格而不是空行,但我没有尝试)
结束编辑 1。
我遇到了同样的问题。我的本地“jekyll serve”服务器很好,但 Gitlab 页面显示它就像问题中的示例一样。这让我意识到我通常在本地运行站点时将“minify_html”设置为 false,事实证明,当我将 minify_html 设置为 true 时,本地版本也崩溃了。我完全删除了 jekyll default minify_html 并使用了下面的代码。
- 创建一个新的布局,不管你怎么称呼它。
- 将以下代码粘贴到其中。
{%- capture to-compress -%}
{{ content }}
{%- endcapture -%}
{%- assign inside-code-block = false -%}
{%- capture to-remove-br -%}
{%- assign lines = to-compress | newline_to_br | split: '<br />' -%}
{%- for line in lines -%}
{%- if line contains "<code>" -%}
{%- assign inside-code-block = true -%}
{%- elsif line contains "</code>" -%}
{%- assign inside-code-block = false -%}
{%- endif -%}
{%- if inside-code-block == true -%}
{{ line }}
{%- else -%}
{{ line | lstrip }}
{%- endif -%}
{%- endfor -%}
{%- endcapture -%}
{{ to-remove-br }}
- 转到您现有的布局并将您刚刚创建的布局添加到它们的前端,如下所示:
layout: <name of the layout you made>
该代码是我缩小 html 的个人实验,它似乎有效。代码会忽略<code>
标签内的所有内容,因此 ``` markdown 语法应该可以正常工作。
我在尝试使https://jch.penibelst.de/布局工作时得到了这个想法(我无法做到)。
液体语法帮助:
- https://shopify.github.io/liquid/basics/whitespace/
- https://github.com/Shopify/liquid/wiki/Liquid-for-Designers