前提・実現したいこと
Jekyllで自作のサイトを作っています。以前の状態からポストのカテゴリーを整理して、英語と日本語が混じっていたのを可能な限り日本語に統一して、ポストによってはカテゴリーを二つ(親と子)にもしました。すると、これまでlocalhost:4000/hogehogeで閲覧できていたビルド後の記事が404エラーで見つからなくなりました。カテゴリーを一部英語にするとエラーが無くなりますが、そもそもの根本的なエラーの原因が分かりません。また、できればカテゴリーは日本語に統一したいです。
発生している問題・エラーメッセージ
以下、Win10のPowerShellでビルドした際のメッセージです(root部分等、一部質問にあげるため編集しています)。最後のnot found
メッセージは、http://127.0.0.1:4000/mtnishi/システム/ブログ開発/blog20210119/
にブラウザでアクセスした際に表示されます。
PS C:\Users\root> bundle exec jekyll s Configuration file: C:/Users/root/_config.yml Source: C:/Users/root Destination: C:/Users/root/_site Incremental build: disabled. Enable with --incremental Generating... Jekyll Feed: Generating feed for posts Jekyll Spaceship: [TableProcessor] _posts/2020-12-31-blog20201231.md done in 2.869 seconds. Auto-regeneration: enabled for 'C:/Users/root' Server address: http://127.0.0.1:4000/mtnishi/ Server running... press ctrl-c to stop. [2021-01-21 11:51:28] ERROR `/mtnishi/システム/ブログ開発/blog20210119/' not found.
また、上記メッセージDestination
にあるように、_site/システム/ブログ開発/blog20210119/index.html
が生成されていることは確認しています。
中身の一部は以下のようになっています。
html
1<!DOCTYPE html> 2<!-- 3 Minimal Mistakes Jekyll Theme 4.21.0 by Michael Rose 4 Copyright 2013-2020 Michael Rose - mademistakes.com | @mmistakes 5 Free for personal and commercial use under the MIT license 6 https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE 7--><html lang="ja" class="no-js"> 8 <head> 9<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 10 <meta charset="utf-8"> 11...(以下、記事内容等が続く)
なお、C:\Users\root\_config.yml
では、permalink: /:categories/:title/
として設定しています。
一応、HTMLファイルの元であるC:\Users\root\_posts\2021-01-19-blog20210119.md
のFront matterをあげておきます。
md
1--- 2title: "記事タイトル" 3header: 4 overlay_image: /assets/images/finish-lance-freephoto.jpg 5 overlay_filter: 0.5 6excerpt: "要約。" 7categories: 8 - システム 9 - ブログ開発 10--- 11...(記事本文が続く。)
試したこと
ディレクトリでC:/Users/root/_site/システム/ブログ開発/blog20210119
と階層分けされているところ、システム
をSystem
にリネームして、ビルドはやり直さずにlocalhost:4000/mtnishi/System/ブログ開発/blog20210119/
にアクセスすると正常に表示されます。
エンコードされたURLが長すぎるのか?とも思いましたが(ちなみに本質問記事は日本語に書き直したURLをあげています)、localhost:4000/mtnishi/システム/ブログ開発/blog20210119/
→http://localhost:4000/mtnishi/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0/%E3%83%96%E3%83%AD%E3%82%B0%E9%96%8B%E7%99%BA/blog20210119/
なので255字を超えるわけでもないです。
念の為file:///C:/Users/root/_site/システム/ブログ開発/blog20210119/index.html
に直接アクセスすると、CSS装飾なしのHTMLファイル内容が表示されます。
ファイル権限もGet-ChildItem . -Recurse | Get-ACL
で確認してみましたが、すべてAUTHORITY\SYSTEM Allow FullControl…
となっています。
単純に日本語カテゴリーが悪いなら全部英語に変えますが、一部を変更するだけでエラーが無くなる状況が理解できません。以上、よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
- jekyll 4.2.0
- ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x64-mingw32]
- Bundler version 2.2.2
- Windows 10
あなたの回答
tips
プレビュー