Phase 1 enrich KJV manifest metadata
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
# Changelog
|
||||
|
||||
## Current
|
||||
|
||||
- Enriched the KJV source manifest with translation, edition, contributor, feature, attachment, license, and catalog-display metadata.
|
||||
- Recorded the reusable manifest convention for future Bible translations and study resources.
|
||||
- Adopted the convention that each named implementation phase bumps the repo version and is committed locally and remotely.
|
||||
|
||||
## 0.1.1 - 2026-07-12
|
||||
|
||||
- Phase 1 metadata foundation: expanded the KJV manifest and manifest documentation so future translations can describe editions, source text basis, contributors, concordance links, study notes, commentaries, maps, and other attachments.
|
||||
|
||||
## 0.1.0 - 2026-07-12
|
||||
|
||||
- Initial LibreBible data repository with KJV `eng-kjv2006` source manifest, checksum checking, USFM import, generated JSONL packages, and generated JSON catalog output.
|
||||
+18
-2
@@ -21,6 +21,8 @@ The long-term goal is a dynamic resource library that applications can search, i
|
||||
- Local development happens in the workspace repo on drive `W:`.
|
||||
- The Christ Unscripted Gitea remote is the remote backup, collaboration, and publishing copy.
|
||||
- Do not treat resource work as durable until it is committed locally and pushed to Gitea.
|
||||
- Every named implementation phase should bump the repo version and be recorded in Git both locally and remotely.
|
||||
- Phase completion means the version bump, code/data/docs changes, and validation result are committed locally and pushed to Gitea.
|
||||
- The normal flow is local import/check, generated package verification, local commit, push to Gitea, then publish generated catalogs or releases from the pushed state.
|
||||
- The local repo and the Gitea repo are both intentional copies. Either should be enough to recover the project if the other system fails.
|
||||
- Do not publish generated resources or release artifacts from a dirty worktree unless Jason explicitly asks for that exact operation.
|
||||
@@ -62,8 +64,11 @@ Every source resource needs a manifest in `sources/`.
|
||||
Each manifest should record:
|
||||
|
||||
- Stable resource id.
|
||||
- Resource type, such as `translation`, `study_notes`, `commentary`, `map`, `lexicon`, `dictionary`, `cross_reference`, or `timeline`.
|
||||
- Human title and abbreviation.
|
||||
- Language.
|
||||
- Language code, language name, script, and dialect when relevant.
|
||||
- Translation date, edition date, source text basis, tradition, and public description when the resource is a Bible translation.
|
||||
- Contributors and maintainers with their roles.
|
||||
- Upstream provider.
|
||||
- Upstream human URL.
|
||||
- Upstream download URL.
|
||||
@@ -74,7 +79,18 @@ Each manifest should record:
|
||||
- Last checked timestamp.
|
||||
- Importer name and version.
|
||||
- Generated package paths.
|
||||
- Feature flags such as `strongs`, `notes`, `morphology`, `commentary`, `maps`, or `cross-references`.
|
||||
- Structured features and attachment metadata such as `strongs`, `notes`, `morphology`, `commentary`, `maps`, or `cross-references`.
|
||||
|
||||
Bible translation manifests should be broad enough to describe editions that include more than plain verse text. A translation may include or later connect to Hebrew, Greek, or Aramaic concordance entries, morphology, lemma links, study notes, commentaries, maps, timelines, media, and cross-reference resources. Do not encode KJV-only assumptions into the manifest shape.
|
||||
|
||||
Attachment metadata should identify:
|
||||
|
||||
- Attachment resource type.
|
||||
- Whether the attachment is embedded in the source package or external.
|
||||
- Relationship type, such as `word-to-strongs`, `verse-to-note`, `range-to-commentary`, `place-to-map`, or `event-to-timeline`.
|
||||
- Anchor types, such as translation, book, chapter, verse, verse range, word/token, Strong's number, lemma, topic, place, or timeline event.
|
||||
- Languages and systems involved, such as Hebrew, Greek, Aramaic, Strong's, morphology, or source-language lemmas.
|
||||
- Generated package path when the attachment is packaged.
|
||||
|
||||
## Metadata Truth
|
||||
|
||||
|
||||
@@ -1,25 +1,47 @@
|
||||
# Resource Manifest
|
||||
|
||||
Each `sources/*.json` file describes one upstream resource.
|
||||
Each `sources/*.json` file describes one upstream resource. The first resource is a Bible translation, but the same manifest discipline should also cover study notes, commentaries, maps, lexicons, dictionaries, timelines, cross-references, and other Bible-study resources.
|
||||
|
||||
Required fields:
|
||||
|
||||
- `id`: Stable package id used by apps.
|
||||
- `resource_type`: Type of resource, such as `translation`, `study_notes`, `commentary`, `map`, `lexicon`, `dictionary`, `cross_reference`, or `timeline`.
|
||||
- `title`: Human-readable title.
|
||||
- `short_title`: Short human title when different from `title`.
|
||||
- `abbreviation`: Short label.
|
||||
- `language`: BCP-47-ish language code.
|
||||
- `alternate_ids`: Upstream or ecosystem ids for the same resource.
|
||||
- `language`: Object with language code, name, and dialect when relevant.
|
||||
- `script`: Script code when useful.
|
||||
- `canon`: Scope and notes for biblical canon coverage.
|
||||
- `translation`: Translation-specific metadata, including translation year, edition year, source text basis, tradition, and public description.
|
||||
- `contributors`: Names and roles for translators, maintainers, publishers, source providers, or package providers.
|
||||
- `features`: Structured feature list, not just strings.
|
||||
- `attachments`: Included and future-supported attachment metadata.
|
||||
- `source.provider`: Upstream publisher or repository.
|
||||
- `source.url`: Human-facing upstream page.
|
||||
- `source.download_url`: Machine download URL used by importers.
|
||||
- `source.format`: Upstream source format, such as `usfm-zip`.
|
||||
- `source.upstream_id`: Upstream resource id.
|
||||
- `source.upstream_last_updated`: Upstream last-updated date when known.
|
||||
- `license.name`: License or rights label.
|
||||
- `license.redistribution`: Whether this repo may redistribute normalized outputs.
|
||||
- `license.notes`: Practical rights notes.
|
||||
- `license.jurisdiction_notes`: Practical rights notes.
|
||||
- `license.attribution`: Attribution text when needed.
|
||||
- `checks.expected_sha256`: Last accepted source archive checksum.
|
||||
- `checks.last_checked_at`: Last automated check timestamp.
|
||||
- `importer.name`: Script/importer id.
|
||||
- `importer.version`: Importer version.
|
||||
- `packages`: Generated package paths.
|
||||
- `catalog_display`: Human-facing summary and primary feature labels.
|
||||
|
||||
Attachment metadata should record:
|
||||
|
||||
- `resource_type`: Attachment type, such as `concordance_links`, `study_notes`, `commentary`, `map`, `morphology`, `lexicon`, or `timeline`.
|
||||
- `relationship`: How the attachment connects, such as `word-to-strongs`, `verse-to-note`, `range-to-commentary`, or `place-to-map`.
|
||||
- `anchor_types`: The target surfaces it can attach to: translation, book, chapter, verse, verse range, word/token, Strong's number, lemma, topic, place, or timeline event.
|
||||
- `languages`: Original or target languages involved, including Hebrew, Greek, and Aramaic when applicable.
|
||||
- `systems`: Concordance or tagging systems involved, such as Strong's or morphology codes.
|
||||
- `package`: Generated package path when the attachment is packaged.
|
||||
|
||||
Update flow:
|
||||
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "libre-bible-data",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "libre-bible-data",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.1",
|
||||
"dependencies": {
|
||||
"adm-zip": "^0.5.16"
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "libre-bible-data",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.1",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -1,20 +1,58 @@
|
||||
{
|
||||
"generated_at": "2026-07-12T02:30:18.202Z",
|
||||
"generated_at": "2026-07-12T02:51:51.354Z",
|
||||
"resources": [
|
||||
{
|
||||
"id": "kjv-eng-kjv2006",
|
||||
"title": "King James (Authorized) Version",
|
||||
"abbreviation": "KJV",
|
||||
"language": "eng",
|
||||
"language": {
|
||||
"code": "eng",
|
||||
"name": "English",
|
||||
"dialect": "archaic British"
|
||||
},
|
||||
"features": [
|
||||
"strongs",
|
||||
"usfm"
|
||||
{
|
||||
"id": "bible-text",
|
||||
"type": "translation_text",
|
||||
"label": "Bible text",
|
||||
"languages": [
|
||||
"eng"
|
||||
],
|
||||
"embedded": true
|
||||
},
|
||||
{
|
||||
"id": "strongs-links",
|
||||
"type": "concordance_links",
|
||||
"label": "Strong's-linked words",
|
||||
"languages": [
|
||||
"hebrew",
|
||||
"aramaic",
|
||||
"greek"
|
||||
],
|
||||
"systems": [
|
||||
"strongs"
|
||||
],
|
||||
"embedded": true,
|
||||
"package": "packages/json/kjv-eng-kjv2006/strongs-links.jsonl"
|
||||
},
|
||||
{
|
||||
"id": "usfm-source",
|
||||
"type": "source_format",
|
||||
"label": "USFM source",
|
||||
"format": "usfm",
|
||||
"embedded": false
|
||||
}
|
||||
],
|
||||
"license": {
|
||||
"name": "Public Domain",
|
||||
"redistribution": true,
|
||||
"jurisdiction_notes": "eBible states this work is firmly public domain outside the United Kingdom; UK printing/import may be restricted by Crown letters patent.",
|
||||
"source_license_url": "https://ebible.org/find/show.php?id=eng-kjv2006"
|
||||
"source_license_url": "https://ebible.org/find/show.php?id=eng-kjv2006",
|
||||
"attribution": "This free text is provided courtesy of CrossWire Bible Society and eBible.org.",
|
||||
"public_domain_outside": [
|
||||
"United Kingdom"
|
||||
],
|
||||
"restricted_notes": "Printing this translation in the United Kingdom or importing printed copies into the UK may require permission from the Crown patent holders."
|
||||
},
|
||||
"package_path": "packages/json/kjv-eng-kjv2006/catalog.json",
|
||||
"counts": {
|
||||
|
||||
@@ -2,10 +2,43 @@
|
||||
"id": "kjv-eng-kjv2006",
|
||||
"title": "King James (Authorized) Version",
|
||||
"abbreviation": "KJV",
|
||||
"language": "eng",
|
||||
"language": {
|
||||
"code": "eng",
|
||||
"name": "English",
|
||||
"dialect": "archaic British"
|
||||
},
|
||||
"features": [
|
||||
"strongs",
|
||||
"usfm"
|
||||
{
|
||||
"id": "bible-text",
|
||||
"type": "translation_text",
|
||||
"label": "Bible text",
|
||||
"languages": [
|
||||
"eng"
|
||||
],
|
||||
"embedded": true
|
||||
},
|
||||
{
|
||||
"id": "strongs-links",
|
||||
"type": "concordance_links",
|
||||
"label": "Strong's-linked words",
|
||||
"languages": [
|
||||
"hebrew",
|
||||
"aramaic",
|
||||
"greek"
|
||||
],
|
||||
"systems": [
|
||||
"strongs"
|
||||
],
|
||||
"embedded": true,
|
||||
"package": "packages/json/kjv-eng-kjv2006/strongs-links.jsonl"
|
||||
},
|
||||
{
|
||||
"id": "usfm-source",
|
||||
"type": "source_format",
|
||||
"label": "USFM source",
|
||||
"format": "usfm",
|
||||
"embedded": false
|
||||
}
|
||||
],
|
||||
"source": {
|
||||
"provider": "eBible.org",
|
||||
@@ -13,19 +46,37 @@
|
||||
"download_url": "https://ebible.org/Scriptures/eng-kjv2006_usfm.zip",
|
||||
"format": "usfm-zip",
|
||||
"upstream_id": "eng-kjv2006",
|
||||
"upstream_last_updated": "2026-05-16"
|
||||
"upstream_last_updated": "2026-05-16",
|
||||
"available_formats": [
|
||||
"browser",
|
||||
"mobile-html",
|
||||
"epub",
|
||||
"pdf",
|
||||
"sword",
|
||||
"plain-text",
|
||||
"vpl-sql",
|
||||
"browser-bible",
|
||||
"usfx",
|
||||
"usfm",
|
||||
"xetex"
|
||||
]
|
||||
},
|
||||
"license": {
|
||||
"name": "Public Domain",
|
||||
"redistribution": true,
|
||||
"jurisdiction_notes": "eBible states this work is firmly public domain outside the United Kingdom; UK printing/import may be restricted by Crown letters patent.",
|
||||
"source_license_url": "https://ebible.org/find/show.php?id=eng-kjv2006"
|
||||
"source_license_url": "https://ebible.org/find/show.php?id=eng-kjv2006",
|
||||
"attribution": "This free text is provided courtesy of CrossWire Bible Society and eBible.org.",
|
||||
"public_domain_outside": [
|
||||
"United Kingdom"
|
||||
],
|
||||
"restricted_notes": "Printing this translation in the United Kingdom or importing printed copies into the UK may require permission from the Crown patent holders."
|
||||
},
|
||||
"importer": {
|
||||
"name": "scripts/import-usfm.js",
|
||||
"version": "0.1.0"
|
||||
},
|
||||
"generated_at": "2026-07-12T02:30:18.202Z",
|
||||
"generated_at": "2026-07-12T02:51:51.354Z",
|
||||
"source_sha256": "4ea6952590d070bfa22985aded48a49581e31b568a60aa09e25f73462e700e7d",
|
||||
"counts": {
|
||||
"books": 66,
|
||||
|
||||
@@ -1,23 +1,125 @@
|
||||
{
|
||||
"id": "kjv-eng-kjv2006",
|
||||
"resource_type": "translation",
|
||||
"project_name": "LibreBible",
|
||||
"title": "King James (Authorized) Version",
|
||||
"short_title": "King James Version",
|
||||
"abbreviation": "KJV",
|
||||
"language": "eng",
|
||||
"canon": "protocanon",
|
||||
"features": ["strongs", "usfm"],
|
||||
"alternate_ids": ["ENGKJV", "eng-kjv2006"],
|
||||
"language": {
|
||||
"code": "eng",
|
||||
"name": "English",
|
||||
"dialect": "archaic British"
|
||||
},
|
||||
"script": "Latn",
|
||||
"canon": {
|
||||
"scope": "protocanon",
|
||||
"notes": "eBible describes this package as protocanon only."
|
||||
},
|
||||
"translation": {
|
||||
"base_title": "King James Version",
|
||||
"edition": "1769 standardized text with Strong's numbers added",
|
||||
"translation_year": 1611,
|
||||
"edition_year": 1769,
|
||||
"source_text_basis": "Authorized Version / King James Version standardized text of 1769",
|
||||
"tradition": "Protestant",
|
||||
"public_description": "The King James Version or Authorized Version of the Holy Bible, using the standardized text of 1769, protocanon only, with Strong's numbers added."
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "King James Version translators",
|
||||
"role": "translation"
|
||||
},
|
||||
{
|
||||
"name": "CrossWire Bible Society",
|
||||
"role": "source text provider"
|
||||
},
|
||||
{
|
||||
"name": "eBible.org",
|
||||
"role": "publisher and package provider"
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
{
|
||||
"id": "bible-text",
|
||||
"type": "translation_text",
|
||||
"label": "Bible text",
|
||||
"languages": ["eng"],
|
||||
"embedded": true
|
||||
},
|
||||
{
|
||||
"id": "strongs-links",
|
||||
"type": "concordance_links",
|
||||
"label": "Strong's-linked words",
|
||||
"languages": ["hebrew", "aramaic", "greek"],
|
||||
"systems": ["strongs"],
|
||||
"embedded": true,
|
||||
"package": "packages/json/kjv-eng-kjv2006/strongs-links.jsonl"
|
||||
},
|
||||
{
|
||||
"id": "usfm-source",
|
||||
"type": "source_format",
|
||||
"label": "USFM source",
|
||||
"format": "usfm",
|
||||
"embedded": false
|
||||
}
|
||||
],
|
||||
"attachments": {
|
||||
"included": [
|
||||
{
|
||||
"id": "kjv-eng-kjv2006-strongs-links",
|
||||
"resource_type": "concordance_links",
|
||||
"label": "Strong's links",
|
||||
"relationship": "word-to-strongs",
|
||||
"anchor_types": ["verse", "word", "strongs_number"],
|
||||
"languages": ["hebrew", "aramaic", "greek"],
|
||||
"systems": ["strongs"],
|
||||
"source": "Embedded in the eBible USFM package.",
|
||||
"package": "packages/json/kjv-eng-kjv2006/strongs-links.jsonl"
|
||||
}
|
||||
],
|
||||
"supported_future_types": [
|
||||
"study_notes",
|
||||
"commentary",
|
||||
"cross_references",
|
||||
"morphology",
|
||||
"lemma_links",
|
||||
"lexicon",
|
||||
"dictionary",
|
||||
"maps",
|
||||
"timeline",
|
||||
"media"
|
||||
]
|
||||
},
|
||||
"source": {
|
||||
"provider": "eBible.org",
|
||||
"url": "https://ebible.org/find/show.php?id=eng-kjv2006",
|
||||
"download_url": "https://ebible.org/Scriptures/eng-kjv2006_usfm.zip",
|
||||
"format": "usfm-zip",
|
||||
"upstream_id": "eng-kjv2006",
|
||||
"upstream_last_updated": "2026-05-16"
|
||||
"upstream_last_updated": "2026-05-16",
|
||||
"available_formats": [
|
||||
"browser",
|
||||
"mobile-html",
|
||||
"epub",
|
||||
"pdf",
|
||||
"sword",
|
||||
"plain-text",
|
||||
"vpl-sql",
|
||||
"browser-bible",
|
||||
"usfx",
|
||||
"usfm",
|
||||
"xetex"
|
||||
]
|
||||
},
|
||||
"license": {
|
||||
"name": "Public Domain",
|
||||
"redistribution": true,
|
||||
"jurisdiction_notes": "eBible states this work is firmly public domain outside the United Kingdom; UK printing/import may be restricted by Crown letters patent.",
|
||||
"source_license_url": "https://ebible.org/find/show.php?id=eng-kjv2006"
|
||||
"source_license_url": "https://ebible.org/find/show.php?id=eng-kjv2006",
|
||||
"attribution": "This free text is provided courtesy of CrossWire Bible Society and eBible.org.",
|
||||
"public_domain_outside": ["United Kingdom"],
|
||||
"restricted_notes": "Printing this translation in the United Kingdom or importing printed copies into the UK may require permission from the Crown patent holders."
|
||||
},
|
||||
"checks": {
|
||||
"expected_sha256": "4ea6952590d070bfa22985aded48a49581e31b568a60aa09e25f73462e700e7d",
|
||||
@@ -31,5 +133,9 @@
|
||||
"json_catalog": "packages/json/kjv-eng-kjv2006/catalog.json",
|
||||
"verses_jsonl": "packages/json/kjv-eng-kjv2006/verses.jsonl",
|
||||
"strongs_jsonl": "packages/json/kjv-eng-kjv2006/strongs-links.jsonl"
|
||||
},
|
||||
"catalog_display": {
|
||||
"primary_features": ["Bible text", "Strong's-linked words", "USFM source"],
|
||||
"summary": "Public-domain KJV package based on the 1769 standardized text, with Strong's numbers embedded in the source USFM."
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user