(5)
{希哲13年7月15日}{pg_idx.h}{site_/}{サイト識別子}{あれ}{希哲13年7月11日の開発}{ドメイン台録}{index.html}{台録構成}{閃き}=}(12)

ここしばらく悩んでいた Iti/src/site/ 以下の台録構成閃きがあった。

ページ用の台録を _pg_/ として,これ以前の台録構成をサイトの分類,これ以後の台録構成をページの分類とする,という方式を編み出した。site/ も,これ以下が自由構成であることを示すために site_/ に改称した。

これにより,example.com/path/to/dir というページは site_/com./example./_pg_/path/to/dir/pg_idx.h のような構造で表現出来る。これまで気になっていた紛らわしさや曖昧さの問題はこれでほとんど解消した。

未実装だが,site_/ と _pg_/ の間をサイト識別子として自動的に利用する方針も決定した。

これを思いついた当初,ドメイン台録は廃止かと思ったが,サイト識別子としてやはり分かりやすいため温存することになった。これもアイデアが無駄にならず良かった。

希哲13年7月11日の開発で site/ 以下を柔軟に構成出来るようにしておいたことが功を奏した。

色々なことが報われた感がある。

ついでに,その台録で index.html に相当するページをどう表現するかも悩み所だったが,これはウェブの伝統を踏襲して pg_idx.h のように表現することにした。これまでは,root の意で pg_rt.h としたり,トップページの意で pg_top.h などとしていたが,分かりにくかったり,厳密に考えると違和感があったりした(インデックスとトップページは必ずしも一致しない)。台録と同じ階層に同名の拡張子付きで,というのも考えたが,これをやると規則が複雑化する。

結局,ウェブ開発者なら直感的に理解出来るインデックスをウェブ用語として援用するのが無難だろう。

2019-07-16 00:28
2019-07-15 23:56
{.pg.u.cfg}{希哲13年7月11日}{希哲13年7月11日の開発}{pg.cfg}{希哲13年7月11日の進捗時限}{希哲13年7月11日の進捗}{mk_hdr_all.sh}{進捗記録}{進捗時限}{mk}=}(11)

mk_hdr_all.shpg.cfg から pg.u.cfg を生成する機能の実装をおおまかに終えた。既存 pg.u.cfg に対応する全ての pg.cfg を書き,備立も成功した。

ここで mk_hdr_all.sh の実装は一段落として,mk に組み込んだ。ついでにハガネにならい並列 make で順序を保証するようにした。

終了。

2019-07-11 19:48
=}
{.pg.u.cfg}{希哲13年7月11日}{希哲13年7月11日の開発}{pg.cfg}{希哲13年7月11日の進捗時限}{希哲13年7月11日の進捗}{mk_hdr_all.sh}{進捗記録}{進捗時限}{進捗}=}(10)

pg.u.cfg に対する pg.cfg も追加。

mk_hdr_all.sh に変換用交度を書く。大体は書いたが,まだ調整が必要。

site.cfg では site.u.cfg に合わせて左にサイト名,右に正規表現として違和感が無かったため,最初 pg.cfg でも左にページ類型,右に正規表現にしてみたが,意外と見にくかった。これはドメインと場筋の階層表現の違いかもしれない。

pg.u.cfg に合わせて左に正規表現,右にページ類型を記述することにした。

2019-07-11 19:37
2019-07-11 18:49
=}
{希哲13年7月11日}{希哲13年7月11日の開発}{site.cfg}{site.u.cfg}{希哲13年7月11日の進捗時限}{希哲13年7月11日の進捗}{進捗記録}{進捗時限}{設定譜類}{進捗}=}(10)

site.u.cfg に対応する site.cfg を追加。

記述性安全性関心の分離の観点から,編集用の設定譜類を用意することにした。

2019-07-11 17:21
2019-07-11 17:20
=}
{.pg.u.cfg}{site_/}{希哲13年7月11日}{希哲13年7月11日の開発}{site/}{map_pg.h}{希哲13年7月11日の進捗時限}{希哲13年7月11日の進捗}{ALL.u.cfg}{mk_hdr_all.sh}=}(14)

map_pg.u をとりあえず pg.u.cfg に改称し,src/site/ 以下に移動。

ここで cfg/site/ は不要になったため削除。

mk_hdr_all.shsrc/site/ALL.u.cfg を生成し,cfg/map_pg.h から切り替え,備立に成功することを確認。

cfg/ 直下には etc/ と未実装の map_site.h のみ残し,それ以外は削除した。

終了。

2019-07-11 14:11
2019-07-11 14:10
=}