md2inao?
md2inaoというmarkdownから技術評論社の雑誌や書籍のInDesignのタグ付きテキストに変換するツールがあったので使ってみよう。夏コミの本に間に合えば使う感じで一つ(げーって言いたそうな人がいるけど無視
環境はさくらのVPS CentOS5.7(やや古い、が安定しているのに越したことはない)
結論
はい、いきなり結論です。
- InDesign職人カモーン
- InDesignのタグ付きテキストに変換するだけなので、タグに対応するスタイルをInDesignで作っておかないといけません[要出典][やってないだけです。はいすいません]
- InDesignもスクリプト処理できんのやろか・・・ ・・・・ ・・・・・・(頭を抱える)
- CentOS 5.7という古い環境で実行してはいけません
じゃあ早速、動かしてみよう!(てさぐれ!部活ものっぽいアレ
$ git clone git@github.com:naoya/md2inao.git
CPANでモジュールをインストールしておかないといけないのでやってやります。数分かかります。
$ curl -L http://cpanmin.us | perl - --sudo Text::Md2Inao <snip> --> Working on Text::Md2Inao Fetching http://www.cpan.org/authors/id/G/GF/GFUJI/Text-Md2Inao-0.11.tar.gz ... OK Configuring Text-Md2Inao-0.11 ... OK Needs perl 5.010_000, you have 5.008008 ! Installing the dependencies failed: Installed version (5.008008) of perl is not in range '5.010_000' ! Bailing out the installation for Text-Md2Inao-0.11.
で、案の定失敗します。
原因と対策
perlのバージョンが古い
- CentOS5のperlは5.8なのでアップデートしないといけないのです
- perl 5.10.1のソースを持ってきてビルドしてインストール。/usr/local/binに入るので $ rehashすればあら不思議[適当]
FindBin-libs-1.9のビルドで落ちる
- perlのバージョンをアップデートして再度モジュールをインストール
- テストでコケる
# Failed test 'use FindBin::libs;' # at t/01-use-ok.t line 7. # Tried to use 'FindBin::libs'. # Error: syntax error at /home/chiba/.cpanm/work/1401640234.28022/FindBin-libs-1.9/blib/lib/FindBin/libs.pm line 185, near "abs_path # catpath " # syntax error at /home/chiba/.cpanm/work/1401640234.28022/FindBin-libs-1.9/blib/lib/FindBin/libs.pm line 322, near "abs_path catdir " # Compilation failed in require at t/01-use-ok.t line 7. # BEGIN failed--compilation aborted at t/01-use-ok.t line 7. # Looks like you failed 1 test of 1.
1.9って数日前にでてたのね
- Steven Lembark / FindBin-libs-1.9 - search.cpan.org
- ということで、1.8のtarballを持ってきてインストール。インストール方法はドキュメントに書いてあるので見ましょう
最後に念のため
$ curl -L http://cpanmin.us | perl - --sudo Text::Md2Inao
実行してみよう
うさげを見よう
$ cd md2inao/bin $ ./md2inao.pl Usage: md2inao.pl [--format=in_design|html|inao] your_markdown_text.md > inao_format.txt
- うさげですね
mdファイルを食わせてやろう
./md2inao.pl ../old_files/00_sample.md > taggedtext.txt [warn] リストは63文字まで!(現在71使用): ●リスト1.1::キャプション(コードのタイトル) function **foo**(a) { // コード内強調 alert(a); (注:こんな風にコメントがつけられます) } ___foo('bar');___ // コード内___イタリック___★本文と記法を変えています★ **foo('baz');** // コード内**強調** [warn] 本文埋め込みリストは55文字まで!(現在74使用): $ command **foo** // コマンド内強調 ___foo('bar');___ // コマンド内___イタリック___★本文と記法を変えています★ bar (注:こんな風にコメントがつけられます) (注:見出し的にも使えます) function bar(b) { alert(b); } Use of uninitialized value $1 in length at /home/user/repo/md2inao/lib/Text/Md2Inao/Builder/InDesign.pm line 203. Use of uninitialized value $1 in length at /home/user/repo/md2inao/lib/Text/Md2Inao/Builder/InDesign.pm line 203. Use of uninitialized value $1 in length at /home/user/repo/md2inao/lib/Text/Md2Inao/Builder/InDesign.pm line 203. Use of uninitialized value $1 in length at /home/user/repo/md2inao/lib/Text/Md2Inao/Builder/InDesign.pm line 203. Use of uninitialized value $1 in length at /home/user/repo/md2inao/lib/Text/Md2Inao/Builder/InDesign.pm line 203.
- 出てきたファイルを見てみよう
% head taggedtext.txt <SJIS-MAC> <ParaStyle:本文>章番号:3章(書籍や特集の場合) <ParaStyle:本文>連載回数:第5回(連載の場合) <ParaStyle:本文>タイトル:章のタイトルや連載の各回タイトル <ParaStyle:本文>キャッチ:章のキャッチや記事の各回キャッチ <ParaStyle:大見出し>見出し1(大見出し、節) <ParaStyle:中見出し>見出し2(中見出し、項) <ParaStyle:小見出し>見出し3(小見出し、目) <ParaStyle:本文> 段落冒頭の字下げは、このように手動でお願いします。改行は、(改行)このように自動で取り除かれます。 <ParaStyle:本文> 通常の本文<CharStyle:太字>強調(ボールド)<CharStyle:>通常の本文<CharStyle:イタリック(変形斜体)>斜体(イタリック)<CharStyle:>通常の本文<CharStyle:コマンド>インラインのコー ド<CharStyle:>通常の本文<cstyle:上付き><fnStart:><pstyle:注釈>注釈ですよ。<fnEnd:><cstyle:>通常の本文<cFont:Key Mother><00A9><cFont:>(←キーボードフォント)<CharStyle:赤字>赤文字<CharStyle:>通 常の本文<cr:1><crstr:ほかむら><cmojir:0>外村<cr:><crstr:><cmojir:>(←ルビ)。
- よし、あとは任せた[誰]
- お疲れ様でした
- 解散!!!