Überschrift
My Grav Plugins
Here are all my plugins for the Grav CMS, which also powers this website. The author links to the corresponding repository.
Here are all my plugins for the Grav CMS, which also powers this website. The author links to the corresponding repository.
Displays post teasers from external RSS/Atom feeds as clickable tiles.
bin/gpm install feedteasers
v1.0.7
08/06/2026
Displays posts from external RSS or Atom feeds as clickable teaser tiles (thumbnail, title, and excerpt). If multiple feeds are configured, users can optionally switch between them using tabs. Clicking a tile opens the original article in a new browser tab. The plugin requires no external PHP dependencies; RSS/Atom parsing is handled entirely by built-in PHP functions (SimpleXMLElement, cURL, or a stream context as a fallback).
I developed the new Grav Plugin Feed Teasers because I was missing a functionality in the CMS used here, which I used to use under Wordpress on my blog to point out messages from other websites, or to link to them. Security reports from Heise Security and the news feed of the Tagesschau were already prominently represented on the blog's homepage at that time. Here I also use this option to link the latest posts of this blog on the homepage.
Post in the blog about the plugin.
Enhanced page and user analytics for Grav, with full support for both the classic Admin (Grav 1.7) and Admin2 (Grav 2.0).
bin/gpm install page-insights
v3.0.0
08/13/2026
First release under the name Page Insights. Forked from Page Stats by Nuno Costa after several years without direct maintainer activity; see README for the full history. Feature-wise this corresponds to what was also contributed upstream as Page Stats PR #56 (later merged) - development continues independently here from this point, under a new name.
Class "Grav\Plugin\PageInsights\Stats" not found fatal error on a fresh install/clone. The compiled Composer autoloader (vendor/composer/autoload_*.php) still referenced the pre-rename Grav\Plugin\PageStats namespace and had never been regenerated after the switch to Grav\Plugin\PageInsights - composer.json itself was correct. Fixed via composer dump-autoload; a note was added to CONTRIBUTING.md so this doesn't recur after future namespace/file changes.composer.json declared a minimum PHP version of >=7.1.3, but Stats::query() uses str_contains(), which requires PHP 8.0 and has no polyfill in the production dependencies - raised the requirement to >=8.0.info@jcs-net.de) in blueprints.yaml.composer.json author and as a second copyright holder in LICENSE, alongside Nuno Costa as original author.twig/twig, twig/intl-extra, symfony/intl, symfony/polyfill-intl-icu, symfony/polyfill-ctype, symfony/polyfill-php72) left over from an earlier dependency tree and no longer listed in composer.lock; refreshed the lock file's stale content-hash.languages.yaml into per-language files under languages/ (en/de/fr) to enable translation via Codeberg Translate; corrected a few remaining "Page Stats" branding leftovers in the English source strings and the French translation.CODE_OF_CONDUCT.md, SECURITY.md, and CONTRIBUTING.md, plus issue/PR templates for both Codeberg and the GitHub mirror .Embed posts, profiles, and timelines from Mastodon and compatible services as locally cached, theme-compatible links/embeds.
bin/gpm install social-linking
v0.5.2
08/04/2026
Embeds posts from Mastodon (and any service with a Mastodon-compatible client API, such as Pleroma, Akkoma, or GoToSocial) directly into Grav pages. The necessary data is fetched via the API once and then cached as a file in the respective page's folder; subsequent display relies entirely on this local cache rather than fetching live data from the API on every page load.