03.02.2018       Выпуск 215 (29.01.2018 - 04.02.2018)       Статьи

Новый облегчённый язык разметки текста на основе парных кавычек (pq)

Я не могу объяснить, откуда пришла идея такого языка разметки, но то, что получилось в итоге — весьма… занятно.

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

Читать>>




Экспериментальная функция:

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

Просим обратить внимание, что текст по ссылке и здесь может не совпадать.

Изначально я планировал альтернативный вариант задания тегов. Вот такой:

[[H]Header/Заголовок[-H]]

или

[[H]Header/Заголовок[-]]

или

[[H]Header/Заголовок]

Соответственно, таблицы задавались тегом

[[T]...]

Разделитель столбцов был таким —

[]

Разделитель строк был таким —

[[]]

Пример таблицы:

[[Т]
A[]B[]C
[[]]
1[]2[]3
[-Т]]

или так:

[[Т]
[[]]A[]B[]C
[[]]1[]2[]3
[-Т]]

(Закрывающий тег

[-Т]

можно опустить.)

Но потом я вспомнил, что несколько вариантов выбора для одного и того же форматирования — это то, что мне не нравится в Markdown (например:

__так__

или

**так**

), и я решил, что оставлять два варианта форматирования в пк-разметке (

~‘...’

и

[[~]...]

) будет неправильно. А значит, имеет смысл оставить только одну форму записи — с кавычками

‘’

, так как она менее конфликтующая и является первой/основной идеей, положившей начало этой разметки текста {а то, что набирать символы кавычек

и

непривычно — я считаю, это не так страшно, так как

[с моей точки зрения]

важнее читаемость разметки и её

когнитивные

характеристики (легко понять/запомнить правила разметки, легко читать/воспринимать размеченный текст), а также снижение вероятности возникновения конфликтов (когда простой текст или формула

[ошибочно/]

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

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

‘’

(по аналогии с

[]

), но быстро одумался (ведь тогда возникает проблема с пустыми ячейками в самой таблице) и пришёл к нынешней форме записи:

Т‘
‘‘A’ ‘B’ ‘C’’
‘‘1’ ‘2’ ‘3’’



или так:

Т‘‘
‘A’ ‘B’ ‘C’
’‘
‘1’ ‘2’ ‘3’
’’





(Разумеется, эта форма записи не самая приятная для набора и я немало думал над тем, возможно ли её как-то упростить (или хотя бы дать возможность альтернативной более простой формы записи для таблиц, как в GitHub Flavored Markdown или в Habrahabr Flavored Markdown[к слову сказать, в большинстве реализаций Markdown не поддерживаются таблицы без заголовков]), но решил остановиться на нынешней форме записи, так как она итак достаточно лёгкая (по сравнению с HTML <table>) и при этом имеет неоспоримое преимущество[перед более простой формой записи]— возможность включать в ячейку таблицы всё что угодно (включая любые другие элементы разметки и даже вложенные таблицы), а также нынешняя форма записи даёт возможность использовать пробелы в начале и в конце строки любой ячейки таблицы (возможность спорная, но может пригодиться для экспорта таблиц баз данных).)
(Если кому интересно, вот история/‘как я пришёл к’ нынешней форме записи для объединения ячеек таблицы)

… не, решил спрятать в комментарий и не включать в статью, а если кому это и правда интересно, тогда смотрите исходник статьи.



Лучшая Python рассылка




Разместим вашу рекламу

Пиши: mail@pythondigest.ru

Нашли опечатку?

Выделите фрагмент и отправьте нажатием Ctrl+Enter.

Система Orphus