React をかじった後で svelte
を見てみるとわかりみがある。
やってみる。
tutorial
Part1 Basic Svelte
にさらっと目を通す。
vite
の svelete
初期化。
markdown の posts を収集して表示する方法が解らぬ。
adapter-static
が関係しそうだという感じがする。
Part3 Basic Svelte Kit
も見る。
こっちの先に読んだほうがいいかも。重要。
まさに blog の例も書いてあった。
nvim
- language-server
- tree-sitter
入れた。
作業
原型
5つ作った。
普通に async load
関数で動くようなので中身作れば動きそう。
src/lib/getPosts.ts
: dummy のロジック
src/routes/posts/page.svelte
: 投稿一覧
local directory から getPosts する実装
素直に書いたら動いた。
で、slug
が 20XX/hoge
とか 20XX/01/hoge
とかが混在しているのに対処。
【SvelteKit 入門】ルーティング - Qiita
本記事で扱うファイル+page.svelte +server.jsシリーズまとめ(随時追加・更新)慣れている方は読むだけで大丈夫かと思います。手を動かしながら検証したい方は、空プロジェクトを…
https://qiita.com/jwnr/items/8932978ca2f50f102e3d#ex-カスタム404
[...slug]
という記法があるらしい。
markdown の rendering
src/lib/getPosts.ts
svelte-exmarkdown
svelte-exmarkdown. Svelte component to render markdown.
https://ssssota.github.io/svelte-exmarkdown/
Gfm と rehype-highlight はドキュメント通りでさくっとできた。
SSG build
Static site generation • Docs • SvelteKit
https://kit.svelte.dev/docs/adapter-static
markdown からの内部リンクと画像リンクにエラーが出るが、 後回しにして握りつぶした。
Downloading assets at build time causes errors · sveltejs kit · Discussion #9723
Describe the bug I want to download posters in .jpg format and transform them to .webp at build time. The new .webp files should be stored under static/posters and shown using <img src="poster/foo....
https://github.com/sveltejs/kit/discussions/9723
という記法を解決する必要がある。
tailwind
Install Tailwind CSS with SvelteKit - Tailwind CSS
Setting up Tailwind CSS in a SvelteKit project.
https://tailwindcss.com/docs/guides/sveltekit
react-daisyui に頼っていたので、素の tailwind が良くわかっていないことが判明。