Сниппет Jevix

Предлагаю вашему вниманию мой новый сниппет — Jevix.

Это замечательная система фильтрации и типографирования, Разработанная в Тематических Медиа для собственных проектов (в частности Хабрахабр), которая позволяет решить вопрос с фильтраций контента.
Она поможет образумить криворукого менеджера или злого скрипт-кидди, распихивающего везде XSS.

Система не мешает сохранять контент, но фильтрует его при выводе. Таким образом, вы в любой момент можете менять правила на вашем сайте: разрешать определенные теги от одних юзеров, запрещать от других, отдельно фильтровать определенные ТВ или контент страницы.

В общем, вы можете передать любой текст или html код в параметр &input.
[[Jevix?
    &input=`[[*user_tv]]`
    &cfgAllowTags=`b,a,img`
    &cfgSetAutoLinkMode=`1`
]]

Теперь, сайты на MODX Revolution будут выглядеть еще лучше!

Все доступные параметры — на странице сниппета.
Демонстрация работы на сайте проекта.

Заказано и оплачено, вы-сами-знаете-кем.

Следующая заметка
Переписал MinifyX


Комментарии ()

  1. Alexey Naumov 29 августа 2012, 09:00 # 0
    На первый взгляд оооочень интересно!
    Что внутри? Насколько ресурсоемко? Поделитесь личным опытом использования
    1. Василий Наумкин 29 августа 2012, 09:07 # 0
      Внутри php версия Jevix, на странице сниппета есть все ссылки.

      Пока все летает, но «Войну и мир» фильтровать не пробовал. В любом случае — есть кэш MODX.
    2. Виталий Батушев 29 августа 2012, 09:34 # 0
      Здорово, давно хотел что-то такое.
      1. Виталий Батушев 29 августа 2012, 10:15 # 0
        Вот что плохо, так это отсутствие грепа в автозамене.
        1. Василий Наумкин 29 августа 2012, 10:18 # 0
          Операция тормозная, поэтому не для широкого использования.

          Но можно это делать своим плагином, например — https://gist.github.com/1992702
        2. seigiard@gmail.com 02 ноября 2012, 00:04 # 0
          Василий, помоему, параметр «cfgSetAutoBrMode» не работает.

          Мне не нужны
          , я прописывал cfgSetAutoBrMode=`0` или cfgSetAutoBrMode=`false` —
          так и ставятся

          MODX Revolution 2.2.4-pl, поставлен на сервер вашим скриптом, базовый шаблон, из пакетов только Jevix.
          1. AK 28 февраля 2013, 13:35 # 0
            +1
            cfgSetAutoBrMode=`0` ничего не меняет, так-же как и изменение значения в параметрах сниппета.
            1. Василий Наумкин 28 февраля 2013, 13:54 # 0
              Речь про использование сниппета отдельно, или в Tickets?

              Если второе, то параметры нужно менять в соответствующем наборе. Только что проверил — всё ок.
              1. AK 28 февраля 2013, 16:05 # 0
                Отдельно, вывод [[*content]] например. С наборами параметров не приходилось сталкиваться.

                Создал набор параметров Site, связь с элементом Jevix, в наборе указал cfgSetAutoBrMode — Нет
                не сработало…

                UPD.
                Разобрался. Вызов сниппета
                [[Jevix@Site? &input=`[[*content]]`]]
                Спасибо за подсказку.
          2. AK 28 февраля 2013, 16:05 # 0
            .
            1. Олег Трубин 17 июля 2013, 00:34 # 0
              Здравствуйте.
              Хочу закрыть в комментариях tickets все ссылки атрибутом rel=«nofollow»

              Иду в наборы параметров jevix, выбираю набор comments, и изменяю параметр cfgSetAutoReplace. После изменений он выглядит так:
              [["±","©","(с)","®","©","(С)","®","<pre class="prettyprint"","pre>","<a"],["±","©","©","®","©","©","®","<pre class=\"prettyprint\"","pre>","<a rel=\"nofollow\""]]
              Но почему-то автозамены не происходит. Может кто-то подскажет что я сделал не так?
              Кеш на сайте и в браузере чистил, на всякий случай — не помогает((.
              1. Василий Наумкин 17 июля 2013, 06:39 # 0
                Наверное, потому, что у тебя ссылки генерируются автоматматически, после этой замены.

                Тут нужно плагинчик для контента сделать, или обработать вывод своим снипптом после Jevix.
                1. Олег Трубин 17 июля 2013, 11:35 # 0
                  А, в таком случае, не подскажешь как в плагине на событие OnBeforeCommentSave добраться до текста создаваемого комментария?
                  1. Василий Наумкин 17 июля 2013, 11:38 # 0
                    Есть специальное событие — OnBeforeCommentSave.
                    1. Олег Трубин 17 июля 2013, 11:41 # 0
                      Дык, вот я и спрашиваю, как в этом событии текст нового комента получить и изменить.
                      1. Олег Трубин 17 июля 2013, 11:50 # 0
                        Всё, спасибо, через сниппет сделал
                2. Володя 16 сентября 2013, 22:59 # 0
                  Василий подскажи а можно каким то образом галочку — Выполнять теги MODX с тикетов прикрутить к обычному ресурсу? или это фишка только для них…
                  Ну вообще я заинтересовался как вывести в обычном ресурсе необработанные теги modx… что то никак не вкурю.(
                  Если в настроении — подскажи, будь добр!)
                  1. Василий Наумкин 16 сентября 2013, 23:04 # 0
                    Не знаю, это специальная фишка Tickets.

                    Можно сделать плагином, который будет парсить страницу перед выводом и менять скобочки.
                  Добавление новых комментариев отключено.