PureBuilder Simply
ようこそ、PureBuilder Simplyへ!
PureBuilder Simplyはプレビルド型のウェブサイト構築ツールです。 ヘッドレスCMSや、SSGとも呼ばれます。
PureBuilder Simplyは構築・更新が容易で、文章を書く機能に長けており、文章中心のウェブサイトを作るのに適しています。
簡単に始めましょう
PureBuilder Simplyを使うのはとても簡単。 必要なものをRubyGemsでインストールし、
$ gem install pbsimply kramdown
お好きなところにプロジェクトフォルダを作ります:
$ pbsimply-init mywebsite
あとはMarkdownで記事を書くだけ!
少ない制約
類似のツールの中には、複雑なファイル配置や多数の専用ファイルを要求するものも少なくありません。
こうした仕組みは構築が面倒なだけでなく、サイト構築の自由を制限します。
PureBuilder Simplyはその名の通り、とてもシンプルです。
必要となる規則は、あなたの好きなフォルダーに、.pbsimply.yaml
という設定ファイルを置くだけです。
お好きなエンジンで
PureBuilder Simplyはデフォルトで非常に強力なドキュメントプロセッサであるPandocを使用します。
しかし、PureBuilder SimplyはPandocに依存したツールではありません。 もしあなたがPandocを使うことを望まないのであれば、RDoc, RDoc/Markdown, RedCarpet, CommonMarker, kramdown、そして実験的なDocUtilsから好きなものを選んで使うことができます。
また、PureBuilder
SimplyはデータベースとしてデフォルトでRuby形式のMarshalダンプを利用しますが、あなたが望むならYAMLやJSON形式のデータベースを使うこともできます。
さらに、JSON形式のデータベースを使う場合、高速なOj
ライブラリを使うこともできます。
SSR? SPA? お好きなように!
PureBuilder Simplyの最も標準的な使い方は、PureBuilder Simplyによって完成されたドキュメントファイルを生成し、HTTPサーバーによってそのままサーブすることです。
しかし、PureBuilder Simplyでできることはこれだけではありません。 サーバーサイドに更新処理を組み込んで応答したり、SPAが利用する本分データだけをビルドしておいたりすることもできます。
使い方は自由自在。 SPAをより強力にサポートする”JSON out”機能は近い将来、追加される予定です。
Unixでも、Windowsでも
PureBuilder SimplyはLinuxプラットフォーム上での利用を想定し、Linux上で開発されています。
しかし、Linux以外のUnix環境(例えばMac OS X)やWindowsでも動作させることが可能です。
WindowsではWSL(Windows Subsystem for Linux)を用いる方法のほか、RubyのWindows向けバイナリを用いて動作させることもできます。
MarkdownとReST
PureBuilder Simplyはソース形式としてMarkdownを用います。
このMarkdownは利用するエンジン次第の形式であり、例えばPandocを使うのならば非常に強力なPandoc Markdownが利用できます。
さらに、PandocとDocUtilsではReSTructured Text形式が、RDocではRDoc形式が利用可能です。
PureBuilder Simplyはいつでも選択の自由を提供します。
超強力なテンプレート
Pandocを使う場合、強力なPandocテンプレートを利用することができます。
Pandoc以外を使う場合は、さらに強力なeRubyのテンプレートを利用することができます。
Pandocを利用する場合、「Pandocテンプレートで処理したものをeRubyテンプレートとして利用する」ことも可能です。
プログラマブル・プラットフォーム
PureBuilder Simplyをより強力に使いたいのであれば、PureBuilder Simplyをプログラミングすることができます。
PureBuilder Simplyは様々な機能拡張を提供します。 例えばHooksを使えば、ビルド前、あるいはビルド後などに処理を追加することができます。
もっと簡単かつ強力なのが「祝福」です。 PureBuilder Simplyはドキュメントメタデータ(MarkdownではYAML Frontmatter)を駆使しますが、「祝福」はドキュメント処理時にメタデータに手を加えることができます。