You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
dufraissejeremy da5ed742f3 feat(twig): define content template 2 years ago
css feat(pico-content-editor): create 2 years ago
js feat(pico-content-editor): create 2 years ago
src feat(pico-content-editor): create 2 years ago
templates feat(twig): define content template 2 years ago
.eslintrc.json feat(pico-content-editor): create 2 years ago
.gitignore feat(pico-content-editor): create 2 years ago
LICENCE feat(pico-content-editor): create 2 years ago
LICENCE_FR feat(pico-content-editor): create 2 years ago
LISEZMOI.md feat(pico-content-editor): create 2 years ago
PicoContentEditor.php fix(canEdit): force to false temporarly 2 years ago
README.md feat(pico-content-editor): create 2 years ago
composer.json feat(SeacmsAuth): use it 2 years ago
composer.lock feat(SeacmsAuth): use it 2 years ago
package.json feat(pico-content-editor): create 2 years ago
yarn.lock feat(pico-content-editor): create 2 years ago

README.md

Pico Content Editor

Lire ce fichier en Français

A WYSIWYG content editor for SeaCMS.

  • live editing with ContentTools
  • save to pages and themes
  • pages metadata editor
  • images upload
  • authentification

Authors

Licence and warranty

See LICENCE file (and french translation LICENCE_FR)

IMPORTANT: LICENCE file does not cover content of folders vendor. See dedicated LICENCE file for each subfolder concerning the imported library.

Installation

If you are using SeaCMS via composer, this package will be automatically used if needed.

To install in a theme, use composer require seacms/pico-content-editor. As this package is not already published on https://packagist.org/, you should add in the composer.json file of the head repository project these lines :

    "repositories": [
        {
            "type": "vcs",
            "url": "https://git.defis.info/SeaCMS/pico-content-editor"
        }
    ]

The supported languages are listed in the js/vendor/ContentTools/translations directory.

Usage

Include the editor files by adding the code in your theme. It is advised to put this in <head> tag.

{{ include('@PicoContentEditor/head-styles.twig') }}
{{ include('@PicoContentEditor/head-scripts.twig') }}

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 :

<div data-editable data-name="pages-first-content">
    <p>Edit me!</p>
</div><!--end editable-->

This one will be converted back to markdown on saving :

<div data-editable data-name="pages-secondary-content" data-markdown markdown=1>
    - One
    - Two
    - Three
</div><!--end editable-->

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

Metadata editor

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

{{ include('@PicoContentEditor/meta-data-editor.twig') }}

An editable text area will contain the page frontmatter.

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.

<footer id="footer">
    <div data-editable data-name="footer" data-src="themes/mytheme/footer.twig">
        <p>Edit me !</p>
    </div><!--end editable-->
</footer>

Fixed editable elements

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

<h1 data-fixture data-name="editable-header" data-src="themes/mytheme/header.twig">
Edit me !
</h1><!--end editable-->

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 :

<a data-fixture data-name="my-editable-link" data-ce-tag="p" href="/test">
Editable link
</a><!--end editable-->

<div data-fixture data-name="my-hero-image" data-ce-tag="img-fixture"
     style="background-image: url('image.png');">
    <img src="image.png" alt="Some image">
</div><!--end editable-->

See ContentTools for further info.

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

To be defined