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 today

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

[woutersioen/sir-trevor-php

A Sir Trevor to HTML conversion helper for PHP

2834.6k](/packages/woutersioen-sir-trevor-php)[naxon/laravel-url-uploaded-file

A package to leverage Laravel's UploadedFile functionality from URLs.

176.4k](/packages/naxon-laravel-url-uploaded-file)

PHPackages © 2026

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