履歴のスタイル(jekyllでスタイルのカスタマイズ)
jekyllのスタイルのカスタマイズの知見が広がった… 結果にとても満足。
jekyll標準スタイルのカスタマイズも、jekyll-agencyスタイルのカスタマイズにしても、ドキュメントで基本を知った上でそれらの実装を直接読むことが近道だった…どのコンピュータフレームワークもソースを理解することが近道だ…と判っていたのにドキュメントと作業で見えている物だけしか見ていないと、フレームワークで定義した部分は見えてこない、と言うことを再確認できて、かつ、思い知った。…既に、そして、何度も思い知ったんだけどなぁ〜
_include/default.html
と_layouts
配下のhtml
.md
が.html
に変換される過程で適用するファイルを示すと分かりやすいか
resume/*.md
- 冒頭の
---
区切り内layout:
で_layouts
のファイルが決まる resume
としているのでresume.html
が選ばれる
- 冒頭の
_layouts/*.html
- このhtmlに
liquid
と共に直にhtmlで記述しても良いが liquid
が利用できるのでinclude
も可能なのだ_includes
に自分で決めた単位で細切れにhtmlを記述しておけばlayout毎に配置(layout)が変えられるのだな- このhtmlの冒頭の
---
セクションlayout
を指定すると_includes
のhtmlを指し示すことになる - ここのファイル名だけ異なる同じ内容のhtmlを記述すれば
.md
でlayout
指定を違えていても、同じレイアウトにしてしまうことが出来る
- このhtmlに
_includes/*.html
- htmlを記述する
- ファイル冒頭の
---
セクションは解釈されない。最終的なhtmlを記述する、ということだろう liquid
も利用できる。制限もなさそうだ
jekyll-agency を追跡してみよう
index.md
layout: home
- これしか記述されていない
_layouts/home.html
- ここに全てのセクションが並んでいる
include
が順番に並んでいるだけ- html記述はない
layout: default
とある- 作業ディレクトリ生成時にはこのファイルも存在していなかったかも…過去にインストールディレクトリからコピーしてきたな
- 無用なセクションをコメントアウトしてあるよ…以前はここで??となったのだ。今日再度、冒頭の思い知りを経験してたんだ
- つまり、元は
<jekyll-agencyインストールディレクトリ>_layouts/home.hmtl
が利用されていた
_includes
にdefault.htmlが無い- ここで??となってしまった…ドキュメントの登場である
- 「gemのインストールディレクトリ(
bundle infor jekyll-agency
)のファイルが参照される」 - この場合、
_layouts
のファイルのlayout
で指し示したので、インストールディレクトリ_includes
のレイアウト名のファイル - つまり、
<jekyll-agencyインストールディレクトリ>_includes/default.hmtl
が利用される - 思い返せば、作業ディレクトリ生成時にはこのディレクトリ自体が無かったかも…以下同上同文
<jekyll-agencyインストールディレクトリ>_includes/default.hmtl
- htmlタグから始まる、ページ全体を記述する
liquid
拡張されたhtmlファイルである
- htmlタグから始まる、ページ全体を記述する
コンパイルで.md
で post
や portfolio
をレイアウトにしておくと「そんなレイアウトは無い」と警告される。
でも、page
レイアウトだけは警告されない。これはインストールディレクトリの_layouts/page.html
が存在してたからだった。
ドキュメントとbundlerで生成した作業ディレクトリには現れないことで、注意(視野)をフレームワークにまで広げないと理解できなかった。
ポータルでカスタマイズしたこと
発端はresumeをblogから移動して、そのスタイルを整えることだった
resume/css/resume.scss
_layouts/resume.html
- layoutをdefaultとして、
resume/css/resume.css
を読み込むようにした
- layoutをdefaultとして、
これで、目的は果たされたけど、方法が判ったらblog側で追加した tableスタイルとか使いたいな〜とかblog側のpost/pageスタイルも流用したいな〜とか贅沢したくなる。
贅沢は学習の糧なので、ためらわずに取り掛かろう
_sass
にblogの.scss
をコピー_layouts/resume.html
を_includes/resume.html
を利用するように変更- layout参照はdefault
- jekyll-agencyの恩恵も授かれるように
_includes/resume.html
- ここで
resume/css/resume.css
を読み込むようにした resume.css
はblog/css/main.scss
と同じに- 同じにすることで_sassのスタイルを利用できるようにした
- これでblogのpage、post、table、hcol、mermaid、highlight-syntax、の恩恵を得られる
- ここで
これで今の所満足だ
更なるカスタマイズも可能になった
jekyllでWebサイト作る基礎が整ったかな