ブログの技術的背景

概要

本ブログ「Blogress」を構築するにあたり採用した技術構成、および実装における工夫の記録。

1. 構成

  • SSG: Astro
  • CMS: microCMS
  • Infra: Cloudflare Pages

2. 実装の工夫

動的INDEX(目次)の自動付与

cheerio を用いて取得したHTMLを解析。h2, h3 タグを抽出してIDを動的に付与し、ページ上部に自動でINDEX(目次)を展開する。

フローとストックの統合:MomentsのSNS化

短文のつぶやき(Moments)と長文の記事(Blog)を統合。特にMomentsにおいては、公式アプリを介さず「iOSショートカット × microCMS API」の連携により、iPhoneのホーム画面から直接投稿する仕組みを構築。

Base64による画像アップロードの突破

microCMSの標準的な「画像フィールド」を介さず、iPhoneから送信されたバイナリデータをBase64形式で「テキストエリア」へ保存。フロントエンド側でURL形式とBase64形式を自動判別(startsWith('http'))して表示するハイブリッド・レンダリングを実装し、爆速投稿と画像表示を両立。

関連記事のフィルタリング

各記事のカテゴリ情報をキーに、microCMSのAPIクエリで同一カテゴリかつIDが異なる記事を抽出。