actuel-inactuel/site/plugins/loop
isUnknown 2f95bc207b
All checks were successful
Deploy / Deploy to Production (push) Successful in 8s
disabled loop plugin
2026-03-27 18:41:34 +01:00
..
assets add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
docs add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
frontend add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
snippets/loop add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
src add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
.editorconfig add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
.paradocs.json add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
.release-it.json add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
biome.json add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
CHANGELOG.md add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
CLAUDE.md add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
composer.json add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
composer.lock add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
index.php disabled loop plugin 2026-03-27 18:41:34 +01:00
kirby-loop.png add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
LICENSE.md add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
package.json add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
phpstan.neon add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
pnpm-lock.yaml add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00
README.md add kirby-loop plugin with French translations 2026-03-23 21:41:50 +01:00

Kirby Loop

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

  • 🎯 Click-to-comment: Toggle between navigate mode for normal browsing and comment mode to click anywhere and add feedback
  • 🌍 Multi-language support: Full support for Kirby's multi-language sites with automatic language detection
  • 💬 Threaded comments: Reply to comments for contextual discussions
  • 🔒 Authentication: Choose whether to restrict access to authenticated users only or allow guest commenting
  • 🎨 Theming: Built-in light/dark themes with full customization support
  • ⚙️ Auto-injection: Automatically inject into all pages or manually control placement
  • 🗄️ Local storage: All data stored locally in SQLite - no external dependencies

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

  • Kirby CMS 4.0+
  • PHP 8.3+
  • SQLite support

Important Notes

Warning

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