你如何在Kramdown中禁用表格?

时间:2014-05-20 05:48:53

标签: markdown jekyll github-pages github-flavored-markdown kramdown

所以我最近在Github Pages上从Maruku转到Kramdown,我遇到了一个问题:

Problem with Kramdown

以下是造成问题的降价:

Five days ago I wrote [Standardizing Harmony Classes]
(/standardizing-harmony-classes "Aadit M Shah | Standardizing Harmony Classes").

你在"Aadit M Shah | Standardizing Harmony Classes"看到了这个管道? Kramdown错误地将其视为表格单元格分隔符,导致上面的可怕表格,实际上应该是一个段落。

这没有任何意义,因为管道分隔符位于链接文本文字中,并且不应将markdown应用于链接文本文字。显然这是Kramdown中的一个错误。

那你如何在Kramdown Jekyll中禁用表?有很多地方我有管道,我不想改变它们。这个问题还有其他解决办法吗?

4 个答案:

答案 0 :(得分:2)

逃离他们怎么样?

http://kramdown.gettalong.org/syntax.html#automatic-and-manual-escaping

所以在你的情况下,它可能是:"Aadit M Shah \| Standardizing Harmony Classes"

希望这有帮助!

答案 1 :(得分:2)

Gaurav建议的管道转出不起作用,因为输出中出现反斜杠,这是错误的。

最终我对Kramdown感到厌倦,转而转向Redcarpet。现在一切都像魅力一样。

答案 2 :(得分:0)

聚会很晚,但也遇到了这个问题:

Kramdown支持多种解析器,其中包括::Kramdown,还有:markdown :GFM(Github Flavored)和:HTML

:markdown没有表格解析,也可以解决你的问题。按如下方式初始化:

 Kramdown::Document.new(string, input: :markdown)

答案 3 :(得分:0)

另一个晚会答案。 为了完全禁用kramdown中的表,我最终对其进行了分叉并禁用了其源代码中的表。这是1 line change

首先,克隆kramdown。 然后,在lib/kramdown/parser/kramdown.rb中,只需从数组:table中删除@block_parsers

您可以轻松地使用git pull origin master更新kramdown。


如果您将kramdown用作捆绑软件,例如使用博客工具jekyll,在克隆kramdown的目录中运行rake dev:gemspec(以生成kramdown.gemspec)。 然后,在您的Gemfile中添加:

gem 'kramdown', path: '/path/to/kramdown/folder'

其中/path/to/kramdown/folder是您克隆的存储库/包含kramdown.gemspec的目录。 最后,运行bundle install


如果您使用的是kramdown二进制文件,我相信您可以使用rake dev:gem来构建它,该文件将位于(新创建的)pkg/文件夹中。