PureBuilderの歴史

2005 ACCS

ACCSは事前生成戦略を採用したHTMLテンプレートシステムです。

ACCSはHTMLで書かれた本文を、予め用意したHTMLテンプレートに展開したHTMLファイルを生成すると同時に、テンプレートで利用可能な情報を追加します。 例えば、前後の記事へのリンク、記事の連続読み、トピックパス、用語リンクなどです。

このスクリプトはPerlで書かれていました。

2007 ACCS2

ACCS2はACCSの発展形であり、半自動生成戦略を採用しています。

ACCS2はウェブアプリケーションとして動作し、更新を自動で検出してページを生成します。 その特徴として、投稿部分はウェブアプリケーションであり、サーバー上で生成しますが、応答は静的なHTMLをサーブするだけということがあります。

文書フォーマットは、独自形式と、plain2をサポートしていました。

ACCS2はPHPで書かれていました。

2011 ACCS3

ACCS3は、ACCSの基本に立ち返り、事前生成戦略を採用するテンプレートシステムです。

基本的な機能はACCSと同様ですが、小さなスクリプト群に分解され、より柔軟に機能を組み合わせられるようにしました。 これにより、ユーザーは小さなプログラムを追加することで、機能を拡張することができました。

ACCS3はRubyとZshで書かれていました。

2014 PureDoc

PureDocは独自のドキュメントメタフォーマットです。

Zshを利用したDSLであり、Zshの関数を使ってドキュメントを書くことができます。

出力形式はHTMLです。

2014 PureBuilder

PureBuilderはPureDocを用いた静的ウェブサイトジェネレータです。

多数のドキュメントをまとめて生成、管理することができます。 一方、ACCSのような、複数のページにまたがった動的な生成を行う機能はありませんでした。

PureBuilderはZshで書かれています。

2014 ACCS4

ACCS4は、PureBuilderにACCS相当の機能を追加するためのスクリプトです。

PureBuilderおよびPureDocの処理は事実上シェルスクリプトなので、その処理にACCS4を追加すれば簡単にその機能を拡張することができました。 一方、ACCS4の設定ファイルもまた事情上のシェルスクリプトであり、ユーザーはプログラミングに非常に近いスキルを要求されました。

ACCS4はZshで書かれていました。

2015 PureDoc2

PureDoc2はPureDocのRuby DSLバージョンであり、より多くのエレメントを表現可能です。 ただし、高機能である分、記述はやや煩雑です。

PureDoc2にもACCS相当の機能はなく、ACCS4と組み合わせるようになっています。

出力形式はHTML、またはLaTeXです。

2015 PureBuilder NG

PureBuilder NGはPureDoc2を使った静的ウェブサイトジェネレータです。

PureBuilderはプログラミングに非常に近いものであったため、PureBuilder NGでは設定ファイルを用いて構築が可能であるように変更しました。 また、従来のやり方を好ましいと思うユーザーのため、処理をシェルスクリプトで書く機能も残しました。

PureBuilder NGはRubyで書かれています。

2016 PureDoc2 Markdown

PureDoc2にkramdownライブラリを使ったMarkdown機能を追加しました。

これは、PureDoc2が非常に書くのが大変なフォーマットであったため、これを軽減しようとするものです。

2017 PureBuilder Simply 1.0

PureBuilder SimplyはPandocを使った静的ウェブサイトジェネレータです。 WordPressで動作しているウェブサイトを完全に置き換えることが可能なものとして開発が開始されました。

PureDoc/PureBuilderおよびPureDoc2/PureBuilder NGでの教訓を活かし、プログラムは小さくシンプルに、そしてユーザーにも分かりやすい使いやすいように作られています。

その処理コアは簡潔かつ強力な記法を持つPandocであり、同時に生成に使うテンプレートもPandocのテンプレートエンジンを利用することができます。

ACCSの機能も取り込まれました。 これは当初、ACCS5.0と呼ばれていました。

それでは不足である場合に備え、Pandocで生成したデータをeRubyで処理するPost eRuby機能もあります。 また、ソースデータを処理前に加工するPre Plugins、出力データを加工するPost Pluginsも用意されました。

PureBuilder SimplyはRubyで書かれています。

2022 PureBuilder Simply 2.0

PureBuilder Simply 2.0には大きな変更がふたつあります。

ひとつは、Windowsをサポートしたことです。 従来、ACCSやPureBuilderではWindowsは正式にサポートされていませんでしたが、PureBuilder Simply 2.0で始めてWindowsの動作確認がされました。

そしてもうひとつが、Pandoc以外のドキュメントエンジンに対応したことです。 RDoc, RDoc/Markdown, kramdown, Redcarpet, CommonMarkerに対応し、Pandocを信用しない、あるいはPandocのインストールが難しいユーザーでも利用しやすくなりました。

2.0からRubyGemsに対応し、インストールも簡単になりました。

2023 PureBuilder Simply 3.0

PureBuilder Simply 3.0では大きなリファクタリングが行われ、機能ごとにモジュールに分けられました。

さらに、1.0のときからあるPre PluginsおよびPost Pluginsを非推奨とし、代わりにHooks機能を追加しました。

CHANGELOG

PureBuilder Simplyの詳しい変更は、CHANGELOGで確認することができます。

最終更新日: 2024-03-31