アーカイブ
1010 件の記事を年月別にまとめています
2026167
5月
- IIIF 3D Viewer を Presentation API 4 に対応させる — 既存マニフェストの v4 変換器
- TEI/XMLの翻刻データから統計ページをCI/CDで自動更新する — 『校異源氏物語』テキストDBの事例
- 東北大学デジタルアーカイブの公開 API 調査 — OAI-PMH 経由で setSpec ごとに Excel 出力する
- 📥researchmap業績登録の選択肢整理と、個人ユーザー向けPlaywright実装
- YAML設定で運用するNext.js管理コンソール — 複数サイト・複数アクションの一元化
- GitHub App と Cloudflare Access で構築する組織向け管理コンソール
- Drupal の Automatic Updates が動かない: `Unattended background updates` がデフォルトで無効になっている話
4月
- ElevenLabs v2 と v3 の日本語朗読品質比較 — 自分の声を学習させた合成音声による A/B 検証
- Mirador (4.0.0) の Annotations タブに OCR が出ない — supplementing motivation の落とし穴
- アクセス制御付き IIIF デジタルアーカイブの構築 — Cloudflare Access で守る Cantaloupe + S3 + Elasticsearch + Next.js
- 📅調整さんの出欠回答を Playwright で自動入力し、Claude Code 経由の Google Calendar MCP で判定する構成
- NDL古典籍OCR-LiteとCloud Vision APIの出力差 — 酉蓮社所蔵嘉興版大蔵経『大般若経』105画像での観測
- 🖼️Cantaloupe IIIFサーバから serverless-iiif への移行記録
- 💀フレームワーク移行後も退役してくれない旧 Service Worker を kill-switch SW で撤去する
- 外部組織管理のサブドメインを Cloudflare Workers に向ける — AWS CloudFront + WAF を前段に挟んだ記録
- ボットスクレイピングをAWS WAFで止めた記録 — Geo block・JA3 fingerprint・UA blockまで段階的に
- 📚DH週間トピックス — 2026年4月19日週
- 既存リバースプロキシのオリジンに CloudFront + WAF を後付けする実践パターン
- 研究者番号からCiNii Articlesのリンクを生成する方法 — NII研究者IDの仕組み
- 📚DH週間トピックス — 2026年4月12日週
- 🤖mdx.jp上のvLLMをCloudflare Tunnel経由でOpenAI互換APIとして公開する
- 🚀mdx.jpのA100 x2でLLM-jp-4 32B ThinkingをvLLMサーブし、OpenAI互換APIから使う
- 🧪MacBook Pro M4 Max 128GBでLLM-jp-4をローカル実行し、OllamaのOpenAI互換APIから使う
- Cloudflare Zero TrustでSSHを保護する
- S3互換ストレージでアップロードが失敗するときの対処法
- Cloudflare Tunnelで学術サーバを安全に公開する
- ネームサーバの仕組み
- Elasticsearch → Static JSON / D1 移行検証 — 小規模データなら全文検索エンジンは不要だった
- Vercel ProをHobbyに下げるためにNext.jsアプリをCloudflare Pagesに移行した
- AWS AmplifyからCloudflare Pagesへの移行 — Next.js APIサーバーの月額$23→$0化
- rcloneを使ってGoogle Drive共有ドライブの容量を調査・整理する
- 📚DH週間トピックス — 2026年4月5日週
- 🚶Avaturn アバターに Mixamo 歩行アニメーションをリターゲット:Blender CLI から Three.js ランタイムまで
- 🗂️Cantaloupe IIIF画像サーバーのパフォーマンスチューニング
- 🥽Next.js + React Three Fiber で Meta Quest 対応 VR ビューアを作る:@react-three/xr v6 実装記
- 📊Next.js APIルートでExcelJSを使い、別シート参照ドロップダウン付きテンプレートを動的生成する
- 🗄️Dockerで運用するOmeka Sのバックアップ手順
3月
- 🏯IIIF VR ビューア:WebXR + A-Frame で文化資源を原寸大で体験する
- 📖NDLOCR-LiteをPythonスクリプトからライブラリとして呼び出す方法
- 🤗YOLOv5モデルをHugging Face Hub & Spacesにデプロイする手順
- KotenOCR Android版の開発記録 — FlutterからKotlinへの移行とその理由
- 📚DH週間トピックス — 2026年3月28日週
- 📏Mirador 4向け実寸ルーラープラグインの開発
- 🎨AI画像生成で3つのiOSアプリアイコンをリデザインした実践記録
- Zenn記事の一括移転通知設定 — Playwrightと内部APIによる508記事の自動処理
- Hugo + Tailwind CSS v4による独自テーマの作成とHugo Themesギャラリーへの登録
- 🔄App Store審査リジェクト後の修正・再提出をApp Store Connect APIで実行する
- 🎨AI画像生成でiOSアプリアイコンを作るためのプロンプトテンプレート
- 🛡Firebase不要:Apple標準ツールだけでiOSアプリを運用する
- 🔍ジャパンサーチAPIを活用した文化資源探索アプリの開発とApp Store公開
- TEI XMLのスタンドオフ注釈をインライン化する際の落とし穴とDOM操作による解決
- 📺YouTube StudioでVTT字幕ファイルをアップロードする手順
- 🗺IIIF画像をAR空間に実寸配置するiOSアプリ「IIIF AR」の開発
- 🧠iOS OCRアプリのメモリ起因クラッシュの調査と対策
- 🔍KotenOCR: 近代OCRの検出重複を解消する(NMS追加とクラスフィルタリング)
- 🖼️Universal Viewer 4.xの「Unknown content type」エラーとローカルホスティングによる対処
- 🎬YouTube Studioで英語字幕(VTTファイル)をアップロードする手順
- ⏰Apple Sales Reports APIのデータ反映時刻とYouTube APIのクォータリセットを実測した
- 🤖Claude Codeを使って動画に多言語字幕を自動生成し、IIIF v3マニフェストで公開する
- 🎬デジタル源氏物語 動画字幕プロジェクト:IIIF v3マニフェストによる多言語字幕の公開
- 📜KotenOCR v1.3.0:古典籍と近代活字の両対応OCRモードを追加
- 📚DH(デジタル人文学)ツール情報の自動収集・記事生成システムの構築
- 📚DH週間トピックス — 2026年3月21日週
- ⚡Swift ConcurrencyでOCR認識処理を並列化し最大6.7倍高速化する
- 🔍ジャパンサーチの類似画像検索APIの内部構造
- 📜KotenOCR:くずし字をオフラインで認識するiOSアプリの開発と公開
- 🗄️Yahoo News記事のローカル保存手段の比較(SingleFile・Playwright・ArchiveBox・WARC・yt-dlp)
- 📸App Storeのスクリーンショット生成をPython+UIテストで完全自動化する
- 📚LoRAによる書名からのNDC(日本十進分類法)自動分類の試み
- 🔗researchmapの科研費と業績の紐付けをPlaywrightで自動化した
- 🚀Cantaloupe IIIFサーバーのキャッシュ最適化で画像配信を最大7.6倍高速化した
- 🔓ContentfulでPublishボタンが押せない原因と解決方法 — ロケール設定の落とし穴
- 🤖Claude Codeで6件のGitHub Issueを並行対応:worktreeとagentの活用
- 🔍schema.org 構造化データで Google Search Console のインデックス問題を改善する
- 📝CATMA:テキストアノテーション・分析プラットフォームの活用ガイド
- 📊Datawrapper:研究者・ジャーナリストのためのデータ可視化ツール
- 🎬Flourish:インタラクティブなデータストーリーテリングプラットフォーム
- 📜FromThePage:クラウドソーシングで歴史文書を翻刻する
- 🕸️Gephi Lite:ブラウザで使えるネットワーク可視化ツール
- 📝Hypothes.is:W3C準拠のオープンソースWebアノテーションツール
- 🏛️Internet Archive:世界最大のデジタルアーカイブを活用する
- 🌍Kepler.gl:大規模地理空間データを美しく可視化するオープンソースツール
- 🔍Mirador:IIIF画像の比較・分析に最適なオープンソースビューア
- 📊Observable:D3.js作者が作ったデータ可視化ノートブック
- 🏛️Omeka:デジタルコレクションとオンライン展示のためのプラットフォーム
- 🗺️Palladio:人文学データの可視化プラットフォーム活用ガイド
- 📊RAWGraphs:ノーコードでデータを美しく可視化するDHツール
- 💾ReplayWeb.page:ブラウザで動作するWebアーカイブ再生ツール
- 🌍StoryMapJS:地図ベースのストーリーテリングツール活用ガイド
- 🏷️Taguette:無料で使えるオープンソース質的データ分析ツール
- 📜TEI Publisher:TEI XMLデジタルエディション出版プラットフォーム
- ⏳TimelineJS:スプレッドシートで作るインタラクティブ年表ガイド
- ✍️Transkribus:AIによる手書き文字認識で歴史文書を読み解く
- 🖼️Universal Viewer:IIIFに対応したマルチメディアビューアの決定版
- 🔍Voyant Tools:ブラウザで完結するテキスト分析プラットフォーム
- 🔍Wikidata Query Service:SPARQLで探る知識グラフ活用ガイド
- 📜TEI/XMLサイトをVercelで高速デプロイ:XSLT変換をsaxon-jsで自動化する
- TETRAS-IIIF:Mirador 4向けアノテーション・動画・マルチユーザー拡張
- IIIF Georeference Viewer:地理参照コンテンツを地図上で可視化するツール
- Mirador:IIIFコンテンツを比較・注釈できる高機能ビューア
- Tify:軽量・高速なIIIFドキュメントビューア
- Universal Viewer:画像・音声・動画・3Dに対応したIIIFビューア
- 🗺️MapLibre GL JS でカスタムマーカーがズーム時にずれる問題と GeoJSON レイヤーによる解決
- Claude Codeの並列エージェントで882本のブログ記事から解説動画を自動生成した話
- 🔄App Store Connect APIでiOSアプリのアップデートを審査提出する方法
- 💰App Store Connect APIでiOSアプリにチップ(Tip Jar)機能を追加する完全ガイド
- 🚀Astro 4 から 5 へのアップグレード記録
- 📸Chrome Headless の --screenshot で画面下部に白い余白が出る問題と対処法
- 📜TEI/XMLサイトをVercelで高速デプロイ:XSLT変換をsaxon-jsで自動化する
- 🎭Three.js + Puppeteer で VRM キャラクターを動かして動画を自動生成する
- 📜DTS (Distributed Text Services) 1.0 正式リリースへの対応 ― TEI/XMLテキストAPIの仕様更新記録
- 🔍DTS Viewer の改善 ― 複数 Citation Tree 対応・階層ナビゲーション・XML ブラウザ表示
- 📚歴史資料をAIで検索できるRAGアプリを作った技術スタック
- 🚀App Store Connect APIだけでiOSアプリを審査提出する手順
- 👁DOCX → TEI/XML 変換ツールに CETEIcean を使ったプレビュー機能を追加した
- ⚡XSLT処理を5倍高速化:Saxon-JSからSaxon-HEへの移行
- 🌐ethers.jsのエラーメッセージを多言語化する「ethers-i18n」を作った
- 🎞IIIF絵巻物をAI動画で動かす:Video Annotationという新しいアプローチ
2月
- はてなブログの記事を一括で非公開にする方法(AtomPub API)
- 📄TEI Garage APIを使って、DOCX → TEI/XML 変換ツールをブラウザだけで作った
- 👋Hypothes.is APIでWebアノテーションをエクスポートしてTEI/XMLに変換する
- 📝OpenITI mARkdownからTEI XMLへの自動変換ツール「oitei」を試す
- 💬GakuNin RDM APIをNode.jsで操作する — プロジェクト作成からGitHub+Vercel自動デプロイまで
- 🎃ethers.js v6 の日本語チュートリアルを作った
- 😽Annotoriousの描画モードがproduction buildでだけ壊れる
- 🕌GakuNin RDM Search API (`/api/v1/search/`) 調査メモ
- 📚DH週間トピックス — 2026年2月22日週
- 🐥Google Workspace 管理者権限なしで Google Groups のメンバーを API で一括管理する
- 🐡Archivematica における非DCメタデータの登録検証 ── source-metadata.csv を使ったEADの組み込み
- 🌟AtoM REST APIによるデジタルアーカイブ構築の検証
- 📑AtoMのREST APIを拡張するプラグインを開発した話
- 🐥AlfrescoをDockerで起動し、REST APIでレコード管理のライフサイクルを体験する
- 🚀IIIFマニフェストを用いたテキスト比較ツールの開発
- 📝Drupal の GitHub Webhook モジュールを改善しました。
- 📑Netlify CLIを使って不要なサイトを一括削除する
- 🚀Drupal 10 の管理画面からモジュール更新とコアアップデートを行う
- 🐡Mirador 4 で外部マニフェストのウィンドウタイトルだけを差し替える
- 🐈Next.js 15 で発生する `localStorage.getItem is not a function` エラーの原因と対処法
- 📝SPARQL クライアントを Apache Jena Fuseki に対応させるときにハマった 3 つのこと
- 👋Snorql — 複数の SPARQL エンドポイントを手軽に探索できるブラウザ UI を公開しました
- 😊Mirador ビューア埋め込み設定
- 🦁Omeka SのIIIF Serverモジュールで、PLYファイルがIIIFマニフェストのitemsに出力されない問題の調査
- 🐷3D Gaussian Splatting Viewer の開発 - Spark.jsを使ったブラウザ実装
- ✨3D点群データの世界:PLY、ガウシアンスプラッティング、Potreeの関係を整理する
- 📖KAKEN OpenSearch API の使い方
- 🎃Three.js + React Three Fiber で GLTF モデルのテクスチャが荒く表示される問題と解決策
- 🙆Nuxt Content + trailingSlash設定で静的ファイルへのリンクが404になる問題と解決策
- 💬IIIF Georeference ViewerへのLinked Places Format対応
1月
- 🐡Mirador 4用回転プラグインの開発とnpm公開
- 💬静的サイトでIIIF Content Search APIを実現する - Service Workerによるクライアントサイド検索
- 💬JavaScriptの演算子優先順位の罠 - Vercelビルドエラーの原因を探る
- 😸Sketchfab APIでGLBファイルをダウンロード・表示するWebアプリを作る
- 🐈ODD編集Tips:その1
- 🔖Next Auth (Auth.js v5) の本番環境で AUTH_URL が必須な理由
- 🕌YOLOv11xモデルをHugging Faceに公開する
- 📖IIIF画像をWeb Tile Map Serviceで配信する
- 📖Nuxt 3 プロジェクトのパッケージ更新まとめ
- 🕌IIIF Georeference to XYZ Tiles
- 👋Azure OpenAI Whisper + Speech Services で動画に英語字幕・音声を自動生成する
- 🌟Eclipse EDCを使ったデータスペース入門 - ローカル環境でデータ交換フローを体験する
- 🐈@elastic/react-search-ui を React 19 + Next.js 15.5 で使う方法
- 🐥GLBファイルのDraco圧縮 - 87%のサイズ削減と精度への影響
- 📝300万点超の点群データをブラウザで快適に表示する - Potree LODビューアの構築
- 😸mirador-annotations を Mirador 4.x へ移行した記録
- 🎃mirador-rotation-plugin 機能拡張
- 🐕Next.js + next-auth で GakuNin RDM と OAuth2 連携する
- ✨【AWS Amplify】さくらのドメインでカスタムドメイン設定時にハマったポイント
2025172
12月
- ⛳Dydra JSON-LDシリアライゼーションの挙動と回避策
- 👋GakuNin RDM Waterbutler API でアップロードしたファイルの詳細画面に遷移する方法
- 📘Pinata V3 API グループ機能の実装ガイド
- 👻さくらレンタルサーバー Drupal 更新手順
- 📝IIIF Manifestから各巻の冒頭ページを抽出するツールを作成しました
- 🐥CloudFront + App Runner で 404 エラーが発生する問題の調査記録
- 📖Nuxt 4 SSGでローカルJSONファイルを正しく読み込む方法
- 👌MapLibre GL JS + れきちず で多言語対応の歴史地図を実装する
- 🙄TEI ODDによるIIIF対応ファクシミリ記述の制約設計
- 🐕ODD Chain チュートリアル
- 👻TEI古典籍ビューワをカスタマイズして判読不能箇所(gap)を表示する
- 🌟Mirador 4で任意の領域をハイライト表示する方法
- 🌟Mirador 4でキャンバス指定と検索語ハイライトを同時に実現する方法
- 💬RAWGraphs 2.0 の日本語化
11月
- 🚀Next.js + next-intl での言語切り替え実装ガイド
- 🐕vipsによるピラミダルタイルTIFF作成と圧縮方式の比較
- 🚀アノテーション表示のパフォーマンス改善
- 📌傾いた文字のアノテーションとIIIF画像切り出し
- 🌟Elasticsearch/OpenSearch クラスタ間のデータ移行ガイド
- 🙆♀️Docker + GitHub Actions デプロイ設定
- 🐥360度動画・写真から歪みのないサムネイル画像を作成する方法
- 📝Insta360動画ファイルからGPS情報の有無を機械的に判別する方法
- 👻Deep Zoom画像を完全復元:タイル画像からBigTIFFへの変換技術
- 🐷BDRC Tibetan OCR:チベット語OCRツールの紹介と実装事例
- 🐕Cesium 1.135.0におけるマーカー位置ズレ問題と解決方法
- 👻Protoweb:90年代のインターネットを体験できるタイムマシン
- ✨OCFLによる長期デジタル保存の実践 - 入門ガイド
- 📘MacでHexエディタを使うなら「HexEd.it」:HxDの代替ツールガイド
- 📘DROIDで見つける隠れたファイル形式の問題:デジタル保存の必須ツール
10月
- ✨自動遷移機能を持つIIIF画像座標エディタの開発
- 🐡Odeuropa Visualization: SKOS語彙とSPARQLを活用した香りデータの可視化プラットフォーム
- 👌Omeka Sで独立した作者データベースを構築する方法
- 💨Leaflet-IIIFでのアノテーション座標変換の完全ガイド
- 🐈Omeka-S Docker環境を別サーバーに移行する完全ガイド
- 🦔RDFSとSHACLの使い分け:rangeとpropertyShapeの関係を理解する
- 🐷GakuNin RDMとDydraを連携したRDFメタデータ管理システムの開発
- 📑Odeuropa Explorer の語彙階層構造を調査する
- 🔖DydraへのAPI経由でのRDFデータ登録ガイド
- 🕌TEI Processing Modelで実現する宣言的なマルチフォーマット変換
- ⛳Miradorの表示方向を外部から制御する方法
- 💭Odeuropa:歴史的文献から匂いを抽出するLinked Dataの世界
- 👋Omeka-SのMroongaSearchモジュールで日本語全文検索を実現する
9月
8月
- 🌟Azure Container AppsでNDL古典籍OCR Liteを用いたスケーラブルOCR処理システム
- 🌟Omeka Sのテーマ更新とモジュール改修
- 🐙Omeka SにPROV-Oオントロジーを登録する方法
- 💬画像コレクション管理ツール 技術アーキテクチャ解説
- 🌊「画像コレクション管理」ツールの使い方ガイド
- 🎉IIIF Georeference ViewerのMapLibre GL移行と機能改善
- 🎉Omeka Sテーマの多言語化
- 🙄Cantaloupeでdelegate scriptを使ってAzure Storage上のファイルパスを動的に変換する方法
- 🔖Omeka Sの使い方を調べる
- 🎃RELAX NGとSchematronを組み合わせたTEI XMLスキーマの実装ガイド
- 😺Docker環境でDrupal 10にWDBモジュールをセットアップする手順
7月
- 📑生成AIを用いてプロジェクトに特化したrngファイルを作成する
- 🙆Omeka S Docker の紹介:デジタルコレクションのための最新かつセキュアなソリューション
- 📌IIIF 3D Viewerを試作しました。
- 💡「前近代日本-アジア関係資料デジタルアーカイブ」のビューアを試す
- 🌟Next.js 15対応 多言語・ダークモード対応SSGテンプレート
- 😎Next.js 15 で output: 'export' 使用時の sitemap.ts 実装方法
- 🐡Next.js × Search UI × Fuse.js 検索アプリケーション
- 📚IIIF認証API 2.0の動作確認
- 📖Recogitoを用いたテキストアノテーションを試す
- 🔥GitHub File History Analyzerの紹介:ファイル編集履歴をAIで分析するツール
- 🌊Transkuribusを試す
- 🚀grlc (git repository linked data API constructor)を試す
- 📖Odeuropaに関連するツールを試す
- 🚀「れきちず x Next.js」にルートの登録機能を追加しました。
- 🐈DToC: Dynamic Table of Contextsを試す
- 💬Ontotext GraphDBのデスクトップ版を使用した際の空きディスク容量不足への対処
- 😽AllegroGraphを使ってみる
6月
- 🐈DHConvalidatorにおける'ref'に関する不具合への対応
- 🐥校異源氏物語テキストDBに対する検索を行うMCPサーバの構築
- 💨校異源氏物語テキストDBに対する検索を行うAPIサーバの構築
- 📝Minecraft Modでお城生成コマンドを作ってみた【Fabric 1.21 + Claude活用】
- 👋デジタル文化財管理システム(試行版)のNFT対応
- 🙄NDL古典籍OCR-Liteを用いて、IIIFマニフェストファイルからTEI/XMLファイルを作成する
- 🗂ブロックチェーンとPinata IPFSを使用したデジタル文化財管理システムの試作
- 😸その2:NDL古典籍OCR-Liteを用いたアノテーション付きIIIFマニフェストファイルとTEI/XMLファイルの作成
- 🐙Omeka SのIIIF Serverモジュールを使用した階層構造を持つ目次の記述
- 📖MCPサーバーを使って、Omeka Sにリソース(アイテムと画像)を登録する
- 🙆DrupalのJSON:APIでcreatedやchangedに対するフィルタを適用する
- ⛳DTS Viewerの更新:ページネーションへの対応
- 📌IIIF Presentation API v2のIIIFコレクションで、ページネーションを使う
5月
- 🔥Drupalで管理者以外のユーザーにも設定画面へのアクセスを許可する方法
- 📘NDL古典籍OCR-Liteを用いたアノテーション付きIIIFマニフェストファイルとTEI/XMLファイルの作成
- 😊IIIFマニフェストファイルから画像URLの一覧を含むCSVファイルを作成する
- 📚DrupalでJSON形式のFieldを扱うための「JSON Field」モジュールを使用する
- 🌟TEI/XMLファイルをS3互換のオブジェクトストレージでホストする
- 😽校異源氏物語テキストDBのDTS(Distributed Text Services) APIの更新
- 🎃Dockerによるディスク圧迫の調査と対処法【Ubuntu 22.04 運用事例】
- 👋IIIF画像に対する多角形アノテーション支援ツールの改修
- 🐕DTS (Distributed Text Services)のビューア開発
- 📖Annotorious v2のpolygonツールを使って、polylineを作成する
4月
- 👏Elasticsearch Search UIでの初期ソート順の指定方法
- 👋Vercelにデプロイしたexpressについて、vercel.jsonによるcors対応を行う
- 📚ArchivematicaのPreservation planningにおいて、Normalizationのルールを追加する
- 🐷MDX.jpのオブジェクトストレージに対するIPアドレス制限の実装方法
- 🙌Google Cloud Vision APIとGakuNin RDMを用いたTEI/XMLファイル作成アプリの試作
- 👋「れきちず x Next.js」サイトにルートの登録機能を追加しました。
- 😸Nuxt i18nのブラウザ言語検出を無効化する方法
- 📌れきちずをNext.jsで使用する
- 😊IIIFの多角形アノテーションをTEI/XMLで表現する一例
- 🐈IIIF画像に対して、多角形のアノテーションを付与するツールを作成しました。
- 😺Next.js 15 App Router で Tailwind CSS V4 を使用してダークモードを追加する方法
- 📖Error: Do not use <img>. Use Image from 'next/image' instead.への対応
3月
- 👌Omeka Sのモジュールアップデート情報(2025-03-27)
- 🌟CETEIceanとXPathを使って特定の要素にスクロールする
- 🦁Mirador 4プラグイン開発:任意の角度で画像を回転するプラグインで、角度の初期値を設定できるようにしました。
- 😎Mirador 4で、初期読み込み時に、画像の回転や範囲指定を行う
- 💡mdx Iのオブジェクトストレージに対するproxyサーバの構築
- 🦔Next.jsでUniversal Viewerのnpmパッケージを使用する
- 👻GakuNin RDMのAPIを用いて、連携したストレージのファイルを検索する
- 🐷GakuNin RDMのストレージに、mdx.jpのオブジェクトストレージを追加する
- ⛳LEAF WriterとGakuNin RDMを用いたTEI/XMLファイルの編集環境の試作
- 🦁GakuNin RDM(OSF)のAPIで、フィルタを使う
- 🕌Nuxt Content: Cannot find name 'queryContent'.への対応
- 🍣IIIF georeference extensionの可視化ツールの改修
- 📚AWSのRoute 53で設定したレコードを、さくらレンタルサーバで使用する(共有SSL)
- 📝TEI/XMLから検索システムを構築する際のDTS(Distributed Text Services)のdts:wrapperの応用例
- 🦁Miradorで画像を表示し、CETEIceanでテキストを表示するサンプルアプリ
- ⛳Omeka Sで非公開サイトを共有する
- 📚AtoM(Access to Memory)のAPIを使って、オブジェクトを登録してみる
- 👻AtoM(Access to Memory)をDockerで起動する
- 📘ピラミッドTIFFの作成において、ImageMagickがうまく動作しないケースがある?
- 👋ArchivesSpaceをDockerで起動する
- 🙆♀️Omeka Sのファイルをmdx.jpのオブジェクトストレージに保存する
- 📑mdx.jpのオブジェクトストレージとIIP Image(IIIF Image Server)を使ってIIIF画像を配信する
- 😊s3fs を使用してmdx.jpのオブジェクトストレージをファイルシステムのようにマウントする方法
- 🌊Algolia における「a に x を含み、b に y を含む」部分一致検索の調査
- 🐥WordファイルをTEI XMLに変換する方法:TEIgarage APIの活用ガイ
- 😸DrupalのSortableviewsモジュールを使って、コンテンツを並び替えて、その結果をフィールドに保存する
- 🐷Next.js + CETEIcean + React TEI Routerを使ったビューア開発
- 🦁Next.js for Drupal の BASE_PATH 問題と修正方法(patch-package活用)
- 😊DrupalのSearch API Algoliaモジュールを試す
- 🤖DrupalのJSON:APIを用いて、ユーザ名とパスワードでデータ登録を行う
2月
- 🗂Next.jsで多言語対応の静的サイトを構築する
- 🐥大きな画像から部分画像の座標を取得する方法
- 🙄Mirador3のFirebase連携annotationsプラグインにおいて、メールアドレスによる登録を可能にしました。
- 👌vttファイルからTEI/XMLを作成する
- 💡clover-iiifをNext.jsで使用する
- 🙆Mirador 3の mirador-annotations プラグインで、付与したアノテーションをダウンロードする
- 🙆Mirador 3の mirador-annotations プラグイン向けに、Firestore用のアダプタを開発しました。
- 💨Algoliaでページネーションの上限を変更する
- 🗂異体字リストを取得するためのAPIの試作
- 🗂Next 15(React 19 を使用)で、@react-three/fiberとdreiを使う
- 🌊Omeka Sにサイズが大きいファイルをアップロードする
1月
- 🎉IIIFマニフェストファイルからOCR結果を含むTEI_XMLファイルを作成するプログラム
- 📑校異源氏物語に対する類似テキスト検索アプリを作成しました。
- 💨Omeka SのImage ServerでのCORS対応
- 📝Alfrescoのファイルに対して、Archivematicaを使ってAIPを作成する
- 👋Alfresco Governance Services Community Editionを起動する
- 😎XSLTを使いながらTEI/XMLファイルを編集する
- 📖DataverseのデータをArchivematicaで処理する
- 💭VSCodeとXSLTを用いたTEI/XMLのリアルタイムプレビュー
- 💭校異源氏物語テキストDBのTEI/XMLからPDFを作成する
- ✨@sidebase/nuxt-authのローカル認証を試す
- 🙆♀️Nuxt3と@sidebase/nuxt-authを使って、Drupalの認証を行う
- 🐷Omeka S: Advanced Searchモジュールに対応したテーマを探す
- 📘NextAuth.jsを使ってDrupalのOAuthを利用する
- 😎AppSheetを使ってデジタルコレクションを構築する
- 🐡Azure Logic Appsを試す
- 🌊Azure OpenAI Assistants APIを用いたアプリをGradioとNext.jsで作成する
- 🐡Kompakkt Standalone Viewerを試す
- 👻Pythonを使ってOmeka Sにメディアをアップロードする方法
- 🐙Sketchfabのアノテーションを試す
2024258
12月
- ✨objファイルをgltf, glbファイルに変換する
- 💡aleph-r3fを試す
- 🙄Aleph 3D viewerを試す
- 🙌Cantaloupe: Microsoft Azure Blob Storageに格納した画像を配信する
- 🦔Azureの仮想マシンを用いたNDLOCRのGradioアプリ構築
- 🎉ndlocr_cli(NDLOCR(ver.2.1)アプリケーションを試すことができるGradioアプリを作成しました。
- 😊CollectionBuilderを使ってみる
- 🦁Nuxt3と@sidebase/nuxt-authを使って、GakuNin RDMの認証を行う
- 🙆Azure OpenAIとLlamaIndexとGradioを用いたRAG型チャットの作成
- 💭「教科書の中の源氏物語LOD」を使ってみる
- 📌Peripleoを試す
- 😊「れきちず」を使ってみる
- 🙌インターネット上で公開されているCSVファイルのための簡易ビューアを開発しました
- 🔥NDL古典籍OCR-Liteを用いたGradio Appを作成しました。
- 👏ジオコーディングのライブラリを試す
- 🔖Omeka SのIIIF Serverモジュールで、表示方向を指定する
- 😺mdx.jpのオブジェクトストレージに保存したIIIFマニフェストファイルをNestJSから利用する
11月
- 😺LLMに関するメモ
- 😺openai-assistants-quickstartの微修正
- 🔥NDL古典籍OCR-Lite(ndlkotenocr-lite)をMac OSで使用する
- 🐷Archivematicaのtransferにおいて、processing_configを使う
- 😎GakuNin RDMとfigshareを接続する
- 😸GakuNin RDMをNext.jsから使用する
- 😸GakuNin RDMのAPIを使って、ファイルのアップロードなどを行う
- 🐙NextAuth.jsを使って、ORCID・The Open Science Framework・ GakuNin RDMの認証を行う
- 👌OldMaps Onlineを使ってみる
- 🐥Knight LabのTimelineJSやStoryMapJSをNext.jsから利用する
- 📘YOLOv11xと日本古典籍くずし字データセットを用いた文字の検出モデルの構築
- 🙄mdx.jpを用いてYOLOv11のクラス分類(くずし字認識)の学習を試す
- 🗂Omeka Sの特定のvocabularyのプロパティ一覧を取得する
- 🐥Omeka SのCustom Vocabモジュールを使って、他のアイテムを関連づける
- 🔥mdx.jpの1GPUパックとOllamaを使ってローカルLLMを実行する
- 😸XSLTを使ってIIIFとTEIの対照表示を実現する
- 🙆Google Cloud Vision APIを用いて、単一ページから構成される透明テキスト付きPDFを作成する
- 🐷ZoteroのAPIをNext.jsから使う
10月
- 🦔LEAF WriterのEditor Toolbarをカスタマイズする
- 💨ArchivematicaのMETSファイルの内容を可視化するPythonライブラリ
- 😎LEAF WriterをNext.jsから使用する
- 😎Romaを使ってタグの属性に使用可能な値を限定する
- 🙌Romaを使ってプロジェクトに応じたタグに使用する属性を限定する
- ✨GakuNin RDM APIをつかってみる
- 🙌GakuNin RDMとZoteroを接続する
- 🙆Archivematicaにmdx.jpのオブジェクトストレージを追加する
- 🐥ShExCとShExJの違い
- 🐕ShExとSHACLの違い
- 😺Omeka SのModel Viewerモジュールを試す
- 🐈@samvera/rampビューアのFiles/Markersタブの使用方法
- ✨Omeka SのOAI-PMHリポジトリのresumptionTokenの不具合への対応
- 😎(非標準)Omeka SのOAI-PMH RepositoryモジュールでDeleteレコードを出力してみる
- 📚iiif-prezi3を使って、動画に目次を付与する
- 🌟iiif-prezi3を使って、動画に字幕を設定する
- 🚀iiif-prezi3を使って、動画にアノテーションを付与する
- 📖GakuNin RDMとAmazon S3を接続し、Archivematicaでファイルを処理する
- 😺iiif-prezi3を使って、動画に関するIIIF v3マニフェストを作成する
- 🌊Next.jsでアンダースコアから始まるURLセグメントを利用する
- 🐈@elastic/search-uiのsetFilterの不具合対応
- 🔖Omeka Sのテーマの一覧を視覚的に確認するページを作成するプログラム
- 🙄rico-converterを試す
- 📌Hugging Face SpacesとYOLOv5モデル(顔コレデータセットで学習済み)を使った推論アプリの構築
- 💬ModuleNotFoundError: No module named 'huggingface_hub.utils._errors'対応
- 👋Omeka Sで3Dモデルを公開する
- 📚pythonを使ってcvatのデータを操作する
- 🎉Omeka SでのCSRF: Value is required and can’t be emptyエラーへの対応
9月
- 🦁[2024年版] AWSサーバーレスアプリケーションによるIIIF Image Serverの構築
- 🕌Drupalのカスタムモジュールで、カスタム権限を使用する
- 👌校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIのGitHubリポジトリ
- 🚀校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIを作成する
- 🌊DTS(Distributed Text Services)を使ってみる
- 📑DTSとCTSの関係
- 🎉MyCapytainライブラリを試す
- 👋Canonical Text Serviceを試す
- 🐥IIIF Presentation API v3でsvgを使ったアノテーション記述
8月
- 🐷Archivematicaでフォルダにメタデータを登録する際には、日本語のフォルダ名は避ける
- 👌GUIE(Google Universal Image Embedding)の学習済みモデルを使用して類似画像検索を行う
- 🐕DrupalからGitHubのActionsを実行するモジュールを作成しました。
- 🐡Nuxtで@elastic/search-uiを使ったサンプルリポジトリを作成しました。
- 📖縦書きに対応したText Overlay pluginを導入済みのMiradorのリポジトリ
- 🎃Archivematicaのサンプルデータ
- 🙆♀️ArchivematicaのNormalizationの挙動の確認
- 💡DrupalのFacetsで並び順を指定する
- 😊TropyのデータをOmeka Sにエクスポートする
- 🚀DrupalのSearch APIで非公開コンテンツをインデックスしないようにする
- 😊Annotorious OpenSeadragon Pluginを使ったサンプルプログラム
- 🤖Drupalでフィールド単位で公開・非公開を設定する
- 👋Drupal:
- 😺画像ファイルに対してGoogle Cloud Visionを適用して、IIIFマニフェストおよびTEI/XMLファイルを作成する
7月
- 🙄Omeka Sのv4.0.4からv4.1へのアップデートに伴うエラー対応
- 🐥Omeka Sの更新
- 🐷Omeka SのBulkExportを使って、特定のアイテムの指定した項目のみをエクスポートする
- 🔖Pythonを使ってRDFデータをDydraに登録する
- 📝OpenAIでストレージ内のすべてのファイルを削除する
- 🐈nuxt3-leafletで、指定したマーカーを前面に表示する
- 🚀LEAF Writer: Miradorを追加する
- 😽Omeka S IIIF Serverモジュール[3.6.19, 3.6.20]の不具合
- ⛳vsdxファイルからrdfファイルを作成するライブラリ
- 🌟concurrent.futures.process.BrokenProcessPoolへの対処
- 👻Node.jsを使って、JSON:APIに準拠しているかを検証する
- 🎉virtual-museum-tour-threejsを試す
- 👏OAI-PMHリポジトリからPythonでレコードを全件取得する
- 😺Omeka SのOaiPmhリポジトリモジュールにおいて、アイテムが公開されいているサイトページのURLを取得する
- ⛳DrupalのREST APIを使って、複数のコンテンツを一括削除する
- 👻音声資料に関するIIIFマニフェストファイルに画像を追加する
- 🙆IIIF Audio/Visual: 複数のvttファイルを記述する
- 🔥ZoteroのAPIとStreamlitを使ったアプリ開発
- 💨字幕付きの音声ファイルをIIIFビューアで表示する
- 📘mdx.jpのオブジェクトストレージに複数ファイルをアップロードする
- 👋国立国会図書館 歴史的音源で公開されている音声をmp4に変換する
- 🙆Rampをカスタマイズする
- 👌Rampをローカルで起動する
- ⛳URLの引数で指定したIIIFマニフェストに対して、Mirador 3のannotationsプラグインを試す
- 🐕mdx.jpのオブジェクトストレージとCantaloupe Image Serverを使ってIIIF画像を配信する
- 📝mdxのオブジェクトストレージを使用する(Cyberduckの利用)
- 💡Mirador 3でScroll Viewを使う
- 👋Docker + Traefikで運用するDrupalのリバースプロキシ設定
- 💡Traefikでhttpsにリダイレクトさせる
- 🙆♀️IIIF対応ビューアの一覧の調査例
- 💭Chromeでサイズが大きい動画が再生できない
- 😸Omeka SのSetEnv APPLICATION_ENVのproductionとdevelopmentの違い
- 🐥TraefikでHTTPS化した複数コンテナを運用する
- 🙌Omeka S GoogleAnalyticsモジュールの不具合対応
- 🙄Amazon S3とRoute 53を使ってリダイレクトする
- 🙆Docker版のOmeka SでCORS対応を行う
- 🐈IIIFのCanvas URIなどを一括置換する際のコマンド
- 🐈Omeka SのBulkImportを使用する際の設定例
- 📚Omeka SのBulkImportモジュールの不具合
- 😽Omeka SのIIIF ServerモジュールでのCORSエラー
- 🙄Service with name “Omeka\Acl” could not be created
- 🎃‘session.name’ is not a valid sessions-related ini setting
6月
- 😽LEAF Writer: サンプルデータの追加方法
- 🙌LEAF Writer: Image Viewerの使い方
- 🌊LEAF Writer:CSSのカスタマイズ
- 🍣LEAF Writer:スキーマのカスタマイズ
- 📝Google スプレッドシート + GAS(Google Apps Script)でonEditが2回実行されてしまう
- 🎃RDF、TurtleやJSON-LD、およびIIIFマニフェストファイルなどの関係を理解する
- 🐈校異源氏物語・本文テキストデータリポジトリで公開しているTEI/XMLを一部更新しました。
- 📑LEAF Writer:Japan Searchに対するEntity Lookup
- 🌟LEAF Writer:日本語UIの追加
- ⛳mirador-sync-windowsのMirador 4版のリポジトリを公開しました。
- 🙄Mirador 4プラグイン開発:任意の角度で画像を回転する
- 🙆♀️カスタマイズしたMirador 4をnpmパッケージとして公開する
- 🙆♀️Mirador 4の拡大・縮小・回転の挙動を確認する
- 🙄LEAF-Writerをローカル環境で動かす
- 💨zenodoで資料を公開する
- 💡Mirador 2のプラグインの挙動を確認する
- 📝macOSでnbdev使用時のエラー対応
- 🐙Linked Dataを使ったデータ記述の応用例
- 📖ズーム操作を無効化するMirador 3(4)向けプラグインの開発
- 📘prefix.ccを利用する
- 💬RDFデータの追加と可視化に関する備忘録
- 💭Content Negotiationを使って、PythonでURIからRDFを取得する
- 📌mirador-sync-windowsのM3版を作成しました。
- 👏iiif-prezi3を試す
- 🔖ArchivematicaをDockerで起動する
- 💡Archivematicaの日本語ファイル名変換を修正する
- 😎mirador-sync-windowsを試す
- 🐡東寺百合文書WEBのデータをIIIFに変換する
- 🤖https://wikidata.reconci.link/の一部を試す
- 👌Omeka SのCustomOntologyモジュールを使って、クラスやプロパティを追加する
- 💡Omeka-S-module-FixCjkSearchのv4.1.0をリリースしました。
- 😽Omeka Sの部分一致検索時のアクセントの区別
- 🔖DHCフォーマットの中身を確認する
- 👻Zoteroの使用メモ
- 🙌a3mを試す
- 🙆♀️StrapiでCSPのエラーが発生した際の対処法
- 📑さくらのVPSでSSH接続ができなくなった場合の対処法
- 😎docker-compose コマンドでコンテナを再起動すると同時にビルドも行う
- 🌟StrapiのData transferを試す
- 🐕Drupal: Prepopulateモジュールを使って、事前に入力する値を設定する
- 🐕Microsoft Visioを使ってRDFデータを作成する
- 👋「ARC2によるRDFグラフの視覚化」をPythonで利用する
- 📚tropy-plugin-iiifを試す
- 🎉@iiif/parserを試す
- 📘ndlocr_cli実行時の共有メモリ不足への対応ほか
- 📚Omeka Sで動画を公開する
- 🔖ndlocr_cliをdockerでインストールした後の容量
5月
- 👏プログラムを使ってDrupalにログインする
- 🎉Drupalで登録済みのコンテンツをCSV形式で一括エクスポートする
- 🔖WordPress REST APIで非公開の投稿も含めて検索する
- 🐡Drupalのイベントをトリガーとして、GitHub Actionsを起動する
- 🐡YOLOv5モデル(文字領域検出)を使った推論アプリ
- 👏Drupalで翻訳がないノードの一覧を取得する
- 🦔mdxでJupyter Labを起動する
- ✨Hugging Face SpacesとYOLOv5モデル(NDL-DocLデータセットで学習済み)を使った推論アプリの修正
- 👌ultralyticsplus: ValueError: Invalid CUDA 'device=0' requested...への対処
- 😺IIIF Curation ListをTEIのfacsimile要素に変換する
- 📘Japan Search利活用スキーマを使ったentity-lookupの試作
- 🙌cwrcのwikidata-entity-lookupを試す
- 🙆CWRC XML Validator APIを試す
- 📚RELAX NGとSchematron
- 👏TEI PublisherのODDの設定例①
- 👌Docker版のTEI Publisherを使用する
- 👋PythonでXML文字列を整形する
- 😺CMYKカラーの画像から色を反転させないconvertの方法
- 💨RDFストアのトリプル数を数える2: 共起頻度
- 🙆♀️RDFストアのトリプル数を数える
- 👏DrupalのSearch APIにおいて、大文字・小文字を無視して検索する
- 🙌TEIGarageを試す
- 🐙(機械翻訳)The TEI Archive
- 👌デジタルアーカイブ関連ツールの試作: 主にIIIFの利用支援
4月
- 🍣Input value "page" contains a non-scalar value.への対処
- 🍣AWS CLIを使用したS3バケットの一括削除
- ✨NDLTSR (NDL Table Structure Recognition)を試す
- 💨「SAT大蔵経DB 2018」で公開されているテキストの分析例
- 🚀Node.jsでXML文字列をパースする
- 🐡researchmapで論文等にリンクを貼る
- 🕌LlamaIndex+GPT4+gradio
- 📝Editor.jsでインラインのマーカーツールで作成する
- 😽Editor.jsのmax-widthを変更する
- 🐈Linuxシステムで特定のグループに所属しているユーザーを確認する
- ✨Bootstrap 5を用いたOmeka Sのテーマver 4.0.2をリリースしました。
- ⛳Omeka SのAdvanced Searchモジュールでの部分一致検索
- 👌Omeka Sの検索結果に表示する項目を指定する
- 💨Omeka Sで独自の検索ページを作成する
- 📘学習指導要領コード推薦アプリのAPIを使用する
- 📑学習指導要領コードの推薦アプリの試作
- 😎researchmapのapiを使う
- 🎉学習指導要領LODを使う
- 📑TEI/XMLの可視化例:Leafletを用いた地図表示
- 😺HuTimeの暦変換サービスを使って、和暦を西暦に変換する
3月
2月
- 📚METSFlaskを試す
- 😎Access to MemoryのRESTful APIを試す
- 📌ArchivesSpaceのRESTful APIを試す
- 🐡DACSとISAD(G)の違い
- 🙌Omeka ClassicとOmeka Sの違い
- 🦁ArchivesSpaceのOAI Repositoryを試す
- 🗂Access to MemoryのOAI Repositoryを試す
- 🔖AIPscanを試す
- 📖メディア芸術データベースのSPARQLエンドポイントをYasguiで使ってみる
- 🔖Omeka Sの詳細検索画面で絞り込み項目を限定する
- 🌊sidebase/nuxt-authをproduction環境で使う際のTips
- 🤖sphinxを用いた作成されたドキュメントサイトに日本語訳を追加する
- 🌟GitHub ActionsとSCPを使って、さくらのレンタルサーバにビルド結果をコピーする
- 🎃MariaDBでのmysqldump: not foundへの対応
- 💭Omeka Sの一括登録用モジュール: Bulk Importの使い方(2024-02版)
- 🚀Mirador 3でPresentation API v2のマニフェストが表示できない時の対処例
- 📝Omeka SのモジュールIIIF Viewersの更新
- 🙆Next.jsを用いたTEI/XMLファイルの簡易ビューアを作成しました
- 📚nginx-proxyでの 413 Request Entity Too Large エラーの対処法
- 🙆♀️ArchivematicaでAmazon S3を処理対象およびAIPの保存先に設定する
- 👻Universal Viewerにおける画像のコマ指定方法の一例
1月
- 🍣Docker版Cantaloupeを使用して、S3バケットにアクセスしSSL通信を行う方法
- 👏File Information Tool Set (FITS)を試す
- 🐡Docker版のCantaloupeを試す
- 📌Drupal: FeedsモジュールでURLからファイルを登録する
- 🐥Drupalでファイルを一括削除する方法
- 🔖GitHub Actionsの処理結果をメールで通知する: Gmailの使用
- 😽Omeka Sで非公開ファイルを扱う
- 📌Amazon Lightsail上に立てたOmeka SからAmazon SESでメールを送信する
- 🐈Omeka Sのテーマの一覧を視覚的に確認するページを作成しました。
- 🙆デジタル源氏物語における校異源氏物語と現代語訳の対応づけ
- 💭ro-crate-pyを試す
- 🦁GitHubのリポジトリをZenodoと連携する
- 😸Drupalのsimple_oauthモジュールを用いたRESTリソースのoauth2認証を試す
- 💡DrupalのSocial Auth GitHubモジュールを試す
2023198
12月
- 🗂Postmanを使って、DrupalのRESTリソースのcookie認証を試す
- 🗂Drupal JSON Web Token Authenticationモジュールを試す
- 👋Drupal REST & JSON API Authenticationモジュールの調査
- 🤖さくらレンタルサーバ上のDrupalを更新する
- 🐡Drupalモジュール開発: 異体字を考慮した検索を行う
- 🎃lando start時のエラー対応
- 🐕drushのコマンドの備忘録
- 😽DrupalでJSON:API Search APIを使用する際のページネーションエラー
- 🙄Oxygen XML Editorのイメージマップエディタの使用例
- 🗂Allmapsを使ってジオリファレンスを行う
11月
- 😺Nuxt3 x Vuetify x Cesium
- 🎉Nuxt 3とDecap CMSを試す
- 🐷AttributeError: 'ImageDraw' object has no attribute 'textsize'への対応
- 🎃Amazon SNSを用いたEC2上のVirtuosoの再起動
- 📝samでError: Running AWS SAM projects locally requires Docker...への対応
- ✨Nuxt 3 x Composition APIでLeaflet Marker Clusterを試す
- 📘Universal Viewer v4を使ったページの作成例
- 🐥Nuxt3 x Vuetify x Cytoscape
- 🦔Cantaloupe: サービスとして実行する
- 🐡Cantaloupe: Amazon S3に格納した画像を配信する
- 🗂Drupal: Feeds Tamperモジュールを使った複数の値の登録とスキップ処理
- 😎Drupal: UUIDを表示する
- 🌟TEI Publisher: TEI Publisher Demo Collectionの可視化例①
- 🦔Vue.js: Splitpanesを用いた際のiframeを含むpaneへの対処方法
- 😊Nuxt3でXMLをフォーマットしてシンタックスハイライト表示する
- 📚TEI ODDから変換可能なスキーマについて:RNG、XSD、DTDなど
- 🙄Romaを使ってプロジェクトに応じたタグを限定し、解説を作成する
- 👏Visual Studio Code(VSCode)でVersioning Machine(VM5.0)を使用する
- 🗂フリーハンドのアノテーションを矩形に変換するPythonライブラリを作成しました。
10月
- 😊Drupalでフィールドの値を選択式にする
- 🌟Drupalで他のコンテンツを参照する際に、IDとタイトルで探せるようにする
- 🐥Drupal: APIを用いた`uid`フィールド更新時のエラー対応
- 🕌Some resources have been omitted because of insufficient autho... への対応
- 😽EASY RDFを用いてJSON-LDのデータをRDF/XMLやTurtleに変換してみる
- 🎉【Omeka S モジュール紹介】BulkExport:アイテムの詳細画面にエクスポート機能を追加する
- ⛳Amazon OpenSearch ServiceでDisable autotuneを行う
9月
- 🐈Landoで構築したDrupalにdrushをインストールする
- 🎉Drupal 10.1.0以降でTwigのキャッシュを無効化する方法
- ⛳EC2に立てたArchivematicaをHTTPS対応する
- 😸IIIF Content State APIを試す
- 👻CantaloupeのAccess Controlを試す
- 📚Cantaloupeでinfo.jsonに値を追加する
- 🎃Cantaloupeのoverlayを試す
- 📌Cantaloupeの管理画面を有効化する
- 🌟EC2に立てたCantaloupeをHTTPS対応する
- 📝NDLOCRおよびNDL古典籍OCRのver.2を用いたノートブックを作成しました。
- 🐷PyPIでtwo factor auth enabled...への対応
- 🦁IIIFイメージサーバの一つであるCantaloupeをEC2で起動する
- 🐷DrupalのViewsでURLで参照する画像を表示する
8月
- 💭mdxでNDL古典籍OCRを実行する
- 🐷Mirador2のPhysical Document Rulerを試す
- 📝Mirador3プラグイン開発: Text Overlay pluginで縦書き対応を行う
- 🐈Google Mapsの短縮URLから緯度経度を取得する際の備忘録
- 🐙Mirador 3のmirador-annotationsプラグインとSimpleAnnotationServerを試す
- 🐡【Omeka S モジュール紹介】Advanced Search adapter for Solr
- 💬ジャパンサーチ利活用スキーマについて、最新の更新年ごとのアイテム数を視覚化する
- 🦔macOS版のCyberduckを使って、AWS S3の特定のバケットにアクセスする
- 🦔ブラウザの拡張機能を使って、GitHubの2FAに対応する
- 🎉npx nuxi typecheck実行時のエラー
- 🐥Virtuosoが停止した際の再起動のためのコマンド
- 👻Cultural JapanのRDFストアに格納されている展覧会情報の活用
- 😺Mirador3プラグイン開発: レイヤーのスライドショーを行う
7月
- 📌ALTO (Analyzed Layout and Text Object) XMLについて
- 📘Nuxt3でURLクエリの変更をwatchで監視する
- 💬CETEIceanとNuxt3を使ったサンプルリポジトリを作成しました。
- 😸Apache Solrのフィールドがどのようにインデックスされているか確認する方法
- 👻【Omeka S モジュール紹介】Scripto:転写や翻訳を行う
- 🌟【Omeka S モジュール紹介】IiifPresentation:IIIF Presentation APIの追加
- 🚀【Omeka S モジュール紹介】HistoryLog:変更履歴の記録
- 💭Omeka Classic IIIF Toolkitで使用されているMiradorを2.7にアップデートしました。
- 🔥Omeka Classic IIIF Toolkitにデータを一括登録する
- 🐙Mirador3プラグイン開発: ウインドウをコピーする
- 🐕wikibase.cloudでQuickStatementsを試す
- 🐷WikibaseSyncを試す
- 🐡wikibaseのapiをつかってみる
- 🎃Dataverseを試す
- 🐥wikibase.cloudを使ってみる
- 🐕Amazon EC2に立てたVirtuosoのヘルスチェックを行う
- 👏onClose propを使用する
- ⛳Mirador 3でビューポートが設定した制約を満たすようにズームを行う
- 👌OpenSeadragonでビューポートが設定した制約を満たすようにzoomToを行う
- 📚OpenSeadragon(OSD)の`fitBounds`と`fitBoundsWithConstraints`の違い
- 🌟Monaco EditorでLaTeXをハイライトする
- 🔥Ace.jsでTeXをハイライトする
- 📘Github Actionsを使ってGithubからEC2までのDjangoのCICD環境構築(2023版)
- 📘django-simple-history: Djangoでモデルの編集履歴を記録する
- 📌Django Rest Framework (DRF)で部分一致フィルタを実装する
6月
- ✨Omeka Classicでコレクションを一括削除する方法
- 🦁IIIF Mirador2のアノテーション画面の説明
- 🙆♀️bagit-pythonを試す
- 📚DjangoのModelFormを使用してアップロードしたファイルのパスを取得する
- 🎉DjangoとAWS OpenSearchを接続する
- 🐥Django REST framework で一括登録する
- ✨djangoでJWTを使う(djangorestframework-simplejwt)
- 📚ArchivematicaのAPIを用いて、TransferからAIPのダウンロードまでを行う。
- 🍣Omeka Sでアイテムセット毎のページに表示されるアイテムのデフォルトソートを設定する
- 💡Strapi v4のGraphQLのソートやページネーション
- 🙆♀️DrupalでOpenAPIを有効にする
- 💡Nuxt3でOpenSeadragonとOpenSeadragon SVG Overlayを使う
- 📚DrupalのJSON:APIにおけるcorsエラーへの対応
- 😺JSON:API関連のエラーへの対処方法
- 📝Disable UI: DrupalをヘッドレスCMSとして使う
- 🔖DrupalのJSON:APIの使用方法(includeと多言語対応)
- 🙄Drupal Key authを用いたコンテンツの登録と多言語対応
- 🦁Wagtailを試す
- 😎ArchivematicaでBrowseがうまくできない場合の原因と対応
- 📘Amazon ECRのリポジトリを一括削除する
- 🗂Django REST framework JSON:API(DJA)に独自のモデルのビューをカスタマイズする
- 📖Django REST framework JSON:API(DJA)に独自のモデルを追加する
- 🌟Django REST framework JSON:API(DJA)を試す
5月
- 📝さくらレンタルサーバにOmeka Sをインストールする際のimagemagickのパス指定
- 🔥OpenAPIとAWS CDKを用いてREST APIを作成する(Opensearch接続・カスタムドメイン)
- 🌟StrapiとAmazon OpenSearchを連携する
- 🐕StrapiのREST APIの設定など
- 🔥IIIFマニフェストファイルからPDFファイルを作成する
- 🦔GitHubのGUIを使ったファイルアップロードおよびファイル更新の方法について
- 👏Omeka SのImage Serverの設定について
- 😊AWS CDK x CloudFront x S3 x Basic認証 x index.html対応 x 独自ドメイン
- ⛳Omeka SでIIIF画像をメディアとして登録する方法
- 😸GoogleドライブとGoogle Apps Scriptを用いて匿名のファイルアップローダを作成する
4月
- 🍣Google スプレッドシートの更新をGitHubに通知する
- 🐈Auth0 プロバイダーと Strapi のチュートリアル
- 📝DrupalでTypeError: array_keys()...への対処
- 🐡Drupal: ネストされたフィールドを検索する一例
- 📝Drupal: Feedsを用いた一括登録と更新の例
- 👋Strapi: 深くネストされたフィールドで結果をフィルタリングする方法
- 🎃Drupal: カスタムモジュールを用いて、コンテンツタイプとフィールドを追加する
- ✨Drupal: 異なるコンテンツタイプのコンテンツを相互にリンクさせる
- 🌊ORCIDのRDFを確認する
- 📌Drupal: カスタムRESTリソースを作成する
- 📖DrupalのRESTful Viewsを使ってカスタムAPIを作成する
- 💡Drupalのビューで結果の合計数を表示する
- 🗂Omeka SにGoogle Analytics 4 gtag.jsを追加する
- ✨TEI Critical Apparatus Toolboxを用いてTEI XMLをLaTeXに変換してみる
- 🎉JPCOARスキーマ(v1)を用いたxmlファイルのバリデーションツールの試作
- 💭VueUseを用いたテキスト選択(Nuxt3)
- ✨Next.js for DrupalにおけるDrupal Search APIを用いた検索(ファセット検索など)
- 🍣Contentfulの全文検索は2文字以上の検索語が必要?
- 💬Drupalのコンテンツの一括削除の方法
- 🙆♀️DrupalとAmazon OpenSearch Serviceを接続する
- 😎DrupalでGraphQLを試す
- 🐡StrapiにGraphQLを追加する
- 💭Google Colabを用いたNDL古典籍OCRチュートリアルの不具合の修正および機能追加を行いました。
- 📑Omeka Sを用いて、IIIF Presentation API v3のマニフェストファイルを作成する
- 📑Pythonを使ってDrupalのタクソノミーの登録とコンテンツへの追加
- 🕌Pythonを使ってDrupalのコンテンツを更新・削除する
- 🙄Pythonを使ってDrupalにコンテンツを追加する
- 🍣Amazon LightsailでStrapiを動かす(SSL, 独自ドメイン)
- 🙌【Omeka S テーマ開発】Bootstrap 5を用いたOmeka Sテーマを更新しました。
- 📑IIIFを中心としたデジタルアーカイブ関連ツールを作成しました。
- 📘ExcelからRDFを作成する
- 💨ShExファイルを作成してみる
- 🎃w3id.orgを用いた永続識別子の取得とSnorqlへのリダイレクト
3月
- 🕌vue3とbabylon.jsの双方向のやりとり例(その2)
- 🙄Nuxt3 x babylon.jsで.glbファイルをロードする
- 🐙vue3とbabylon.jsの双方向のやりとり例
- 🐕IIIF Curation Viewerのアノテーションの色を変更する
- 🐡Hugging Face Spaceを用いたNDL古典籍OCRのウェブアプリ
- 💡NDL古典籍OCRをAmazon EC2のCPU環境で実行する
- Nuxt.jsとNext.jsの比較
- 正規URLとは? (canonicalUrl)
- 🕌Fuse.jsを使用した完全不一致検索(GPT-4による解説)
- 🐈TEI/XMLファイルからrespStmtのnameの値を抽出する方法(GPT-4による解説)
- 📝Omeka ClassicとOmeka S: 機能と違いの比較(GPT-4による解説)
- 📖Omeka Sのユーザ権限と非公開リソースへのアクセス
- 🐷Omeka Sのカスタムオントロジーを用いて作成した語彙を更新する
- 🙆♀️Nuxt 3でLeaflet Marker Clusterを試す
- 👏nbdevを使用する際の備忘録
- 😸Fuse.jsを使用した完全不一致検索の部分的な実現
- 💬【Omeka S モジュール紹介】Bulk Import:CSVファイルを用いたメタデータと画像の一括登録(2023-03版)
2月
- 🙆♀️Amazon SageMaker Studioを用いたNDL古典籍OCRの実行
- ⛳【Babylon.js x Vue】click eventをvueにわたす
- 🔥Babylon.jsでVueを使用するチュートリアルをNuxt3で試す
- 🎃ArchivesSpaceをUnixのデーモンとして実行する
- 😺Amazon LightsailにArchivesSpaceを立てる
- 📖Archivematica AIPのREADMEファイルの日本語訳例
- 🍣ArchivematicaのAPIを試す(Archivematica API編)
- 📚Next.jsでジャパンサーチのウェブパーツを使う
- 🔖ArchivematicaのAPIを試す(Storage Service API)
- 👋Amazon EC2にArchivematicaを立てる
- ✨Nuxt3のSSRをVercelでホスティングする(+ CORSの有効化)
- 🎉Headless CMSを使ってIIIFマニフェストファイルを作成する
- 💬Omeka Sへの画像一括登録用プログラム
- 🌟Babylon.jsとNuxt3とVuetifyを組み合わせて使用する
1月
- 🙌IIIF Image API level 0による画像公開方法
- 😊app要素を含むTEI/XMLファイルに対して、編集距離を算出するプログラムを作成しました。
- 😎IIIF Presentation Validatorのローカル環境で利用方法
- 👋Google Colabを用いたNDL
- 👏【Omeka S モジュール紹介】BulkExport:データの一括エクスポート
- 😸Visual Studio Live Shareを用いてTEI/XMLファイルを共同編集する(xmlでなくても可)
- 📌JPCOARスキーマを用いたxmlファイルのバリデーション
- 🐥RELAX NGスキーマを操作するライブラリjingtrangを試す:rngファイルの作成編
- 🐈RELAX NGスキーマを操作するライブラリjingtrangを試す:検証編
- 🚀WordをTEI/XMLに変換する
- 🌊OpenSeaに画像を登録してみる
- 🦁画像とIIIFマニフェストをipfsに追加してみる
- 🦔Romaを用いてカスタマイズしたrngファイルを作成する:使用するTEIタグを限定する
- 😸ExcelからTEI/XMLを作成するフローの一例を作成しました。
2022184
12月
- 😊TEIビューアでの利用を想定したCustom OpenSegDragon Viewerを作成しました。
- 👻Nuxt3のssrでIIIF viewerを導入する
- 🔥Amazon LightsailでOmeka Sの初期設定を行うscript(Easy Adminモジュールの追加)
- 📚【Omeka S モジュール開発】FixCjkSearch: Omeka Sの日本語による全文検索の不具合修正
- ✨nuxt3をamazon lightsailで公開する:pm2の使用
- 👏【Omeka S モジュール紹介】Folksonomy:ソーシャルタギング
- 🌟Gatsby CETEIceanを試す
- 📌TEI Boilerplateを試す
- 💨Omeka S 4.0.0 release candidateが公開されました。
- 🚀Omeka SのAPIへのアクセス制限
- 👌EC2サーバセットアップ時のTODOメモ
11月
- 🔥Snorql for Japan Searchのカスタマイズ方法の調査
- 📘ジャパンサーチのSPARQLエンドポイントをYasguiで使ってみる
- 💨【Omkea S モジュール紹介】Mappingモジュール
- 🙆♀️【Omkea S モジュール紹介】Timelineモジュール
- 🕌【Omeka S モジュール紹介】IIIF Searchモジュール
- 💨【Omeka S モジュール改修】IIIF Searchモジュール
- 🦔Google ColabでTesseractを動かす(日本語対応)
- 🍣【Omeka S モジュール紹介】PDFファイルに対してOCRを行うモジュール「Extract Ocr」
- 🙆♀️Vertex AIのworkbenchを使用した際、HuggingFaceのTrainer()が開始されない事象への対処法
- 👌Mroonga search モジュールのインストール(※うまくいきませんでした。)
- 🐡ResourceSyncのPythonライブラリを試す
- 📑【Omeka S モジュール開発】Sitemapsへの機能追加
- 👏【Omeka S モジュール紹介】Sitemaps
- 🌟iiif auth apiを試す
- 📑【Omeka S モジュール紹介】Data Type RDF
- 😽TEIテキストの作成支援ツール「FairCopy」の紹介
- 🙄Omeka SにICA RiC-Oの語彙を登録する
- 🦁テキストマークアップツール「CATMA」の使い方
- 🌟MediaWikiのTEI拡張を試す(結果:うまくいきませんでした。)
- ✨Omeka SのREST APIとやりとりするためのPythonパッケージ
- 🗂【Omeka S モジュール紹介】Custom Vocab
10月
- 🙆Wikidataから人物の生没年を取得する
- 📘[TEI x JavaScript] Nuxt3で意図しないWhitespaceを削除する
- 😊ultralytics/yolov5でのAttributeErrorへの対応
- 💭Nuxt 3のserver/apiでjsonファイルを操作する方法の一例
- 📌Amazon LightsailでOmeka Classicの初期設定を行うscript
- 💭Nuxt3をNetlifyおよびAWSにデプロイする方法の一例
- 🙆python-docxを用いた両側ルビ
- 💨TEI/XMLファイルを縦書きPDFに変換する方法の1例
- 🌟選択したテキストに対するポップアップを表示するnpmパッケージを試作しました。
9月
- ⛳Pythonを用いてTEI/XMLファイルをEPUBに変換する
- 📝【Omeka Sモジュール開発】IIIF Viewersの更新
- 😸IIIFアイコンのドラッグ&ドロップ対応について
- 👏Omeka Sのモジュール開発におけるGitHubへのリリーススクリプトの作成
- 🐡XMLファイルで文字列のみを抽出して処理する方法
- 🗂Cultural Japanにおいて指定したIIIFマニフェストを含むアイテムの一覧を返却するAPIを作成しました。
- 🌟Omeka Sのモジュール一括ダウンロードスクリプト
- 🙆[備忘録] maptilerのlightおよびdarkテーマ
- 🔥【Omeka S テーマ開発】Bootstrap 5を用いたOmeka Sテーマの不具合を修正しました。
- 🔥Amazon LightsailでOmeka Sの初期設定を行うscript
- 🐥Swagger UIのデモで初期表示するspecificationをgetパラメータで指定する
- 😽Omeka S IIIF ServerのIIIFマニフェスト(version 2)の出力内容
8月
- 📑BeautifulSoupでxml:id属性を与える方法
- 🌟[Omeka S]日本語検索の不具合を回避するFoundation Sテーマを作成しました。
- 😺[Omeka S]Bulk Importの不具合対応(ソースコードからのインストール方法を含む)
- 🍣[備忘録]Virtuosoの使い方
- 🐡コマンドラインから virtuoso を手動で再起動または停止する方法
- 😸VGG16を用いた類似画像検索
- 💬オートエンコーダ(自己符号化器)を用いた類似画像検索
- 🚀[RDF] URIにアクセスしたらSnorqlの画面にリダイレクトさせる設定
- 🍣Hugging Face SpacesでJSONを返却する
- 🐙AWS EC2を用いたVirtuoso RDFストアの構築
- 💭Virtuoso RDFストアに対して、curlおよびpythonを用いてRDFファイルを登録・削除する方法
- 🙆Hugging Face SpacesとYOLOv5モデル(NDL-DocLデータセットで学習済み)を使った推論アプリの構築
7月
- 👻Elasticsearch 上のデータをローカルにダンプする
- 💭NDL-DocLデータセットとYOLOv5を用いたレイアウト抽出モデルを作成しました。
- 💡Google Colabを使って、パスからGoogle DriveのフォルダのIDを取得する
- 🐈NDL-DocLデータセット(資料画像レイアウトデータセット)の変換と可視化
- 👌Hugging FaceモデルをAWS Lambdaでホスティングし、サーバーレス推論を実現する
- 👻二つのテキスト間の差分を抽出するプログラムを作成しました。
- 📝Omeka ClassicをHeadless CMSとして使用してみる。
- 🐥Mirador 3 による画像比較ツールを作成しました。
- ✨Omeka ClassicのIIIF Toolkitを用いたアノテーションの一括登録方法
- 🔥Amazon Lightsailを用いたOmeka Classicサイトの構築(独自ドメイン+SSL化を含む)
- 🌟NDL OCRでルビのテキスト化を行えるようにしていただきました。
- 💬Elastic Searchにおける異なるキーと値(ラベルとID)を持つアグリゲーション
6月
- 🐈Omeka S Bulk Importの不具合と改善
- 🐡Google Colabを用いたNDLOCRアプリの使い方の動画を作成しました。
- 📑AWS Copilotを用いたOmeka Sデータの定期バックアップ
- 💨Omeka Classicのデータをダウンロードするプログラムを作成しました。
- 💡Omeka Sのデータをダウンロードするプログラムを作成しました。
- 🎉Mirador 3にmirador-image-toolsプラグインを追加して、1つのjsファイルにまとめて配布する方法
- 🤖Nuxt 3とVuetify 3を用いたIIIF Image API関連ツールを作成しました。
- 🌊ファイルのアップロード(python)とダウンロード(php)
5月
- 🐷python-docxを用いたMicrosoft Wordファイルの作成:テンプレート、int2kanjiの利用など
- 💭【Omeka S モジュール】IIIF ServerモジュールでImage APIを使用しない方法
- 🔥【Omeka S Theme】Bootstrap 5テーマのMappingモジュール一部対応
- 💬【Omeka S】IIIF対応の複数ビューアを設置する「IIIF Viewers」モジュールの使い方
- 🗂Omeka SにDC-NDL(国立国会図書館ダブリンコアメタデータ記述)を語彙として登録する
- 🐙Google ColabからGoogle Spreadsheetのデータを取得するサンプルノートブック
- 🐙【備忘録】sam deployを行う際のprofileの指定
- 💡AWS SAMを用いたローカル開発時におけるError building docker imageへの対応
- 💬gdriveを用いたOmeka Sの簡易バックアップ
- 😽Using gdrive in a LAMP environment started with Amazon Lightsail
- 🦔Amazon Lightsailで起動したLAMP環境でgdriveを使用する
- 🤖What to do when
- 🚀「Google ドライブでエラーが発生しました。」が生じた時の対処方法:共有ドライブのゴミ箱を空にするスクリプト
- 🐥Google Colabを用いたgcv2hocrの実行例:Google Vision APIを用いた透明テキスト付きPDFファイルの作成
- 🎉Google Colabを用いたGoogle Drive上のファイルの削除方法
- 🐥Google Colabを用いたNDLOCRアプリのVersion 2を作成しました。
- 🐷Nuxt 2を用いたMirador 3の使用例を紹介するGitHubリポジトリの修正
4月
- 🙌Google Colabを用いたNDLOCRアプリの更新:Sigle input dir modeの追加
- 📚Google Colabを用いたNDLOCRの実行にかかる時間について
- 🤖Google Colabを用いたジャパンサーチRDFストアに対するSPARQLの実行例
- 🐥Google Colabを用いたndl-lab図表自動抽出プログラムの実行
- 👌Google Colabを用いたNDLOCRアプリの実行(Google Driveを用いた画像の入力と結果の保存)
- 📝Amazon Lightsailを用いたOmeka Sサイトの構築(独自ドメイン+SSL化を含む)
- 🤖Amazon Lightsailを用いたOmeka Sサイトの構築(独自ドメイン+SSL化を含む)
- 👋Google Cloud PlatformのCompute Engineを用いたNDLOCRアプリの実行
- 👋The New York Public LibraryのAPIを使ってみる
- 🔖CSVファイルを用いたresearchmap業績の新規登録・更新・削除方法
- 📌「NDL OCR x IIIF」アプリにTEI/XML形式でダウンロードする機能を追加しました。
- 🗂serverless-iiifで対応可能な画像サイズに関する実験
- 🚀LeafletのVue3での使用例(座標範囲の取得を含む)
- 🐥Vue3でOpenSeadragonを使用するサンプルリポジトリを作成しました。
- 🐷【Omeka S】IIIF Serverモジュールにおける独自識別子の設定方法
- 🗂【Omeka S】IIIF Serverモジュールにおけるattributionの設定方法
- ✨Node.js で XSLT を実行するサンプルリポジトリを作成しました。
- 🌟Vuetifyでダイアログを開いたときにダイアログ内にフォーカステキストフィールドを設定する
- 😊Nuxt.jsでstaticディレクトリなどもホットリロードの対象にする方法
- 📚IIIF Presentation APIのバリデーション方法とその実例の紹介ほか
- 😊Omeka S Image Serverモジュールの動的タイル画像生成における画像サイズの上限設定について
- 🙆GCP: AI Platform Notebooksの作成時のエラー対応
- 📖GCP Vertex AIの特徴量(featurestore)の削除方法
- 📝【使い方編】国立国会図書館「次世代デジタルライブラリー」で公開されているOCR結果をIIIFビューアで閲覧するアプリを作成しました。
- 💬【開発編】国立国会図書館「次世代デジタルライブラリー」で公開されているOCR結果をIIIFビューアで閲覧するアプリを作成しました。
- 🐥国立国会図書館「次世代デジタルライブラリー」で公開されているOCR結果をIIIFビューアで閲覧するアプリを作成しました。
3月
- 📝【AWS関連】AWS Lambda + Docker + pyvipsを用いたPyramid Tiled Tiffファイルの作成
- 👋AWS Lambda + Docker + pyvipsを用いたPyramid Tiled Tiffファイルの作成
- 😽pyvipsの使い方とPyramid Tiled Tiffファイルの作り方
- 📑【備忘録】Maplatの使い方
- 🙆カレンダー検索アプリを作成しました。
- 📝【AWS関連】AWS Lambdaを用いた物体検出API(Flask + yolov5)の構築
- 📑AWS Lambdaを用いた物体検出API(Flask + yolov5)の構築
- 👌【Omeka S テーマ開発】Bootstrap 5を用いたOmeka Sテーマを公開しました。
- 🙄【Omeka Sモジュール】Clean Urlの使い方
- 🕌Omeka Classic + IIIF Toolkitを用いたアノテーション付与環境の構築
- 📝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.net(Classic)の使い方を説明するまとめ記事とZennの本を作成しました。
- 【まとめ記事】Omeka.net(Classic)の使い方
- 📝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を用いた記事一覧の取得
- 📝【AWS関連】Flaskを用いてyolo5モデルを公開するリポジトリのECRとAWS App Runnerでの使用方法
- 🚀Flaskを用いてyolo5モデルを公開するリポジトリのECRとAWS App Runnerでの使用方法
- 📝【AWS関連】AWS App Runner + ECR 利用時におけるHealth check on port "XXXX"の対処方法の一つ
- 🎉AWS App Runner + ECR 利用時におけるHealth check on port
- 👌Omeka S IIIF Serverモジュールを用いたIIIFコレクションの生成
- 🎉AWSサーバーレスアプリケーションによるIIIF Image Serverの構築
- 【開発者向け】AWS x Nuxt.js x Elasticsearchを用いた検索アプリケーションの開発環境の構築
- Bulk Importによるリソースクラスの登録方法・設定編集ほか
- Google Drive内のファイルオーナーの一括更新プログラムを作成しました。
- 【備忘録】Googleドライブ上のフォルダ一括削除プログラム(例)を作成しました。
- Omeka Sモジュールのインストール方法
- Bulk ImportによるCSVファイルを用いたメタデータの一括更新
- Omeka Sの日本語による全文検索の注意点とMroonga searchモジュール
- Pythonを用いたTEI/XMLファイルの分析サンプルプログラムを作成しました。
- IIIFマニフェストファイルからの画像一括ダウンロードプログラムを作成しました。
- 📝Omeka S IIIF Serverモジュールにおいて、外部のImage Serverを利用する方法
- Omeka S XML Viewerモジュールの使い方
- 【固定した記事】デジタルアーカイブシステムの技術ブログへようこそ
- Omeka S Mirador モジュールの使い方
- Omeka Sに関する記事まとめ
2月
- gdownでエラーが出た場合の対処法
- IIIFマニフェストファイルからTEIのfacsimile要素を作成するプログラムを作成しました。
- 📝Flaskを用いてyolo5モデルを公開するリポジトリの紹介とカスタムモデルのロード方法
- 📝Omeka S IIIF Serverモジュール使用時におけるcors policyの設定について
- JavaScriptのquerySelector()でxml:idに特定の値を持つ要素を取得する方法
- 【Omeka S・開発】Omeka Sにダミーデータを登録するためのCSVファイルを作成するプログラムを作成しました。
- 【Omeka S モジュール紹介】Mappingモジュールの使い方(特にCSVインポートモジュールを用いた一括登録)
- 【Omeka S モジュール開発】アイテムの詳細画面に各種エクスポートリンクを設置するモジュールを開発しました。
- 【Omeka S モジュール開発】IIIFマニフェストにIIIF Content Search APIのURIを追加するモジュールを開発しました。
- 【Omeka S モジュール情報共有】Clean Urlモジュールの不具合と暫定の修正方法
202129
9月
8月
- 【機能開発】Omeka SのIIIFモジュールで、目次を加える機能を追加しました。(その2:階層構造を持つ目次の登録)
- 【機能開発】Omeka SのIIIFモジュールで、目次を加える機能を追加しました。(その1:フラットな目次の登録)
- 【機能開発】Omeka SのIIIF Serverモジュールにおけるライセンスプロパティの不具合修正
- 【和訳】Omeka S IIIF Serverモジュールの目次情報の追加方法
- Mirador 3をページ内の特定の領域に埋め込む方法
- Oxygenの自動整形機能においてlbタグの前で改行する方法
- Mirador 3をNuxt.jsで使用する方法を紹介するリポジトリを作成しました。
- 【Omeka S Tips】WindowsでBulkImportモジュールを使用する際の注意点
- 【Omeka S Tips】アイテムの新規登録における各サイトへの自動追加の設定について
7月
- 【Omeka S モジュール紹介】Numeric Data Types:日付データに対する範囲検索を可能にする、など
- Nuxt.jsでvis.jsを使用する方法を紹介するGitHubリポジトリを作成しました。
- 【Omeka S モジュール紹介】Metadata Browse:同じメタデータを持つアイテムを検索するリンクを付与する
- 【Omeka S モジュールカスタマイズ】OaiPmhRepository:独自語彙の作成
- 📝【Omeka S モジュール紹介】Advanced Search Plus:詳細検索機能を拡張する
- 【FOSSメモ】CollectiveAccess
- 📝【Omeka S モジュール紹介】Custom Ontology:独自語彙を追加する
- 【Omeka S Tips】既存の標準語彙の追加方法
- 【アプリ紹介】IIIF pocketのご紹介
- 【Omeka S マニュアル和訳】リソース > アイテム
- 【Omeka S Tips】メタデータの言語属性の設定方法
- 【Omeka S モジュール紹介】Item Sets Tree
- 【Omeka Sモジュール紹介】IIIF Server / Image Server / Universal Viewer
- Omeka Sの導入に関する参考資料
- Cultural Japanで集約したIIIFマニフェストをまとめたIIIFコレクションのご紹介
- Mirador 3をVueで使用する方法を紹介するリポジトリを作成しました。
- 【機能開発】Omeka SのIIIF ServerモジュールにおけるImage APIを使用しない設定の追加