【发布时间】:2016-11-30 03:09:57
【问题描述】:
我正在尝试为开源项目贡献一些文档,因此我正在尝试在本地预览文档页面,这些页面是 github 网站的一部分。但是,我的代码块的格式不正确。我创建了一个最小的示例:
_config.yml
markdown: kramdown
highlighter: rouge
kramdown:
input: GFM
hard_wrap: false
parse_block_html: true
name: test
default.html
<!doctype html>
<html>
<body>{{ content }}</body>
</html>
auth.md
---
layout: default
---
## Authentication
Some description.
```scala
case class User(id: Long, name: String)
// defined class User
```
jekyll build 的结果输出是
<!doctype html>
<html>
<body><h2 id="authentication">Authentication</h2>
<p>Some description.</p>
<div class="language-scala highlighter-rouge"><span class="k">case</span> <span class="k">class</span> <span class="nc">User</span><span class="o">(</span><span class="n">id</span><span class="k">:</span> <span class="kt">Long</span><span class="o">,</span> <span class="n">name</span><span class="k">:</span> <span class="kt">String</span><span class="o">)</span>
<span class="c1">// defined class User
</span></div>
</body>
</html>
这会导致一长行未格式化的代码。在 github 站点(您可以在此处查看 http://http4s.org/docs/0.15/auth.html)上,html 具有 <pre> 和 <code> 元素。像这样:
<div class="language-scala highlighter-rouge"><pre class="highlight"><code><span class="k">...
由于其他人在本地预览站点时没有这个问题,而我在预览http://typelevel.org/cats/ 时遇到同样的问题,我认为这是某种本地配置问题。但是,我无法弄清楚任何事情。这是我第一次使用 jekyll/kramdown,所以我没有经验可以利用。
我安装了github-pages gem,它给了我jekyll 3.3.1 和kramdown 1.11.1。
【问题讨论】:
-
您是否尝试过使用波浪号(“~”)而不是反引号(“`”)。不确定它是否有所作为,但这是 kramdown 文档显示的代码块。
-
感谢您的建议,但这无济于事。我想真正的问题是它似乎在 github 和本地其他用户上运行良好,但它对我不起作用。
-
这很奇怪。似乎它正在将块的内容解析为降价。也许尝试删除 'parse_block_html: true`?
-
Aslo,请参阅链接讨论中的最后一条评论,显示提交可能会使部分或所有选项变得不必要 - 可能从您的
_config文件中删除所有选项或硬包装选项或 seomthing .链接:github.com/github/pages-gem/issues/211 -
我在翻阅 Github 文档后发现了这一点。这实际上是一个版本问题。存储库中有一个 Gemfile 和 Gemfile.lock 文件。一方面,它们没有被构建过程复制到运行站点的目录中。而且,我需要安装 bundler gem 来安装
bundle install的依赖项。然后使用bundle exec jekyll serve运行该站点。这与 repo 网站上的说明不同。