【问题标题】:Content of collapsible sections (<details><summary>...) renders markdown in GitHub repo but not on GitHub Pages可折叠部分的内容(<details><summary>...)在 GitHub 存储库中呈现降价,但在 GitHub 页面上不呈现
【发布时间】:2018-10-23 08:40:46
【问题描述】:

在 GitHub 存储库的 README 中,可折叠部分内的降价会根据需要呈现。

但是在 GitHub Pages 上,markdown 没有呈现,只是文字。

_config.yml 基本上是空的。

问题中提到了Markdown inside and not being processed,建议的修复方法是:

markdown: kramdown
kramdown:
  parse_block_html: true

这确实修复了内容的渲染,我可以切换到 kramdown,但它会破坏 &lt;details&gt;&lt;summary&gt; 的渲染以及旋转。 (所以我把它回滚了。)

相关的HTML和markdown是:

<details><summary><strong>About transliteration</strong></summary>

About half of the billions of internet users speak languages written in non-Latin alphabets, like Russian, Arabic, Hebrew, Chinese, Greek, Armenian and Hindi.  Very often, they haphazardly use the Latin alphabet to write those languages.

`Привет`: `Privet`, `Privyet`, `Priwjet`, ...  
`كيف حالك`: `kayf halk`, `keyf 7alek`, ...  
`Բարև Ձեզ`: `Barev Dzez`, `Barew Dzez`, ...  

... ... ...

</details>

有没有办法在不使用 kramdown(并且不使用原始 HTML)的情况下强制渲染?或者有没有办法用 kramdown 制作一个可折叠的部分?

完整的代码库当然在github.com/deepchar/deepchar.github.io

【问题讨论】:

  • Configuring Jekyll 的 GitHub Pages 文档列出了使用的默认值,其中一些您可以覆盖,而有些则不能。请注意,Kramdown 的 parse_block_html 设置不在该列表中。但是它只能在 Kramdown 的 kramdown 解析器上使用,而不是 GitHub Pages 使用的 GFM 解析器。
  • 然后since March 14, 2017 GitHub.com 上的所有内容现在都由 GitHub 的 extended Commonmark parser 解析,它处理 HTML Blocks 的方式与传统的 Markdown 实现(包括旧的 GitHub Flavored Markdown 实现)不同。换句话说,您可能永远无法在 GitHub Pages 和 GitHub.com 之间获得匹配的行为,因为它们基于不同的规则集使用不同的实现。
  • @Waylan 谢谢你,这有帮助,我会发布答案。

标签: markdown jekyll github-pages kramdown


【解决方案1】:

正如 Waylan 在 cmets 中所述,GitHub repos 中的 markdown (如 README.md)是使用 Commonmark 呈现的。

repo github.com/github/jekyll-commonmark-ghpages#installation 提到对 GitHub Pages 的支持正在进行中,并给出了一些说明。

安装

将以下内容添加到您的Gemfile

group :jekyll_plugins do
  gem 'jekyll-commonmark-ghpages'
end

并修改您的 _config.yml 以使用 CommonMarkGhPages 作为您的 降价转换器:

markdown: CommonMarkGhPages

此处理器目前正在测试中,可用于 GitHub Pages。

指定用于将 Markdown 转换为的扩展名和选项 HTML,为 Markdown 转换器提供选项:

commonmark:
  options: ["SMART", "FOOTNOTES"]
  extensions: ["strikethrough", "autolink", "tables"]

为了让它发挥作用(截至 2018 年 10 月),我只需add markdown: CommonMarkGhPages to the _config.yml。 (回购中没有Gemfile。)

【讨论】:

  • 在我看来,答案有一点错误。最后一部分应该是“table”,而不是“tables”。 commonmark: options: ["SMART", "FOOTNOTES"] extensions: ["strikethrough", "autolink", "table", "tagfilter"]
  • 谢谢,我只是逐字复制了他们的说明。
  • 截至 2020 年 7 月,我将此添加到我的 gemfile 中,但在运行 Jekyll serve 时出现错误:“找不到 gem 'jekyll-commonmark-ghpages'”。这个宝石还存在吗?我对Ruby不好,所以不知道去哪里看它是否还存在。
  • @Damian bundle install 向我展示(Ubuntu)Using jekyll-commonmark-ghpages 0.1.6
猜你喜欢
  • 2020-08-20
  • 2019-07-30
  • 1970-01-01
  • 2018-03-28
  • 1970-01-01
  • 2017-02-18
  • 1970-01-01
  • 1970-01-01
  • 2021-05-30
相关资源
最近更新 更多