HikiDocで1行でも段落とする
HikiDocでは、改行だけの行か、他の要素(ヘッダーやリスト等)が見つかるところまでを段落としています。例えば、"ふー\nばー\nほげ\n"だと1段落になります。
今回、これを3段落にしたい、つまり改行があったらそこまでを段落としたい、ということになり、HikiDocのソースを読んでみた結果、以下の変更を加えることでできました。
--- lib/hikidoc.rb (リビジョン 82) +++ lib/hikidoc.rb (作業コピー) @@ -352,8 +352,12 @@ INDENTED_PRE_RE, BLOCK_PRE_OPEN_RE) def compile_paragraph(f) - lines = f.break(PARAGRAPH_END_RE)\ - .reject {|line| COMMENT_RE =~ line } + if @options[:one_line_paragraph] + lines = [f.gets] + else + lines = f.break(PARAGRAPH_END_RE)\ + .reject {|line| COMMENT_RE =~ line } + end if lines.size == 1 and /\A\0(\d+)\0\z/ =~ strip(lines[0]) @output.block_plugin plugin_block($1.to_i) else
オプションに、{:one_line_paragraph => true}を指定すると、1行を段落としてくれます。
HikiDocのコードはとても読みやすい。