Recursive markdown to HTML converter
- No configuration files
- The file hierarchy you see is what you get
- Nested templates
Run ply in your directory of choice, and all .md files will be converted to .html. The result is stored in a folder called ply.build.
Create a file with name ply.template and it will be applied recursively to all .md files.
ply.template:
<html>
<head><title>{{ .Title }}</title></head>
<body>
{{ .Content }}
<ul>
{{ range .Sitemap -}}
<li><a href="{{ .Path }}">{{ .Title }}</a></li>
{{ end -}}
</ul>
</body>
</html>
blog/ply.template:
<article>
{{ .Content }}
</article>
All pages in the root level of the website will use the ply.template, and all pages under the directory blog will first use blog/ply.template and then ply.template.
A page stored in blog/post.md will be converted to blog/post.html and get this content:
<html>
<head><title>A post</title></head>
<body>
<article>
<h1>A post</h1>
<p>My post content goes here</p>
</article>
<ul>
<li><a href="blog/post.html">A post</a></li>
</ul>
</body>
</html>
Page title is taken from the first heading on the page. More advanced template features are available, but will be documented later.