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

Мне стало известно из достоверного источника, что существует глобальная настройка сайта, позволяющая принудительно конвертировать смайлики (например, :-)) в эмодзи (например, :slight_smile: ). Похоже, на этом сайте эта настройка отключена, что отлично для меня (я не хочу, чтобы :-/ конвертировался), но, вероятно, подходит и тем, кто предпочитает принудительную конвертацию, чтобы не возиться с всплывающим меню выбора.

Я считаю, что эту настройку лучше сделать индивидуальной. На самом деле, этот вопрос уже обсуждался на Emoji user preferences - #5 by sam ещё в 2014 году, но в прошлом году тема была закрыта без какого-либо видимого решения.

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

4 лайка

Я полностью согласен, есть некоторые настройки сайта, которые меня удивляют: почему администраторы должны выбирать за всех, вместо того чтобы позволить пользователям самим решать (у меня нет точного списка, но время от времени я нахожу что-то подобное, что меня смущает). Возможно, стоит добавить новую вкладку «Настройки публикаций», куда можно было бы вынести такие параметры, вместо того чтобы заставлять администраторов решать за вас.

3 лайка

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

Также я вижу проблему, если посты нужно будет пересобирать позже. Во-первых, пользователи меняют свои предпочтения чаще, чем администраторы меняют настройки, не осознавая последствий, поэтому старые посты могли быть написаны с другими настройками. Кроме того, для каждого отдельного поста придётся проверять автора и его предпочтения.

5 лайков

Имейте в виду, что это настройка редактора. Поэтому вполне логично, что она применяется только к смайликам :-), которые вы фактически вводите, и если в тексте уже есть другой смайлик, то автоматическое преобразование или всплывающее меню не срабатывают. И я думаю, что это уже так: я никогда не видел всплывающего меню при цитировании других людей, хотя не уверен, цитировал ли я когда-нибудь эмодзи. Но попробуйте процитировать это :slight_smile: и посмотрите, что получится у вас.

(Блин, либо кто-то изменил настройку, либо, что более вероятно, я ошибся, и эта конкретная версия Discourse действительно принудительно преобразует смайлики в эмодзи: мне удалось «обмануть» редактор, чтобы он не преобразовывал, но при публикации всё равно произошло преобразование.)

Я имею в виду, что когда я пишу :slight_smile: , это преобразуется в :slight_smile: . Но в моём сообщении всё ещё остаётся :)

Итак, когда я использую опцию «цитировать весь пост» в редакторе, я получаю

[quote="Moin, post:5, topic:407255, full:true"]
Я имею в виду, что когда я пишу :) , это превращается в :slight_smile: . Но в моём посте всё ещё остаётся `:)`
[/quote]

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

2 лайка

Как отмечает Moin, это было бы значительной технической задачей (при ограниченной ценности).

Когда-то давно (когда я был клиентом и управлял сайтом с пользователями, имеющими строгие предпочтения по Markdown), я сделал этот запрос, который имеет схожие проблемы: Advanced post option to override markdown linebreak setting

Он также остаётся в списке «хорошо бы иметь, но, вероятно, не будет реализовано».

Думаю, вы уже научились хитрости — используйте обратные кавычки.

Тем не менее, я слышу следующее:

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

Мы можем не иметь возможности их приоритизировать, но те, которые окажутся более ценными и менее сложными для изменения, будут легче подниматься в чьём-то списке.

2 лайка

Это странно запутывает. Если вы (или администратор) выбрали преобразование, почему оно хранится иначе? Глобальная настройка «хранить как это, но отображать как то» кажется ужасной, поскольку администратор может в любой момент изменить внешний вид вашего сообщения.

«Хранить то, что видит пользователь» — это не значительная техническая сложность. Может быть интересная сложность в обратной совместимости, но в таких случаях я склонен думать, что лучше сейчас решительно исправить это, чтобы интерпретация была ясной, а не пытаться иметь настраиваемые и изменяемые уровни значительной интерпретации над текстом, написанным пользователем.

В базе данных существует более одной версии сообщения. Например, когда я вставляю ссылку, я также вижу что-то вроде
https://discourse.org
в редакторе, и это же отображается позже, когда я редактирую сообщение.

Тем не менее, то, что вы видите, — это onebox с изображением, заголовком и кратким описанием:

Аналогичные функции срабатывают, когда я использую Marketplace, который после публикации выглядит не как простой #marketplace. Но мне нравится, что он не добавляет полную HTML-версию в мое сообщение. Это значительно усложнило бы вычитку и редактирование.

Таким образом, между Markdown-разметкой пользовательского ввода и скомпилированной HTML-версией, обычно отображаемой после публикации, существует больше различий.

2 лайка