Kirby Loop

Stay in the loop. A powerful visual feedback plugin for Kirby CMS that allows users to add comments directly on web pages by clicking on elements. Perfect for client reviews, content collaboration, and team feedback workflows.

Features

How It Works

Kirby Loop transforms your website into a collaborative workspace where teams can provide feedback directly on web pages.

Visual Context: Users can click on any element to leave specific comments, creating a direct connection between feedback and content.

Streamlined Communication: Team members, clients, and stakeholders can point out issues and suggest improvements right where they see them.

Organized Discussions: Comments support threaded replies and can be marked as resolved to maintain a clean feedback pipeline.

Privacy & Data Control: All feedback data is stored locally in a SQLite database on your server - no external services or cloud dependencies.

Quick Start

  1. Install: composer require moinframe/kirby-loop
  2. Use: Kirby Loop is automatically active on all pages for authenticated users
  3. Configure: Customize settings in site/config/config.php (optional)

Documentation

Detailed documentation is available in the docs/ folder:

Basic Configuration

Add these options to your site/config/config.php:

return [
    // Enable/disable loop (default: true)
    'moinframe.loop.enabled' => true,

    // Or use a callback for conditional enabling
    'moinframe.loop.enabled' => function($page) {
        return in_array($page->template()->name(), ['article', 'blog']);
    },

    // Disable auto-injection (default: true)
    'moinframe.loop.auto-inject' => false,

    // Set header position: 'top' or 'bottom' (default: 'top')
    'moinframe.loop.position' => 'bottom',

    // Make feedback public (default: false - requires auth)
    'moinframe.loop.public' => true,

    // Force UI language (default: null - auto-detect)
    'moinframe.loop.language' => 'de',

    // Set theme: 'default', 'dark', or custom theme name
    'moinframe.loop.theme' => 'dark',
];

See the Configuration Guide for all available options.

Requirements

Important Notes

Pages with the snippet automatically have Kirby's page cache disabled. This is necessary for CSRF token validation and User authentication checks.

Support

License

MIT License - see LICENSE.md