Реализовал специальный тег spoiler, чтобы прятать куски текста. Работает при помощи новой возможности Jevix - cfgSetAutoPregReplace.

Круто, да?
Смысл в том, чтобы разобрать тег в определенном формате и разбить его на ссылку и скрытый блок. А затем показывать по клику.

Вот готовый рецепт: 1. Дописываем в правило cfgSetAutoPregReplace новую регулярку


// в первый массив правила
"\/<spoiler\\s{1,10}title=\"(.*)\">(.*)<\\\/spoiler>\/Uis"
// во второй
"<span class=\"spoiler_link\">$1<\/span><span class=\"spoiler\">$2<\/span>"

2. Разрешаем тег spoiler в правиле cfgAllowTags3. Добавляем обработку на jQuery


$(document).on('click', '.spoiler_link', function() {
    $(this).next('.spoiler').toggle();
        // можно убирать спойлер после клика
        //$(this).removeClass('spoiler_link');
})

4. и стиль CSS


.spoiler {display:none;}
.spoiler_link {border-bottom: 1px dashed #08C; cursor:pointer;}
.spoiler_link.active {border-bottom: none;}

Теперь можно использовать спойлеры вот так:


<spоiler title="Небольшая демонстрация">
    <prе>Круто, да?</prе>
</spоiler>

Этот пример не нужно копипастить - в нем поменяны английские "o" и "e" на русские, чтобы Jevix его не обработал.

← Предыдущая заметка
Как не чистить кэш всего сайта?
Следующая заметка →
Вывод тикетов пользователя
Комментарии (2)
it-developeВиталий Воропаев
02.12.2012 23:36

Да не плохо. Спасибо!

alexeytulaАлексей
15.04.2013 19:29

Вчера попробовал, работает!

Но вот если попробовать сделать 2 тега spoiler и video , то обломс. Обрабатывается только 1 из них! Таким образом спрятать видео под спойлер не получается...

futuris
Futuris
16.03.2023 17:04
Ок, вижу \core\vendor\vesp\core\src\Controllers Спасибо!
futuris
Futuris
14.03.2023 16:04
Была папка tmp, и удалял и переустанавливал ее - все без толку. Выше товарищ правильно написал, что ...
inetlover
Александр Наумов
22.02.2023 19:10
Спасибо! Да, мне здесь подучиться нужно.
bezumkin
Василий Наумкин
19.02.2023 19:49
Не такая уж тут активность в комментриях, чтобы что-то снижать - а удобнее будет, в первую очередь м...
inetlover
Александр Наумов
19.02.2023 15:12
Спасибо!
inetlover
Александр Наумов
06.02.2023 00:48
Ок, спасибо!
inetlover
Александр Наумов
28.01.2023 18:27
Классно, все работает!
inetlover
Александр Наумов
24.01.2023 18:31
Понял, спасибо!
inetlover
Александр Наумов
16.01.2023 16:41
Понял, спасибо!
bezumkin
Василий Наумкин
14.01.2023 05:16
Да, мне тоже нравится Vite и он по умолчанию используется в Vue 3 и Nuxt 3. Более того, он вроде как...