Jekyll:行号不是从第一行开始

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

我使用Jekyll创建了我的网站,确切地说,使用Beatiful-Jekyll主题。对于语法突出显示,我使用了Rouge。当我不显示行号时,一切正常。当我显示行号时,有时行号不是从代码的第一行开始(在末尾相同,它们在末尾停止一些行)。有时它们与代码保持一致,有时却没有。

这里是一个一切正常的示例:

works_fine

这是一个示例,其中行号与行代码对齐,但是缺少第一行和最后一行(在另一个示例中,缺少前三个和后三个)。

lines_missing

最后一个例子是,行号与行代码不对齐:

lines_not_aligned

我相信问题出在linenos。要显示行号,我使用

{% highlight <language> linenos %}
<code>
{% endhighlight %}

因为我在_config.yml文件中尝试了以下配置:

kramdown:
  input: GFM
  syntax_highlighter: rouge

  syntax_highlighter_opts:
    css_class: 'highlight'
    span:
      line_numbers: false
    block:
      line_numbers: true
      start_line: 1

并且在这种情况下,默认显示的行号显示正确,但是使用{%Highlight linenos%}显示的行号仍然不好。

default_line_numbering_without_linenos

提前感谢

css jekyll blogs rouge
1个回答
0
投票

我知道这是一篇过时的文章,但是我很难找到答案,所以我在这里发布了我的发现。

TL; DR将minify_html设置为false并使用下面的液体缩小html页面。在Jekyll 4.0.0版中有效]

编辑1。

进一步调查显示,代码括号内的尾部空格也会引起类似的行为。

text
text

最后一个空行在最小化html的同时中断了pre标签。当捕获输出html并将换行符转换为br并使用br标签分割整个html字符串时,会发生这种情况,因此尾随的空行会丢失。 (可能会使用空格而不是空行,但是我没有尝试)

结束编辑1。

我遇到了同样的问题。我的本地“ jekyll服务”服务器很好,但是Gitlab页面显示了它,就像问题中的示例一样。这使我意识到,在本地运行站点时,我通常将“ minify_html”设置为false,结果当我将minify_html设置为true时,本地版本也损坏了。我完全删除了jekyll默认的minify_html,并使用了下面的代码。

  1. 创建新的布局,不管您叫什么。
  2. 将以下代码粘贴到其中。
{%- 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 }}
  1. 转到现有布局,并按如下所示将刚创建的布局添加到其前题: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

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