PHPackages                             notedis/statamic-notedis - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. notedis/statamic-notedis

ActiveStatamic-addon[Utility &amp; Helpers](/categories/utility)

notedis/statamic-notedis
========================

Integrate the Notedis feedback widget into your Statamic site

1.0.0(5mo ago)021MITPHPPHP ^8.1|^8.2|^8.3CI passing

Since Nov 23Pushed 5mo agoCompare

[ Source](https://github.com/darinlarimore/statamic-notedis)[ Packagist](https://packagist.org/packages/notedis/statamic-notedis)[ RSS](/packages/notedis-statamic-notedis/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Notedis Widget for Statamic
===========================

[](#notedis-widget-for-statamic)

Add a floating feedback button to your Statamic site that lets visitors submit feedback, bug reports, and feature requests directly to your [Notedis.com](https://notedis.com) dashboard.

Table of Contents
-----------------

[](#table-of-contents)

- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
- [Configuration](#configuration)
- [Usage](#usage)
- [Settings Storage](#settings-storage)
- [Troubleshooting](#troubleshooting)
- [Development](#development)
- [Support](#support)
- [License](#license)

Features
--------

[](#features)

- **Control Panel Settings** - Configure everything through Statamic's UI (no .env editing required!)
- **Automatic Widget Integration** - Widget appears on all pages by default with zero configuration beyond the site key
- **Customizable Appearance** - Button position and color with visual color picker
- **User Access Control** - Show to all visitors or logged-in users only
- **Control Panel Support** - Optional widget display in Statamic CP for team feedback
- **Multiple Integration Methods** - Auto-inject, template tags, or fieldtype
- **Settings Persistence** - Settings stored in `resources/notedis.yaml` (version controlled)
- **Permission System** - Role-based access control for configuration
- **Secure Implementation** - Proper authentication and input validation
- **Compatible** - Statamic 4.x &amp; 5.x, PHP 8.1+

Requirements
------------

[](#requirements)

- **Statamic**: 4.x or 5.x
- **PHP**: 8.1, 8.2, or 8.3
- **Composer**: For package management
- **Notedis Account**: Get your site key from [Notedis.com](https://notedis.com)

Installation
------------

[](#installation)

### Via Composer (Recommended)

[](#via-composer-recommended)

```
cd /path/to/your/statamic/project
composer require notedis/statamic-notedis
```

Assets will be published automatically during installation.

### Publish Configuration (Optional)

[](#publish-configuration-optional)

If you need to customize default values:

```
php artisan vendor:publish --tag=notedis-config
```

This creates `config/notedis.php` where you can set default values.

### Verify Installation

[](#verify-installation)

1. Log into your Statamic Control Panel
2. Navigate to **Tools &gt; Notedis** (look for the pencil icon)
3. You should see the settings page

Configuration
-------------

[](#configuration)

### Control Panel Settings (Recommended)

[](#control-panel-settings-recommended)

The easiest way to configure Notedis:

1. Log into your Statamic Control Panel
2. Navigate to **Tools &gt; Notedis** in the sidebar
3. Enter your Notedis site key ([Get your site key from Notedis.com →](https://notedis.com/dashboard))
4. Customize widget settings:
    - **Button Position**: bottom-right, bottom-left, top-right, top-left
    - **Button Color**: Visual color picker (hex format)
    - **Widget Source**: Local (recommended) or CDN
    - **Auto Inject**: Automatically add widget to all pages
    - **Logged In Only**: Restrict to authenticated users
    - **Show in Control Panel**: Display widget in Statamic CP
5. Click **Save Settings**

Settings are saved to `resources/notedis.yaml` and take effect immediately.

**Note**: Settings configured via environment variables will take precedence over Control Panel settings and will be displayed as read-only in the UI.

### Environment Variables (Higher Priority)

[](#environment-variables-higher-priority)

You can configure settings via `.env` file. Environment variables override Control Panel settings:

```
# Required
NOTEDIS_SITE_KEY=your-site-key-here

# Optional
NOTEDIS_API_ENDPOINT=https://notedis.com
NOTEDIS_WIDGET_POSITION=bottom-right
NOTEDIS_WIDGET_COLOR=#3B82F6
NOTEDIS_LOGGED_IN_ONLY=false
NOTEDIS_SHOW_IN_CP=false
NOTEDIS_WIDGET_SOURCE=local
NOTEDIS_AUTO_INJECT=true
```

**Note**: Environment variables take priority over Control Panel settings. If a setting is configured via environment variable, it will be shown as read-only in the Control Panel with an ENV badge.

Usage
-----

[](#usage)

### Method 1: Automatic Injection (Default)

[](#method-1-automatic-injection-default)

Once you configure your site key, the widget automatically appears on all pages. No code needed!

To disable auto-injection:

- Uncheck "Automatically inject widget on all pages" in Control Panel, or
- Set `NOTEDIS_AUTO_INJECT=false` in `.env`

### Method 2: Template Tag

[](#method-2-template-tag)

Add the widget manually using Antlers tags:

```
{{ notedis }}
```

#### Tag Parameters

[](#tag-parameters)

Override default settings per-page:

```
{{ notedis
    site_key="your-site-key"
    position="bottom-left"
    color="#FF5733"
    source="cdn"
}}
```

Available parameters:

- `site_key` - Your Notedis site key
- `api_url` - API endpoint (default: )
- `position` - `bottom-right`, `bottom-left`, `top-right`, `top-left`
- `color` - Hex color code (e.g., `#3B82F6`)
- `source` - `local` or `cdn`

#### Advanced Tag Usage

[](#advanced-tag-usage)

Split config and script for more control:

```
{{# Load config #}}
{{ notedis:button position="bottom-left" color="#FF5733" }}

{{# Load script separately #}}
{{ notedis:script source="local" }}
```

### Method 3: Fieldtype

[](#method-3-fieldtype)

Add widget control per-entry using blueprints:

**1. Add to blueprint:**

```
fields:
  -
    handle: feedback_widget
    field:
      type: notedis
      display: 'Feedback Widget'
      site_key: '' # Optional: override default
      position: bottom-right
      color: '#3B82F6'
```

**2. Use in template:**

```
{{ feedback_widget }}
```

Usage Examples
--------------

[](#usage-examples)

### Example 1: Public Website

[](#example-1-public-website)

Show feedback button to all visitors on frontend only:

```
NOTEDIS_SITE_KEY=your-site-key-here
NOTEDIS_SHOW_IN_CP=false
NOTEDIS_LOGGED_IN_ONLY=false
```

### Example 2: Members-Only Site

[](#example-2-members-only-site)

Display button only to logged-in users:

```
NOTEDIS_SITE_KEY=your-site-key-here
NOTEDIS_LOGGED_IN_ONLY=true
```

### Example 3: Internal Tool

[](#example-3-internal-tool)

Show button everywhere including Control Panel:

```
NOTEDIS_SITE_KEY=your-site-key-here
NOTEDIS_SHOW_IN_CP=true
```

### Example 4: Manual Placement

[](#example-4-manual-placement)

Disable auto-injection and place widget manually:

```
NOTEDIS_SITE_KEY=your-site-key-here
NOTEDIS_AUTO_INJECT=false
```

Then in your layout:

```

    {{ title }}

    {{ template_content }}
    {{ notedis position="bottom-right" color="#3B82F6" }}

```

Settings Storage
----------------

[](#settings-storage)

Settings configured in the Control Panel are stored in:

```
resources/notedis.yaml

```

This file is **version controlled** and gets committed with your site content. This means:

- ✅ Settings are portable across environments
- ✅ Settings are backed up with your code
- ✅ Settings can be tracked in git
- ✅ Settings deploy with your site

### Settings Priority

[](#settings-priority)

The addon uses the following priority order (highest to lowest):

1. **Environment Variables** (`.env` file) - Highest priority
2. **Control Panel Settings** (`resources/notedis.yaml`)
3. **Config File Defaults** (`config/notedis.php`)

When a setting is configured via environment variable, it will override any value in the Control Panel and be displayed as read-only with an ENV badge in the settings UI.

Example `resources/notedis.yaml`:

```
site_key: your-key-here
api_endpoint: https://notedis.com
widget_position: bottom-right
widget_color: '#3B82F6'
auto_inject: true
logged_in_only: false
show_in_cp: false
widget_source: local
```

Troubleshooting
---------------

[](#troubleshooting)

### Widget Not Appearing

[](#widget-not-appearing)

1. **Check site key**: Verify it's correct in Control Panel or `.env`
2. **Browser console**: Look for JavaScript errors (F12)
3. **Clear cache**: Run `php please cache:clear`
4. **Auto-inject**: Ensure it's enabled or you've added the tag manually
5. **User restrictions**: Check if logged-in-only mode is limiting visibility
6. **Assets published**: Verify `public/vendor/notedis/js/widget.js` exists

### Button Position Not Changing

[](#button-position-not-changing)

Valid positions:

- `bottom-right` (default)
- `bottom-left`
- `top-right`
- `top-left`

### Color Not Applying

[](#color-not-applying)

- ✅ Correct: `#3B82F6`
- ❌ Incorrect: `3B82F6` (missing `#`)

### 404 Error for widget.js

[](#404-error-for-widgetjs)

Run asset publish command:

```
php please vendor:publish --tag=notedis-assets
```

### Control Panel Widget Not Showing

[](#control-panel-widget-not-showing)

Enable in settings:

- Check "Show widget in Control Panel" in CP settings, or
- Set `NOTEDIS_SHOW_IN_CP=true` in `.env`

### Settings Not Saving

[](#settings-not-saving)

1. Check file permissions on `resources/` directory
2. Verify user has "Configure Notedis" permission
3. Check browser console for AJAX errors

Development
-----------

[](#development)

### Project Structure

[](#project-structure)

```
statamic-notedis/
├── src/
│   ├── Fieldtypes/
│   │   └── NotedisFieldtype.php
│   ├── Http/
│   │   ├── Controllers/
│   │   │   └── SettingsController.php
│   │   └── Middleware/
│   │       └── InjectNotedisWidget.php
│   ├── Tags/
│   │   └── Notedis.php
│   └── ServiceProvider.php
├── config/
│   └── notedis.php
├── resources/
│   ├── dist/js/widget.js
│   └── views/settings.blade.php
├── routes/
│   └── cp.php
├── composer.json
├── CHANGELOG.md
├── LICENSE.md
└── README.md

```

### Code Formatting

[](#code-formatting)

Format code with Laravel Pint:

```
./vendor/bin/pint
```

### Permissions

[](#permissions)

The addon registers a `configure notedis` permission. Assign this to roles that should manage Notedis settings in the Control Panel.

Support
-------

[](#support)

### Issues

[](#issues)

- **Addon Issues**: [GitHub Issues](https://github.com/darinlarimore/statamic-notedis/issues)
- **Notedis Service**: [Notedis Support](https://notedis.com/support)

### Resources

[](#resources)

- [Notedis.com](https://notedis.com) - Official Notedis website
- [Statamic](https://statamic.com) - Statamic CMS
- [GitHub Repository](https://github.com/darinlarimore/statamic-notedis)

License
-------

[](#license)

MIT License. See [LICENSE.md](LICENSE.md) for details.

---

**Made with ❤️ for Statamic**

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance70

Regular maintenance activity

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

176d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f87bfd3084b748a8890d0b72c7ddc1c29922d72e4641aab0a824b29a9909a58b?d=identicon)[darinlarimore](/maintainers/darinlarimore)

---

Top Contributors

[![darinlarimore](https://avatars.githubusercontent.com/u/20300635?v=4)](https://github.com/darinlarimore "darinlarimore (1 commits)")

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/notedis-statamic-notedis/health.svg)

```
[![Health](https://phpackages.com/badges/notedis-statamic-notedis/health.svg)](https://phpackages.com/packages/notedis-statamic-notedis)
```

###  Alternatives

[statamic/ssg

Generate static sites with Statamic.

254302.4k](/packages/statamic-ssg)[statamic/seo-pro

65440.7k](/packages/statamic-seo-pro)[jacksleight/statamic-bard-texstyle

17172.5k](/packages/jacksleight-statamic-bard-texstyle)[visuellverstehen/statamic-classify

A useful helper to add CSS classes to all HTML tags generated by the bard editor.

20116.8k](/packages/visuellverstehen-statamic-classify)[marcorieser/statamic-livewire

A Laravel Livewire integration for Statamic.

2381.5k10](/packages/marcorieser-statamic-livewire)[withcandour/aardvark-seo

Save time and get your Statamic site to rank better with the SEO addon for Statamic.

13128.3k](/packages/withcandour-aardvark-seo)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
