diff --git a/README.md b/README.md index f4c540a..a03957f 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Fenom - Template Engine for PHP > Composer package: `{"fenom/fenom": "dev-master"}`. See on [Packagist.org](https://packagist.org/packages/bzick/fenom) [![Build Status](https://travis-ci.org/bzick/fenom.png?branch=master)](https://travis-ci.org/bzick/fenom) -## [Usage](./docs/usage.md) :: [Documentation](./docs/main.md) :: [Benchmark](./docs/benchmark.md) :: [Articles](./docs/articles.md) +## [Usage](./docs/usage.md) :: [Documentation](./docs/readme.md) :: [Benchmark](./docs/benchmark.md) :: [Articles](./docs/articles.md) * Simple [syntax](./docs/syntax.md) * [Fast](./docs/benchmark.md) diff --git a/docs/main.md b/docs/readme.md similarity index 92% rename from docs/main.md rename to docs/readme.md index 845a52d..08c4425 100644 --- a/docs/main.md +++ b/docs/readme.md @@ -29,7 +29,7 @@ Documentation * [in](./mods/in.md) * allowed functions: `json_encode`, `json_decode`, `count`, `is_string`, `is_array`, `is_numeric`, `is_int`, `is_object`, `strtotime`, `gettype`, `is_double`, `ip2long`, `long2ip`, `strip_tags`, `nl2br` -* or [add](./ext/mods.md) your own +* or [add](./ext/mods.md) yours *** @@ -48,7 +48,9 @@ Documentation * [filter](./tags/filter.md) * [ignore](./tags/ignore.md) * [macro](./tags/macro.md) and `import` -* or [add](./ext/tags.md) your own +* [autoescape](./tags/autoescape.md) +* [raw](./tags/raw.md) +* or [add](./ext/tags.md) yours *** diff --git a/docs/settings.md b/docs/settings.md index 6ea4f02..9ab0bfe 100644 --- a/docs/settings.md +++ b/docs/settings.md @@ -26,6 +26,7 @@ $fenom->setOptions($options); * **force_compile**, `Fenom::FORCE_COMPILE`, пересобирать шаблон при каждом вызове (сильно замедляет работу шаблонизатора). * **force_include**, `Fenom::FORCE_INCLUDE`, оптимизировать вставку шаблона в шаблон. Это увеличит производительность и размер собранного шаблона. Опция активируется если имя шаблона задано явно и скалярно. +* **auto_escape**, `Fenom::AUTO_ESCAPE`, все выводящие переменные и результаты функций будут экранироваться ```php $fenom->setOptions(array( diff --git a/docs/tags/autoescape.md b/docs/tags/autoescape.md new file mode 100644 index 0000000..d9b2dc9 --- /dev/null +++ b/docs/tags/autoescape.md @@ -0,0 +1,14 @@ +Tag {autoescape} [RU] +===================== + +Force enable or disable `auto_escape` option for block area: + +```smarty +{autoescape true} + ... + Text: {$text} {* value of the variable $text will be escaped *} + ... +{/autoescape} +``` + +Also see {raw} tag for diff --git a/docs/tags/capture.md b/docs/tags/capture.md deleted file mode 100644 index aaf7277..0000000 --- a/docs/tags/capture.md +++ /dev/null @@ -1,17 +0,0 @@ -Tag {capture} -============= - - - -```smarty -{capture $var} -This content will be captured into variable $var -{/capture} -``` - - -```smarty -{capture|stip_tags $var} -This content will be captured into variable $var and all tags will be stripped -{/capture} -``` \ No newline at end of file diff --git a/docs/tags/raw.md b/docs/tags/raw.md new file mode 100644 index 0000000..903b33c --- /dev/null +++ b/docs/tags/raw.md @@ -0,0 +1,36 @@ +Tag {raw} [RU] +================== + +Тег `{raw }` позволяет не экранировать результат выражения если включена глобальная настройка экранирование вывода или выражение распологасется в экранироуемой области. + +```smarty +{autoescape true} + ... + {$var|up} {* escape *} + {raw $var|up} {* unescape *} + ... + {"name is: {$name|low}"} {* escape *} + {raw "name is: {$name|low}"} {* unescape *} + ... +{/autoescate} +``` + +Для результатов функций так же может быть отключено экранирование: + +```smarty +{autoescape true} + ... + {my_func page=5} {* escape *} + {raw:my_func page=5} {* unescape *} + ... + {my_block_func page=5} + ... + {/my_block_func} {* escape *} + {raw:my_block_func page=5} + ... + {/my_block_func} {* unescape *} + ... +{/autoescate} +``` + +На компиляторы свойство raw не распространяется. \ No newline at end of file