【发布时间】:2017-10-08 22:21:01
【问题描述】:
我正在使用 Jekyll 在 Github Pages 上构建一个项目网页,使用“Dinky”主题,直接开箱即用。
README.md 会自动转换为index.html,这对于快速入门非常有帮助。
但是,我希望有一个单独编写的主页index.md,而是将README.md 转换为README.html(就像大多数*.md 文件一样)。当我添加我的index.md 时,Jekyll 将它转换为 index.html,但现在根本没有转换 README.md — 大概它有 index.html 作为 README.md 和 index.md 的目标,并且后者获胜。
如何让 Jekyll 重新使用 README.html 作为 README.md 的转化目标?
最好,我想要一个不需要在 README.md 本身中添加配置数据的解决方案,这样我就可以继续使 README.md 与中的人类可读版本保持同步master 分支。
复制它的注意事项:所有这些都发生在通过 Github Pages 在线构建时,以及使用本地 jekyll build。我使用的唯一自定义 jekyll 设置是站点 Gemfile 中的 gem 'github-pages', group: :jekyll_plugins 和站点 _config.yml 中的 theme: jekyll-theme-dinky。
它似乎是特定于 Github Pages 主题,而不是 Dinky 主题:除了 Dinky 之外的其他主题表现出相同的行为,但裸露的 Jekyll 网站似乎没有。
编辑:感谢@wasthishelpful 提供了非常有用的评论和部分答案。将 YAML frontmatter 块添加到 README.md 设置 permalink: README.html 可以满足我的要求。不幸的是,我仍然没有找到仅通过修改_config.yml 来达到相同效果的方法:例如在那里添加一个frontmatter默认值
defaults:
-
scope:
path: "README.md"
values:
permalink: "README.html"
似乎没有任何作用。 (我尝试过在文件名周围加引号和不加引号,在 theme: jekyll-theme-dinky 行之前和之后都试过。)
【问题讨论】:
-
Readme.md 在访问 Github 时会在 repo 的根目录显示一个快速概览,但它们都不会在 Jekyll 网站中生成 index.html
-
@marcanuy:我知道 Jekyll 通常不会将
README.md转换为index.html,但是当使用带有主题的 Github Pages 时,我向你保证会。我将编辑我的答案以澄清我的尝试,但简而言之,这发生在本地构建和通过 Github Pages 提供时,除了用于 Github Pages 主题的设置外,我没有本地自定义设置。跨度> -
我无法重现它,从未见过 README.md 被转换为
index.html。 -
@marcanuy:非常奇特——谢谢你的尝试!该项目本身位于github.com/UniMath/TypeTheory/tree/gh-pages,因此您可以看到完整的设置。目前它同时具有
index.md和README.md,因此如问题中所述,index.html是从前者生成的,而后者则没有;但如果我删除index.md,那么index.html会从README.md生成。 (github页面主题使用bundler,所以如果你还没有安装它可能需要gem install bundler && bundler install之类的东西。) -
您是否尝试在
README.md中使用permalink,或者在您的_config.yml中使用front matter defaults?
标签: github jekyll github-pages