(挨拶)どうも、ふも(@fumokmm)です。はじめにさて、今回から具体的な変換処理の実装に入っていくわけですが、いざ実際にコードを書いていこうとすると色々と下準備が必要になってきそうです。やっていきたいと思います。さしあたって、今回から数回に分けて、Header(見出し)の実装に取り掛かりましょう。見出しMarkdownはSetextとatxという、二つの形式をサポートしています。Markdown文法の全訳ということで、見出しの実装でも二種類あるようですね、今回はひとまず簡単な方のatxという方を実装して行きたいと思います。Atx形式Atx形式は見出しの行頭に1つから6つまでの#(ハッシュ記号)を用いる方法です。#(ハッシュ記号)の数が見出しレベルと一致します。H6Markdown独自の機能として、atx形式を「閉じる」ことができます。この表現が好みであれば使うことができますが、単純に見栄えの問題です。行末の#(ハッシュ記号)の数は行頭と一致する必要もありません。並べられる(そしてそれらは変換結果としては無視される)という感じでしょうか。ロジックを考えてみる一行ずつ処理する前回までは、ファイルから読み取った内容を一気にHTMLのBODYタグに埋め込んでいましたが、今回実装しようとしているAtx形式のヘッダーは行単位で処理してゆくのが適していそうです。そこでまず、ファイルから一行一行取り出して処理するように変更したとして、その一行一行に対する処理を考えてみましょう。行の先頭をまず確認します。始まっているかどうか?を確認する必要がありますね。#の数は1〜6の範囲です。それ以上でも以下でもないです。所定の数で始まっているなら、次のステップへ移行します。#の数を数えておきます(1〜6のいずれかになるはずですね)。あとでHタグ数値部分として使うためです。取り除いた結果をトリムして、Hタグでくるんであげれば変換完了です。始まっていなかったりした場合はそのままその行は終了。*1という流れで良さそうですね。おわりにちょっと長くなりそうなので、実際のソースは次回に引き継ぎます。(挨拶)どうも、ふも(@fumokmm)で...2013-04-10GroovyでMarkdownパーサーを作ろうGroovyでMarkdownパーサーを作ってみよう。»プロフィールid:fumokmm新しいNPNLです。(2)はてなブログをはじめよう!fumokmmさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。