Повышение точности котируемых котировок

Здравствуйте. Я относительно новый пользователь Discourse. Вот тред, который я создал ранее по поводу возникшей у меня проблемы:

Не знаю, является ли это ошибкой или нет. Я прошу о функции, которая позволяет сохранять точность уровней цитирования при цитировании фрагментов текста от кого-либо. Например, используя этот источник: A History of Pizza | History Today :

Пицца — самая любимая фаст-фуд в мире. Мы едим её повсюду — дома, в ресторанах, на углах улиц. Только в Соединённых Штатах ежегодно продаётся около трёх миллиардов пицц, что в среднем составляет 46 кусочков на человека. Однако история того, как простая пицца завоевала такое глобальное доминирование, многое говорит нам об истории миграции, экономики и технологических изменений.

Если я процитирую это так:


и нажму кнопку «Цитировать», то получу следующее:

Когда я цитирую только эту часть:

Получаю вот это:

Оно показывает, что я цитирую сам себя. Это неверно. Не отображается, что это цитата из цитаты.

5 лайков

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

В целом, я так думаю, да. Вот типичный сценарий, с которым я столкнулся и который пытаюсь решить:

Пицца — самое популярное фастфуд-блюдо в мире. Мы едим её повсюду — дома, в ресторанах, на углах улиц. Только в США ежегодно продается около трёх миллиардов пицц, в среднем по 46 кусков на человека. Но история того, как простая пицца завоевала такое глобальное доминирование, многое говорит нам об истории миграции, экономики и технологических изменений.

Вы хотите обратиться к/обсудить/указать именно на часть про три миллиарда пицц, поэтому делаете следующее:


Это отображается так:

Мне бы хотелось, чтобы это выглядело так:

Чтобы было видно, что цитируется уже цитируемый текст.

В других сценариях это уже работает, например:

1 лайк

Итак, вы спрашиваете, что функция цитирования должна включать контекст, «расширяя» начало выделения (без фактического копирования предыдущего текста) рекурсивно, пока не достигнет начала контекста.
Т.е. выделенный текст может находиться внутри <b>, который сам находится внутри <a>, который, в свою очередь, внутри цитаты, которая внутри родительской цитаты, и так далее.

Проблема, которую вы описываете, касается общей работы цитирования: если я выделю только часть вашей ссылки A History of Pizza | History Today, то будет процитирован текст, но ссылка (и сама цитата) будут опущены.

Кажется, хорошей идеей было бы включать такой контекст, но я чувствую, что это будет сложно реализовать :thinking:

2 лайка

Я бы не одобрил такого действия. То, что я выбираю, — это то, что я хочу процитировать, и программное обеспечение никогда не должно менять это. Всегда плохая идея, когда программа, то есть разработчик, думает, что знает лучше пользователя, и начинает что-то исправлять. Для таких дел у нас есть Microsoft и Windows :joy:

Это вопрос того, что предпочтительнее в данном случае, поскольку невозможно получить лучшее из обоих миров. Либо мы цитируем контекст, что может быть ценно, либо мы его опускаем, что может оказаться упущением. :person_shrugging:

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

Кажется, здесь возникло небольшое недопонимание. Возможно, это из-за того, как я это излагаю? Возьмём мои примеры выше:

Исходный текст:
Из A History of Pizza | History Today :

Пицца — самая любимая в мире еда быстрого приготовления. Мы едим её повсюду — дома, в ресторанах, на street corners. Только в США ежегодно продаётся около трёх миллиардов пицц, в среднем по 46 кусочков на человека. Однако история того, как скромная пицца завоевала такое глобальное доминирование, многое рассказывает о миграции, экономике и технологических изменениях.

Теперь предположим, что вы или кто-то другой захотите процитировать то, что я поделился, для обсуждения. Если вы процитируете напрямую меня и возьмёте только часть, как я упоминал, например, про миллиард пицц, то при нажатии кнопки «Цитировать» это отобразится так:

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

2 лайка

Что это делает:

Чего вы хотите:

Это сохраняет контекст, который в данном случае таков: «мир находится внутри ссылки, которая находится внутри цитаты, которая взята из сообщения этого пользователя».

2 лайка

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

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

Списки рассылки справляются с этим лучше. Обратите внимание, как я выделяю текст третьего уровня цитирования, а затем нажимаю «Ответить» в Mac Mail:

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

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

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

4 лайка

Посмотрите на этот пример:

Я выделил жирное слово, но получил совсем другое.

Почему? Потому что «под капотом» исходный текст выглядит как before **Bold sentence with words.** after, но это не отображается пользователю, который делает цитату. Он видит форматированный текст, выделяет жирное слово в этом формате и ожидает, что результат тоже будет жирным. Он не воспринимает это как выделение части текста в разметке Markdown, в которой отсутствуют звёздочки.

Также обратите внимание на это:

Вы называете это тем, что программа не меняет выделение и работает буквально. Но такие результаты имеют смысл только в контексте форматированного текста. Если говорить о лежащей в основе разметке Markdown, то программа изменила его. Мое выделение не включало закрывающие **, но программное обеспечение форума добавило их.

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

2 лайка

О какой теме вы хотите поговорить:

  • люди не умеют правильно оформлять цитаты, поэтому программа должна сама определять, какой объём текста следует цитировать
  • в цитате отсутствует разметка Markdown

Первый пункт — это то, с чем мы уже сталкивались. Второй пункт заслуживает отдельной темы в bug, Support или ux.

Это одна и та же проблема. Вы имеете в виду, что, по вашему мнению, слово «with» должно быть выделено жирным шрифтом в моём первом примере? Это то же самое, что и включение символа > из базового markdown, который применялся к выделенному тексту (с точки зрения отображаемого форматированного текста), но не был включён в выделение (с точки зрения исходного необработанного markdown).

Когда пользователь выделяет текст, нажимает кнопку «Цитата», а затем пишет под ней ответ, это не ошибка пользователя. Это не проблема неумения правильно цитировать. Они использовали предоставленный интерфейс вполне разумным образом. Однако иногда это приводит к некорректным цитатам.

Это совершенно разные вещи.

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

Второй случай — это сбой, при котором цитата не оформляется в Markdown, если это единственная процитированная часть. Сам текст при этом цитируется.

Это та же проблема:

Пользователь выделяет текст, отображаемый в формате rich text, где он явно видит, что это часть цитаты (так же, как видит, что текст выделен жирным). Затем он цитирует его, и разметка Markdown (> в данном случае, а не **) опускается, потому что он не выделил место, где в исходном коде Markdown находится этот символ >. В результате текст цитируется как обычный текст, а не как цитата, хотя для пользователя выделенный фрагмент выглядел как цитата. Таким образом, пользователь ошибочно приписывает текст Диккенса Эллиоту. Именно в этом заключается проблема, обсуждаемая в этой теме.

Правильная цитата, которую, по моему мнению, должна генерировать Discourse, выглядит так с увеличенным уровнем вложенности цитаты, точно так же, как это делали почтовые клиенты десятилетиями:

Это показывает, что Эллиот цитировал этот текст, а не писал его сам.

3 лайка

Я согласен, что это та же проблема,

Я не думаю, что включение контекста подразумевает, что ПО угадывает, какой объём текста следует процитировать.
Текст остаётся именно тем, что мы выделили — ни больше, ни меньше. Добавление контекста не означает добавление текста. Добавляется только форматирование.

4 лайка

Это не то, что просил автор поста.

Приведённый автором темы пример того, что происходит, и того, что они хотят, чтобы происходило, не содержит дополнительного текста, только форматирование:

5 лайков