これまでの方式
これまでは、ObsidianでMarkdownファイルを編集してブログ記事を書いていました。書いた記事は記事用のリポジトリにpushされ、ブログ本体にプルリクエストが作成されます。
そこでNetlifyがデモページを作り、問題がなければマージして本番サイトに反映する、という流れです。
ブログ更新が止まっていた理由は、AstroブログのテンプレートをFuwariからMizukiへ移行しようとして諦めたことが影響しています。
Fuwariのメンテが止まってるんですよね…
Mizukiはリッチで、できることも多いので移行しようとしていたのですが、サイトが重い印象があったため、取りやめました。
その際にブログのリポジトリが大きく乱れ、復旧に時間がかかっていました。
加えて最近Obsidianを卒業したことも影響して、前回の更新まで7か月空きました。スマホでObsidianを編集しづらかったこと(特にiPhone)と、元々ブログ編集にObsidianがあまり向いていなかったことが原因だと思います。
ただ、Obsidian以外でMDを編集することには慣れていませんでした。
この時期は単純に、書こうにも出す先がなかったわけです。直すのもやる気が出ませんでした…
そういうこともあり、ブログを更新するならブログ記事を書く環境を改善したいというモチベーションがありました。
NotionをヘッドレスCMSに
そこで、スマホからでも編集しやすく、APIも提供されているNotionをヘッドレスCMSとして使おうと思いました。 実は、そういった方式はすでにあるようです。こういうのとかですね。 https://qiita.com/yoshihiko_k/items/1f6067f2be88aa0dc65b ブログ記事を管理するDBを作成し、APIでNotionのページを取得してMarkdownに変換するスクリプトをAIに作ってもらえば、ひとまず形になります。
flowchart TD
subgraph OLD ["これまでの入口(廃止)"]
A1["Obsidian で執筆"] --> A2["AIに添削"]
end
subgraph NEW ["新しい入口"]
B1["Notion に思いつきを投函"] --> B2["Notion のDBで執筆"]
B2 --> B3["AI に添削"]
B3 --> B4["変換スクリプトで .md 化"]
end
subgraph SAME ["ここから先は前と同じ"]
C1["記事リポジトリへ push"] --> C2["ブログ本体に PR"]
C2 --> C3["Netlify でデモページ"]
C3 --> C4["マージして本番へ"]
end
A2 -.-> C1
B4 --> C1図にしてみて気づいたのですが、変わったのは入口だけですね。pushしたあとの配管は、以前とまったく同じものがそのまま動いています。 変換スクリプトでは、Notionのオプションを記事マークダウンファイルのfrontmatterに変換しています。 これでNotion上ではブログ記事を一覧で見やすくなり、MDファイルにも変換しやすくなりました。 実利と運用性を兼ね備えられたと思います。
便利な点
これにより、思いついた時にすぐに記事を書けるようになりましたし、スマホからも編集しやすくなりました。
さらに、Notionにはカンバンボードもあるので、次にどの記事を書きたいかを管理することもできます。個人的にはこれがうれしいです。
添削の際に、誤字脱字は直接すぐに直してもらい、変更点をノートにコメントで残してもらうようにしているのも便利です。
ちなみにこの記事も、さっそくその新しいフローで書いています。
ついでに
このあいだドメインを取得したので、そちらにページを移行する予定です。 Cloudflare Pagesの無料プランはビルドを「回数」で数えるので、月500回です。 1回あたり20分でタイムアウトしますが、1回のビルドが長くなっても時間の合計を気にしなくてよくなります。 コンテンツキャッシュも効くので、ページが速く開くようになると期待しています。 一度は諦めたMizukiについても、今はAIがあるので、良さを取り入れた自分だけのサイトに改変していくのが楽しみです。 今後はブログ記事をきちんと書いていきたいですね。(毎回言っていますが…今回は頑張ります!)