初めてのmarkdownブログ作成
投稿日: 2025-06-14 12:00
前々から作ろうと思っていた個人ブログを作成しました(このブログ)
ruby + sinatra + redcarpet で作りました。
記事はmarkdownで作成し、ファイル名は(blogのid).mdとします。
/blog/:idにリクエストが来たら、そのidのmarkdownを読み込んでHTMLに変換しerbでテンプレートに埋め込み、表示します。
今回利用したredcarpetはruby製のmarkdownパーサー(中身はCっぽい)で、 オプションを指定することで、コードブロックやテーブルに対応させることができ、とても簡単に変換できます。
markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML.new, autolink: true, tables: true, fenced_code_blocks: true, highlight: true)
html = markdown.render(md)
puts html
ちなみにホームに表示される記事一覧もmarkdownで作成しているため、必要なerbのテンプレートは一つで済みました。
markdownに含まれる最初の見出し(#が含まれる行)をタイトルとしています。