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

Привет,

похоже, больше нельзя добавлять вложения внутри таблиц. Есть идеи, как это исправить?

Пример:

Имя Файл
bla bla
[bla.docx
| Имя | Файл | 
| --- | --- | 
| bla | bla |
| | [bla.docx|attachment](upload://hu8jvVTNiCjzn5XmxXRnhUaRINy.docx) (22.4 KB) | 

Проблема в разделителе “|” между именем файла и функцией attachment.

Мне это очень нужно, чтобы всё оставалось чистым и упорядоченным.

Не уверен, есть ли способ исправить это, но если экранировать вертикальную черту с помощью \, всё заработает.

Имя Файл
bla bla
bla.docx (22.4 КБ)
| Имя | Файл |
| --- | --- |
| bla | bla |
| | [bla.docx\|attachment](upload://hu8jvVTNiCjzn5XmxXRnhUaRINy.docx) (22.4 КБ) |
6 лайков

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

Понимаю не совсем то, что вы предлагаете здесь?

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

Мне не нравится обходной путь с использованием вертикальной черты. Он неочевиден и по-прежнему конфликтует с таблицами Markdown в целом.

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

С уважением,

Вариант с предложением настройки или плагина, который меняет способ указания вложений с Markdown на HTML, отклонён. Вам следует обратиться в канал Marketplace. Старый формат создаёт множество проблем с переносимостью при загрузке файлов.

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

4 лайка

Можете привести пример?

Какова была цель изменить формат, не предоставив при этом rake-задачу или что-то подобное? (Для обновления старого кода…)

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

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

Я не углублялся в проблему с позицией курсора. Верю вам. Но это должно быть возможно, поскольку редактор, похоже, знает, где начинается и заканчивается таблица. Пока вы можете определить положение курсора в любом месте между этими границами, вы могли бы автоматически добавлять вертикальную черту (|) для загрузок. Разве нет?

Существует задача rake, которая называется:

rake posts:inline_uploads

Запускать эту задачу следует только в том случае, если у вас ранее возникали проблемы с загрузкой файлов или если вы планируете перенести хранилище с локального диска на S3.

100% наших размещённых сайтов используют inline-загрузку, так как это делает процесс загрузки более надёжным.

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

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

Думаю, мы могли бы реализовать поддержку чего-то вроде этого вместо барра, который устойчив к таблицам:

[bla.docx¦attachment](upload://hu8jvVTNiCjzn5XmxXRnhUaRINy.docx)

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

8 лайков

Экранирование слэшем — это нормально. Если вы занимаетесь чем-то таким продвинутым, экранирование слэша — не проблема.

6 лайков

Упорядочивание файлов — это продвинутая функция? :thinking:

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

Обновления Discourse снова и снова ломают основные функции. При этом никаких дополнительных предупреждений о конфликтах нет.

Мне очень нравится гибкая разработка и менеджер обновлений Docker. Но такое управление версиями постоянно сводит меня с ума.

Даже мелочи имеют значение.

Есть ли шанс, что инструмент загрузки будет автоматически добавлять символ экранирования при загрузке файла, который будет использоваться в таблице? Мне потребовалось около 20 минут, чтобы понять, что именно ломало мою таблицу и/или загрузку, из-за чего всё в статье о таблице пошло не так.

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

2 лайка

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

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

3 лайка