从 Jekyll 生成的页面设置 GitHub 页面站点
Posted
技术标签:
【中文标题】从 Jekyll 生成的页面设置 GitHub 页面站点【英文标题】:Setting a GitHub pages site from a Jekyll-generated page 【发布时间】:2019-11-03 11:25:48 【问题描述】:我无法根据我阅读的教程设置新的基于 Jekyll 的 GitHub 页面站点。以下是我采取的步骤的完整列表:
-
跑
jekyll new jek_test
。这创建了一个新目录。
使用 GitHub 桌面在该目录中创建 git 存储库,然后将其推送到新的 git 存储库 jek_test。
在项目设置GitHub Pages面板中,我选择master branch作为源。
到目前为止,我没有看到任何效果。导航到 https://gadial.github.io/jek_test/ 产生 404 错误。
-
我在项目 Gemfile 中添加了以下两行:
source "https://rubygems.org"
gem "github-pages", group: :jekyll_plugins
现在,推送到 GitHub 后,https://gadial.github.io/jek_test/ 链接正常,但加载的页面明显不正确; CSS未加载,链接错误等。
我想我遗漏了几个关键步骤,但我发现的所有教程要么“只需推送它,一切都会好起来的”,或者似乎假设我没有使用基于 Gem 的主题,这意味着所有布局、css 文件等显式存储在 _layouts 目录等中。
我这样做的方式是否正确?让 Jekyll 生成的网站在 GitHub 页面上启动并运行的最简单方法是什么?
【问题讨论】:
【参考方案1】:您使用的是minima
,这是默认设置,所以这不是问题,但是如果您查看您的about.md,您会发现它正在寻找一个名为page.xml 的布局。您目前没有_layouts
文件夹
尝试创建一个名为_layouts
的文件夹并在该文件夹中创建一个名为page.html
的布局,但是您希望它显示所有带有layout : page
的文件的内容
默认page.html
可以找到here.
【讨论】:
谢谢。如果我理解正确, _layouts 文件夹应该位于 minima Gem 内(GitHub 页面应该支持)。如果我尝试在本地bundle exec jekyll serve
该站点,它会成功,即使没有 _layouts 文件夹。也就是说,如果没有“更好”的方法,我会尝试你的建议。
不,你是对的。我调查了一下,根据最新的文档,它应该可以在没有 _layouts
文件夹的情况下工作。也许看看 at this? 要求您按照其 cmets 本身的建议更改 your Gemfile。
谢谢。我按照 cmets 中的建议删除了 Jekyll gem,并添加了 github-pages gem(我之前添加了,参见步骤 4),运行 bundle update
并推送到 github。我没有看到任何效果。
所以,我在加载网站时查看了控制台输出。这些是出现的错误消息:“GET gadial.github.io/assets/main.css net::ERR_ABORTED 404 gadial.github.io/:61 GET gadial.github.io/assets/minima-social-icons.svg net::ERR_ABORTED 404”它正在寻找gadial.github.io
下的css文件,什么时候应该实际上正在查看gadial.github.io/jek_test
,请尝试将_config.yml
中的baseurl
或url
设置为https://gadial.github.io/jek_test
我不确定你做错了什么,只是默认情况下 github-pages 会在 your-name.github.io/
下查找 assets
而你实际上是在 your-name.github.io/repo-name/
托管你的网站,改变这个变量将它指向assets
的正确来源【参考方案2】:
您需要将 url 更改为“https://gadial.github.io”,将 baseurl 更改为“/jek_test”。
如果这两个属性设置不正确,Jekyll 将不知道去哪里寻找你的资源。
【讨论】:
以上是关于从 Jekyll 生成的页面设置 GitHub 页面站点的主要内容,如果未能解决你的问题,请参考以下文章
Github 操作未能在 Github 页面上部署 Jekyll 网站
如何从我的 jekyll github 页面链接中删除这个 %20?