このサイトの構成
このサイトは自分なりに、 ナビゲーションしやすさを考えて作っています。 以下のような構造になっています。
- ストック情報
- フロー情報
- ログ: 時系列のログ
- 廃止されたセクション
RSS/Atomフィード
なぜこのような形式にしたのか
例えば、「WindowsでSHA-256ハッシュを取る方法」を例に取ります4。 このときにいちばん重要なのは、「SHA-256」という単語です。 よって、「SHA-256」というページ(マニュアル)を作って、 そこに「Windowsでの取得方法」を書くようにしています。
また、そもそも「SHA-256」とは何かの説明が必要です。 しかし、SHA-256の取得方法と混ぜると、ページがごちゃごちゃしてきます。 よって、同様に「SHA-256」というページ(辞書)を作って、 そもそもSHA-256とは何かを説明するようにしています5。
この「辞書」と「マニュアル」が基本です。 「マニュアル」から初回のみの手順を分離したものが「設定手順書」、 分量が大きいもの、めったに使わないものを分離したのが「逆引きマニュアル」です。 「逆引きマニュアル」は必ずタグを付けるようにして、 「辞書」や「マニュアル」からたどりやすくしています6。
書きやすい
この構成はちょっと変わってますが、自分としてはものすごく書きやすいです。 その理由をいくつか書きます。
- タイトルを考えなくてよい
- タイトルは全て「単語そのもの」です。「マニュアル」とか「辞書」とかは、Hugoのテーマ機能でつけてます。
- SEOには不利かと思いますが、タイトルに悩まなくて済むのは時間の節約になります。
- 何が足りないかが分かる
game
タグがあるときに、game
の記事が必要だと分かります。ansible
のマニュアルがあるときに、ansible
の記事(dic
)が必要だと分かります。- これらのチェックをスクリプトにしている
- 定型化している
- 辞書は必ず
〜〜とは
からは始まっています。 - 逆引きマニュアルは
やりたいこと
,前提条件
,手順
の3つを含めるようにしています。 - 公式サイト、外部リンクなどはYAML Front MatterでURLとタイトルを貼るだけで、いい感じにしてくれます。
- 辞書は必ず
分割しやすいサブセクション機能を使うことにより、分割しやすくなっています。- サブセクションは見通しが悪く、ビルドに時間もかかるので廃止予定です。
- ランダムボタンがある
- たまに自分で押して、レビューに使用しています。
その他のセクション候補
このサイトでは使っていませんが、他で使っているセクションや用語を書いておきます。
- 「常識」: 仕事では知識の共有が重要なので、最低限共有すべき基本知識を記載しています。これはタグでもいいかも。
- 「成果物」: esaで、自分が作った著作物や、二次著作物をまとめるために使っています。
- 「用語集」: このサイトにおける「辞書」と同じです。こっちの方がしっくり来るかも。
- 「記録」: このサイトにおける「ログ」と同じです。
- 「作業手順書」: このサイトにおける「逆引きマニュアル」と同じです。
- 「意思決定」: アーキテクチャや規約、目標などを入れています。
- 「プロジェクト」: プロジェクト(タスク管理)のことです。
影響を受けたもの
- Scrapbox
- Markdown系サービス
- Qiita
- esa
- Bliki
- ひしだまのコンピューター関連技術メモ(Hishidama’s Programming MemoPage)