Lehký značkovací jazyk - Lightweight markup language
A lehký značkovací jazyk (LML), také nazývaný a jednoduchý nebo humánní značkovací jazyk, je značkovací jazyk s jednoduchým, nenápadným syntax. Je navržen tak, aby se snadno psal pomocí jakéhokoli obecného textový editor a snadno čitelný v surové podobě. Odlehčené značkovací jazyky se používají v aplikacích, kde může být nutné číst prvotní dokument i konečný vykreslený výstup.
Například osoba stahující softwarovou knihovnu může raději číst dokumentaci v textovém editoru než ve webovém prohlížeči. Další aplikací pro tyto jazyky je zajistit zadávání údajů v systému Windows webové publikování, jako webové blogy a wiki, kde je vstupní rozhraní jednoduché Textové pole. Serverový software poté převede vstup na společný značkovací jazyk dokumentu jako HTML.
Dějiny
Odlehčené značkovací jazyky se původně používaly pouze pro textové displeje, na kterých nebylo možné zobrazit znaky kurzíva nebo tučně, takže musely být vyvinuty neformální metody předávání těchto informací. Tato volba formátování byla přirozeně přenesena do e-mailové komunikace v prostém textu. Prohlížeče konzoly se mohou uchýlit k podobným konvencím zobrazení.
V roce 1986 mezinárodní standard SGML za předpokladu, že umožňuje definovat a analyzovat odlehčené značkovací jazyky pomocí gramatik a implikace značek. W3C z roku 1998 XML je profil SGML, který tyto možnosti vynechává. Žádný SGML definice typu dokumentu (DTD) pro některý z níže uvedených jazyků je znám.
Typy
Lehké značkovací jazyky lze kategorizovat podle typů značek. Jako HTML (<b>tučně</b>
), některé jazyky používají pojmenované prvky, které sdílejí společný formát pro počáteční a koncovou značku (např. BBCode [b]tučně[/ b]
), zatímco správné odlehčené značkovací jazyky jsou omezeny na ASCII - pouze interpunkční znaménka a jiné nepísmenné symboly pro tagy, ale některé také kombinují oba styly (např. Textil bq.
) nebo povolte vložený HTML (např. Snížení ), případně rozšířené o vlastní prvky (např. MediaWiki <ref>zdroj</ref>
).
Většina jazyků rozlišuje mezi značkami pro řádky nebo bloky a pro kratší rozpětí textů, ale některé podporují pouze vložené značení.
Některé značkovací jazyky jsou přizpůsobeny pro konkrétní účel, například pro dokumentaci počítačového kódu (např. LUSK, RD ) nebo jsou převedeny do určitého výstupního formátu (obvykle HTML) a nic jiného, jiné jsou v aplikaci obecnější. To zahrnuje, zda jsou orientovány na textovou prezentaci nebo na serializaci dat.[je zapotřebí objasnění ]
Mezi jazyky zaměřené na prezentaci patří AsciiDoc, atx, BBCode, Kreolský, Crossmark, Epytext, Haml, JsonML, MakeDoc, Markdown, Režim organizace POD zbytek, RD, Setext, SiSU, SPIP, Xupl, Texy!, Textil, txt2tags, UDO a Wikitext.
Mezi jazyky patří serializace dat Kučera (homoiconic, ale také čte JSON; každý objekt serializuje), JSON, a YAML.
Porovnání jazykových funkcí
Jazyk | Nástroj pro export HTML | Nástroj pro import HTML | Tabulky | Názvy odkazů | třída atribut | id atribut | Datum vydání |
---|---|---|---|---|---|---|---|
AsciiDoc | Ano | Ano | Ano | Ano | Ano | Ano | 25. listopadu 2002[1] |
BBCode | Ne | Ne | Ano | Ne | Ne | Ne | 1998 |
Kreolský | Ne | Ne | Ano | Ne | Ne | Ne | 4. července 2007[2] |
Markdown s příchutí GitHub | Ano | Ne | Ano | Ano | Ne | Ne | ? |
Snížení | Ano | Ano | Ne | Ano | Ano ne | Ano ne | 19. března 2004[3][4] |
Markdown Extra | Ano | Ano | Ano[5] | Ano | Ano | Ano | ? |
MediaWiki | Ano | Ano | Ano | Ano | Ano | Ano | 2002[6] |
MultiMarkdown | Ano | Ne | Ano | Ano | Ne | Ne | ? |
Režim organizace | Ano | Ano[7] | Ano | Ano | Ano | Ano | 2003[8] |
PmWiki | Ano[9] | Ano | Ano | Ano | Ano | Ano | Leden 2002 |
LUSK | Ano | ? | Ne | Ano | ? | ? | 1994 |
reStructuredText | Ano | Ano[7] | Ano | Ano | Ano | auto | 2. dubna 2002[10] |
Slack | Ne | Ne | Ne | Ano | Ne | Ne | [11][12] |
Textil | Ano | Ne | Ano | Ano | Ano | Ano | 26. prosince 2002[13] |
Texy | Ano | Ano | Ano | Ano | Ano | Ano | 2004[14] |
txt2tags | Ano | Ano[15] | Ano[16] | Ano | Ano ne | Ano ne | 26. července 2001[17] |
Ne | Ne | Ne | Ne | Ne | Ne | 16. března 2016[18] |
Markdownova vlastní syntaxe nepodporuje atributy třídy ani atributy id; protože však Markdown podporuje zahrnutí nativního kódu HTML, lze tyto funkce implementovat pomocí přímého HTML. (Některá rozšíření mohou tyto funkce podporovat.)
Vlastní syntaxe txt2tags nepodporuje atributy třídy ani atributy id; protože však txt2tags podporuje zahrnutí nativního kódu HTML do označených oblastí, lze tyto funkce implementovat pomocí přímého kódu HTML při ukládání do cíle HTML.[19]
Porovnání implementačních funkcí
Jazyk | Implementace | XHTML | Ošidit /Los AngelesTeX | DocBook | ODF | EPUB | DOC(X) | LML | jiný | Licence | |
---|---|---|---|---|---|---|---|---|---|---|---|
AsciiDoc | Krajta, Rubín, JavaScript, Jáva | XHTML | Latex | DocBook | ODF | EPUB | Ne | — | Man stránka atd. | GNU GPL, MIT | |
BBCode | Perl, PHP, C#, Krajta, Rubín | (X) HTML | Ne | Ne | Ne | Ne | Ne | Ne | — | — | Veřejná doména |
Kreolský | PHP, Krajta, Rubín, JavaScript[20] | Závisí na implementaci | CC_BY-SA 1.0 | ||||||||
Markdown s příchutí GitHub | Haskell (Pandoc ) | HTML | LaTeX, ConTeXt | DocBook | ODF | EPUB | DOC | AsciiDoc, zbytek | OPML | GPL | |
Jáva,[21] JavaScript,[22][23][24] PHP,[25][26] Krajta,[27] Rubín[28] | HTML[22][23][24][26][27] | Ne | Ne | Ne | Ne | Ne | Ne | — | — | Proprietární | |
Snížení | Perl (původně), C,[29][30] Krajta,[31] JavaScript, Haskell,[7] Rubín,[32] C#, Jáva, PHP | HTML | LaTeX, ConTeXt | DocBook | ODF | EPUB | RTF | MediaWiki, zbytek | Man stránka, S5 atd. | BSD styl a GPL (obojí) | |
Markdown Extra | PHP (původně), Krajta, Rubín | XHTML | Ne | Ne | Ne | Ne | Ne | Ne | — | — | BSD styl a GPL (obojí) |
MediaWiki | Perl, PHP, Haskell, Krajta | XHTML | Ne | Ne | Ne | Ne | Ne | Ne | — | — | GNU GPL |
MultiMarkdown | C, Perl | (X) HTML | Latex | Ne | ODF | Ne | DOC, RTF | — | OPML | GPL, MIT | |
Režim organizace | Emacs Lisp, Rubín (pouze analyzátor), Perl, OCaml | XHTML | Latex | DocBook | ODF | EPUB[33] | DOCX[33] | Snížení | TXT, XOXO, iCalendar, Texinfo, muž, přispět: groff, s5, deck.js, Confluence Wiki Markup,[34] TaskJuggler, RSS, Svobodná mysl | GPL | |
PmWiki | PHP | XHTML 1.0 Transitional, HTML5 | Ne | Doplňky pro export PDF | Ne | Ne | Doplněk exportu EPUB | Ne | — | — | GNU GPL |
LUSK | Perl | (X) HTML, XML | Latex | DocBook | Ne | Ne | RTF | — | Man stránka, prostý text | Umělecká licence, Perlova licence | |
reStructuredText | Krajta,[35][36] Haskell (Pandoc), Jáva, | HTML, XML | Latex | DocBook | ODF | EPUB | DOC | — | muž, S5, Devhelp, Nápověda QT, CHM, JSON | Veřejná doména | |
Textil | PHP, JavaScript, Jáva, Perl, Krajta, Rubín, ASP, C#, Haskell | XHTML | Ne | Ne | Ne | Ne | Ne | Ne | — | — | Textilní licence |
Texy! | PHP, C# | (X) HTML | Ne | Ne | Ne | Ne | Ne | Ne | — | — | Licence GNU GPL v2 |
txt2tags | Krajta,[37] PHP[38] | (X) HTML, SGML | Latex | DocBook | ODF | EPUB | DOC | Kreolský, AsciiDoc, MediaWiki, MoinMoin, PmWiki, DokuWiki, Google Code Wiki | roff, muž, MagicPoint, Klacek, PageMaker, ASCII čl, TXT | GPL |
Porovnání odlehčené syntaxe značkovacího jazyka
Ačkoli je obvykle dokumentován jako výtěžek kurzívou a tučným textem, většina odlehčených procesorů značek produkuje sémantické prvky HTML em
a silný
namísto. Neproporcionální text může mít za následek sémantiku kód
nebo prezentační tt
elementy. Několik jazyků rozlišuje, např. Textilní nebo umožňují uživateli snadno konfigurovat výstup, např. Texy.
LML se někdy liší pro víceslovné značení, kde některé vyžadují znaky mezery mezi slovy (infix) .Některé jazyky vyžadují jeden znak jako předponu a příponu, jiné vyžadují zdvojnásobení nebo dokonce ztrojnásobení nebo podporu obou s mírně odlišným významem, např. různé úrovně důrazu.
HTML výstup | <strong>strongly emphasized</strong> | <em>emphasized text</em> | <code>code</code> | sémantický |
---|---|---|---|---|
<b>bold text</b> | <i>italic text</i> | <tt>monospace text</tt> | prezentační | |
AsciiDoc | *tučné písmo* | 'kurzíva text' | monoprostorový text + | Může zdvojnásobit operátory pro použití formátování tam, kde není hranice slov (například **tučné písmo výnosy bstarý tnapřt). |
_italský text_ | `jednoprostorový text` | |||
ATX | *tučné písmo* | _italský text_ | | jednoprostorový text | | e-mailový styl |
Kreolský | **tučné písmo** | // kurzíva // | {{{monospace text}}} | Trojité složené závorky jsou pro nowiki což je volitelně monospace. |
Snížení[39] | **tučné písmo** | * kurzíva * | `jednoprostorový text` | sémantické značky HTML |
__tučné písmo__ | _italský text_ | |||
MediaWiki | '''tučné písmo''' | '' kurzíva text '' | <code>monospace text</code> | většinou se uchyluje k inline HTML |
Režim organizace | *tučné písmo* | / kurzíva text / | = kód = | |
~ doslovně ~ | ||||
PmWiki | '''tučné písmo''' | '' kurzíva text '' | @@ monospace text @@ | |
zbytek | **tučné písmo** | * kurzíva * | `` monoprostorový text`` | |
Setext | **tučné písmo** | ~ kurzíva ~ | N / A | |
Textil[40] | *silný* | _důraz_ | @monospace text @ | sémantické značky HTML |
**tučné písmo** | __italic text__ | prezentační značky HTML | ||
Texy! | **tučné písmo** | * kurzíva * | `jednoprostorový text` | ve výchozím nastavení sémantické značky HTML, volitelná podpora pro prezentační značky |
// kurzíva // | ||||
txt2tags | **tučné písmo** | // kurzíva // | `` monoprostorový text`` | |
LUSK | B | I | C | Odsazený text se také zobrazuje jako neproporcionální kód. |
BBCode | [b] tučný text [/ b] | [i] kurzíva [/ i] | [kód] jednoprostorový text [/ kód] | Formátování funguje přes konce řádků. |
Slack | *tučné písmo* | _italský text_ | `jednoprostorový text` | `` blok neproporcionálního textu``` |
*tučné písmo* | _italský text_ | `` monoprostorový text``` |
Microsoft Word a Outlook a podle toho i další textové procesory a poštovní klienti, kteří usilují o podobnou uživatelskou zkušenost, také podporují základní konvenci používání hvězdiček pro tučné písmo a podtržítka pro kurzívu. Zatímco Word znaky odstraní, Outlook je zachová.
Kód | AsciiDoc | ATX | Kreolský | Snížení | MediaWiki | Režim organizace | PmWiki | zbytek | Setext | Slack | Textil | Texy! | txt2tags | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
*tučně* | Ano | Ano | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ano | Ano | Ne | Ne | Ano |
**tučně** | Ano | Ne | Ano | Ano | Ne | Ne | Ne | Ano | Ano | Ne | Ano | Ano | Ano | Ne |
__tučně__ | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
'''tučně''' | Ne | Ne | Ne | Ne | Ano | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Kód | AsciiDoc | ATX | Kreolský | Snížení | MediaWiki | Režim organizace | PmWiki | zbytek | Setext | Slack | Textil | Texy! | txt2tags | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
* kurzíva * | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ano | Ne | Ne |
** kurzíva ** | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
_italic_ | Ano | Ano | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ano | Ano | Ne | Ne | Ano |
__italic__ | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne |
'kurzíva' | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
kurzíva | Ano | Ne | Ne | Ne | Ano | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
/ kurzíva / | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
// kurzíva // | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ano | Ano | Ne |
~ kurzíva ~ | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne |
Kód | AsciiDoc | ATX | Kreolský | Snížení | MediaWiki | Režim organizace | PmWiki | zbytek | Setext | Slack | Textil | Texy! | txt2tags | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
_zdůraznit_ | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne |
__zdůraznit__ | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ano | Ne |
Kód | AsciiDoc | ATX | Kreolský | Snížení | MediaWiki | Režim organizace | PmWiki | zbytek | Setext | Slack | Textil | Texy! | txt2tags | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
~ zasažený ~ | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ano |
~~ zasažený ~~ | Ne | Ne | Ne | GFM | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
+ zasažený + | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
- zasažený-- | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ano | Ne |
Kód | AsciiDoc | ATX | Kreolský | Snížení | MediaWiki | Režim organizace | PmWiki | zbytek | Setext | Slack | Textil | Texy! | txt2tags | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@kód@ | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne |
@@kód@@ | Ne | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
`kód` | Ano | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ano | Ne | Ne |
`` kód`` | Ano | Ne | Ne | Ano | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ano | Ne |
`` kód``` | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ano ne | Ne | Ne | Ne | Ano |
= kód = | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
~ kód ~ | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
+ kód + | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
++ kód ++ | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
{{{kód}}} | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
| kód | | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Syntax nadpisu
Nadpisy jsou obvykle k dispozici až v šesti úrovních, ale horní část je často vyhrazena tak, aby obsahovala stejnou část jako název dokumentu, který lze nastavit externě. Některá dokumentace může spojovat úrovně s divizními typy, např. část, kapitola, oddíl, článek nebo odstavec.
Většina LML se řídí jedním ze dvou stylů pro nadpisy Setext -jako podtržení nebo atx -jako[41] značky čáry, nebo podporují obě.
Podtržené nadpisy
Nadpis úrovně 1 =============== Nadpis úrovně 2 --------------- Nadpis úrovně 3 ~~~~~~~~~~~~ ~~~~
První styl používá podtržení, tj. Opakované znaky (např. Se rovná =
, pomlčka -
nebo vlnovku ~
, obvykle alespoň dvakrát nebo čtyřikrát) v řádku pod textem nadpisu.
Znaky: | = | - | ~ | * | # | + | ^ | _ | : | " | ' | ` | . | min |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Snížení | 1 | 2 | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | 1 |
Setext | 1 | 2 | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | ? |
AsciiDoc | 1 | 2 | 3 | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | 2 |
Texy! | 3 | 4 | Ne | 2 | 1 | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | 3 |
reStructuredText | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | šířka záhlaví |
RST určuje úrovně záhlaví dynamicky, což na jedné straně činí vytváření samostatnějších, ale na druhé straně komplikuje slučování z externích zdrojů.
Předpona nadpisů
# Nadpis úrovně 1 ## Nadpis úrovně 2 ##### Nadpis úrovně 3 ###
Druhý styl je založen na opakovaných značkách (např. Hash #
, rovná se =
nebo hvězdička *
) na začátku samotného kurzu, kde počet opakování označuje (někdy inverzní) úroveň kurzu. Většina jazyků také podporuje duplikaci značek na konci řádku, ale zatímco některé je činí povinnými, jiné ani neočekávají, že by se jejich počty shodovaly.
Charakter: | = | # | * | ! | + | Přípona | Úrovně | Odsazení |
---|---|---|---|---|---|---|---|---|
AsciiDoc | Ano | Ne | Ne | Ne | Ne | Volitelný | 1–6 | Ne |
ATX | Ne | Ano | Ne | Ne | Ne | Ne | neomezený | ? |
Kreolský | Ano | Ne | Ne | Ne | Ne | Volitelný | 1–6 | Ne |
MediaWiki | Ano | Ne | Ne | Ne | Ne | Ano | 1–6 | Ne |
txt2tags | Ano | Ne | Ne | Ne | Ano | Ano | 1–6 | Ne |
Snížení | Ne | Ano | Ne | Ne | Ne | Volitelný | 1–6 | Ne |
Texy! | Ano | Ano | Ne | Ne | Ne | Volitelný | 6–1 nebo 1–6, dynamické | Ne |
Režim organizace | Ne | Ne | Ano | Ne | Ne | Ne | 1– +∞ | alternativní[42][43][44] |
PmWiki | Ne | Ne | Ne | Ano | Ne | Volitelný | 1–6 | Ne |
POD a Textile místo toho volí konvenci HTML číslovaných úrovní záhlaví.
Režim organizace podporuje odsazení jako prostředek k indikaci úrovně.
BBCode nepodporuje záhlaví sekcí vůbec.
Jazyk | Formát |
---|---|
LUSK | = head1 nadpis úrovně 1 = head2 nadpis úrovně 2 |
Textil,[40] Jira[45] | h1. Nadpis úrovně 1h2. Nadpis úrovně 2h3. Nadpis úrovně 3h4. Nadpis úrovně 4 Nadpis úrovně 5 Nadpis úrovně 6 |
Microsoft Word podporuje automatické formátování odstavců jako nadpisů, pokud neobsahují více než hrst slov, na konci žádná tečka a uživatel dvakrát stiskne klávesu Enter. U nižších úrovní může uživatel před zadáním textu opakovaně stisknout klávesu tabulátoru, tj. Jednu až osm karet pro úrovně nadpisů dvě až devět.
Syntaxe odkazu
Hypertextové odkazy lze přidat přímo, což může kód přeplnit kvůli dlouhým adresám URL, nebo s názvem alias
nebo očíslované id
odkazy na řádky, které neobsahují nic jiného než adresu a související atributy a často se mohou nacházet kdekoli v dokumentu. Většina jazyků umožňuje autorovi zadat text Text
místo obyčejné adresy http://example.com
a některé také poskytují metody pro nastavení jiného názvu odkazu Titul
které mohou obsahovat více informací o cíli.
LML, které jsou přizpůsobeny pro speciální nastavení, např. dokumentace wikis nebo kódu, může automaticky generovat pojmenované kotvy (pro nadpisy, funkce atd.) uvnitř dokumentu, odkazovat na související stránky (případně v jiném jmenném prostoru) nebo poskytovat textové vyhledávání propojených klíčových slov.
Většina jazyků používá k ohraničení odkazů (dvojité) hranaté nebo hranaté závorky, ale téměř žádný ze dvou jazyků není zcela kompatibilní. Mnoho lidí dokáže automaticky rozpoznat a analyzovat absolutní adresy URL uvnitř textu bez dalších značek.
Jazyky | Základní syntaxe | Syntaxe textu | Syntaxe názvu |
---|---|---|---|
BBCode, kreolský, MediaWiki, PmWiki | http://example.com | ||
Textil | „Text“: http: //example.com | „Text (název)“: http: //example.com | |
Texy! | „Text. (Title)“: http: //example.com | ||
AsciiDoc | http://example.com [text] | ||
Slack | <http://example.com|Text> | ||
txt2tags | [http://example.com] | [Text http://example.com] | |
MediaWiki | [http://example.com Text] | ||
Creole, MediaWiki, PmWiki | [[Název]] | [[Název | Text]] | |
Režim organizace | [[Jméno] [Text]] | ||
Kreolský | [[Namespace: Name]] | [[Obor názvů: Název | Text]] | |
Režim organizace | [[Namespace: Name] [Text]] | ||
Kreolský, PmWiki | [[http://example.com]] | [[http: //example.com | Text]] | |
BBCode | [url] http://example.com [/ url] | [url = http: //example.com] Text [/ url] | |
Snížení | <http://example.com> | [Text] (http://example.com) | [Text] (http://example.com „Název“) |
reStructuredText | `Text | ||
LUSK | L | ||
LUSK | L |
Jazyky | Syntaxe textu | Syntaxe názvu |
---|---|---|
reStructuredText | ... Název_ ..... _Název: http://example.com | |
ATX | ... [Text] ... [Text] http://example.com | |
AsciiDoc | ... [[id]] ... < | ... [[id]] ... << id, Text >> |
... anchor: id ... xref: id | ... anchor: id ... xref: id [Text] | |
Snížení | ... [Text][id] ...[id]: http://example.com | ... [Text][id] ...[id]: http://example.com „Název“ |
... [Text][] ...[Text]: http://example.com | ... [Text][] ...[Text]: http://example.com „Název“ | |
... [Text] ...[Text]: http://example.com | ... [Text] ...[Text]: http://example.com „Název“ | |
Režim organizace | Normální syntaxe odkazu v režimu organizace provede textové vyhledávání souboru. Můžete také dát speciální cíle pomocí <<id>> . | |
Textil | ... "Text": alias ... [alias] http://example.com | ... "Text": alias ... [alias (název)] http://example.com |
Texy! | ... "Text": alias ... [alias]: http://example.com | ... „Text“: alias ... [alias]: http://example.com. (Název) |
Seznam syntaxe
HTML vyžaduje explicitní prvek pro seznam se specifikací jeho typu a jeden pro každou položku seznamu, ale většina lehkých značkovacích jazyků potřebuje pouze různé předpony řádků pro odrážky nebo vyjmenované položky. Některé jazyky spoléhají na vnořené seznamy pro odsazení, jiné používají opakované značky nadřazeného seznamu.
Postavy: | * | - | + | # | . | · | • | _ | : | – | — | Odrážka | přeskočit | hnízdo |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Snížení | Ano | Ano | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | 0–3 | 1–3 | Odrážka |
MediaWiki | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | 0 | 1+ | opakovat |
Režim organizace | Ano (s výhradami)[46] | Ano | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | 0+ | Odrážka |
Aplikace automaticky převede odstavce, které začínají hvězdičkou *
, pomlčka-minus -
nebo větší než závorka >
následuje mezera nebo vodorovný tabulátor jako položky seznamu odrážek. Spustí také výčet seznamu číslic 1 a malá a velká písmena A (pro abecední seznamy) nebo i (pro římské číslice), pokud za nimi následuje tečka .
, uzavírací kulatá závorka )
, znaménko větší než >
nebo pomlčka-minus -
a mezeru nebo tabulátor; v případě kulaté závorky volitelnou otevírací (
před značkou seznamu je také podporována.
Jazyky se liší v tom, zda podporují volitelné nebo povinné číslice v číslovaných položkách seznamu, kterým druhům výčtu rozumí (např. Desetinná číslice) 1, římské číslice i nebo Já, abecední písmena A nebo A) a zda podporují zachování explicitních hodnot ve výstupním formátu. Některé dialekty Markdown například budou respektovat počáteční hodnotu jinou než 1, ale ignorují jakoukoli jinou explicitní hodnotu.
Znaky: | #1 | 1. | 1) | 1] | 1} | (1) | [1] | {1} | A. | A. | i. | I. | Odrážka | přeskočit | hnízdo |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Snížení | Ne | 1 | 1 | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | 0–3 | 1–3 | Odrážka |
MediaWiki | # | Ne | Ne | Ne | Ne | Ne | Ne | Ne | (Nesouvisející složitější syntaxe)[47] | 0 | 1+ | opakovat | |||
Režim organizace | Ne | Ano | Ano | Ne | Ne | Ne | Ne | Ne | Volitelný | Ne | Ne | 0+ | Odrážka |
Slack pomáhá uživateli při zadávání výčtu a seznamů odrážek, ale ve skutečnosti je neformátuje jako takové, tj. Obsahuje pouze úvodní číslici následovanou tečkou a mezerou nebo znakem odrážky •
před čárou.
Viz také
- Lehký programovací jazyk
- Porovnání značkovacích jazyků dokumentů
- Porovnání generátorů dokumentace
- WikiText
- Snížení
Reference
- ^ "AsciiDoc ChangeLog". Citováno 2017-02-24.
- ^ „Verze WikiCreole“. Citováno 2017-02-24.
- ^ "Snížení". Aaron Swartz: Weblog. 2004-03-19.
- ^ „Daring Fireball: Markdown“. Archivovány od originál dne 2004-04-02. Citováno 2014-04-25.
- ^ „PHP Markdown Extra“. Michelf.com. Citováno 2013-10-08.
- ^ "Historie MediaWiki". Citováno 2017-02-24.
- ^ A b C Pandoc, který je napsán v Haskell, analyzuje Markdown (ve dvou formách) a ReStructuredText, stejně jako HTML a LaTeX; zapisuje z kteréhokoli z těchto formátů do HTML, RTF, Latex, Kontext, OpenDocument, EPUB a několik dalších formátů, včetně (přes LaTeX) PDF.
- ^ „Org mode for Emacs - Your Life in Plain Text“. orgmode.org. Tým OrgMode. Citováno 2016-12-09.
- ^ „Kuchařka PmWiki - Export doplňků“. Citováno 7. ledna 2018.
- ^ „Úvod do reStructuredText“. Citováno 2017-02-24.
- ^ „Centrum nápovědy Slack> Používání Slack> Odesílání zpráv> Formátování zpráv“. Citováno 2018-08-07.
- ^ "Dokumentace Slack API: Základní formátování zpráv". Citováno 2018-08-07.
- ^ "Textism› Nástroje ›Textil". textism.com. Archivovány od originál dne 26. prosince 2002.
- ^ „Co je Texy“. Citováno 2017-02-24.
- ^ „Modul Html2wiki txt2tags“. cpan.org. Citováno 2014-01-30.
- ^ „Uživatelská příručka Txt2tags“. Txt2tags.org. Citováno 2017-02-24.
- ^ "seznam změn txt2tags". Citováno 2017-02-24.
- ^ „WhatsApp FAQ: Formátování zpráv“. Citováno 2017-11-21.
- ^ „Uživatelská příručka Txt2tags“. Txt2tags.org. Citováno 2017-02-24.
- ^ „Převaděče“. WikiCreole. Citováno 2013-10-08.
- ^ ukotvit: Knihovna Java pro zpracování Markdown
- ^ A b gfms: Server Markdown s příchutí Github
- ^ A b výrazný: Plně vybavený analyzátor a kompilátor markdownů napsaný v JavaScriptu. Postaveno pro rychlost.
- ^ A b uzel-gfm: GitHub s příchutí markdown do převaděče HTML
- ^ Parsedown: Analyzátor Markdown napsaný v PHP
- ^ A b Ciconia: Analyzátor Markdown napsaný v PHP
- ^ A b Rukojeť: GitHub Readme Okamžitý náhled
- ^ github-markdown: Samostatný analyzátor Markdown pro GitHub
- ^ věšák-markdown je implementace snížení v C.
- ^ Sleva je také implementací snížení v C.
- ^ "Python-Markdown". Github.com. Citováno 2013-10-08.
- ^ Bruce Williams <http://codefluency.com >, pro Ruby Central <http://rubycentral.org >. "kramdown: Informace o projektu". RubyForge. Archivovány od originál dne 7. 8. 2013. Citováno 2013-10-08.
- ^ A b „Prostřednictvím ox-pandoc a samotného pandoc“.
- ^ Atlassian. „Editor Confluence 4.0 - Co se změnilo pro uživatele Wiki Markup (Confluence Wiki Markup je mrtvý)“. Citováno 2018-03-28.
- ^ Docutils je implementace ReStructuredText v Krajta
- ^ Sfinga je implementace ReStructuredText v Krajta a Docutils s řadou výstupních formátů Stavitelé
- ^ Aurelio Jargas www.aurelio.net (11.01.2012). „txt2tags“. txt2tags. Citováno 2013-10-08.
- ^ "txt2tags.class.php - online převodník [sic]". Txt2tags.org. Citováno 2013-10-08.
- ^ "Markdown Syntax". Daringfireball.net. Citováno 2013-10-08.
- ^ A b Textilní syntaxe Archivováno 2010-08-12 na Wayback Machine
- ^ „atx, skutečný formát strukturovaného textu“ od Aarona Swartze (2002)
- ^ „Manuál organizace: sekce“ Čistší pohled na obrys"". Citováno 14. června 2020.
- ^ „using org-adapt-indentation“.
- ^ „using org-indent-mode or org-indent“.
- ^ Atlassian Jira: Nápověda k formátování textu
- ^ Poznámka pod čarou v oficiálním manuálu „Při použití znaku„ * “jako odrážky musí být řádky odsazeny, aby nebyly interpretovány jako nadpisy. Když skryjete přední hvězdy, abyste získali čistý pohled na obrys, může být obtížné odlišit obyčejné položky seznamu začínající hvězdou ze skutečných nadpisů. Stručně řečeno: i když je znak * podporován, může být lepší ho nepoužívat pro položky prostého seznamu. “
- ^ Nápověda: Seznam # Změna typu seznamu