Tag Icons

Да, это именно проблема с группами тегов.

Да, я только что посмотрел, и это кажется довольно простым исправлением: ядру нужно использовать рендер тегов в выпадающем списке фильтра (это будет соответствовать выбору тегов в редакторе). Я займусь этим в ближайшее время.

3 лайка

Я только что заметил, что рендер категории также заменяется в выпадающем списке, который появляется при упоминании # в редакторе, показывая иконку категории из компонента темы. Однако рендер тегов отображается иначе, чем во всех остальных местах: рядом с названием тега показана иконка тега:

@pmusaraj, как вы думаете, возможно ли заставить этот рендер использовать тот, который заменяется компонентом темы?

Спасибо.

2 лайка

Да, думаю, что стандартизация этого имела бы смысл. Вы заинтересованы в том, чтобы поработать над PR по этому вопросу, @renato?

(Кстати, PR уже создан для выпадающего списка фильтров; он, вероятно, будет объединён на следующей неделе.)

4 лайка

Я начал использовать этот компонент для визуального предупреждения пользователей о том, что применение тега вызовет интеграцию с чатом.

Возможно ли также опционально окрашивать текст тега непосредственно из этого компонента? Я вижу ручной вариант на форуме здесь. Спасибо за отличный компонент!

edit: Также было бы полезно добавлять несколько иконок к тегу. Спасибо за внимание к этому предложению!

1 лайк

Это можно сделать с помощью SCSS в вашей теме; мы не планируем добавлять эту функциональность в сам компонент.

Также не планируется возможность использования нескольких иконок на один тег.

2 лайка

Привет, @pmusaraj

Есть ли уже какое-то обходное решение для установки иконки-заглушки для каждой группы тегов?

Возможно ли изменить иконки для всех тегов? Вместо маркеров использовать что-то другое? Если я правильно понял, этот компонент предназначен только для перечисленных тегов.

Найден ответ:

.discourse-tags .bullet:before { 
    background: transparent;
    content: svg-uri('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" version="1.1" style="shape-rendering:geometricPrecision;text-rendering:geometricPrecision;image-rendering:optimizeQuality;" viewBox="0 0 467 856.25" x="0px" y="0px" fill-rule="evenodd" clip-rule="evenodd"><defs><style type="text/css">.fil0 {fill:black}</style></defs><g><path class="fil0" d="M234 0c129,0 233,105 233,234 0,64 -26,122 -68,165l-165 286 -166 -286c-42,-43 -68,-101 -68,-165 0,-129 105,-234 234,-234zm0 125c50,0 90,40 90,90 0,50 -40,91 -90,91 -50,0 -91,-41 -91,-91 0,-50 41,-90 91,-90z"/></g></svg>'); 
    vertical-align:baseline;
}

Изображения иконок в формате SVG можно бесплатно скачивать с таких сайтов, как https://thenounproject.com/

1 лайк

Теги со списком + цвет тега

Если вы используете теги в виде маркированного списка и

  • хотите, чтобы иконка тега и текст тега имели одинаковый цвет
  • хотите отображать маркер только если иконка тега не установлена

вот как я это реализовал для тегов books и science-fiction:

Итоговый результат:

  1. Настройка компонента Tag icons (этого компонента)

  1. Настройка дополнительного компонента, который должен синхронизироваться с Tag Icons
    В этом компоненте мы делаем две вещи:
    1. Скрываем маркер для определённых тегов
    2. Красим текст тега в тот же цвет, что и иконка

Для этого создаём новый компонент темы: Tag Icons extra.
В разделе Common/CSS:

  1. Добавьте следующую миксин (нужна только один раз):
@mixin updateBulletTag ($col) {
    &.bullet {
        color: $col !important;
    }
    &.bullet::before {
        content: none !important;
    }
}
  1. Для каждого тега, который вы хотите изменить, вставьте следующее и замените REPLACEMETAG на имя тега, а REPLACEMECOLOR — на тот же цвет, что и у иконки:
[data-tag-name="REPLACEMETAG"] {
    @include updateBulletTag(REPLACEMECOLOR);
}

7 лайков

Сообщение об ошибке: в селекторе тегов поста иконки не окрашены:

Здесь иконки должны иметь тот же цвет, что и текст (текст — мой собственный CSS):

Моя конфигурация:

2 лайка

@pmusaraj У меня было около 50 тегов, к которым я добавил иконки примерно две недели назад. Я проверил свой список тегов сейчас, и у пяти из них иконки пропали… Даже если я удаляю их и ввожу заново, ничего не помогает. Возможно, попробую удалить все 50 тегов и затем снова ввести их все, чтобы посмотреть, поможет ли это, но мне бы не хотелось этого делать, так как это довольно утомительно…

Можете ли вы разместить скриншот ваших настроек, указав теги, значки которых перестали работать?

2 лайка

Хм, странно, что последние пять записей не работают. Можешь попробовать поменять местами одну из последних пяти записей с одной из предыдущих и посмотреть, что произойдёт? Похоже, что значение настройки где-то обрезается…

3 лайка

Просто к сведению: изначально проблема возникла не с последними пятью записями, которые перестали отображаться. Сначала исчезли пять якобы случайных записей, после чего я удалил их и ввёл заново, чтобы проверить, появятся ли они (но они не появились). Именно поэтому может показаться, что не отображаются последние несколько записей.

Тем не менее, я удалил тег «proof-verification» и ввёл его заново, чтобы он оказался в начале очереди. Он был оранжевым и по-прежнему остаётся оранжевым, отображается корректно. Похоже, проблема всё ещё касается только этих пяти записей…

Есть ли способ использовать эти переменные цвета для иконок тегов?

Вы можете использовать любой цвет для значков тегов.
tagicons
Или что вы имеете в виду?

Хороший вопрос, да, похоже, можно использовать пользовательские свойства CSS, это сработало у меня:

2 лайка

А, моя ошибка. Только что нашёл ошибку, и всё работает отлично. Круто, что это возможно!

1 лайк

Есть ли способ использовать PNG для иконки? У меня все изображения, которые я хочу использовать, в формате PNG, а конвертация в SVG их портит. К тому же, даже после конвертации иконки не загружаются.

У меня более 400 изображений, которые нужно было бы конвертировать, и учитывая, что я не могу даже одну конвертацию сделать правильно, было бы здорово иметь возможность просто использовать уже имеющиеся PNG.

Этот компонент не предназначен для работы с PNG-файлами. В вашем случае, скорее всего, достаточно использовать CSS.

2 лайка