Markdown
Tyto skripta se kompilují pomocí mdbook, je tedy možné používat všechny tímto programem podporované konstrukce.
Časem je cílem podorovat i build do pdf, což nejspíš omezí některé syntaxe, aby mohl proběhnout build do html i do pdf ze stejného zdrojového kódu.
Navíc jsou do mdbook nainstalované preprocessory, které umožňují používat další druhy syntaxe. Preprocesory jsou uvedeny cca v pořadí, ve kterém se spoštějí:
checklist 📘
Umožňuje vložit do markdownu inline TODO, ze kterých se udělá globální seznam ve speciální kapitole, s odkazy.
Příklad
{{#check Note-1 | This is an important note}}
tera 📘
Nahrazuje template výrazy tera v markdownu podle contextu v src/context.toml. Tohle je nejjednodušší způsob, jak zadefinovat a recyklovat řetězce napříč celými skripty.
Příklad
This string is from the context.toml file
Autoři těchto skript jsou jaywor1, Michal Vojáček.
Číslo | Autor |
---|---|
1 | jaywor1 |
2 | Michal Vojáček |
end | end |
cmdrun 📘
Umožňuje do skript přidat výstup libovolného unix příkazu, což je užitečné např. pro generování výstupů z logisimu, nebo buildování latexu.
Přichází s tím samozřejmě určitý risk, proto doporučuji provozovat mdbook builder v dockeru. Všechny použití tohoto preprocesoru lze najít pomocí:
grep -roP '\<\!\-\- cmdrun\K.+(?=\-\-\>)' --exclude-dir book .
Příklad
Jako příklad seznam všech použití toho preprocesoru ve skriptech (příkaz výše):
./src/99_ostatni/markdown.md: cd ../.. && grep --color=no -roP '\<\!\-\- cmdrun\K.+(?=\-\-\>)' --exclude-dir book .
katex 📘
Umožňuje použití $
a $$
pro psaní matematických výrazů.
Příklad
image-size 📘
Markdown neumožňuje specifikaci velikosti a centrování obrázků, tento preprocesor tuto funkcionalitu přidává.
Do budoucna chci projekt upravit a rozvolnit syntaxi, aby šlo specifikovat pouze zarovnání, bez šířky.
TODO: image-size-fork
Příklad
admonish 📘
Umožňuje vytvářet HTML "bannery", které volitelně můžou být rozbalovací.
Vyvolává se pomocí ```admonish info title="Title",collapsible=true
, kde místo info můžou být následující vestavěné styly:
Příklad
quiz
toc
kroki
emojicodes 📘
Umožňuje vkládat do textu emoji pomocí Github shortcode ohraničeného ::
Příklad
👨❤️👨 👩❤️👩 ✅ 🏳️🌈 🏳️⚧️
embedify
footnote
TODO
pagetoc 📘
Přidává na generovanou stránku vpravo sidebar s navigací v aktuální kapitole, pokud na nej je horizontální místo ve viewportu.