ラベル Markdown の投稿を表示しています。 すべての投稿を表示
ラベル Markdown の投稿を表示しています。 すべての投稿を表示

2015-11-23

Java8のjrunscriptでshowdown.js 1.3.0を使ってみる

過去に「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

2011-10-08

Java6のjrunscriptでshowdown.jsを使ってみる

MarkdownをJavaから使う方法を調べてみたら、showdown.jsをJava 6付属のRhinoで実行できるようなので、試してみた。

例えばC:\input.txtに以下のように書いておく。

Markdown *rocks*.

showdownのアーカイブをダウンロードして、コマンドプロンプト(Windowsの場合)でshowdown.jsのあるディレクトリに移動した後、以下の1行をコマンド入力する。

jrunscript -f showdown.js -e "print('\n'+new Showdown.converter().makeHtml(read('',true)));" < C:\input.txt

すると以下のHTMLが出力される。(1行目の>>はjrunscriptのプロンプト。2行目からがshowdown.jsの出力)

>>
<p>Markdown <em>rocks</em>.</p>

ちなみに、上記のやり方だと、入力するテキストの行数だけjrunscriptのプロンプトが1行目に出力されて何となく目に付く。標準入力(< C:\input.txt)ではなく普通に入力ファイル名と出力ファイル名を指定するやり方に変えれば解消するはず。

--
showdown.jsは、以下のGitHubからダウンロード可能:
coreyti-showdown - GitHub
https://github.com/coreyti/showdown

showdown.jsがサポートするMarkdown文法についての短く分かりやすい説明:
Showdown - Markdown in Javascript
http://pamgau.net/showdown/

Javaでshowdown.jsを使う方法は、以下の記事を参考にさせていただきました:
Markdown記法をJavaで扱いたい...Scripting for the Java と showdownを組み合わせる - Object Design
http://osima.jp/blog/showdown-on-java.html