【问题标题】:does Jekyll have multi-language support?Jekyll 有多语言支持吗?
【发布时间】:2013-10-15 16:56:17
【问题描述】:

实际上,我遇到了问题,我无法使用 jekyll 本地编译站点。当我尝试添加任何不是来自“标准”(英文)字符的字符时收到此错误(我什至不知道如何描述这些字符,因为我仍然使用包含所有这些字符的 Unicode)。

Generating... error: incompatible encoding regexp match 
    (UTF-8 regexp with IBM866 string). Use --trace to view backtrace

我尝试了不同语言的字母:德语、波兰语、乌克兰语/俄语 (ä ü ß ę ł є ї л),但结果始终相同 -- 错误 .

我在 jekyll 配置 (_config.yml) 中有这一设置。我的 Ruby 本地版本是 1.9.3(我真的只需要本地版本,因为使用预编译文件的方法 - 而不是 jekyll-server)。

encoding: UTF-8
markdown: redcarpet

(也尝试过降价:maruku)

我猜,这确实是更多与 Ruby 相关的错误,因为当我在标题中使用列出的字符时

---
title: ä ü ß ę ł є ї л
---

它工作得很好(而且这些字符在编译的页面中很好用),但是当它们被添加到页面正文中进行解析时就不行了。但是,我不是 Ruby 开发人员,也不是那种会在源代码中轻松找到解决问题的地方的人。

如果不能使用这样的字符,那么 Jekyll 的使用就会非常有限。

【问题讨论】:

  • this 是否与您遇到的问题相似?如果没有,你能给我们回溯(--trace)吗?
  • 哦,实际上,你救了我的命! :) 我真的开始对开源软件失去信心了……+1 让我更接近答案! (我应该早点尝试跟踪)。回答问题...谢谢!

标签: ruby markdown jekyll static-site


【解决方案1】:

实际上,感谢 Rafal Chmiel,问题出在哪里。 这是由jekyll rss-plugin 引起的,它(似乎)不能处理其他语言,只能处理英语。

我添加了issue into github。 只是暂时停止使用该插件

这对于使用任何其他插件的任何其他用户可能很有用,这可能会导致一些其他错误。

试着追踪 Jekyll 看看到底发生了什么:

jekyll build --trace

更新:

更多调查表明插件内部的问题是Maruku markdown解析方法。实际上,它会导致错误,因为据我所知,rss-plugin 默认使用该代码(即使在 Jekyll 设置中选择了任何其他 'markdown: ...' 方法)。

我试过了:

markdown: maruku

(没有任何插件)并且遇到了完全相同的问题,这告诉我“Jekyll 的多语言支持在使用 maruku markdown 转换时不可用”。


另一个更新

一些进一步的调查确实表明实际上是 Jekyll 解析器存在问题。我的“标题:[not-standard-unicode-characters]”工作的方式是因为我的编辑器在文件开头插入了 BOM:redcarpet 然后不将头部作为头部处理部分,但就像一些文本一样,只是像通常的文本一样生成文本。

然而,当我删除了BOM时,又出现了新的错误(和上面的不同,但也有encoding-related) :

... test21.markdown: invalid byte sequence in UTF-8
... gems/jekyll-1.2.1/lib/jekyll/excerpt.rb:110:in `scan': invalid byte sequence in UTF-8 (ArgumentError)

标题文本是:

---
layout: post
title: український заголовок
---

український текст
some other text

我已将问题请求添加到Jekyll github

一般来说,这让我感到好奇的是,因为我是第一个尝试将 Jekyll 用于不仅具有标准英文内容的网站的人吗?!!我是吗?否则,此类错误将是奇怪的行为。没有?


更新:

讲完"with" Jekyll here,处理多语言字符的方法就是使用HTML实体,像这样:

---
title: "український"
---

用引号括起来

此外,Jekyll 的团队认为:

一旦 v1.3 发布,请尝试在您的 _config.yml 并尝试不使用 HTML 实体。它应该会自行纠正(希望如此)。

【讨论】:

  • 没问题,乐于助人。
  • 其实很遗憾,“故事”还没有结束。上面说的都是真实的。此外,Jekill 本身似乎确实存在问题。我已经再一次更新了上面的答案......
猜你喜欢
  • 2017-08-26
  • 2011-04-07
  • 2011-11-08
  • 2011-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多