diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..2b76fd6 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,7 @@ +# Changelog + +## 0.1.0 - 2026-07-12 + +- Phase 5 ChristIT.com catalog: added a public `/librebible/` page that reads a generated LibreBible catalog JSON snapshot and displays available Bible resources. +- Added a catalog sync script for copying generated LibreBible metadata from the sibling `libre-bible-data` workspace. +- Added LibreBible to the Christ IT homepage project directory. diff --git a/README.md b/README.md index 3a15e5e..01267de 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,13 @@ This repo tracks the public site files for `https://christit.com`. Runtime or ge - Use Git for normal rollback and history. - Keep generated catalogs, service data, and private backend surfaces out of this repo. - If a risky manual edit needs a temporary snapshot, place it in an external archive safe outside the repo after the matching Git commit is pushed. +- Public static catalog snapshots may be committed when they are intentionally part of the public site surface. +- LibreBible catalog metadata is synced from the sibling `libre-bible-data` workspace with `scripts/sync-librebible-catalog.ps1`. +- The public LibreBible page reads `librebible/catalog/catalog.json`; do not hand-edit that JSON except for emergency repair. +- Phase-level site work should update `VERSION`, `CHANGELOG.md`, commit locally, and push to Gitea. ## Current Direction The homepage should stay small, fast, and static. It should introduce Christ IT as technical service for the kingdom of Jesus Christ and link to active public projects such as Technical Services Exchange, GracePress, the public Git platform, ChristP2P, and Jason Eugene Garrison's resume site. + +`/librebible/` is the public catalog page for free Bible translation and study-resource metadata prepared by the LibreBible data repository. diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..6e8bf73 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +0.1.0 diff --git a/index.html b/index.html index d777e66..8fed315 100644 --- a/index.html +++ b/index.html @@ -398,6 +398,7 @@ View repos + +
+
+

LibreBible

+

Public catalog of free Bible translations and study-resource metadata for Libre Study and future tools.

+
+ Open catalog +
diff --git a/librebible/catalog/catalog.json b/librebible/catalog/catalog.json new file mode 100644 index 0000000..508b70b --- /dev/null +++ b/librebible/catalog/catalog.json @@ -0,0 +1,185 @@ +{ + "schema_version": "librebible.index-catalog.v1", + "project": "LibreBible", + "generated_at": "2026-07-12T03:10:02.881Z", + "resources": [ + { + "id": "kjv-eng-kjv2006", + "resource_type": "translation", + "title": "King James (Authorized) Version", + "short_title": "King James Version", + "abbreviation": "KJV", + "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", + "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", + "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." + }, + "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." + }, + "package_path": "packages/json/kjv-eng-kjv2006/catalog.json", + "source_manifest_path": "sources/kjv-eng-kjv2006.json", + "detail_doc_path": "docs/resources/kjv-eng-kjv2006.md", + "counts": { + "books": 66, + "verses": 31102, + "strongs_links": 348884 + }, + "files": { + "verses_jsonl": { + "path": "verses.jsonl", + "bytes": 8700726, + "sha256": "e3102f854a99c4788ed259ec61cb93fea830845c0788c8c0929bc77e9db6ca10" + }, + "strongs_jsonl": { + "path": "strongs-links.jsonl", + "bytes": 62690394, + "sha256": "fa9702224776509275ea17fb245cb72150f1c262c4fbe44c7161e8e83866c779" + } + }, + "checks": { + "expected_sha256": "4ea6952590d070bfa22985aded48a49581e31b568a60aa09e25f73462e700e7d", + "last_checked_at": "2026-07-12T02:18:30Z" + } + } + ] +} diff --git a/librebible/catalog/kjv-eng-kjv2006/catalog.json b/librebible/catalog/kjv-eng-kjv2006/catalog.json new file mode 100644 index 0000000..fa9f5df --- /dev/null +++ b/librebible/catalog/kjv-eng-kjv2006/catalog.json @@ -0,0 +1,183 @@ +{ + "schema_version": "librebible.resource-catalog.v1", + "project": "LibreBible", + "id": "kjv-eng-kjv2006", + "resource_type": "translation", + "title": "King James (Authorized) Version", + "short_title": "King James Version", + "abbreviation": "KJV", + "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", + "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", + "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." + }, + "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." + }, + "importer": { + "name": "scripts/import-usfm.js", + "version": "0.1.0" + }, + "generated_at": "2026-07-12T03:10:02.881Z", + "source_sha256": "4ea6952590d070bfa22985aded48a49581e31b568a60aa09e25f73462e700e7d", + "checks": { + "expected_sha256": "4ea6952590d070bfa22985aded48a49581e31b568a60aa09e25f73462e700e7d", + "last_checked_at": "2026-07-12T02:18:30Z" + }, + "counts": { + "books": 66, + "verses": 31102, + "strongs_links": 348884 + }, + "files": { + "verses_jsonl": { + "path": "verses.jsonl", + "bytes": 8700726, + "sha256": "e3102f854a99c4788ed259ec61cb93fea830845c0788c8c0929bc77e9db6ca10" + }, + "strongs_jsonl": { + "path": "strongs-links.jsonl", + "bytes": 62690394, + "sha256": "fa9702224776509275ea17fb245cb72150f1c262c4fbe44c7161e8e83866c779" + } + } +} diff --git a/librebible/index.html b/librebible/index.html new file mode 100644 index 0000000..e2eaabb --- /dev/null +++ b/librebible/index.html @@ -0,0 +1,464 @@ + + + + + + LibreBible Catalog | Christ IT + + + + + + + + + +
+ +
+
+ Public Bible resource catalog +

LibreBible

+

A growing catalog of free-to-use Bible translations and attached study resources prepared for Libre Study, GracePress, and future Christ IT tools.

+ +
+
+ +
+
+
+
Resources-
+
Translations-
+
Verses-
+
Strong's Links-
+
+ +
+

Available Resources

+
Loading catalog...
+
+ +
+ + +
+
+ + + + + + diff --git a/scripts/sync-librebible-catalog.ps1 b/scripts/sync-librebible-catalog.ps1 new file mode 100644 index 0000000..5806bbb --- /dev/null +++ b/scripts/sync-librebible-catalog.ps1 @@ -0,0 +1,25 @@ +param( + [string] $LibreBibleDataRoot = (Resolve-Path "$PSScriptRoot\..\..\..\libre-bible-data").Path, + [string] $SiteRoot = (Resolve-Path "$PSScriptRoot\..").Path +) + +$sourceCatalogRoot = Join-Path $LibreBibleDataRoot "packages\json" +$targetCatalogRoot = Join-Path $SiteRoot "librebible\catalog" + +if (-not (Test-Path (Join-Path $sourceCatalogRoot "catalog.json"))) { + throw "LibreBible catalog not found at $sourceCatalogRoot" +} + +New-Item -ItemType Directory -Force -Path $targetCatalogRoot | Out-Null +Copy-Item -LiteralPath (Join-Path $sourceCatalogRoot "catalog.json") -Destination (Join-Path $targetCatalogRoot "catalog.json") -Force + +Get-ChildItem -LiteralPath $sourceCatalogRoot -Directory | ForEach-Object { + $resourceCatalog = Join-Path $_.FullName "catalog.json" + if (Test-Path $resourceCatalog) { + $targetResourceDir = Join-Path $targetCatalogRoot $_.Name + New-Item -ItemType Directory -Force -Path $targetResourceDir | Out-Null + Copy-Item -LiteralPath $resourceCatalog -Destination (Join-Path $targetResourceDir "catalog.json") -Force + } +} + +Write-Host "Synced LibreBible catalog metadata to $targetCatalogRoot"