静的サイトジェネレータ blogoid を TypeScript で作った。
blog.hamadu.net は blogoid
を使って生成されている。
このブログは、プラットフォームに依存しない、何かを発信する場所を作りたくて生まれたものだ。 ブログをどうやって自作するか?は大まかに分けて2つの方法があり、それぞれメリット/デメリットがある。
今回は不自由さに目をつぶって(このブログには多くの機能を求めてないので)、静的サイトジェネレータを作ることにした。
以下のような設定ファイルを何処かに置いてもらって、
{
"title": "Blog title", # site title
"author": "Your name", # site author(s)
"entries": "sample/src/entries/**/*.md", # path to the entries
"static": { # path of the static files(it just copy&pasted)
"styles/custom.css": "sample/src/styles/custom.css"
},
"pages": { # page to the non-entry pages
"index.html": "sample/src/pages/index.html",
"about.html": "sample/src/pages/about.html"
},
"templates": { # name and path of templates
"entry": "sample/src/templates/entry.html",
"tag": "sample/src/templates/tag.html"
},
"partials": { # name and path of template partials(can be used in the templates above)
"header": "sample/src/partials/header.html",
"footer": "sample/src/partials/footer.html",
"javascripts": "sample/src/partials/javascripts.html",
"styles": "sample/src/partials/styles.html"
}
}
以下のコマンドを叩けば sample/out
以下に一式が吐かれる。
$ blogoid --config sample/config.json --out sample/out -p