【问题标题】:Octopress HTML parsing bugOctopress HTML 解析错误
【发布时间】:2015-02-26 17:58:33
【问题描述】:

我正在更新我的 Octopress 网站,并决定从全新安装开始并添加我的自定义设置。我注意到 Octopress 在特定情况下解析 html 标签的方式之前没有的错误行为。

一个例子。在head 部分,我有以下注释行:

<!--<link href="{{ root_url }}/favicon.png" rel="icon"> -->

这应该是一个完全有效的注释行,并且在注释中有另一个 html 标记(即&lt;link ...&gt;)时完美地工作except。在上述情况下,Octopress 将注释末尾的 -- 替换为 HTML 代码 &amp;#8211;,结果是注释永远不会真正结束。

我找到了一种解决方法,使用&lt;--&gt; 关闭评论标签。

这也发生在另一个例子中,我需要帮助。我的一些博客标题中有一个&lt;em&gt;,因此当 Octopress 为其创建 html 时,结果应该是,例如: <a href="/blog/link/to/post" title="My Title With <em>Emphasized</em> Text">My Title With <em>Emphasized</em> Text</a>

但是,再一次,由于这里有一个嵌套标签,实际结果如下: <a href="/blog/link/to/post" title="My Title With <em>Emphasized</em> Text&#8221;>My Title With <em>Emphasized</em> Text</a>

即,title 末尾的结束 "&amp;#8221;" 的 HTML 代码)替换,结果是灾难性的。

我找不到解决方案或解决方法...帮助!

我在这里发现了一个错误报告,但似乎没有任何关于此的活动。 https://github.com/imathis/octopress/issues/1662

我要再次强调,这是最新版本的 Octopress(或其依赖项)中的一个错误,并且在我一直使用的早期版本中不存在。

帮助! :)

【问题讨论】:

    标签: jekyll octopress


    【解决方案1】:

    好的,找到解决办法了!

    找到适合您帖子类型的 html 布局文件,通常在这里:/source/_layouts/post.html,然后找到此部分:

    <p class="meta"> {% if page.previous.url %} <a class="basic-alignment left" href="{{page.previous.url}}" title="Previous Post: {{page.previous.title}}">&laquo; {{page.previous.title}}</a> {% endif %} {% if page.next.url %} <a class="basic-alignment right" href="{{page.next.url}}" title="Next Post: {{page.next.title}}">{{page.next.title}} &raquo;</a> {% endif %} </p>

    title的两个实例后添加| strip_html,如下:

    title="Previous Post: {{page.previous.title | strip_html}}

    title="Next Post: {{page.next.title | strip_html}}"

    就是这样!现在标题引用中没有 html,也没有问题!

    【讨论】:

      猜你喜欢
      • 2010-11-26
      • 1970-01-01
      • 2018-05-21
      • 2018-06-11
      • 2016-09-04
      • 1970-01-01
      • 2015-09-08
      • 2017-06-01
      • 1970-01-01
      相关资源
      最近更新 更多