Archives
2026 116
March
Building a Custom Hugo Theme with Tailwind CSS v4 and Submitting to Hugo Themes Gallery
03-24
Handling App Store Rejection and Resubmission Entirely via API
03-24
How to Upload VTT Subtitle Files in YouTube Studio
03-24
No Firebase Needed: Operating an iOS App with Apple-Native Tools Only
03-24
Pitfalls of Converting TEI XML Standoff Annotations to Inline, and a DOM-Based Solution
03-24
Diagnosing and Fixing Memory-Related Crashes in an iOS OCR App
03-23
Fixing Universal Viewer 4.x “Unknown content type” Error with Local Hosting
03-23
How to Upload English Subtitles (VTT Files) in YouTube Studio
03-23
Auto-Generating Bilingual Video Subtitles with Claude Code and Publishing via IIIF v3 Manifests
03-22
Digital Tale of Genji Video Subtitle Project: Publishing Bilingual Subtitles with IIIF v3 Manifests
03-22
Observed Timing: Apple Sales Reports API Data Availability and YouTube API Quota Reset
03-22
Building a Cultural Heritage Explorer App with Japan Search API
03-21
Building an Automated DH Tool Awareness System with Playwright, RSS, and AI
03-21
How Japan Search’s Image Similarity Search API Works
03-21
Parallelizing OCR Recognition on iOS with Swift Concurrency for up to 6.7x Speedup
03-21
Comparing Local Archiving Methods for Yahoo News Articles (SingleFile, Playwright, ArchiveBox, WARC, yt-dlp)
03-20
KotenOCR: An Offline iOS App for Recognizing Classical Japanese Cursive Script
03-20
Automating researchmap KAKENHI-Achievement Linking with Playwright
03-19
Building an NDC Book Classifier with LoRA: Fine-Tuning a Japanese LLM on Library Data
03-19
Fully Automating App Store Screenshot Generation with Python and Xcode UI Tests
03-19
Achieving Up to 7.6x Faster Image Delivery by Optimizing Cantaloupe IIIF Server Cache
03-18
Why Contentful’s Publish Button Is Greyed Out — A Locale Configuration Pitfall
03-17
Fixing 6 GitHub Issues in Parallel with Claude Code: Worktrees and Agents
03-17
Improving Google Search Console Indexing Issues with schema.org Structured Data
03-17
CATMA: A Guide to Web-Based Text Annotation and Analysis
03-15
Datawrapper: A Data Visualization Tool for Researchers and Journalists
03-15
Flourish: An Interactive Data Storytelling Platform
03-15
FromThePage: Crowdsourcing Transcription for Historical Documents
03-15
Gephi Lite: Browser-Based Network Visualization for Digital Humanities
03-15
Hypothes.is: An Open-Source Web Annotation Tool Compliant with W3C Standards
03-15
Internet Archive: Leveraging the World’s Largest Digital Archive
03-15
Kepler.gl: An Open-Source Tool for Beautiful Large-Scale Geospatial Data Visualization
03-15
Mirador: The Optimal Open-Source Viewer for IIIF Image Comparison and Analysis
03-15
Observable: Data Visualization Notebooks by the Creator of D3.js
03-15
Omeka: A Platform for Digital Collections and Online Exhibitions
03-15
Palladio: A Guide to Humanities Data Visualization
03-15
RAWGraphs: A No-Code Data Visualization Tool for Digital Humanities
03-15
ReplayWeb.page: A Browser-Based Web Archive Replay Tool
03-15
StoryMapJS: A Guide to Map-Based Storytelling
03-15
Taguette: A Free Open-Source Qualitative Data Analysis Tool
03-15
TEI Publisher: A Platform for Publishing TEI XML Digital Editions
03-15
TimelineJS: Create Interactive Timelines from Spreadsheets
03-15
Transkribus: AI-Powered Handwritten Text Recognition for Historical Documents
03-15
Universal Viewer: The Definitive IIIF-Compliant Multimedia Viewer
03-15
Voyant Tools: A Browser-Based Text Analysis Platform for Digital Humanities
03-15
Wikidata Query Service: Exploring Knowledge Graphs with SPARQL
03-15
Fast TEI/XML Deployment on Vercel: Automating XSLT Transformation with saxon-js
03-15
TETRAS-IIIF: Annotation, Video, and Multi-User Extensions for Mirador 4
03-15
IIIF Georeference Viewer: Visualizing Georeferenced Content on Interactive Maps
03-14
Mirador: A Feature-Rich IIIF Viewer for Comparing and Annotating Images
03-14
Tify: A Lightweight, Fast IIIF Document Viewer
03-14
Universal Viewer: A Multi-Format IIIF Viewer for Images, Audio, Video, and 3D
03-14
Fixing Custom Marker Lag on Zoom in MapLibre GL JS with GeoJSON Layers
03-14
How I Used Claude Code’s Parallel Agents to Auto-Generate Videos from 882 Blog Posts
03-12
How to Submit an iOS App Update for Review Using the App Store Connect API
03-11
Complete Guide to Adding a Tip Jar (In-App Purchase) to Your iOS App with App Store Connect API
03-10
Auto-Generating VRM Character Animation Videos with Three.js + Puppeteer
03-09
Fast TEI/XML Deployment on Vercel: Automating XSLT Transforms with saxon-js
03-09
Fixing the White Bar at the Bottom of Chrome Headless Screenshots
03-09
Upgrading from Astro 4 to 5 — A Migration Log
03-09
Improving DTS Viewer ― Multiple Citation Trees, Hierarchical Navigation, and XML Browser Display
03-08
Migrating to DTS (Distributed Text Services) 1.0 ― Updating a TEI/XML Text API
03-08
Tech Stack for a RAG App That Searches Historical Documents with AI
03-07
Adding a CETEIcean-Powered TEI Preview to the DOCX → TEI/XML Converter
03-05
Submitting an iOS App for Review Using Only the App Store Connect API
03-05
5x Faster XSLT Processing: Migrating from Saxon-JS to Saxon-HE
03-04
Animating IIIF Scroll Paintings with AI Video: A Video Annotation Approach
03-03
Introducing ethers-i18n: Multilingual Error Messages for ethers.js
03-03
Building a DOCX to TEI/XML Conversion Tool in the Browser Using the TEI Garage API
03-01
How to Bulk Unpublish Hatena Blog Articles (AtomPub API)
03-01
February
Exporting Web Annotations via the Hypothes.is API and Converting to TEI/XML
02-28
Trying “oitei” - An Automatic Conversion Tool from OpenITI mARkdown to TEI XML
02-28
Operating GakuNin RDM API with Node.js — From Project Creation to GitHub + Vercel Auto-Deploy
02-27
I Created a Japanese Tutorial for ethers.js v6
02-25
Annotorious Drawing Mode Breaks Only in Production Build
02-25
GakuNin RDM Search API (
/api/v1/search/) Investigation Memo
02-24
Bulk Managing Google Groups Members via API Without Google Workspace Admin Privileges
02-18
Verifying Non-DC Metadata Registration in Archivematica – Embedding EAD Using source-metadata.csv
02-17
Verification of Digital Archive Construction Using the AtoM REST API
02-15
Developing a Plugin to Extend the AtoM REST API
02-15
Starting Alfresco with Docker and Experiencing the Records Management Lifecycle via REST API
02-15
Development of a Text Comparison Tool Using IIIF Manifests
02-13
Improved the Drupal GitHub Webhook Module
02-11
Bulk Deleting Unnecessary Sites Using Netlify CLI
02-10
Performing Module Updates and Core Upgrades from the Drupal 10 Admin Interface
02-10
Replacing Only the Window Title of External Manifests in Mirador 4
02-08
Cause and Fix for localStorage.getItem is not a function Error in Next.js 15
02-08
Three Pitfalls When Adapting a SPARQL Client to Apache Jena Fuseki
02-08
Snorql – Published a Browser UI for Easily Exploring Multiple SPARQL Endpoints
02-08
Mirador Viewer Embedding Configuration
02-07
Investigating PLY Files Not Being Output in IIIF Manifest Items with Omeka S IIIF Server Module
02-06
Developing a 3D Gaussian Splatting Viewer - Browser Implementation Using Spark.js
02-06
The World of 3D Point Cloud Data: Organizing the Relationship Between PLY, Gaussian Splatting, and Potree
02-05
How to Use the KAKEN OpenSearch API
02-05
Three.js + React Three Fiber: Resolving Rough GLTF Model Texture Display
02-05
Nuxt Content + trailingSlash: Links to Static Files Return 404 - Problem and Solution
02-04
Adding Linked Places Format Support to IIIF Georeference Viewer
02-04January
Developing and Publishing a Rotation Plugin for Mirador 4 on npm
01-31
Implementing IIIF Content Search API on Static Sites - Client-Side Search with Service Workers
01-29
The Pitfall of JavaScript Operator Precedence - Investigating a Vercel Build Error
01-28
Building a Web App to Download and Display GLB Files Using the Sketchfab API
01-28
ODD Editing Tips: Part 1
01-27
Why AUTH_URL Is Required in Production for Next Auth (Auth.js v5)
01-27
Publishing a YOLOv11x Model on Hugging Face
01-26
Serving IIIF Images via Web Tile Map Service
01-23
Nuxt 3 Project Package Update Summary
01-22
IIIF Georeference to XYZ Tiles
01-21
Auto-Generating English Subtitles and Audio for Videos with Azure OpenAI Whisper + Speech Services
01-21
Introduction to Dataspaces with Eclipse EDC - Experiencing Data Exchange Flows in a Local Environment
01-21
How to Use @elastic/react-search-ui with React 19 + Next.js 15.5
01-19
Draco Compression of GLB Files - 87% Size Reduction and Impact on Precision
01-17
Displaying Over 3 Million Point Cloud Data Points Smoothly in a Browser - Building a Potree LOD Viewer
01-17
Record of Migrating mirador-annotations to Mirador 4.x
01-13
mirador-rotation-plugin Feature Enhancements
01-08
Integrating Next.js + next-auth with GakuNin RDM via OAuth2
01-06
[AWS Amplify] Pitfalls When Setting Up Custom Domains with Sakura Internet Domains
01-04
2025 172
December
Dydra JSON-LD Serialization Behavior and Workaround
12-29
How to Navigate to the Detail Page of a File Uploaded via the GakuNin RDM Waterbutler API
12-29
Pinata V3 API Group Feature Implementation Guide
12-28
Drupal Update Procedure on Sakura Rental Server
12-26
Created a Tool to Extract Opening Pages of Each Volume from IIIF Manifests
12-25
Investigation Record of 404 Errors with CloudFront + App Runner
12-24
How to Correctly Load Local JSON Files in Nuxt 4 SSG
12-11
Implementing a Multilingual Historical Map with MapLibre GL JS + Rekichizu
12-10
Constraint Design for IIIF-Compatible Facsimile Description Using TEI ODD
12-10
ODD Chain Tutorial
12-09
Customizing the TEI Classical Text Viewer to Display Illegible Sections (gap)
12-09
How to Highlight Arbitrary Regions in Mirador 4
12-07
How to Simultaneously Specify Canvas and Highlight Search Terms in Mirador 4
12-07
Japanese Localization of RAWGraphs 2.0
12-03
November
Language Switching Implementation Guide with Next.js + next-intl
11-30
Creating Pyramidal Tiled TIFFs with vips and Comparing Compression Methods
11-29
Performance Improvement for Annotation Display
11-29
Annotating Tilted Characters and IIIF Image Cropping
11-28
Elasticsearch/OpenSearch Data Migration Guide Between Clusters
11-28
Docker + GitHub Actions Deployment Configuration
11-28
How to Create Distortion-Free Thumbnails from 360-Degree Videos and Photos
11-27
How to Programmatically Determine Whether Insta360 Video Files Contain GPS Information
11-27
Complete Restoration of Deep Zoom Images: Converting Tile Images to BigTIFF
11-18
BDRC Tibetan OCR: Introduction and Implementation Examples of a Tibetan OCR Tool
11-16
Marker Position Offset Issue in Cesium 1.135.0 and Its Solution
11-14
Protoweb: A Time Machine to Experience the Internet of the 90s
11-13
Practicing Long-Term Digital Preservation with OCFL - An Introductory Guide
11-06
Using a Hex Editor on Mac: HexEd.it as an Alternative to HxD
11-05
Finding Hidden File Format Issues with DROID: An Essential Tool for Digital Preservation
11-03
October
Development of an IIIF Image Coordinate Editor with Auto-Navigation
10-29
Odeuropa Visualization: A Platform for Visualizing Scent Data Using SKOS Vocabularies and SPARQL
10-24
How to Build an Independent Author Database in Omeka S
10-20
Complete Guide to Annotation Coordinate Conversion in Leaflet-IIIF
10-19
Complete Guide to Migrating an Omeka-S Docker Environment to Another Server
10-16
Distinguishing Between RDFS and SHACL: Understanding the Relationship Between range and propertyShape
10-15
Developing an RDF Metadata Management System Integrating GakuNin RDM and Dydra
10-14
Investigating the Vocabulary Hierarchy of Odeuropa Explorer
10-13
Guide to Registering RDF Data to Dydra via API
10-10
Declarative Multi-Format Conversion with TEI Processing Model
10-08
How to Control the Viewing Direction of Mirador from External Parameters
10-06
Odeuropa: The World of Linked Data for Extracting Scents from Historical Documents
10-04
Achieving Japanese Full-Text Search with the MroongaSearch Module for Omeka-S
10-02
September
Azure OpenAI GPT-4 vs Document Intelligence: Comparative Evaluation of Japanese Vertical Text OCR
09-29
LLM-Based Manuscript Paper OCR Performance Comparison: Verification of Vertical Japanese Recognition Accuracy
09-27
Challenges and Solutions for Preserving Order in PDF Transparent Text Extraction
09-10
Guide to Publishing TEI/XML Files on GitHub
09-06
TEI ODD File Customization: A Case Study with NDL Classical Book OCR
09-05
Converting ODD to RNG/HTML Using the TEI Garage API
09-03
Development of the NDL Kotenseki OCR-Lite Next.js Version
09-01
August
A Scalable OCR Processing System Using NDL Classical Japanese OCR Lite on Azure Container Apps
08-31
Omeka S Theme Updates and Module Modifications
08-30
How to Register the PROV-O Ontology in Omeka S
08-27
Image Collection Management Tool: Technical Architecture Explained
08-24
“Image Collection Management” Tool Usage Guide
08-22
IIIF Georeference Viewer Migration to MapLibre GL and Feature Improvements
08-20
Multilingual Support for Omeka S Themes
08-14
How to Dynamically Convert File Paths on Azure Storage Using Cantaloupe Delegate Scripts
08-12
Researching How to Use Omeka S
08-10
Implementation Guide for TEI XML Schema Combining RELAX NG and Schematron
08-09
Setting Up the WDB Module on Drupal 10 in a Docker Environment
08-07
Creating Project-Specific RNG Files Using Generative AI
08-01
July
Introducing Omeka S Docker: A Modern and Secure Solution for Digital Collections
07-30
I Built a Prototype IIIF 3D Viewer
07-29
Trying Out the Viewer from the “Pre-modern Japan-Asia Relations Digital Archive”
07-29
Next.js 15 Compatible Multilingual and Dark Mode SSG Template
07-26
How to Implement sitemap.ts When Using output: ’export’ in Next.js 15
07-26
Next.js x Search UI x Fuse.js Search Application
07-25
Testing IIIF Authentication API 2.0
07-25
Trying Text Annotation with Recogito
07-24
Introducing GitHub File History Analyzer: A Tool for Analyzing File Edit History with AI
07-24
Trying Out Transkribus
07-24
Trying grlc (git repository linked data API constructor)
07-24
Trying Odeuropa-Related Tools
07-24
Added Route Registration Feature to “Rekichizu x Next.js”
07-23
Trying DToC: Dynamic Table of Contexts
07-16
Handling Insufficient Disk Space in Ontotext GraphDB Desktop Edition
07-16
Trying AllegroGraph
07-16
June
Fixing the ‘ref’ Bug in DHConvalidator
06-27
Building an MCP Server for Searching the Koui Genji Monogatari Text DB
06-26
Building an API Server for Searching the Koui Genji Monogatari Text DB
06-25
Creating a Castle Generation Command as a Minecraft Mod [Fabric 1.21 + Claude]
06-16
NFT Support for the Digital Cultural Heritage Management System (Prototype)
06-12
Creating TEI/XML Files from IIIF Manifest Files Using NDL Kotenseki OCR-Lite
06-12
Prototyping a Digital Cultural Heritage Management System Using Blockchain and Pinata IPFS
06-12
Part 2: Creating Annotated IIIF Manifest Files and TEI/XML Files Using NDL Classical Book OCR-Lite
06-06
Describing Hierarchical Table of Contents with Omeka S IIIF Server Module
06-05
Registering Resources (Items and Images) in Omeka S Using an MCP Server
06-05
Applying Filters to created and changed Fields in Drupal’s JSON:API
06-03
DTS Viewer Update: Pagination Support
06-02
Using Pagination in IIIF Collections with IIIF Presentation API v2
06-02
May
How to Allow Non-Admin Users to Access Configuration Pages in Drupal
05-28
Creating Annotated IIIF Manifest Files and TEI/XML Files Using NDL Klasseki OCR-Lite
05-27
Creating a CSV File Containing a List of Image URLs from a IIIF Manifest File
05-27
Using the JSON Field Module to Handle JSON Format Fields in Drupal
05-25
Hosting TEI/XML Files on S3-Compatible Object Storage
05-24
Updating the DTS (Distributed Text Services) API for the Koui Genji Monogatari Text DB
05-24
Investigating and Resolving Disk Pressure Caused by Docker [Ubuntu 22.04 Case Study]
05-22
Improvements to the Polygon Annotation Support Tool for IIIF Images
05-20
Developing a DTS (Distributed Text Services) Viewer
05-11
Creating Polylines Using the Polygon Tool in Annotorious v2
05-05
April
How to Specify Initial Sort Order in Elasticsearch Search UI
04-30
Handling CORS for Express Deployed on Vercel Using vercel.json
04-24
Adding Normalization Rules in Archivematica’s Preservation Planning
04-24
How to Implement IP Address Restrictions for MDX.jp Object Storage
04-24
Prototyping a TEI/XML File Creation App Using Google Cloud Vision API and GakuNin RDM
04-16
Added Route Registration Feature to the “Rekichizu x Next.js” Site
04-14
How to Disable Browser Language Detection in Nuxt i18n
04-10
Using Rekichizu with Next.js
04-09
An Example of Representing IIIF Polygon Annotations in TEI/XML
04-08
Building a Tool for Adding Polygon Annotations to IIIF Images
04-02
How to Add Dark Mode Using Tailwind CSS V4 with Next.js 15 App Router
04-01
Handling the Error: Do not use
. Use Image from ’next/image’ instead.
04-01
March
Omeka S Module Update Information (2025-03-27)
03-27
Scrolling to a Specific Element Using CETEIcean and XPath
03-27
Mirador 4 Plugin Development: Enabling Initial Angle Settings in the Image Rotation Plugin
03-26
Rotating Images and Specifying Regions on Initial Load in Mirador 4
03-26
Building a Proxy Server for mdx I Object Storage
03-23
Using the Universal Viewer npm Package in Next.js
03-23
Searching Files in Linked Storage Using the GakuNin RDM API
03-21
Adding mdx.jp Object Storage to GakuNin RDM Storage
03-21
Prototyping a TEI/XML File Editing Environment Using LEAF Writer and GakuNin RDM
03-21
Using Filters with the GakuNin RDM (OSF) API
03-19
Nuxt Content: Addressing ‘Cannot find name queryContent’
03-19
Updates to the IIIF Georeference Extension Visualization Tool
03-19
Using Route 53 DNS Records with Sakura Rental Server (Shared SSL)
03-18
Application of DTS (Distributed Text Services) dts:wrapper When Building Search Systems from TEI/XML
03-15
A Sample App Displaying Images with Mirador and Text with CETEIcean
03-14
Sharing Private Sites in Omeka S
03-13
Registering Objects Using the AtoM (Access to Memory) API
03-12
Running AtoM (Access to Memory) with Docker
03-12
Cases Where ImageMagick May Not Work Properly for Creating Pyramidal TIFFs?
03-11
Running ArchivesSpace with Docker
03-11
Storing Omeka S Files in mdx.jp Object Storage
03-07
Serving IIIF Images Using mdx.jp Object Storage and IIP Image (IIIF Image Server)
03-07
How to Mount mdx.jp Object Storage as a File System Using s3fs
03-06
Investigating Partial Match Search with AND Conditions Across Fields in Algolia
03-03
How to Convert Word Files to TEI XML: A Guide to Using the TEIgarage API
03-03
Using Drupal’s Sortableviews Module to Reorder Content and Save the Result to a Field
03-02
Developing a Viewer with Next.js + CETEIcean + React TEI Router
03-02
Next.js for Drupal BASE_PATH Issue and Fix (Using patch-package)
03-02
Trying the Search API Algolia Module for Drupal
03-01
Registering Data with Drupal’s JSON:API Using Username and Password
03-01
February
Building a Multilingual Static Site with Next.js
02-28
How to Get Coordinates of Sub-Images from a Larger Image
02-23
Enabled Email-Based Registration in the Mirador 3 Firebase-Linked Annotations Plugin
02-21
Creating TEI/XML from VTT Files
02-21
Using clover-iiif with Next.js
02-17
Downloading Annotations Created with the mirador-annotations Plugin in Mirador 3
02-14
Developed a Firestore Adapter for the Mirador 3 mirador-annotations Plugin
02-14
Changing the Pagination Limit in Algolia
02-10
Prototyping an API for Retrieving Variant Character Lists
02-10
Using @react-three/fiber and drei with Next 15 (Using React 19)
02-06
Uploading Large Files to Omeka S
02-05
January
A Program to Create TEI/XML Files with OCR Results from IIIF Manifest Files
01-30
Created a Similar Text Search App for the Koui Genji Monogatari
01-29
CORS Configuration for Omeka S Image Server
01-27
Creating AIPs with Archivematica for Files in Alfresco
01-26
Starting Alfresco Governance Services Community Edition
01-23
Editing TEI/XML Files Using XSLT
01-23
Processing Dataverse Data with Archivematica
01-21
Real-Time Preview of TEI/XML Using VSCode and XSLT
01-15
Creating PDFs from TEI/XML of the Koui Genji Monogatari Text Database
01-14
Trying Local Authentication with @sidebase/nuxt-auth
01-13
Authenticating with Drupal Using Nuxt 3 and @sidebase/nuxt-auth
01-12
Omeka S: Finding Themes Compatible with the Advanced Search Module
01-11
Using Drupal OAuth with NextAuth.js
01-09
Building a Digital Collection Using AppSheet
01-08
Trying Azure Logic Apps
01-07
Creating Apps with Azure OpenAI Assistants API Using Gradio and Next.js
01-06
Trying Kompakkt Standalone Viewer
01-05
How to Upload Media to Omeka S Using Python
01-03
Trying Annotations in Sketchfab
01-02
2024 259
December
Converting OBJ Files to glTF and GLB Files
12-30
Trying aleph-r3f
12-29
Trying the Aleph 3D Viewer
12-29
Cantaloupe: Serving Images Stored in Microsoft Azure Blob Storage
12-23
Building an NDLOCR Gradio App Using Azure Virtual Machines
12-23
Created a Gradio App to Try ndlocr_cli (NDLOCR ver.2.1) Application
12-22
Trying Out CollectionBuilder
12-19
Authenticating with GakuNin RDM Using Nuxt 3 and @sidebase/nuxt-auth
12-19
Building a RAG-based Chat Using Azure OpenAI, LlamaIndex, and Gradio
12-16
Using the “Tale of Genji in Textbooks LOD”
12-15
Trying Out Peripleo
12-13
Trying Out “Rekichizu” (Historical Maps)
12-09
Developed a Simple Viewer for CSV Files Published on the Internet
12-06
Building a Gradio App Using NDL Kotenseki OCR-Lite
12-04
Trying Out Geocoding Libraries
12-03
Specifying Viewing Direction in the Omeka S IIIF Server Module
12-03
Using IIIF Manifest Files Stored in mdx.jp Object Storage from NestJS
12-01
November
Notes on LLM-Related Tools
11-29
Minor Modifications to openai-assistants-quickstart
11-28
Using NDL Classical Book OCR-Lite (ndlkotenocr-lite) on Mac OS
11-27
Using processing_config in Archivematica Transfers
11-19
Connecting GakuNin RDM and figshare
11-19
Using GakuNin RDM from Next.js
11-19
Uploading Files and More Using the GakuNin RDM API
11-16
Authenticating with ORCID, The Open Science Framework, and GakuNin RDM Using NextAuth.js
11-15
Using OldMaps Online
11-12
Using Knight Lab’s TimelineJS and StoryMapJS from Next.js
11-07
Building a Character Detection Model Using YOLOv11x and the Japanese Classical Character Dataset
11-06
Training YOLOv11 Classification (Kuzushiji Recognition) Using mdx.jp
11-06
Getting a List of Properties for a Specific Vocabulary in Omeka S
11-05
Linking to Other Items Using the Custom Vocab Module in Omeka S
11-04
Running a Local LLM Using mdx.jp 1GPU Pack and Ollama
11-04
Achieving Parallel Display of IIIF and TEI Using XSLT
11-02
Creating a Transparent Text PDF from a Single Page Using Google Cloud Vision API
11-02
Using the Zotero API from Next.js
11-01
October
Customizing the LEAF Writer Editor Toolbar
10-31
A Python Library for Visualizing the Contents of Archivematica METS Files
10-31
Using LEAF Writer from Next.js
10-29
Using Roma to Restrict Allowed Values for Tag Attributes
10-28
Using Roma to Restrict Attributes for Tags According to Your Project
10-28
Using the GakuNin RDM API
10-26
Connecting GakuNin RDM with Zotero
10-25
Adding mdx.jp Object Storage to Archivematica
10-25
Differences Between ShExC and ShExJ
10-25
Differences Between ShEx and SHACL
10-25
Trying the Model Viewer Module for Omeka S
10-18
How to Use the Files/Markers Tabs in the @samvera/ramp Viewer
10-17
Addressing the resumptionToken Bug in Omeka S OAI-PMH Repository
10-10
(Non-Standard) Outputting Delete Records with the Omeka S OAI-PMH Repository Module
10-10
Adding a Table of Contents to Videos Using iiif-prezi3
10-09
Setting Subtitles on Videos Using iiif-prezi3
10-09
Adding Annotations to Videos Using iiif-prezi3
10-09
Connecting GakuNin RDM with Amazon S3 and Processing Files with Archivematica
10-09
Creating IIIF v3 Manifests for Video Using iiif-prezi3
10-08
Using URL Segments Starting with Underscores in Next.js
10-08
Addressing a Bug in setFilter of @elastic/search-ui
10-07
A Program to Create a Visual Overview Page of Omeka S Themes
10-05
Trying Out rico-converter
10-05
Building an Inference App Using Hugging Face Spaces and YOLOv5 Model (Trained on KaoKore Dataset)
10-05
Resolving ModuleNotFoundError: No module named ‘huggingface_hub.utils._errors’
10-04
Publishing 3D Models in Omeka S
10-04
Manipulating CVAT Data Using Python
10-04
Handling the CSRF: Value is required and can’t be empty Error in Omeka S
10-02
September
[2024 Edition] Building an IIIF Image Server with AWS Serverless Applications
09-09
Using Custom Permissions in Drupal Custom Modules
09-09
GitHub Repository for DTS API for TEI/XML Files Published in the Koui Genji Monogatari Text DB
09-04
Creating a DTS API for TEI/XML Files Published by the Koui Genji Monogatari Text DB
09-04
Trying Out DTS (Distributed Text Services)
09-04
The Relationship Between DTS and CTS
09-04
Trying Out the MyCapytain Library
09-04
Trying Canonical Text Services
09-04
Describing Annotations Using SVG in IIIF Presentation API v3
09-03
August
Avoid Japanese Folder Names When Registering Metadata to Folders in Archivematica
08-27
Performing Similar Image Search Using GUIE (Google Universal Image Embedding) Pre-trained Models
08-27
I Created a Drupal Module to Trigger GitHub Actions
08-24
Created a Sample Repository Using @elastic/search-ui with Nuxt
08-23
Mirador Repository with Vertical Text Support for the Text Overlay Plugin
08-23
Archivematica Sample Data
08-23
Verifying the Behavior of Normalization in Archivematica
08-23
Specifying Sort Order in Drupal Facets
08-23
Exporting Tropy Data to Omeka S
08-23
Preventing Unpublished Content from Being Indexed by Drupal’s Search API
08-20
Sample Program Using the Annotorious OpenSeadragon Plugin
08-16
Setting Field-level Visibility (Public/Private) in Drupal
08-16
Drupal: Troubleshooting Cache Clear Errors
08-16
Applying Google Cloud Vision to Image Files to Create IIIF Manifests and TEI/XML Files
08-08
Handling Errors When Updating Omeka S from v4.0.4 to v4.1
08-01
Updating Omeka S
08-01
July
Exporting Only Specific Items and Selected Fields Using Omeka S BulkExport
07-31
Registering RDF Data to Dydra Using Python
07-26
Deleting All Files in OpenAI Storage
07-24
Bringing a Specified Marker to the Front in nuxt3-leaflet
07-23
LEAF Writer: Adding Mirador
07-23
Bug in Omeka S IIIF Server Module [3.6.19, 3.6.20]
07-19
A Library for Creating RDF Files from VSDX Files
07-18
Handling concurrent.futures.process.BrokenProcessPool
07-18
Using Node.js to Validate JSON:API Compliance
07-18
Trying Out virtual-museum-tour-threejs
07-15
Fetching All Records from an OAI-PMH Repository Using Python
07-14
Retrieving the URL of Site Pages Where Items Are Published in the Omeka S OaiPmh Repository Module
07-14
Bulk Deleting Multiple Content Items Using the Drupal REST API
07-14
Adding Images to IIIF Manifest Files for Audio Materials
07-12
IIIF Audio/Visual: Describing Multiple VTT Files
07-12
App Development Using Zotero’s API and Streamlit
07-11
Displaying Audio Files with Subtitles in an IIIF Viewer
07-10
Uploading Multiple Files to mdx.jp Object Storage
07-09
Converting Audio Published on the NDL Historical Sound Archive to mp4
07-09
Customizing Ramp
07-09
Running Ramp Locally
07-08
Trying the Mirador 3 Annotations Plugin with an IIIF Manifest Specified via URL Parameters
07-07
Delivering IIIF Images Using mdx.jp Object Storage and Cantaloupe Image Server
07-07
Using mdx Object Storage (Using Cyberduck)
07-06
Using Scroll View in Mirador 3
07-06
Reverse Proxy Settings for Drupal Running with Docker + Traefik
07-04
Redirecting to HTTPS with Traefik
07-04
Survey of IIIF-Compatible Viewers
07-04
Large Videos Not Playing in Chrome
07-04
Difference Between production and development in Omeka S SetEnv APPLICATION_ENV
07-04
Operating Multiple HTTPS-Enabled Containers with Traefik
07-04
Fixing Issues with the Omeka S GoogleAnalytics Module
07-03
Redirecting Using Amazon S3 and Route 53
07-03
Configuring CORS for Docker-based Omeka S
07-02
Commands for Batch Replacing IIIF Canvas URIs
07-02
Configuration Example for Using BulkImport in Omeka S
07-02
Bug in the BulkImport Module for Omeka S
07-02
CORS Error with Omeka S IIIF Server Module
07-02
Service with name “Omeka\Acl” could not be created
07-01
‘session.name’ is not a valid sessions-related ini setting
07-01
June
LEAF Writer: How to Add Sample Data
06-29
LEAF Writer: How to Use the Image Viewer
06-29
LEAF Writer: CSS Customization
06-29
LEAF Writer: Customizing Schemas
06-29
Google Spreadsheet + GAS (Google Apps Script) onEdit Executing Twice
06-28
Understanding the Relationship Between RDF, Turtle, JSON-LD, and IIIF Manifest Files
06-28
Partial Update to TEI/XML Published in the Koui Genji Monogatari Text Data Repository
06-28
LEAF Writer: Entity Lookup for Japan Search
06-27
LEAF Writer: Adding Japanese UI
06-27
Published the Mirador 4 Version of mirador-sync-windows Repository
06-27
Mirador 4 Plugin Development: Rotating Images at Arbitrary Angles
06-27
Publishing a Customized Mirador 4 as an npm Package
06-27
Examining Zoom, Scale, and Rotation Behavior in Mirador 4
06-26
Running LEAF-Writer in a Local Environment
06-26
Publishing Materials on Zenodo
06-25
Verifying the Behavior of Mirador 2 Plugins
06-25
Handling nbdev Errors on macOS
06-24
Applied Examples of Data Description Using Linked Data
06-23
Developing a Zoom Disable Plugin for Mirador 3 (4)
06-23
Using prefix.cc
06-23
Notes on Adding and Visualizing RDF Data
06-23
Retrieving RDF from URIs Using Content Negotiation in Python
06-23
Created an M3 Version of mirador-sync-windows
06-21
Trying iiif-prezi3
06-19
Running Archivematica with Docker
06-19
Fixing Japanese Filename Conversion in Archivematica
06-19
Trying Out mirador-sync-windows
06-19
Converting Toji Hyakugo Monjo WEB Data to IIIF
06-19
Trying Parts of https://wikidata.reconci.link/
06-17
Adding Classes and Properties Using the Omeka S CustomOntology Module
06-17
Released v4.1.0 of Omeka-S-module-FixCjkSearch
06-17
Accent Sensitivity in Omeka S Partial Match Search
06-17
Examining the Contents of the DHC Format
06-16
Notes on Using Zotero
06-15
Trying Out a3m
06-13
How to Handle CSP Errors in Strapi
06-12
How to Handle When SSH Connection to Sakura VPS Becomes Unavailable
06-12
Rebuilding and Restarting Containers with docker-compose
06-12
Trying Strapi’s Data Transfer
06-12
Drupal: Setting Pre-filled Values Using the Prepopulate Module
06-12
Creating RDF Data Using Microsoft Visio
06-08
Using “ARC2 RDF Graph Visualization” from Python
06-07
Trying tropy-plugin-iiif
06-06
Trying Out @iiif/parser
06-05
Handling Shared Memory Shortage When Running ndlocr_cli and Other Issues
06-05
Publishing Videos with Omeka S
06-04
Disk Space After Installing ndlocr_cli with Docker
06-03
May
Logging into Drupal Programmatically
05-31
Bulk Exporting Registered Content in CSV Format from Drupal
05-30
Searching Including Private Posts with WordPress REST API
05-29
Triggering GitHub Actions from Drupal Events
05-28
Inference App Using a YOLOv5 Model (Character Region Detection)
05-23
Getting a List of Untranslated Nodes in Drupal
05-22
Launching Jupyter Lab on mdx
05-22
Fixing an Inference App Using Hugging Face Spaces and a YOLOv5 Model (Trained on NDL-DocL Dataset)
05-20
Handling ultralyticsplus: ValueError: Invalid CUDA ‘device=0’ requested…
05-20
Converting IIIF Curation Lists to TEI Facsimile Elements
05-17
Prototyping entity-lookup Using the Japan Search Utilization Schema
05-17
Trying cwrc’s wikidata-entity-lookup
05-16
Trying the CWRC XML Validator API
05-16
RELAX NG and Schematron
05-16
TEI Publisher ODD Configuration Examples (1)
05-15
Using the Docker Version of TEI Publisher
05-15
Formatting XML Strings in Python
05-09
How to Convert CMYK Color Images Without Color Inversion
05-08
Counting Triples in an RDF Store 2: Co-occurrence Frequency
05-08
Counting the Number of Triples in an RDF Store
05-06
Case-Insensitive Search in Drupal’s Search API
05-06
Trying Out TEIGarage
05-05
(Machine Translation) The TEI Archive
05-05
Prototyping Digital Archive Tools: Mainly IIIF Usage Support
05-02
April
Handling the Error: Input value “page” contains a non-scalar value
04-30
Bulk Deleting S3 Buckets Using AWS CLI
04-26
Trying NDLTSR (NDL Table Structure Recognition)
04-26
An Example Analysis of Texts Published in “SAT Daizokyo Text Database 2018”
04-25
Parsing XML Strings in Node.js
04-24
Adding Links to Publications on researchmap
04-24
LlamaIndex+GPT4+gradio
04-20
Creating an Inline Marker Tool with Editor.js
04-19
Changing the max-width of Editor.js
04-18
Checking Which Users Belong to a Specific Group on a Linux System
04-18
Released ver 4.0.2 of the Omeka S Theme Using Bootstrap 5
04-17
Partial Match Search with the Advanced Search Module in Omeka S
04-17
Specifying Items to Display in Omeka S Search Results
04-17
Creating a Custom Search Page in Omeka S
04-17
Using the API of the Curriculum Guidelines Code Recommendation App
04-16
Prototype of a Course of Study Code Recommendation App
04-16
Using the researchmap API
04-15
Using the Course of Study LOD
04-15
TEI/XML Visualization Example: Map Display Using Leaflet
04-12
Converting Japanese Calendar Dates to Western Calendar Using HuTime Calendar Conversion Service
04-12
March
February
Trying Out METSFlask
02-27
Trying the Access to Memory RESTful API
02-26
Trying the ArchivesSpace RESTful API
02-26
Differences Between DACS and ISAD(G)
02-26
Differences Between Omeka Classic and Omeka S
02-26
Trying ArchivesSpace’s OAI Repository
02-26
Trying Access to Memory’s OAI Repository
02-26
Trying Out AIPscan
02-25
Using the Media Arts Database SPARQL Endpoint with Yasgui
02-17
Limiting Filter Properties in Omeka S Advanced Search
02-17
Tips for Using sidebase/nuxt-auth in a Production Environment
02-12
Adding Japanese Translation to a Documentation Site Built with Sphinx
02-12
Copying Build Results to Sakura Rental Server Using GitHub Actions and SCP
02-08
Resolving mysqldump: not found in MariaDB
02-07
Omeka S Bulk Import Module: Usage Guide (February 2024 Edition)
02-07
Workaround When Presentation API v2 Manifests Cannot Be Displayed in Mirador 3
02-06
Updating the IIIF Viewers Module for Omeka S
02-05
Created a Simple TEI/XML File Viewer Using Next.js
02-05
How to Fix the 413 Request Entity Too Large Error in nginx-proxy
02-04
Configuring Amazon S3 as a Processing Source and AIP Storage Destination in Archivematica
02-03
An Example of Specifying Image Frames in Universal Viewer
02-02
January
How to Access S3 Buckets and Enable SSL Communication Using Docker-based Cantaloupe
01-27
Trying Out File Information Tool Set (FITS)
01-26
Trying the Docker Version of Cantaloupe
01-25
Drupal: Registering Files from URLs Using the Feeds Module
01-23
How to Bulk Delete Files in Drupal
01-23
Sending Email Notifications for GitHub Actions Results: Using Gmail
01-20
Handling Private Files in Omeka S
01-14
Sending Emails via Amazon SES from Omeka S on Amazon Lightsail
01-13
Created a Page to Visually Browse Omeka S Themes
01-10
Aligning the Collated Tale of Genji with Modern Japanese Translations in Digital Genji Monogatari
01-07
Trying ro-crate-py
01-02
Linking a GitHub Repository with Zenodo
01-02
Trying OAuth2 Authentication for REST Resources Using Drupal’s simple_oauth Module
01-02
Trying the Drupal Social Auth GitHub Module
01-02
Testing Drupal REST Resource Cookie Authentication Using Postman
01-01
2023 197
December
Trying the Drupal JSON Web Token Authentication Module
12-31
Investigation of the Drupal REST & JSON API Authentication Module
12-31
Updating Drupal on Sakura Rental Server
12-22
Drupal Module Development: Searching with Variant Characters in Mind
12-21
Troubleshooting Errors When Running lando start
12-21
Drush Command Cheat Sheet
12-20
Pagination Error When Using JSON:API Search API in Drupal
12-16
Usage Example of the Image Map Editor in Oxygen XML Editor
12-12
Georeferencing with Allmaps
12-07
November
Nuxt3 x Vuetify x Cesium
11-30
Trying Nuxt 3 and Decap CMS
11-30
Handling AttributeError: ‘ImageDraw’ object has no attribute ’textsize’
11-26
Restarting Virtuoso on EC2 Using Amazon SNS
11-24
Resolving SAM Error: Running AWS SAM Projects Locally Requires Docker
11-24
Trying Leaflet Marker Cluster with Nuxt 3 and Composition API
11-24
Example of Creating a Page Using Universal Viewer v4
11-24
Nuxt3 x Vuetify x Cytoscape
11-18
Cantaloupe: Running as a Service
11-16
Cantaloupe: Serving Images Stored in Amazon S3
11-16
Drupal: Registering Multiple Values and Skip Processing Using the Feeds Tamper Module
11-13
Drupal: Displaying UUIDs
11-13
TEI Publisher: Visualization Examples from the TEI Publisher Demo Collection (Part 1)
11-12
Vue.js: Handling Panes with iframes When Using Splitpanes
11-06
Formatting and Syntax Highlighting XML in Nuxt3
11-06
Schemas Convertible from TEI ODD: RNG, XSD, DTD, and More
11-04
Using Roma to Limit Tags for Your Project and Generate Documentation
11-03
Using Versioning Machine (VM5.0) with Visual Studio Code (VSCode)
11-03
Created a Python Library to Convert Freehand Annotations to Rectangles
11-02
October
Making Field Values Selectable in Drupal
10-31
Enabling Search by ID and Title When Referencing Other Content in Drupal
10-31
Drupal: Handling Errors When Updating the
uid Field via API
10-26
Handling “Some resources have been omitted because of insufficient autho…” in Drupal
10-26
Converting JSON-LD Data to RDF/XML and Turtle Using EASY RDF
10-24
[Omeka S Module Introduction] BulkExport: Adding Export Functionality to Item Detail Pages
10-17
Disabling Autotune in Amazon OpenSearch Service
10-03September
Installing drush on Drupal Built with Lando
09-28
How to Disable Twig Cache in Drupal 10.1.0 and Later
09-28
Enabling HTTPS for Archivematica on EC2
09-22
Trying the IIIF Content State API
09-21
Trying Cantaloupe Access Control
09-21
Adding Values to info.json in Cantaloupe
09-20
Trying Cantaloupe Overlays
09-20
Enabling the Cantaloupe Admin Panel
09-20
Enabling HTTPS for Cantaloupe on EC2
09-20
Created Notebooks Using NDLOCR and NDL Classical Japanese OCR ver.2
09-20
Handling “two factor auth enabled…” on PyPI
09-20
Launching Cantaloupe, a IIIF Image Server, on EC2
09-19
Displaying Images Referenced by URL in Drupal Views
09-05
August
Running NDL Classical Japanese OCR on mdx
08-29
Trying Mirador 2’s Physical Document Ruler
08-29
Mirador 3 Plugin Development: Adding Vertical Text Support to the Text Overlay Plugin
08-22
Notes on Extracting Latitude and Longitude from Google Maps Short URLs
08-22
Trying the mirador-annotations Plugin and SimpleAnnotationServer with Mirador 3
08-18
[Omeka S Module Introduction] Advanced Search Adapter for Solr
08-17
Visualizing Item Counts by Latest Update Year for the Japan Search Utilization Schema
08-16
Accessing a Specific AWS S3 Bucket Using Cyberduck for macOS
08-16
Setting Up GitHub 2FA Using a Browser Extension
08-15
Error When Running npx nuxi typecheck
08-09
Commands for Restarting Virtuoso When It Stops
08-07
Utilizing Exhibition Information Stored in the Cultural Japan RDF Store
08-04
Mirador 3 Plugin Development: Creating a Layer Slideshow
08-03
July
About ALTO (Analyzed Layout and Text Object) XML
07-31
Watching URL Query Changes with watch in Nuxt3
07-29
I Created a Sample Repository Using CETEIcean and Nuxt 3
07-27
How to Check How Fields Are Indexed in Apache Solr
07-23
[Omeka S Module Introduction] Scripto: Performing Transcription and Translation
07-20
[Omeka S Module Introduction] IiifPresentation: Adding IIIF Presentation API
07-20
Omeka S Module Introduction: HistoryLog - Recording Change History
07-20
Updated Mirador to 2.7 in the Omeka Classic IIIF Toolkit
07-20
Batch Registering Data to Omeka Classic IIIF Toolkit
07-20
Mirador 3 Plugin Development: Copying a Window
07-19
Trying QuickStatements on wikibase.cloud
07-19
Trying Out WikibaseSync
07-19
Using the Wikibase API
07-19
Trying Dataverse
07-19
Trying wikibase.cloud
07-14
Health Checking Virtuoso Running on Amazon EC2
07-14
Using the onClose Prop
07-11
Zooming to Meet Viewport Constraints in Mirador 3
07-11
Using zoomTo in OpenSeadragon to Satisfy Viewport Constraints
07-10
Difference Between
fitBounds and fitBoundsWithConstraints in OpenSeadragon (OSD)
07-10
Highlighting LaTeX in Monaco Editor
07-10
Highlighting TeX with Ace.js
07-09
Building a Django CI/CD Environment from GitHub to EC2 Using GitHub Actions (2023 Edition)
07-09
django-simple-history: Recording Model Edit History in Django
07-03
Implementing Partial Match Filters in Django Rest Framework (DRF)
07-03June
How to Bulk Delete Collections in Omeka Classic
06-27
Guide to the IIIF Mirador 2 Annotation Interface
06-21
Trying Out bagit-python
06-20
Getting the File Path of an Uploaded File Using Django’s ModelForm
06-20
Connecting Django with AWS OpenSearch
06-19
Bulk Registration with Django REST Framework
06-17
Using JWT in Django (djangorestframework-simplejwt)
06-17
Using the Archivematica API to Perform Transfer Through AIP Download
06-16
Setting Default Sort Order for Items Displayed on Per-Item-Set Pages in Omeka S
06-16
Sorting and Pagination in Strapi v4 GraphQL
06-16
Enabling OpenAPI in Drupal
06-14
Using OpenSeadragon and OpenSeadragon SVG Overlay with Nuxt3
06-14
Handling CORS Errors with Drupal’s JSON:API
06-12
Troubleshooting JSON:API Related Errors
06-12
Disable UI: Using Drupal as a Headless CMS
06-09
How to Use Drupal JSON:API (include and Multilingual Support)
06-09
Content Registration and Multilingual Support Using Drupal Key Auth
06-09
Trying Wagtail
06-09
Causes and Solutions When Browse Does Not Work in Archivematica
06-07
Bulk Deleting Amazon ECR Repositories
06-06
Customizing Views for Custom Models in Django REST Framework JSON:API (DJA)
06-05
Adding Custom Models to Django REST framework JSON:API (DJA)
06-05
Trying Django REST Framework JSON:API (DJA)
06-05
May
Specifying the ImageMagick Path When Installing Omeka S on Sakura Rental Server
05-30
Creating a REST API Using OpenAPI and AWS CDK (OpenSearch Connection and Custom Domain)
05-26
Integrating Strapi with Amazon OpenSearch
05-26
Configuring Strapi’s REST API
05-26
Creating PDF Files from IIIF Manifest Files
05-26
How to Upload and Update Files Using the GitHub GUI
05-25
About the Image Server Configuration for Omeka S
05-25
AWS CDK x CloudFront x S3 x Basic Auth x index.html Support x Custom Domain
05-16
How to Register IIIF Images as Media in Omeka S
05-15
Creating an Anonymous File Uploader Using Google Drive and Google Apps Script
05-11
April
Sending Google Spreadsheet Update Notifications to GitHub
04-27
Auth0 Provider and Strapi Tutorial
04-24
Fixing TypeError: array_keys()… in Drupal
04-24
Drupal: An Example of Searching Nested Fields
04-24
Drupal: Example of Bulk Registration and Updates Using Feeds
04-23
Strapi: How to Filter Results by Deeply Nested Fields
04-22
Drupal: Adding Content Types and Fields Using Custom Modules
04-21
Drupal: Linking Content of Different Content Types to Each Other
04-20
Checking ORCID RDF Data
04-20
Drupal: Creating Custom REST Resources
04-20
Creating a Custom API Using Drupal’s RESTful Views
04-20
Displaying the Total Number of Results in Drupal Views
04-20
Adding Google Analytics 4 gtag.js to Omeka S
04-19
Converting TEI XML to LaTeX Using TEI Critical Apparatus Toolbox
04-19
Prototype of an XML File Validation Tool Using JPCOAR Schema (v1)
04-19
Text Selection Using VueUse (Nuxt 3)
04-19
Search Using Drupal Search API in Next.js for Drupal (Faceted Search, etc.)
04-17
Does Contentful Full-Text Search Require Search Terms of 2 or More Characters?
04-14
How to Bulk Delete Content in Drupal
04-14
Connecting Drupal with Amazon OpenSearch Service
04-13
Trying GraphQL with Drupal
04-12
Adding GraphQL to Strapi
04-12
Bug Fixes and Feature Additions to the NDL Classical Book OCR Tutorial Using Google Colab
04-12
Creating IIIF Presentation API v3 Manifest Files Using Omeka S
04-12
Registering Taxonomies and Adding Them to Content in Drupal Using Python
04-11
Updating and Deleting Drupal Content Using Python
04-11
Adding Content to Drupal Using Python
04-11
Running Strapi on Amazon Lightsail (SSL, Custom Domain)
04-11
[Omeka S Theme Development] Updated the Bootstrap 5 Omeka S Theme
04-10
I Created Digital Archive Tools Centered on IIIF
04-06
Creating RDF from Excel
04-03
Trying to Create a ShEx File
04-03
Obtaining Persistent Identifiers with w3id.org and Redirecting to Snorql
04-02
March
Bidirectional Interaction Between Vue 3 and Babylon.js (Part 2)
03-29
Loading .glb Files with Nuxt3 x babylon.js
03-29
Bidirectional Interaction Between Vue 3 and Babylon.js
03-29
Changing Annotation Colors in IIIF Curation Viewer
03-28
Web Application for NDL Classical Book OCR Using Hugging Face Space
03-27
Running NDL Classical Japanese OCR on Amazon EC2 CPU Environment
03-27
Comparison of Nuxt.js and Next.js
03-18
What Is a Canonical URL? (canonicalUrl)
03-18
Implementing Exact Non-Match Search with Fuse.js (Explained by GPT-4)
03-17
How to Extract respStmt name Values from TEI/XML Files (Explained by GPT-4)
03-17
Omeka Classic and Omeka S: Feature Comparison (Explained by GPT-4)
03-17
Omeka S User Permissions and Access to Private Resources
03-17
Updating Vocabularies Created with Omeka S Custom Ontology
03-16
Trying Leaflet Marker Cluster with Nuxt 3
03-16
Memo on Using nbdev
03-15
Partially Implementing Exact Non-Match Search with Fuse.js
03-14
[Omeka S Module Introduction] Bulk Import: Batch Registration of Metadata and Images Using CSV Files (2023-03 Edition)
03-12
February
Running NDL Classical Text OCR Using Amazon SageMaker Studio
02-27
[Babylon.js x Vue] Passing Click Events to Vue
02-17
Trying the Babylon.js Vue Tutorial with Nuxt 3
02-17
Running ArchivesSpace as a Unix Daemon
02-10
Setting Up ArchivesSpace on Amazon Lightsail
02-10
Japanese Translation Example of the Archivematica AIP README File
02-09
Trying the Archivematica API (Archivematica API - Transfer)
02-09
Using Japan Search Web Parts with Next.js
02-09
Trying the Archivematica API (Storage Service API)
02-08
Setting Up Archivematica on Amazon EC2
02-08
Hosting Nuxt 3 SSR on Vercel (+ Enabling CORS)
02-03
Creating IIIF Manifest Files Using a Headless CMS
02-03
Program for Batch Image Registration to Omeka S
02-03
Using Babylon.js with Nuxt3 and Vuetify Together
02-02
January
Publishing Images Using IIIF Image API Level 0
01-30
Created a Program to Calculate Edit Distance for TEI/XML Files Containing app Elements
01-26
How to Use IIIF Presentation Validator in a Local Environment
01-25
NDL Classical Text OCR Using Google Colab
01-25
[Omeka S Module Introduction] BulkExport: Bulk Data Export
01-22
Collaborative Editing of TEI/XML Files Using Visual Studio Live Share (Not Limited to XML)
01-19
Validating XML Files Using the JPCOAR Schema
01-19
Trying the jingtrang Library for RELAX NG Schema: Creating RNG Files
01-18
Trying the jingtrang Library for RELAX NG Schema: Validation
01-18
Converting Word to TEI/XML
01-17
Trying to Register an Image on OpenSea
01-16
Trying to Add Images and a IIIF Manifest to IPFS
01-16
Creating a Customized RNG File Using Roma: Restricting Available TEI Tags
01-12
An Example Workflow for Creating TEI/XML from Excel
01-10
2022 163
December
Created a Custom OpenSeaDragon Viewer for Use in TEI Viewers
12-26
Introducing an IIIF Viewer in Nuxt3 with SSR
12-26
Script for Initial Setup of Omeka S on Amazon Lightsail (Adding the Easy Admin Module)
12-24
Omeka S Module Development: FixCjkSearch - Fixing Full-Text Search Issues with Japanese in Omeka S
12-23
Deploying Nuxt 3 on Amazon Lightsail: Using pm2
12-22
[Omeka S Module Introduction] Folksonomy: Social Tagging
12-20
Trying Out Gatsby CETEIcean
12-20
Trying Out TEI Boilerplate
12-17
Omeka S 4.0.0 Release Candidate Has Been Published
12-15
Restricting API Access in Omeka S
12-12
TODO Memo for EC2 Server Setup
12-05
November
Investigating Customization Methods for Snorql for Japan Search
11-29
Using the Japan Search SPARQL Endpoint with Yasgui
11-28
[Omeka S Module Introduction] Mapping Module
11-25
[Omeka S Module Introduction] Timeline Module
11-24
[Omeka S Module Introduction] IIIF Search Module
11-24
[Omeka S Module Modification] IIIF Search Module
11-24
Running Tesseract on Google Colab (with Japanese Support)
11-24
[Omeka S Module Introduction] “Extract Ocr” - A Module for Performing OCR on PDF Files
11-24
Workaround for HuggingFace Trainer() Not Starting When Using Vertex AI Workbench
11-21
Installing the Mroonga Search Module (Note: This Did Not Work Successfully)
11-21
Trying the ResourceSync Python Library
11-21
[Omeka S Module Development] Adding Features to Sitemaps
11-20
[Omeka S Module Introduction] Sitemaps
11-20
Trying the IIIF Auth API
11-18
Omeka S Module Introduction: Data Type RDF
11-14
Introduction to “FairCopy”: A TEI Text Creation Support Tool
11-11
Registering ICA RiC-O Vocabulary in Omeka S
11-10
How to Use the Text Markup Tool “CATMA”
11-10
Trying the MediaWiki TEI Extension (Result: Did Not Work)
11-10
A Python Package for Interacting with the Omeka S REST API
11-07
[Omeka S Module Introduction] Custom Vocab
11-06
October
Retrieving Birth and Death Years of Historical Figures from Wikidata
10-27
[TEI x JavaScript] Removing Unintended Whitespace in Nuxt 3
10-25
Dealing with AttributeError in ultralytics/yolov5
10-18
An Example of Manipulating JSON Files with Nuxt 3’s server/api
10-16
Script for Initial Setup of Omeka Classic on Amazon Lightsail
10-13
An Example of Deploying Nuxt 3 to Netlify and AWS
10-11
Double-Sided Ruby Annotations Using python-docx
10-04
An Example Method for Converting TEI/XML Files to Vertical-Writing PDF
10-03
Prototype npm Package for Displaying Popups on Selected Text
10-01
September
Converting TEI/XML Files to EPUB Using Python
09-30
[Omeka S Module Development] Updating IIIF Viewers
09-26
Supporting Drag & Drop for IIIF Icons
09-22
Creating a GitHub Release Script for Omeka S Module Development
09-22
How to Extract and Process Only Text Strings from XML Files
09-22
I Created an API That Returns a List of Items Containing a Specified IIIF Manifest in Cultural Japan
09-20
Batch Download Script for Omeka S Modules
09-14
[Memo] MapTiler Light and Dark Themes
09-12
Omeka S Theme Development: Fixed a Bug in the Bootstrap 5 Omeka S Theme
09-12
Script for Initial Setup of Omeka S on Amazon Lightsail
09-09
Specifying the Initial Specification to Display in Swagger UI Demo via GET Parameter
09-09
Output Content of IIIF Manifests (Version 2) from the Omeka S IIIF Server
09-01
August
How to Set the xml:id Attribute with BeautifulSoup
08-30
[Omeka S] Created a Foundation S Theme That Works Around the Japanese Search Bug
08-26
[Omeka S] Handling Bulk Import Bugs (Including Installation from Source Code)
08-21
[Memo] How to Use Virtuoso
08-19
How to Manually Restart or Stop Virtuoso from the Command Line
08-19
Similar Image Search Using VGG16
08-19
Similar Image Search Using an Autoencoder
08-19
[RDF] Configuring URI Access to Redirect to the Snorql Interface
08-19
Returning JSON from Hugging Face Spaces
08-16
Building a Virtuoso RDF Store Using AWS EC2
08-16
How to Register and Delete RDF Files in Virtuoso RDF Store Using curl and Python
08-16
Building an Inference App Using Hugging Face Spaces and a YOLOv5 Model (Trained on the NDL-DocL Dataset)
08-04
July
Dumping Elasticsearch Data to Local
07-27
Building a Layout Extraction Model Using the NDL-DocL Dataset and YOLOv5
07-25
Getting a Google Drive Folder ID from a Path Using Google Colab
07-25
Conversion and Visualization of the NDL-DocL Dataset (Document Image Layout Dataset)
07-22
Hosting Hugging Face Models on AWS Lambda for Serverless Inference
07-17
I Created a Program to Extract Differences Between Two Texts
07-14
Trying Omeka Classic as a Headless CMS
07-08
Created an Image Comparison Tool Using Mirador 3
07-08
Bulk Registration of Annotations Using the IIIF Toolkit for Omeka Classic
07-08
Building an Omeka Classic Site Using Amazon Lightsail (Including Custom Domain + SSL)
07-07
NDL OCR Now Supports Ruby (Furigana) Text Extraction
07-06
Aggregations with Different Keys and Values (Labels and IDs) in Elasticsearch
07-04
Bug and Fix for Omeka S Bulk Import
07-01
June
Created a Video on How to Use the NDLOCR App with Google Colab
06-30
Scheduled Backup of Omeka S Data Using AWS Copilot
06-24
Created a Program to Download Data from Omeka Classic
06-23
Created a Program to Download Omeka S Data
06-22
How to Add the mirador-image-tools Plugin to Mirador 3 and Bundle It into a Single JS File for Distribution
06-08
I Created an IIIF Image API Tool Using Nuxt 3 and Vuetify 3
06-07
File Upload (Python) and Download (PHP)
06-03
May
Creating Microsoft Word Files with python-docx: Using Templates and int2kanji
05-31
[Omeka S Module] How to Disable Image API in the IIIF Server Module
05-27
[Omeka S Theme] Partial Mapping Module Support for Bootstrap 5 Theme
05-26
[Omeka S] How to Use the “IIIF Viewers” Module for Multiple IIIF-Compatible Viewers
05-26
Registering DC-NDL (National Diet Library Dublin Core Metadata Description) as a Vocabulary in Omeka S
05-25
Sample Notebook for Fetching Google Spreadsheet Data from Google Colab
05-25
Memo: Specifying a Profile When Running sam deploy
05-21
Resolving “Error building docker image” During Local Development with AWS SAM
05-21
Simple Backup of Omeka S Using gdrive
05-12
Using gdrive in a LAMP environment started with Amazon Lightsail
05-12
Using gdrive in a LAMP Environment on Amazon Lightsail
05-12
What to do when
05-09
How to Fix “An error occurred in Google Drive”: Script to Empty Shared Drive Trash
05-06
Running gcv2hocr on Google Colab: Creating Searchable PDFs with Transparent Text Using Google Vision API
05-03
How to Delete Files on Google Drive Using Google Colab
05-02
Created Version 2 of the NDLOCR App Using Google Colab
05-02
Fixing the GitHub Repository Demonstrating Mirador 3 Usage with Nuxt 2
05-01
April
Updating the NDLOCR App Using Google Colab: Adding Single Input Dir Mode
04-29
Execution Time for NDLOCR Using Google Colab
04-29
Example of Running SPARQL Queries Against the Japan Search RDF Store Using Google Colab
04-29
Running the NDL Lab Automatic Figure/Table Extraction Program Using Google Colab
04-29
Running NDLOCR App with Google Colab (Image Input and Result Saving via Google Drive)
04-28
Building an Omeka S Site Using Amazon Lightsail (Including Custom Domain + SSL)
04-26
Running the NDLOCR Application Using Google Cloud Platform Compute Engine
04-26
Using The New York Public Library API
04-23
How to Register, Update, and Delete researchmap Achievements Using CSV Files
04-15
Added TEI/XML Download Functionality to the “NDL OCR x IIIF” App
04-15
Experiments on Image Sizes Supported by serverless-iiif
04-14
Usage Example of Leaflet with Vue 3 (Including Coordinate Range Retrieval)
04-14
Created a Sample Repository for Using OpenSeadragon with Vue3
04-14
[Omeka S] How to Set Custom Identifiers in the IIIF Server Module
04-11
[Omeka S] How to Configure Attribution in the IIIF Server Module
04-11
Created a Sample Repository for Running XSLT in Node.js
04-08
Setting Focus on a Text Field Inside a Dialog When Opening It in Vuetify
04-07
How to Enable Hot Reload for the static Directory in Nuxt.js
04-07
Introduction to IIIF Presentation API Validation Methods with Practical Examples
04-06
About Image Size Limits for Dynamic Tile Image Generation in the Omeka S Image Server Module
04-06
GCP: Handling Errors When Creating AI Platform Notebooks
04-05
How to Delete a Feature Store in GCP Vertex AI
04-05
[Development Guide] I Created an App to View OCR Results Published by the National Diet Library’s Next-Generation Digital Library in an IIIF Viewer
04-04
An App for Viewing OCR Results from the NDL “Next-Generation Digital Library” in an IIIF Viewer
04-03
March
Creating Pyramid Tiled TIFF Files Using AWS Lambda + Docker + pyvips
03-31
How to Use pyvips and Create Pyramid Tiled TIFF Files
03-30
[Memo] How to Use Maplat
03-25
I Created a Calendar Search App
03-24
Building an Object Detection API Using AWS Lambda (Flask + YOLOv5)
03-24
[Omeka S Theme Development] Published a Bootstrap 5 Theme for Omeka S
03-23
[Omeka S Module] How to Use Clean Url
03-23
Building an Annotation Environment Using Omeka Classic + IIIF Toolkit
03-22
Installing Omeka Classic
03-22
Created a Summary Article and Zenn Book Explaining How to Use Omeka.net (Classic)
03-22
[Summary Article] How to Use Omeka.net (Classic)
03-22
[Google Colab] Retrieving Article Lists Using the Hatena Blog AtomPub API
03-22
How to Use a Flask-Based YOLOv5 Model Repository with ECR and AWS App Runner
03-21
Health Check on Port Issue When Using AWS App Runner + ECR
03-20
Generating IIIF Collections Using the Omeka S IIIF Server Module
03-17
Building an IIIF Image Server with AWS Serverless Application
03-17
[For Developers] Setting Up a Search Application Development Environment Using AWS x Nuxt.js x Elasticsearch
03-12
Registering Resource Classes with Bulk Import and Editing Settings
03-11
Created a Program for Batch Updating File Owners in Google Drive
03-11
[Memo] Created a Program for Batch Deleting Folders on Google Drive
03-09
How to Install Omeka S Modules
03-09
Batch Updating Metadata Using CSV Files with Bulk Import
03-08
Notes on Japanese Full-Text Search in Omeka S and the Mroonga Search Module
03-07
Created a Sample Program for Analyzing TEI/XML Files with Python
03-06
Created a Program for Batch Downloading Images from IIIF Manifest Files
03-04
How to Use the Omeka S XML Viewer Module
03-04
[Pinned Post] Welcome to the Digital Archive Systems Technical Blog
03-04
How to Use the Omeka S Mirador Module
03-01
Summary of Articles About Omeka S
03-01
February
How to Fix Errors with gdown
02-22
Created a Program to Generate TEI facsimile Elements from IIIF Manifest Files
02-22
How to Get an Element with a Specific xml:id Value Using JavaScript querySelector()
02-21
[Omeka S Development] Created a Program to Generate CSV Files for Registering Dummy Data in Omeka S
02-17
[Omeka S Module Introduction] How to Use the Mapping Module (Especially Batch Registration via the CSV Import Module)
02-15
[Omeka S Module Development] Developed a Module to Add Various Export Links to the Item Detail Page
02-14
[Omeka S Module Development] Developed a Module to Add IIIF Content Search API URIs to IIIF Manifests
02-11
[Omeka S Module Info] Bug in the Clean Url Module and Temporary Fix
02-01
2021 27
September
August
[Feature Development] Added Table of Contents Functionality to the Omeka S IIIF Module (Part 2: Registering Hierarchical Tables of Contents)
08-13
[Feature Development] Added Table of Contents Functionality to the Omeka S IIIF Module (Part 1: Registering Flat Tables of Contents)
08-13
[Feature Development] Bug Fix for License Property in the Omeka S IIIF Server Module
08-13
[Translation] How to Add Table of Contents Information in the Omeka S IIIF Server Module
08-11
How to Embed Mirador 3 in a Specific Area of a Page
08-10
How to Add a Line Break Before the lb Tag in Oxygen Auto-Formatting
08-08
Created a Repository Demonstrating How to Use Mirador 3 with Nuxt.js
08-07
[Omeka S Tips] Notes on Using the BulkImport Module on Windows
08-07
[Omeka S Tips] About Auto-Adding New Items to Each Site
08-06
[Omeka S Module Introduction] Numeric Data Types: Enabling Range Search for Date Data, and More
08-01
July
Created a GitHub Repository Demonstrating How to Use vis.js with Nuxt.js
07-29
[Omeka S Module Introduction] Metadata Browse: Adding Links to Search for Items with the Same Metadata
07-29
[Omeka S Module Customization] OaiPmhRepository: Creating Custom Vocabularies
07-25
[FOSS Memo] CollectiveAccess
07-25
[Omeka S Tips] How to Add Existing Standard Vocabularies
07-24
[App Introduction] Introducing IIIF pocket
07-24
[Omeka S Manual Translation] Resources > Items
07-24
[Omeka S Tips] How to Set Language Attributes for Metadata
07-24
[Omeka S Module Introduction] Item Sets Tree
07-23
[Omeka S Module Introduction] IIIF Server / Image Server / Universal Viewer
07-23
Reference Materials for Introducing Omeka S
07-23
Introduction to the IIIF Collection of IIIF Manifests Aggregated by Cultural Japan
07-23
Created a Repository Demonstrating How to Use Mirador 3 with Vue
07-22
[Feature Development] Adding a Setting to Disable Image API in the Omeka S IIIF Server Module
07-22