die-wegmeister / Wegmeister.Hyphenator

Neos-Integration of Org\Heigl\Hyphenator
GNU General Public License v3.0
2 stars 0 forks source link

Compare package to other Neos hyphenation packages #3

Open alexander-nitsche opened 1 year ago

alexander-nitsche commented 1 year ago

Hello Wegmeister,

there are a number of Neos hyphenation packages that are found by Neos newbies via https://www.neos.io/download-and-extend/packages.html?search=hyphen&version=. You might want to make a comparison in your README.md to the other packages, why or when yours is the right one :)?

Many greetings, Alex

Benjamin-K commented 1 year ago

Hi Alex,

thanks for your request. I'm not sure if i can add a full list here and if we want to do this as every package maintainer may have a different view on his own package. I also saw, that you created the same issue in multiple packages (linked below).

In my opinien, there are two ways hyphenation is handled:

  1. Add hyphens by hand. This means, you have an option to add hyphens to your content through a "Style"-Button or replacement of defined strings. The following packages address this:

    • Shel.Neos.Hyphens: Adds a button to add soft-hyphens in text and shows it in backend. Best inline-editing option IMO.
    • codeq/replacewithshy: Replaces || with &shy, but is already marked as depracated. I wouldn't use it anymore.
  2. "Automatically" add hyphens to text. This means, the content is analysed and updated by some hyphenation script that automatically adds hyphens based on some rules and configuration. Therefore the following packages exist:

    • Wegmeister.Hyphenator: This package. Adds a fusion prototype that can be used to @process a property or the full prototype response. No distinction between text and html.
    • PackageFactory.Hyphenate and Carbon.Hyphen: Both add fusion prototypes for Text and HTML content. As Carbon.Hyphen is more up to date, i'd prefer using that package.
    • PunktDe.Neos.Hyphenation: Adds an Eel helper, that can be used to hyphenate the given text. Requires nodejs. Can be used in backend modules more easily as the other implementations.

I hope, this helps for now. Don't know, if or where to put this best. Maybe some of the other package maintainer have an idea.

Other issues: PackageFactory.Hyphenate, Carbon.Hyphen, PunktDe.Neos.Hyphenation

alexander-nitsche commented 1 year ago

This comparison is of great value. I recommend to put it in the README near the introduction at the beginning, so that the user can quickly find out which package suits him best.

The other packages could use the same text, and whenever you change the text, the author mentions the issues of the other packages in the commit message or PR, so that they are automatically informed and maybe adjust their texts as well.