RedPen v1.3 のリリースと v1.4 への展望

ATL の伊藤(takahi_i)です。

先日 RedPen のバージョン 1.3 をリリースしました。RedPen 1.3 はリリースページからダウンロードできます。また Mac をお使いであれば Homebrew ($brew install redpen) 経由で最新版がインストールできます。

本稿では RedPen のバージョン 1.3 で追加された機能のなかで、とくに重要と思われるもの(AsciiDoc サポート、サーバコマンド、Javascript による機能拡張)を紹介します。本稿の最後に バージョン 1.4 でサポート予定の機能(LaTeX と Validator の強化)について紹介します。

AsciiDoc フォーマットのサポート

RedPen がリリースされて以降、AsciiDoc をサポートしてほしいという要望をいただいていました。 AsciiDoc は Markdown や LaTeX 等とおなじマークアップ言語のひとつです。 当時の私は Markdown に満足していたので、Markdown のシンタクスに類似のマークアップ言語の サポートがなぜこれほど望まれているのか十分に理解ができていませんでした。以下、AsciiDoc の利点についてふれてみます。

Markdown では十分でない?

最近になって、私に長くかつフォーマルな文書を書く仕事がふってきました。 はじめは文書を Markdown で執筆しようとしたのですが、どうにもうまくいきません。 このときになって、Markdown というフォーマットの表現能力が十分ではないということに頭を抱えることになったのです。 たとえば節へのリンクやソースファイルの分割はある程度の分量のある文書を記述する 際には必ず必要になるのですが、Markdown では(フォーマルには)サポートされていないのです。

AsciiDoc の利点

AsciiDoc は Markdown に類似のライトなシンタクスでありながら、機能が豊富です。 フォーマルでかつ分量の多い文書を書くのに必要な機能は揃っていると感じています。 また AsciiDoctor というツールを使うと PDF への変換や見栄えを左右する文書スタイルの変更なども簡単です。 フォーマルな文書を書く必要がある方は一度、AsciiDoc の利用を考えてみるといいかもしれません。

サーバの同梱

RedPen サーバはバージョン 1.0 から導入され、随時拡張されてきました。 バージョン 1.2 で REST API を強化し、コマンドラインに近い機能を提供しています。

REST API を経由して RedPen を使用することのメリットは高速なレスポンスです。 redpen コマンドは実行後、起動に時間がかかってしまいます。 これにたいして常時起動のサーバであれば即座に検査結果をかえせます。

機能の強化とともに、サーバをコマンドラインから起動終了をしたいというご要望を頂きました。 これまでは redpen.war というファイルを別にダウンロードしてくる必要がありましたが、 バージョン 1.3 ではサーバファイル(redpen.war)もすべてパッケージ (repden-1.3.tar.gz) に同梱されています。

さらに RedPen バージョン 1.3 では redpen-server という簡易コマンドを用意しました。起動するには以下のコマンドを実行するだけです。

同じようにサーバを終了も以下のコマンドでシンプルに行えます。

ただ残念ながらコマンドはウィンドウズには対応していません。ウィンドウズは次のバージョンアップでサポートする予定です。

1.2 までの機能拡張

RedPen の特徴のひとつは拡張性です。マークアップ言語から文や節の抽出など煩雑な処理は RedPen が自動でやってれます。 そのため自分で機能を拡張したい場合には、ユーザは文に対する処理を記述するだけですみます。 プラグイン機能もサポートされているので、ユーザは RedPen 全体をビルドする必要もありません。

ところが開発していてわかったのは、 残念ながら 現状のプラグインでも十分ではないということです。 つまり Java ベースのプラグイン作成は、ある程度 Java に慣れた人しかできない。 コンパイルも必要ですし、手軽に試せないのです。。。

Javascript による機能拡張をサポート

そこでバージョン 1.3 からは Javascript ベースの機能拡張をサポートしました。 Javascript ベースの機能拡張では、ユーザはコンパイルする必要はありません。$REDPEN_HOME/js に機能拡張用の Javascript ファイルを置くだけです。具体的な利用方法について別途ご紹介する予定です。

バージョン 1.4 の予定

RedPen バージョン 1.4 では AsciiDoc とならんで要望の多かった LaTeX を実験的にサポートする予定です。 LaTeX 以外では、バージョン 1.4 で Validator の強化にフォーカスする予定です。

Validator の強化と言っても、それほど複雑な機構を取り入れるわけではありません。
Microsoft Word がサポートしている文書検査(文書校正機能)の機能の一部に対応できればと考えています。

具体的にはまずは以下の Validator がサポートできればと考えています。

  • 当て字
  • 助詞連続
  • 二重否定
  • 常用漢字でない漢字の使用
  • 送り仮名
  • 入力ミス