SmartDox 0.2.2をリリースしました。
本バージョンはorg-modeの解析方法を改良しました。
機能
SmartDox 0.2.2では以下のオプションを提供しています。
オプション | 機能 |
---|---|
-html5 | HTML5生成(試験的) |
-html4 | HTML4生成 |
-html3 | HTML3生成 |
-plain | プレインテキスト生成 |
PDF生成 | |
-latex | LaTeX生成 |
-blogger | Blogger用のHTML生成 |
基本的にSmartDox 0.2.1と同じです。org-modeの解析方法を改良しました。
インストール
プログラムの配布は、Scalaで最近注目されているconscriptを使っています。conscriptのインストール方法は以下のページに詳しいです。
Linux, Macであれば、以下のようにすればインストール完了です。
$ curl https://raw.github.com/n8han/conscript/master/setup.sh | sh
conscriptをインストールした後、以下のようにしてSmartDoxをインストールします。
$ cs asami/dox
以下の2つのコマンドがインストールされます。
- dox
- SmartDoxコマンド
- sdoc
- SmartDocコマンド(互換用)
依存プロダクト
SmartDoxでは、以下のプロダクトに依存しています。
プロダクト | 使用する機能 |
---|---|
LaTeX | PDF生成 |
Graphviz | 画像生成 |
Ditaa | 画像生成 |
プロダクトに依存する機能を使わない場合は必要ありません。
LaTeX
platexコマンドとdvipdfmxコマンドが実行可能になっていれば基本的にはOKです。
Mac OS上でmacportsを使ってインストールしたLaTeXで動作確認しています。他の環境の場合、スタイルファイルなどがない可能性があります。
Graphviz
dotコマンドが実行可能になっていればOKです。
Mac OS上でmacportsを使ってインストールしたGraphvizで動作確認しています。
Ditaa
ditaaコマンドが実行可能になっているか、optlocalsharejavaditaa09.jarのJarファイルが存在していればOKです。
Mac OS上でmacportsを使ってDitaaをインストールすると、optlocalsharejavaditaa09.jarに配置されます。このditaa09.jarを決め打ちで使用しています。(いずれパラメタで指定可能にする予定です。)
それ以外の環境では、シェルスクリプトなどでditaaコマンド(インストールされているJarファイルを呼び出す)を作成してください。
使い方
まだマニュアルがないので、文書フォーマットは org-modeを参考にしてください。あまり難しい文法を使わなければ大体大丈夫だと思います。
org-mode形式で作成した文書から以下のようにしてHTMLやPDF、プレインテキストに変換してください。
$ dox -html4 mydoc.dox $ dox -pdf mydoc.dox $ dox -plain mydoc.dox
サンプル
SmartDoxでは以下のようなorg-mode文書が扱えます。
- #+title: SmartDoxサンプル
- #+author: 浅海
- #+date: 2012年2月12日
- * 文章
- これは *SmartDox* の文章です。
- - SmartDoxのコンセプトは(org-mode+html5)/2
- - HTMLに加えてPDFやプレインテキストを生成することができます。
- - GraphvizやDitaaの画像を生成して埋め込むことができます。
- * 表
- | オプション | 機能 |
- |------------+----------------------|
- | -html5 | HTML5生成(試験的) |
- | -html4 | HTML4生成 |
- | -html3 | HTML3生成 |
- | -plain | プレインテキスト生成 |
- | -pdf | PDF生成 |
- | -latex | LaTeX生成 |
- | -blogger | Blogger用のHTML生成 |
- * 画像
- ** graphviz
- [[http://www.graphviz.org/][Graphviz]] の図を直接書くことができます。
- #+begin_dot images/dot_example.png -Tpng
- digraph G {
- Hello->World
- }
- #+end_dot
- ** ditaa
- [[http://ditaa.sourceforge.net/][Ditaa]] の図を直接書くことができます。
- #+begin_ditaa images/ditaa_example.png
- +--------+ +-------+ +-------+
- | | --+ ditaa +--> | |
- | Text | +-------+ |diagram|
- |Document| |!magic!| | |
- | {d}| | | | |
- +---+----+ +-------+ +-------+
- : ^
- | Lots of work |
- +-------------------------+
- #+end_ditaa
- ** SimpleModeler
- SimpleModelerを使ってCSVでクラス図を
- 書くことができます。
- #+begin_sm_csv images/sm_csv_simplemodel.png
- #actor
- 顧客
- 個人顧客,,,,,顧客
- 法人顧客,,,,,顧客
- #resource
- 商品,商品名,,商品区分(第1類;第2類;第3類)
- #event
- 購入する,,顧客;商品
- #+end_sm_csv
PDFの生成は以下のようにして行います。PDFの生成時に画像の生成も自動的に行いPDF内に埋め込まれます。
$ dox -plain sample.dox
3ページのPDFが生成されます。2ページ目は以下のように表や図が記述されています。
1ページ目はタイトル、3ページ目はditaaとSimpleModeleの図です。
プレインテキスト
ブラウザでは崩れて見えますが、等幅フォントを使えば表やタイトル下の下線も正しくレイアウトされます。
- SmartDoxサンプル
- ━━━━━━━━
- 2012年2月12日
- 浅海
- 目次
- ──
- 1 文章
- 2 表
- 3 画像
- 3.1 graphviz
- 3.2 ditaa
- 3.3 SimpleModeler
- 1 文章
- ───
- これは SmartDox の文章です。
- - SmartDoxのコンセプトは(org-mode+html5)/2
- - HTMLに加えてPDFやプレインテキストを生成することができます。
- - GraphvizやDitaaの画像を生成して埋め込むことができます。
- 2 表
- ──
- ┏━━━━━┯━━━━━━━━━━┓
- ┃オプション│ 機能 ┃
- ┣━━━━━┿━━━━━━━━━━┫
- ┃-html5 │HTML5生成(試験的) ┃
- ┠─────┼──────────┨
- ┃-html4 │HTML4生成 ┃
- ┠─────┼──────────┨
- ┃-html3 │HTML3生成 ┃
- ┠─────┼──────────┨
- ┃-plain │プレインテキスト生成┃
- ┠─────┼──────────┨
- ┃-pdf │PDF生成 ┃
- ┠─────┼──────────┨
- ┃-latex │LaTeX生成 ┃
- ┠─────┼──────────┨
- ┃-blogger │Blogger用のHTML生成 ┃
- ┗━━━━━┷━━━━━━━━━━┛
- 3 画像
- ───
- 3.1 graphviz
- ──────
- Graphviz<http://www.graphviz.org/> の図を直接書くことができます。
- <images/dot_example.png>
- 3.2 ditaa
- ─────
- Ditaa<http://ditaa.sourceforge.net/> の図を直接書くことができます。
- <images/ditaa_example.png>
- 3.3 SimpleModeler
- ─────────
- SimpleModelerを使ってCSVでクラス図を書くことができます。
- <images/sm_csv_simplemodel.png>
0 件のコメント:
コメントを投稿