Mark Reddown没有正确解释Markdown

时间:2015-09-23 08:13:25

标签: ruby rubygems redcarpet slate

我的slate项目有以下标记:

---
title: API Reference
language_tabs:
  - http
  - javascript
search: true
---
# Getting Started
## Logout
# Call Management
## Call States
```javascript
{
}
```
## Call Notification
## Caller ID Called Number
## Call Information During Call

我使用middleman来投放网站:bundle exec middleman server。但是,最后一个小节标题不能正确解释为h2标签(屏幕截图)。如果我通过rake build构建它,结果是一样的。

但是,如果我将此降价标记放在http://stackedit.io等其他翻译上,那就没关系。

所以我怀疑我的降价解释器(Ruby redcarpet)在某种程度上被打破了。我没有在控制台上收到任何警告/错误消息。我尝试了不同版本的redcarpet。解释的HTML也是错误的,尽管错误是不同的。我想Ruby和Redcarpet的某些组合会成功吗?

这是我的config.rb

# Markdown
set :markdown_engine, :redcarpet
set :markdown,
fenced_code_blocks: true,
smartypants: true,
disable_indented_code_blocks: true,
prettify: true,
tables: true,
with_toc_data: true,
no_intra_emphasis: true

有人可以说出可能的原因是什么吗?或者如何恢复?

enter image description here

1 个答案:

答案 0 :(得分:1)

更新到RedCarpet的最新版本(3.3.3)解决了我的问题。

更新1

嗯,它仍有问题:我无法更改Markdown文件中的单个字母。否则,生成的HTML标记会再次搞砸......

更新2

终于解决了。将RedCarpet切换为kramdown即可解决问题。

我的config.rb

# set :markdown_engine, :redcarpet
set :markdown_engine, :kramdown
set :markdown,
    fenced_code_blocks: true,
    smartypants: true,
    disable_indented_code_blocks: true,
    prettify: true,
    tables: true,
    with_toc_data: true,
    no_intra_emphasis: true