- できるだけ普通のプログラミング概念を使う。新規概念は最小に。
- したがって、プロジェクトとかパッケージとかリポジトリは既存の常識的な意味。
- パッケージとその配布はNPMエコシステムをそのまま使う。お作法も何もかも“そのまま”。
- Markdownファイルをドキュメンテーションと考えるか? ソースコードと考えるか?Webサイトのページと考えるか? それは思案中。
- ディレクトリの候補は ./doc/ or ./docs/, ./src, ./src/pages/ 。
- package.json のトップレベルプロパティ tenjin に設定を書けるのがよいか、別ファイルにするか?
- おそらく、./tenjin-config.json とかで指定したほうがいい。しかし、なんにしろデフォルト規約は必要。
- 他の目的のディレクトリとしては、./scripts/, ./test/ など。
- タスクランナーのタスクは ./scripts/ より ./tasks/ 。
- データベースはキャッシュ用途。データベースファイルはなくなっても問題ないし、バージョン管理不要。
- 使う拡張子は、.md, .json, .jsonl に限定。余計なフォーマットは定義しない。しかし、フローグラフ定義にはDSLが必要かも -- 人が直接書かないならJSONで十分なんだが、たぶん辛すぎる。できるだけ MathEDL と共通文法にしたい。
- *.md 以外のファイルは、Tags.jsonl(タグ&ロール空間の構造定義), Topics.jsonl(トピック空間の構造定義)。
- ファイルの在処は、package.json のfilesに頼るのがよさそう。
- index.* を目印にする規約は使えないな。
[追記]package.jsonと別なtenjin-config.jsonを用意して、そこにディレクトリ/ファイルの指定を書いたほうがいい気がしてきた。必要な項目〈プロパティ〉は:
- sourceDir : 原稿ファイルを入れているディレクトリ、デフォルトは "."
- ignore : 原稿ファイルとはしないファイルのパターン記述。.gitignore と同じパターン構文。
[/追記]