ruby - Jekyll 有多语言支持吗?

标签 ruby markdown jekyll static-site

实际上,我遇到了问题,我无法使用 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

(也尝试过 Markdown :maruku)

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

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

它工作得很好(这些字符在编译的页面中表现得很好),但当它们被添加到页面正文中进行解析时就不行了。但是,我不是 Ruby 开发人员,也不是一个能够轻松找到源代码来解决问题的人。

如果不可能使用这些字符,那么 Jekyll 的使用就相当有限。

最佳答案

实际上,多亏了拉法尔·奇米尔 (Rafal Chmiel),问题出在哪里已经很清楚了。 这是由 jekyll rss-plugin 引起的,它(似乎)不能处理其他语言,只能处理英语。

我已添加issue into github 。 只是此刻停止使用该插件

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

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

jekyll build --trace

更新:

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

我尝试过:

markdown: maruku

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


还有更新:

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

但是,当我删除 BOM 时,出现了新错误(与上面的错误不同,而且与编码相关) :

... 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 团队的想法是:

Once v1.3 comes out, try assigning encoding: "utf-8" in your _config.yml and trying without the HTML entities. It should correct itself (hopefully).

关于ruby - Jekyll 有多语言支持吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19253288/

相关文章:

ruby-on-rails - 键值对的正则表达式 Markdown 字符串

angular - 如何在 Angular 中动态呈现 Markdown 文件?

javascript - 使用 JavaScript 访问 Jekyll 变量并通过 DOM 操作传递它

ruby - 正则表达式,如何精确匹配

ruby - 这个 ruby 哈希有什么问题

Ruby 将字符串转换为关键字参数

ruby - 杰基尔/ gem : Unresolved specs

ruby-on-rails - Ruby 2.2 在 Heroku 上有内存问题吗?

html - 如何将 github markdown 文件保存为 HTML 或 PDF?

markdown - 如何在 octopress 中使语法高亮工作