我正在使用 Travis 在 Github 页面上进行部署。我还在我的项目中使用 jekyll-archives。我的设置在本地运行得很好,但 github 页面上没有生成存档页面。我还使用了 jekyll-paginate-v2,它也没有在 github 页面上列入白名单,并且它与 Travis 部署完美配合。我无法弄清楚 jekyll-archives 问题。
我的宝石文件
source 'https://rubygems.org'
gem 'jekyll', '<4'
gem 'html-proofer', '4.3.1'
gem 'jekyll-archives'
gem 'jekyll-sitemap'
gem 'jekyll-paginate-v2'
gem 'kramdown-parser-gfm'
gem 'webrick'
我的_config.yml
plugins:
- jekyll-archives
- jekyll-sitemap
- jekyll-paginate-v2
exclude:
- "/vendor/"
future: true
timezone: Asia/Kolkata
# Build settings
markdown: kramdown
inter_post_navigation: true
highlightjs_theme: "monokai-sublime"
# Pagination Settings
pagination:
enabled: true
per_page: 5
permalink: "/page/:num/"
sort_reverse: true
# Archive settings
jekyll-archives:
enabled:
- categories
- tags
layout: archive
permalinks:
category: '/category/:name/'
tag: '/tag/:name/'
我的.travis.yml
language: ruby
rvm:
- 2.6.3
cache: bundler
install:
- gem install bundler
- gem update --system 3.2.3
- bundle install
script:
- bundle exec jekyll build
branches:
only:
- master
addons:
apt:
packages:
- libcurl4-openssl-dev
deploy:
provider: pages
skip_cleanup: true
local_dir: _site
github_token: $TRAVIS_DEPLOY_TOKEN
keep_history: true
on:
branch: master
repo: <org>/<repo>.github.io
target_branch: gh-pages
notifications:
email: false
事实证明,
jekyll-archives
工作正常,但根据其默认设置创建了slugified链接。另一方面,我保留了 html 文件中锚标记中的类别链接。所以我必须在锚标记中放置 slugify 过滤器。
之前
<a href="{{ site.baseurl }}/category/{{ cat }}">{{ cat | capitalize }}</a>
之后
<a href="{{ site.baseurl }}/category/{{ cat | slugify }}">{{ cat | capitalize }}</a>