diff --git a/CHANGELOG.md b/CHANGELOG.md index fc720d6..1be9a53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # (MODX)EvolutionCMS.snippets.ddTypograph changelog +## Version 2.7 (2024-07-07) +* \+ You can turn off typography for a text fragment aslo by using the `` tag. + + ## Version 2.6.1 (2023-08-23) * \* TinyMCE empty lines (`

 

`) are no longer modified. @@ -19,7 +23,7 @@ * \* Attention! PHP >= 5.6 is required. * \* Attention! (MODX)EvolutionCMS.libraries.ddTools >= 0.48.1 is required. * \+ You can just call `\DDTools\Snippet::runSnippet` to run the snippet without DB and eval (see README → Examples). -* \+ `\ddDomainComparator\Snippet`: The new class. All snippet code was moved here. +* \+ `\ddTypograph\Snippet`: The new class. All snippet code was moved here. * \+ README → Links. * \* Composer.json: * \+ `homepage` diff --git a/CHANGELOG_ru.md b/CHANGELOG_ru.md index 09f89bc..6759562 100644 --- a/CHANGELOG_ru.md +++ b/CHANGELOG_ru.md @@ -1,6 +1,10 @@ # (MODX)EvolutionCMS.snippets.ddTypograph changelog +## Версия 2.7 (2024-07-07) +* \+ Вы можете отключить типографирование какого-то фрагмента текста также с помощью тега ``. + + ## Версия 2.6.1 (2023-08-23) * \* Пустые строки TinyMCE (`

 

`) больше не изменяются. diff --git a/README.md b/README.md index 87b4759..ac8e6bc 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,8 @@ Snippet for text typography. The snippet doesn’t use third-party services, also it sends no requests. In other words, everything is performed on your server. +You can turn off typography for a text fragment using the `` or `` tags. + ## Requires @@ -42,7 +44,7 @@ require_once( #### 1. Elements → Snippets: Create a new snippet with the following data 1. Snippet name: `ddTypograph`. -2. Description: `2.6.1 Snippet for text typography. The snippet doesn’t use third-party services, also it sends no requests. In other words, everything is performed on your server.`. +2. Description: `2.7 Snippet for text typography. The snippet doesn’t use third-party services, also it sends no requests. In other words, everything is performed on your server.`. 3. Category: `Core`. 4. Parse DocBlock: `no`. 5. Snippet code (php): Insert content of the `ddTypograph_snippet.php` file from the archive. @@ -57,19 +59,19 @@ require_once( ## Parameters description * `text` - * Desctription: Text to correct. + * Description: Text to correct. * Valid values: `string` * **Required** * `optAlign` - * Desctription: Optical alignment (hanging punctuation). + * Description: Optical alignment (hanging punctuation). * Valid values: * `0` * `1` * Default value: `0` * `optAlign_useClasses` - * Desctription: Use CSS classes instead of inline styles for optical alignment (`` instead of ``). + * Description: Use CSS classes instead of inline styles for optical alignment (`` instead of ``). If the parameter is enabled, don't forget to specify the following CSS rules on your site: ```css .oa_obracket_sp_s {margin-right:0.3em;} @@ -87,28 +89,28 @@ require_once( * Default value: `0` * `text_paragraphs` - * Desctription: Section signs and line breaks insertion. + * Description: Section signs and line breaks insertion. * Valid values: * `0` * `1` * Default value: `0` * `text_autoLinks` - * Desctription: Marking links (including email ones). + * Description: Marking links (including email ones). * Valid values: * `0` * `1` * Default value: `0` * `etc_unicodeConvert` - * Desctription: Convert HTML entities into Unicode (`—` instead of `—`, etc). + * Description: Convert HTML entities into Unicode (`—` instead of `—`, etc). * Valid values: * `0` * `1` * Default value: `1` * `noTags` - * Desctription: Whether HTML element insertion is allowed or not. + * Description: Whether HTML element insertion is allowed or not. There are cases when using tags causes the text to be invalid, for example, using the snippet inside of an HTML attribute. * Valid values: * `0` @@ -116,7 +118,7 @@ require_once( * Default value: `0` * `excludeTags` - * Desctription: HTML tags which content will be ignored by snippet. + * Description: HTML tags which content will be ignored by snippet. * Valid values: `stringCommaSeparated` * Default value: `'notg,code'` @@ -152,11 +154,11 @@ require_once( ``` -### Turn off typography for a text fragment (the `` tag) +### Turn off typography for a text fragment (the `` or `` tags) ```html [[ddTypograph? - &text=`Some text. The snippet will not change this text inside the tag. It's easy.` + &text=`Some text. The snippet will not change this text inside the tag. It's easy. Additionally, `span` with the single `notg` class is also supported.` ]] ``` diff --git a/README_ru.md b/README_ru.md index 99b4b08..a9f9ea5 100644 --- a/README_ru.md +++ b/README_ru.md @@ -3,6 +3,8 @@ Сниппет типографирует текст. Не использует сторонних сервисов, не отправляет никаких запросов, всё делается прямо у вас на сервере. +Вы можете отключить типографирование какого-то фрагмента текста с помощью тегов `` или ``. + ## Использует @@ -42,7 +44,7 @@ require_once( #### 1. Элементы → Сниппеты: Создайте новый сниппет со следующими параметрами 1. Название сниппета: `ddTypograph`. -2. Описание: `2.6.1 Сниппет типографирует текст. Не использует сторонних сервисов, не отправляет никаких запросов, всё делается прямо у вас на сервере.`. +2. Описание: `2.7 Сниппет типографирует текст. Не использует сторонних сервисов, не отправляет никаких запросов, всё делается прямо у вас на сервере.`. 3. Категория: `Core`. 4. Анализировать DocBlock: `no`. 5. Код сниппета (php): Вставьте содержимое файла `ddTypograph_snippet.php` из архива. @@ -152,11 +154,11 @@ require_once( ``` -### Отключить работу типографа для фрагмента текста (тег ``) +### Отключить работу типографа для фрагмента текста (теги `` или ``) ```html [[ddTypograph? - &text=`Какой-то текст. Текст внутри этого тега не будет типографироваться. Вот так просто.` + &text=`Какой-то текст. Текст внутри этого тега не будет типографироваться. Вот так просто. Кроме того, поддерживается также `span` с единственным классом `notg`.` ]] ``` diff --git a/composer.json b/composer.json index e16339c..6179dc6 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "dd/evolutioncms-snippets-ddtypograph", "type": "modxevo-snippet", - "version": "2.6.1", + "version": "2.7.0", "description": "Snippet for text typography. The snippet doesn't use third-party services, also it sends no requests. In other words, everything is performed on your server.", "keywords": [ "modx", diff --git a/ddTypograph_snippet.php b/ddTypograph_snippet.php index 1e45995..adb83ee 100644 --- a/ddTypograph_snippet.php +++ b/ddTypograph_snippet.php @@ -1,13 +1,13 @@ 4){ - global $ddTypograph; - //Заменим кавычки, вставленные через спец. символы на обычные (а то не обрабатываются в библиотеке) $result = str_replace( '"', @@ -79,9 +79,15 @@ public function run(){ '

 

', $result ); + //Support of (just replace to ) + $result = preg_replace( + '/(.+?)<\/span>/is', + '$1', + $result + ); - if (!isset($ddTypograph)){ - $ddTypograph = new \EMTypograph(); + if (is_null(static::$theEMT)){ + static::$theEMT = new \EMTypograph(); } //Safe tags @@ -149,7 +155,7 @@ public function run(){ 'off' ; - $ddTypograph->setup([ + static::$theEMT->setup([ //Расстановка «кавычек-елочек» первого уровня 'Quote.quotes' => 'on', //Внутренние кавычки-лапки @@ -324,10 +330,10 @@ public function run(){ 'Etc.split_number_to_triads' => 'on' ]); - $ddTypograph->set_text($result); + static::$theEMT->set_text($result); //Типографируем - $result = $ddTypograph->apply(); + $result = static::$theEMT->apply(); //Clean back empty lines $result = str_replace(