shel/neos-hyphens

A plugin for Neos CMS which provides hyphens for the inline editor

Installs: 6 197

Dependents: 1

Suggesters: 0

Security: 0

Stars: 16

Watchers: 3

Forks: 0

Open Issues: 12

Language:JavaScript

Type:neos-plugin


README

Latest Stable Version Total Downloads License

Introduction

This package provides a button to insert soft hyphens for the inline editor in Neos CMS.

Many browser support some kind of hyphenation via CSS but it doesnt work reliably on all systems and not with all languages. See the CanIuse table for details.

Therefore this package provides a manual way to insert them. You should be careful with using the CSS based hyphenation in combination with the manual hyphens as the result can be unexpected.

It's compatible with Neos CMS 3.3 and 4.x with the Neos.Ui 2+.

Example

In the backend this plugin will add the option to add soft hyphens. They will look like this while editing:

Visible hyphens while editing

And in the frontend will convert this:

Unwanted hyphenation without soft hyphens

Into this:

Expected hyphenation

And in action:

Expected hyphenation

Advantages

  • Your editors gain control over word breaks.
  • Stores the hyphens in the database with their UTF8 representation which the browser interprets as ­.
  • You don't need other characters which you replace with hyphens in the Frontend.
  • Should work fine with Elasticsearch and other search engines.

Planned features

See enhancement issue list.

Installation

Run this in your site package

composer require --no-update shel/neos-hyphens

Then run composer update in your project directory.

How to use

Enable it for a node with editable text like this:

'Neos.NodeTypes:Text':
  properties:
    text:
      ui:
        inline:
          editorOptions:
            hyphens: true

Customization

Hyphen styling in the backend

You can provide your own styling by referencing your own stylesheet. See the file Override.Page.fusion on how the default styling is included.

You can either override the configuration from your own package and just use your stylesheet or you can add yours and use both.

Contributions

Contributions are very welcome!

Please create detailed issues and PRs.

If you use this package and want to support or speed up it's development, get in touch with me.

Or you can also support me directly via patreon.

License

See License