diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2021-02-24 21:45:01 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2021-02-24 21:45:01 +0100 |
| commit | b9f28e54c1dd613d3aebfb3d4598d08b5d3a2ed4 (patch) | |
| tree | ff0d6843b5a6633ed45fab79fccb3dc34257c303 /html | |
| parent | 417ee7a0819ba760994bd532b184125eca13d231 (diff) | |
| download | muhqs-game-b9f28e54c1dd613d3aebfb3d4598d08b5d3a2ed4.tar.gz muhqs-game-b9f28e54c1dd613d3aebfb3d4598d08b5d3a2ed4.zip | |
[html] add pandoc template using a sidebar for the toc
Diffstat (limited to 'html')
| -rw-r--r-- | html/Makefile | 9 | ||||
| -rw-r--r-- | html/template.html | 285 |
2 files changed, 289 insertions, 5 deletions
diff --git a/html/Makefile b/html/Makefile index d495a5a2..b11d692d 100644 --- a/html/Makefile +++ b/html/Makefile @@ -1,6 +1,6 @@ VERBOSE = @ -PANDOC_FLAGS = -f markdown -s +PANDOC_FLAGS = -f markdown -s --template=./template.html BUILDDIR = build @@ -11,8 +11,7 @@ EN_RULES = $(addprefix $(RULES_DIR)/en/,$(RULE_FILES)) RULES = $(DE_RULES) $(EN_RULES) RULES_HTML = $(addprefix $(BUILDDIR)/,$(RULES:.md=.html)) -MAPS_DIR = ../../maps -MAPS_BUILDDIR = $(BUILDDIR)/maps +MAPS_DIR = ../maps SITES = index.md rules.md cards.md maps.md HTML = $(addprefix $(BUILDDIR)/,$(SITES:.md=.html)) @@ -24,8 +23,8 @@ clean: rm -rf $(BUILDDIR) maps: - ln -sf $(MAPS_DIR) $(MAPS_BUILDDIR) - make -C $(MAPS_BUILDDIR) + ln -sf ../$(MAPS_DIR) $(BUILDDIR)/maps + make -C $(MAPS_DIR) $(BUILDDIR)/%.html: %.md @echo "building $@" diff --git a/html/template.html b/html/template.html new file mode 100644 index 00000000..9d27c27c --- /dev/null +++ b/html/template.html @@ -0,0 +1,285 @@ +<!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> + +$if(document-css)$ +html { + line-height: $if(linestretch)$$linestretch$$else$1.5$endif$; + font-family: $if(mainfont)$$mainfont$$else$Georgia, serif$endif$; + font-size: $if(fontsize)$$fontsize$$else$20px$endif$; + color: $if(fontcolor)$$fontcolor$$else$#1a1a1a$endif$; + background-color: $if(backgroundcolor)$$backgroundcolor$$else$#fdfdfd$endif$; +} +body { + margin: 0 auto; + max-width: 36em; + padding-left: $if(margin-left)$$margin-left$$else$50px$endif$; + padding-right: $if(margin-right)$$margin-right$$else$50px$endif$; + padding-top: $if(margin-top)$$margin-top$$else$50px$endif$; + padding-bottom: $if(margin-bottom)$$margin-bottom$$else$50px$endif$; + hyphens: auto; + word-wrap: break-word; + text-rendering: optimizeLegibility; + font-kerning: normal; +} +@media (max-width: 600px) { + body { + font-size: 0.9em; + padding: 1em; + } +} +@media print { + body { + background-color: transparent; + color: black; + font-size: 12pt; + } + p, h2, h3 { + orphans: 3; + widows: 3; + } + h2, h3, h4 { + page-break-after: avoid; + } +} +p { + margin: 1em 0; +} +a { + color: $if(linkcolor)$$linkcolor$$else$#1a1a1a$endif$; +} +a:visited { + color: $if(linkcolor)$$linkcolor$$else$#1a1a1a$endif$; +} +img { + max-width: 100%; +} +h1, h2, h3, h4, h5, h6 { + margin-top: 1.4em; +} +h5, h6 { + font-size: 1em; + font-style: italic; +} +h6 { + font-weight: normal; +} +ol, ul { + padding-left: 1.7em; + margin-top: 1em; +} +li > ol, li > ul { + margin-top: 0; +} +blockquote { + margin: 1em 0 1em 1.7em; + padding-left: 1em; + border-left: 2px solid #e6e6e6; + color: #606060; +} +code { + font-family: $if(monofont)$$monofont$$else$Menlo, Monaco, 'Lucida Console', Consolas, monospace$endif$; +$if(monobackgroundcolor)$ + background-color: $monobackgroundcolor$; + padding: .2em .4em; +$endif$ + font-size: 85%; + margin: 0; +} +pre { + margin: 1em 0; +$if(monobackgroundcolor)$ + background-color: $monobackgroundcolor$; + padding: 1em; +$endif$ + overflow: auto; +} +pre code { + padding: 0; + overflow: visible; +} +.sourceCode { + background-color: transparent; + overflow: visible; +} +hr { + background-color: #1a1a1a; + border: none; + height: 1px; + margin: 1em 0; +} +table { + margin: 1em 0; + border-collapse: collapse; + width: 100%; + overflow-x: auto; + display: block; + font-variant-numeric: lining-nums tabular-nums; +} +table caption { + margin-bottom: 0.75em; +} +tbody { + margin-top: 0.5em; + border-top: 1px solid $if(fontcolor)$$fontcolor$$else$#1a1a1a$endif$; + border-bottom: 1px solid $if(fontcolor)$$fontcolor$$else$#1a1a1a$endif$; +} +th { + border-top: 1px solid $if(fontcolor)$$fontcolor$$else$#1a1a1a$endif$; + padding: 0.25em 0.5em 0.25em 0.5em; +} +td { + padding: 0.125em 0.5em 0.25em 0.5em; +} +header { + margin-bottom: 4em; + text-align: center; +} +#TOC li { + list-style: none; +} +#TOC a:not(:hover) { + text-decoration: none; +} +$endif$ +code{white-space: pre-wrap;} +span.smallcaps{font-variant: small-caps;} +span.underline{text-decoration: underline;} +div.column{display: inline-block; vertical-align: top; width: 50%;} +div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} +ul.task-list{list-style: none;} +$if(quotes)$ +q { quotes: "“" "”" "‘" "’"; } +$endif$ +$if(highlighting-css)$ +$highlighting-css$ +$endif$ +$if(displaymath-css)$ +.display.math{display: block; text-align: center; margin: 0.5rem auto;} +$endif$ +$if(csl-css)$ +div.csl-bib-body { } +div.csl-entry { + clear: both; +$if(csl-entry-spacing)$ + margin-bottom: $csl-entry-spacing$; +$endif$ +} +.hanging div.csl-entry { + margin-left:2em; + text-indent:-2em; +} +div.csl-left-margin { + min-width:2em; + float:left; +} +div.csl-right-inline { + margin-left:2em; + padding-left:1em; +} +div.csl-indent { + margin-left: 2em; +} +$endif$ + +$if(toc)$ + /* Hide for mobile, show later */ + .sidebar { + display: none; + } + @media (min-width: 768px) { + .sidebar { + position: fixed; + top: 51px; + bottom: 0; + left: 0; + z-index: 1000; + display: block; + padding: 20px; + overflow-x: hidden; + overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */ + background-color: #f5f5f5; + border-right: 1px solid #eee; + } + } + + .sidebar ul { + padding-left: 10px; + } + + /* Sidebar navigation */ + .nav-sidebar { + margin-right: -21px; /* 20px padding + 1px border */ + margin-bottom: 20px; + margin-left: -20px; + } + .nav-sidebar > li > a { + padding-right: 20px; + padding-left: 20px; + } + .nav-sidebar > .active > a, + .nav-sidebar > .active > a:hover, + .nav-sidebar > .active > a:focus { + color: #fff; + background-color: #428bca; + } +$endif$ + </style> + +$for(css)$ + <link rel="stylesheet" href="$css$" /> +$endfor$ + +$if(math)$ + $math$ +$endif$ + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![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)$ +<div id="sidebar" class="sidebar"> +$toc$ +</div> +$endif$ +$body$ +$for(include-after)$ +$include-after$ +$endfor$ +</body> +</html> |
