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(