Используйте стандартную иконку «Поделиться» для публикации поста (вместо иконки ссылки)

В последнее время иконка «Поделиться» стала более или менее стандартизированной в виде

или

Я считаю, что первый вариант является наиболее стандартным.

В Discourse иконка «Поделиться» представляет собой значок «ссылка» (цепочка ссылок). Это тоже работает хорошо, но, на мой взгляд, в настоящее время иконка узлов, показанная выше, узнаётся лучше всего.

Есть ли рекомендуемый способ изменить это?

1 лайк

Код по умолчанию должен быть таким:

<script type="text/discourse-plugin" version="0.8">
  api.replaceIcon('link', 'share-alt');
</script>

Странно, но это не работает. С другими иконками, которые используются рядом, например bookmark или flag, всё работает. Хотя link должно быть именем иконки.

@darkpixlz вы недавно писали о замене иконки ссылки на изображение торта в боковой панели.. использовали ли вы здесь другое имя иконки?

2 лайка

Спасибо, я тоже попробовал это (в заголовке), но это действительно не сработало.

Ваш код предназначен для редактирования этого элемента, верно?

<svg class="fa d-icon d-icon-d-post-share svg-icon svg-node" aria-hidden="true">
  <use xlink:href="#link">
  </use>
</svg>

То есть d-icon-d-post-share?

Извините, я довольно новичок в (современном) JavaScript / CSS.

1 лайк

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

Обновление: Я понял, что ты имеешь в виду. Это был обычный инспектор элементов, а не настоящий плагин.

2 лайка

Раньше использовалась иконка link, но она заменила иконку ссылки в местах, где иконка «Поделиться» не имела бы смысла (например, на кнопке панели форматирования для добавления ссылки).

Я только что протестировал код ниже, и он, кажется, работает как задумано:

api.replaceIcon('d-post-share', 'share-alt');
api.replaceIcon('d-topic-share', 'share-alt');

Первая команда заменяет иконку внутри сообщений, вторая — иконку кнопки «Поделиться» в нижней части темы.

5 лайков

Круто, @renato! Работает как по маслу :tada:

На самом деле external-link-alt тоже может хорошо смотреться..

3 лайка

Внешняя ссылка — это не то же самое, что и шеринг… как бы хорошо она ни выглядела :wink:

5 лайков

Хм… думаю, я бы не слишком переживал насчёт «этимологии» иконки :nerd_face:, а скорее о том, насколько она обычно используется в таком контексте. И здесь это, похоже, именно так, например, вот скриншот из Twitter:

image

Спасибо, Ренато. У меня иконка исчезает.

<script type="text/discourse-plugin" version="0.8">
  api.replaceIcon('d-post-share', 'share-alt');
  api.replaceIcon('d-topic-share', 'share-alt');
</script>

В заголовок через компонент темы (используя тему по умолчанию). Я получаю:

Мне нужно что-то ещё сделать? Возможно, иконки нужно добавить?

Что ж, было бы неплохо, если бы пользователи также понимали их назначение :wink:

Перейдите в настройки и найдите svg icon subset. Добавьте share-alt — и всё готово.

4 лайка

Круто, спасибо, @Jagster

2 лайка

Что ж, давайте согласимся не соглашаться. Я считаю, что значок «Поделиться» лучше передаёт суть действия, чем значок ссылки, но это лишь моё личное мнение. Кроме того, если вы используете мобильное устройство, это действие действительно откроет системный интерфейс «Поделиться», и я почти уверен, что подход со ссылкой используется только потому, что у нас пока нет полноценной поддержки Web Share API для десктопных версий.

Если я правильно понимаю комментарий от @Jagster, он не выступает против использования share-alt для всплывающего окна «внешняя ссылка плюс иконка обмена» на десктопе или интерфейса обмена ОС на мобильных устройствах. Скорее, он утверждает, что поскольку это функция обмена, использование иконки внешней ссылки не полностью охватывает её функционал.

Это моя интерпретация, я могу ошибаться.

1 лайк

О, я думаю, вы правы, и я совершенно упустил контекст…

Извините, @Jagster!

2 лайка