=== Nokko RSS Aggregator ===
Contributors: nokko
Donate link: https://bynokko.com
Tags: rss, news aggregator, feed, aggregator
Requires at least: 5.9
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 2.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Aggregate articles from any RSS feed and display them in 5 beautiful layouts with manual moderation, smart deduplication, keyword filtering and full design customisation.

== Description ==

**Nokko RSS Aggregator** is a powerful yet easy-to-use RSS news aggregator for WordPress. Add any RSS feed as a source, choose a display layout and let the plugin automatically pull in fresh articles — visitors click a headline and go straight to the original article on the source website.

Perfect for news portals, niche blogs, topic hubs, industry digests, sports sites, tech roundups and any site that curates content from multiple sources.

= 5 Display Layouts =

* **Featured** — large hero article + 2 sub-featured cards + responsive grid (default)
* **Grid** — equal cards in a responsive multi-column grid
* **List** — articles with side thumbnail
* **Newspaper** — oversized first article, rest in two columns
* **Masonry** — variable-height Pinterest-style columns

= Content Management =

* Visual moderation panel — hide any article with one click
* Restore hidden articles at any time
* Keyword exclusion filter — block articles containing specific words
* Smart deduplication — removes the same story covered by multiple sources
* Configurable deduplication sensitivity (50%-95%)

= Images =

* Built-in image proxy — fixes hotlink blocking from external domains
* Local image cache (3-day TTL)
* Graceful placeholder when no image is available

= Full Design Customisation =

* WordPress Color Picker for 4 independent colour slots
* 9 font options including 8 Google Fonts
* Configurable articles per page (4-60)
* Configurable cache refresh interval (5-1440 minutes)

= Feed Management =

* Add unlimited RSS feeds with name and category
* Enable or disable feeds individually
* Test button to verify each feed URL before saving
* Recommended feeds panel with one-click adding
* Live layout and category switching without page reload
* Integrated search bar

= Shortcode =

`[nokko_news]`

Available parameters:

* `layout` — featured, grid, list, newspaper, masonry (default: featured)
* `limit` — number of articles, 4-60 (default: 12)
* `category` — filter by category (e.g. Technology, Sports, News)
* `show_filters` — yes/no (default: yes)
* `show_search` — yes/no (default: yes)

Examples:

`[nokko_news layout="featured" limit="12"]`
`[nokko_news layout="newspaper" limit="9"]`
`[nokko_news layout="list" category="Technology" show_filters="no"]`
`[nokko_news layout="masonry" limit="20"]`

= Legal Notice =

This plugin displays headlines, short descriptions and images from original articles and always links back to the source. It is the user's responsibility to ensure compliance with the terms of service of each RSS feed they aggregate.

== Installation ==

1. Go to **Plugins > Add New > Upload Plugin**
2. Upload `nokko-rss-aggregator.zip`
3. Click **Activate**
4. Go to **Nokko RSS Aggregator > Feeds** and add your RSS sources
5. Insert the shortcode `[nokko_news]` in any page or post
6. Customise colours and fonts from **Nokko RSS Aggregator > Design**

== Frequently Asked Questions ==

= Are articles hosted on my site? =
No. The plugin displays the headline, short description and image from each article. Clicking any card takes the visitor to the full article at the original source.

= How often are articles refreshed? =
By default every 30 minutes. Configurable in **Nokko RSS Aggregator > Design** from 5 minutes to 24 hours.

= Why are some images not showing? =
Some websites block their images from loading on other domains (hotlink blocking). Enable the **image proxy** in **Nokko RSS Aggregator > Design** to fix this automatically.

= Can I hide articles I do not want to show? =
Yes. When logged in as administrator, a x button appears on each article card. You can also manage all hidden articles from **Nokko RSS Aggregator > Moderation**.

= Does it work with any WordPress theme? =
Yes. The plugin uses its own scoped CSS variables that do not interfere with your active theme.

== External Services ==

This plugin fetches RSS feeds from URLs configured by the site administrator. This is the core function of the plugin.

= RSS Feeds =

When fetching a feed, the plugin sends a standard HTTP GET request to the feed URL configured by the administrator. This request includes your server IP address and a browser user-agent string. No personal data of your site visitors is ever transmitted. Feeds are always fetched server-side, never client-side.

Feeds are fetched automatically at the interval set in the plugin settings (default: 30 minutes) and cached in your WordPress database.

The plugin ships with a few example RSS feeds for demonstration purposes only. These are all standard, publicly available RSS feeds. The administrator can remove, replace or add any feed at any time. The plugin has no affiliation with any of the default example feed sources.

= Google Fonts (optional) =

If the administrator selects a Google Font in the Design settings, the plugin enqueues that font from fonts.googleapis.com. This causes the visitor's browser to connect to Google's servers, sending the visitor's IP address and browser user-agent to Google.

To avoid this entirely, select "System default" in the typography settings — no external font resources will be loaded.

* Service provider: Google LLC
* Privacy Policy: https://policies.google.com/privacy
* Terms of Service: https://fonts.google.com/attribution

= Image Proxy (optional) =

If the image proxy is enabled, the plugin fetches images from external domains and stores them in your WordPress uploads folder. This is a server-to-server request only — no visitor data is involved in this process.

== Changelog ==

= 2.0.0 =
* NEW: Built-in image proxy
* NEW: Featured layout (hero + sub-featured + grid)
* NEW: Visual moderation panel
* NEW: Smart deduplication with configurable sensitivity
* NEW: Font selector with 9 options including Google Fonts
* NEW: WordPress Color Picker for 4 colour slots
* NEW: Enable/disable individual feeds
* NEW: Dual fetch strategy (SimplePie + raw XML fallback)
* NEW: Improved image extraction (media:thumbnail, og:image, enclosure)
* IMPROVED: 18+ recommended feeds across multiple sports categories
* IMPROVED: Canonical URL deduplication (strips UTM parameters)

= 1.0.0 =
* Initial release

== Upgrade Notice ==

= 2.0.0 =
Major update. Deactivate v1 before installing.
