в плагине linkify или abbr?
Linkify должен стать лучшей отправной точкой.
Вам потребуется изменить эту функцию:
Я только что реализовал интеграцию с Google Sheets API для @jrgong, чтобы данные из таблицы Google Sheets могли быть получены через linkify. Однако перед запуском в Meta над этим всё ещё нужно поработать.
В процессе я сделал форк TC. Меня интересует, можно ли в TC предоставить какой-либо хук для данных, чтобы переключать или добавлять источники данных из другого плагина или TC? Я могу оформить PR, но ранее не встречал подобного паттерна. Возможно, что-то вроде методов replaceDataSource или addDataSource в API плагинов.
Разве не проще просто добавить дополнительный параметр темы?
Новая настройка для чего?
Что касается интеграции с GSheets? Не уверен, что правильно понял ваш вопрос, но мне кажется, было бы проще, если бы вы могли отправить PR и объединить свои изменения с основным репозиторием.
Интеграция реализована в виде плагина, так как требуется аутентификация для получения данных из таблицы. Кроме того, данные необходимо кэшировать в базе данных, чтобы избежать вызовов API для каждого поста.
Если я напишу safe-mode здесь в мета-описании, он автоматически станет ссылкой на соответствующую тему (обратите внимание, что я не добавлял гиперссылки ни к одному слову, как видно на изображении, я просто написал safe-mode).
Это результат работы темы (добавление некоторых тем и соответствующих слов) или какая-то новая магия, о которой ещё не объявляли
?
Да, это компонент и очень удобный способ его использования
@codinghorror это вполне обоснованная причина для включения этой функции в ядро. Если бы она была в ядре, мы могли бы реализовать обратные ссылки для таких случаев. Сам компонент этого сделать не может, только плагины.
Это нормально, если это находится в области «Следящиеся слова», где оно и должно быть.
Я использую linkify для преобразования URL в партнерские ссылки, но недавно обнаружил, что он также преобразует адреса электронной почты пользователей.
Например: если у кого-то есть адрес вроде helen@amazon.com, а у меня настроена партнерская ссылка для Amazon (например, amazon.com/affiliate35),
то linkify преобразует адрес так: helen@amazon.com/affiliate35, и письма не доходят.
Если у кого-то есть идея, как исключить адреса электронной почты пользователей с помощью опций «исключённые теги» и «исключённые классы».
Спасибо.
Вот идея, которая может оказаться очень полезной и простой в реализации:
Как насчёт добавления третьего параметра для каждой строки — произвольного CSS-класса?
Так можно будет изменять внешний вид каждой отдельной ссылки.
В нашем конкретном случае нам нужен разный внешний вид для:
- ссылок на товары и даже категорий товаров — > партнёрские ссылки на магазины
- технических терминов — > записи в глоссарии
- внутренних страниц — > оглавление, FAQ, руководство для новичков и т. д.
Раньше мы просто устанавливали второй экземпляр компонента linkify и настраивали CSS-класс в этом компоненте. Такой подход не защищён от обновлений, и его приходится вручную править при каждом обновлении.
Кроме того, мы используем собственный форк с интеграцией Google Sheets для управления записями (спасибо @fzngagan и команде thepavillion ;))
Привет, @jrgong, мы ведём обсуждения и планируем запустить плагин для всех с инструкциями.
Привет, ребята
Как компонент темы обрабатывает частично совпадающие или пересекающиеся регулярные выражения?
В моём конкретном случае у меня есть следующие записи:
/super.?skunk/gi,https://link1.com
/skunk(?:(?: #?|#)?1)?/gi,https://link2.com
Для термина super skunk текущий вывод: Super Skunk
Желаемый результат: Super Skunk
Как этого добиться?
Вы можете попробовать изменить порядок регулярных выражений в настройках темы.
23.08.2020 в 19:06 отправитель jrgong через Discourse Meta <meta@discoursemail.com> написал:
Этот компонент темы работает только со списком статических сопоставлений между словами и URL, заданным в Google Таблицах или через панель администратора. А что, если бы существовал шаблон слов, связывающий их с URL с помощью JavaScript? Например, «Name1» было бы связано с «url/1.jpg», где соответствие между «Name1» и «1» всегда оставалось бы неизменным, но определялось бы через API?
Не совсем понятно, что вы имеете в виду, но компонент темы написан полностью на JS, так что вы можете изменить его по мере необходимости.
Можешь поделиться этим плагином?
На нашем сайте есть нечто подобное, что создал другой администратор.
Сайт посвящён языку программирования SWI-Prolog, и в постах мы регулярно ссылаемся на предикаты (аналогично методам в императивных языках), которые различаются количеством параметров — числом. Поэтому мы часто пишем append/2, append/3, append/2,3 и т. д. До появления этого плагина мы тратили заметное время на ручное вставка ссылок на документацию, например: append/2 append/3.
Когда имя предиката и его арность (количество параметров) объединяются, это называется индикатором предиката.
С плагином теперь достаточно просто ввести индикатор предиката, и ссылка добавится автоматически.
Наш сайт открыт, и у нас есть тестовая страница, демонстрирующая эту функциональность.
Смотрите: Пост для тестирования установленных тем и плагинов компонентов
( Автоматическая простановка ссылок на предикаты Prolog)
Плагин размещён на GitHub, но для его работы потребовались некоторые изменения на сервере документации.
Смотрите: jamesnvc/ discourse-linkify-prolog-predicates ![]()
Пожалуйста, не задавайте мне вопросов по этому поводу, я знаю лишь, что это работает. Да, я мог бы разобраться, если бы возникла необходимость, но это заняло бы несколько часов, которых у меня нет. ![]()
