イマドキのIDE事情 第26回ブラウザ上で動作するreStructredTextエディタ「NoTex」
skill

イマドキのIDE事情 第26回
ブラウザ上で動作するreStructredTextエディタ「NoTex」

2016.03.10

■reStructredTextとは?

reStructredTextはドキュメントを記述するための構造化されたテキストフォーマットのひとつだ。

ソフトウェア開発では、SubversionやGitといったバージョン管理システムを使用してソースコードを複数人で共有し、変更履歴を管理することが一般的になっている。しかし、ドキュメントについては、Wordなどのワードプロセッサでは複数人での作業が難しかったり、変更の差分を把握することが難しいという欠点がある。ドキュメントもテキストで記述することで、ソースコードと同じようにバージョン管理システムを使用した共有や差分の管理が可能になる。そこで登場するのがreStructredTextなどのテキストフォーマットだ (ドキュメンテーション用の代表的なテキストフォーマットには他にMarkdownなどがある)。

NoTexは、このreStructredText形式のドキュメントを記述するためのWebベースのエディタだ。Python (Django)で記述されており、バックグラウンドでSphinxを使用することでHTML、PDF、LaTex形式でのエクスポートが可能となっている。

(竹添直樹)

■NoTexを使ってみよう

NoTexのWebサイトではリリースアーカイブがzipファイル形式で提供されているが、こちらのサイトでは実際に動作を確認することができる。豊富なサンプルも用意されているので、まずこのWebサイトでNoTexの動作や機能を確かめてみるといいだろう。

図1 : NoTexのデモサイト

NoTexはデスクトップアプリケーションのようなユーザインタフェースを備えており、左側にファイルをツリー表示するペイン、右側にテキストを編集するためのエディタが配置されている。それぞれのペインにはわかりやすいアイコンが配置されているので、特に操作に迷うことはないだろう。

ドキュメンテーション用途のテキストフォーマットはPDFやHTMLに変換すれば読みやすいものの、テキストのままでは読みにくいケースもあるが、NoTexのエディタは強調表示機能を備えており、reStructredTextのフォーマットのシンプルさもあいまってテキストのままでも読みやすい。また、エディタでは上部のツールバーから書式を入力できたり、スペルチェックなどの機能もある。

図2 : NoTexのエディタ

画面の最上段に配置されているリボンの「Export as ..」からドキュメントをPDF、HTML、LaTexでエクスポートできる (HTML、LaTexの場合は必要なファイルをまとめたZIPファイルとしてエクスポートされる)。NoTexのエディタでは日本語の入力の可能だが、PDFとしてエクスポートすると文字化けしてしまった。

図3 : エクスポートしたPDF

図4 : エクスポートしたHTML

NoTexは非常に軽快に動作し、ストレスなく利用できるが、実際に長いドキュメントを執筆する上では、ドキュメント中の見出しをアウトライン表示するような機能があると便利だ。また、reStructredTextの記法に慣れるまでは実際の表示がどうなるかを手軽にプレビューできる機能があると初心者でも使いやすいのではないだろうか。

■共同編集のための機能に期待

オンラインで利用可能なドキュメンテーションツールにはGoogleドキュメントのようなワープロ的なものと、Wikiなどのようにテキストベースのものが存在するが、いずれもオンラインツールの特徴を活かした共同編集が可能だ。

筆者は本連載や書籍などの原稿を執筆する際に様々なツールを活用している。たとえば本連載の原稿はここ数年Googleドキュメントを使用して執筆しているし、書籍などは共著で作業することも多いため紆余曲折を経て、最近ではWikiエンジンをカスタマイズして使うなど共同作業をスムーズに行うための工夫をしている。いずれにしても専用のワードプロセッサを用いず、オンラインのツールだけで充分に執筆が可能だ。

欲を言えばNoTexにもブラウザで利用できるという特徴を考えると共同編集のための機能や、編集履歴やバージョン管理、レビューのためのコメント機能などもあればオンラインのドキュメンテーションツールとしては完璧だろう。現在も活発に開発が行われているようなので今後の機能追加に期待したいところだ。

※本記事は2012年9月20日にマイナビニュースに掲載された記事を基に、一部加筆修正しています。

原稿:竹添直樹
株式会社ビズリーチ所属。Scalaを愛するJVM系プログラマ。業務の傍らOSS開発や執筆活動を行っている。
https://twitter.com/takezoen

この記事はどうでしたか?

おすすめの記事

キャリアを考える

BACK TO TOP ∧

FOLLOW