L1 Info : Informatique et Document, MarkDown & Pandoc
 
◃  Ch. 2 Pandoc  ▹
 

Template HTML par défaut

  • Pour obtenir le template par défaut HTML :
    pandoc -D html
    (ajouter l'option -o template.html pour l'enregistrer dans le fichier template.html )
  • Spécificités des templates pandoc : tout texte placé entre $ correspond à des variables ou des instructions permettant de personnaliser le document produit :
    • $body$ correspond au contenu injecté (pour nous le code MarkDown converti en HTML)
    • $ styles.html() $ correspond à un sous-template (un autre fichier template)
    • Des structures de contrôle sont disponibles : $if ()...$, $endif$$\, $for(...)$, $endfor$
  • Fichier default.html5 utilisé par pandoc (/usr/share/pandoc/data/templates/default.html5)
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="$lang$" xml:lang="$lang$" 
      $if(dir)$ dir="$dir$" $endif$>
<head>
    <meta charset="utf-8"/>
    <meta name="generator" content="pandoc"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"/>
    $for(author-meta)$
    <meta name="author" content="$author-meta$"/>
    $endfor$
    $if(date-meta)$
    <meta name="dcterms.date" content="$date-meta$"/>
    $endif$
    $if(keywords)$
    <meta name="keywords" content="$for(keywords)$$keywords$$sep$, $endfor$"/>
    $endif$
    <title>$if(title-prefix)$$title-prefix$ – $endif$$pagetitle$</title>
    <style>
        $ styles.html() $
    </style>
    $for(css)$
    <link rel="stylesheet" href="$css$"/>
    $endfor$
    $if(math)$
    $math$
    $endif$
    $for(header-includes)$
    $header-includes$
    $endfor$
</head>
<body>
$for(include-before)$
$include-before$
$endfor$
$if(title)$
<header id="title-block-header">
    <h1 class="title">$title$</h1>
    $if(subtitle)$
    <p class="subtitle">$subtitle$</p>
    $endif$
    $for(author)$
    <p class="author">$author$</p>
    $endfor$
    $if(date)$
    <p class="date">$date$</p>
    $endif$
</header>
$endif$
$if(toc)$
<nav id="$idprefix$TOC" role="doc-toc">
    $if(toc-title)$
    <h2 id="$idprefix$toc-title">$toc-title$</h2>
    $endif$
    $table-of-contents$
</nav>
$endif$
$body$
$for(include-after)$
$include-after$
$endfor$
</body>
</html>