GitHub уценки разделить строки таблицы источника - PullRequest
0 голосов
/ 22 декабря 2018

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

Примерно так:

| fooooooooooooo |\
| baaaaaaaaar \
| foooooooooooo \
| baaaaaaaaar \
| fooooooooooo |

1 Ответ

0 голосов
/ 25 декабря 2018

Короче говоря: Нет .

GitHub's spec не предусматривает разбиение строки на строки.Следует отметить описание строк:

Каждая строка состоит из ячеек, содержащих произвольный текст, в которых строки разбираются, разделенные трубками (|).Для ясности чтения рекомендуется использовать ведущую и конечную трубу, а также, если есть иная причина неоднозначности.Пространства между трубами и содержимым ячеек обрезаются.Элементы блочного уровня не могут быть вставлены в таблицу.

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

И тогда у нас возникает такая проблема:

Остальные строки таблицы могут различаться по количеству ячеек.Если количество ячеек меньше числа ячеек в строке заголовка, вставляются пустые ячейки.Если они больше, избыток игнорируется:

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

Наконец, в другом месте спецификация гласит:

Обратная косая черта в конце строки - это разрыв строки:

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

Таким образом, нет способа обернуть таблицустрока в нескольких строках.

Для сравнения рассмотрим MultiMarkdown , который имел поддержку одного и того же синтаксиса таблицы задолго до того, как GitHub предложил его.В документации MultiMarkdown прямо сказано:

Содержимое ячейки должно быть только в одной строке

Это поведение соответствует PHP Markdown Extra , который первым ввел синтаксис.На самом деле, мне неизвестно о какой-либо реализации этого конкретного синтаксиса таблицы, который поддерживает любой способ определения одной строки в нескольких строках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...