Create public WordPress plugin workspace

This commit is contained in:
2026-07-11 12:18:05 -05:00
commit c517c9ee1c
6 changed files with 1594 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
.DS_Store
Thumbs.db
node_modules/
vendor/
*.zip
*.log
.env
+13
View File
@@ -0,0 +1,13 @@
# WordPress Public Workspace
This workspace contains Christ IT WordPress plugins and themes being prepared for public distribution.
The source of truth here is Git. WordPress.org SVN is treated as a release target only, not as the development workspace.
## Current Packages
- `plugins/bible-reference-tooltips/` - standalone Bible reference detection, local open-text imports, and frontend hover/focus cards.
## Release Boundary
Do not remove any corresponding internal package until the public package is accepted, published, installed on the target production site, and verified on the public update path.
@@ -0,0 +1,106 @@
# Bible Reference Tooltips Changelog
## 1.1.0 - 2026-07-11
- Forked the former internal Bible tooltip package into a standalone public plugin named Bible Reference Tooltips.
- Renamed the plugin slug, text domain, REST namespace, script/style handles, admin action names, option key, and local verse table for the public package.
- Removed internal menu placement and internal logging dependencies from the public package.
- Added public release metadata, GPL license headers, and WordPress.org-oriented naming.
- Kept local Bible text imports, frontend reference detection, hover/focus cards, translation tabs, Biblia.com links, Logos links, skipped-tag controls, comment scanning, and James alias/backfill repairs.
## 1.0.14 - 2026-06-25
- Restored known-good tooltip behavior from the internal package history before preparing the public fork.
## 1.0.12 - 2026-06-13
- Remembers the visitor's selected tooltip translation in browser storage so future tooltip opens use the same translation by default.
- Improves REST lookup error messages with clearer reasons for unrecognized references, missing verse rows, and missing local translations.
- Adds structured lookup events for successful lookups and lookup failures, including reference, translation, book, chapter, verse, and candidate diagnostics.
## 1.0.11 - 2026-06-13
- Adds a targeted James backfill repair for installed WEB, KJV, ASV, and YLT local Bible texts when the translation exists but has no James rows.
- Adds a just-in-time REST fallback so a James lookup can backfill the selected translation and retry immediately instead of returning an empty tooltip.
- Confirms the eBible VPL source stores James as `JAM`, then imports those rows into the canonical `JAS` lookup key.
## 1.0.10 - 2026-06-13
- Fixes an intermittent frontend scanner bug where the global Bible-reference regex could carry stale `lastIndex` state between text nodes and skip valid references such as `James 1:5`.
- Adds a non-global detection regex for TreeWalker filtering while keeping the global regex only for wrapping detected references.
- Makes frontend parsing more forgiving for James references with a period after the book name or spacing around the colon, such as `James. 1:5` and `James 1: 5`.
- Bumps the runtime version so browsers receive the repaired inline scanner and existing James alias repairs run again.
## 1.0.9 - 2026-06-13
- Fixes frontend Bible-reference detection for James shorthand with periods, including `Jas.`, `Jm.`, and related aliases.
- Corrects the frontend case-sensitivity flag so normal mode detects lowercase and mixed-case Bible references.
- Expands James backend lookup and repair aliases, then forces the runtime alias repair to run again for existing local Bible tables.
## 1.0.8 - 2026-05-31
- Expands local verse lookup aliases so James and other common book-code variants can resolve even when imported rows use older shorthand.
- Runs the alias repair on the public runtime once per version, so existing local Bible tables heal without needing to visit the admin screen first.
- Smooths tooltip loading by delaying the loading shell briefly and fading the main hover card in, removing the small flash on first hover.
## 1.0.7 - 2026-05-30
- Adds direct James aliases for eBible packages that store James as `JAM`, `JMS`, or related shorthand instead of the canonical `JAS` code.
- Adds a one-time local verse table alias repair for common open-Bible book-code variants so existing installs can resolve affected references without a full reinstall.
## 1.0.6 - 2026-05-28
- Adds RefTagger-style controls for link targets, external Bible links, Logos links/icons, tooltip behavior, comment scanning, chapter-only references, improper casing, and skipped HTML tags.
- Adds safer frontend reference scanning with configurable skipped tags and optional enhancement of existing Biblia.com, Ref.ly, and Logos links.
- Adds frontend Bible and Logos link rendering while keeping local verse text lookups for hover/focus tooltip content.
## 1.0.5 - 2026-05-28
- Rebuilds the Bible library admin from a single dropdown into a checkbox table with bulk install, update, default, and removal actions.
- Makes installed translations automatically available as frontend tooltip tabs while keeping one default opening translation.
- Tightens translation import parsing and book-code normalization, including `JOH` for John, `JOE` for Joel, and `PHI` for Philippians.
- Keeps tooltip translation tabs visible when a selected translation is missing a verse instead of replacing the card with a blank/error-only state.
- Makes the frontend default translation fall back to an installed local text when the saved setting points at a missing translation.
## 1.0.4 - 2026-05-28
- Changes Bible imports to update one selected translation while preserving other installed translations.
- Adds Young's Literal Translation as a fourth public-domain eBible VPL import option.
- Adds a default translation selector and exposes installed translations as quick-switch buttons in the frontend card.
- Reworks frontend cards so they anchor beside the detected reference instead of following the mouse.
- Keeps hover cards open long enough to move onto them, making translation buttons and future links usable.
- Formats verse ranges with each verse on its own line and bold verse numbers.
- Makes automatic card theming follow the active site theme instead of browser preference.
## 1.0.3 - 2026-05-26
- Adds fuzzy backend book normalization so detected abbreviations such as `jn 3:16` resolve to the canonical John lookup.
- Adds alternate stored book-code lookup variants for translation packages that use codes such as `JOH` or `JOHN` instead of `JHN`.
- Normalizes imported VPL book codes before saving rows so future installs use stable canonical book keys.
- Adds American Standard Version 1901 as another public-domain eBible import option.
- Falls back to the only installed local translation when the frontend requests a stale translation setting.
## 1.0.2 - 2026-05-26
- Adds broad frontend Bible book abbreviation detection, including short forms such as `Jn 3:16`, `Rom 8:28`, and numbered-book aliases.
- Removes the test seed installer UI so the admin focuses on full Bible installs only.
- Removes the redundant active translation picker because installing a Bible now replaces the single active translation.
- Clarifies the range limit setting used for references such as `John 3:16-20`.
## 1.0.1 - 2026-05-26
- Fixes frontend scanner timing so references are detected even when the inline script loads after DOMContentLoaded.
- Changes the default scan scope to the full page body so references in blocks, headers, footers, widgets, and theme text can be detected.
- Adds auto tooltip theme mode that follows common dark-mode body or document classes when active.
- Adds King James Version import support from the eBible VPL package.
- Makes seed and full-Bible imports replace the currently installed Bible so only one translation is active at a time.
- Keeps verse text lazy-loaded through the REST endpoint on hover/focus, with a small browser-side cache for repeated references.
## 1.0.0 - 2026-05-26
- Initial standalone plugin release.
- Adds a local verse database table for open Bible texts.
- Adds admin controls for enabling frontend scanning, choosing translation, setting scan selectors, choosing tooltip theme, and limiting verse ranges.
- Adds a test seed installer for immediate hover-card testing.
- Adds a World English Bible downloader/importer using the eBible VPL package.
- Adds frontend Bible-reference detection and hover tooltips powered by a local REST lookup endpoint.
+9
View File
@@ -0,0 +1,9 @@
Bible Reference Tooltips is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by the Free
Software Foundation, either version 2 of the License, or any later version.
Bible Reference Tooltips is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.
See https://www.gnu.org/licenses/gpl-2.0.html for the full license text.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,57 @@
=== Bible Reference Tooltips ===
Contributors: jasoneugenegarrison
Tags: bible, scripture, references, tooltips, verses
Requires at least: 6.0
Tested up to: 7.0.1
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Detect Bible references in WordPress content and show local hover cards from open Bible texts stored in your own database.
== Description ==
Bible Reference Tooltips scans public WordPress content for Bible references such as John 3:16, Romans 8:28, or James 1:5. Detected references can be underlined, linked, and shown with hover or keyboard-focus tooltip cards.
Verse text is looked up from local open/public-domain Bible texts installed into your WordPress database. The plugin currently supports World English Bible, King James Version, American Standard Version, and Young's Literal Translation imports from eBible VPL packages.
Features include:
* Frontend Bible reference detection.
* Hover and focus tooltip cards.
* Local verse storage with no remote lookup required during page views.
* Multiple installed translations with quick-switch tabs in the card.
* Biblia.com links and optional Logos Bible Software links.
* Configurable scan selectors, skipped tags, comment scanning, tooltip theme, and verse range limit.
== Installation ==
1. Upload the plugin folder to `/wp-content/plugins/`.
2. Activate Bible Reference Tooltips in WordPress.
3. Open Settings > Bible Reference Tooltips.
4. Install one or more open Bible texts.
5. Adjust scanning and tooltip settings as needed.
== Frequently Asked Questions ==
= Does this require an external Bible API? =
No. Public page views use local verse rows stored in your WordPress database. The admin import tool downloads open Bible text packages when you choose to install or update a translation.
= Which translations are included? =
The plugin can import WEB, KJV, ASV, and YLT from open eBible VPL packages. Modern commercial translations generally require separate licensing and are not bundled.
= Does it work without a specific theme? =
Yes. The plugin is standalone and appears under Settings in the WordPress admin.
== Changelog ==
= 1.1.0 =
* Forked the internal package into a standalone public plugin.
* Renamed the plugin, slug, text domain, REST namespace, handles, options, and local table for public distribution.
* Removed internal menu placement and logging dependencies.
* Added public release metadata and WordPress.org-oriented readme.