5

我正在使用 Jekyll 创建我的个人博客 (davioooh.com) 并将其托管在 GitHub 页面上。

但是我最近发现了一个奇怪的事情......

当推送/部署到我的存储库时,该博客sitemap.xml包含两个额外的 url:

<url>
  <loc>
    http://davioooh.com/assets/javascript/anchor-js/docs/grunticon/preview.html
  </loc>
  <lastmod>2017-08-11T16:40:49+00:00</lastmod>
</url>
<url>
  <loc>
    http://davioooh.com/assets/javascript/anchor-js/docs/index.html
  </loc>
  <lastmod>2017-08-11T16:40:49+00:00</lastmod>
</url>

我不明白为什么......我没有使用任何anchor-js gem或插件......

_config.yml在 my and中声明的唯一宝石Gemfile是:

gems:
  - jekyll-feed
  - jekyll-seo-tag
  - jekyll-paginate
  - jekyll-sitemap

那么为什么我会得到那个网址呢?

注意:当我在我的开发机器上本地测试站点时,站点地图是正确的。

注意:我使用的是自定义主题(常规主题,不是基于 gem)。在我的_config.yml. 在这里你可以找到我的博客存储库:https ://github.com/davioooh/davioooh.github.io

更新尝试按照marcanuy的建议将jekyllgem替换为github-pagesmy 。它在本地工作,但在新的推送站点地图后仍然包含额外的网址......Gemfile

更新发现 GitHub 页面参考列出了 Jekyll 网站的默认参数。正如预期的那样,默认主题是jekyll-theme-primer. 如果我不使用基于 gem 的主题,如何覆盖此设置?

4

4 回答 4

2

它来自您的主题:jekyll-theme-primer

Primer 是 GitHub 前端的动力。如果你没有明确使用这个主题,它可能来自 GitHub Pages 自己对 Primer 框架的使用

于 2017-08-14T09:57:22.590 回答
2

为什么它在本地运行良好?

因为您没有使用 Github Pages 使用的相同依赖项。要复制 Github 使用的环境,您需要使用 gem: github-pages

为什么 sitemap.xml 包含两个额外的 url?

正如@ashmaroli 所说,这些文件来自jekyll-theme-primerGithub Pages 使用的文件,如果您使用自己的主题文件,那么只需确保您的和 run中没有theme:密钥。使用正确的gem 将修复它,并且这些文件不会包含在您的最终站点中。_config.ymlbundle updategithub-pages

于 2017-08-14T11:52:58.863 回答
0

似乎将站点地图更新到 github-pages v157是正确生成的。

新版 gh-pages支持最新版本(jekyll-theme-primerv0.5.2)。

这解决了我的问题。

于 2017-08-28T19:46:59.717 回答
0

1.显然,jekyll-theme-primer(通常包含group: :jekyll_plugins在您的 中Gemfile)是罪魁祸首。即 theme: minima避免创建anchor-js(但您可能想运行自己的主题,而不是让最小值徘徊......)

2.经过验证的简单修复(在构建时发出警告)是编写

theme: false

在你的_config.yml

3.这个问题一个已知问题,在我写这篇文章的3 天前已经修复。可能要几天(或几周)才能发货。如果您从现在开始阅读本文,您可能需要做的就是更新您的 gem。

于 2018-04-13T07:27:25.567 回答