我的 Jekyll 网站站点地图中的意外网址
Unexpected urls in my Jekyll website sitemap
我正在使用 Jekyll 创建我的个人博客 (davioooh.com) 并将其托管在 GitHub 个页面上。
不过我最近发现了一个奇怪的事情...
当 pushed/deployed 到我的存储库时,博客 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
和 Gemfile
中声明的唯一 gem 是:
gems:
- jekyll-feed
- jekyll-seo-tag
- jekyll-paginate
- jekyll-sitemap
那我为什么要得到那个网址?
注意:当我在我的开发机器上本地测试站点时,站点地图是正确的。
注意:我使用的是自定义主题(常规主题,不是基于 gem 的)。我的 _config.yml
中没有声明主题。在这里您可以找到我的博客存储库:https://github.com/davioooh/davioooh.github.io
UPDATE 尝试按照 的建议在我的 Gemfile
中用 github-pages
替换 jekyll
gem马卡努伊。它在本地工作,但在新的推送站点地图后仍然包含额外的 urls...
更新 找到 GitHub 页 reference 列出了 Jekyll 网站的默认参数。正如预期的那样,默认主题是 jekyll-theme-primer
。如果我不使用基于 gem 的主题,如何覆盖此设置?
它来自你的主题:jekyll-theme-primer
Primer 是 GitHub 前端的强大功能。如果您没有明确使用这个主题,它可能来自 GitHub Pages 自己对 Primer 框架的使用
为什么它在本地运行良好?
因为您没有使用相同的依赖项 Github Pages 使用。要复制 Github 使用的环境,您需要使用 gem:github-pages
.
为什么 sitemap.xml 包含两个额外的 url?
正如@ashmaroli 所说,这些文件来自 jekyll-theme-primer
被 Github 页面使用,如果您使用自己的主题文件,那么只需确保没有 theme:
输入 _config.yml
和 运行 bundle update
。使用正确的 github-pages
gem 将修复它,这些文件将不会包含在您的最终站点中。
似乎更新到 github 页 v157 站点地图已正确生成。
new version of gh-pages 支持最新版本 jekyll-theme-primer
(v0.5.2)。
这解决了我的问题。
1. 显然,jekyll-theme-primer(通常在您的 Gemfile
中带有 group: :jekyll_plugins
)是罪魁祸首。 IE。 theme: minima
避免了 anchor-js
的创建(但你可能想要 运行 你自己的主题,而不是让最小值徘徊......)
2. 一个经过验证的简单修复(在构建时发出警告)是写
theme: false
在你的 _config.yml
3. 问题 is a known issue and has been fixed 3 days before 我写这个。可能几天(或几周)直到它被发货。如果您从现在开始读到这篇文章,可能您只需要更新您的宝石。
我正在使用 Jekyll 创建我的个人博客 (davioooh.com) 并将其托管在 GitHub 个页面上。
不过我最近发现了一个奇怪的事情...
当 pushed/deployed 到我的存储库时,博客 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
和 Gemfile
中声明的唯一 gem 是:
gems:
- jekyll-feed
- jekyll-seo-tag
- jekyll-paginate
- jekyll-sitemap
那我为什么要得到那个网址?
注意:当我在我的开发机器上本地测试站点时,站点地图是正确的。
注意:我使用的是自定义主题(常规主题,不是基于 gem 的)。我的 _config.yml
中没有声明主题。在这里您可以找到我的博客存储库:https://github.com/davioooh/davioooh.github.io
UPDATE 尝试按照 的建议在我的 Gemfile
中用 github-pages
替换 jekyll
gem马卡努伊。它在本地工作,但在新的推送站点地图后仍然包含额外的 urls...
更新 找到 GitHub 页 reference 列出了 Jekyll 网站的默认参数。正如预期的那样,默认主题是 jekyll-theme-primer
。如果我不使用基于 gem 的主题,如何覆盖此设置?
它来自你的主题:jekyll-theme-primer
Primer 是 GitHub 前端的强大功能。如果您没有明确使用这个主题,它可能来自 GitHub Pages 自己对 Primer 框架的使用
为什么它在本地运行良好?
因为您没有使用相同的依赖项 Github Pages 使用。要复制 Github 使用的环境,您需要使用 gem:github-pages
.
为什么 sitemap.xml 包含两个额外的 url?
正如@ashmaroli 所说,这些文件来自 jekyll-theme-primer
被 Github 页面使用,如果您使用自己的主题文件,那么只需确保没有 theme:
输入 _config.yml
和 运行 bundle update
。使用正确的 github-pages
gem 将修复它,这些文件将不会包含在您的最终站点中。
似乎更新到 github 页 v157 站点地图已正确生成。
new version of gh-pages 支持最新版本 jekyll-theme-primer
(v0.5.2)。
这解决了我的问题。
1. 显然,jekyll-theme-primer(通常在您的 Gemfile
中带有 group: :jekyll_plugins
)是罪魁祸首。 IE。 theme: minima
避免了 anchor-js
的创建(但你可能想要 运行 你自己的主题,而不是让最小值徘徊......)
2. 一个经过验证的简单修复(在构建时发出警告)是写
theme: false
在你的 _config.yml
3. 问题 is a known issue and has been fixed 3 days before 我写这个。可能几天(或几周)直到它被发货。如果您从现在开始读到这篇文章,可能您只需要更新您的宝石。