{"id":20961841,"url":"https://github.com/heimrichhannot/contao-hyphenator-bundle","last_synced_at":"2025-09-13T07:18:37.471Z","repository":{"id":52957024,"uuid":"137068868","full_name":"heimrichhannot/contao-hyphenator-bundle","owner":"heimrichhannot","description":"Word-Hyphenation for the contao content-management-system.","archived":false,"fork":false,"pushed_at":"2025-08-27T08:53:51.000Z","size":149,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-08-27T17:38:24.579Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/heimrichhannot.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-06-12T12:32:06.000Z","updated_at":"2025-08-27T08:53:50.000Z","dependencies_parsed_at":"2025-05-14T07:35:29.746Z","dependency_job_id":"0655117f-e110-4283-a6d9-b5be9ebe5f5b","html_url":"https://github.com/heimrichhannot/contao-hyphenator-bundle","commit_stats":null,"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/heimrichhannot/contao-hyphenator-bundle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimrichhannot%2Fcontao-hyphenator-bundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimrichhannot%2Fcontao-hyphenator-bundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimrichhannot%2Fcontao-hyphenator-bundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimrichhannot%2Fcontao-hyphenator-bundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heimrichhannot","download_url":"https://codeload.github.com/heimrichhannot/contao-hyphenator-bundle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimrichhannot%2Fcontao-hyphenator-bundle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274932538,"owners_count":25376191,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T02:17:51.822Z","updated_at":"2025-09-13T07:18:37.423Z","avatar_url":"https://github.com/heimrichhannot.png","language":"PHP","readme":"# Contao Hyphenator Bundle\n\n![](https://img.shields.io/packagist/v/heimrichhannot/contao-hyphenator-bundle.svg)\n![](https://img.shields.io/packagist/dt/heimrichhannot/contao-hyphenator-bundle.svg)\n[![](https://img.shields.io/travis/heimrichhannot/contao-hyphenator-bundle/master.svg)](https://travis-ci.org/heimrichhannot/contao-hyphenator-bundle/)\n[![](https://img.shields.io/coveralls/heimrichhannot/contao-hyphenator-bundle/master.svg)](https://coveralls.io/github/heimrichhannot/contao-hyphenator-bundle)\n\nA contao bundle that grants server-side hyphenation (thanks to [vanderlee/phpSyllable](https://github.com/vanderlee/phpSyllable)). \nIt does support headlines and paragraphs by default. \n\nThis module also handles line break exceptions, in order to keep words like company names together and prevent line break (see `tl_page` backend entity).  \n\n## Options\n\nTo extend the functionality, all options can be adjusted within your localconfig.\n\nOption | Type | Default |  Description\n------ | ---- | ------- |  -----------\nhyphenator_tags | string | 'h1:not(:empty):not(.hyphen-none), h2:not(:empty):not(.hyphen-none), h3:not(:empty):not(.hyphen-none), h4:not(:empty):not(.hyphen-none), h5:not(:empty):not(.hyphen-none), h6:not(:empty):not(.hyphen-none), p:not(:empty):not(.hyphen-none), a:not(:empty):not(.hyphen-none), dt:not(:empty):not(.hyphen-none), dd:not(:empty):not(.hyphen-none)' | What type of selectors the hyphenator should look at. \nhyphenator_wordMin | int | 10 | Words under the given length will not be hyphenated altogether.\nhyphenator_hyphenedLeftMin | int | 6 | After hyphenation the resulting left part must have at least this many characters.\nhyphenator_hyphenedRightMin | int | 6 | After hyphenation the resulting right part must have at least this many characters.\nhyphenator_hyphen | string | \u0026shy; | This character shall be used as Hyphen-Character. \nhyphenator_skipPages | array | empty | Array of Contao Page Ids, the Hyphenator should skip from hyphenation.\nhyphenator_enableCache | bool | true | Enable simple caching and do not hyphenate equal elements twice.  \nhyphenator_locale_language_mapping | array | ['en' =\u003e 'en-us', 'cz' =\u003e 'cs'] | Map locale to hyphenator tex separation pattern dictionary\n\n## Skip hyphenation\n\nIf you want to skip several tags from hyphenation simply add `hyphen-none` as css-class to the appropriate element or use the `tl_page.hyphenation` field. \n\nYou also can add tags to be skipped to your project configuration. See configuration reference below\n\n## Configuration reference\n\n```yaml\n# Default configuration for extension with alias: \"huh_hyphenator\"\nhuh_hyphenator:\n  \n  # Add tags you want to be skipped from hyphenating, to array (string without \u003c\u003e)\n  skip_tags: []\n\n```\n\n## Line break exceptions\n\nHyphenator comes with line break exception handling. \nSimply add `lineBreakExceptions` on `tl_page` and prevent line break for connected word groups like:\n\n- Company Names (search: `Heimrich \u0026 Hannot(?:\\sGmbH)|Heimrich \u0026 Hannot(?:s)?`, will be replaced to: `\u003cspan class=\"text-nowrap\"\u003eHeimrich\u0026nbsp;\u0026amp;\u0026nbsp;Hannot\u0026nbsp;GmbH\u003c/span\u003e`)\n- Prices and other units (search: `(\\d|€)(\\s)(\\w)`, replace: `$1[nbsp]$3`, Example: `160.000 m²` -\u003e `160.00\u003cspan class=\"text-nowrap\"\u003e0\u0026nbsp;m\u003c/span\u003e²`, `167 Mio. €` -\u003e `16\u003cspan class=\"text-nowrap\"\u003e7\u0026nbsp;M\u003c/span\u003eio.\u0026nbsp;€`)\n\nAs you can see, if you provide an replace pattern, than an regular expression will handle the replacement, otherwise if only an search pattern is provided, spaces will be protected with `\u0026nbsp;`.\n\n## Requirements\n\n* [vanderlee/phpSyllable](https://github.com/vanderlee/phpSyllable)\n* [wa72/htmlpagedom](https://github.com/wasinger/htmlpagedom)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheimrichhannot%2Fcontao-hyphenator-bundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheimrichhannot%2Fcontao-hyphenator-bundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheimrichhannot%2Fcontao-hyphenator-bundle/lists"}