最終確認日
FreshでObsidian Publishライクなブログを目指す
現状
- ブログをWordPressからFreshに移行しました【WIP】
- Fresh+Obsidianへの移行後のブログの不満点
変えること
ディレクトリをフラットにする
サブモジュールから取得するという点もできれば変えたい
画像をDBに保存する?
- GPT的には別にやらなくていいらしい
記事をDBに保存する?
- これもGPT的にはやらなくていいっぽい
プレビューが表示されないので確認してから投稿されて欲しい
ブログが重い
- 画像が重いだけで、コレまでの方法でも悪くはなさそう?
- 画像だけはSupabase Storageに移行するのが良さそう。
- あとWEBPならまだマシそう。
DB に画像を保存すると、クエリ速度が落ちる
- 画像はバイナリデータ(BLOB)であり、DB に保存すると検索パフォーマンスが悪化する
- 画像はCDN で配信 するのが一般的
Markdownはテキストデータのため、DB に適している
- メタデータ(タイトル・タグ)と一緒に管理しやすい
- フルテキスト検索に対応しやすい
- でもwiki的にリンクをつけるので別にテキスト検索はしないか?
方針
- 画像をSupabase Storage移行する。
- 料金をみる
- コンテンツをSupabaseに置く
- コレは必須ではない
- 検索性が高くなるのでできれば採用したい
- 料金次第
- 記事のプレビュー機能を作る
- ローカルでプレビューを行う or プレビュー用テーブルを作る
- GitHub Actions + Preview ブランチにデプロイする
- 既存のslugはなるべくそのままで
- private が true の時はリンクをさせず、private false のコンテンツはリンクにする
- 書く時には気にせず全てをウィキリンクにしておくことができる。
- 外部リンクと内部リンクでリンクの色を変えたい
やること
- GitHub Actionsを使ってSupabaseにObsidianの記事をアップロードする
- GitHub Acitonsを使ってSupabase Storage に画像をアップロードする
- FreshでSupabase上の記事を取得する
- FreshでSupabase上の画像を取得する
- FreshでObsidianのウィキリンクをパースする
全てを作り替えねばならぬ
一旦デザインと構成を練り直す。
011_BlogImagesと002_Imagesを分けていたけど002_Imagesに統一する。- Obsidianで画像の配置場所をフォルダごとに決める機能はないので(一応どうにかする方法はあるだろうけど。)
- 移動DONE
- スクリプト側も変えた。
010_Blogの中にディレクトリを作っちゃう?- 基本は全部フラットにしたいが、
aboutやcontactといったページは分けたい。 page,posts,worksにいれた。categoryテーブルを作ってarticlesに紐づけた。
- 基本は全部フラットにしたいが、
Notesディレクトリも対象にした。Notesには基本postsからの内部リンクで飛ぶことができる。- 一覧はつくらない
- 一旦コードの整理を行う。
- 全ての一覧記事ページは削除
- searchだけは残す
- カテゴリとタグという概念を削除
- 日報も一旦廃止
- 全てのslugページファイルを用意する
imagesは一箇所でいい。()をつけたレイアウトわけをするかどうかroutes/[category]/[slug].tsxにする- カテゴリという概念を消したとはいったけど実はある
- コレまでとは少し意味合いが変わる
- 新しい構成
- トップページ
routes/index.tsx - リダイレクト用
routes/[slug].tsx - ~~検索結果
routes/search/index.tsx~~- 検索結果はサイドバーでのみ表示する
- 画像
routes/images/[...path].tsx仮置き - 単一ページ
routes/[category]/[slug].tsx- これはリダイレクト用にはいることがあったので修正
routes/posts/[slug].tsx既存の記事routes/notes/[slug].tsxObsidian のNotes/のメモroutes/works/[slug].tsx作ったものroutes/map/[slug].tsxマップ用
- deprecated ページ
routes/(deprecated)/アプリのプラポリとか
- トップページ
- 全ての一覧記事ページは削除
- 全てのtypesを定義する
PostCategory- ~~この2つだけで十分かも。 ~~
PostIndexを追加 (サイドバーなどでのindex表示用)
- Supabaseから記事の取得は
utilsに定義postpostIndexcategory
- 画像処理は
apiに定義 - コンポーネントの枠組みを作る
- Freshで全ページ共通のサイドバーを作る
公開日
更新日