千柳亭書房エンサイクロペディアを作ろう!という企てはWordPressを使ってのサイト構築の初期からありました。「エンサイクロペディアあれこれ 」参照
それというのもNove–1「篝火は消えない」の「Next Character」とかNove–Ex「Lux Aeterna World」の設定資料集を掲載する方法を考えていて、「これはやっぱり用語集ないし人名辞典のようなものが欲しい」と思っていたのです。
最初はカスタム投稿タイプでの構築に励んでいたのですが、柳には少々荷が勝ちすぎまして、遅々として進まない。そんなわけで一年近くほぼ放置でしたが…この度「Lux Aeterna World」のアップロードに本腰いれる覚悟が出来たので、用語集にも腰を据えてとりかかることにしました。
まあ、最終的にはプラグイン頼りにはなるのです。Knowledge Base for Documents and FAQsというのがありまして、複数のデータベースが作れる有料版もあるらしいのですがとりあえずウチ程度ならカテゴリ分けで対応出来るだろうということでコア版(ぶっちゃけ無料版)で制作。プラグイン本体とアドオンを解説したページがこちらです。英語ですが図が豊富なのでGoogleセンセイの翻訳でも適当に意味が通じます。
インストールすれば自動的にベースの用語集トップができあがるので、そこをConfigurationでカスタマイズ。それからCategoriesでウチの構成でいくと小説部屋ごと、項目の種類(人名、地名、歴史…etc.)のカテゴリを作成し、Add New Articleからカテゴリ分けをしつつ次々と入力していけばOKという実にお手軽なシロモノです。柳がカスタム投稿タイプで呻吟したのが何だったんだろうというくらいに簡単。
造りとしてはカスタム投稿タイプを制御するプラグインらしいのですが、検索ページのカスタマイズが簡単なのと書房トップの新着情報にいちいち拾われないのが良いですね。こっそり増やせます。
ただ、確かに検索ページのカスタマイズは非常に簡便なのですが…記事ページの表示には難渋しました。
左右の余白がない!
余白ぐらいがたがたゆーな、という向きもありましょうが、読みやすさから考えると余白にこだわらずにいられないのが物書きの哀しい性というものです。記事ページ用のテンプレートもきちんと準備されているのですが、左右の余白をつける方法が見つからなくて四苦八苦。挙げ句、テーマの記事ページ用のテンプレートを適用してみたり、Knowledge Baseに装備されているテンプレートを改変しようとしてみたり(<そうしてまたphpに呻吟したのでした…嗚呼)、とにかく考えつくことをシラミ潰しにやってみました。
最終的に、Knowledge Baseデフォルトのテンプレートを使いつつ、CSSは書房に適用しているテーマのものを適用させる方法がみつかりまして、余白問題が解決。ついでに背景を付けることにしました。総ての項目というわけではありませんが。妥当な画像がない分には現状真っ白けな背景となっております。実はそうしないと余白問題が解決しないんだなこれが(笑)
セッティングとしては…
Configuration→Main Page→4.TemplateでKnowledge Base Templates Designed for Articles を選択し、下の欄(メインページのサムネイルの横)に出てくるTemplateの設定を
Article CSS Reset …チェックをオフ
Article CSS Defaults …チェックをオフ
Display Main Title …チェックをオン
…にして、パディングやマージンは触らないままにしました。(普通、余白と言えばこのどっちかを操作することでどーにかなるもんですが、今回は駄目でした)
色つき背景を選択してしまうと見え方に多少問題はある気がするのですが…とりあえず試験運転です。ご意見ご感想をお待ちしております。
2019.8.3 追記
やはりというか…その後。
プラグインデフォルトのテンプレートが気に喰わん!ということで、柳はもう一度phpにとりくんだのでした。平たく言うと、デフォルトのテンプレートではなく書房のテーマ準拠のテンプレートを追加して適用させる方法ですね。
具体的なセッティングとしては…
Configuration→Main Page→4.Templateで上記のようにKnowledge Base Templates Designed for Articles(記事のためにデザインされたナレッジベース用のテンプレート、という解釈で良いと思われます)でなくCurrent Theme Templates Used for Posts and Pages (投稿や固定ページに使っている現在のテーマのテンプレート)というほうを選択した上で、現在使用中のテーマの中に single-epkb_post_type_1.php という名前でエンサイクロペディア用のテンプレートを作成するやり方なのです。これは通常、投稿用のsingle.phpを複写すればいいのですが、そうするとウチでいうと「柳の寝言」や「Wordpressで小説サイト!」(この記事ですね)と同じレイアウトになってしまいあまり面白くない。そこで清水の舞台から飛び降りるような気持ちでphpに手を加えたという次第です。
(…ま、おっかなびっくりなのは最初の内だけで、終いにはすっかり感覚が麻痺してバックアップも取らずにガンガン改変しちゃいましたが…)
実直にまだ柳、phpをきちんと理解出来ているとは言い難く…思うようなレイアウトになるまで書いては直し、直してはブラウザで見え方を確認する作業の繰り返しです。言ってしまえばHTMLでサイト作ってた頃とやってるこた基本的に同じなのですね。
ただ、「千柳亭書房」が使用しているテーマ「Scribe」は別のパーツを呼び出すタイプのテンプレートが殆どで、この構造がレイアウト調整を少しわかりにくくしている印象があります。まあ、パーツを分けることでのメリットもあるのでしょうから、それが悪いとは言いませんが。
最終的には何とか背景を適用させた上で納得できる余白を盛ったセッティングにたどりつけました。はい、何とか。(<まさに、何とか…というレベルではありますが)
phpで文書構造を構築し、CSSで指定をするという基本を踏まえれば、柳程度のド素人でもこの程度はできるよ、というのが現在のエンサイクロペディアです。基本的にいままで色つき柄付き背景に文章を載せることはしなかったのですが、エンサイクロペディアについては短い文章でキャラのイメージや世界観を掴んでいただくために敢えて背景に画像をいれることにしました。
ただ、欲を申さばScribeデフォルトのアーカイブページは少々愛想がないのでアーカイブページをカスタマイズする方法があるといいなーと…。(上記プラグインの提供するアーカイブページが流用できないかと思ってこれもかなりいじり倒しましたがいいことになりませんでした。よって、現在テーマデフォルトのままです)
キリがありませんね、まったく。
ご意見ご感想をお待ちしております<(_ _)>
コメント