YAML設定で運用するNext.js管理コンソール — 複数サイト・複数アクションの一元化
複数のWebサイトに対する複数のオペレーション(デプロイ・再インデックス・バックアップ等)を、YAML 1ファイルで定義し、非エンジニアの作業者がブラウザから実行できる管理コンソールの設計を整理しました。
複数のWebサイトに対する複数のオペレーション(デプロイ・再インデックス・バックアップ等)を、YAML 1ファイルで定義し、非エンジニアの作業者がブラウザから実行できる管理コンソールの設計を整理しました。
複数のデータベースサイトを運用する組織で、非エンジニアの作業者がデプロイ・データ更新を自分でトリガーできる管理コンソールを構築した記録です。GitHub App認証とCloudflare Access (Zero Trust) を組み合わせ、PATやOAuth Appとは何が違うのかを整理しました。
未公開 / 限定公開の歴史写真を、IIIF 規格に準拠した形でアクセス制御付きで配信するアーカイブシステムの構築記録。Cantaloupe(IIIF サーバ)+ S3 互換ストレージ + Elasticsearch(検索)+ Next.js(UI)+ Cloudflare Tunnel + Access という構成で、一般公開できない画像であっても IIIF の利点(規格準拠の高解像度ビューア / manifest 配信)を許可されたメンバー範囲内で享受できる仕組みを設計しました。外部システムからの相互運用には IIIF Auth API 2.0 への拡張が必要となる点も整理しています。
Nuxt 2 + @nuxtjs/pwa で運用していた SPA を別フレームワークへ移行した直後に、返ってくる HTML が古いまま固まる事象に遭遇しました。原因は旧 Service Worker の cache-first 戦略で、kill-switch SW を同じ URL に上書き配信して退役させた手順をまとめます。
Vercel Proプランで運用していた組織向けNext.jsアプリをCloudflare Pagesに移行し、Vercelを無料のHobbyプランにダウングレードした記録です。
Next.js製のAPIサーバーをAWS Amplify(+WAF)からCloudflare Pagesに移行し、月額約$23のコストを$0にした手順を記録します。
Next.js + React Three Fiber の 3D ビューアを @react-three/xr v6 で Meta Quest 対応にした記録。CameraRig が XR カメラを横取りする問題、useXRControllerLocomotion の callback vs ref 形式の落とし穴、Quest 実機デバッグの工夫など、ハマりポイントと解決策をまとめました。
ExcelJSのデータバリデーション機能を使い、別シートのデータをドロップダウンの選択肢として参照できるExcelテンプレートをNext.js APIルートで動的生成する方法を紹介します。

DTS Viewer で複数 Citation Tree の tree パラメータ対応、ナビゲーション結果の階層テーブル表示、mediaType パラメータによる XML ブラウザ表示を実装。

歴史資料をAIで検索できるRAGアプリを作った技術スタック

Annotoriousの描画モードがproduction buildでだけ壊れる

Next.js 15 で発生する `localStorage.getItem is not a function` エラーの原因と対処法

JavaScriptの演算子優先順位の罠 - Vercelビルドエラーの原因を探る

Sketchfab APIでGLBファイルをダウンロード・表示するWebアプリを作る

Next Auth (Auth.js v5) の本番環境で AUTH_URL が必須な理由

@elastic/react-search-ui を React 19 + Next.js 15.5 で使う方法

Next.js + next-auth で GakuNin RDM と OAuth2 連携する

Next.js + next-intl での言語切り替え実装ガイド

NDL古典籍OCR-lite Next.js版の開発

画像コレクション管理ツール 技術アーキテクチャ解説

IIIF 3D Viewerを試作しました。

Next.js 15対応 多言語・ダークモード対応SSGテンプレート

Next.js 15 で output: 'export' 使用時の sitemap.ts 実装方法

Next.js × Search UI × Fuse.js 検索アプリケーション

IIIF認証API 2.0の動作確認

「れきちず x Next.js」にルートの登録機能を追加しました。

ブロックチェーンとPinata IPFSを使用したデジタル文化財管理システムの試作

その2:NDL古典籍OCR-Liteを用いたアノテーション付きIIIFマニフェストファイルとTEI/XMLファイルの作成

DTS Viewerの更新:ページネーションへの対応

IIIFマニフェストファイルから画像URLの一覧を含むCSVファイルを作成する

TEI/XMLファイルをS3互換のオブジェクトストレージでホストする

Google Cloud Vision APIとGakuNin RDMを用いたTEI/XMLファイル作成アプリの試作

「れきちず x Next.js」サイトにルートの登録機能を追加しました。

れきちずをNext.jsで使用する

IIIF画像に対して、多角形のアノテーションを付与するツールを作成しました。

Next.js 15 App Router で Tailwind CSS V4 を使用してダークモードを追加する方法

Error: Do not use <img>. Use Image from 'next/image' instead.への対応

CETEIceanとXPathを使って特定の要素にスクロールする

Next.jsでUniversal Viewerのnpmパッケージを使用する

GakuNin RDMのAPIを用いて、連携したストレージのファイルを検索する

LEAF WriterとGakuNin RDMを用いたTEI/XMLファイルの編集環境の試作

Next.js + CETEIcean + React TEI Routerを使ったビューア開発

Next.js for Drupal の BASE_PATH 問題と修正方法(patch-package活用)

Next.jsで多言語対応の静的サイトを構築する

clover-iiifをNext.jsで使用する

Next 15(React 19 を使用)で、@react-three/fiberとdreiを使う

NextAuth.jsを使ってDrupalのOAuthを利用する

Azure OpenAI Assistants APIを用いたアプリをGradioとNext.jsで作成する

openai-assistants-quickstartの微修正

GakuNin RDMをNext.jsから使用する

NextAuth.jsを使って、ORCID・The Open Science Framework・ GakuNin RDMの認証を行う

Knight LabのTimelineJSやStoryMapJSをNext.jsから利用する

ZoteroのAPIをNext.jsから使う

LEAF WriterをNext.jsから使用する

Next.jsでアンダースコアから始まるURLセグメントを利用する

Next.jsを用いたTEI/XMLファイルの簡易ビューアを作成しました

Next.jsでジャパンサーチのウェブパーツを使う