Легкий язык разметки
Облегченный язык разметки ( LML ), также называемый простым или гуманным языком разметки , представляет собой язык разметки с простым, ненавязчивым синтаксисом. Он разработан таким образом, чтобы его можно было легко писать с помощью любого универсального текстового редактора и легко читать в исходном виде. Облегченные языки разметки используются в приложениях, где может потребоваться чтение необработанного документа, а также окончательного визуализированного вывода.
Например, человек, загружающий библиотеку программного обеспечения, может предпочесть читать документацию в текстовом редакторе, а не в веб-браузере. Другое применение таких языков — обеспечение ввода данных в веб-публикациях, таких как блоги и вики , где интерфейсом ввода является простое текстовое поле . Затем серверное программное обеспечение преобразует входные данные в общий язык разметки документов, например HTML .
История
[ редактировать ]Облегченные языки разметки изначально использовались только на текстовых дисплеях, которые не могли отображать символы курсивом или жирным шрифтом , поэтому необходимо было разработать неформальные методы передачи этой информации. Этот выбор форматирования, естественно, был распространен на сообщения электронной почты в виде простого текста. Консольные браузеры также могут прибегать к аналогичным соглашениям по отображению.
В 1986 году международный стандарт SGML предоставил средства для определения и анализа облегченных языков разметки с использованием грамматик и применения тегов. W3C 1998 года XML представляет собой профиль SGML, в котором эти возможности отсутствуют. Однако определение типа документа SGML (DTD) для любого из перечисленных ниже языков неизвестно.
Типы
[ редактировать ]Облегченные языки разметки можно классифицировать по типам тегов. Как HTML ( <b>bold</b>
), в некоторых языках используются именованные элементы, которые имеют общий формат начальных и конечных тегов (например, BBCode [b]bold[/b]
), тогда как правильные облегченные языки разметки ограничиваются знаками препинания, состоящими только из ASCII , и другими небуквенными символами для тегов, но некоторые также смешивают оба стиля (например, Textile bq.
) или разрешить встроенный HTML (например, Markdown ), возможно, расширенный пользовательскими элементами (например, MediaWiki <ref>'''source'''</ref>
).
Большинство языков различают разметку для строк или блоков и для более коротких фрагментов текста, но некоторые поддерживают только встроенную разметку.
Некоторые языки разметки предназначены для конкретной цели, например, для документирования компьютерного кода (например, POD , reST , RD ) или преобразования в определенный выходной формат (обычно HTML или LaTeX ), и ничего больше, другие имеют более общее применение. Это включает в себя то, ориентированы ли они на текстовое представление или на сериализацию данных. [ нужны разъяснения ]
Языки, ориентированные на представление, включают AsciiDoc , atx , BBCode , Creole , Crossmark, Djot , Epytext , Haml , JsonML , MakeDoc , Markdown , Org-mode , POD (Perl) , reST (Python) , RD (Ruby) , Setext , SiSU , SPIP. , Xupl, Текси! , Текстиль, txt2tags , UDO и Wikitext .
Языки, ориентированные на сериализацию данных, включают Curl ( гомоиконный , но также читает JSON; сериализуется каждый объект), JSON и YAML .
Сравнение языковых особенностей
[ редактировать ]Язык | Инструмент экспорта HTML | Инструмент импорта HTML | Таблицы | Названия ссылок | class атрибут | id атрибут | Дата выпуска |
---|---|---|---|---|---|---|---|
AsciiDoc | Да | Да | Да | Да | Да | Да | 2002-11-25 [1] |
BBCode | Нет | Нет | Да | Нет | Нет | Нет | 1998 |
креольский | Нет | Нет | Да | Нет | Нет | Нет | 2007-07-04 [2] |
Джот | Да | Да [3] | Да | Да | Да | Да | 2022-07-30 [4] |
драгоценный текст | Да | ? | Нет | Да | Нет | Нет | 2020 |
Маркдаун со вкусом GitHub | Да | Нет | Да | Да | Нет | Нет | 2011-04-28+ |
Обозначение форматирования Jira | Да | Нет | Да | Да | Нет | Нет | 2002+ [5] |
Уценка | Да | Да | Нет | Да | Да/Нет | Да/Нет | 2004-03-19 [6] [7] |
Уценка Экстра | Да | Да | Да [8] | Да | Да | Да | 2013-04-11 [9] |
МедиаВики | Да | Да | Да | Да | Да | Да | 2002 [10] |
Мультимаркдаун | Да | Нет | Да | Да | Нет | Нет | 2009-07-13 |
Организационный режим | Да | Да [11] | Да | Да | Да | Да | 2003 [12] |
Пмвики | Да [13] | Да | Да | Да | Да | Да | 2002-01 |
POD | Да | ? | Нет | Да | ? | ? | 1994 |
реструктурированныйтекст | Да | Да [11] | Да | Да | Да | авто | 2002-04-02 [14] |
сеттекст | Да | Да | Нет | Да | Нет | Нет | 1992 [15] |
Слабый | Нет | Нет | Нет | Да | Нет | Нет | 2013+ [16] [17] |
ТиддлиВики | Да | Нет | Да | Да | Да | Нет | 2004-09 [18] |
Текстиль | Да | Нет | Да | Да | Да | Да | 2002-12-26 [19] |
Текси | Да | Да | Да | Да | Да | Да | 2004 [20] |
txt2tags | Да | Да [21] | Да [22] | Да | Да/Нет | Да/Нет | 2001-07-26 [23] |
Нет | Нет | Нет | Нет | Нет | Нет | 2016-03-16 [24] |
Собственный синтаксис Markdown не поддерживает атрибуты класса или атрибуты id; однако, поскольку Markdown поддерживает включение собственного HTML-кода, эти функции можно реализовать с помощью прямого HTML. (Некоторые расширения могут поддерживать эти функции.)
Собственный синтаксис txt2tags не поддерживает атрибуты класса или атрибуты идентификатора; однако, поскольку txt2tags поддерживает включение собственного HTML-кода в области с тегами, эти функции могут быть реализованы с использованием прямого HTML при сохранении в целевой HTML-файл. [25]
Сравнение особенностей реализации
[ редактировать ]Язык | Реализации | X HTML | Кон / Ла Текс | Документ | ODF | EPUB | ДОК (Х) | LML | Другой | Лицензия | |
---|---|---|---|---|---|---|---|---|---|---|---|
AsciiDoc | Питон , Руби , JavaScript , Java | XHTML | Латекс | Документ | ODF | EPUB | Нет | — | Справочная страница и т. д. | GNU GPL, Массачусетский технологический институт | |
BBCode | Перл , PHP , C# , Python , Руби | (Х)HTML | Нет | Нет | Нет | Нет | Нет | Нет | — | — | Общественное достояние |
креольский | PHP , Python , Руби , JavaScript [26] | Зависит от реализации | CC_BY-SA 1.0 | ||||||||
Джот | Lua (изначально), JavaScript , Пролог , Rust [3] | HTML | Латекс, Контекст | Документ | ODF | EPUB | РТФ | МедиаВики, reST | Страница руководства, S5 и т. д. | С | |
Маркдаун со вкусом GitHub | Хаскелл ( Пандок ) | HTML | Латекс, Контекст | Документ | ODF | EPUB | ДОКТОР | AsciiDoc , отдых | ОПМЛ | лицензия GPL | |
Ява , [27] JavaScript , [28] [29] [30] PHP , [31] [32] Питон , [33] Руби [34] | HTML [28] [29] [30] [32] [33] | Нет | Нет | Нет | Нет | Нет | Нет | — | — | Собственный | |
Уценка | Perl (изначально), C , [35] [36] Питон , [37] JavaScript , Хаскель , [11] Руби , [38] С# , Java , PHP | HTML | Латекс, Контекст | Документ | ODF | EPUB | РТФ | МедиаВики , reST | Страница руководства , S5 и т. д. | В стиле BSD и GPL (оба) | |
Уценка Экстра | PHP (изначально), Python , Ruby | XHTML | Нет | Нет | Нет | Нет | Нет | Нет | — | — | В стиле BSD и GPL (оба) |
МедиаВики | Перл , PHP , Хаскелл , Питон | XHTML | Нет | Нет | Нет | Нет | Нет | Нет | — | — | GNU GPL |
Мультимаркдаун | С , Перл | (Х)HTML | Латекс | Нет | ODF | Нет | ДОК, РТФ | — | ОПМЛ | Лицензия GPL , Массачусетский технологический институт | |
Организационный режим | Emacs Lisp , Ruby (только парсер), Perl , OCaml | XHTML | Латекс | Документ | ODF | EPUB [39] | DOCX [39] | Уценка | TXT , XOXO , iCalendar , Texinfo , man , вклад: groff , s5 ,eck.js, Разметка Confluence Wiki, [40] TaskJuggler , RSS , FreeMind | лицензия GPL | |
Пмвики | PHP | XHTML 1.0 Переходная версия, HTML5 | Нет | Дополнения для экспорта PDF | Нет | Нет | Модуль экспорта EPUB | Нет | — | — | GNU GPL |
POD | Перл | (X)HTML, XML | Латекс | Документ | Нет | Нет | РТФ | — | Страница руководства , простой текст | Художественная лицензия , лицензия Perl | |
реструктурированныйтекст | Питон , [41] [42] Хаскелл (Пандок) , Java , | HTML, XML | Латекс | Документ | ODF | EPUB | ДОКТОР | — | man , S5 , Devhelp , QT Help , CHM , JSON | Общественное достояние | |
Текстиль | PHP , JavaScript , Java , Perl , Python , Ruby , ASP , C# , Haskell | XHTML | Нет | Нет | Нет | Нет | Нет | Нет | — | — | Текстильная лицензия |
Текси! | PHP , С# | (Х)HTML | Нет | Нет | Нет | Нет | Нет | Нет | — | — | Лицензия GNU GPL v2 |
txt2tags | Питон , [43] PHP [44] | (X)HTML, SGML | Латекс | Документ | ODF | EPUB | ДОКТОР | Креольский , AsciiDoc , MediaWiki , МойнМойн , PmWiki , DokuWiki , Google Code Wiki | roff , man , MagicPoint , Lout, PageMaker , ASCII Art , TXT | лицензия GPL |
Сравнение упрощенного синтаксиса языка разметки
[ редактировать ]Синтаксис встроенного диапазона
[ редактировать ]Хотя обычно документируется, что текст выделен курсивом и полужирным шрифтом, большинство облегченных процессоров разметки выводят семантические элементы HTML. em
и strong
вместо. Моноширинный текст может привести либо к семантическому code
или презентационный tt
элементы. Лишь немногие языки делают различие, например Textile, или позволяют пользователю легко настраивать вывод, например Texy.
LML иногда различаются для разметки из нескольких слов, где некоторые требуют, чтобы символы разметки заменяли пробелы между словами ( инфикс ).В некоторых языках требуется один символ в качестве префикса и суффикса, в других — удвоенные или даже тройные, или же они поддерживают оба символа с несколько разным значением, например, с разными уровнями акцента.
HTML-вывод | <strong>strongly emphasized</strong> | <em>emphasized text</em> | <code>code</code> | смысловой |
---|---|---|---|---|
<b>bold text</b> | <i>italic text</i> | <tt>monospace text</tt> | презентационный | |
AsciiDoc | *bold text* | 'italic text' | +monospace text+ | Можно ли удвоить операторы для применения форматирования там, где нет границы слова (например, **b**old t**ex**t дает b old t ex t). |
_italic text_ | `monospace text` | |||
BBCode | [b]bold text[/b] | [i]italic text[/i] | [code]monospace text[/code] | Форматирование работает с разрывами строк. |
креольский | **bold text** | //italic text// | {{{monospace text}}} | Тройные фигурные скобки предназначены для nowiki , который необязательно является моноширинным. |
Джот | *bold text* | _italic text_ | `monospace text` | |
драгоценный текст | — | — | ```alt text | Текст, следующий сразу за первыми тремя обратными кавычками, является альтернативным текстом. |
Обозначение форматирования Jira | *bold text* | _italic text_ | {{monospace text}} | |
Уценка [45] | **bold text** | *italic text* | `monospace text` | семантические HTML-теги |
__bold text__ | _italic text_ | |||
МедиаВики | '''bold text''' | ''italic text'' | <code>monospace text</code> | в основном прибегает к встроенному HTML |
Организационный режим | *bold text* | /italic text/ | =code= | |
~verbatim~ | ||||
Пмвики | '''bold text''' | ''italic text'' | @@monospace text@@ | |
отдых | **bold text** | *italic text* | ``monospace text`` | |
Сетекст | **bold text** | ~italic text~ | `monospace text` | |
Текстиль [46] | *strong* | _emphasis_ | @monospace text@ | семантические HTML-теги |
**bold text** | __italic text__ | презентационные HTML-теги | ||
Текси! | **bold text** | *italic text* | `monospace text` | семантические HTML-теги по умолчанию, дополнительная поддержка презентационных тегов |
//italic text// | ||||
ТиддлиВики | ''bold text'' | //italic text// | `monospace text` | |
``monospace text`` | ||||
txt2tags | **bold text** | //italic text// | ``monospace text`` | |
POD | B<bold text> | I<italic text> | C<monospace text> | Текст с отступом также отображается как моноширинный код. |
Слабый | *bold text* | _italic text_ | `monospace text` | ```block of monospaced text``` |
*bold text* | _italic text_ | ```monospace text``` |
Gemtext не имеет встроенного форматирования, моноширинный текст (называемый предварительно отформатированным текстом в контексте Gemtext) должен иметь открывающий и закрывающий ```
по своим линиям.
Синтаксис акцента
[ редактировать ]В HTML текст выделяется с помощью <em>
и <strong>
типы элементов, тогда как <i>
и <b>
традиционно выделяют текст курсивом или полужирным шрифтом соответственно.
Microsoft Word и Outlook и, соответственно, другие текстовые процессоры и почтовые клиенты, которые стремятся к аналогичному пользовательскому интерфейсу, поддерживают базовое соглашение об использовании звездочек для жирного шрифта и подчеркиваний для курсива. Хотя Word удаляет символы, Outlook сохраняет их.
Код | AsciiDoc | АТХ | креольский | Да | Уценка | МедиаВики | Организационный режим | Пмвики | отдых | Сетекст | Слабый | Текстиль | Текси! | ТиддлиВики | txt2tags | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
*italic* | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Да | Нет | Нет | Нет | Да | Нет | Нет | Нет |
**italic** | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
_italic_ | Да | Да | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет | Да | Да | Нет | Нет | Нет | Да |
__italic__ | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет |
'italic' | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
''italic'' | Да | Нет | Нет | Нет | Нет | Да | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
/italic/ | Нет | Нет | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
//italic// | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Да | Да | Да | Нет |
~italic~ | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет |
Код | AsciiDoc | АТХ | креольский | Да | Уценка | МедиаВики | Организационный режим | Пмвики | отдых | Сетекст | Слабый | Текстиль | Текси! | ТиддлиВики | txt2tags | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
*bold* | Да | Да | Нет | Да | Нет | Нет | Да | Нет | Нет | Нет | Да | Да | Нет | Нет | Нет | Да |
**bold** | Да | Нет | Да | Нет | Да | Нет | Нет | Нет | Да | Да | Нет | Да | Да | Нет | Да | Нет |
__bold__ | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
''bold'' | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Да | Нет | Нет |
'''bold''' | Нет | Нет | Нет | Нет | Нет | Да | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
Редакционный синтаксис
[ редактировать ]В HTML удаленный или удаленный и вставленный текст помечается значком <del>
и <ins>
типы элементов соответственно. Однако устаревшие типы элементов <s>
или <strike>
и <u>
по-прежнему доступны для зачеркнутых и подчеркнутых фрагментов текста.
Код | Да | Уценка | Организационный режим | Сетекст | ТиддлиВики | txt2tags |
---|---|---|---|---|---|---|
_underline_ | Нет | Необязательный | Да | Да | Нет | Нет |
__underline__ | Нет | Необязательный | Нет | Нет | Да | Да |
+underline+ | Да | Нет | Нет | Нет | Нет | Нет |
AsciiDoc, ATX, Creole, MediaWiki, PmWiki, reST, Slack, Textile, Texy! и WhatsApp не поддерживают специальную разметку для подчеркивания текста. Однако Textile поддерживает вставку через +inserted+
синтаксис.
Код | Да | Уценка | Организационный режим | Слабый | Текстиль | ТиддлиВики | txt2tags | |
---|---|---|---|---|---|---|---|---|
~stricken~ | Нет | Нет | Нет | Да | Нет | Нет | Нет | Да |
~~stricken~~ | Нет | ГФМ | Нет | Нет | Нет | Да | Нет | Нет |
+stricken+ | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет |
-stricken- | Да | Нет | Нет | Нет | Да | Нет | Нет | Нет |
--stricken-- | Нет | Нет | Нет | Нет | Нет | Нет | Да | Нет |
AsciiDoc, ATX, Creole, MediaWiki, PmWiki, reST, Setext и Texy! не поддерживают специальную разметку для зачеркивания текста.
Синтаксис программирования
[ редактировать ]Цитируемый компьютерный код традиционно представляется шрифтами, похожими на пишущие машинки, где каждый символ занимает одинаковую фиксированную ширину. HTML предлагает семантику <code>
и устаревший презентационный <tt>
типы элементов для этой задачи.
Код | AsciiDoc | АТХ | креольский | драгоценный текст | Да | Уценка | Организационный режим | Пмвики | отдых | Слабый | Текстиль | Текси! | ТиддлиВики | txt2tags | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@code@ | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет |
@@code@@ | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
`code` | Да | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Да | Нет | Да | Да | Нет | Нет |
``code`` | Да | Нет | Нет | Нет | Нет | Да | Нет | Нет | Да | Нет | Нет | Нет | Да | Да | Нет |
```code``` | Нет | Нет | Нет | Да | Нет | Да | Нет | Нет | Нет | Да/Нет | Нет | Нет | Да | Нет | Да |
=code= | Нет | Нет | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
~code~ | Нет | Нет | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
+code+ | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
++code++ | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
{{code}} | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
{{{code}}} | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
|code| | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
;;code;; |
Mediawiki и Gemtext не предоставляют упрощенную разметку для встроенных фрагментов кода.
Синтаксис заголовка
[ редактировать ]Заголовки обычно доступны на шести уровнях, но верхний часто зарезервирован и содержит то же самое, что и заголовок документа, который можно установить извне. В некоторой документации уровни могут быть связаны с типами подразделений, например, часть, глава, раздел, статья или параграф.
Большинство LML используют один из двух стилей заголовков: Setext подчеркивание в стиле atx . или в стиле [47] маркеры линий, или они поддерживают и то, и другое.
Подчеркнутые заголовки
[ редактировать ]Level 1 Heading===============Level 2 Heading---------------Level 3 Heading~~~~~~~~~~~~~~~
В первом стиле используются подчеркивания, т.е. повторяющиеся символы (например, равно =
, дефис -
или тильда ~
, обычно не менее двух или четырех раз) в строке под текстом заголовка.
Символы: | = | - | ~ | * | # | + | ^ | _ | : | " | ' | ` | . | минимальная длина |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Уценка | 1 | 2 | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | 1 |
Сетекст | 1 | 2 | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | ? |
AsciiDoc | 1 | 2 | 3 | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | 2 |
Текси! | 3 | 4 | Нет | 2 | 1 | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | 3 |
реструктурированныйтекст | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | ширина заголовка |
RST динамически определяет уровни заголовков, что, с одной стороны, делает авторскую разработку более индивидуальной, но с другой стороны усложняет слияние из внешних источников.
Префиксные заголовки
[ редактировать ]# Level 1 Heading## Level 2 Heading ##### Level 3 Heading ###
Второй стиль основан на повторяющихся маркерах (например, хеше #
, равно =
или звездочка *
) в начале самого заголовка, где количество повторов указывает на (иногда обратный) уровень заголовка. Большинство языков также поддерживают дублирование маркеров в конце строки, но в то время как некоторые делают его обязательным, другие даже не ожидают совпадения их номеров.
Характер: | = | # | * | ! | + | Суффикс | Уровни | Отступ |
---|---|---|---|---|---|---|---|---|
AsciiDoc | Да | Нет | Нет | Нет | Нет | Необязательный | 1–6 | Нет |
креольский | Да | Нет | Нет | Нет | Нет | Необязательный | 1–6 | Нет |
драгоценный текст | Нет | Да | Нет | Нет | Нет | ? | 1–3 | Нет |
МедиаВики | Да | Нет | Нет | Нет | Нет | Да | 1–6 | Нет |
ТиддлиВики | Нет | Нет | Нет | Да | Нет | Нет | 1–6 | Нет |
txt2tags | Да | Нет | Нет | Нет | Да | Да | 1–6 | Нет |
Уценка | Нет | Да | Нет | Нет | Нет | Необязательный | 1–6 | Нет |
Текси! | Да | Да | Нет | Нет | Нет | Необязательный | 6–1, динамический | Нет |
Организационный режим | Нет | Нет | Да | Нет | Нет | Нет | 1– +∞ | альтернатива [48] [49] [50] |
Пмвики | Нет | Нет | Нет | Да | Нет | Необязательный | 1–6 | Нет |
Режим организации поддерживает отступы как средство указания уровня.
BBCode вообще не поддерживает заголовки разделов.
POD и Textile вместо этого выбирают HTML-соглашение о нумерованных уровнях заголовков.
Язык | Формат |
---|---|
POD | =head1 Level 1 Heading=head2 Level 2 Heading |
Текстиль , [46] Да [5] | h1. Level 1 Headingh2. Level 2 Headingh3. Level 3 Headingh4. Level 4 Headingh5. Level 5 Headingh6. Level 6 Heading |
Microsoft Word поддерживает автоматическое форматирование абзацев как заголовков, если они содержат не более нескольких слов, не имеют точки в конце и пользователь дважды нажимает клавишу ввода. На более низких уровнях пользователь может нажать клавишу табуляции соответствующее количество раз перед вводом текста, т.е. от одной до восьми вкладок для уровней заголовков со второго по девятый.
Синтаксис ссылки
[ редактировать ]Гиперссылки можно добавлять либо внутри, что может загромождать код из-за длинных URL-адресов, либо с помощью именованных ссылок. alias
или пронумерован id
ссылки на строки, не содержащие ничего, кроме адреса и связанных с ним атрибутов, и часто могут располагаться в любом месте документа.Большинство языков позволяют автору указывать текст. Text
будет отображаться вместо простого адреса http://example.com
а некоторые также предоставляют методы для установки другого заголовка ссылки. Title
который может содержать дополнительную информацию о пункте назначения.
LML, предназначенные для особых настроек, например вики или документации по коду, могут автоматически генерировать именованные привязки (для заголовков, функций и т. д.) внутри документа, ссылаться на связанные страницы (возможно, в другом пространстве имен) или обеспечивать текстовый поиск по связанным ключевым словам. .
В большинстве языков для заключения ссылок используются (двойные) квадратные или угловые скобки, но вряд ли какие-либо два языка полностью совместимы. Многие из них могут автоматически распознавать и анализировать абсолютные URL-адреса внутри текста без дополнительной разметки.
Языки | Основной синтаксис | Синтаксис текста | Синтаксис заголовка |
---|---|---|---|
BBCode, креольский, MediaWiki, PmWiki | http://example.com | ||
Текстиль | "Text":http://example.com | "Text (Title)":http://example.com | |
Текси! | "Text .(Title)":http://example.com | ||
AsciiDoc | http://example.com[Text] | ||
Слабый | <http://example.com|Text> | ||
ТиддлиВики | [[Text|http://example.com]] | ||
Да | [http://example.com] | [Text|http://example.com] | |
txt2tags | [Text http://example.com] | ||
МедиаВики | [http://example.com Text] | ||
Креольский, MediaWiki, PmWiki | [[Name]] | [[Name|Text]] | |
Организационный режим | [[Name][Text]] | ||
ТиддлиВики | [[Text|Name]] | ||
креольский | [[Namespace:Name]] | [[Namespace:Name|Text]] | |
Организационный режим | [[Namespace:Name][Text]] | ||
Креольский, PmWiki | [[http://example.com]] | [[http://example.com|Text]] | |
BBCode | [url]http://example.com[/url] | [url=http://example.com]Text[/url] | |
Уценка | <http://example.com> | [Text](http://example.com) | [Text](http://example.com "Title") |
реструктурированныйтекст | `Text <http://example.com/>`_ | ||
сеттекст | ^.. _Link_name URL | ||
POD | L<http://example.com/> | L</Name> | |
драгоценный текст | => gemini://example.com | => gemini://example.com Text |
Ссылки Gemtext и Settext должны находиться на отдельной строке, их нельзя использовать внутри строки.
Языки | Синтаксис текста | Синтаксис заголовка |
---|---|---|
AsciiDoc | … [[id]] …<<id>> | … [[id]] …<<id,Text>> |
… anchor:id …xref:id | … anchor:id …xref:id[Text] | |
Уценка | … [Text][id] …[id]: http://example.com | … [Text][id] …[id]: http://example.com "Title" |
… [Text][] …[Text]: http://example.com | … [Text][] …[Text]: http://example.com "Title" | |
… [Text] …[Text]: http://example.com | … [Text] …[Text]: http://example.com "Title" | |
реструктурированныйтекст | … Name_ ….. _Name: http://example.com | |
сеттекст | … Link_name_ …^.. _Link_name URL | |
Текстиль | … "Text":alias …[alias]http://example.com | … "Text":alias …[alias (Title)]http://example.com |
Текси! | … "Text":alias …[alias]: http://example.com | … "Text":alias …[alias]: http://example.com .(Title) |
Обычный синтаксис ссылки режима организации выполняет текстовый поиск файла. Вы также можете указать специальные цели с помощью <<id>>
.
Синтаксис списка
[ редактировать ]HTML требует явного элемента для списка с указанием его типа и по одному для каждого элемента списка, но большинству облегченных языков разметки нужны только разные префиксы строк для пунктов списка или перечисляемых элементов. Некоторые языки используют отступы для вложенных списков, другие используют повторяющиеся маркеры родительских списков.
Персонажи: | * | - | + | # | . | · | • | _ | : | – | — | отступ | пропускать | гнездо |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Уценка | Да | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | 0–3 | 1–3 | отступ |
МедиаВики , ТиддлиВики | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | 0 | 1+ | повторить |
Организационный режим | Да [51] | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | 0+ | отступ | |
Да | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | 0 | 1+ | повторить |
драгоценный текст | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | 0 | 1+ | Нет |
Текстиль | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | 0 | 1+ | повторить |
Microsoft Word автоматически преобразует абзацы, начинающиеся со звездочки. *
, дефис-минус -
или скобка больше >
за которым следует пробел или горизонтальная табуляция в качестве элементов маркированного списка. Он также начнет нумерованный список для цифры 1 и букв без учета регистра a (для алфавитных списков) или i (для римских цифр), если за ними следует точка. .
, закрывающая круглая скобка )
, знак «больше» >
или дефис-минус -
и пробел или табуляция; в случае круглой скобки – необязательная открывающая (
до того, как маркер списка также поддерживается.
Языки различаются по тому, поддерживают ли они необязательные или обязательные цифры в нумерованных элементах списка, какие типы перечислителей они понимают (например, десятичная цифра 1 , римские цифры i или I , буквенные буквы a или A ), а также поддерживают ли они сохранение явных значений в выходных данных. формат. Например, некоторые диалекты Markdown будут учитывать начальное значение, отличное от 1, но игнорируют любое другое явное значение.
Символы: | + | # | #1 | 1. | 1) | 1] | 1} | (1) | [1] | {1} | a. | A. | i. | I. | отступ | пропускать | гнездо |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Уценка | Нет | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | 0–3 | 1–3 | отступ |
МедиаВики , ТиддлиВики | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | 0 | 1+ | повторить |
Организационный режим | Нет | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет | Необязательный | Нет | Нет | 0+ | отступ | ||
Да , Текстиль | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | 0 | 1+ | повторить |
Slack помогает пользователю вводить нумерованные и маркированные списки, но на самом деле не форматирует их как таковые, т.е. он просто включает в себя первую цифру, за которой следует точка и пробел или символ маркера. •
перед линией.
Языки | Срок определяется | Определение термина |
---|---|---|
МедиаВики | ; Term | : Definition |
Текстиль | ||
ТиддлиВики | ||
Организационный режим | - Term :: Definition |
Исторические форматы
[ редактировать ]Следующие облегченные языки разметки, хотя и похожи на некоторые из уже упомянутых, еще не добавлены в таблицы сравнения в этой статье:
- Эттекст : [52] около 2000
- Грутатекст : [53] около 2002 г.
См. также
[ редактировать ]- Сравнение языков разметки документов
- Сравнение генераторов документации
- Легкий язык программирования
- Уценка
- Викитекст
Ссылки
[ редактировать ]- ^ «Журнал изменений AsciiDoc» . Проверено 24 февраля 2017 г.
- ^ «Вики-креольские версии» . Проверено 24 февраля 2017 г.
- ^ Jump up to: а б "джот" . Проверено 26 августа 2023 г.
- ^ "джот 0.1.0" . Гитхаб . Проверено 26 августа 2023 г.
- ^ Jump up to: а б Джира. «Справка по обозначениям форматирования текста» . Атласиан . Проверено 22 декабря 2020 г.
- ^ «Уценка» . Аарон Шварц: Блог . 19 марта 2004 г.
- ^ «Дерзкий огненный шар: Маркдаун» . Архивировано из оригинала 2 апреля 2004 г. Проверено 25 апреля 2014 г.
- ^ «PHP Markdown Extra» . Мишель Фортен . Проверено 8 октября 2013 г.
- ^ «PHP Markdown: История» . Мишель Фортен . Проверено 23 декабря 2020 г.
- ^ «История Медиавики» . Проверено 24 февраля 2017 г.
- ^ Jump up to: а б с Pandoc , написанный на Haskell , парсит Markdown (в двух формах) и ReStructuredText , а также HTML и LaTeX; он записывает из любого из этих форматов в HTML , RTF , LaTeX , ConTeXt , OpenDocument , EPUB и несколько других форматов, включая (через LaTeX) PDF.
- ^ «Организационный режим для Emacs – ваша жизнь в простом тексте» . orgmode.org . Команда OrgMode . Проверено 9 декабря 2016 г.
- ^ «Поваренная книга PmWiki — Экспорт дополнений» . Проверено 7 января 2018 г.
- ^ «Введение в reStructuredText» . Проверено 24 февраля 2017 г.
- ^ «TidBITS в новом формате» . TidBITS . 6 января 1992 г. Проверено 1 июля 2022 г.
- ^ «Справочный центр Slack > Использование Slack > Отправка сообщений > Форматирование сообщений» . Проверено 7 августа 2018 г.
- ^ «Документация по Slack API: базовое форматирование сообщений» . Проверено 7 августа 2018 г.
- ^ «История ТиддлиВики» . tiddlywiki.com .
- ^ «Текстизм › Инструменты › Текстиль» . textism.com . Архивировано из оригинала 26 декабря 2002 года.
- ^ «Что такое Текси» . Проверено 24 февраля 2017 г.
- ^ «Модуль Html2wiki txt2tags» . cpan.org . Проверено 30 января 2014 г.
- ^ «Руководство пользователя Txt2tags» . Txt2tags.org . Проверено 24 февраля 2017 г.
- ^ «Журнал изменений txt2tags» . Проверено 24 февраля 2017 г.
- ^ «Часто задаваемые вопросы по WhatsApp: форматирование сообщений» . Проверено 21 ноября 2017 г.
- ^ «Руководство пользователя Txt2tags» . Txt2tags.org . Проверено 24 февраля 2017 г.
- ^ «Конвертеры» . Викикреольский . Проверено 8 октября 2013 г.
- ^ pegdown : библиотека Java для обработки Markdown.
- ^ Jump up to: а б gfms : Сервер Markdown со вкусом Github
- ^ Jump up to: а б помечено : полнофункциональный анализатор и компилятор уценки, написанный на JavaScript. Создан для скорости.
- ^ Jump up to: а б node-gfm : конвертер уценки в HTML со вкусом GitHub
- ^ Parsedown : анализатор Markdown, написанный на PHP.
- ^ Jump up to: а б Ciconia : парсер Markdown, написанный на PHP.
- ^ Jump up to: а б Grip : Мгновенный предварительный просмотр GitHub Readme
- ^ github-markdown : автономный парсер Markdown для GitHub.
- ^ peg-markdown реализация уценки в C. — это
- ^ Discount является реализацией уценки в C. также
- ^ «Питон-уценка» . Гитхаб.com . Проверено 8 октября 2013 г.
- ^ Брюс Уильямс < http://codefluency.com >, для Ruby Central < http://rubycentral.org >. «крамдаун: информация о проекте» . РубиФордж. Архивировано из оригинала 7 августа 2013 г. Проверено 8 октября 2013 г.
- ^ Jump up to: а б «Через ox-pandoc и сам пандок» . Гитхаб .
- ^ Атласиан. «Редактор Confluence 4.0 — что изменилось для пользователей вики-разметки (Вики-разметка Confluence мертва)» . Проверено 28 марта 2018 г.
- ^ Docutils — это реализация ReStructuredText на Python.
- ^ Sphinx — это реализация ReStructuredText в Python и Docutils с несколькими построителями выходных форматов.
- ^ Аурелио Харгас www.aurelio.net (11 января 2012 г.). «txt2tags» . txt2tags . Проверено 8 октября 2013 г.
- ^ «txt2tags.class.php — онлайн-конвертер [так в оригинале]» . Txt2tags.org . Проверено 8 октября 2013 г.
- ^ «Синтаксис уценки» . Daringfireball.net . Проверено 8 октября 2013 г.
- ^ Jump up to: а б Текстильный синтаксис. Архивировано 12 августа 2010 г. на Wayback Machine.
- ^ «atx, настоящий формат структурированного текста» Аарона Шварца (2002)
- ^ «Руководство организации: раздел «Чистое представление о структуре» » . Проверено 14 июня 2020 г.
- ^ «с использованием org-adapt-indentation» .
- ^ «с использованием режима org-indent или org-indent» .
- ^ Сноска в официальном руководстве «При использовании '*' в качестве маркера строки должны быть с отступом, чтобы они не интерпретировались как заголовки. Кроме того, когда вы скрываете ведущие звезды, чтобы получить четкое представление контура, элементы простого списка, начинающиеся со звезды может быть трудно отличить от настоящих заголовков. Короче говоря: даже несмотря на то, что «*» поддерживается, возможно, лучше не использовать его для элементов простого списка».
- ^ «EtText: Документация: Использование EtText» . ettext.taint.org . Проверено 30 июня 2022 г. родом из проекта WebMake [1] .
- ^ «Личная науфраджио: разметка Grutatxt» . triptico.com . Проверено 30 июня 2022 г. Формат общественного достояния (начиная с версии 2.20); первоначально использовался в системе Gruta CMS .
Внешние ссылки
[ редактировать ]- Скручивание в Wikibooks