carbon/hyphen

Last activity on 5 May 2021
  • 1
  • 9576
composer require carbon/hyphen

Make hyphens easier in Neos CMS

3.0.1

Make hyphens easier in Neos CMS

Version
3.0.1
Type
neos-carbon
Release Date
17.05.2021 13:58:45
Source
git
Distribution
zip
Requires
Requires (dev)
None
Suggest
None
Provides
None
Conflicts
None
Replaces
None
GPL-3.0
  • #flow
  • #helper
  • #neos
  • #carbon
  • #fusion
9cc22f46646446045211ae2089ad1e5c62deb9fa

Latest stable version Total downloads License GitHub forks GitHub stars GitHub watchers

Carbon.Hyphen Package for Neos CMS

Make hyphens easier

Optional word-breaks are hard to enter in Neos CMS. This package provides a Fusion wrapper for phpSyllable

Installation

composer require carbon/hyphen

Usage

Text

Just use the Carbon.Hyphen:Text Fusion object as a processor or wrapper on the Fusion value that should be hyphenated.

superlongValue = 'supercalifragilisticexpialidocious'
superlongValue.@process.hyphenate = Carbon.Hyphen:Text {
  locale = 'en-gb'
}

HTML

Similar to text elements you can use Carbon.Hyphen:Html for HTML elements.

someFusionHtml.@process.hyphenate = Carbon.Hyphen:Html

Neos CMS integration example

You can easily activate hyphenation for all Neos CMS text- and headline nodetypes with following Fusion code:

prototype(Foo.Bar:Content.Text) {
  renderer.@process.hyphenate = Carbon.Hyphen:Html
}

prototype(Foo.Bar:Content.Headline) {
  title.@process.hyphenate = Carbon.Hyphen:Text
}

or directly on a specific parameter:

prototype(Foo.Bar:Component) {
    headline = Neos.Neos:Editable {
        property = 'headline'
        block = false
    }

    renderer = afx`
        <h2>
            <Carbon.Hyphen:Text>{props.headline}</Carbon.Hyphen:Text>
        </h2>
    `
}

Parameters

locale (string) : Reference to the language in which the given string will be hyphenated
(Have a look at syllable languages for a reference of available languages)

threshold (integer, default = 0) : Minimum amount characters a word needs to have, before it is being hyphenated.

Custom language mappings

Probably you've got a language defined that is not available in syllable. For example, en is not available, but en-gb is. Because of that, you can map your language preset to another syllable language: Per default following settings are set in Settings.Carbon.yaml:

Carbon:
  Hyphen:
    # Throw exception if no hyphen definition is found
    throwException: true
    mapping:
      en: en-gb
      de-de: de
      de-at: de

Credits

This implementation was heavily inspired by packagefactory/hyphenate.

The content of the readme is provided by Github
The same vendor provides 23 package(s).