sourcehypertextviewslayout.pug

doctype html

include mixins.pug

block presets
	- let hasSidenotes = false
	- let hasComments = true
	- let commentSubtitle = null
	- let usesHtmx = false
	- let linkIcons = true
	- let siteName = tr("pan.baseSiteName")
	- let og = true
	- let licence = 'CC0'
	- let snCounter = (x) => `${x}`
	- let rootAttrs = {}
	- let bodyAttrs = {}
	- let langOverride = false

html(lang=`${langOverride && (langOverride.match(/^[a-z]+/)[0] == lang.match(/^[a-z]+/)[0]) ? langOverride : grimm.dict[lang].meta.code}`)&attributes(rootAttrs)
	head
		block head
			meta(charset="utf-8")
			meta(name="viewport", content="width=device-width, initial-scale=1.0")
			block title
				title #{title} | #{siteName}
			link(rel="icon", href="/cosmetics/favicon.png")
			link(rel="alternate" type="application/rss+xml" title="The Satyrs’ Forest 🍇 (changelog)" href="/new/feed.xml")
			link(rel="alternate" type="application/rss+xml" title="The Garden 🌿 (blog)" href="/garden/feed")
			if licence
				link(rel="license", href="https://creativecommons.org/publicdomain/zero/1.0/legalcode")
			block cosmetics
				link(href="/cosmetics/style.css", rel="stylesheet")
				script(src="/cosmetics/script.js")
				if linkIcons
					link(href="/cosmetics/links.css", rel="stylesheet")
				if hasSidenotes
					link(href="/cosmetics/sidenotes.css", rel="stylesheet")
					script(src="/cosmetics/sidenotes.js")
				if hasComments
					link(href="/cosmetics/comments.css", rel="stylesheet")
				if (hasComments || usesHtmx)
					script(src="/cosmetics/htmx.js")
			if og
				meta(property="og:url", content=`https://${baseDomain}/${slug}`)
				meta(property="og:type", content="website")
				meta(property="og:title", content=`${title}` )
				if thumbnail
					if thumbnail === true
						meta(property="og:image", content=`https://${baseDomain}/thumbnails/${translates}.jpg`)
						meta(property="og:image:alt", content=`${thumbnailAlt}`)
					else
						meta(property="og:image", content=`https://${baseDomain}/${thumbnail}`)
						meta(property="og:image:alt", content=`${thumbnailAlt}`)
				if description
					meta(property="og:description", content=`${description}`)
				meta(property="og:site_name", content=`${siteName}`)
				meta(property="og:locale", content=`${(langOverride && (langOverride.match(/^[a-z]+/)[0] == lang.match(/^[a-z]+/)[0]) ? langOverride : grimm.dict[lang].meta.code).replace("-","_")}`)
	body&attributes(bodyAttrs)
		block body
			#body-container
				block container
					main
						block main
							block header
								h1 #{title}
							
							block translations
								if translations.length > 1 || codexLink
									include langs.pug
								
							block content
								p Text goes here, et cetera, et cetera...

							block footer
								include footer.pug

							if hasComments
								+comments(false, commentSubtitle)
					if hasSidenotes
						block sidenotes
							aside#sidenotes