すべてのカテゴリ

CATEGORY

Tech

723件の記事

🔑codh-mirror に Firebase 認証と JSONkeeper 互換 API を後付けして IIIF Curation の編集ワークフローまで成立させる — 前回『動かない』と書いたところからの方針転換

暫定ミラー codh-mirror について、前回記事では『認証・保存バックエンドは結局動かない』としていたところを、後から方針転換して Firebase 認証と JSONkeeper 互換 API (Cloudflare Workers + D1 / PythonAnywhere の二系統) を実際に動かすまでの記録です。Authorized domains 設定、FirebaseUI 3.x の signInFlow リダイレクト落とし穴、authFirebase.js の差し替え、Curation Manager の外部リンク相対化、5 箇所の curationJsonExportUrl 書き換えなど、codh-mirror リポジトリ側で行った変更を 1 本にまとめます。

codhiiiffirebasefirebaseui

JSONkeeper を Cloudflare Workers + D1 で書き直した記録 — IIIF Curation Viewer の保存先を Hono + jose で 360 行に収める

IIIF Curation Viewer のキュレーション保存先である JSONkeeper を、もとの Flask 実装ではなく Cloudflare Workers + D1 で書き直した記録です。Hono + jose による Firebase ID トークンの検証 (Admin SDK 不要・サービスアカウント鍵不要)、D1 SQLite スキーマ設計、JSON-LD @id 書き換えのトップレベル+ネストノード対応、Activity Stream の最小実装、CORS と Viewer 互換ヘッダ、wrangler によるデプロイ runbook、そしてアップストリーム JSONkeeper との差分一覧までを 1 本にまとめています。

cloudflarecloudflare-workersd1hono

JSONkeeper を PythonAnywhere 無料プランに HTTP API だけでデプロイする — IIIF Curation 保存先を自前で立てる

IIIF Curation Viewer の保存先 (JSONkeeper, Flask) を PythonAnywhere 無料プラン (Beginner) に自前で立てる手順記録です。ブラウザ操作はトークン発行とコンソールアタッチの 2 回だけに抑え、残りすべてを HTTP API + curl で完結させます。Flask 1.0 / apscheduler 3.5 の現代 Python 非互換、Firebase Admin SDK のサービスアカウント鍵運用、CPU 100 秒/日制約、CORS、Viewer 側 (codh-mirror) の差し替えまで一通り。

pythonanywherejsonkeeperflaskfirebase

📜『清語老乞大』の縦書き版面を TEI/XML と XSLT で再現する — 満州文字・ハングル音注・割書諺解の符号化と可視化

朝鮮司譯院刊『清語老乞大』巻之一・第一葉表を題材に、TEI 標準要素のみで縦書き版面(満州文字+ハングル音注+諺解の割書)を符号化し、XSLT 1.0 で HTML + SVG として可視化したデモを構築しました。データと可視化を分離した設計の考え方、列の切り出し方、満州文字の描画方法、影印・XML・HTML を 3 列で並べる対比ビューを記録します。

teixsltxmlmanchu

📺無音のデモ動画に Claude Code で日本語字幕を一括付与する

字幕も音声もないツール操作デモ動画に、画面のフレームを Claude Code に確認させて日本語字幕(SRT)を作成し、YouTube Data API の captions.insert で一括アップロードする手順をまとめます。

youtubeyoutube-data-apipythonyt-dlp

💳Cloudflare Workers + better-auth + Stripe で個人技術ブログのメンバーシップ機能を実装した記録

Hugo から Next.js (Cloudflare Workers + OpenNext) へ移行した個人技術ブログに、Stripe ベースのメンバーシップ機能を載せた際の構成・実装手順・ハマりどころを記録します。Workers Free plan の CPU 制限との戦い、Stripe SDK の Workers 対応、SSG と動的ゲーティングの両立、本番化フォームの日本固有項目など、公式ドキュメントには断片的にしか書かれていない部分を中心に整理しました。

cloudflare-workersstripebetter-authnextjs

🛠vdiff.js のデフォルトモードとUI をサイト全体のスタイルに合わせる — 1 バイトパッチでデフォルトを差し替える

自サイトに暫定ミラーした vdiff.js を、サイト内の他ページのデザインに揃える形で外側からカスタマイズした記録です。デフォルト比較モードを「左右スライダー」に変える際、JS でラジオボタンをクリックする方法は vdiff の初期化タイミングと競合したため、最終的にミニファイ済みバンドルへの 1 バイトパッチに落ち着きました。あわせて、フッタを画面内に保ったまま画像をクリップするレイアウト、ja/en 切替、ダークモード対応の CSS の組み立て方をまとめます。

vdiffcodhjquery-uiui-customization

🪞CODH ツール群の暫定ミラー専用リポジトリを GitHub Pages で立てる — そあん(soan)の kuromoji 辞書欠落など

ROIS-DS 人文学オープンデータ共同利用センター (CODH) のホームページが長期メンテナンス中(2026年2月16日夕方よりサービス停止、再開時期未定)の間、各種ツール (vdiff.js / IIIF Curation Viewer / そあん / 等) を Wayback Machine 等から復元し、独立した GitHub Pages リポジトリ (codh-mirror) として公開する手順と、その過程で踏んだいくつかの落とし穴 (とくに『そあん』の kuromoji 辞書欠落) をまとめます。あくまで CODH のサービス再開までの暫定対応です。

codhiiifvdiffsoan

🪞Nuxt 2 generate で `static/` 配下の埋め込みアプリが 404 ページに上書きされる問題と、旧 Service Worker の退役

Nuxt 2 + target:'static' のサイトに、外部ツールのデモアプリ一式を `static/<ツール名>/index.html` として埋め込んだら、generate の crawler が 404 アプリシェルでそれを上書きする現象に遭遇しました。原因と回避策(generate.exclude)、そして同時に踏んだ旧 @nuxtjs/pwa 由来の Service Worker キャッシュ退役対応をまとめます。

nuxtnuxt2static-siteservice-worker

🪞CODH の vdiff.js を Wayback Machine から復元してデジタル源氏物語の「パタパタ顔比較」を一時復旧する

ROIS-DS 人文学オープンデータ共同利用センター (CODH) のホームページが長期メンテナンス中(2026年2月16日夕方よりサービス停止、再開時期未定)で、デジタル源氏物語の「パタパタ顔比較」(CODH の vdiff.js を呼び出していた)が動かなくなっていたため、Wayback Machine から vdiff.js の配布物を取り出して自サイト側に暫定ミラーを置いた手順をまとめます。あくまで CODH のサービス再開までの暫定対応です。

codhvdiffwayback-machinearchive

📜フォルダの画像群から TEI/XML を生成する macOS アプリの開発 — Apple Vision OCR から Developer ID 配布まで

macOS の Vision フレームワークで OCR をかけ、フォルダ内の複数画像から 1 つの TEI/XML を生成するデスクトップアプリ TEI Scanner を開発しました。SwiftUI 実装、xcodegen でのプロジェクト管理、App Store Connect API キーによる Notarization、GitHub Releases での .dmg 配布までを記録します。

macosswiftswiftuivision

IIIF 3D Viewer を Presentation API 4 に対応させる — 既存マニフェストの v4 変換器

IIIF 3D Viewer を IIIF 3D Technical Specification Group が公開している Presentation API 4 のドラフト形式 (Scene / PointSelector / WKTSelector / PerspectiveCamera) に揃えました。Presentation 3 + 独自 3DSelector / camPos 拡張で運用してきた既存マニフェストは、ランタイムで v4 に変換する converter を通すことで処理系全体を v4 のみに統一しています。差分の整理、変換ルール、実装の要点をまとめます。

iiif3dpresentation-apiweb-annotation

TEI/XMLの翻刻データから統計ページをCI/CDで自動更新する — 『校異源氏物語』テキストDBの事例

TEI/XMLで構造化された翻刻テキストから、巻ごとのページ数・行数・文字数・和歌数を集計する統計ページを生成し、GitHub Actionsで再ビルド・再公開まで自動化する仕組みを紹介します。

teixmldhgithub-actions

📥researchmap業績登録の選択肢整理と、個人ユーザー向けPlaywright実装

researchmapには公式の書き込みAPIとCSV/JSON/JSONLインポート機能が用意されていますが、個人ユーザーから見るとそれぞれ制約があります。本記事では選択肢を整理した上で、完全自動化とPDF添付に対応するPlaywrightスクリプトの実装を紹介します。

researchmapplaywrightpythonautomation

YAML設定で運用するNext.js管理コンソール — 複数サイト・複数アクションの一元化

複数のWebサイトに対する複数のオペレーション(デプロイ・再インデックス・バックアップ等)を、YAML 1ファイルで定義し、非エンジニアの作業者がブラウザから実行できる管理コンソールの設計を整理しました。

nextjscloudflaregithub-appyaml

GitHub App と Cloudflare Access で構築する組織向け管理コンソール

複数のデータベースサイトを運用する組織で、非エンジニアの作業者がデプロイ・データ更新を自分でトリガーできる管理コンソールを構築した記録です。GitHub App認証とCloudflare Access (Zero Trust) を組み合わせ、PATやOAuth Appとは何が違うのかを整理しました。

githubgithub-appcloudflarecloudflare-access

Drupal の Automatic Updates が動かない: `Unattended background updates` がデフォルトで無効になっている話

Drupal の Automatic Updates モジュールを入れていればセキュリティ更新が自動で当たると思い込んでいたら、cron 中の自動適用ポリシー Unattended background updates がデフォルトで無効になっていて何もしていませんでした。有効化して 10.6.3 から 10.6.7 への自動適用が動き出すまでと、その際に出る『公式サポート対象外』警告についての記録です。

drupalautomatic-updatessecuritycron
メンバー限定

ElevenLabs v2 と v3 の日本語朗読品質比較 — 自分の声を学習させた合成音声による A/B 検証

ElevenLabs の Voice Cloning と v3 モデルを使い、自分の声を学習させた合成音声で日本語の技術記事を朗読させる実験を行いました。同一原稿で v2 / v3 を比較した A/B サンプルと、運用上の観察を記録します。

elevenlabsvoice-cloningpodcastyoutube

Mirador (4.0.0) の Annotations タブに OCR が出ない — supplementing motivation の落とし穴

IIIF Presentation 3 で OCR テキストを `motivation: "supplementing"` のアノテーションとして配信したら、Annona など他の viewer では出るのに Mirador 4.0.0 (projectmirador.org/embed) の Annotations タブだけ空、という現象に遭遇しました。実際に配信されている Mirador bundle を読み解いた結果、`config.annotations.filteredMotivations` のリリース版デフォルトが `['oa:commenting', 'oa:tagging', 'sc:painting', 'commenting', 'tagging']` で `supplementing` を許可していないことが判明しました。`['commenting', 'supplementing']` の配列で両対応する方法と、関連する仕様・Cookbook recipe の正しい参照を整理します。

iiifmiradorannotationpresentation-api

アクセス制御付き IIIF デジタルアーカイブの構築 — Cloudflare Access で守る Cantaloupe + S3 + Elasticsearch + Next.js

未公開 / 限定公開の歴史写真を、IIIF 規格に準拠した形でアクセス制御付きで配信するアーカイブシステムの構築記録。Cantaloupe(IIIF サーバ)+ S3 互換ストレージ + Elasticsearch(検索)+ Next.js(UI)+ Cloudflare Tunnel + Access という構成で、一般公開できない画像であっても IIIF の利点(規格準拠の高解像度ビューア / manifest 配信)を許可されたメンバー範囲内で享受できる仕組みを設計しました。外部システムからの相互運用には IIIF Auth API 2.0 への拡張が必要となる点も整理しています。

iiifcantaloupeelasticsearchnextjs

📅調整さんの出欠回答を Playwright で自動入力し、Claude Code 経由の Google Calendar MCP で判定する構成

調整さん(chouseisan.com)の出欠回答を Playwright で自動入力し、◯/△/× の判定は Google カレンダーと照合して Claude Code(claude.ai Google Calendar MCP 経由)に任せる構成を作成した記録です。fetch / fill / submit の3段階に分け、判定ルールは CLAUDE.md に記述する形にしました。

playwrightclaude-codemcpgoogle-calendar

NDL古典籍OCR-LiteとCloud Vision APIの出力差 — 酉蓮社所蔵嘉興版大蔵経『大般若経』105画像での観測

酉蓮社(旧増上寺報恩蔵)所蔵の嘉興版大蔵経のうち『大般若波羅蜜多經』巻571〜575(IIIF経由で取得した105画像)に対して、国立国会図書館のNDL古典籍OCR-Liteと Cloud Vision API DOCUMENT_TEXT_DETECTION を並べて適用し、それぞれの出力に現れた誤りの傾向を観測した記録です。NDLは仮名混入の誤検出が12頁、VisionはカラースケールやIIIF添付要素(蔵書ラベル等)の混入が105頁全てで発生しました。

ocrndl-koten-ocrgoogle-vision-apiiiif

🖼️Cantaloupe IIIFサーバから serverless-iiif への移行記録

EC2上でDocker稼働させていたCantaloupeを、AWS Lambda + CloudFrontベースの serverless-iiif(Samvera)に移行した際の調査と作業の記録です。

iiifawslambdacloudfront

💀フレームワーク移行後も退役してくれない旧 Service Worker を kill-switch SW で撤去する

Nuxt 2 + @nuxtjs/pwa で運用していた SPA を別フレームワークへ移行した直後に、返ってくる HTML が古いまま固まる事象に遭遇しました。原因は旧 Service Worker の cache-first 戦略で、kill-switch SW を同じ URL に上書き配信して退役させた手順をまとめます。

serviceworkerpwanuxtnextjs

外部組織管理のサブドメインを Cloudflare Workers に向ける — AWS CloudFront + WAF を前段に挟んだ記録

自分の管理外(外部組織)の DNS にあるサブドメインを Cloudflare Workers のカスタムドメインに割り当てたかったものの、Cloudflare Free プランは外部サブドメインを zone として受け入れない制約に行き当たり、最終的に AWS CloudFront + WAF を前段に挟む構成で解決した記録です。

cloudflareworkerscloudfrontaws

ボットスクレイピングをAWS WAFで止めた記録 — Geo block・JA3 fingerprint・UA blockまで段階的に

運営する文化アーカイブ系サイトに対するボットスクレイピングを、AWS WAFのGeo block・IPset・JA3 fingerprint・UA blockを段階的に組み合わせて遮断した記録です。

awswafcloudfrontsecurity

既存リバースプロキシのオリジンに CloudFront + WAF を後付けする実践パターン

Docker + Traefik で運用中の複数サービスを、無停止で CloudFront + WAF の保護下に移行した実装記録。オリジン分離用サブドメインの命名、共有 SG の落とし穴、WAF を COUNT モードから始める判断、SPARQL/API のキャッシュ設計など、よく出る論点を一通り整理しました。

awscloudfrontwafterraform

研究者番号からCiNii Articlesのリンクを生成する方法 — NII研究者IDの仕組み

科研費の研究者番号(8桁)の先頭に1000を付けるだけで、CiNii ArticlesのURLが生成できます。大学の教員情報システムへの入力にも応用できます。

ciniikakennii研究者情報

🤖mdx.jp上のvLLMをCloudflare Tunnel経由でOpenAI互換APIとして公開する

mdx.jp 上で動かした vLLM を Cloudflare Tunnel 経由で外部公開し、OpenAI 互換 API として利用できるようにした手順と注意点

cloudflaretunnelzero-trustvllm

🚀mdx.jpのA100 x2でLLM-jp-4 32B ThinkingをvLLMサーブし、OpenAI互換APIから使う

mdx.jp の A100 40GB x2 サーバで LLM-jp-4-32b-a3b-thinking 公式版を動かし、Transformers の OOM から vLLM サーブへ切り替えた記録

aillmgpuvllm

🧪MacBook Pro M4 Max 128GBでLLM-jp-4をローカル実行し、OllamaのOpenAI互換APIから使う

MacBook Pro M4 Max 128GBでLLM-jp-4 8Bをローカル実行し、OllamaのOpenAI互換APIから利用した際の構成と実測をまとめる

aillmmacollama

Cloudflare Zero TrustでSSHを保護する

Cloudflare Zero TrustのAccess機能を使い、SSHポートを閉じたままサーバに安全に接続する方法

cloudflarezero-trustsshsecurity

S3互換ストレージでアップロードが失敗するときの対処法

AWS CLI v2でS3互換ストレージにアップロードするとx-amz-content-sha256エラーが出る問題の原因と対処法

awss3mdx

Cloudflare Tunnelで学術サーバを安全に公開する

Cloudflare Tunnelを使って、インバウンドポートを一切開けずにElasticsearchやCantaloupe(IIIF)を安全に公開する方法

cloudflaretunneldockerelasticsearch

ネームサーバの仕組み

ネームサーバとDNSの違い、ドメインの所有とネームサーバの関係、NS委任やレジストラ・レジストリの役割について解説

dnsnameservercloudflare

Elasticsearch → Static JSON / D1 移行検証 — 小規模データなら全文検索エンジンは不要だった

約1,800件の日本語テキストデータに対して、Elasticsearch・Cloudflare D1・Static JSONの3方式で検索性能を比較しました。

cloudflareelasticsearchd1sqlite

Vercel ProをHobbyに下げるためにNext.jsアプリをCloudflare Pagesに移行した

Vercel Proプランで運用していた組織向けNext.jsアプリをCloudflare Pagesに移行し、Vercelを無料のHobbyプランにダウングレードした記録です。

vercelcloudflarenextjsmigration

AWS AmplifyからCloudflare Pagesへの移行 — Next.js APIサーバーの月額$23→$0化

Next.js製のAPIサーバーをAWS Amplify(+WAF)からCloudflare Pagesに移行し、月額約$23のコストを$0にした手順を記録します。

cloudflareawsamplifynextjs

rcloneを使ってGoogle Drive共有ドライブの容量を調査・整理する

rclone CLIを使って、Google Drive共有ドライブのフォルダごとの容量を階層的に調査し、不要ファイルを特定・削除する方法を紹介します。

google-driverclonecli

🚶Avaturn アバターに Mixamo 歩行アニメーションをリターゲット:Blender CLI から Three.js ランタイムまで

写真から作った Avaturn アバター(GLB)に Mixamo の歩行アニメーションを適用する方法を3段階で解説。Blender 5.0 CLI での変換、Node.js での比較検証、Three.js ランタイムでのブラウザ完結型リターゲットまで、試行錯誤の記録。

threejsjavascriptblendermixamo

🗂️Cantaloupe IIIF画像サーバーのパフォーマンスチューニング

AWS EC2上のCantaloupe IIIF画像サーバーで初回タイル取得に8秒かかっていた問題を、ピラミッドタイルTIFF変換・JVMヒープ増加・CloudFront導入によって0.84秒に改善した記録。

iiifcantaloupeawscloudfront

🥽Next.js + React Three Fiber で Meta Quest 対応 VR ビューアを作る:@react-three/xr v6 実装記

Next.js + React Three Fiber の 3D ビューアを @react-three/xr v6 で Meta Quest 対応にした記録。CameraRig が XR カメラを横取りする問題、useXRControllerLocomotion の callback vs ref 形式の落とし穴、Quest 実機デバッグの工夫など、ハマりポイントと解決策をまとめました。

webxrreact-three-fibernextjsthreejs

📊Next.js APIルートでExcelJSを使い、別シート参照ドロップダウン付きテンプレートを動的生成する

ExcelJSのデータバリデーション機能を使い、別シートのデータをドロップダウンの選択肢として参照できるExcelテンプレートをNext.js APIルートで動的生成する方法を紹介します。

nextjsexceljsexceltypescript

🗄️Dockerで運用するOmeka Sのバックアップ手順

Docker環境のOmeka Sをバックアップする際に必要な、ボリューム・データベース・カスタムアセットの取得手順をまとめます。

omekaomekasdocker

🏯IIIF VR ビューア:WebXR + A-Frame で文化資源を原寸大で体験する

IIIF 対応画像を江戸町家の VR 空間に原寸大で配置し、ブラウザや VR ヘッドセットで閲覧できる WebXR ビューアの開発記録。A-Frame + THREE.js による三人称カメラ、VRM アバター、タイル LOD など、WebXR 開発で遭遇した問題と解決策をまとめました。

webxraframethreejsjavascript

📖NDLOCR-LiteをPythonスクリプトからライブラリとして呼び出す方法

国立国会図書館が公開する日本語OCR「NDLOCR-Lite」をCLIではなくPythonスクリプトからimportして呼び出す方法と、その際のハマりどころをまとめます。

ndlocrocrpythonjapanese-ocr

🤗YOLOv5モデルをHugging Face Hub & Spacesにデプロイする手順

YOLOv5の学習済みモデル(best.pt)をHugging Face HubにアップロードしてModel Cardを設定し、Gradio製のデモをSpacesにデプロイするまでの手順と、発生したトラブルの解決策をまとめます。

yolov5huggingfacegradiopytorch

KotenOCR Android版の開発記録 — FlutterからKotlinへの移行とその理由

古典籍OCRアプリKotenOCRのAndroid版をFlutterで開発し、Kotlin Nativeへ移行した記録。パフォーマンスベンチマーク、API修正による18倍高速化、AI開発でのフレームワーク選定について。

flutterkotlinonnxruntimeocr

📏Mirador 4向け実寸ルーラープラグインの開発

IIIF Physical Dimensions serviceを利用して、Mirador 4のビューア上に実寸スケールのルーラーを表示するプラグインを開発・公開しました。

miradoriiifplugindigital-archives

🎨AI画像生成で3つのiOSアプリアイコンをリデザインした実践記録

Geminiを使って3つのiOSアプリアイコンをフラットデザインからモダンiOS風(グラデーション+ソフトグロー)にリデザインした実践記録。プロンプトの改善過程と、生成後のトリミング処理も紹介します。

iosdesignaiprompt

Zenn記事の一括移転通知設定 — Playwrightと内部APIによる508記事の自動処理

Zennで公開していた記事を自前ブログに移行する際、Playwrightと非公式APIを使って508記事の本文を移転通知に一括置換した記録です。

zennplaywrightpythonseo

Hugo + Tailwind CSS v4による独自テーマの作成とHugo Themesギャラリーへの登録

PaperModテーマからTailwind CSS v4ベースの独自Hugoテーマへの移行と、Hugo公式テーマギャラリーへの登録までの過程を記録します。

hugotailwindcssthemecss

🔄App Store審査リジェクト後の修正・再提出をApp Store Connect APIで実行する

App Store審査でリジェクトされた後のビルド差し替え・スクリーンショット更新・再提出の全工程をApp Store Connect APIで実行した記録

iosappstoreconnectapiflutter

🎨AI画像生成でiOSアプリアイコンを作るためのプロンプトテンプレート

Gemini・DALL-E・Midjourney等のAI画像生成ツールで、Apple HIGに準拠したiOSアプリアイコンを生成するための再利用可能なプロンプトテンプレートです。

iosdesignaiprompt

🛡Firebase不要:Apple標準ツールだけでiOSアプリを運用する

ユーザーデータを外部に送信せず、Apple標準ツールとOSSだけでiOSアプリのクラッシュ計測・アナリティクス・アップデート促進・レビュー促進を実現する方法を、実際のApp Store公開アプリでの運用経験をもとに解説します。

iosswiftprivacymetrickit

🔍ジャパンサーチAPIを活用した文化資源探索アプリの開発とApp Store公開

ジャパンサーチのWeb APIを使い、モチーフ検索・撮影画像での類似検索・位置情報連動などモバイル固有の機能を備えた文化資源探索アプリの開発記録

digitalhumanitiesjapansearchflutterios

TEI XMLのスタンドオフ注釈をインライン化する際の落とし穴とDOM操作による解決

デジタル延喜式の開発で、TEI XMLのスタンドオフ注釈をVue.js向けにインライン化する際に遭遇した文書構造崩壊のバグと、DOM操作ベースの解決策についての記録

teixmlpythonbeautifulsoup

📺YouTube StudioでVTT字幕ファイルをアップロードする手順

YouTube StudioでVTT形式の字幕ファイルを元言語・翻訳言語それぞれアップロードして公開する手順を、スクリーンショット付きで整理した

youtubewebvttsubtitle

🗺IIIF画像をAR空間に実寸配置するiOSアプリ「IIIF AR」の開発

IIIF Image APIに対応した高解像度画像をARKitで床面に実寸配置し、カメラ距離に応じてタイルを動的に読み込むiOSアプリ「IIIF AR」の開発についての記録です。

iosarkitiiifswift

🧠iOS OCRアプリのメモリ起因クラッシュの調査と対策

ONNX Runtimeで6モデルを使うiOS OCRアプリ(KotenOCR)で発生したクラッシュ率6.7%の原因調査と修正内容の記録。

iosswiftmemoryonnx

🔍KotenOCR: 近代OCRの検出重複を解消する(NMS追加とクラスフィルタリング)

KotenOCRの近代OCRモード(NDLOCR-Lite)で検出結果が重複する問題を修正。NMSの追加とline_*クラスフィルタリングにより、本家ndlocr-liteと同等の検出精度を実現しました。

iosocrndlonnx

🖼️Universal Viewer 4.xの「Unknown content type」エラーとローカルホスティングによる対処

Universal Viewer 4.xで発生する「Unknown content type」エラーの原因と、ローカルホスティングで解決した記録。

iiifuniversal-viewernuxtdigital-humanities

🎬YouTube Studioで英語字幕(VTTファイル)をアップロードする手順

YouTube Studioで日本語字幕が設定済みの動画に、英語のVTTファイルを追加アップロードする手順

youtubewebvttsubtitle

Apple Sales Reports APIのデータ反映時刻とYouTube APIのクォータリセットを実測した

App Store Connect Sales Reports APIの日次レポート反映時刻とYouTube Data API v3のクォータリセット時刻を実際に観測した記録です。

appstoreconnectapiyoutubepython

🤖Claude Codeを使って動画に多言語字幕を自動生成し、IIIF v3マニフェストで公開する

Claude Codeのマルチモーダル機能とffmpegのシーンチェンジ検出を組み合わせて、動画に多言語字幕を効率的に生成し、IIIF v3マニフェストで公開する方法

claude-codeffmpegiiifwebvtt

🎬デジタル源氏物語 動画字幕プロジェクト:IIIF v3マニフェストによる多言語字幕の公開

デジタル源氏物語の機能紹介動画に日英の二言語字幕を付与し、IIIF v3マニフェストとして公開するプロジェクトの紹介

iiifwebvttdigital-humanitiesgenji

📜KotenOCR v1.3.0:古典籍と近代活字の両対応OCRモードを追加

KotenOCR v1.3.0で、既存の古典籍(くずし字)OCRに加えて近代活字OCR(NDLOCR-Lite)に対応しました。確認画面でのワンタップ切り替え、認識処理の並列化による高速化などの変更点をまとめます。

iosocrkuzushijindl

📚DH(デジタル人文学)ツール情報の自動収集・記事生成システムの構築

X投稿・RSS・GitHub APIから情報を自動収集し、AIで週間まとめ記事を生成するシステムの設計と実装

digitalhumanitiesgithub-actionsplaywrightopenrouter

Swift ConcurrencyでOCR認識処理を並列化し最大6.7倍高速化する

iOSアプリのOCRパイプラインで、withThrowingTaskGroupによる認識処理の並列化を行い、検出領域数に応じて1.4〜6.7倍の高速化を得た記録。

iosswiftconcurrencyocr

🔍ジャパンサーチの類似画像検索APIの内部構造

ジャパンサーチの画像AI検索機能の内部APIを調査し、3段階のフローで画像アップロード検索が実現されている構造を確認

digitalhumanitiesjapansearchapiimage-search

📜KotenOCR:くずし字をオフラインで認識するiOSアプリの開発と公開

NDL古典籍OCR-Liteモデルをスマートフォンに載せて、完全オフラインでくずし字を認識するiOSアプリ「KotenOCR」を開発しました。技術構成や開発の背景を紹介します。

iosocrkuzushijiswift

🗄️Yahoo News記事のローカル保存手段の比較(SingleFile・Playwright・ArchiveBox・WARC・yt-dlp)

Yahoo Newsの記事と動画をローカルに保存する5つの手段(SingleFile、Playwright PDF、ArchiveBox、WARC、yt-dlp)を実際に試し、保存形式・ファイルサイズ・用途の違いを比較した

web-archivesinglefileplaywrightarchivebox

📸App Storeのスクリーンショット生成をPython+UIテストで完全自動化する

XCUITestでシミュレータのスクリーンショットを撮影し、PythonのPillowでマーケティング画像を生成、App Store Connect APIでアップロードするまでの全工程をシェルスクリプト1本で自動化する方法を解説します。

iosappstoreconnectpythonautomation

📚LoRAによる書名からのNDC(日本十進分類法)自動分類の試み

国立国会図書館サーチAPIから書誌データを取得し、LoRAにより小型日本語LLMをファインチューニングすることで、書名のみからNDC(日本十進分類法)の第1次区分を推定するモデルを構築する実践的チュートリアル。

llmlorapythonnlp

🔗researchmapの科研費と業績の紐付けをPlaywrightで自動化した

researchmapでは科研費と業績の紐付けをAPI・CSVインポートで行えないため、Playwrightでブラウザ操作を自動化するスクリプトを作成した

researchmapplaywrightpythonautomation

🚀Cantaloupe IIIFサーバーのキャッシュ最適化で画像配信を最大7.6倍高速化した

Cantaloupe IIIFサーバーのキャッシュ設定とパラメータチューニングにより、タイル配信速度を最大7.6倍高速化した手法と効果を共有します。

iiifcantaloupedockerperformance

🔓ContentfulでPublishボタンが押せない原因と解決方法 — ロケール設定の落とし穴

Contentfulで多言語サイト構築中にPublishボタンがグレーアウトする問題の原因特定と解決方法。Management APIを使った調査手法も紹介。

contentfulcmsi18n

🤖Claude Codeで6件のGitHub Issueを並行対応:worktreeとagentの活用

Claude Codeのworktree機能とagentを活用して、Nuxt.js製のTEIビューアプロジェクトの6件のGitHub Issueを並行して対応した記録です。

claude-codegithubnuxtjstei

🔍schema.org 構造化データで Google Search Console のインデックス問題を改善する

Google Search Console で「クロール済み - インデックス未登録」が大量発生。schema.org 構造化データ(JSON-LD)の導入で改善を図った実践記録です。

seoschema.orgnuxtgoogle-search-console

📝CATMA:テキストアノテーション・分析プラットフォームの活用ガイド

ハンブルク大学forTextLabが開発したWebベースのテキストアノテーション・分析プラットフォームCATMAの機能と活用方法を紹介します。

catmatext-annotationtext-analysisdigital-humanities

📊Datawrapper:研究者・ジャーナリストのためのデータ可視化ツール

Datawrapperは、チャート・地図・表を簡単に作成できるデータ可視化ツールです。20種類以上のチャートタイプやコロプレスマップに対応し、レスポンシブかつアクセシブルなビジュアライゼーションを提供します。

datawrapperchartmapdata-visualization

🎬Flourish:インタラクティブなデータストーリーテリングプラットフォーム

Flourishは、レースチャートやアニメーション地図などのインタラクティブなデータ可視化を作成できるプラットフォームです。30以上のテンプレートを備え、BBCやGoogleでも採用されています。

flourishdata-visualizationanimationstorytelling

📜FromThePage:クラウドソーシングで歴史文書を翻刻する

歴史的文書のクラウドソーシング翻刻プラットフォームFromThePageの概要と、DHにおける活用方法を紹介します。

fromthepagetranscriptioncrowdsourcingiiif

🕸️Gephi Lite:ブラウザで使えるネットワーク可視化ツール

デスクトップ版Gephiのブラウザ版であるGephi Liteを使ったネットワーク可視化の方法と、デジタル・ヒューマニティーズにおける実践的な活用例を解説する。

gephinetwork-visualizationgraph-analysisdigital-humanities

📝Hypothes.is:W3C準拠のオープンソースWebアノテーションツール

Hypothes.isは、W3C Web Annotation標準に準拠したオープンソースのアノテーションツールです。あらゆるWebページにハイライトやコメントを付けられ、教育・研究・ジャーナリズムの分野で活用されています。

hypothesisannotationw3ceducation

🏛️Internet Archive:世界最大のデジタルアーカイブを活用する

世界最大のデジタルアーカイブであるInternet Archiveの概要と、デジタル・ヒューマニティーズにおける活用方法を紹介します。

internet-archivewayback-machinedigital-archiveopen-access

🌍Kepler.gl:大規模地理空間データを美しく可視化するオープンソースツール

Uber が開発した大規模地理空間データ可視化ツール Kepler.gl の概要と、デジタルヒューマニティーズにおける活用方法を紹介します。

kepler-glgeospatialgisdata-visualization

🔍Mirador:IIIF画像の比較・分析に最適なオープンソースビューア

Stanford大学・Harvard大学が開発するIIIF画像ビューア Mirador の概要と、デジタルアーカイブにおける比較研究への活用方法を紹介します。

iiifmiradorviewercomparison

📊Observable:D3.js作者が作ったデータ可視化ノートブック

D3.js作者Mike Bostockが開発したデータ分析・可視化ノートブックプラットフォームObservableの紹介と、DHにおける活用方法を解説します。

observabled3jsdata-visualizationjavascript

🏛️Omeka:デジタルコレクションとオンライン展示のためのプラットフォーム

図書館・博物館・大学向けのデジタルコレクション管理・オンライン展示プラットフォームOmekaの概要と、Omeka SのLinked Data対応を含む実践的な活用法を解説する。

omekadigital-collectionsexhibitionlinked-data

🗺️Palladio:人文学データの可視化プラットフォーム活用ガイド

スタンフォード大学Humanities+Design Labが開発したデータ可視化ツールPalladioの機能と活用方法を紹介します。

palladiostanforddata-visualizationmaps

📊RAWGraphs:ノーコードでデータを美しく可視化するDHツール

ブラウザ上でCSV/TSVデータを30種類以上のチャートに変換できるノーコード可視化ツールRAWGraphsの使い方と、デジタル・ヒューマニティーズにおける活用法を解説する。

rawgraphsdata-visualizationno-codedigital-humanities

💾ReplayWeb.page:ブラウザで動作するWebアーカイブ再生ツール

ReplayWeb.pageは、WARC/WACZ形式のWebアーカイブをブラウザ上で再生できるツールです。Service Workerを活用したクライアントサイド処理により、サーバー不要で動作します。

web-archivewarcwebrecorderdigital-preservation

🌍StoryMapJS:地図ベースのストーリーテリングツール活用ガイド

Knight Labが開発したStoryMapJSで、地図上のポイントを辿りながらストーリーを語るインタラクティブコンテンツの作り方を解説します。

storymapjsstorymapknight-labmaps

🏷️Taguette:無料で使えるオープンソース質的データ分析ツール

無料のオープンソース質的データ分析ツール Taguette の概要と、デジタルヒューマニティーズにおけるテキスト分析への活用方法を紹介します。

taguettequalitative-analysisqdatext-analysis

📜TEI Publisher:TEI XMLデジタルエディション出版プラットフォーム

TEI XML のデジタルエディションを出版するためのプラットフォーム TEI Publisher の概要と、デジタルヒューマニティーズにおける活用方法を紹介します。

teixmlpublishingdigital-edition

TimelineJS:スプレッドシートで作るインタラクティブ年表ガイド

Knight Labが開発したTimelineJSを使って、Googleスプレッドシートからインタラクティブな年表を作成する方法を解説します。

timelinejstimelineknight-labstorytelling

✍️Transkribus:AIによる手書き文字認識で歴史文書を読み解く

100以上の言語に対応するAIベースの手書き文字認識プラットフォームTranskribusの概要と、歴史文書のテキスト化におけるDH研究での活用法を紹介する。

transkribusocrhtrhandwriting

🖼️Universal Viewer:IIIFに対応したマルチメディアビューアの決定版

IIIF 準拠のマルチメディアビューア Universal Viewer の概要と、デジタルアーカイブにおける活用方法を紹介します。

iiifuniversal-viewerviewerdigital-archives

🔍Voyant Tools:ブラウザで完結するテキスト分析プラットフォーム

ワードクラウド、KWIC、共起分析、トピックモデリングなど多彩なテキスト分析機能をブラウザ上で提供するVoyant Toolsの使い方とDH研究での活用法を紹介する。

voyant-toolstext-analysisnlpdigital-humanities

🔍Wikidata Query Service:SPARQLで探る知識グラフ活用ガイド

Wikidataの1億件以上のデータをSPARQLで検索・可視化できるWikidata Query Serviceの使い方を解説します。

wikidatasparqllinked-open-dataknowledge-graph

📜TEI/XMLサイトをVercelで高速デプロイ:XSLT変換をsaxon-jsで自動化する

TEI/XMLサイトをVercelで高速デプロイ:XSLT変換をsaxon-jsで自動化する

teixsltvercelsaxonjs

TETRAS-IIIF:Mirador 4向けアノテーション・動画・マルチユーザー拡張

TETRAS-IIIFプロジェクトが開発するMirador 4向けエコシステム。アノテーション編集、動画対応、マルチユーザー協調を実現するプラグイン群を紹介。

iiifmiradorannotationvideo

IIIF Georeference Viewer:地理参照コンテンツを地図上で可視化するツール

IIIFの地理参照拡張に対応したビューアの紹介。歴史地図や画像を地図上にオーバーレイ表示。

iiifgisdigital-humanitiesnuxt

Mirador:IIIFコンテンツを比較・注釈できる高機能ビューア

IIIFビューアMiradorの紹介。マルチウィンドウでの画像比較、アノテーション、プラグイン拡張など。

iiifmiradordigital-humanitiesviewer

Tify:軽量・高速なIIIFドキュメントビューア

軽量で高速なIIIFビューアTifyの紹介。モバイル対応、全文検索、目次表示など。

iiiftifydigital-humanitiesviewer

Universal Viewer:画像・音声・動画・3Dに対応したIIIFビューア

IIIFビューアUniversal Viewerの紹介。画像だけでなく音声・動画・3D・PDFにも対応した汎用ビューア。

iiifuniversal-viewerdigital-humanitiesviewer

🗺️MapLibre GL JS でカスタムマーカーがズーム時にずれる問題と GeoJSON レイヤーによる解決

MapLibre GL JS の DOM ベースカスタムマーカー(maplibregl.Marker)がズーム・パン操作時に地図から遅れて追従する問題の原因と、GeoJSON ソース + Circle/Symbol レイヤーによる根本的な解決方法を解説する。

maplibrejavascriptgiswebgl

Claude Codeの並列エージェントで882本のブログ記事から解説動画を自動生成した話

Claude Codeの並列エージェント機能を使い、882本の技術ブログ記事から2キャラクター掛け合い解説動画を自動生成。利用制限の上位2%に到達した実体験レポート。

claude-codeaivoicevoxyoutube

🔄App Store Connect APIでiOSアプリのアップデートを審査提出する方法

App Store Connect REST APIを使い、iOSアプリのアップデート版をビルド・アップロードから審査提出までコマンドラインで完結させる手順を解説する。

iosappstoreconnectapipython

💰App Store Connect APIでiOSアプリにチップ(Tip Jar)機能を追加する完全ガイド

StoreKit 2とApp Store Connect APIを使い、iOSアプリにチップ(Tip Jar)機能を実装し、商品登録・ローカライズ・価格設定・スクリーンショットアップロード・TestFlight配信までをコマンドラインから完了させる手順を解説する。

iosappstoreconnectapipython

🚀Astro 4 から 5 へのアップグレード記録

Astro 4 から 5 へのアップグレードで必要だった変更点のまとめ

astrojavascriptmigration

📸Chrome Headless の --screenshot で画面下部に白い余白が出る問題と対処法

Chrome Headless モードの --screenshot で HTML を画像化する際、画面下部に白い帯が出る原因と、確実な解決方法を紹介します。

chrome-extensionpythontipsffmpeg

📜TEI/XMLサイトをVercelで高速デプロイ:XSLT変換をsaxon-jsで自動化する

TEI/XMLのXSLT変換をsaxon-jsで自動化し、Vercelで高速にデプロイする方法。Node.jsのXSLTライブラリ3種の比較も。

teixsltvercelsaxonjs

🎭Three.js + Puppeteer で VRM キャラクターを動かして動画を自動生成する

Three.js と @pixiv/three-vrm を使ってヘッドレス Chrome 上で VRM モデルをアニメーションさせ、VOICEVOX のリップシンクと組み合わせて VTuber 風解説動画を自動生成するパイプラインの実装メモ。

threejsjavascriptpythonvrm

📜DTS (Distributed Text Services) 1.0 正式リリースへの対応 ― TEI/XMLテキストAPIの仕様更新記録

DTS 1-alpha から 1.0 への移行で必要だった変更点を整理。JSON-LD Context URL、Content-Type、パラメータバリデーション、和歌 Citation Tree 対応など。

dtsapiteidigitalhumanities

🔍DTS Viewer の改善 ― 複数 Citation Tree 対応・階層ナビゲーション・XML ブラウザ表示

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

dtsnextjsreactdigitalhumanities

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

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

nextjsragpineconeclaude

🚀App Store Connect APIだけでiOSアプリを審査提出する手順

App Store Connect REST APIを使い、メタデータ・スクリーンショット・年齢レーティング・ビルド紐付けなど審査提出に必要なほぼ全作業をコマンドラインから完了させる手順を解説する。

iosappstoreconnectapipython

👁DOCX → TEI/XML 変換ツールに CETEIcean を使ったプレビュー機能を追加した

CETEIcean を使って、TEI/XML 変換結果をブラウザ上で視覚的に確認できるプレビュー機能を追加しました。

teixmldigitalhumanitiesjavascript

XSLT処理を5倍高速化:Saxon-JSからSaxon-HEへの移行

TEI XMLのデジタル・ヒューマニティーズプロジェクトで、npx xslt3(Saxon-JS)からJava Saxon-HEへ切り替えたところ、XSLTビルド時間が1分48秒から23秒に短縮された。

xsltsaxonteidigitalhumanities

🌐ethers.jsのエラーメッセージを多言語化する「ethers-i18n」を作った

ethers.jsのエラーメッセージを多言語化するライブラリ「ethers-i18n」の紹介

ethereumethersjsi18ntypescript

🎞IIIF絵巻物をAI動画で動かす:Video Annotationという新しいアプローチ

IIIF画像の一部領域にAI生成動画を重ねて表示する「IIIF Animated Viewer」の開発過程を紹介します。

iiifaiopenseadragonvideogeneration

はてなブログの記事を一括で非公開にする方法(AtomPub API)

はてなブログのAtomPub APIを使って、公開済み記事を一括で実質非公開にする方法

hatenapythonapi

📄TEI Garage APIを使って、DOCX → TEI/XML 変換ツールをブラウザだけで作った

TEI Garage APIを使って、DOCX → TEI/XML 変換ツールをブラウザだけで作った

teixmldigitalhumanitiesjavascript

👋Hypothes.is APIでWebアノテーションをエクスポートしてTEI/XMLに変換する

Hypothes.is APIでWebアノテーションをエクスポートしてTEI/XMLに変換する

apixmlannotationtei

📝OpenITI mARkdownからTEI XMLへの自動変換ツール「oitei」を試す

OpenITI mARkdownからTEI XMLへの自動変換ツール「oitei」を試す

pythonxmlteidh

💬GakuNin RDM APIをNode.jsで操作する — プロジェクト作成からGitHub+Vercel自動デプロイまで

GakuNin RDM APIをNode.jsで操作する — プロジェクト作成からGitHub+Vercel自動デプロイまで

gitnodevercelapi

🎃ethers.js v6 の日本語チュートリアルを作った

ethers.js v6 の日本語チュートリアルを作った

blockchainjavascriptethereumweb3

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

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

javascriptnextjswebpackiiif

🕌GakuNin RDM Search API (`/api/v1/search/`) 調査メモ

GakuNin RDM Search API (`/api/v1/search/`) 調査メモ

djangoapirdmgakunin

🐥Google Workspace 管理者権限なしで Google Groups のメンバーを API で一括管理する

Google Workspace 管理者権限なしで Google Groups のメンバーを API で一括管理する

google

🐡Archivematica における非DCメタデータの登録検証 ── source-metadata.csv を使ったEADの組み込み

Archivematica における非DCメタデータの登録検証 ── source-metadata.csv を使ったEADの組み込み

archivematicadublincore

🌟AtoM REST APIによるデジタルアーカイブ構築の検証

AtoM REST APIによるデジタルアーカイブ構築の検証

atom

📑AtoMのREST APIを拡張するプラグインを開発した話

AtoMのREST APIを拡張するプラグインを開発した話

atom

🐥AlfrescoをDockerで起動し、REST APIでレコード管理のライフサイクルを体験する

AlfrescoをDockerで起動し、REST APIでレコード管理のライフサイクルを体験する

dockerapialfrescoedrms

🚀IIIFマニフェストを用いたテキスト比較ツールの開発

IIIFマニフェストを用いたテキスト比較ツールの開発

iiif

📝Drupal の GitHub Webhook モジュールを改善しました。

Drupal の GitHub Webhook モジュールを改善しました。

githubdrupal

📑Netlify CLIを使って不要なサイトを一括削除する

Netlify CLIを使って不要なサイトを一括削除する

netlify

🚀Drupal 10 の管理画面からモジュール更新とコアアップデートを行う

Drupal 10 の管理画面からモジュール更新とコアアップデートを行う

drupal

🐡Mirador 4 で外部マニフェストのウィンドウタイトルだけを差し替える

Mirador 4 で外部マニフェストのウィンドウタイトルだけを差し替える

iiifmirador

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

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

nextjs

📝SPARQL クライアントを Apache Jena Fuseki に対応させるときにハマった 3 つのこと

SPARQL クライアントを Apache Jena Fuseki に対応させるときにハマった 3 つのこと

rdfvirtuososnorqlfuseki

👋Snorql — 複数の SPARQL エンドポイントを手軽に探索できるブラウザ UI を公開しました

Snorql — 複数の SPARQL エンドポイントを手軽に探索できるブラウザ UI を公開しました

rdfsparqllodsnorql

😊Mirador ビューア埋め込み設定

Mirador ビューア埋め込み設定

iiifmirador

🦁Omeka SのIIIF Serverモジュールで、PLYファイルがIIIFマニフェストのitemsに出力されない問題の調査

Omeka SのIIIF Serverモジュールで、PLYファイルがIIIFマニフェストのitemsに出力されない問題の調査

3domekaomekasomekasmodule

🐷3D Gaussian Splatting Viewer の開発 - Spark.jsを使ったブラウザ実装

3D Gaussian Splatting Viewer の開発 - Spark.jsを使ったブラウザ実装

3d

3D点群データの世界:PLY、ガウシアンスプラッティング、Potreeの関係を整理する

3D点群データの世界:PLY、ガウシアンスプラッティング、Potreeの関係を整理する

3d

📖KAKEN OpenSearch API の使い方

KAKEN OpenSearch API の使い方

apiopensearchkaken

🎃Three.js + React Three Fiber で GLTF モデルのテクスチャが荒く表示される問題と解決策

Three.js + React Three Fiber で GLTF モデルのテクスチャが荒く表示される問題と解決策

threejs

🙆Nuxt Content + trailingSlash設定で静的ファイルへのリンクが404になる問題と解決策

Nuxt Content + trailingSlash設定で静的ファイルへのリンクが404になる問題と解決策

nuxtnuxt4

💬IIIF Georeference ViewerへのLinked Places Format対応

IIIF Georeference ViewerへのLinked Places Format対応

iiiflpf

🐡Mirador 4用回転プラグインの開発とnpm公開

Mirador 4用回転プラグインの開発とnpm公開

iiifmirador

💬静的サイトでIIIF Content Search APIを実現する - Service Workerによるクライアントサイド検索

静的サイトでIIIF Content Search APIを実現する - Service Workerによるクライアントサイド検索

iiif

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

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

nextjsreactvercel

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

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

nextjsthreejsglbsketchfab

🐈ODD編集Tips:その1

ODD編集Tips:その1

xmlrngteiodd

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

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

nextjsauth

🕌YOLOv11xモデルをHugging Faceに公開する

YOLOv11xモデルをHugging Faceに公開する

yolohuggingface

📖IIIF画像をWeb Tile Map Serviceで配信する

IIIF画像をWeb Tile Map Serviceで配信する

iiifwtms

📖Nuxt 3 プロジェクトのパッケージ更新まとめ

Nuxt 3 プロジェクトのパッケージ更新まとめ

nuxtnuxt3

🕌IIIF Georeference to XYZ Tiles

IIIF Georeference to XYZ Tiles

gisgdaliiifmaplibre

👋Azure OpenAI Whisper + Speech Services で動画に英語字幕・音声を自動生成する

Azure OpenAI Whisper + Speech Services で動画に英語字幕・音声を自動生成する

ttswhisper

🌟Eclipse EDCを使ったデータスペース入門 - ローカル環境でデータ交換フローを体験する

Eclipse EDCを使ったデータスペース入門 - ローカル環境でデータ交換フローを体験する

dataspaceedc

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

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

nextjsreactelasticsearchreact19

🐥GLBファイルのDraco圧縮 - 87%のサイズ削減と精度への影響

GLBファイルのDraco圧縮 - 87%のサイズ削減と精度への影響

3diiifglbdraco

📝300万点超の点群データをブラウザで快適に表示する - Potree LODビューアの構築

300万点超の点群データをブラウザで快適に表示する - Potree LODビューアの構築

lodash3diiifpotree

😸mirador-annotations を Mirador 4.x へ移行した記録

mirador-annotations を Mirador 4.x へ移行した記録

reactmuiiiifmirador

🎃mirador-rotation-plugin 機能拡張

mirador-rotation-plugin 機能拡張

iiifmirador

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

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

nextjsgakuninnii

【AWS Amplify】さくらのドメインでカスタムドメイン設定時にハマったポイント

【AWS Amplify】さくらのドメインでカスタムドメイン設定時にハマったポイント

dnsamplify

Dydra JSON-LDシリアライゼーションの挙動と回避策

Dydra JSON-LDシリアライゼーションの挙動と回避策

jsonrdfjsonlddydra

👋GakuNin RDM Waterbutler API でアップロードしたファイルの詳細画面に遷移する方法

GakuNin RDM Waterbutler API でアップロードしたファイルの詳細画面に遷移する方法

gakuninrdmgakuninodf

📘Pinata V3 API グループ機能の実装ガイド

Pinata V3 API グループ機能の実装ガイド

web3nftpinata

👻さくらレンタルサーバー Drupal 更新手順

さくらレンタルサーバー Drupal 更新手順

drupal

📝IIIF Manifestから各巻の冒頭ページを抽出するツールを作成しました

IIIF Manifestから各巻の冒頭ページを抽出するツールを作成しました

iiif

🐥CloudFront + App Runner で 404 エラーが発生する問題の調査記録

CloudFront + App Runner で 404 エラーが発生する問題の調査記録

aws

📖Nuxt 4 SSGでローカルJSONファイルを正しく読み込む方法

Nuxt 4 SSGでローカルJSONファイルを正しく読み込む方法

nuxtssgnuxt4

👌MapLibre GL JS + れきちず で多言語対応の歴史地図を実装する

MapLibre GL JS + れきちず で多言語対応の歴史地図を実装する

rekichizu

🙄TEI ODDによるIIIF対応ファクシミリ記述の制約設計

TEI ODDによるIIIF対応ファクシミリ記述の制約設計

xmlrngiiiftei

🐕ODD Chain チュートリアル

ODD Chain チュートリアル

tei

👻TEI古典籍ビューワをカスタマイズして判読不能箇所(gap)を表示する

TEI古典籍ビューワをカスタマイズして判読不能箇所(gap)を表示する

tei

🌟Mirador 4で任意の領域をハイライト表示する方法

Mirador 4で任意の領域をハイライト表示する方法

iiifmirador

🌟Mirador 4でキャンバス指定と検索語ハイライトを同時に実現する方法

Mirador 4でキャンバス指定と検索語ハイライトを同時に実現する方法

iiifmirador

💬RAWGraphs 2.0 の日本語化

RAWGraphs 2.0 の日本語化

javascriptreacti18n

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

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

nextjsi18n

🐕vipsによるピラミダルタイルTIFF作成と圧縮方式の比較

vipsによるピラミダルタイルTIFF作成と圧縮方式の比較

libvipsiiif

🚀アノテーション表示のパフォーマンス改善

アノテーション表示のパフォーマンス改善

iiif

📌傾いた文字のアノテーションとIIIF画像切り出し

傾いた文字のアノテーションとIIIF画像切り出し

iiif

🌟Elasticsearch/OpenSearch クラスタ間のデータ移行ガイド

Elasticsearch/OpenSearch クラスタ間のデータ移行ガイド

elasticsearchopensearch

🙆‍♀️Docker + GitHub Actions デプロイ設定

Docker + GitHub Actions デプロイ設定

dockergithub

🐥360度動画・写真から歪みのないサムネイル画像を作成する方法

360度動画・写真から歪みのないサムネイル画像を作成する方法

ffmpeg

📝Insta360動画ファイルからGPS情報の有無を機械的に判別する方法

Insta360動画ファイルからGPS情報の有無を機械的に判別する方法

gps

👻Deep Zoom画像を完全復元:タイル画像からBigTIFFへの変換技術

Deep Zoom画像を完全復元:タイル画像からBigTIFFへの変換技術

pythonxml

🐷BDRC Tibetan OCR:チベット語OCRツールの紹介と実装事例

BDRC Tibetan OCR:チベット語OCRツールの紹介と実装事例

ocr

🐕Cesium 1.135.0におけるマーカー位置ズレ問題と解決方法

Cesium 1.135.0におけるマーカー位置ズレ問題と解決方法

cesium

👻Protoweb:90年代のインターネットを体験できるタイムマシン

Protoweb:90年代のインターネットを体験できるタイムマシン

ipres

OCFLによる長期デジタル保存の実践 - 入門ガイド

OCFLによる長期デジタル保存の実践 - 入門ガイド

ipresocfl

📘MacでHexエディタを使うなら「HexEd.it」:HxDの代替ツールガイド

MacでHexエディタを使うなら「HexEd.it」:HxDの代替ツールガイド

ipres

📘DROIDで見つける隠れたファイル形式の問題:デジタル保存の必須ツール

DROIDで見つける隠れたファイル形式の問題:デジタル保存の必須ツール

droidpronom

自動遷移機能を持つIIIF画像座標エディタの開発

自動遷移機能を持つIIIF画像座標エディタの開発

iiifopenseadragon

🐡Odeuropa Visualization: SKOS語彙とSPARQLを活用した香りデータの可視化プラットフォーム

Odeuropa Visualization: SKOS語彙とSPARQLを活用した香りデータの可視化プラットフォーム

rdfsparqllodzennfes2025free

👌Omeka Sで独立した作者データベースを構築する方法

Omeka Sで独立した作者データベースを構築する方法

omekaomekaszennfes2025free

💨Leaflet-IIIFでのアノテーション座標変換の完全ガイド

Leaflet-IIIFでのアノテーション座標変換の完全ガイド

leafletiiifzennfes2025free

🐈Omeka-S Docker環境を別サーバーに移行する完全ガイド

Omeka-S Docker環境を別サーバーに移行する完全ガイド

dockeromekaomekaszennfes2025free

🦔RDFSとSHACLの使い分け:rangeとpropertyShapeの関係を理解する

RDFSとSHACLの使い分け:rangeとpropertyShapeの関係を理解する

rdfzennfes2025freerdfsshacl

🐷GakuNin RDMとDydraを連携したRDFメタデータ管理システムの開発

GakuNin RDMとDydraを連携したRDFメタデータ管理システムの開発

rdfdydrardmgrdm

📑Odeuropa Explorer の語彙階層構造を調査する

Odeuropa Explorer の語彙階層構造を調査する

githubrdfzennfes2025freeodeuropa

🔖DydraへのAPI経由でのRDFデータ登録ガイド

DydraへのAPI経由でのRDFデータ登録ガイド

rdfdydrazennfes2025free

🕌TEI Processing Modelで実現する宣言的なマルチフォーマット変換

TEI Processing Modelで実現する宣言的なマルチフォーマット変換

xmlxsltteiodd

Miradorの表示方向を外部から制御する方法

Miradorの表示方向を外部から制御する方法

iiifmiradorzennfes2025free

💭Odeuropa:歴史的文献から匂いを抽出するLinked Dataの世界

Odeuropa:歴史的文献から匂いを抽出するLinked Dataの世界

rdfsparqlzennfes2025free

👋Omeka-SのMroongaSearchモジュールで日本語全文検索を実現する

Omeka-SのMroongaSearchモジュールで日本語全文検索を実現する

omekaomekasomekasmodulezennfes2025free

📝Azure OpenAI GPT-4 vs Document Intelligence: 日本語縦書きOCRの比較検証

Azure OpenAI GPT-4 vs Document Intelligence: 日本語縦書きOCRの比較検証

azureocrllm

🐈LLMによる原稿用紙OCR性能比較:縦書き日本語の認識精度検証

LLMによる原稿用紙OCR性能比較:縦書き日本語の認識精度検証

ocrllm

😊PDFの透明テキスト抽出における順序保持の課題と解決策

PDFの透明テキスト抽出における順序保持の課題と解決策

pdfocr

📚TEI/XMLファイルをGitHubで公開する手順書

TEI/XMLファイルをGitHubで公開する手順書

githubxmlteihumanities

😸TEI ODDファイルのカスタマイゼーション:NDL古典籍OCRの事例

TEI ODDファイルのカスタマイゼーション:NDL古典籍OCRの事例

ocrrngteiroma

👌TEI GarageのAPIを使用したODDからRNG/HTMLへの変換

TEI GarageのAPIを使用したODDからRNG/HTMLへの変換

teiromaoddteigarage

🌟Azure Container AppsでNDL古典籍OCR Liteを用いたスケーラブルOCR処理システム

Azure Container AppsでNDL古典籍OCR Liteを用いたスケーラブルOCR処理システム

dockerazureocr

🐙Omeka SにPROV-Oオントロジーを登録する方法

Omeka SにPROV-Oオントロジーを登録する方法

rdfurittlomeka

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

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

nextjss3gisgeo

🎉IIIF Georeference ViewerのMapLibre GL移行と機能改善

IIIF Georeference ViewerのMapLibre GL移行と機能改善

gisopenstreetmapiiifmaplibre

🎉Omeka Sテーマの多言語化

Omeka Sテーマの多言語化

omekaomekasomekastheme

🙄Cantaloupeでdelegate scriptを使ってAzure Storage上のファイルパスを動的に変換する方法

Cantaloupeでdelegate scriptを使ってAzure Storage上のファイルパスを動的に変換する方法

azureiiifcantaloupe

🎃RELAX NGとSchematronを組み合わせたTEI XMLスキーマの実装ガイド

RELAX NGとSchematronを組み合わせたTEI XMLスキーマの実装ガイド

xmlrngxpathtei

😺Docker環境でDrupal 10にWDBモジュールをセットアップする手順

Docker環境でDrupal 10にWDBモジュールをセットアップする手順

dockerdrupal

📑生成AIを用いてプロジェクトに特化したrngファイルを作成する

生成AIを用いてプロジェクトに特化したrngファイルを作成する

xmlrngteioxygen

🙆Omeka S Docker の紹介:デジタルコレクションのための最新かつセキュアなソリューション

Omeka S Docker の紹介:デジタルコレクションのための最新かつセキュアなソリューション

dockeriiifomekasglam

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

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

nextjs3diiifglb

💡「前近代日本-アジア関係資料デジタルアーカイブ」のビューアを試す

「前近代日本-アジア関係資料デジタルアーカイブ」のビューアを試す

dockerlaravelphpvue

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

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

nextjstypescripttailwindssg

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

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

nextjsseossgsitemap

📚IIIF認証API 2.0の動作確認

IIIF認証API 2.0の動作確認

nextjsjsonjwtiiif

🔥GitHub File History Analyzerの紹介:ファイル編集履歴をAIで分析するツール

GitHub File History Analyzerの紹介:ファイル編集履歴をAIで分析するツール

aigithubpythonautomation

📖Odeuropaに関連するツールを試す

Odeuropaに関連するツールを試す

streamlithuggingfacetei

😽AllegroGraphを使ってみる

AllegroGraphを使ってみる

graphrdfsparqlgraphdb

🐈DHConvalidatorにおける'ref'に関する不具合への対応

DHConvalidatorにおける'ref'に関する不具合への対応

pythonxmlteidocx

🐥校異源氏物語テキストDBに対する検索を行うMCPサーバの構築

校異源氏物語テキストDBに対する検索を行うMCPサーバの構築

npmswaggeropenapimcp

💨校異源氏物語テキストDBに対する検索を行うAPIサーバの構築

校異源氏物語テキストDBに対する検索を行うAPIサーバの構築

apielasticsearchswaggeropenapi

📝Minecraft Modでお城生成コマンドを作ってみた【Fabric 1.21 + Claude活用】

Minecraft Modでお城生成コマンドを作ってみた【Fabric 1.21 + Claude活用】

gradleminecraftfabriccursor

👋デジタル文化財管理システム(試行版)のNFT対応

デジタル文化財管理システム(試行版)のNFT対応

blockchainsolidityweb3nft

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

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

nextjsethereumweb3pinata

🐙Omeka SのIIIF Serverモジュールを使用した階層構造を持つ目次の記述

Omeka SのIIIF Serverモジュールを使用した階層構造を持つ目次の記述

iiifomekaomekas

📌IIIF Presentation API v2のIIIFコレクションで、ページネーションを使う

IIIF Presentation API v2のIIIFコレクションで、ページネーションを使う

elasticsearchdrupaliiif

🔥Drupalで管理者以外のユーザーにも設定画面へのアクセスを許可する方法

Drupalで管理者以外のユーザーにも設定画面へのアクセスを許可する方法

drupal

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

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

npmmonorepoiiiftei

📚DrupalでJSON形式のFieldを扱うための「JSON Field」モジュールを使用する

DrupalでJSON形式のFieldを扱うための「JSON Field」モジュールを使用する

jsondrupal

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

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

nextjsdrupalteileafwriter

😽校異源氏物語テキストDBのDTS(Distributed Text Services) APIの更新

校異源氏物語テキストDBのDTS(Distributed Text Services) APIの更新

nodexmlteijsonld

🎃Dockerによるディスク圧迫の調査と対処法【Ubuntu 22.04 運用事例】

Dockerによるディスク圧迫の調査と対処法【Ubuntu 22.04 運用事例】

dockerelasticsearch

📖Annotorious v2のpolygonツールを使って、polylineを作成する

Annotorious v2のpolygonツールを使って、polylineを作成する

vuexmlannotationtei

👏Elasticsearch Search UIでの初期ソート順の指定方法

Elasticsearch Search UIでの初期ソート順の指定方法

typescriptelasticsearchsearchui

🐷MDX.jpのオブジェクトストレージに対するIPアドレス制限の実装方法

MDX.jpのオブジェクトストレージに対するIPアドレス制限の実装方法

omekamdxjp

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

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

nextjsxmlteirdm

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

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

nextjsvercelgeojsonmaplibre

😸Nuxt i18nのブラウザ言語検出を無効化する方法

Nuxt i18nのブラウザ言語検出を無効化する方法

nuxti18nnuxt3

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

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

nextjs

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

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

nextjs

😎Mirador 4で、初期読み込み時に、画像の回転や範囲指定を行う

Mirador 4で、初期読み込み時に、画像の回転や範囲指定を行う

iiifopenseadragonmirador

💡mdx Iのオブジェクトストレージに対するproxyサーバの構築

mdx Iのオブジェクトストレージに対するproxyサーバの構築

nodeproxyexpresscors

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

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

nextjsiiifuniversalviewer

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

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

nextjsapirdmleafwriter

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

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

nextjsteirdmleafwriter

🦁GakuNin RDM(OSF)のAPIで、フィルタを使う

GakuNin RDM(OSF)のAPIで、フィルタを使う

apirdmgakuninosf

🕌Nuxt Content: Cannot find name 'queryContent'.への対応

Nuxt Content: Cannot find name 'queryContent'.への対応

nuxtnuxtcontentnuxt3

📚AWSのRoute 53で設定したレコードを、さくらレンタルサーバで使用する(共有SSL)

AWSのRoute 53で設定したレコードを、さくらレンタルサーバで使用する(共有SSL)

awssslsakura

🦁Miradorで画像を表示し、CETEIceanでテキストを表示するサンプルアプリ

Miradorで画像を表示し、CETEIceanでテキストを表示するサンプルアプリ

xmliiifteimirador

📚AtoM(Access to Memory)のAPIを使って、オブジェクトを登録してみる

AtoM(Access to Memory)のAPIを使って、オブジェクトを登録してみる

atompythonapi

👻AtoM(Access to Memory)をDockerで起動する

AtoM(Access to Memory)をDockerで起動する

atomdocker

📘ピラミッドTIFFの作成において、ImageMagickがうまく動作しないケースがある?

ピラミッドTIFFの作成において、ImageMagickがうまく動作しないケースがある?

imagemagicklibvipsiiif

📑mdx.jpのオブジェクトストレージとIIP Image(IIIF Image Server)を使ってIIIF画像を配信する

mdx.jpのオブジェクトストレージとIIP Image(IIIF Image Server)を使ってIIIF画像を配信する

dockers3iiifmdxjp

🌊Algolia における「a に x を含み、b に y を含む」部分一致検索の調査

Algolia における「a に x を含み、b に y を含む」部分一致検索の調査

elasticsearchalgolia

🐥WordファイルをTEI XMLに変換する方法:TEIgarage APIの活用ガイ

WordファイルをTEI XMLに変換する方法:TEIgarage APIの活用ガイ

pythonteidocxteigarage

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

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

nextjsreactxmltei

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

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

nextjsdrupal

🤖DrupalのJSON:APIを用いて、ユーザ名とパスワードでデータ登録を行う

DrupalのJSON:APIを用いて、ユーザ名とパスワードでデータ登録を行う

pythondrupal

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

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

nextjsreacti18n

🐥大きな画像から部分画像の座標を取得する方法

大きな画像から部分画像の座標を取得する方法

pythonopencv

👌vttファイルからTEI/XMLを作成する

vttファイルからTEI/XMLを作成する

pythoniiifteivtt

🙆Mirador 3の mirador-annotations プラグインで、付与したアノテーションをダウンロードする

Mirador 3の mirador-annotations プラグインで、付与したアノテーションをダウンロードする

iiifmirador

💨Algoliaでページネーションの上限を変更する

Algoliaでページネーションの上限を変更する

algolia

🗂異体字リストを取得するためのAPIの試作

異体字リストを取得するためのAPIの試作

vercelexpress

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

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

nextjsreactthreejs

📑校異源氏物語に対する類似テキスト検索アプリを作成しました。

校異源氏物語に対する類似テキスト検索アプリを作成しました。

pythonocrhuggingfacetei

💨Omeka SのImage ServerでのCORS対応

Omeka SのImage ServerでのCORS対応

corsiiifomeka

📝Alfrescoのファイルに対して、Archivematicaを使ってAIPを作成する

Alfrescoのファイルに対して、Archivematicaを使ってAIPを作成する

pythonarchivematicamdxjpalfresco

👋Alfresco Governance Services Community Editionを起動する

Alfresco Governance Services Community Editionを起動する

dockertraefikalfrescoedrms

😎XSLTを使いながらTEI/XMLファイルを編集する

XSLTを使いながらTEI/XMLファイルを編集する

vscodexmlcopilotcursor

📖DataverseのデータをArchivematicaで処理する

DataverseのデータをArchivematicaで処理する

dataversearchivematicardmmdxjp

💭VSCodeとXSLTを用いたTEI/XMLのリアルタイムプレビュー

VSCodeとXSLTを用いたTEI/XMLのリアルタイムプレビュー

vscodexmlxslxslt

💭校異源氏物語テキストDBのTEI/XMLからPDFを作成する

校異源氏物語テキストDBのTEI/XMLからPDFを作成する

texpdfxmlxslt

@sidebase/nuxt-authのローカル認証を試す

@sidebase/nuxt-authのローカル認証を試す

nuxtauthdrupalnuxt3

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

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

nextjsdrupal

🐡Azure Logic Appsを試す

Azure Logic Appsを試す

azure

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

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

azurenextjsopenaigradio

👻Pythonを使ってOmeka Sにメディアをアップロードする方法

Pythonを使ってOmeka Sにメディアをアップロードする方法

pythoniiifomekaomekas

🐙Sketchfabのアノテーションを試す

Sketchfabのアノテーションを試す

3dsketchfab

objファイルをgltf, glbファイルに変換する

objファイルをgltf, glbファイルに変換する

3d

💡aleph-r3fを試す

aleph-r3fを試す

reacttailwind3diiif

🙌Cantaloupe: Microsoft Azure Blob Storageに格納した画像を配信する

Cantaloupe: Microsoft Azure Blob Storageに格納した画像を配信する

dockerazuretraefikiiif

🦔Azureの仮想マシンを用いたNDLOCRのGradioアプリ構築

Azureの仮想マシンを用いたNDLOCRのGradioアプリ構築

azuregpuocrndl

🦁Nuxt3と@sidebase/nuxt-authを使って、GakuNin RDMの認証を行う

Nuxt3と@sidebase/nuxt-authを使って、GakuNin RDMの認証を行う

nuxtrdmgrdm

🙆Azure OpenAIとLlamaIndexとGradioを用いたRAG型チャットの作成

Azure OpenAIとLlamaIndexとGradioを用いたRAG型チャットの作成

azuregpt4openaigradio

💭「教科書の中の源氏物語LOD」を使ってみる

「教科書の中の源氏物語LOD」を使ってみる

rdflodsnorqlyasgui

📌Peripleoを試す

Peripleoを試す

mapgisrdf

🙌インターネット上で公開されているCSVファイルのための簡易ビューアを開発しました

インターネット上で公開されているCSVファイルのための簡易ビューアを開発しました

csv

🔥NDL古典籍OCR-Liteを用いたGradio Appを作成しました。

NDL古典籍OCR-Liteを用いたGradio Appを作成しました。

dockerocrgradio

👏ジオコーディングのライブラリを試す

ジオコーディングのライブラリを試す

pythongeocoding

😺mdx.jpのオブジェクトストレージに保存したIIIFマニフェストファイルをNestJSから利用する

mdx.jpのオブジェクトストレージに保存したIIIFマニフェストファイルをNestJSから利用する

s3nestjsiiifmdxjp

😺LLMに関するメモ

LLMに関するメモ

pythonllmllamaindexollama

😺openai-assistants-quickstartの微修正

openai-assistants-quickstartの微修正

nextjsrag

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

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

nextjsnextauthoauthoauth2

📘YOLOv11xと日本古典籍くずし字データセットを用いた文字の検出モデルの構築

YOLOv11xと日本古典籍くずし字データセットを用いた文字の検出モデルの構築

pythonyolomdxjp

🙄mdx.jpを用いてYOLOv11のクラス分類(くずし字認識)の学習を試す

mdx.jpを用いてYOLOv11のクラス分類(くずし字認識)の学習を試す

pythonyolohuggingfacemdxjp

🔥mdx.jpの1GPUパックとOllamaを使ってローカルLLMを実行する

mdx.jpの1GPUパックとOllamaを使ってローカルLLMを実行する

llmllamaollamamdxjp

🙆Google Cloud Vision APIを用いて、単一ページから構成される透明テキスト付きPDFを作成する

Google Cloud Vision APIを用いて、単一ページから構成される透明テキスト付きPDFを作成する

pythonpdfocr

🐷ZoteroのAPIをNext.jsから使う

ZoteroのAPIをNext.jsから使う

nextjsverceltailwindzotero

🦔LEAF WriterのEditor Toolbarをカスタマイズする

LEAF WriterのEditor Toolbarをカスタマイズする

xmlteileafwriter

GakuNin RDM APIをつかってみる

GakuNin RDM APIをつかってみる

apijsonapigakuninrdmgakunin

🐥ShExCとShExJの違い

ShExCとShExJの違い

rdf

🐕ShExとSHACLの違い

ShExとSHACLの違い

rdf

🐈@samvera/rampビューアのFiles/Markersタブの使用方法

@samvera/rampビューアのFiles/Markersタブの使用方法

iiifprezi

Omeka SのOAI-PMHリポジトリのresumptionTokenの不具合への対応

Omeka SのOAI-PMHリポジトリのresumptionTokenの不具合への対応

omekaomekasoaipmh

😎(非標準)Omeka SのOAI-PMH RepositoryモジュールでDeleteレコードを出力してみる

(非標準)Omeka SのOAI-PMH RepositoryモジュールでDeleteレコードを出力してみる

omekaomekasoaipmh

📚iiif-prezi3を使って、動画に目次を付与する

iiif-prezi3を使って、動画に目次を付与する

awsrekognitioniiifprezi

🌟iiif-prezi3を使って、動画に字幕を設定する

iiif-prezi3を使って、動画に字幕を設定する

iiifvttprezi

🚀iiif-prezi3を使って、動画にアノテーションを付与する

iiif-prezi3を使って、動画にアノテーションを付与する

awsrekognitioniiifprezi

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

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

nextjs

🐈@elastic/search-uiのsetFilterの不具合対応

@elastic/search-uiのsetFilterの不具合対応

npm

🙄rico-converterを試す

rico-converterを試す

rdfrico

📌Hugging Face SpacesとYOLOv5モデル(顔コレデータセットで学習済み)を使った推論アプリの構築

Hugging Face SpacesとYOLOv5モデル(顔コレデータセットで学習済み)を使った推論アプリの構築

yolohuggingface

💬ModuleNotFoundError: No module named 'huggingface_hub.utils._errors'対応

ModuleNotFoundError: No module named 'huggingface_hub.utils._errors'対応

yolohuggingface

📚pythonを使ってcvatのデータを操作する

pythonを使ってcvatのデータを操作する

pythoncvat

🎉Omeka SでのCSRF: Value is required and can’t be emptyエラーへの対応

Omeka SでのCSRF: Value is required and can’t be emptyエラーへの対応

phpomekaomekas

🕌Drupalのカスタムモジュールで、カスタム権限を使用する

Drupalのカスタムモジュールで、カスタム権限を使用する

drupal

👌校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIのGitHubリポジトリ

校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIのGitHubリポジトリ

apixmlteidts

🚀校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIを作成する

校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIを作成する

vercelapixmltei

🌊DTS(Distributed Text Services)を使ってみる

DTS(Distributed Text Services)を使ってみる

xmlteidts

🎉MyCapytainライブラリを試す

MyCapytainライブラリを試す

xmlteidtscts

👋Canonical Text Serviceを試す

Canonical Text Serviceを試す

xmlteicts

🐥IIIF Presentation API v3でsvgを使ったアノテーション記述

IIIF Presentation API v3でsvgを使ったアノテーション記述

svgiiifmirador

👌GUIE(Google Universal Image Embedding)の学習済みモデルを使用して類似画像検索を行う

GUIE(Google Universal Image Embedding)の学習済みモデルを使用して類似画像検索を行う

pythonkagglegui

😊Annotorious OpenSeadragon Pluginを使ったサンプルプログラム

Annotorious OpenSeadragon Pluginを使ったサンプルプログラム

iiifopenseadragonannotorious

🤖Drupalでフィールド単位で公開・非公開を設定する

Drupalでフィールド単位で公開・非公開を設定する

drupal

😺画像ファイルに対してGoogle Cloud Visionを適用して、IIIFマニフェストおよびTEI/XMLファイルを作成する

画像ファイルに対してGoogle Cloud Visionを適用して、IIIFマニフェストおよびTEI/XMLファイルを作成する

pythonocriiiftei

🐥Omeka Sの更新

Omeka Sの更新

omekaomekas

🔖Pythonを使ってRDFデータをDydraに登録する

Pythonを使ってRDFデータをDydraに登録する

pythonrdfdydra

📝OpenAIでストレージ内のすべてのファイルを削除する

OpenAIでストレージ内のすべてのファイルを削除する

openairag

🐈nuxt3-leafletで、指定したマーカーを前面に表示する

nuxt3-leafletで、指定したマーカーを前面に表示する

nuxtleafletnuxt3

🚀LEAF Writer: Miradorを追加する

LEAF Writer: Miradorを追加する

xmlteileafwriter

🌟concurrent.futures.process.BrokenProcessPoolへの対処

concurrent.futures.process.BrokenProcessPoolへの対処

nbdev

👻Node.jsを使って、JSON:APIに準拠しているかを検証する

Node.jsを使って、JSON:APIに準拠しているかを検証する

jsonapi

🎉virtual-museum-tour-threejsを試す

virtual-museum-tour-threejsを試す

threejs

😺Omeka SのOaiPmhリポジトリモジュールにおいて、アイテムが公開されいているサイトページのURLを取得する

Omeka SのOaiPmhリポジトリモジュールにおいて、アイテムが公開されいているサイトページのURLを取得する

omekaomekasomekasmoduleoaipmh

DrupalのREST APIを使って、複数のコンテンツを一括削除する

DrupalのREST APIを使って、複数のコンテンツを一括削除する

pythondrupal

👻音声資料に関するIIIFマニフェストファイルに画像を追加する

音声資料に関するIIIFマニフェストファイルに画像を追加する

iiifopenaiwhisperdalle3

🙆IIIF Audio/Visual: 複数のvttファイルを記述する

IIIF Audio/Visual: 複数のvttファイルを記述する

iiifopenaiwhisperramp

🔥ZoteroのAPIとStreamlitを使ったアプリ開発

ZoteroのAPIとStreamlitを使ったアプリ開発

pythonstreamlitzotero

💨字幕付きの音声ファイルをIIIFビューアで表示する

字幕付きの音声ファイルをIIIFビューアで表示する

iiifopenaiwhisper

📘mdx.jpのオブジェクトストレージに複数ファイルをアップロードする

mdx.jpのオブジェクトストレージに複数ファイルをアップロードする

s3mdxs3cmd

👋国立国会図書館 歴史的音源で公開されている音声をmp4に変換する

国立国会図書館 歴史的音源で公開されている音声をmp4に変換する

ffmpegm3u8

🙆Rampをカスタマイズする

Rampをカスタマイズする

verceliiiframp

👌Rampをローカルで起動する

Rampをローカルで起動する

iiiframp

💡Mirador 3でScroll Viewを使う

Mirador 3でScroll Viewを使う

iiifmirador

💡Traefikでhttpsにリダイレクトさせる

Traefikでhttpsにリダイレクトさせる

traefik

💭Chromeでサイズが大きい動画が再生できない

Chromeでサイズが大きい動画が再生できない

iiifomeka

😸Omeka SのSetEnv APPLICATION_ENVのproductionとdevelopmentの違い

Omeka SのSetEnv APPLICATION_ENVのproductionとdevelopmentの違い

omekaomekas

🐥TraefikでHTTPS化した複数コンテナを運用する

TraefikでHTTPS化した複数コンテナを運用する

dockertraefik

🙌Omeka S GoogleAnalyticsモジュールの不具合対応

Omeka S GoogleAnalyticsモジュールの不具合対応

omeka

🙄Amazon S3とRoute 53を使ってリダイレクトする

Amazon S3とRoute 53を使ってリダイレクトする

awss3route53

🙆Docker版のOmeka SでCORS対応を行う

Docker版のOmeka SでCORS対応を行う

dockeromeka

😽Omeka SのIIIF ServerモジュールでのCORSエラー

Omeka SのIIIF ServerモジュールでのCORSエラー

iiifomekaomekas

🍣LEAF Writer:スキーマのカスタマイズ

LEAF Writer:スキーマのカスタマイズ

xmlschemateiroma

📝Google スプレッドシート + GAS(Google Apps Script)でonEditが2回実行されてしまう

Google スプレッドシート + GAS(Google Apps Script)でonEditが2回実行されてしまう

gas

🎃RDF、TurtleやJSON-LD、およびIIIFマニフェストファイルなどの関係を理解する

RDF、TurtleやJSON-LD、およびIIIFマニフェストファイルなどの関係を理解する

rdfiiif

🐈校異源氏物語・本文テキストデータリポジトリで公開しているTEI/XMLを一部更新しました。

校異源氏物語・本文テキストデータリポジトリで公開しているTEI/XMLを一部更新しました。

xmlteileafwriter

🙆‍♀️カスタマイズしたMirador 4をnpmパッケージとして公開する

カスタマイズしたMirador 4をnpmパッケージとして公開する

iiifmirador

🙆‍♀️Mirador 4の拡大・縮小・回転の挙動を確認する

Mirador 4の拡大・縮小・回転の挙動を確認する

iiifopenseadragonmirador

💨zenodoで資料を公開する

zenodoで資料を公開する

iiifzenodordm

📝macOSでnbdev使用時のエラー対応

macOSでnbdev使用時のエラー対応

nbdev

🐙Linked Dataを使ったデータ記述の応用例

Linked Dataを使ったデータ記述の応用例

rdfjpsorcid

📖ズーム操作を無効化するMirador 3(4)向けプラグインの開発

ズーム操作を無効化するMirador 3(4)向けプラグインの開発

iiifmirador

📘prefix.ccを利用する

prefix.ccを利用する

rdf

💬RDFデータの追加と可視化に関する備忘録

RDFデータの追加と可視化に関する備忘録

rdfvision

💭Content Negotiationを使って、PythonでURIからRDFを取得する

Content Negotiationを使って、PythonでURIからRDFを取得する

pythonrdfwikidata

👏iiif-prezi3を試す

iiif-prezi3を試す

pythoniiif

💡Archivematicaの日本語ファイル名変換を修正する

Archivematicaの日本語ファイル名変換を修正する

archivematica

🔖DHCフォーマットの中身を確認する

DHCフォーマットの中身を確認する

xmlteidhc

🙌a3mを試す

a3mを試す

aipa3m

📑さくらのVPSでSSH接続ができなくなった場合の対処法

さくらのVPSでSSH接続ができなくなった場合の対処法

sshsakuravps

😎docker-compose コマンドでコンテナを再起動すると同時にビルドも行う

docker-compose コマンドでコンテナを再起動すると同時にビルドも行う

docker

🌟StrapiのData transferを試す

StrapiのData transferを試す

cmsstrapi

🎉@iiif/parserを試す

@iiif/parserを試す

iiif

📘ndlocr_cli実行時の共有メモリ不足への対応ほか

ndlocr_cli実行時の共有メモリ不足への対応ほか

ocrndlocr

📚Omeka Sで動画を公開する

Omeka Sで動画を公開する

iiifomeka

🔖ndlocr_cliをdockerでインストールした後の容量

ndlocr_cliをdockerでインストールした後の容量

ocrmdx

👏プログラムを使ってDrupalにログインする

プログラムを使ってDrupalにログインする

drupal

🔖WordPress REST APIで非公開の投稿も含めて検索する

WordPress REST APIで非公開の投稿も含めて検索する

wordpressapi

🐡Drupalのイベントをトリガーとして、GitHub Actionsを起動する

Drupalのイベントをトリガーとして、GitHub Actionsを起動する

githubdrupalpipedream

🐡YOLOv5モデル(文字領域検出)を使った推論アプリ

YOLOv5モデル(文字領域検出)を使った推論アプリ

yologradio

🦔mdxでJupyter Labを起動する

mdxでJupyter Labを起動する

mdx

Hugging Face SpacesとYOLOv5モデル(NDL-DocLデータセットで学習済み)を使った推論アプリの修正

Hugging Face SpacesとYOLOv5モデル(NDL-DocLデータセットで学習済み)を使った推論アプリの修正

pythonyolohuggingfacegradio

👌ultralyticsplus: ValueError: Invalid CUDA 'device=0' requested...への対処

ultralyticsplus: ValueError: Invalid CUDA 'device=0' requested...への対処

yoloyolov8ultralytics

📘Japan Search利活用スキーマを使ったentity-lookupの試作

Japan Search利活用スキーマを使ったentity-lookupの試作

rdfteijps

🙌cwrcのwikidata-entity-lookupを試す

cwrcのwikidata-entity-lookupを試す

apixmlteiwikidata

🙆CWRC XML Validator APIを試す

CWRC XML Validator APIを試す

xmltei

📚RELAX NGとSchematron

RELAX NGとSchematron

xmlrnggpttei

👌Docker版のTEI Publisherを使用する

Docker版のTEI Publisherを使用する

xmltei

👋PythonでXML文字列を整形する

PythonでXML文字列を整形する

pythonxml

😺CMYKカラーの画像から色を反転させないconvertの方法

CMYKカラーの画像から色を反転させないconvertの方法

iiif

💨RDFストアのトリプル数を数える2: 共起頻度

RDFストアのトリプル数を数える2: 共起頻度

rdfsparqljps

🙆‍♀️RDFストアのトリプル数を数える

RDFストアのトリプル数を数える

rdfsparql

🙌TEIGarageを試す

TEIGarageを試す

tei

🍣Input value "page" contains a non-scalar value.への対処

Input value "page" contains a non-scalar value.への対処

drupal

🍣AWS CLIを使用したS3バケットの一括削除

AWS CLIを使用したS3バケットの一括削除

awss3

💨「SAT大蔵経DB 2018」で公開されているテキストの分析例

「SAT大蔵経DB 2018」で公開されているテキストの分析例

htmlpython

🚀Node.jsでXML文字列をパースする

Node.jsでXML文字列をパースする

xml

🕌LlamaIndex+GPT4+gradio

LlamaIndex+GPT4+gradio

gpt4gradiollamaindex

📝Editor.jsでインラインのマーカーツールで作成する

Editor.jsでインラインのマーカーツールで作成する

vuevue3

😽Editor.jsのmax-widthを変更する

Editor.jsのmax-widthを変更する

vuevue3

🐈Linuxシステムで特定のグループに所属しているユーザーを確認する

Linuxシステムで特定のグループに所属しているユーザーを確認する

gptgpt4

Omeka SのAdvanced Searchモジュールでの部分一致検索

Omeka SのAdvanced Searchモジュールでの部分一致検索

omekaomekasomekasmodule

💨Omeka Sで独自の検索ページを作成する

Omeka Sで独自の検索ページを作成する

omekaomekas

📘学習指導要領コード推薦アプリのAPIを使用する

学習指導要領コード推薦アプリのAPIを使用する

huggingfacegradiojpcos

📑学習指導要領コードの推薦アプリの試作

学習指導要領コードの推薦アプリの試作

huggingfacefaissgradiolangchain

😎researchmapのapiを使う

researchmapのapiを使う

python

📑TEI/XMLの可視化例:Leafletを用いた地図表示

TEI/XMLの可視化例:Leafletを用いた地図表示

leafletxmltei

📘Nuxt3でサイトマップを作成する

Nuxt3でサイトマップを作成する

nuxtnuxt3

🔖DrupalのSimple OAuthとPostmanを使ったOAuth認証の確認

DrupalのSimple OAuthとPostmanを使ったOAuth認証の確認

oauthdrupal

📚METSFlaskを試す

METSFlaskを試す

archivematicametspremis

😎Access to MemoryのRESTful APIを試す

Access to MemoryのRESTful APIを試す

accesstomemory

📌ArchivesSpaceのRESTful APIを試す

ArchivesSpaceのRESTful APIを試す

archivesspace

🦁ArchivesSpaceのOAI Repositoryを試す

ArchivesSpaceのOAI Repositoryを試す

archivesspaceoaipmheadoai

🗂Access to MemoryのOAI Repositoryを試す

Access to MemoryのOAI Repositoryを試す

aoaioaipmhaccesstomemory

🌊sidebase/nuxt-authをproduction環境で使う際のTips

sidebase/nuxt-authをproduction環境で使う際のTips

nuxt

🤖sphinxを用いた作成されたドキュメントサイトに日本語訳を追加する

sphinxを用いた作成されたドキュメントサイトに日本語訳を追加する

sphinxarchivematica

🌟GitHub ActionsとSCPを使って、さくらのレンタルサーバにビルド結果をコピーする

GitHub ActionsとSCPを使って、さくらのレンタルサーバにビルド結果をコピーする

githubgithubactionsactionsscp

🎃MariaDBでのmysqldump: not foundへの対応

MariaDBでのmysqldump: not foundへの対応

mariadb

🚀Mirador 3でPresentation API v2のマニフェストが表示できない時の対処例

Mirador 3でPresentation API v2のマニフェストが表示できない時の対処例

iiifomekaomekasomekasmodule

📝Omeka SのモジュールIIIF Viewersの更新

Omeka SのモジュールIIIF Viewersの更新

moduleiiifomekaomekas

📚nginx-proxyでの 413 Request Entity Too Large エラーの対処法

nginx-proxyでの 413 Request Entity Too Large エラーの対処法

dockernginx

🍣Docker版Cantaloupeを使用して、S3バケットにアクセスしSSL通信を行う方法

Docker版Cantaloupeを使用して、S3バケットにアクセスしSSL通信を行う方法

awsec2s3iiif

👏File Information Tool Set (FITS)を試す

File Information Tool Set (FITS)を試す

dockerpdffits

🔖GitHub Actionsの処理結果をメールで通知する: Gmailの使用

GitHub Actionsの処理結果をメールで通知する: Gmailの使用

githubactionsgmail

🙆デジタル源氏物語における校異源氏物語と現代語訳の対応づけ

デジタル源氏物語における校異源氏物語と現代語訳の対応づけ

pythonxmltei

💭ro-crate-pyを試す

ro-crate-pyを試す

rororcidbagitrocrate

🦁GitHubのリポジトリをZenodoと連携する

GitHubのリポジトリをZenodoと連携する

githubzenodo

😸Drupalのsimple_oauthモジュールを用いたRESTリソースのoauth2認証を試す

Drupalのsimple_oauthモジュールを用いたRESTリソースのoauth2認証を試す

oauthoauth2drupal

🗂Postmanを使って、DrupalのRESTリソースのcookie認証を試す

Postmanを使って、DrupalのRESTリソースのcookie認証を試す

drupal

🗂Drupal JSON Web Token Authenticationモジュールを試す

Drupal JSON Web Token Authenticationモジュールを試す

jwtdrupal

🤖さくらレンタルサーバ上のDrupalを更新する

さくらレンタルサーバ上のDrupalを更新する

drupal

🎃lando start時のエラー対応

lando start時のエラー対応

dockermaclando

🐕drushのコマンドの備忘録

drushのコマンドの備忘録

drupal

🙄Oxygen XML Editorのイメージマップエディタの使用例

Oxygen XML Editorのイメージマップエディタの使用例

xmlteioxygen

😺Nuxt3 x Vuetify x Cesium

Nuxt3 x Vuetify x Cesium

nuxtvuetifycesiumnuxt3

🎉Nuxt 3とDecap CMSを試す

Nuxt 3とDecap CMSを試す

nuxtcmsnuxt3decapcms

🐷AttributeError: 'ImageDraw' object has no attribute 'textsize'への対応

AttributeError: 'ImageDraw' object has no attribute 'textsize'への対応

pythonpillow

🎃Amazon SNSを用いたEC2上のVirtuosoの再起動

Amazon SNSを用いたEC2上のVirtuosoの再起動

awspythonec2sam

📝samでError: Running AWS SAM projects locally requires Docker...への対応

samでError: Running AWS SAM projects locally requires Docker...への対応

awsdockersam

Nuxt 3 x Composition APIでLeaflet Marker Clusterを試す

Nuxt 3 x Composition APIでLeaflet Marker Clusterを試す

nuxtvuevue3leaflet

🐥Nuxt3 x Vuetify x Cytoscape

Nuxt3 x Vuetify x Cytoscape

nuxtvuevue3nuxt3

🦔Cantaloupe: サービスとして実行する

Cantaloupe: サービスとして実行する

iiifcantaloupe

🐡Cantaloupe: Amazon S3に格納した画像を配信する

Cantaloupe: Amazon S3に格納した画像を配信する

awss3amazoniiif

🌟TEI Publisher: TEI Publisher Demo Collectionの可視化例①

TEI Publisher: TEI Publisher Demo Collectionの可視化例①

teiteipublisher

🦔Vue.js: Splitpanesを用いた際のiframeを含むpaneへの対処方法

Vue.js: Splitpanesを用いた際のiframeを含むpaneへの対処方法

vuevue3

😊Nuxt3でXMLをフォーマットしてシンタックスハイライト表示する

Nuxt3でXMLをフォーマットしてシンタックスハイライト表示する

nuxtxmltei

👏Visual Studio Code(VSCode)でVersioning Machine(VM5.0)を使用する

Visual Studio Code(VSCode)でVersioning Machine(VM5.0)を使用する

tutorialtei

🎉【Omeka S モジュール紹介】BulkExport:アイテムの詳細画面にエクスポート機能を追加する

【Omeka S モジュール紹介】BulkExport:アイテムの詳細画面にエクスポート機能を追加する

omekaomekasomekasmodule

Amazon OpenSearch ServiceでDisable autotuneを行う

Amazon OpenSearch ServiceでDisable autotuneを行う

awsopensearch

EC2に立てたArchivematicaをHTTPS対応する

EC2に立てたArchivematicaをHTTPS対応する

awsec2archivematica

👻CantaloupeのAccess Controlを試す

CantaloupeのAccess Controlを試す

iiifcantaloupe

📚Cantaloupeでinfo.jsonに値を追加する

Cantaloupeでinfo.jsonに値を追加する

iiifcantaloupe

🎃Cantaloupeのoverlayを試す

Cantaloupeのoverlayを試す

iiifcantaloupe

🌟EC2に立てたCantaloupeをHTTPS対応する

EC2に立てたCantaloupeをHTTPS対応する

iiifcantaloupe

🐷PyPIでtwo factor auth enabled...への対応

PyPIでtwo factor auth enabled...への対応

pypi2fanbdev

🦁IIIFイメージサーバの一つであるCantaloupeをEC2で起動する

IIIFイメージサーバの一つであるCantaloupeをEC2で起動する

awsjavarubyec2

💭mdxでNDL古典籍OCRを実行する

mdxでNDL古典籍OCRを実行する

ocrndlmdxjp

🐷Mirador2のPhysical Document Rulerを試す

Mirador2のPhysical Document Rulerを試す

iiifmiradormirador2

🐈Google Mapsの短縮URLから緯度経度を取得する際の備忘録

Google Mapsの短縮URLから緯度経度を取得する際の備忘録

pythonmap

🐙Mirador 3のmirador-annotationsプラグインとSimpleAnnotationServerを試す

Mirador 3のmirador-annotationsプラグインとSimpleAnnotationServerを試す

annotationiiifmirador

🐡【Omeka S モジュール紹介】Advanced Search adapter for Solr

【Omeka S モジュール紹介】Advanced Search adapter for Solr

apachesolromeka

🦔macOS版のCyberduckを使って、AWS S3の特定のバケットにアクセスする

macOS版のCyberduckを使って、AWS S3の特定のバケットにアクセスする

awss3cyberduck

🦔ブラウザの拡張機能を使って、GitHubの2FAに対応する

ブラウザの拡張機能を使って、GitHubの2FAに対応する

github2faotp

🎉npx nuxi typecheck実行時のエラー

npx nuxi typecheck実行時のエラー

nuxt3

🐥Virtuosoが停止した際の再起動のためのコマンド

Virtuosoが停止した際の再起動のためのコマンド

virtuoso

👻Cultural JapanのRDFストアに格納されている展覧会情報の活用

Cultural JapanのRDFストアに格納されている展覧会情報の活用

rdfsparql

📘Nuxt3でURLクエリの変更をwatchで監視する

Nuxt3でURLクエリの変更をwatchで監視する

nuxt3

😸Apache Solrのフィールドがどのようにインデックスされているか確認する方法

Apache Solrのフィールドがどのようにインデックスされているか確認する方法

apachesolr

🔥Omeka Classic IIIF Toolkitにデータを一括登録する

Omeka Classic IIIF Toolkitにデータを一括登録する

pythoniiifomeka

🐙Mirador3プラグイン開発: ウインドウをコピーする

Mirador3プラグイン開発: ウインドウをコピーする

reactiiifmiradormirador3

🐕wikibase.cloudでQuickStatementsを試す

wikibase.cloudでQuickStatementsを試す

csvwikidatawikibase

🐷WikibaseSyncを試す

WikibaseSyncを試す

pythonwikidatawikibasewikibasesync

🐡wikibaseのapiをつかってみる

wikibaseのapiをつかってみる

pythonwikibase

🎃Dataverseを試す

Dataverseを試す

pythondataverse

🐥wikibase.cloudを使ってみる

wikibase.cloudを使ってみる

wikibase

👏onClose propを使用する

onClose propを使用する

react

Mirador 3でビューポートが設定した制約を満たすようにズームを行う

Mirador 3でビューポートが設定した制約を満たすようにズームを行う

mirador

🌟Monaco EditorでLaTeXをハイライトする

Monaco EditorでLaTeXをハイライトする

latexmonaco

🔥Ace.jsでTeXをハイライトする

Ace.jsでTeXをハイライトする

javascriptlatextexace

📘Github Actionsを使ってGithubからEC2までのDjangoのCICD環境構築(2023版)

Github Actionsを使ってGithubからEC2までのDjangoのCICD環境構築(2023版)

awsdjangogithub

📘django-simple-history: Djangoでモデルの編集履歴を記録する

django-simple-history: Djangoでモデルの編集履歴を記録する

django

📌Django Rest Framework (DRF)で部分一致フィルタを実装する

Django Rest Framework (DRF)で部分一致フィルタを実装する

django

🙆‍♀️bagit-pythonを試す

bagit-pythonを試す

pythonbagit

📚DjangoのModelFormを使用してアップロードしたファイルのパスを取得する

DjangoのModelFormを使用してアップロードしたファイルのパスを取得する

django

🎉DjangoとAWS OpenSearchを接続する

DjangoとAWS OpenSearchを接続する

djangopythonelasticsearchopensearch

🐥Django REST framework で一括登録する

Django REST framework で一括登録する

django

djangoでJWTを使う(djangorestframework-simplejwt)

djangoでJWTを使う(djangorestframework-simplejwt)

djangojwt

📚DrupalのJSON:APIにおけるcorsエラーへの対応

DrupalのJSON:APIにおけるcorsエラーへの対応

corsdrupal

😺JSON:API関連のエラーへの対処方法

JSON:API関連のエラーへの対処方法

drupaldrush

🔖DrupalのJSON:APIの使用方法(includeと多言語対応)

DrupalのJSON:APIの使用方法(includeと多言語対応)

drupaljsonapi

🙄Drupal Key authを用いたコンテンツの登録と多言語対応

Drupal Key authを用いたコンテンツの登録と多言語対応

pythondrupaljsonapi

🦁Wagtailを試す

Wagtailを試す

pythonwagtail

😎ArchivematicaでBrowseがうまくできない場合の原因と対応

ArchivematicaでBrowseがうまくできない場合の原因と対応

archivematica

📘Amazon ECRのリポジトリを一括削除する

Amazon ECRのリポジトリを一括削除する

awsecr

🗂Django REST framework JSON:API(DJA)に独自のモデルのビューをカスタマイズする

Django REST framework JSON:API(DJA)に独自のモデルのビューをカスタマイズする

djangopython

📖Django REST framework JSON:API(DJA)に独自のモデルを追加する

Django REST framework JSON:API(DJA)に独自のモデルを追加する

djangopython

🌟Django REST framework JSON:API(DJA)を試す

Django REST framework JSON:API(DJA)を試す

djangopython

🔥OpenAPIとAWS CDKを用いてREST APIを作成する(Opensearch接続・カスタムドメイン)

OpenAPIとAWS CDKを用いてREST APIを作成する(Opensearch接続・カスタムドメイン)

awsopenapicdkopensearch

🦔GitHubのGUIを使ったファイルアップロードおよびファイル更新の方法について

GitHubのGUIを使ったファイルアップロードおよびファイル更新の方法について

github

👏Omeka SのImage Serverの設定について

Omeka SのImage Serverの設定について

iiifomeka

😊AWS CDK x CloudFront x S3 x Basic認証 x index.html対応 x 独自ドメイン

AWS CDK x CloudFront x S3 x Basic認証 x index.html対応 x 独自ドメイン

awsiaccdk

😸GoogleドライブとGoogle Apps Scriptを用いて匿名のファイルアップローダを作成する

GoogleドライブとGoogle Apps Scriptを用いて匿名のファイルアップローダを作成する

googlecloudgas

🍣Google スプレッドシートの更新をGitHubに通知する

Google スプレッドシートの更新をGitHubに通知する

cms

🐡Drupal: ネストされたフィールドを検索する一例

Drupal: ネストされたフィールドを検索する一例

drupal

👋Strapi: 深くネストされたフィールドで結果をフィルタリングする方法

Strapi: 深くネストされたフィールドで結果をフィルタリングする方法

strapi

🎃Drupal: カスタムモジュールを用いて、コンテンツタイプとフィールドを追加する

Drupal: カスタムモジュールを用いて、コンテンツタイプとフィールドを追加する

drupal

📌Drupal: カスタムRESTリソースを作成する

Drupal: カスタムRESTリソースを作成する

drupaliiif

💭VueUseを用いたテキスト選択(Nuxt3)

VueUseを用いたテキスト選択(Nuxt3)

nuxtvuevue3nuxt3

Next.js for DrupalにおけるDrupal Search APIを用いた検索(ファセット検索など)

Next.js for DrupalにおけるDrupal Search APIを用いた検索(ファセット検索など)

drupal

🍣Contentfulの全文検索は2文字以上の検索語が必要?

Contentfulの全文検索は2文字以上の検索語が必要?

contentful

💬Drupalのコンテンツの一括削除の方法

Drupalのコンテンツの一括削除の方法

drupaldrush

🙆‍♀️DrupalとAmazon OpenSearch Serviceを接続する

DrupalとAmazon OpenSearch Serviceを接続する

awsapidrupalsearch

😎DrupalでGraphQLを試す

DrupalでGraphQLを試す

graphqldrupal

🐡StrapiにGraphQLを追加する

StrapiにGraphQLを追加する

graphqlcmsstrapi

📑Pythonを使ってDrupalのタクソノミーの登録とコンテンツへの追加

Pythonを使ってDrupalのタクソノミーの登録とコンテンツへの追加

pythondrupal

🕌Pythonを使ってDrupalのコンテンツを更新・削除する

Pythonを使ってDrupalのコンテンツを更新・削除する

pythondrupal

🙄Pythonを使ってDrupalにコンテンツを追加する

Pythonを使ってDrupalにコンテンツを追加する

pythondrupal

🍣Amazon LightsailでStrapiを動かす(SSL, 独自ドメイン)

Amazon LightsailでStrapiを動かす(SSL, 独自ドメイン)

awsnodepm2strapi

💨ShExファイルを作成してみる

ShExファイルを作成してみる

rdf

🙄Nuxt3 x babylon.jsで.glbファイルをロードする

Nuxt3 x babylon.jsで.glbファイルをロードする

nuxtjavascript3dbabylon

🐙vue3とbabylon.jsの双方向のやりとり例

vue3とbabylon.jsの双方向のやりとり例

vue3babylon

🐡Hugging Face Spaceを用いたNDL古典籍OCRのウェブアプリ

Hugging Face Spaceを用いたNDL古典籍OCRのウェブアプリ

awsocrhuggingface

💡NDL古典籍OCRをAmazon EC2のCPU環境で実行する

NDL古典籍OCRをAmazon EC2のCPU環境で実行する

awsec2ocr

Nuxt.jsとNext.jsの比較

Nuxt.jsとNext.jsの比較

正規URLとは? (canonicalUrl)

正規URLとは? (canonicalUrl)

🕌Fuse.jsを使用した完全不一致検索(GPT-4による解説)

Fuse.jsを使用した完全不一致検索(GPT-4による解説)

javascriptsearchmismatcharraymethodfiltering

🐈TEI/XMLファイルからrespStmtのnameの値を抽出する方法(GPT-4による解説)

TEI/XMLファイルからrespStmtのnameの値を抽出する方法(GPT-4による解説)

pythonbeautifulsoupdataextractiontei

🐷Omeka Sのカスタムオントロジーを用いて作成した語彙を更新する

Omeka Sのカスタムオントロジーを用いて作成した語彙を更新する

omekaomekasomekasmodule

🙆‍♀️Nuxt 3でLeaflet Marker Clusterを試す

Nuxt 3でLeaflet Marker Clusterを試す

vue3leafletnuxt3

👏nbdevを使用する際の備忘録

nbdevを使用する際の備忘録

pythonnbdev

😸Fuse.jsを使用した完全不一致検索の部分的な実現

Fuse.jsを使用した完全不一致検索の部分的な実現

javascript

🙆‍♀️Amazon SageMaker Studioを用いたNDL古典籍OCRの実行

Amazon SageMaker Studioを用いたNDL古典籍OCRの実行

awsocr

【Babylon.js x Vue】click eventをvueにわたす

【Babylon.js x Vue】click eventをvueにわたす

vuebabylonnuxt3

🔥Babylon.jsでVueを使用するチュートリアルをNuxt3で試す

Babylon.jsでVueを使用するチュートリアルをNuxt3で試す

babylonnuxt3

😺Amazon LightsailにArchivesSpaceを立てる

Amazon LightsailにArchivesSpaceを立てる

archivesspace

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

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

nextjs

🔖ArchivematicaのAPIを試す(Storage Service API)

ArchivematicaのAPIを試す(Storage Service API)

archivematica

Nuxt3のSSRをVercelでホスティングする(+ CORSの有効化)

Nuxt3のSSRをVercelでホスティングする(+ CORSの有効化)

nuxtvercelnuxt3

🌟Babylon.jsとNuxt3とVuetifyを組み合わせて使用する

Babylon.jsとNuxt3とVuetifyを組み合わせて使用する

nuxtbabylonnuxt3

😎IIIF Presentation Validatorのローカル環境で利用方法

IIIF Presentation Validatorのローカル環境で利用方法

iiif

👋Google Colabを用いたNDL

Google Colabを用いたNDL

pythonmachinelearningocrndlocr

📌JPCOARスキーマを用いたxmlファイルのバリデーション

JPCOARスキーマを用いたxmlファイルのバリデーション

pythonxmlxsdjpcoar

🐥RELAX NGスキーマを操作するライブラリjingtrangを試す:rngファイルの作成編

RELAX NGスキーマを操作するライブラリjingtrangを試す:rngファイルの作成編

pythonxmlrng

🐈RELAX NGスキーマを操作するライブラリjingtrangを試す:検証編

RELAX NGスキーマを操作するライブラリjingtrangを試す:検証編

pythonxmlrngtei

🌊OpenSeaに画像を登録してみる

OpenSeaに画像を登録してみる

nftipfsmetamaskopensea

🦔Romaを用いてカスタマイズしたrngファイルを作成する:使用するTEIタグを限定する

Romaを用いてカスタマイズしたrngファイルを作成する:使用するTEIタグを限定する

tei

👻Nuxt3のssrでIIIF viewerを導入する

Nuxt3のssrでIIIF viewerを導入する

nuxtnuxt3iiif

nuxt3をamazon lightsailで公開する:pm2の使用

nuxt3をamazon lightsailで公開する:pm2の使用

amazonechoawspm2lightsail

📌TEI Boilerplateを試す

TEI Boilerplateを試す

tei

💨Omeka S 4.0.0 release candidateが公開されました。

Omeka S 4.0.0 release candidateが公開されました。

omekaomekas

🚀Omeka SのAPIへのアクセス制限

Omeka SのAPIへのアクセス制限

omekaomekas

👌EC2サーバセットアップ時のTODOメモ

EC2サーバセットアップ時のTODOメモ

awsec2

🔥Snorql for Japan Searchのカスタマイズ方法の調査

Snorql for Japan Searchのカスタマイズ方法の調査

rdfsparqlsnorql

🕌【Omeka S モジュール紹介】IIIF Searchモジュール

【Omeka S モジュール紹介】IIIF Searchモジュール

iiifomekaomekasomekasmodule

🦔Google ColabでTesseractを動かす(日本語対応)

Google ColabでTesseractを動かす(日本語対応)

pythoncolabtesseract

🍣【Omeka S モジュール紹介】PDFファイルに対してOCRを行うモジュール「Extract Ocr」

【Omeka S モジュール紹介】PDFファイルに対してOCRを行うモジュール「Extract Ocr」

omekaomekasomekasmodule

🙆‍♀️Vertex AIのworkbenchを使用した際、HuggingFaceのTrainer()が開始されない事象への対処法

Vertex AIのworkbenchを使用した際、HuggingFaceのTrainer()が開始されない事象への対処法

pythonmachinelearningvertex

👌Mroonga search モジュールのインストール(※うまくいきませんでした。)

Mroonga search モジュールのインストール(※うまくいきませんでした。)

omekaomekasomekasmodule

🐡ResourceSyncのPythonライブラリを試す

ResourceSyncのPythonライブラリを試す

pythonresourcesync

🌟iiif auth apiを試す

iiif auth apiを試す

iiif

😽TEIテキストの作成支援ツール「FairCopy」の紹介

TEIテキストの作成支援ツール「FairCopy」の紹介

iiiftei

🦁テキストマークアップツール「CATMA」の使い方

テキストマークアップツール「CATMA」の使い方

teicatma

🌟MediaWikiのTEI拡張を試す(結果:うまくいきませんでした。)

MediaWikiのTEI拡張を試す(結果:うまくいきませんでした。)

mediawikiwikitei

📘[TEI x JavaScript] Nuxt3で意図しないWhitespaceを削除する

[TEI x JavaScript] Nuxt3で意図しないWhitespaceを削除する

javascriptnuxt3tei

😊ultralytics/yolov5でのAttributeErrorへの対応

ultralytics/yolov5でのAttributeErrorへの対応

yoloyolov5

💭Nuxt 3のserver/apiでjsonファイルを操作する方法の一例

Nuxt 3のserver/apiでjsonファイルを操作する方法の一例

nuxtapinuxt3

💭Nuxt3をNetlifyおよびAWSにデプロイする方法の一例

Nuxt3をNetlifyおよびAWSにデプロイする方法の一例

awsnetlifynuxt3

💨TEI/XMLファイルを縦書きPDFに変換する方法の1例

TEI/XMLファイルを縦書きPDFに変換する方法の1例

pdfcolabteidocx

🌟選択したテキストに対するポップアップを表示するnpmパッケージを試作しました。

選択したテキストに対するポップアップを表示するnpmパッケージを試作しました。

npm

😸IIIFアイコンのドラッグ&ドロップ対応について

IIIFアイコンのドラッグ&ドロップ対応について

iiif

🙆[備忘録] maptilerのlightおよびdarkテーマ

[備忘録] maptilerのlightおよびdarkテーマ

maptiler

🐥Swagger UIのデモで初期表示するspecificationをgetパラメータで指定する

Swagger UIのデモで初期表示するspecificationをgetパラメータで指定する

swaggeropenapi

😽Omeka S IIIF ServerのIIIFマニフェスト(version 2)の出力内容

Omeka S IIIF ServerのIIIFマニフェスト(version 2)の出力内容

iiifomekaomekas

📑BeautifulSoupでxml:id属性を与える方法

BeautifulSoupでxml:id属性を与える方法

pythonbeautifulsoupxml

😺[Omeka S]Bulk Importの不具合対応(ソースコードからのインストール方法を含む)

[Omeka S]Bulk Importの不具合対応(ソースコードからのインストール方法を含む)

omekaomekas

🐡コマンドラインから virtuoso を手動で再起動または停止する方法

コマンドラインから virtuoso を手動で再起動または停止する方法

virtuoso

😸VGG16を用いた類似画像検索

VGG16を用いた類似画像検索

pytorchcolab

💬オートエンコーダ(自己符号化器)を用いた類似画像検索

オートエンコーダ(自己符号化器)を用いた類似画像検索

pytorchcolab

🚀[RDF] URIにアクセスしたらSnorqlの画面にリダイレクトさせる設定

[RDF] URIにアクセスしたらSnorqlの画面にリダイレクトさせる設定

rdfvirtuoso

🍣Hugging Face SpacesでJSONを返却する

Hugging Face SpacesでJSONを返却する

apiyolohuggingfacedetection

🐙AWS EC2を用いたVirtuoso RDFストアの構築

AWS EC2を用いたVirtuoso RDFストアの構築

awsec2rdfvirtuoso

💭Virtuoso RDFストアに対して、curlおよびpythonを用いてRDFファイルを登録・削除する方法

Virtuoso RDFストアに対して、curlおよびpythonを用いてRDFファイルを登録・削除する方法

pythonrdfvirtuoso

🙆Hugging Face SpacesとYOLOv5モデル(NDL-DocLデータセットで学習済み)を使った推論アプリの構築

Hugging Face SpacesとYOLOv5モデル(NDL-DocLデータセットで学習済み)を使った推論アプリの構築

machinelearninghuggingface

👻Elasticsearch 上のデータをローカルにダンプする

Elasticsearch 上のデータをローカルにダンプする

elasticsearch

💭NDL-DocLデータセットとYOLOv5を用いたレイアウト抽出モデルを作成しました。

NDL-DocLデータセットとYOLOv5を用いたレイアウト抽出モデルを作成しました。

colabyoloocrdetection

💡Google Colabを使って、パスからGoogle DriveのフォルダのIDを取得する

Google Colabを使って、パスからGoogle DriveのフォルダのIDを取得する

colabdrive

👌Hugging FaceモデルをAWS Lambdaでホスティングし、サーバーレス推論を実現する

Hugging FaceモデルをAWS Lambdaでホスティングし、サーバーレス推論を実現する

awslambdahuggingface

🔥Amazon Lightsailを用いたOmeka Classicサイトの構築(独自ドメイン+SSL化を含む)

Amazon Lightsailを用いたOmeka Classicサイトの構築(独自ドメイン+SSL化を含む)

omeka

💬Elastic Searchにおける異なるキーと値(ラベルとID)を持つアグリゲーション

Elastic Searchにおける異なるキーと値(ラベルとID)を持つアグリゲーション

elasticsearch

🐡Google Colabを用いたNDLOCRアプリの使い方の動画を作成しました。

Google Colabを用いたNDLOCRアプリの使い方の動画を作成しました。

ocrcolab

📑AWS Copilotを用いたOmeka Sデータの定期バックアップ

AWS Copilotを用いたOmeka Sデータの定期バックアップ

awsecscopilotomeka

🎉Mirador 3にmirador-image-toolsプラグインを追加して、1つのjsファイルにまとめて配布する方法

Mirador 3にmirador-image-toolsプラグインを追加して、1つのjsファイルにまとめて配布する方法

iiifmirador

🌊ファイルのアップロード(python)とダウンロード(php)

ファイルのアップロード(python)とダウンロード(php)

phppython

🐷python-docxを用いたMicrosoft Wordファイルの作成:テンプレート、int2kanjiの利用など

python-docxを用いたMicrosoft Wordファイルの作成:テンプレート、int2kanjiの利用など

pythondocx

🐙Google ColabからGoogle Spreadsheetのデータを取得するサンプルノートブック

Google ColabからGoogle Spreadsheetのデータを取得するサンプルノートブック

googlespreadsheetgooglecolabspreadsheet

🐙【備忘録】sam deployを行う際のprofileの指定

【備忘録】sam deployを行う際のprofileの指定

sam

💡AWS SAMを用いたローカル開発時におけるError building docker imageへの対応

AWS SAMを用いたローカル開発時におけるError building docker imageへの対応

sam

💬gdriveを用いたOmeka Sの簡易バックアップ

gdriveを用いたOmeka Sの簡易バックアップ

awslightsailomekaomekas

😽Using gdrive in a LAMP environment started with Amazon Lightsail

Using gdrive in a LAMP environment started with Amazon Lightsail

awsgdrive

🦔Amazon Lightsailで起動したLAMP環境でgdriveを使用する

Amazon Lightsailで起動したLAMP環境でgdriveを使用する

awsgdrive

🤖What to do when

What to do when

gascolab

🚀「Google ドライブでエラーが発生しました。」が生じた時の対処方法:共有ドライブのゴミ箱を空にするスクリプト

「Google ドライブでエラーが発生しました。」が生じた時の対処方法:共有ドライブのゴミ箱を空にするスクリプト

gascolab

🐥Google Colabを用いたgcv2hocrの実行例:Google Vision APIを用いた透明テキスト付きPDFファイルの作成

Google Colabを用いたgcv2hocrの実行例:Google Vision APIを用いた透明テキスト付きPDFファイルの作成

colabocrgcv

🎉Google Colabを用いたGoogle Drive上のファイルの削除方法

Google Colabを用いたGoogle Drive上のファイルの削除方法

colab

🐥Google Colabを用いたNDLOCRアプリのVersion 2を作成しました。

Google Colabを用いたNDLOCRアプリのVersion 2を作成しました。

colabocr

🙌Google Colabを用いたNDLOCRアプリの更新:Sigle input dir modeの追加

Google Colabを用いたNDLOCRアプリの更新:Sigle input dir modeの追加

colab

📚Google Colabを用いたNDLOCRの実行にかかる時間について

Google Colabを用いたNDLOCRの実行にかかる時間について

pythonmachinelearningcolabocr

🐥Google Colabを用いたndl-lab図表自動抽出プログラムの実行

Google Colabを用いたndl-lab図表自動抽出プログラムの実行

machinelearningcolab

👌Google Colabを用いたNDLOCRアプリの実行(Google Driveを用いた画像の入力と結果の保存)

Google Colabを用いたNDLOCRアプリの実行(Google Driveを用いた画像の入力と結果の保存)

machinelearningcolabocr

📝Amazon Lightsailを用いたOmeka Sサイトの構築(独自ドメイン+SSL化を含む)

🤖Amazon Lightsailを用いたOmeka Sサイトの構築(独自ドメイン+SSL化を含む)

Amazon Lightsailを用いたOmeka Sサイトの構築(独自ドメイン+SSL化を含む)

awslightsailomekadigitalarchive

👋Google Cloud PlatformのCompute Engineを用いたNDLOCRアプリの実行

Google Cloud PlatformのCompute Engineを用いたNDLOCRアプリの実行

dockermachinelearningocr

👋The New York Public LibraryのAPIを使ってみる

The New York Public LibraryのAPIを使ってみる

apijsoncolab

🗂serverless-iiifで対応可能な画像サイズに関する実験

serverless-iiifで対応可能な画像サイズに関する実験

awslambdaimagemagickiiif

🚀LeafletのVue3での使用例(座標範囲の取得を含む)

LeafletのVue3での使用例(座標範囲の取得を含む)

vuevue3leaflet

🌟Vuetifyでダイアログを開いたときにダイアログ内にフォーカステキストフィールドを設定する

Vuetifyでダイアログを開いたときにダイアログ内にフォーカステキストフィールドを設定する

vuevuetify

😊Nuxt.jsでstaticディレクトリなどもホットリロードの対象にする方法

Nuxt.jsでstaticディレクトリなどもホットリロードの対象にする方法

nuxt

📚IIIF Presentation APIのバリデーション方法とその実例の紹介ほか

IIIF Presentation APIのバリデーション方法とその実例の紹介ほか

apiiiif

🙆GCP: AI Platform Notebooksの作成時のエラー対応

GCP: AI Platform Notebooksの作成時のエラー対応

aigcpvertex

📖GCP Vertex AIの特徴量(featurestore)の削除方法

GCP Vertex AIの特徴量(featurestore)の削除方法

aigcpvertex

📝【使い方編】国立国会図書館「次世代デジタルライブラリー」で公開されているOCR結果をIIIFビューアで閲覧するアプリを作成しました。

📝【AWS関連】AWS Lambda + Docker + pyvipsを用いたPyramid Tiled Tiffファイルの作成

😽pyvipsの使い方とPyramid Tiled Tiffファイルの作り方

pyvipsの使い方とPyramid Tiled Tiffファイルの作り方

colablibvipsiiifpyvips

📑【備忘録】Maplatの使い方

【備忘録】Maplatの使い方

gismaplat

🙆カレンダー検索アプリを作成しました。

カレンダー検索アプリを作成しました。

vue

📝【AWS関連】AWS Lambdaを用いた物体検出API(Flask + yolov5)の構築

📑AWS Lambdaを用いた物体検出API(Flask + yolov5)の構築

AWS Lambdaを用いた物体検出API(Flask + yolov5)の構築

awsflaskpythonlambda

🙄【Omeka Sモジュール】Clean Urlの使い方

【Omeka Sモジュール】Clean Urlの使い方

omekaomekas

📝Omeka Classic + IIIF Toolkitを用いたアノテーション付与環境の構築方法を説明するまとめ記事とZennの本を作成しました。

📝【まとめ記事】Omeka Classic + IIIF Toolkitを用いたアノテーション付与環境の構築

📝Omeka Classic + IIIF Toolkitを用いたアノテーション付与環境の構築: チャプター4 アノテーションの付与

📝Omeka Classic + IIIF Toolkitを用いたアノテーション付与環境の構築: チャプター3 IIIFマニフェストの登録

📝Omeka Classic + IIIF Toolkitを用いたアノテーション付与環境の構築: チャプター2 IIIF Toolkitプラグインのインストール

Omeka Classicのインストール

Omeka Classicのインストール

omekaomekaclassic

【まとめ記事】Omeka.net(Classic)の使い方

【まとめ記事】Omeka.net(Classic)の使い方

omekaclassicomekaomekanet

📝Omeka.net(Classic)の使い方:チャプター7 ユーザーの管理

📝Omeka.net(Classic)の使い方:チャプター6 シンプルページ

📝Omeka.net(Classic)の使い方:チャプター5 展示ビルダ

📝Omeka.net(Classic)の使い方:チャプター4 タグを管理する

📝Omeka.net(Classic)の使い方:チャプター3 アイテムの追加

📝Omeka.net(Classic)の使い方:チャプター2 サインアップとプラン選択

📝Omeka.net(Classic)の使い方:チャプター1 概要

🐈【Google Colab】はてなブログのAtomPub APIを用いた記事一覧の取得

【Google Colab】はてなブログのAtomPub APIを用いた記事一覧の取得

pythoncolabhatena

📝【AWS関連】Flaskを用いてyolo5モデルを公開するリポジトリのECRとAWS App Runnerでの使用方法

🚀Flaskを用いてyolo5モデルを公開するリポジトリのECRとAWS App Runnerでの使用方法

Flaskを用いてyolo5モデルを公開するリポジトリのECRとAWS App Runnerでの使用方法

awsflaskmachinelearningyolo

📝【AWS関連】AWS App Runner + ECR 利用時におけるHealth check on port "XXXX"の対処方法の一つ

🎉AWS App Runner + ECR 利用時におけるHealth check on port

AWS App Runner + ECR 利用時におけるHealth check on port

awsecrapprunner

【開発者向け】AWS x Nuxt.js x Elasticsearchを用いた検索アプリケーションの開発環境の構築

【開発者向け】AWS x Nuxt.js x Elasticsearchを用いた検索アプリケーションの開発環境の構築

nuxtelasticsearchaws

Bulk Importによるリソースクラスの登録方法・設定編集ほか

Bulk Importによるリソースクラスの登録方法・設定編集ほか

omekasomekasmoduleomeka

Google Drive内のファイルオーナーの一括更新プログラムを作成しました。

Google Drive内のファイルオーナーの一括更新プログラムを作成しました。

gas

【備忘録】Googleドライブ上のフォルダ一括削除プログラム(例)を作成しました。

【備忘録】Googleドライブ上のフォルダ一括削除プログラム(例)を作成しました。

colab

Omeka Sモジュールのインストール方法

Omeka Sモジュールのインストール方法

omekasomekasmoduleomeka

Bulk ImportによるCSVファイルを用いたメタデータの一括更新

Bulk ImportによるCSVファイルを用いたメタデータの一括更新

omekasomekasmoduleomeka

Omeka Sの日本語による全文検索の注意点とMroonga searchモジュール

Omeka Sの日本語による全文検索の注意点とMroonga searchモジュール

omekasomekasthemeomekasmoduleomeka

Pythonを用いたTEI/XMLファイルの分析サンプルプログラムを作成しました。

Pythonを用いたTEI/XMLファイルの分析サンプルプログラムを作成しました。

tei

IIIFマニフェストファイルからの画像一括ダウンロードプログラムを作成しました。

IIIFマニフェストファイルからの画像一括ダウンロードプログラムを作成しました。

iiif

📝Omeka S IIIF Serverモジュールにおいて、外部のImage Serverを利用する方法

Omeka S XML Viewerモジュールの使い方

Omeka S XML Viewerモジュールの使い方

omekasomekasmoduleteiomeka

【固定した記事】デジタルアーカイブシステムの技術ブログへようこそ

【固定した記事】デジタルアーカイブシステムの技術ブログへようこそ

Omeka S Mirador モジュールの使い方

Omeka S Mirador モジュールの使い方

iiifmiradoromekasomekasmodule

Omeka Sに関する記事まとめ

Omeka Sに関する記事まとめ

omekasomekasmoduleomeka

gdownでエラーが出た場合の対処法

gdownでエラーが出た場合の対処法

IIIFマニフェストファイルからTEIのfacsimile要素を作成するプログラムを作成しました。

IIIFマニフェストファイルからTEIのfacsimile要素を作成するプログラムを作成しました。

iiiftei

📝Flaskを用いてyolo5モデルを公開するリポジトリの紹介とカスタムモデルのロード方法

📝Omeka S IIIF Serverモジュール使用時におけるcors policyの設定について

JavaScriptのquerySelector()でxml:idに特定の値を持つ要素を取得する方法

JavaScriptのquerySelector()でxml:idに特定の値を持つ要素を取得する方法

teimemo

【Omeka S・開発】Omeka Sにダミーデータを登録するためのCSVファイルを作成するプログラムを作成しました。

【Omeka S・開発】Omeka Sにダミーデータを登録するためのCSVファイルを作成するプログラムを作成しました。

omekasomeka

【Omeka S モジュール紹介】Mappingモジュールの使い方(特にCSVインポートモジュールを用いた一括登録)

【Omeka S モジュール紹介】Mappingモジュールの使い方(特にCSVインポートモジュールを用いた一括登録)

omekasomekasmoduleomeka

【Omeka S モジュール開発】アイテムの詳細画面に各種エクスポートリンクを設置するモジュールを開発しました。

【Omeka S モジュール開発】アイテムの詳細画面に各種エクスポートリンクを設置するモジュールを開発しました。

omekasomekasmoduleomeka

【Omeka S モジュール開発】IIIFマニフェストにIIIF Content Search APIのURIを追加するモジュールを開発しました。

【Omeka S モジュール開発】IIIFマニフェストにIIIF Content Search APIのURIを追加するモジュールを開発しました。

omekasomekasmoduleiiifomeka

【Omeka S モジュール情報共有】Clean Urlモジュールの不具合と暫定の修正方法

【Omeka S モジュール情報共有】Clean Urlモジュールの不具合と暫定の修正方法

omekasomekasmoduleomeka

ジャパンナレッジで検索を行うChrome拡張機能を公開しました。

ジャパンナレッジで検索を行うChrome拡張機能を公開しました。

chrome-extension

Mirador 3のimage tools(画像の回転など)を初期表示で有効にする方法

Mirador 3のimage tools(画像の回転など)を初期表示で有効にする方法

iiifmirador

【Omeka S モジュール紹介】Omeka Sで利用可能なIIIF対応ビューア

【Omeka S モジュール紹介】Omeka Sで利用可能なIIIF対応ビューア

iiifmiradoromekasomekasmodule

【機能開発】Omeka SのIIIFモジュールで、目次を加える機能を追加しました。(その2:階層構造を持つ目次の登録)

【機能開発】Omeka SのIIIFモジュールで、目次を加える機能を追加しました。(その2:階層構造を持つ目次の登録)

iiifomekasomekasmoduleomeka

【機能開発】Omeka SのIIIFモジュールで、目次を加える機能を追加しました。(その1:フラットな目次の登録)

【機能開発】Omeka SのIIIFモジュールで、目次を加える機能を追加しました。(その1:フラットな目次の登録)

iiifomekasomekasmoduleomeka

【機能開発】Omeka SのIIIF Serverモジュールにおけるライセンスプロパティの不具合修正

【機能開発】Omeka SのIIIF Serverモジュールにおけるライセンスプロパティの不具合修正

iiifomekasomekasmoduleomeka

【和訳】Omeka S IIIF Serverモジュールの目次情報の追加方法

【和訳】Omeka S IIIF Serverモジュールの目次情報の追加方法

translationomekasomekasmoduleiiif

Mirador 3をページ内の特定の領域に埋め込む方法

Mirador 3をページ内の特定の領域に埋め込む方法

iiifmirador

Oxygenの自動整形機能においてlbタグの前で改行する方法

Oxygenの自動整形機能においてlbタグの前で改行する方法

tei

Mirador 3をNuxt.jsで使用する方法を紹介するリポジトリを作成しました。

Mirador 3をNuxt.jsで使用する方法を紹介するリポジトリを作成しました。

iiifmirador

【Omeka S Tips】WindowsでBulkImportモジュールを使用する際の注意点

【Omeka S Tips】WindowsでBulkImportモジュールを使用する際の注意点

omekasmoduleomekastipsomeka

【Omeka S Tips】アイテムの新規登録における各サイトへの自動追加の設定について

【Omeka S Tips】アイテムの新規登録における各サイトへの自動追加の設定について

tipsomekasomeka

【Omeka S モジュール紹介】Numeric Data Types:日付データに対する範囲検索を可能にする、など

【Omeka S モジュール紹介】Numeric Data Types:日付データに対する範囲検索を可能にする、など

omekasomekasmodulerdfomeka

Nuxt.jsでvis.jsを使用する方法を紹介するGitHubリポジトリを作成しました。

Nuxt.jsでvis.jsを使用する方法を紹介するGitHubリポジトリを作成しました。

vuenuxtnetworktimeline

【Omeka S モジュール紹介】Metadata Browse:同じメタデータを持つアイテムを検索するリンクを付与する

【Omeka S モジュール紹介】Metadata Browse:同じメタデータを持つアイテムを検索するリンクを付与する

omekasomekasmoduleomeka

【Omeka S モジュールカスタマイズ】OaiPmhRepository:独自語彙の作成

【Omeka S モジュールカスタマイズ】OaiPmhRepository:独自語彙の作成

customizationomekasomekasmoduleoaipmh

📝【Omeka S モジュール紹介】Advanced Search Plus:詳細検索機能を拡張する

【FOSSメモ】CollectiveAccess

【FOSSメモ】CollectiveAccess

memodigitalarchive

📝【Omeka S モジュール紹介】Custom Ontology:独自語彙を追加する

【Omeka S Tips】既存の標準語彙の追加方法

【Omeka S Tips】既存の標準語彙の追加方法

omekastipsrdflinkeddata

【アプリ紹介】IIIF pocketのご紹介

【アプリ紹介】IIIF pocketのご紹介

culturaljapaniiifapplication

【Omeka S マニュアル和訳】リソース > アイテム

【Omeka S マニュアル和訳】リソース > アイテム

omekasmanualtranslationomeka

【Omeka S Tips】メタデータの言語属性の設定方法

【Omeka S Tips】メタデータの言語属性の設定方法

omekastipsomeka

【Omeka S モジュール紹介】Item Sets Tree

【Omeka S モジュール紹介】Item Sets Tree

omekasdigitalarchiveomekasmoduleomeka

【Omeka Sモジュール紹介】IIIF Server / Image Server / Universal Viewer

【Omeka Sモジュール紹介】IIIF Server / Image Server / Universal Viewer

iiifomekasomekasmoduleomeka

Omeka Sの導入に関する参考資料

Omeka Sの導入に関する参考資料

omekasomekasmoduleomeka

Cultural Japanで集約したIIIFマニフェストをまとめたIIIFコレクションのご紹介

Cultural Japanで集約したIIIFマニフェストをまとめたIIIFコレクションのご紹介

rdfculturaljapaniiif

Mirador 3をVueで使用する方法を紹介するリポジトリを作成しました。

Mirador 3をVueで使用する方法を紹介するリポジトリを作成しました。

miradoriiifvue

【機能開発】Omeka SのIIIF ServerモジュールにおけるImage APIを使用しない設定の追加

【機能開発】Omeka SのIIIF ServerモジュールにおけるImage APIを使用しない設定の追加

iiifomekasdigitalarchiveomekasmodule

「起絵図」のIIIF実装

「起絵図」のIIIF実装

iiifutdigitalarchives

透過光画像を使ったIIIFアプリケーション

透過光画像を使ったIIIFアプリケーション

iiifutdigitalarchives