在 GFM 模式下无法识别 Kramdown 反引号

Kramdown backticks not recognized in GFM mode

我正在尝试让一些非常简单的页面通过 Jekyll 正确呈现,使用 kramdown 处理 markdown 和 rouge 以进行语法高亮显示。然而,即使在 GFM 模式下,Kramdown 似乎也无法解释三重反引号。

我相信我已经按照信中的说明进行操作,当推送到 github 页面时一切正常,但我的本地设置只是忽略了反引号。

如果有任何帮助,已经在 OS X 上用 Jekyll 3.1.1 观察到了这一点。用于调用 jekyll 的命令行是 jekyll serve --config "_config.yml".

我已将问题缩小为以下最小测试:

_config.yml

markdown: kramdown
highlighter: rouge

kramdown:
  input: GFM

index.md

---
layout: default
---

```scala
def test(i: Int): Unit = {
  println(i)
}

```

layout/default.html

<!doctype html>
<html>
  <body>{{ content }}</body>
</html>

结果index.html

<!doctype html>
<html>
  <body><p>```scala
def test(i: Int): Unit = {
  println(i)
}</p>

<p>```</p>
</body>
</html>

我建议你这样做。我使用以下配置测试了您的代码块,它运行良好:

config.yml :

highlighter: rouge
markdown: kramdown
kramdown:
  input: GFM

然后,到你的档案index.md:

```scala
def test(i: Int): Unit = {
   println(i)
 }
```

注意:我注意到在```scala之前有一个space,它不应该在那里。

然后,运行 jekyll serve 与捆绑器:

打开您的终端并:

  1. 安装捆绑器: gem install bundler

  2. 更新您的所有宝石(如果需要): bundle update

  3. Gemfile(不要添加任何文件扩展名)添加到您的站点 root 并将下面的代码粘贴到其中。这是 GitHub 页 recommended method

    source 'https://rubygems.org'
    
    gem 'github-pages'
    
  4. 转到您的项目根文件夹(在终端上)并运行: bundle install(这将确保您在本地安装了所有必需的 gem 及其依赖项)。 Gemfile.lock 将在您的站点根目录下为您生成。留在那里。

  5. 运行 bundle exec jekyll serve --watchhttp://localhost:4000

  6. 本地查看您的站点

完成!

让我知道这是否适合你,是吗?