過去に「Java6のjrunscriptでshowdown.jsを使ってみる」で書いたことをJava8で試してみる。
まず、input.txt
に以下のように書いておく。
Markdown *rocks*.
showdown.js 1.3.0のzipをダウンロードして展開し、コマンドプロンプト(Windowsの場合)でshowdown.jsのあるディレクトリに移動した後、以下の1行を入力する。ちなみに、showdown.jsはconsole.logメソッドを使用するがNashornは提供していないので、最初の-eオプションで代わりのconsoleオブジェクトを作成する必要がある。
jrunscript -e "var console={log:function(s){print(s);}};" -f showdown.js -e "print('\n'+new showdown.Converter().makeHtml(read(new java.lang.StringBuilder(),true)));" < input.txt
すると以下のHTMLが出力される。1行目はread関数の第1引数で指定したプロンプト(空の行)、2行目からがshowdown.jsの出力。
(空の行) <p>Markdown <em>rocks</em>.</p>
ちなみに、上記においてread関数の第1引数にnew StringBuilder()を渡しているのは、read関数が入力ファイルの行数と同じ数だけプロンプトを出力するのを見せないための醜いやり方なので、read関数ではなく入力ファイルの内容をStringに変える短い関数を自作した方が良いと思う。
--
showdown.jsは、以下のGitHubからダウンロード可能:
showdownjs/showdown · GitHub
https://github.com/showdownjs/showdown
Javaでshowdown.jsを使う方法は、以下の記事を参考にさせていただきました:
Markdown記法をJavaで扱いたい...Scripting for the Java と showdownを組み合わせる - Object Design
http://osima.jp/blog/showdown-on-java.html
0 件のコメント:
コメントを投稿