=== BibleBridge === Contributors: biblebridge Tags: bible, bible reader, bible study, verse, church Requires at least: 5.8 Tested up to: 7.0 Requires PHP: 8.0 Stable tag: 1.0.26 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html A complete Bible for your church website. Scripture Atlas, cross-references, reading plans, and search. Congregation reads Scripture on your domain. == Description == BibleBridge brings a complete Bible to your church's website — on your domain, under your church's name. Your congregation reads and explores Scripture directly on your site. **Features:** * Scripture Atlas — 96 Bible topics connected by shared verses, from core doctrine to everyday Christian life * Cross-references — tap any verse to see related passages * KJV and Berean Standard Bible (BSB) — both public domain, both included on every plan * 5 reading plans — Bible in a Year, NT in 90 Days, NT in a Year, Gospel of John, Psalms & Proverbs * Full-text search with book filtering * Verse shortcode — embed any verse as a styled card: `[biblebridge_verse ref="John 3:16"]` or `[biblebridge_verse ref="Romans 8:1" version="bsb"]` * Verse of the day shortcode — `[biblebridge_verse_of_the_day]` * Verse sharing, highlighting, and notes * Cloud sync across devices via a simple code (no account required) * Dark mode and mobile layout **How it works:** 1. Install and activate the plugin 2. Go to Settings → BibleBridge 3. Set your reader name (e.g. "Grace Church Bible") 4. Your Bible is live at yoursite.com/bible **Free tier includes:** * 250 API requests per day * Both translations (KJV and BSB) * All features (search, Scripture Atlas, plans, cross-refs, sync) * No ads, no tracking, no account wall Need more capacity? Claim your site from **Settings → BibleBridge** in your WordPress admin, then choose a plan at [holybible.dev/pricing](https://holybible.dev/pricing). **External Services** This plugin relies on the BibleBridge API to serve Bible text, cross-references, search results, topic data, and reading plans. No Bible data is stored locally — all scripture content is fetched on demand from the API. The plugin connects to the following services hosted at holybible.dev: * **BibleBridge API** (holybible.dev/api) — serves all Bible content including scripture text, search, cross-references, topics, and reading plan data. On plugin activation, the plugin sends your site URL and site name to automatically provision a free API key. During normal use, visitor search queries and page navigation result in API calls that include the API key and requested scripture references. No visitor personal data is collected or transmitted. * **BibleBridge Sync** (holybible.dev/reader/sync.php) — provides optional cross-device sync for visitor highlights, notes, and reading progress. Sync is initiated by visitors using an anonymous code (no email or account required). No personally identifiable information is collected. [Terms of Service](https://holybible.dev/terms) | [Privacy Policy](https://holybible.dev/privacy) == Source Code == Every PHP, CSS, and JavaScript file in this plugin is shipped as human-readable source directly in the plugin zip. No minification, no transpilation, no obfuscation, no build step. What you download is what runs. * `biblebridge.php`, `uninstall.php` * `includes/bb-api-client.php`, `includes/bb-config.php`, `includes/passage_nicknames.php` * `templates/reader.php` and all route templates under `templates/routes/` * `assets/css/reader.css`, `assets/fonts/fonts.css` * `assets/js/reader.js`, `theme-init.js`, `topic-context.js`, `topic-tools.js`, `xref-walker.js` == Third-Party Libraries == vis-network Copyright (c) 2011-2017 Almende B.V, 2017-2019 visjs contributors Licensed under the MIT License https://github.com/visjs/vis-network Used by Scripture Atlas to render the interactive map of biblical topics connected through shared verses. Bundled as `assets/js/vis-network.min.js`. == Installation == 1. In your WordPress admin, go to Plugins → Add New 2. Search for "BibleBridge" and click Install Now 3. Activate the plugin 4. Go to Settings → BibleBridge to set your reader name 5. Find your reader URL under Page URL in Settings → BibleBridge and add it as a custom link in your navigation menu For manual installation: upload the `biblebridge` folder to `/wp-content/plugins/` and activate through the Plugins menu. == Frequently Asked Questions == = Is my visitors' data private? = Yes. No personal data is collected from visitors. No accounts, no tracking, no cookies. Cloud sync uses an anonymous code — no email or password required. See the full [Privacy Policy](https://holybible.dev/privacy). = Does this work out of the box? = Yes. The plugin works immediately with no setup required. A free API key is automatically provisioned for your site on activation. For usage alerts and higher limits, go to Settings → BibleBridge in your WordPress admin and claim your site from there. = Who is this for? = Churches and ministries that want Scripture to feel native to their own website — not embedded from external tools or sent to other apps. = What translations are included? = King James Version (KJV) and Berean Standard Bible (BSB). = Does it slow down my site? = No. All styles and scripts are bundled with the plugin. Bible data is fetched on demand from the API. No heavy assets or database tables are added to your site. = Can visitors sync across devices? = Yes. Cloud sync uses a simple code (like "GRACE-4821") — no email or password needed. Highlights, reading progress, and plan completion sync automatically. = Can I customize the URL? = Yes. By default the reader lives at `/bible` but you can change this in Settings → BibleBridge. = Does it work with my theme? = The reader uses its own full-page template and includes safeguards to prevent most styling conflicts. In most cases it works without issue across themes. Some themes or plugins apply aggressive global styles — such as button or link hover effects — that can occasionally show up in the reader. If you notice anything unexpected, try temporarily switching themes to confirm the source, or contact support with a screenshot and we'll help resolve it. = How do I add the Bible to my site navigation? = Go to Settings → BibleBridge and find your exact reader URL under Page URL, then add it as a custom link in your navigation menu. = What happens if I hit the daily limit? = Readers will see a friendly message that the reader is busy. No errors, no broken pages. Limits reset at midnight UTC. To raise limits, claim your site from the plugin's settings page, then choose a plan at holybible.dev/pricing. == Screenshots == 1. Scripture Atlas — an interactive map of biblical topics connected through shared verses 2. Chapter reading view with verse actions 3. Topic explorer showing theological connections 4. Reading plans with calendar view 5. Dark mode 6. Mobile view with bottom navigation == Changelog == = 1.0.26 = * Fix: Version preference now persists correctly across pages on sites using full-page caching plugins = 1.0.25 = * Fix: Version switcher now works correctly on sites using page caching plugins = 1.0.24 = * Fix: Plugin updates now automatically clear your site's page cache — version picker and other UI changes appear immediately without manual cache clearing * Internal cleanup = 1.0.23 = * BSB now works everywhere — switch once and your translation choice follows you across the reader, search, topics, reading plans, Verse of the Day, and Scripture Atlas * Version switcher now appears on all pages, not just the reader * Search page redesigned with themed suggestion groups * Fix: Dark Mode background now works correctly on sites using aggressive themes (Avada and others) * Fix: Parallel view (Compare) is now preserved when navigating between books in the sidebar = 1.0.22 = * Fix: Sidebar book list no longer clips behind the bottom navigation bar on mobile * Fix: Tapping Search in the mobile bottom navigation now opens the search bar automatically = 1.0.21 = * Added: White theme — light sidebar and navigation with warm gold accent, designed for bright church sites * Added: `[biblebridge_verse_of_the_day]` shortcode — displays today's verse automatically anywhere on your site * Added: Topic discovery link on search results — searches that match a Bible topic show an "Explore as a topic" link * Added: Scripture Atlas topic search — type to spotlight matching nodes * Updated: Improved Scripture Atlas interactions and visual clarity across nodes, search, and connections * Consolidated translations to KJV and BSB only * Fix: Logo / site title now links to your site homepage instead of the Bible reader * Fix: Olive theme accent refined for better contrast = 1.0.20 = * Added: `[biblebridge_verse]` shortcode — embed any verse or passage as a styled card anywhere on your site. Examples: `[biblebridge_verse ref="John 3:16"]`, `[biblebridge_verse ref="Romans 8:1-4" version="bsb"]`. Shortcode supports KJV and BSB; omitting `version` defaults to KJV. * Parallel view now compares KJV and BSB side by side * Parallel mode is preserved when searching or navigating by reference * Version selector now highlights the active translation with your site's theme color * Fix: Cross-reference links now use English book slugs and correct verse URL format * Fix: Theme styles no longer inject borders on the search bar = 1.0.19 = * Added: Berean Standard Bible (BSB) — modern public domain English translation * Added: Omitted verse placeholders — verses absent from a translation's textual tradition now display "Not in [version]" rather than a silent gap in verse numbering * Fix: "Continue reading" no longer resets to a stale chapter when cloud sync is active — sync pull no longer overwrites the current chapter on read page load * Fix: API passthrough now forwards Cache-Control and ETag headers to the browser, enabling proper caching of cross-reference and context responses = 1.0.18 = * Fix: Scripture Atlas and other new routes could return 404 after plugin updates. Rewrite rules now flush automatically on update and when Scripture Atlas is toggled in Settings. = 1.0.16 = * Added: Scripture Atlas — an interactive map of biblical topics connected through shared verses. Enable in Settings. * Added: Third-party library disclosure (vis-network, MIT License) = 1.0.15 = * Fix: Reader page showing "This Bible is popular right now" could remain visible after the daily quota resets, due to WordPress caching plugins storing the page. The reader now correctly reloads after quota resets. = 1.0.14 = * Fix: Extended theme compatibility hardening to text colors — search inputs, navigation links, sidebar controls, and header elements now resist aggressive theme color injection = 1.0.13 = * Fix: Improved compatibility with aggressive WordPress themes — panels, modals, navigation controls, and interactive buttons now correctly maintain dark-theme styling across a wide range of themes = 1.0.12 = * Fix: Button and interactive element hover states now resist aggressive theme CSS injection * Fix: "Continue reading" link now updates correctly when the Bible reader URL is changed * Fix: Uninstall cleanup now removes all plugin data (page ID, synced site name, usage records) * Fix: PHP 8 warning when reading plans directory is missing * Fix: Resume banner URL stored as book/chapter rather than full URL, preventing stale links after URL changes * Fix: Home page "Continue reading" link built with DOM methods (security hardening) = 1.0.11 = * Fix: Changing the Bible page URL now works correctly (no more broken links) * Fix: Settings page loads faster (usage data is cached) * Fix: Empty page URL no longer breaks the reader = 1.0.10 = * Fix: Sidebar book names no longer inherit uppercase or spacing from some WordPress themes * Fix: Verse of the day no longer shows stray quote marks on some themes * New: Added billing management for paid subscribers in Settings → BibleBridge = 1.0.9 = * Fix: sidebar book selection now navigates to the correct path (was routing to /read/ instead of /bible/read/ because the click handler wasn't using BIBLEBRIDGE_CONFIG.baseUrl) * Fix: reading progress bar now spans the full viewport width on mobile instead of starting at the sidebar offset = 1.0.8 = * New: 9 color themes — choose accent and navigation colors in Settings = 1.0.7.1 = * Admin UI: unify the "upgrade" messaging across all four admin surfaces — settings page help text, 80% quota warning banner, daily-limit-reached banner, and usage-table status cell. Each now uses a single "Claim your account" link that routes through the signup/claim flow with the site's API key, so users who haven't claimed their account yet reach the right starting point. Previously these linked directly to pricing and bypassed the claim step. * Readme: remove external GitHub URL that pointed to the standalone codebase, not this plugin. * Readme: clarify that raising the daily limit requires claiming the site first. = 1.0.7 = * Migrate the public sync endpoint from the custom `/bible/sync` rewrite route to the WordPress REST API under `/wp-json/biblebridge/v1/sync`. Both GET (code retrieval) and POST (sync push) now use `register_rest_route()` with WordPress-managed request parsing; the plugin no longer reads raw request input for sync handling. * Replace custom body-length / JSON-decode hardening with a recursive shape-preserving sanitizer that walks nested highlight/note structures, sanitizing string keys and values while preserving booleans, integers, floats, and array shape. * Scripture passthrough (`/bible/api/{endpoint}`) is unchanged — still served via the existing public page rewrite route with endpoint + parameter whitelists. = 1.0.6 = * Ship `assets/js/reader.js` as human-readable unminified source directly in the plugin zip (no minified build, no build step — what you download is what runs) * Migrate the reader's scripture passthrough off `admin-ajax.php` entirely. Cross-references, context, search, passage, topics, and cloud sync are now served by dedicated public page routes — `/bible/api/{endpoint}` and `/bible/sync` — alongside the existing `/bible/read`, `/bible/topics`, and `/bible/plans` routes. No more `wp_ajax_nopriv_*` handlers in the plugin. * Harden `/bible/sync` POST body handling: reject empty / oversized (>64KB) / non-JSON input before forwarding upstream, and re-encode the parsed body via `wp_json_encode()` so only canonical JSON derived from a decoded array is sent on * Escape inline SVG output in the reading plans page via `wp_kses()` with an explicit SVG-safe whitelist * Prefix all remaining generic globals and JS-localized identifiers: `$PASSAGE_NICKNAMES` → `$BIBLEBRIDGE_PASSAGE_NICKNAMES`, `$BOOK_ALIASES` → `$BIBLEBRIDGE_BOOK_ALIASES`, `$GLOBALS['bb_prefetched_topic']` → `$GLOBALS['biblebridge_prefetched_topic']`, `bbWpRoute` → `BIBLEBRIDGE_WP_ROUTE`, script handle `bb-reader` → `biblebridge-reader` * Simplify the Source Code readme section: every file in the zip is human-readable, no build step, no external lookup required = 1.0.5 = * Fix cross-reference panel failing on installs not hosted on holybible.dev (relative-URL bug in reader.js now uses the WordPress admin-ajax proxy) * Fix cloud sync failing on installs not hosted on holybible.dev (same bug class as cross-references — sync now routes through a dedicated admin-ajax proxy handler) * Fix plan detail and plan day pages missing styles (inline CSS was stripped during the 1.0.4 WP.org blocker fix but never migrated into reader.css) * Refine cross-reference panel typography across the reader page and topic pages for a consistent Study Bible look (serif headline, uppercase reference labels, generous spacing, left accent border) * Rename plugin from "BibleBridge — Free Bible Reader" to "BibleBridge" and rewrite description for the WordPress.org directory = 1.0.4 = * Topic pages reimagined for sermon prep: each topic now opens with anchor verse previews and a cross-reference walker for following verses across Scripture * New "Copy all verses" button on every topic page (plain-text export with source attribution) * Topics browse page now organized into intentional shelves: "Start with doctrine" (taught in teaching order) and "For pastoral care & life" (alphabetical) * Stripped editorial prose from topic pages — anchor scriptures and shared-verse adjacency now do the work of guiding study, with no doctrinal commentary * New shared-verse adjacency on every topic page ("Topics that share scripture") for finding related passages without doctrinal labels * Improved meta descriptions and social-share images for topic pages = 1.0.3 = * Added Bookmark verse to the mobile action sheet (previously desktop-only) * Normalized verse action labels between mobile and desktop (Copy verse, Share verse, Share as image, Bookmark verse, Highlight verse, Add note) * Refactored verse actions to render from a single registry to prevent future drift = 1.0.2 = * Added beacon-based read metering (accurate quota tracking per chapter read) * Passage API calls no longer count against quota for WordPress installs * Sends X-BB-Client header to identify first-party reader requests = 1.0.1 = * Bundled CSS, JS, and fonts locally (no external CDN) * Fixed cross-references for non-English translations * Fixed topic flow rendering for ungrouped chains * Fixed reference resolution using correct API key * Added 80% quota warning in admin * Updated free tier to 250 requests/day * Added external services disclosure and privacy links = 1.0.0 = * Initial release * 10 Bible translations * Full-text search with book filtering * Cross-references with topic explanations * Topic explorer with flow visualization * 5 reading plans * Verse sharing (text and image) * Verse highlighting and notes * Cloud sync * Dark/light mode * Mobile-optimized