makro/pre

Zvýrazňování syntaxe

Do stránek můžeme vkládat ukázky kódu. Pokud chceme, aby měly zvýrazněnou syntaxi, vložíme je pomocí následující značky:

<m:pre jazyk="bash">#!/bin/bash
export INFO="toto je nějaký skript v BASHi";
echo $INFO;
exit 0;</m:pre>

Generátor použije program pygmentize pro obarvení syntaxe a výsledek vloží do značek <pre>…</pre>.

Jazyky

Kompletní seznam podporovaných jazyků získáte zadáním příkazu:

pygmentize -L

Např. java, xml, sql, c, cpp, haskell, php, vala

Vložení jako CDATA

Díky XML můžete složitější zdrojáky vkládat jako CDATA – díky tomu není potřeba escapovat ostré závorky. Zdrojový kód jednoduše uzavřete mezi <![CDATA[ a ]]>

<m:pre jazyk="cpp"><![CDATA[# include <iostream>
using namespace std;

int main(int argc, char *argv[]) {

        cout << "Chcete slyšet vtip?" << endl;  
        char odpoved = cin.get();
        cin.get();
        
        if (odpoved == 'a') {
                cout
                << "Lidé se dělí do 10 skupin." << endl
                << "Na ty, kteří rozumějí binárnímu kódu, "
                << "a na ty ostatní." << endl;
                return 0;
        } else if (odpoved == 'n') {
                cout << "Dobře, tak ne." << endl;
                return 0;
        } else {
                cout
                << "Nerozumím odpovědi "
                << "– očekávám „ano“ nebo „ne“." << endl;
                return 1;
        }
}]]></m:pre>

Vložení ze souboru

Zdrojový kód nemusíme vkládat přímo do zdrojového XML, ale může být v samostatném souboru, odkud se při generování načte:

<m:pre jazyk="bash" src="nějaký-skript.sh"/>

Pak můžeme nechat vygenerovat i odkaz na stažení takového souboru – k tomu slouží volitelný atribut odkaz:

<m:pre jazyk="bash" src="nějaký-skript.sh" odkaz="ano"/>

Výsledek

Ukázka makra pro zvýraznění zdrojáku

Attachments