GitHub页面无法正确显示Markdown

3
我正在使用github pages + jekyll搭建我的博客。在我提交最新的更改前,它一直正常运行。这次更改添加了一个CNAME文件,并仅编辑了一些文字,没有对我的网站结构进行任何修改。
-    <h3 class="description">aaaaaaaaaa</h3>
+    <h3 class="description">bbbbbbbbbb</h3>

之后,markdown的显示就出现了问题。

当我写#head1时,它并没有显示标题head1,而只是直接显示 #head1。

enter image description here

然而,如果我使用jekyll serve在localhost:4000中构建,则会正确显示。
enter image description here

这是我的_config.yml文件:

markdown: kramdown
markdown_ext: markdown,mkd,mkdn,md
textile_ext: textile
highlighter: pygments

你有什么想法是什么导致了这个错误吗?

3个回答

2

更新!

这很可能是由于GitHub Pages上的Jekyll 3升级导致的。

从2016年5月1日起,GitHub将不再支持rdiscountredcarpet。此外,自2月1日起,GitHub Pages仅支持rouge

从2016年5月1日开始,GitHub Pages仅支持kramdown,Jekyll的默认Markdown引擎。

GitHub Pages现在仅支持Rouge。

您可以在这里查看。

为了解决这个问题,请按照以下步骤进行:

首先,请按照此答案中所解释的尝试。您需要将#Heading更改为# Heading
其次,请调整您的_config.yml文件:更改highlightermarkdown

highlighter: rouge
markdown: kramdown
kramdown:
  input: GFM

第三步,要在本地构建您的网站,请使用Bundler,这是GitHub推荐的方法
  1. Install Bundler:

    gem install bundler
    
  2. Then run bundle update - this will update all your gems, including github-pages, if you already have this gem installed locally.

  3. Then, create a Gemfile (leave it without any file extension) with the following content:

    source 'https://rubygems.org' 
    gem 'github-pages'
    
将其保存到项目的根目录。
4. 然后,在您的项目上运行bundle install。这将创建一个名为Gemfile.lock的文件,并安装所有必需的gem及其依赖项
5. 最后,运行bundle exec jekyll serve --watch,您将能够在本地查看您的网站,就像在GitHub上托管时一样。
到那时,您应该没问题了!
PS. 如果您的项目需要更多的 gem,例如 jekyll-paginatejekyll-mentions,您需要将它们添加到 Gemfile 中,例如:
source 'https://rubygems.org' 
gem 'github-pages'
gem 'jekyll-paginate'

此外,将它们添加到您项目的_config.yml文件中:
gems:
  - jekyll-paginate
  - jekyll-mentions

在这里,您将看到 GitHub Pages 当前支持的 Gem 版本列表。在这里,您可以阅读有关 将 Jekyll 2 升级到 3 的内容。
希望能帮到您!

我会编辑答案,让它更清晰易懂。 :) - Virtua Creative
@lululu 对不起,我之前找不到时间做那件事。但现在我相信答案是完整的了。让我知道它进展如何,好吗? - Virtua Creative
哦,我忘了提到:当你说你运行了 gem update jekyll 但没有起作用时,这是因为 jekyll 不是唯一需要更新的 gem。在这种情况下,“github-pages” gem 是最重要的。此外,当你运行 bundle install 到你的项目中时,它将需要与 GH Pages 目前正在使用的相同的 jekyll 版本(现在是 Jekyll 3.0.3)。定期更新所有的 gems 是很重要的,这样你就不会遇到麻烦:运行 bundle update - Virtua Creative
非常抱歉我一周没有回复。我在我的Mac OSX上遇到了Ruby的问题,但幸运的是我解决了它。之后,我删除了我的博客在Github上的存储库并重新创建了它。然后,我完全按照您的答案和Github页面文档的说明重新建立了我的博客。它成功了!虽然我还没有找到这个问题的确切原因,但我会尝试找出来。非常感谢您的帮助,您的答案对我非常有用,我会采纳它。 - lululu
抱歉,我没有足够的声望来为您的答案点赞。 - lululu
显示剩余2条评论

1

作为一个使用Jekyll构建的Github Pages博客的用户,我注意到一点细节:

在#号和标题文本之间必须有一个空格,否则Markdown将无法按照预期显示。因此,根据您的示例,我的Markdown标题应该显示为:

# Zookeeper Atomic Broadcast for heading 1

## Zookeeper Atomic Broadcast for heading 2

### Zookeeper Atomic Broadcast for heading 3

#### Zookeeper Atomic Broadcast for heading 4

##### Zookeeper Atomic Broadcast for heading 5

0

GitHub支持Markdown和Jekyll。

首先,将您的文件重命名为.md扩展名。

如果您的文件夹中有.nojekyll,它将禁用 Jekyll。

请确认您的文件夹中没有此文件。


阅读文档相关的GitHub文档,了解如何准备和部署


运行Jekyll

使用git checkout命令切换到默认分支,GitHub Pages构建服务器将使用该分支生成您的站点。您切换到的默认分支取决于您正在构建的GitHub Pages站点类型。

对于项目页面站点,请切换到gh-pages。 对于用户页面或组织页面站点,请切换到master。有关更多信息,请参见“用户、组织和项目页面”。

在存储库的根目录中使用bundle exec jekyll serve命令以Bundler运行GitHub Pages构建服务器。

bundle exec jekyll serve 转到http://localhost:4000以查看您的本地站点。


感谢您回答我的问题。所有文件已经以 md 扩展名结尾,我确定我的文件夹中没有 .nojekyll。但它仍然无法正常工作。我计划仔细阅读有关 GitHub Pages 和 Jekyll 的所有文档。 - lululu
很酷,我会尽我所能来帮助你。 - CodeWizard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接