Это покрывает «номера TBI», вводимые пользователями во множестве различных форм:
TBI 17
TBI-17
TBI17
TBI -17
TBI*17
и т. д.
Мне нравится такая гибкость.
К сожалению, это не обрабатывает канонический способ ввода этих номеров:
TBI #17
Кажется, что ничего не поможет правильно сопоставить символ # (хештег, решётка, знак номера, октопорп, знак решётки, фунт, символ крестиков-ноликов). Я пробовал
естественно, но это не сработало; даже полный wildcard не помогает:
/TBI\s*.?(\d*)/,https://tbi.example.com/tbi/$1/
Мне кажется, что всплывающее меню категорий перехватывает этот процесс и не позволяет Linkify выполнить своё сопоставление — даже когда пользователь не выбирает ни одну из предложенных категорий.
Это ожидаемое поведение или ошибка? Знает ли кто-нибудь способ обойти это?
Да, если вы просмотрите исходный код HTML, то увидите, что Discourse помещает всё, что начинается с хештега, в отдельный элемент span, что нарушает поток темы linkify. Боюсь, простого решения здесь нет, извините. Придётся форкнуть тему и настроить её специально для этого случая, если только у кого-то нет лучшей идеи.
Полагаю, проблема в том, что плагин abbrify по умолчанию пропускает теги ссылок. Вы можете попробовать исправить это, изменив код: удалите строку 16 в head_tag.html
'a': 1,
Дайте знать, если это сработает или если вам понадобится дополнительная помощь.
Спасибо, интересно, можно ли сделать то же самое, но добавить другой класс вместо атрибута abriffy, например dfn data-info или span aria-label или что-то подобное.
Действительно хорошо. Мне нужно немного поиграть с этим.
Кажется, здесь открывается множество возможностей. Не знаете, как можно как-то использовать JSON и API в данном контексте?
Например, чтобы отображать слова из Ab riffy и другие данные на WordPress через API?
Я не совсем понимаю, что вы имеете в виду. Не могли бы вы конкретнее описать, чего вы пытаетесь достичь? Компоненты темы работают в Discourse, и для их использования в других местах нет API. Однако в большинстве случаев вы сможете использовать JavaScript-код, просто скопировав его в другое место и изменив части, специфичные для Discourse.
Вы можете попробовать добавить тег <aside> в настройки пропускаемых тегов. Хотя я не уверен, что все onebox-блоки размещены внутри тега <aside>. Возможно, нам понадобится фильтр по имени класса.
@sam, есть ли у вас какие-либо мысли по этому поводу? Это казалось бы разумным поведением по умолчанию (не создавать автоматические ссылки в onebox-блоках).
Привет! Сегодня я успешно установил этот компонент темы для моей темы по умолчанию Light. Однако он у меня не работает.
Я пробовал использовать регулярные выражения и слова по умолчанию для автоматического создания ссылок (discourse и meta). Ни один из вариантов не помог.
У меня установлена версия v2.3.0.beta2 +256. Не могли бы вы подсказать, как отладить эту проблему? Заранее спасибо
Похоже, это так и не было исправлено? Я думал, что смогу создать резервную копию, экспортировав компонент из административной панели, но при экспорте пользовательские настройки не включаются.
Идея: а что если настройка со всеми её строками превращается в редактируемое текстовое поле при двойном щелчке? Похоже на редакторы Изменить CSS/HTML? Это упростило бы создание резервных копий/экспорт, а также импорт списка элементов, где каждый элемент находится на отдельной строке.
Кстати: вы можете увидеть там странное регулярное выражение, но в этих полях настроек нельзя использовать символ |. Возможно, это можно решить с помощью предложенного выше решения.