{
	"Templates": {
		"html": '''
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="/main.css" rel="stylesheet">
</head>
<body>
<header>
<nav class="navbar">
	<ul class="navbar-nav">
		<li class="nav-item">
			<a href="/">Home</a>
		</li>
		<li class="nav-item">
			<a href="/touch">Touch</a>
		</li>
		<li class="nav-item">
			<a href="/blog">Blog</a>
		</li>
		<li class="nav-item">
			<a href="/play">Play</a>
		</li>
	</ul>
</nav>
</header>

<main class="site">
{{template "children" .}}
</main>
</body>
</html>

{{define "HTMLAttributes"}}{{with .Data}}{{with .Attributes}} {{attributesToHTML .}}{{end}}{{end}}{{end}}
{{define "children"}}
{{- range $c := elementChildren . -}}
	{{- dynamicTemplate $c.Element $c -}}
{{- end -}}
{{end}}
'''
	},	
	"Elements": {
		"Note": {
			"Type": "walled",
			"Delimiter": "*",
			"Templates": {
				"html": '''
<aside class="note" {{- template "HTMLAttributes" .}}>
	{{template "children" .}}
</aside>
'''
			}
		},
		"CodeBlock": {
			"Type": "fenced",
			"Delimiter": "`",
			"Templates": {
				"html": '''
<pre class="codeblock" {{- template "HTMLAttributes" .}}><code {{- with .Data.openingText}} lang="{{.}}"{{end}}>
	{{- template "children" . -}}
</code></pre>
'''
			}
		},
		"Time": {
			"Type": "verbatimLine",
			"Delimiter": ".time",
			"Templates": {
				"html": '''
<time {{- template "HTMLAttributes" .}}>{{trimSpacing .TextContent}}</time>
'''
			}

		},
		"ThematicBreak": {
			"Type": "verbatimLine",
			"Delimiter": "---",
			"Templates": {
				"html": '''
<hr {{- template "HTMLAttributes" .}}>
'''
			}
		},
		"TableOfContents": {
			"Type": "hanging",
			"Delimiter": ".toc",
			"Templates": {
				"html": '''
<div {{- template "HTMLAttributes" .}}>
	<p>{{template "children" .}}</p>
	{{template "grouper" global.aggregates.numberedHeadings.Group}}
</div>

{{define "grouper"}}
	<ul>
		{{range .}}
			{{if eq (printf "%T" .) "sequentialnumber.group"}}
				{{template "grouper" .}}
			{{else}}
				<li>
					<a href="#{{.ID}}">{{.SequentialNumber}} {{.Text}}</a>
				</li>
			{{end}}
		{{end}}
	</ul>
{{end}}
'''
			}
		}
	},
	"Aggregates": {
		"numberedHeadings": {
			"Type": "sequentialNumber",
			"Elements": ["NumberedHeading"]
		}
	}
}