====== Podpora Markdownu ====== Od vydání [[devel:develonly|veze pro vývojáře]] může DokuWiki nativně parsovat [[https://github.github.com/gfm/|GitHub Flavored Markdown (GFM)]], a to společně s tradiční syntaxí DokuWiki nebo místo ní. Podpora Markdownu je nová a měla by být považována za částečně experimentální (viz chybějící části níže). ===== Nastavení syntaxe ===== Nová konfigurační volba ''[[config:syntax|$conf['syntax']]]'' určuje, který parser je aktivní: ^ Hodnota ^ Chování ^ | ''dw'' | Pouze syntaxe DokuWiki //(výchozí, nezměněné chování)// | | ''md'' | Pouze Markdown (GFM) | | ''dw+md'' | Obě syntaxe povoleny, při konfliktu má přednost DokuWiki | | ''md+dw'' | Obě syntaxe povoleny, při konfliktu má přednost Markdown | „Přednost“ určuje, který dialekt vyhraje v případě, že oba interpretují stejné znaky odlišně. Například ''%%__text__%%'' je v DokuWiki podtržení, ale v Markdownu silné zvýraznění (bold). ===== Podporované prvky Markdownu ===== Nativní parser pokrývá nejběžnější konstrukce GFM: * ATX nadpisy (''%%# Nadpis 1. úrovně%%'' až ''%%###### Nadpis 6. úrovně%%'') * Ohraničené bloky kódu (''%%```%%'' a ''%%~~~%%''), včetně info řetězců pro jazyk a název souboru * Citace (''>''), včetně obsahu uvnitř (seznamy, kód, tabulky) * Neuspořádané a číslované seznamy, včetně vlastního počátečního čísla (''%%5. položka%%'' → ''%%
    %%'') * Tabulky s oddělovačem ''|'' a zarovnáním sloupců * Přeškrtnutí (''%%~~text~~%%'') * Kurzíva a tučné (''%%*em*%%'', ''%%**strong**%%'', ''%%***oboje***%%'' a varianty s podtržítkem) * Inline úseky kódu (''%%`code`%%'' a ''%%``code``%%'') * Odkazy a obrázky, včetně formy „odkazovaný obrázek“ ''%%[![alt](img)](target)%%'' * Automatické odkazy * Tvrdé zalomení řádku (dvě koncové mezery nebo koncové zpětné lomítko) * Escapování zpětným lomítkem * HTML5 znakové entity Parametry médií DokuWiki fungují i v Markdownovém zápisu obrázků, např. ''%%![alt](image.png?200x100&right)%%'', a klíčová slova ''?left''/''?right''/''?center'' jsou dostupná pro zarovnání. ===== Co není podporováno ===== Některé prvky Markdownu/GFM jsou záměrně vynechány, většinou kvůli tomu, že DokuWiki používá jednoprůchodový parser: * Setext nadpisy (podtržené symbolem ''='' nebo ''-'') * Inline formátování uvnitř nadpisů (vyžadovalo by větší změny rendereru) * Seznamy úkolů (''%%- [ ]%%'') -> vhodnější jako plugin * GitHub emoji zkratky (''%%:smile:%%'') -> mohou být doplněny později * Průchod nezpracovaného HTML -> není podporováno v žádné syntaxi kvůli bezpečnosti * Různé okrajové případy CommonMarku (asymetrické běhy oddělovačů, „lazy continuation“, některé interakce s odsazeným kódem atd.) Úplný seznam vynechaných specifikací s vysvětlením je k dispozici v [[https://github.com/dokuwiki/dokuwiki/blob/master/_test/tests/Parsing/Markdown/gfm-spec/skip.php|testovací sadě]]. ===== Pluginy ===== Všechny existující syntaxové pluginy nadále fungují. DokuWiki stále používá stejné interní instrukce parseru a renderer API, takže výstup pluginů není ovlivněn nastavením ''syntax''. Jiné pluginy, které samy parsují syntaxi nebo generují syntaxi (např. vlastní editory), nemusí fungovat správně, pokud je ''syntax'' nastavena na jinou hodnotu než ''dw''. ===== Chybějící části ===== Aktuální implementace se zaměřila pouze na parsování a renderování Markdownu. Budoucí vydání by měla zlepšit integraci: * Panel editoru zatím generuje pouze syntaxi DokuWiki * Stránka [[wiki:syntax]] pokrývá pouze syntaxi DokuWiki (a je odkazována z editoru) * Pravděpodobně existují i další drobnosti ===== Viz také ===== * [[wiki:syntax|Formátovací syntaxe DokuWiki]] * [[config:syntax|Nastavení konfigurace - syntaxe]] * [[https://www.patreon.com/dokuwiki/posts/dokuwiki-support-158080793|Patreon příspěvek o přidání Markdownu]]