Post Badges

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


Поддержка локалей будет приоритетом №1 в следующий раз, когда у меня появится возможность заняться этим.

5 лайков

Хм, у меня всё ещё не отображается. Я удалил и добавил заново, в итоге развернул новый экземпляр с более мощными характеристиками.

1 лайк

Как добавляются иконки на ваши бейджи?

Для иконок fab и far нужно добавлять префикс. Для иконок fas можно использовать просто их название. Три указанные вами иконки должны выглядеть так:

fab-linode
laptop-code
pencil-ruler
3 лайка

Ах, вот в чём моя проблема, спасибо, бро :smiley:

3 лайка

Привет, Тейлор,

Мне понравилась твоя тема, и я использовал её на своём форуме.

У меня возникла небольшая проблема: при просмотре с телефона значок отображается слева от имени пользователя.

Я хотел бы переместить значок вправо от имени пользователя. Можешь помочь мне это сделать?

Я очень благодарен за твой вклад в сообщество.

3 лайка

Спасибо за сообщение, @Phạm_Quốc_Thiện! Всё должно быть исправлено после обновления компонента.

4 лайка

Для меня это было очень запутанно, так как создаётся впечатление, что система ищет в списке значков сайта, но не находит их. Я попробовал выполнить полную перезагрузку страницы, чтобы найти мои новые значки и так далее. Рад, что всё работает, но, возможно, интерфейс можно изменить: сделать обычное текстовое поле вместо неработающего поиска? Мне кажется, это сделало бы его менее запутанным в использовании.

Спасибо за отличный компонент темы.

2 лайка

Нормально ли получать сообщение «Эти локальные изменения будут удалены при обновлении. Вы уверены, что хотите продолжить?» при обновлении компонента темы? Я на 99,9% уверен, что не вносил никаких изменений, а информация о коммите git выглядит так, будто это связано с обновлением, а не с локальными изменениями:

diff --git a/discourse-post-badges/about.json b/discourse-post-badges/about.json
new file mode 100644
index 0000000..eb86c4b
--- /dev/null
+++ b/discourse-post-badges/about.json
@@ -0,0 +1,15 @@
+{
+  "name": "Post Badges",
+  "component": true,
+  "license_url": "https://github.com/tshenry/discourse-post-badges/blob/master/LICENSE",
+  "about_url": "https://meta.discourse.org/t/post-badges-component/114722",
+  "authors": null,
+  "theme_version": null,
+  "minimum_discourse_version": null,
+  "maximum_discourse_version": null,
+  "assets": {
+  },
+  "color_schemes": {
+  },
+  "learn_more": "https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966"
+}
\ No newline at end of file
diff --git a/common/common.scss b/discourse-post-badges/common/common.scss
similarity index 100%
rename from common/common.scss
rename to discourse-post-badges/common/common.scss
diff --git a/common/head_tag.html b/discourse-post-badges/common/head_tag.html
similarity index 100%
rename from common/head_tag.html
rename to discourse-post-badges/common/head_tag.html
diff --git a/discourse-post-badges/settings.yml b/discourse-post-badges/settings.yml
new file mode 100644
index 0000000..7e7e250
--- /dev/null
+++ b/discourse-post-badges/settings.yml
@@ -0,0 +1,21 @@
+badges:
+  type: list
+  default: ""
+  description:
+    en: 'Use the name of the badge as it appears on the
+      <a href="/admin/badges">list of badges</a>.
+      Post badges will appear in the order they are
+      added to this setting.'
+badge_link_destination:
+  type: enum
+  default: "user's badge page"
+  choices:
+    - "badge overview page"
+  description:
+    en: "Where a user will be taken when they click on a post badge."
+only_show_highest_trust_level:
+  type: bool
+  default: false
+  description:
+    en: "When including trust level badges (Basic, Member, Regular, Leader),
+      only show the highest trust level a user has earned."

Добавлено: Я выполнил обновление, и всё работает нормально. Так что…

Интерфейс настроек темы является общим для ядра Discourse, поэтому я не могу ничего сделать, чтобы улучшить эту настройку в самом компоненте. Это определенно то, что я хотел бы видеть более интуитивно понятным, а возможно, даже с возможностью динамического заполнения списка с функцией поиска в будущем.

Что касается уведомления о локальных изменениях, я не думаю, что оно должно предупреждать вас, если вы не вносили изменения с помощью кнопки Редактировать CSS/HTML. Вы используете старую версию Discourse? Мне кажется, что это поведение должно было быть исправлено в FIX: copy local theme changes to correct temp folder when diffing upd… · discourse/discourse@5cf5e73 · GitHub (cc @pmusaraj)

8 лайков

Да, старая версия. Спасибо.

4 лайка

Спасибо за вашу поддержку. Теперь всё отлично.

:smiling_face_with_three_hearts::smiling_face_with_three_hearts:

3 лайка

Мы используем новую функцию портфолио из плагина Topic List Preview и модифицировали код значка темы, чтобы ссылка с иконкой портфолио вела на профиль пользователя, а не на страницу значка:

        if(badge.url) {
            // переопределение Bart
            if(badge.name == 'portfolio' ) {
                username = badge.url.substring(badge.url.lastIndexOf('=') + 1);
                user_portfolio_url = '/u/' + username + '/activity/portfolio';
                iconBody = dec.h("a", { attributes: { href: user_portfolio_url } }, iconBody);
            } else {
              iconBody = dec.h("a", { attributes: { href: badge.url } }, iconBody);
            }
            // конец переопределения Bart
        }

Я понимаю, что этот код будет утерян при обновлении компонента, поэтому интересно, есть ли лучший способ сделать это? Можно ли, например, как-то переопределить функцию buildBadge?

Фоновая информация: мы хотим показывать эту иконку только пользователям, у которых ДЕЙСТВИТЕЛЬНО есть портфолио, то есть они создали хотя бы одну тему в нашей категории «Artwork». Это легко реализовать с помощью запроса к значкам, и поскольку мы уже используем компонент Post Badges на нашем сайте, такой подход казался разумным.

4 лайка

Можете добавить отдельную область, чтобы заголовки/имена всё ещё работали?

Что именно сейчас не работает?

На моём компьютере и телефоне я всё ещё вижу имя пользователя, имя, должность и значки.

2 лайка

О, хорошо, я только что проверил сайт создателя тем, и оказалось, что это не так,

продолжайте, мой добрый друг, и с Рождеством!

1 лайк

Ладно, я немного запутался. Я попробовал несколько вариантов, нажал «Создать», но они не появились в результатах поиска.

После этого появился лидер, но не «Locomotive Breath».

image

Может, у меня просто синдром «слишком мало читаю»?

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

И ещё:

вот здесь показывается URL.

а здесь — заголовок.

image

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

2 лайка

Мне нужен за это бейджик :pensive:

2 лайка

Я заметил, что значки уровня доверия отображают URL. Возможно, дело в этом.

Значок, содержащий только описание, отображается корректно.

2 лайка

@bartv, я определенно хотел бы провести улучшение и рефакторинг этого компонента в ближайшем будущем. Я посмотрю, что можно сделать, чтобы перестроить всё так, чтобы вы могли обрабатывать переопределения в отдельном компоненте темы. Не уверен, когда мне удастся заняться этим, но обязательно обновлю эту тему, как только появятся новости.


На данный момент — нет, но я буду иметь это в виду в следующий раз, когда буду работать над этим компонентом.


Верно, см.:

Когда я займусь обновлением этого компонента, посмотрю, смогу ли предложить более элегантное решение для этого.

7 лайков