=== ReaderNova Reading Mode ===
Contributors: growthhive
Tags: reading mode, text to speech, reading progress, accessibility, distraction free
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Adds a distraction-free Reading Mode with text-to-speech, translation, reading time, progress bar, and appearance controls.

== Description ==

**ReaderNova Reading Mode** gives your visitors a beautiful, distraction-free way to read your content. With one click, readers can open a focused overlay featuring:

* A configurable **Reading Mode button** (style, position, icon, colors, padding, text size)
* A **toolbar** with optional tools: Appearance, Text to Speech, Translate, Print, Table of Contents, Links, Auto Scroll and Full-screen
* **Text to Speech** playback powered by the browser's built-in speech synthesis
* **Estimated reading time** shown on posts and inside Reading Mode
* A **reading progress bar** pinned to the top or bottom of the page
* Full **appearance controls**: content width, light/dark/system theme, font family and font size
* Auto-generated **table of contents** from your post's headings
* **Trigger rules** — choose which post types and page types (single post, blog page, archive, search) show the Reading Mode button
* **Export / Import / Reset** tools to back up or transfer your settings between sites

Everything is controlled from a clean, intuitive settings dashboard — no coding required.

= Features =

* General on/off switches for Reading Mode, Translation, Text to Speech, Reading Time and Reading Progress
* Component toggles: toolbar visibility, toolbar tools, source URL, reading time, publish date, author name, open links in new tab
* Appearance: content width (small/medium/large), theme (light/dark/system), font family, font size
* Trigger settings: post types, "select all" with exceptions, and display context (single post, blog page, archive page, search page)
* Button & style customization for the Reading Mode button, Text to Speech button, Reading Time display, Translation button and Progress Bar
* Settings export/import as JSON, and one-click reset to defaults

== External services ==

This plugin optionally connects to Google Translate's public website translator widget so visitors can translate a post directly inside Reading Mode.

* **What it is and what it's used for:** Google's Website Translator widget (a free, publicly available script hosted by Google) is loaded in the visitor's browser to translate the article text shown in Reading Mode. It is only used when the **Translate** tool is enabled in Display Settings *and* the visitor clicks the Translate button — it is never loaded on a page that doesn't use Reading Mode.
* **What data is sent and when:** When a visitor clicks Translate, their browser loads a script directly from `translate.google.com` and sends it the page's visible text/URL so the translated version can be returned and displayed. This request happens client-side, directly between the visitor's browser and Google — this plugin does not proxy, log, or store any of that data on your server.
* **Provider:** Google LLC — [Terms of Service](https://policies.google.com/terms), [Privacy Policy](https://policies.google.com/privacy).

Text to Speech uses the visitor's own browser (the Web Speech API) and does not send any text or audio to Google, this plugin's developer, or any other third party.

== Installation ==

1. Upload the `readernova-reading-mode` folder to the `/wp-content/plugins/` directory, or install directly through the Plugins screen in WordPress.
2. Activate the plugin through the **Plugins** screen.
3. Go to **Reading Mode** in your WordPress admin menu to configure General Settings, Reading Mode appearance, Triggers and Display Settings.

== Frequently Asked Questions ==

= Does this plugin work with any theme? =

Yes. The Reading Mode button is inserted into the post content and the overlay reads directly from that content, so it works with standard WordPress themes without extra configuration. For "Above post title" or "Below post title" placement, the plugin looks for common title selectors used by most themes and block themes.

= Does Text to Speech require an API key? =

No. Text to Speech uses the visitor's browser (Web Speech API), so no account, API key, or external service is required.

= Does the Translate feature send my content to Google? =

Only if you enable the Translate tool and a visitor clicks it. See "External services" above for full details on what is sent and to whom.

= Can I choose which post types show the Reading Mode button? =

Yes, under **Reading Mode → Triggers** you can select specific post types, use "Select all" with exceptions, and choose which page contexts (single post, blog page, archive page, search page) display the button.

= Will this slow down my site? =

No. Assets are only loaded on pages where the Reading Mode button is set to appear.


== Changelog ==

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.0.0 =
Initial release.

