Files
dimension-sh-nikdoof-web/content/notes/kiln.md
2021-06-29 14:01:34 +01:00

49 lines
1.4 KiB
Markdown

---
title: Kiln
---
[Kiln](https://git.sr.ht/~adnano/kiln) is a simple static site generator aimed at Gemini use foremost, but it can be configured to support HTML and potentially Gopher. It supports using external tools as pre/post processors, allowing you to manipulate any file format int something it can use.
## Documentation
[Kiln Man Page](https://git.sr.ht/~adnano/kiln/tree/master/item/docs/kiln.1.scd)
[Introduction](https://kiln.adnano.co)
[kiln-discuss mailing list](https://lists.sr.ht/~adnano/kiln-discuss)
## Iterating Subfolders on Templates
Not described too much in the documentation, but you can use the `.Dirs` value passed to index templates to iterate down into the folders and list pages within the folders.
```
{{ range .Dirs }}## {{.Title }}
{{ range .Pages }}=> {{ .Permalink }} {{ if not .Date.IsZero -}}
{{.Date.Format "2006-01-02"}} {{end}}{{.Title}}
{{ end }}
{{ end -}}
```
Produces
```
## Logs
=> /~nikdoof/logs/2021/06/29/first-post/ 2021-06-29 First Post
## Notes
=> /~nikdoof/notes/kiln/ Kiln
```
Calls to `.Title` require a `_index.md` to exist with `title` in the frontmatter, otherwise you'll hit an error.
## Handling Markdown
Adding `preprocess.md` value to your tasks and adding `.md` to the input formats allows you to use Markdown files for generating out Gemini.
```
[[tasks]]
input = [".gmi", ".md"]
output = ".gmi"
template = ".gmi"
static_dir = "static"
output_dir = "public"
preprocess.md = "md2gmn"
```