为什么在我将更改从 Jekyll 推送到 Github 页面后只显示 HTML?
Why is just the HTML showing after I push my changes from Jekyll to Github Pages?
我是第一次在 Jekyll 上创建博客,我正试图将我目前拥有的内容部署到 github 页面。当我为网站提供服务并在本地查看时,它看起来不错——所以我认为我所要做的就是将所有文件推送到 gh-pages 分支。现在我已经完成了这个,所有显示的都是 HTML.
为了解决问题,我只下载了模板文件并将它们推送到 Github 页面以查看问题是否与我编辑 CSS 的方式有关,但是当我这样做时我得到了相同的结果。
我看到一篇专门介绍如何使用 github 页面来存储 jekyll 站点的文章,它说要删除链接样式表中 css 文件夹前的斜线HTML 如果您的页面样式不正确。阅读后我认为斜杠肯定是问题所在,但在删除斜杠之后......我得到了相同的结果。
我已经尝试了几个小时,我觉得它可能很简单(比如斜线)。
这是回购协议:
https://github.com/pacalabre/blog-site/tree/gh-pages
这是输出:
http://pacalabre.github.io/blog-site/
提前感谢您的回答!
您需要add/edit:
baseurl: /blog-site
到配置文件。请注意没有尾部斜杠。 'blog-site' 是你的项目名称,项目名称成为一个为你的站点服务的子目录。如果没有 baseurl 设置,您的亲戚 url 会尝试从 http://pacalabre.github.io/ when they are really at http://pacalabre.github.io/blog-site/ 获取内容。
GH 将您的站点作为该域的子文件夹提供服务,您的引用没有考虑到这一点。
添加基础url 设置后,您需要在图像、css 和 js 等资产前面添加 {{site.baseurl}}。
此外,一旦你做了基础url设置,当你在本地服务时它会不太正确,你需要将/blog-site添加到本地主机的末尾url 使其正常工作。
您还应该尝试使用 Chrome 中的开发工具检查器来帮助您解决问题,它现在会清楚地告诉您它无法加载所有 js 文件或图像,并且会显示它在哪里试图从中加载它们。
你看,你的site/repo有点问题。
我没有在站点根目录(gh-pages
分支)找到您的 _config.yml
。它应该在那里。
那里有一个二进制文件(如果我没记错的话,可能是 Mac 的文件)。它不应该在那里。
那里有 Jekyll 的文件夹(_posts
、_drafts
、_layouts
等)和 _site
文件夹。你需要选择。或者你上传 _site
内容(不是文件夹本身)或者你上传 Jekyll 项目。通常你只上传 Jekyll 文件夹和 GH 为你构建站点,除非你使用一些 GitHub 不允许的插件。在这种情况下,您只上传 _site
内容,即编译站点(html、CSS、仅 js)。
在上一个回答中,系统指示您将 baseurl
添加到您的站点配置中。这是最好的方法,但是如果你的模板只使用 url
而没有提到 baseurl
,最好的方法是将项目名称添加到 url
的末尾,而不是搜索每 link 通过液体呼叫 {{ site.baseurl }}
。所以,与其给自己带来这些麻烦,不如在 _config.yml
:
中这样做
url: http://username.github.io/projectname
如果您确实要设置 baseurl
,您可以通过 localhost:4000
在本地查看您的站点,方法是在服务 Jekyll 时添加此标志:--baseurl ""
。所以,jekyll serve --watch --baseurl ""
。这意味着像 "Jekyll, ignore the baseurl set in the config"。明白了吗?
使用捆绑器服务 Jekyll 是正确的方法,特别是在部署到 GH Pages 时。不过这是另外一回事了,有兴趣的可以稍后补充。
建议。进一步了解 Jekyll 的工作原理。还要寻找 .gitignore
这样你就不会向 GH 上传任何不必要的东西(比如那个二进制文件)。
之后,如果您的网站无法正确构建或显示,请告诉我,如果需要,我会帮助您。
希望对您有所帮助!
我是第一次在 Jekyll 上创建博客,我正试图将我目前拥有的内容部署到 github 页面。当我为网站提供服务并在本地查看时,它看起来不错——所以我认为我所要做的就是将所有文件推送到 gh-pages 分支。现在我已经完成了这个,所有显示的都是 HTML.
为了解决问题,我只下载了模板文件并将它们推送到 Github 页面以查看问题是否与我编辑 CSS 的方式有关,但是当我这样做时我得到了相同的结果。
我看到一篇专门介绍如何使用 github 页面来存储 jekyll 站点的文章,它说要删除链接样式表中 css 文件夹前的斜线HTML 如果您的页面样式不正确。阅读后我认为斜杠肯定是问题所在,但在删除斜杠之后......我得到了相同的结果。
我已经尝试了几个小时,我觉得它可能很简单(比如斜线)。
这是回购协议: https://github.com/pacalabre/blog-site/tree/gh-pages
这是输出: http://pacalabre.github.io/blog-site/
提前感谢您的回答!
您需要add/edit:
baseurl: /blog-site
到配置文件。请注意没有尾部斜杠。 'blog-site' 是你的项目名称,项目名称成为一个为你的站点服务的子目录。如果没有 baseurl 设置,您的亲戚 url 会尝试从 http://pacalabre.github.io/ when they are really at http://pacalabre.github.io/blog-site/ 获取内容。
GH 将您的站点作为该域的子文件夹提供服务,您的引用没有考虑到这一点。
添加基础url 设置后,您需要在图像、css 和 js 等资产前面添加 {{site.baseurl}}。
此外,一旦你做了基础url设置,当你在本地服务时它会不太正确,你需要将/blog-site添加到本地主机的末尾url 使其正常工作。
您还应该尝试使用 Chrome 中的开发工具检查器来帮助您解决问题,它现在会清楚地告诉您它无法加载所有 js 文件或图像,并且会显示它在哪里试图从中加载它们。
你看,你的site/repo有点问题。
我没有在站点根目录(
gh-pages
分支)找到您的_config.yml
。它应该在那里。那里有一个二进制文件(如果我没记错的话,可能是 Mac 的文件)。它不应该在那里。
那里有 Jekyll 的文件夹(
_posts
、_drafts
、_layouts
等)和_site
文件夹。你需要选择。或者你上传_site
内容(不是文件夹本身)或者你上传 Jekyll 项目。通常你只上传 Jekyll 文件夹和 GH 为你构建站点,除非你使用一些 GitHub 不允许的插件。在这种情况下,您只上传_site
内容,即编译站点(html、CSS、仅 js)。在上一个回答中,系统指示您将
中这样做baseurl
添加到您的站点配置中。这是最好的方法,但是如果你的模板只使用url
而没有提到baseurl
,最好的方法是将项目名称添加到url
的末尾,而不是搜索每 link 通过液体呼叫{{ site.baseurl }}
。所以,与其给自己带来这些麻烦,不如在_config.yml
:url: http://username.github.io/projectname
如果您确实要设置
baseurl
,您可以通过localhost:4000
在本地查看您的站点,方法是在服务 Jekyll 时添加此标志:--baseurl ""
。所以,jekyll serve --watch --baseurl ""
。这意味着像 "Jekyll, ignore the baseurl set in the config"。明白了吗?使用捆绑器服务 Jekyll 是正确的方法,特别是在部署到 GH Pages 时。不过这是另外一回事了,有兴趣的可以稍后补充。
建议。进一步了解 Jekyll 的工作原理。还要寻找
.gitignore
这样你就不会向 GH 上传任何不必要的东西(比如那个二进制文件)。
之后,如果您的网站无法正确构建或显示,请告诉我,如果需要,我会帮助您。
希望对您有所帮助!