Когда я нажимаю на теги справа от моих страниц Github, у меня всегда появляется страница 404. Однако, когда я просматриваю его локально, перенаправление работает нормально:
Интересно, это как-то связано с моим _config.yml. Я пробовал разные строки URL и baseurl, но так и не смог решить эту проблему.
(Примечание: эта тема была взята из Chirpy)
Спасибо!
Часть моего config.yml
:
title: Changyu Yan
url: 'https://changyuyan.github.io'
# Only if your site type is GitHub Project sites and doesn't have a custom domain,
# change below value to '/projectname'.
baseurl: ''
timezone: America/Los_Angeles
google_analytics:
id: ''
pv:
# The Google Analytics pageviews switch.
# DO NOT enable it unless you know how to deploy the Google Analytics superProxy.
enabled: false
# the next options only valid when `google_analytics.pv` is enabled.
proxy_url: ''
proxy_endpoint: ''
cache: false # pv data local cache, good for the users from GFW area.
# boolean type, the global switch for ToC in posts.
toc: true
paginate: 10
kramdown:
syntax_highlighter: rouge
syntax_highlighter_opts: # Rouge Options › https://github.com/jneen/rouge#full-options
css_class: highlight
# default_lang: console
span:
line_numbers: false
block:
line_numbers: true
start_line: 1
# DO NOT change this unless you're a Pro user on Jekyll and Web development,
# or you think you're smart enough to change other relevant URLs within this template.
permalink: /posts/:title/
collections:
tabs:
output: true
sort_by: order
defaults:
-
scope:
path: '' # An empty string here means all files in the project
type: posts
values:
layout: post
comments: true # Enable comments in posts.
toc: true # Display TOC column in posts.
breadcrumb:
-
label: Posts
url: /
-
scope:
path: _drafts
values:
comments: false
-
scope:
path: index.html
values:
breadcrumb:
-
label: Posts
-
scope:
path: tags
values:
breadcrumb:
-
label: Home
url: /
-
label: Tags
url: /tabs/tags/
-
scope:
path: categories
values:
breadcrumb:
-
label: Home
url: /
-
label: Categories
url: /tabs/categories/
-
scope:
path: ''
type: tabs # see `site.collections`
values:
layout: page
dynamic_title: true # Hide title in mobile screens.
breadcrumb:
-
label: Home
url: /
sass:
sass_dir: /assets/css
style: compressed
compress_html:
clippings: all
comments: all
endings: all
profile: false
blanklines: false
ignore:
envs: []
exclude:
- vendor
- Gemfile.lock
- Gemfile
- tools
- docs
- README.md
- LICENSE
jekyll-archives:
enabled: [categories, tags]
layouts:
category: category
tag: tag
permalinks:
tag: /tags/:name/
category: /categories/:name/
Просто обновил описание с кодом: p
В верхней части вашего _config.yml
установите baseurl
имя репозитория проекта в соответствии с инструкциями:
# Only if your site type is GitHub Project sites and doesn't have a custom domain,
# change below value to '/projectname'.
baseurl: '/changyuyan.github.io'
Спасибо. Я пробовал это. Все равно не работает :(
@Erin, каковы значения URL-адресов, которые дают 404?
Просто все ссылки, если я нажму на теги справа. Например, этот: changyuyan.github.io/changyuyan.github.io/tags/…
Архивы работают локально, а не на страницах GitHub, потому что гем jekyll-archives не поддерживается на страницах GitHub . В примечаниях к Chirpy в разделе Развертывание на страницах GitHub можно увидеть вариант использования GitHub Actions . Это должно позволить вам запускать неподдерживаемые плагины (есть хороший учебник от Aneejian).
Другой вариант — вручную создать все страницы тегов. Вам нужно будет создать каталог tag
и внутри него создать все файлы тегов (software-engineering.html). Внутри них вы запустите цикл for
для этого тега. У вас есть несколько вариантов:
{% for post in site.tags.software-engineering %}
или
{% for post in site.posts | where: 'tag', 'software-engineering' %}
Есть и другие, которые могут лучше подойти для вашего варианта использования.
Согласно обсуждению baseurl
, вам это не нужно, если вы не используете каталог проекта. Если вы хотели https://changyuyan.github.io/blog/tags/software-engineering/, вам нужно было добавить baseurl: '/blog
...но не похоже, что вы этого хотите.
Можете ли вы поделиться фрагментами кода для (1) создания URL-адреса, который не работает должным образом, и (2) части вашего
_config.yaml
, которая устанавливает базовый URL-адрес?