ウェブサイトの誕生

個人サイトを作りたいと思い立ち、誕生したこのサイト

Jan 1, 2022
自分のウェブサイトを作りたかった。少し昔話をすると、今から15年ほど前の中学生の頃にJUGEMココログなどのブログ作成サービスでブログを作っていた。その後は家にIBM ThinkPad X40がやってきたので、寝るのを忘れてテキストエディタでHTMLを書き、レンタルサーバーを借りて阿部寛のホームページみたいなのを作ったこともある。この時に視力がガタ落ちし、両眼共2.0 → 0.1以下に下がった。その後はスノーボードなどのアクティビティに熱中した。当然作ったブログやウェブサイトはインターネットの海の藻屑と消え、自身の興味も薄れてしまっていた。
 
そして2022年。正月にかこつけて餅を貪り肥えていく自堕落な生活を送っていると、突然、デジタル消費の過剰摂取を解消したいという衝動に駆られた。手に持っていた餅を食べきり、PCに向かった私はもう一度インターネットの海に潜ることにした。
notion image

作成までの道のり

結論から言うと、Notion + OSSに辿りついた。NotionをヘッドレスCMSとして利用し、フロントエンド側でNotion APIと繋ぎ込んでブログ化するといったもの。フロントエンド側は無料で利用できるホスティングサービスで、Vercelを使ってみることにした。
なお、下調べの段階では、レンタルサーバー + WordPressをはじめに検討した。ホスティングサービスに従事している身としても、レンタルサーバーとWordPressの組み合わせは馴染み深いのだが、下記の理由により見送った。
  • 自由度が高いがゆえ、テンプレート、フレームワーク選びに難儀した
  • 記事を書くまで幾つかのステップを踏む必要があり、怠惰な自分としては気軽さに欠ける
私はウェブサイト作成に多くの時間を費やし立ち往生するより、早くこの初期衝動をぶつけたかった。
notion image

そして公開

独自ドメイン(shinkai.me)をGoDaddyで取得し(後で自社サービスに移管する予定)、Notionを使ったヘッドレスCMSブログを運用する環境を整えた。デザインに関しては、ほぼOSSのソースコードのままなので不恰好な部分もあるが、それは追々アップデートしていく。とにかく仕事でもガシガシ使っているNotionでブログを書けるのは最高であった。

さいごに

勢いのまま書いたらクセの強い文体になってしまいました。継続は得意な方ではないけど、十数年ぶりの自分のウェブサイトなのでしっかり更新していきたい。
月に1本は書くぞ〜。

参考にした先人たちの知恵

Notion API を使って Notion を CMS 化する
僕が Notion API に期待することのメインは、 の2点です。 前回の記事で、なんとなく API の使いかたの基本はわかりました。 この記事では、一歩進んで、上記したやりたいことの1つである 「CMS バックエンド」 の可能性を探っていきたいと思います。 ちなみに先に言っておきますが、現時点の Notion API で CMS 化にはかなり難があります。 Notion でブログポストのようなページをいくつか作る そのページのリストや内容を API で取得する Next.js を使ってなんだか形にする 事前に Notion 上に、実際のサイト上のページのソースとなるページ構成を作っておきます。 ブログサイト全体を構成するページ (親ページ) を作り、そのページに含まれるデータベースに、子ページとして個別投稿のページを作る構成とします。 もちろん、親ページとなる「ブログサイト用ページ」は、API でアクセスできるように integration にシェアしておく必要があります。 親ページには以下の情報を持つこととします。 個別投稿の子ページには以下の情報を持つこととします。 API を実行して Notion 記事を取得し、そして表示するためのフロントエンドサイトの土台を、Next.js で作ります。 npx create-next-app --example with-typescript korn-blog Notion SDK もインストールしておきます。 これで、サイトのフロントエンドの土台と、SDK の準備ができたので、まずは一旦、単純に SDK からリクエストを送って、親ページのデータを取得してみます (ID はダミーです) 。 こんなデータが取れました。 んん〜?なんか期待とちがくねーかこれは...
Notion API を使って Notion を CMS 化する
Notion API を使ってブログを作る方法を解説します|Yuji Tsuburaya / Notion アンバサダー|note
みなさんこんにちは。Notion アンバサダーの 円谷 です。 Notion アンバサダーは日本に8名ほどいるのですが、がっつりエンジニアをしてるのはたぶん僕だけ(?)だと思うので、ディープなエンジニアリングの話も沢山していければなと思っている今日このごろです。 1ヶ月ほど前に、 Notion API が画像に対応 し、ページ内の画像の URL を返してくれるようになりました。これにより、Notion API の活用の幅がぐっと広がり、画像付きのブログの CMS(コンテンツマネジメントシステム)としても使えるようになりました(今まではテキスト周りしか対応していなかった) このアップデートされた API を使って、自作ブログを Notion API を使う形に実装し直したので、今日はその解説をがっつりしていきたいと思います。 🌴 エンジニアリングの話は避けられないのでちょこちょこ出てくるのですが、なるべく非エンジニアの方でも分かりやすく書こうと思っているのと、ソースコードは公開してあるので、僕のブログと同じ見た目のもので良ければ、実装なしでもブログとして公開することができるようになるかと思います。(記事の最後に GitHub のリンクを貼っておきます) 実際に作ったブログの紹介、アーキテクチャの説明、ブログを作る上で使用する Notion API エンドポイントの解説、記事取得上限数の実装による回避方法、画像周りの処理方法(expire date の回避方法)、あたりをこの記事では紹介できればなと思います。 見た目はこんな感じです。Notion に書いた内容が、そのままブログとして公開されるような仕組みを実装することができました。記事の部分は全て Notion で管理されています。 トップページ otion に書いた情報(文章・箇条書き・見出し・画像・トグル等)がほぼそのまま描画されるような作りになっています。 記事詳細ページ データの入稿は Notion で行います。データベースにレコードを追加し、本文部分に記事を書くと、ブログページの方にも反映される仕組みになっています。後ほど詳しく解説しますが、記事の本文部分についてはほぼ即時反映されるようにしています。 Notion データベース Notion 記事本文(ここが公開される) 左が Notion で書いたもの、右がブログとして公開されている記事 💁‍♀️ (少しマニアックな)Notion の使い方まとめマガジン というマガジンを連載しています。月額500円でご登録いただくと、本記事の続きと、他の有料記事を全て読むことができます(過去記事は PDF 版を配布しているのでお声がけください。 月に2本以上記事をお読みいただける場合にはマガジン登録をして頂いた方がお得 です。ぜひご検討ください。 🐈🐈🐈
Notion API を使ってブログを作る方法を解説します|Yuji Tsuburaya / Notion アンバサダー|note