=== TableQuill ===
Contributors: dgwyer, wpgoplugins
Tags: table, data table, responsive table, csv, custom post types
Requires at least: 6.8
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 0.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Publish accessible, responsive tables from WordPress content, pasted CSV/TSV, and explicit TablePress snapshots.

== Description ==

TableQuill separates reusable typed Datasets from their presentation Views. A dynamic block renders semantic table HTML, while optional JavaScript adds search, sorting, and pagination.

Initial-release source workflows include:

* Live, publish-only queries for posts, pages, and public custom post types.
* Pasted CSV and TSV stored as independent TableQuill Dataset snapshots.
* Public CSV/TSV URL preview and snapshot import with explicit manual refresh.
* Explicit read-only TablePress snapshot import, comparison, and re-import.

Imported rows remain TableQuill data. They are not transformed into posts, pages, custom post types, terms, users, or other WordPress records.

Free includes six styles, four starter templates, accessibility, and responsive behavior. The separate Pro plugin supplies its extended library and paid implementations; that executable code is absent from the WordPress.org package.

The separate Pro plugin can add date ranges, multiple taxonomy clauses, and allowlisted scalar fields to WordPress queries. Custom fields appear only when site/integration code explicitly allowlists their raw scalar values. TableQuill does not infer safety from WordPress or ACF REST settings; protected, complex, and unlisted values remain unavailable.

The separate Pro plugin can promote a snapshot Dataset to a bounded indexed engine while retaining canonical JSON for editing and recovery. Promotion never creates posts or changes View/block identities, and administrators can return to the simple engine.

== Installation ==

1. Upload and activate the TableQuill plugin.
2. Add a TableQuill Table block or open TableQuill in the WordPress admin.
3. Create a live WordPress query or import a tabular snapshot.
4. Choose a View style and responsive behavior, then publish the block.

== Screenshots ==

1. A published semantic Free table in the clean style.
2. The Free high-contrast style.
3. A responsive Free card layout on mobile.
4. The Gutenberg block workflow and settings.
5. The reusable Dataset registry and controls.
6. Dataset details and saved View placements.
7. Public CSV/TSV import and the WordPress content builder.
8. Free WordPress query controls and read-only TablePress import.
9. All six Free visual styles.
10. All four Free starter templates.
11. The Free/Pro screen and separate-package boundary.

== External Services ==

= Public CSV/TSV URLs =

When an administrator previews, imports, or refreshes a public CSV/TSV URL, TableQuill sends a server-side GET to that URL and up to two validated redirects. A Pro schedule may repeat the request only when enabled by an administrator. Destinations receive the site's IP address, the TableQuill version and site home URL in the user agent, standard HTTP metadata, and available ETag/Last-Modified values. Administrators should review the selected provider's service, terms, privacy policy, and redirects before use.

== Frequently Asked Questions ==

= Does importing data create WordPress posts? =

No. Imported rows stay in TableQuill's own Dataset storage. Only the WordPress query source reads existing posts, pages, and public custom post types, and it never mutates them.

= Does a TablePress import stay synchronized? =

No automatic synchronization is implied. TableQuill creates an independent snapshot and provides an explicit compare/re-import action. It never writes to the TablePress source table.

= Can a public CSV URL refresh automatically? =

Manual import and refresh are included in Free. The installed Pro package can enable hourly, twice-daily, or daily refresh through WordPress Cron. A failed refresh keeps the last successful rows and records the failure for an administrator.

= What happens to data on uninstall? =

TableQuill does not automatically erase user Datasets or Views during uninstall.

= What happens if a Pro licence expires? =

Features and editing shipped in an installed TableQuill Pro package remain usable. Licence status governs acquisition, downloads, updates, support, checkout, and account services; it does not turn installed Pro functionality off.

== Changelog ==

= 0.1.0 =

* Initial release with live WordPress content queries, pasted and public CSV/TSV data, TablePress snapshots, reusable Views, semantic responsive rendering, and a separate-package Free/Pro boundary.
