=== JCat – Category Article Lists ===
Contributors: janiko
Tags: categories, posts, shortcode, list, pages
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 7.1
Stable tag: 0.3.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Display configurable lists of published posts and pages using a simple category shortcode.

== Description ==

JCat displays compact lists of published WordPress posts and pages, optionally filtered by a category. It supports category IDs, slugs or exact names, sorting, ascending or descending order, a maximum number of entries, and inclusion of child categories.

JCat can also decorate items with classes and data attributes based on their approximate textual length and category assignments. These allow your theme to style short, standard and in-depth entries differently. The optional color-toggle button requires JavaScript; the lists themselves render in PHP.

The optional `secu_etat_editorial` taxonomy is recognized when it exists, but is not required. JCat does not create custom taxonomies. Without a category filter, it lists published posts and pages across the site; note that pages are only included in category-filtered lists if they have categories assigned.

**Examples:**

* `[jcat_list]` — all published posts and pages
* `[jcat_list slug="security"]` — posts in a category and its descendants
* `[jcat_list id="12" children="no" sort="date" order="desc" limit="10"]`
* `[jcat_list name="Network Security" title="no"]`

**Parameters:**

* `id` — numeric category ID
* `slug` — category slug
* `name` — exact category name or slug (legacy-compatible)
* `sort` — `name` (default), `title`, `date`, `modified`
* `order` — `asc` or `desc` (default is descending for dates and ascending otherwise)
* `limit` — maximum number of items; `0` means unlimited
* `children` — `yes` (default) or `no`
* `title` — `yes` (default) or `no`, whether to show a category heading

If several category selectors are supplied, `id` takes precedence over `slug`, which takes precedence over `name`. A missing category does not display the entire site list. Only published content is displayed. Beware of placing unlimited lists on very large sites: processing article bodies to classify length has a performance cost. Caching at page level or setting a limit may help.

== Installation ==

1. Upload and activate the plugin through WordPress.
2. Add a `[jcat_list]` shortcode in an article or page.
3. Optionally filter by category using `id`, `slug` or `name`.


== Frequently Asked Questions ==

= Does it change my posts? =

No. JCat reads published content and renders a list; it does not alter posts or taxonomy terms.


= Does it need the optional editorial taxonomy? =

No. The optional editorial taxonomy is only used to classify draft-like items if present.


= Does it cache its results? =

No persistent cache. Query and text analysis take place during rendering.


== Shortcode settings ==

The shortcode tag defaults to `[jcat_list]`. Administrators can change it under **Settings > Category Article Lists**, including choosing the tag previously used by an existing installation. Only one tag is registered at a time; changing the setting does not rewrite existing content. Confirm that the chosen tag is not already in use by another plugin.

== Changelog ==

= 0.3.2 =
* Aligned the translation text domain with the WordPress.org plugin slug.
* Preserved the configurable shortcode tag and existing CSS and settings identifiers.


= 0.3.1 =
* Added an administrator-configurable shortcode tag (default: `jcat_list`).
* Made public-facing texts and the WordPress.org readme English-only, ready for localization.
* Kept rendering behavior, list styling classes, and existing shortcode attributes unchanged.


= 0.3.0 =
* Prepared WordPress.org release and standardized translation domain.
* Removed a site-specific uncategorized ID assumption and cached repeated word counts within a request.
* Preserved shortcode arguments, styling hooks, and optional editorial taxonomy integration.

= 0.2.0 =
* Previous locally installed release.
