自作SSGの紹介

自作SSGを作成中...

自作SSGとは

自作のPEGパーザToyPEGを使った標準ライブラリのみに依存した軽量SSGです。
この記事もToyPEGでパースしたマークダウンをHTMLに変換してレンダリングしています。

強調イタリック も使えます。[1]

普通の箇条書きも使えます。

  • foo
  • bar
  • baz

コードブロック

コードブロックも使えます。ただし、シンタックスハイライトはJSのライブラリです。

#[derive(Serialize)]
struct PostContext<'a> {
    title: &'a str,
    published_at: &'a str,
    tags: &'a str,
    content: String, // 変換後のHTML
    rel_path: &'a str,
}

impl PostEntry {
    // 自身の参照と、外部から与えられるHTML・相対パスを組み合わせて Context 用構造体を作る
    fn to_context<'a>(&'a self, html_content: String, rel_path: &'a str) -> PostContext<'a> {
        PostContext {
            title: &self.meta.title,
            published_at: &self.meta.published_at,
            tags: &self.meta.tags,
            content: html_content,
            rel_path,
        }
    }
}

画像

画像も貼れます。


  1. ここは脚注です。
Tags: #rust #blog