internal/publisher/templates/layout.go (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | package templates import ( base "go.alanpearce.eu/homestead/templates" g "go.alanpearce.eu/gomponents" c "go.alanpearce.eu/gomponents/components" . "go.alanpearce.eu/gomponents/html" ) func Layout(site base.SiteSettings, page base.PageSettings, children ...g.Node) g.Node { return c.HTML5(c.HTML5Props{ Title: site.Title, Description: "", Language: site.Language, Head: []g.Node{ Link( Rel("stylesheet"), Href("/style.css"), ), }, Body: []g.Node{ Header( H1(A( base.ExtendAttrs(base.Attrs{ "class": "title", "href": "/", }, page.TitleAttrs), g.Text(site.Title), )), ), Main(ID("main"), g.Group(children)), Footer( A(Href("https://git.alanpearce.eu/homestead"), g.Text("Source Code")), ), g.If(site.InjectLiveReload, base.LiveReload), }, HTMLAttrs: []g.Node{}, }) } |