質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Jekyll

Jekyllは、静的サイトを構築するためのRuby製のツール。記事などを全て静的サイトとして作成することで、DBへのアクセスが発生せず圧倒的なスピードでサイトアクセスが行えます。 Rubyでの機能拡張も可能で、プラグインの提供も豊富です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

0回答

1020閲覧

Jekyllでローカルビルドした際、カテゴリー名が日本語か英語かで404エラーが出たり出なかったりする

Nyshiyama

総合スコア0

Jekyll

Jekyllは、静的サイトを構築するためのRuby製のツール。記事などを全て静的サイトとして作成することで、DBへのアクセスが発生せず圧倒的なスピードでサイトアクセスが行えます。 Rubyでの機能拡張も可能で、プラグインの提供も豊富です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/01/21 03:45

前提・実現したいこと

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が生成されていることは確認しています。

_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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問