4

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

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

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

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

_config.yml

markdown: kramdown
highlighter: rouge

kramdown:
  input: GFM

索引.md

---
layout: default
---

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

```

布局/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>
4

1 回答 1

4

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

config.yml

highlighter: rouge
markdown: kramdown
kramdown:
  input: GFM

然后,到您的文件index.md

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

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

然后,jekyll serve使用捆绑器运行:

打开您的终端并:

  1. 安装捆绑器: gem install bundler

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

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

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

  5. 运行bundle exec jekyll serve --watch以在本地查看您的站点http://localhost:4000

完毕!

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

于 2016-02-11T19:16:07.817 回答