Mit Debian oder Ubuntu ist die Installation von Pandoc denkbar einfach:
Markdown ist eine einfache Auszeichnungssprache, wie sie von Wikis und Blogs verwendet wird. Wie genau die Syntax ist, lässt sich in der Manpage nachlesen:
vi index.md
:
# Überschrift Level 1
## Überschrift Level 2
[Link nach www.failover.de](https://www.failover.de/)
![Ein Bild](images/einbild.png)
Etwas Code mit Syntax-Highlighting: `:(){ :|:&};:`{.bash} (Nicht ausführen, das ist eine [Forkbombe](https://de.wikipedia.org/wiki/Forkbomb))
Man kann zwar Metadaten direkt indie Markdown-Datei schreiben, es ist aber auch möglich, sie in einer extra Datei zu separieren:
vi index.yaml
:
---
author: 'Michael Mende'
abstract: 'Man kann zwar Metadaten direkt in die Markdown-Datei schreiben, es ist aber auch möglich, sie in einer extra Datei zu separieren'
keywords: 'pandoc, html, yaml, markdown'
date: '2015-06-20'
...
Der Markdown-Quelltext lässt sich leicht in HTML umwandeln, pandoc -f markdown -t html5 index.md
:
<h1 id="überschrift-level-1">Überschrift Level 1</h1>
<h2 id="überschrift-level-2">Überschrift Level 2</h2>
<p><a href="https://www.failover.de/">Link nach www.failover.de</a> <img src="images/einbild.png" alt="Ein Bild" /></p>
cat template.html
<!DOCTYPE html>
<html>
<head>
<title>$title$</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="description" content="$abstract$" />
<meta name="keywords" content="$keywords$" />
<!-- Custom CSS -->
<style type="text/css">
$highlighting-css$
</style>
</head>
<body>
$body$
</body>
</html>
pandoc -f markdown -t html5 --template template.html index.md index.yaml
:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="description" content="Man kann zwar Metadaten direkt in die Markdown-Datei schreiben, es ist aber auch möglich, sie in einer extra Datei zu separieren" />
<meta name="keywords" content="pandoc, html, yaml, markdown" />
<!-- Custom CSS -->
<style type="text/css">
table.sourceCode, tr.sourceCode, td.lineNumbers, td.sourceCode {
margin: 0; padding: 0; vertical-align: baseline; border: none; }
table.sourceCode { width: 100%; line-height: 100%; }
td.lineNumbers { text-align: right; padding-right: 4px; padding-left: 4px; color: #aaaaaa; border-right: 1px solid #aaaaaa; }
td.sourceCode { padding-left: 5px; }
code > span.kw { color: #007020; font-weight: bold; }
code > span.dt { color: #902000; }
code > span.dv { color: #40a070; }
code > span.bn { color: #40a070; }
code > span.fl { color: #40a070; }
code > span.ch { color: #4070a0; }
code > span.st { color: #4070a0; }
code > span.co { color: #60a0b0; font-style: italic; }
code > span.ot { color: #007020; }
code > span.al { color: #ff0000; font-weight: bold; }
code > span.fu { color: #06287e; }
code > span.er { color: #ff0000; font-weight: bold; }
</style>
</head>
<body>
<h1 id="überschrift-level-1">Überschrift Level 1</h1>
<h2 id="überschrift-level-2">Überschrift Level 2</h2>
<p><a href="https://www.failover.de/">Link nach www.failover.de</a></p>
<figure>
<img src="images/einbild.png" alt="Ein Bild" /><figcaption>Ein Bild</figcaption>
</figure>
<p>Etwas Code mit Syntax-Highlighting: <code class="sourceCode bash"><span class="fu">:()</span><span class="kw">{</span> <span class="kw">:|:&}</span>;<span class="kw">:</span></code></p>
</body>
</html>
vi Makefile
:
.SILENT:
INMD := $(shell find * -type f -name "*.md")
PANDOC := pandoc -f markdown -t html5 --template template.html -s --highlight-style kate
.PHONY: main html upload help
main: html
html:
$(info $@:)
for _in in ${INMD}; do \
${PANDOC} -o $${_in%.md}.html $$_in $${_in%.md}.yaml; \
done
upload:
rsync -auv -C --delete ./* yourhost.com:/var/www/html/your_path/
help :
echo ""
echo "make (main) - builds all in current directory"
echo "make html - creates all html files"
echo "make upload - copy everything to your webserver"
echo "make help - this info"
echo ""