Cofactor Matrix Log

このブログもどきの構成について

## TODO - 現状スタイルが適当すぎるのでなんとかしたい。 - 記事画像もまだ。 ## 方針 - 基本的にはディレクトリ/ファイルの単純な構造で取り回したい。 - カテゴリはディレクトリ。 - 記事もディレクトリ。記事に属する画像やスクリプトなどを素直に扱いたいため。 - カテゴリ・記事群に対して、日付順、キーワード、アーカイブ等のビューを外付けする。 - RDB 使いたくない病。やりたいことに対して大がかりすぎる。 - sqlite でもまだ牛刀割鶏。 - かといってフラットファイル系は記事が増えたときに辛い。 - 各ビューを単純な KVS として実装。キーはメモリに置く。バリューはファイルから取る。 - バリューは部分的に読み取れるように。リストを全件読んだりしない。 - 更新時は KVS を丸っと全更新。カテゴリ 100, 記事 1000 件程度でテストして、特に問題なさげ。 - 更新は、記事ディレクトリを単に FTP アップロード → KVS 更新。 - ブラウザ上で記事書きたいかと言われると微妙なので後回し。 - 普段のエディタの方が基本的には楽。 - とりあえず markdown 使えるように - レンダリングはクライアント側で [Showdown](https://github.com/showdownjs/showdown) にて変換 - [marked](https://github.com/markedjs/marked) は、html から markdown への再入ができないので見送り。 - 数式使いたいので改造。数式のレンダリングは <span role="math">\href{https://katex.org/}{\KaTeX}</span> - コードハイライトは [Prism](https://prismjs.com/) - アイコンは [evericons](http://www.evericons.com/) を Web font 化 - レスポンシブにする。 ## 大雑把な構造 ~~~any index.php # エントリポイント index.db # KVS データ src/ # ブログシステム本体 : doc/ # コンテンツ site.json # サイト名など基本情報 <category>/ content.json # カテゴリ情報 <article>/ content.json # 記事情報 index.md # 内容 <sub-category>/ # ネスト可 content.json lib/ # content.json が無いディレクトリは単にファイル置き場。 # javascript, css など ~~~ ## content.json カテゴリの場合: ~~~json { "type": "category", // 省略可 "name": "名前", "desc": "説明文", "body": "内容ファイル" // カテゴリも内容を持てる(WordPress の固定ページ相当が書けるように) } ~~~ 記事の場合: ~~~json { "type": "article", // 必須 "name": "名前", // 省略時、ディレクトリ名 "desc": "説明文", // 省略時空 "date": "2020-01-01", // 作成日時, 必須 (一応無ければファイルの ctime を見に行く) "late": "2020-01-02", // 更新日時, 省略時作成日時と同一 "tags": ["tag1", "tag2"], // タグ "body": "内容ファイル" } ~~~ ## 予約ディレクトリ `control`, `keyword`, `archive` は、各種機能のために予約。 同名のディレクトリは無視する。