PHPackages                             nliautaud/pico-content-editor - 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. nliautaud/pico-content-editor

AbandonedArchivedPico-plugin[Utility &amp; Helpers](/categories/utility)

nliautaud/pico-content-editor
=============================

A WYSIWYG content editor plugin for Pico CMS

151872[9 issues](https://github.com/nliautaud/pico-content-editor/issues)JavaScript

Since Jul 11Pushed 1y ago5 watchersCompare

[ Source](https://github.com/nliautaud/pico-content-editor)[ Packagist](https://packagist.org/packages/nliautaud/pico-content-editor)[ RSS](/packages/nliautaud-pico-content-editor/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (2)Used By (0)

Important

Hello, this project is not maintained and archived. Its content is probably obsolete.

Pico Content Editor
===================

[](#pico-content-editor)

A WYSIWYG content editor for [Pico CMS](http://picocms.org).

- live editing with [ContentTools](http://getcontenttools.com)
- save to pages or themes files
- pages metadata editor
- images upload
- authentification with [PicoUsers](https://github.com/nliautaud/pico-users)

Demo :

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

[](#installation)

Download the repository, name the main folder `PicoContentEditor` and copy it into the `plugins/` directory of your Pico project.

```
plugins/
    PicoContentEditor/
        src/
        vendor/
        ...

```

Or, if you installed Pico with composer :

```
composer require nliautaud/pico-content-editor

```

Settings
--------

[](#settings)

Settings can be defined in the Pico config file, in a page metadata, or both. The page metadata settings will override the site-wide ones.

Every setting is optionnal.

```
PicoContentEditor:
    show: true          # show/hide the editor
    debug: true         # enable errors reporting
    language: fr        # supported language code
    uploadpath: myfiles # upload directory (images/ by default)
    # custom ContentTools library location (local files by default)
    ContentToolsUrl: https://cdn.jsdelivr.net/npm/ContentTools
```

The languages supported are listed in the *[translations/](https://github.com/nliautaud/pico-content-editor/tree/master/PicoContentEditor/assets/ContentTools/translations)* directory.

Usage
-----

[](#usage)

Include the editor files by adding the following tag at the end of your theme, before the closing ``.

```
{{ content_editor }}
```

Define editable regions in your pages by using HTML blocks with the attributes `data-editable`, `data-name` and a closing comment `end-editable`. `data-name` should be unique accross a single output.

```
---
Title: A page with editable content
---

The following content is editable :

    Edit me!

This one will be converted back to markdown on saving :

    - One
    - Two
    - Three

```

Every content inside those tags will be editable by visiting the page.

Metadata editor
---------------

[](#metadata-editor)

To add an editor for the pages metadata, use the following tag after the opening of `` :

```
{{ content_editor_meta }}
```

An editable text area will contain the page frontmatter.

Editable regions in themes and templates
----------------------------------------

[](#editable-regions-in-themes-and-templates)

You can create editable blocks in themes, just point to the source file with the attribute `data-src`.

For exemple, the following code could be the content of a `footer.twig` file in your theme.

```

        Edit me !

```

Fixed editable elements
-----------------------

[](#fixed-editable-elements)

To make fixed elements with an editable inner content, use `data-fixture` instead of `data-editable` :

```

Edit me !

```

Only inline tools will be allowed in this context : **Bold**, *Italic*, ...

Unrecognized tags can be defined with `data-ce-tag`, for example for a fixed editable link and a fixed editable image :

```

Editable link

```

See [ContentTools](http://getcontenttools.com) for further info.

Files upload
------------

[](#files-upload)

By default, files uploaded from the editor are saved in an `images/` directory located at the root of the Pico installation, next to `content/`. A custom location can be defined in the settings.

The upload directory should exist and be writeable. The plugin will not create it.

Authentification
----------------

[](#authentification)

If the [PicoUsers](https://github.com/nliautaud/pico-users) plugin is installed and detected, actions are automatically restricted to authorized users.

RightDesc`PicoContentEditor`All rights below.`PicoContentEditor/save`Editing regions in pages and themes source files.`PicoContentEditor/upload`Uploading files on the server.Configuration example of [PicoUsers](https://github.com/nliautaud/pico-users) :

```
users:
    admin: $2y$10$Ym/XYzM9GsCzv3xFTiCea..8.F3xY/BpQISqW6/q3H41SmIK1reZe
    editors:
        bill: $2y$10$INwdOkshW6dhyVJbZYVm1..PxKc1CQTRG5jF.UaynOPDC6aukfkaa
rights:
    PicoContentEditor: admin
    PicoContentEditor/save: editors
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity42

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/66c5f87508593151e15c82a4d119377c7eb3d8257460bd6aff72b8ff8ad94ea3?d=identicon)[nliautaud](/maintainers/nliautaud)

---

Top Contributors

[![nliautaud](https://avatars.githubusercontent.com/u/761761?v=4)](https://github.com/nliautaud "nliautaud (43 commits)")

---

Tags

contenttoolseditormetadata-editorpico-cmspico-pluginpicocmsplugin

### Embed Badge

![Health badge](/badges/nliautaud-pico-content-editor/health.svg)

```
[![Health](https://phpackages.com/badges/nliautaud-pico-content-editor/health.svg)](https://phpackages.com/packages/nliautaud-pico-content-editor)
```

###  Alternatives

[felixnagel/t3extblog

A record based blog extension for TYPO3 CMS. Easy to use and packed with features (incl. comments, subscriptions for comments and posts, Wordpress like subscription manager, reasonable email sending in FE and BE, GDPR ready, BE modules, Dashboard widgets, RSS, Sitemap, ...). Flexible and powerful!

3421.6k](/packages/felixnagel-t3extblog)

PHPackages © 2026

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