所以我最近在Github Pages上从Maruku转到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中禁用表?有很多地方我有管道,我不想改变它们。这个问题还有其他解决办法吗?
答案 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/
文件夹中。