サイトを書き直しました ## 目次 1.
[これは何?](#loc-1)
1. [なぜ Rust + Leptos + Typst なのか](#loc-3) 2. [隠し機能](#loc-4) 2.
[マークアップテスト](#loc-5)
1.
[Numbered List](#loc-6)
1. [Lorem Ipsum](#loc-7) 2. [Callouts](#loc-9) ## これは何? 友人に Next.js のアンチがいたのと、高速化にハマっていたので、ブログを Rust + Leptos + Typst で書き直しました。 Typst はドキュメント作成ツールですが、HTML 出力もできるので、ブログ記事の本文を Typst で書いて HTML に変換し、Leptos 側で組み合わせて表示する形にしました[1](#loc-10)。 Lighthouse スコア満点を目指します ### なぜ Rust + Leptos + Typst なのか Rust は好きだからです。高速で安全で、最近はウェブ開発のエコシステムも充実してきました。Leptos はコンポーネントベースのフレームワークで、React に似た感覚で書けるので選びました。Typst は友人が妙に推していたので選びました。 ### 隠し機能 `/blog/[slug].typ` の記事ページにアクセスすると、記事本文の生 Typst ファイルを得ることができます。また、`/blog/[slug].md` にアクセスすると pandoc で変換された Markdown 版の記事も得られます。 ## マークアップテスト 以下はテスト用です This is a sample `.typ` source file. This is line break test. - Bullet one - Bullet two - Bullet three ### Numbered List 1. Numbered first 2. Numbered five? 3. Numbered six! --- And a **bold** and *italic* markers (left as ~~plain~~ text for now2citation needed). #### Lorem Ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do.
Make it a Quote Image
テスト画像
```js const greet = () => { console.log("Hello, world!"); }; greet(); ``` [リンクのテスト](https://www.youtube.com/watch?v=dQw4w9WgXcQ) | | | | |------|------|------------| | 名前 | 年齢 | 職業 | | 山田 | 28 | エンジニア | | 佐藤 | 34 | デザイナー | \[画像\] ここに数式のテストがあります: \[画像\].
人生は一箱のマッチに似ている。 重んずるのは馬鹿馬鹿しく、軽んずるのは危険である。 *— 芥川龍之介*
これは本文です[2](#loc-11)。 ### Callouts
\[画像\]
情報メッセージです。 aaaaaaaaaa
\[画像\]
注意メッセージです。 aaaaaaaaaaa
> これ > 作者不明のブラウザ拡張機能は入れない方がいい > > フル権限を許可した場合、フォームに入力されたパスワード / クレカ番号までこっそり外部に送信される可能性がある [](https://t.co/f8ogXxNmOw) > > — catnose (@catnose99) [2025年12月5日](https://twitter.com/catnose99/status/1996798476789874895?ref_src=twsrc%5Etfw)
1. [1](#loc-2)2025/11/27 時点ではまだ Unstable ではあるのであまり推奨されない 2. [2](#loc-8)ここに脚注を書く