Hi!
Sorry for the necroposting, but I just hit this issue and finished the idea started here into a working solution. It’s correct that putting the render directive into index.html renders into the page itself. The solution is to say in index.md that this is the toplevel stuff. I did that by naming the whole contents of baseof.html and then redefining that block in index.md. My baseof.html now looks like:
{{- block "html" . }}
<html>
{{- partial "head.html" . -}}
<body>
{{- partial "header.html" . -}}
{{- partial "navigation.html" . -}}
<div id="page">
{{- block "main" . }}{{- end }}
</div>
{{- partial "footer.html" . -}}
</body>
</html>
{{- end }}
And the index.md is:
{{ define "html" }}
{{ with .GetPage "/posts" }}{{.Render}}{{end}}
{{ end }}
I’d still prefer to do it differently, but this essentially shows all my “posts” on the index page - which is what I wanted. And I can even prepend some intro if I really want to.
Hope it helps somebody, cheers!