sourcehypertextpublicindexen.pug

//- meta
	slug: index
	lang: en
	title: The Satyrs’ Forest
	pageCreated: "2019-12-09"
	pageUpdated: "2025-05-16"

extends ../../views/layout.pug

append presets
	- linkIcons = false
	- hasComments = false
	- let calMonth = (new Date()).getMonth() + 1;
	- let calDate = (new Date()).getDate();
	- let calMonthDate = calMonth + calDate / 30;
	- let calHour = (new Date()).getHours();
	-
		let bodyTheme = "summer";
		if (calMonth == 12 || calMonthDate < 2.5) {
			bodyTheme = calHour < 8 || calHour >= 17 ? "winter-night" : "winter";
		} else if (calMonth < 6) {
			bodyTheme = calHour < 6 || calHour >= 19 ? "summer-night" : "spring";
		} else if (calMonthDate < 9.5) {
			bodyTheme = calHour < 5 || calHour >= 21 ? "summer-night" : "summer";
		} else {
			bodyTheme = calHour < 7 || calHour >= 18 ? "autumn-night" : "autumn";
		}
	- bodyAttrs = { class: bodyTheme }
	- const pageList = annexe();

append cosmetics
	link(href="/cosmetics/home.css", rel="stylesheet")
	link(href="/index/index.css", rel="stylesheet")
	script(src="/index/fun.js")

mixin chip(url, strongText, smallText = "", overrideDateRange = false, overrideTranslations = false)
	li&attributes(attributes)
		a(href=`/${url == "styleguide" ? "style" : url}`)
			if url == "equala" || url == "write" || url == "srb2"
				img(alt="" src=`/thumbnails/${url}.png`)
			else
				img(alt="" src=`/thumbnails/${url.replace("/", "_")}.jpg`)
			.title
				strong!= strongText
				small
					if overrideTranslations
						each tl in overrideTranslations
							img.flag(src=`/flags/${grimm.dict[tl].meta.flag}.png` alt=grimm.dict[tl].meta.name title=grimm.dict[tl].meta.name lang=grimm.dict[tl].meta.code)
							|  
					else if pageList[url] && pageList[url].translations.length > 1
						each tl in pageList[url].translations
							img.flag(src=`/flags/${grimm.dict[tl].meta.flag}.png` alt=grimm.dict[tl].meta.name title=grimm.dict[tl].meta.name lang=grimm.dict[tl].meta.code)
							|  
					| !{smallText}
					if overrideDateRange
						i  (#{overrideDateRange})
					else if pageList[url] && pageList[url].dateRange
						i  (#{pageList[url].dateRange})

block title
	title The Satyrs’ Forest · ’t Satyrwoud 🍇

block container
	form#theme-switcher
		label(for="theme-dropdown") Theme:
		|  
		select(name="theme-dropdown" id="theme-dropdown")
			option(value="spring") Dies vernus
			option(value="summer") Dies æstivus
			option(value="summer-night") Nox verna sive æstiva
			option(value="autumn") Dies auctumnus
			option(value="autumn-night") Nox auctumna
			option(value="winter") Dies brumalis
			option(value="winter-night") Nox brumalis
			option(value="magenta") Modus anciens
	main
		#spine
		.spacing
		h1#logo
			.spacer
			.logo-container
				img.logo-image(alt="The webmixter’s coat of arms, decorated with the following text: Xanthe Tynehorne / Satyrs.eu / Assume no malice" src="/index/arms_full.webp")
				.logo-backdrop
			.words(onclick="randomiseTitleLanguage()")
				span(lang="en-GB") Þe Satyrs’ Foreſt
				span#translated-title(lang="nl-NL") ’t Satyrwoud
				span#subtitle
			.spacer
		.primary
			.bilingual
				.translation
					p.has-drop-cap
						| Chære, weary traveller, and welcome to 
						i The Satyrs’ Forest
						| ! 
						a(href="about") I’m Xanthe
						| , and i’m the steward of these ancient woods. Enjoy your stay, and try not to get lost out there…
				.translation(lang="nl-NL")
					p.has-drop-cap
						| Chære, ver­moei­de rei­zi­ger, en welkom in 
						i ’t Satyrwoud
						| ! 
						a(href="biografie") Ik ben Xanthe
						| , en ik ben de beheerder van deze oeroude bossen. Heb veel plezier, maar probeer niet te verdwalen…
			a.whats-new(href="new")
				span.wn-alert What’s new?
				span.dates αʹ Anth. ψαʹ.αʹ / 18 Feb. 2026
			small.centre.feedlink
				a(href="new/feed.xml")
					| Follow changes with 
					span.all-sc RSS
					|  / 
					span(lang="nl-NL")
						| Veranderingen volgen met 
						span.all-sc RSS
			h2
				span(lang="en-GB") Things i’ve made
				|  
				span(lang="nl-NL") Gemaakte dingen
			ul.pages
				+chip("garden", "<i>The Garden</i>", "An occasional blog", "2021–∞", ["en", "nl"])
				+chip("latbs", "<i>Looking at the Big Sky</i>", "", "1980–2558")
				+chip("phanes", "The Cult of Phanes")
				+chip("christmas", "Our Christmas tradition", "", "2020")
				+chip("maps", "The Cartothèque")
				+chip("heraldry", "My coat of arms")
				+chip("furry", "The Otter’s Holt", "Proud furry trash")
				+chip("saqvk", "Są̂qʌk", "A constructed language")
				+chip("equala", "EqualA", "The last basemap you’ll ever need")
				+chip("rumpelstiltskin", "Rumpelstiltskin", "I can’t believe it’s not Wordle!")
				+chip("matrix", "The Matrix of Power", "I can’t believe it’s not 2048!")
			h2
				span(lang="en-GB") Things i’ve loved
				|  
				span(lang="nl-NL") Geliefde dingen
			ul.pages
				+chip("linkroll", "Linkroll", "Come one, come all, to Mx Tynehorne’s<br>cabinet of hypertext curiosities!")
				+chip("music", "The Panpipes", "Or, my favourite music")
				+chip("words", "The Compendium of Curious Words")
				+chip("gallery", "The Hoornsche Galerij", "My favourite works of art")
				+chip("films", "My favourite films")
				+chip("quoth", "Quotes <i>&amp;</i> assorted aphorisms")
				+chip("codex", "Codex Satyrorum", "", "360–2014", ["en", "nl", "grc", "zh-Hant", "zh"])
				+chip("crying", "Songs i’ve cried to")
				+chip("discord", "Discord funny moments")
				+chip("proust", "Proust’s Questionnaire")
				+chip("videotape", "This’ll be on my videotape")
				+chip("vinyl", "My music collection")
				+chip("srb2", "<i>Sonic Robo Blast 2</i>: The Game: The Fan Page", "Guest-written by the ghost of my ten-year-old self")
				+chip("bestof/2025", "The <i>Satyrs’ Forest</i> Horny Awards 2025", "The best things of the year that was")
			h2
				span(lang="en-GB") Other things
				|  
				span(lang="nl-NL") Andere dingen
			ul.pages
				+chip("about", "About the author")
				+chip("shrines", "The Grove of Shrines", "Euoi!")
				+chip("misrule", "Lords of Misrule", "Our annual <span class='theonym'>Saturnalia</span> tradition")
				+chip("belief", "What i believe")
				+chip("write", "Dotpad 9000", "Just start writing.")
				+chip("100", "The internet’s 100 favourite albums")
				+chip("100/films", "…and its 100 favourite films")
				+chip("continents", "There are two continents")
				+chip("bandnames", "Good names for a band")
				+chip("binturong", "Where can i go see a binturong?")
				+chip("bucketlist", "Things to do before i die")
				+chip("calendrical", "A calendrical table")
				+chip("copypaste", "Copypastables")
				+chip("dreams", "Dream log")
				+chip("english", "A nicer ƿay of ƿriting Engliſh")
				+chip("heximal", "Heximal")
				+chip("imo", "In my opinion")
				+chip("loanwords", "One loan word per language")
				+chip("longs", "s → ſ")
				+chip("ratings", "How i rate films\*", "*Plus music, games, books, <i>&amp;c.</i>")
				+chip("styleguide", "The Hoorn Manual of Style")
				+chip("predictions", "My predictions for 2024", "On hiatus until 2029")
				+chip("new", "What’s new")
				+chip("comments", "About comments on this site", "Also a <i>de facto</i> guestbook, really")
				+chip("uses", "What i use")
				+chip("source", "Source code")
				+chip("licence", "Public domain declaration", "No rights reserved.")
			h2
				span(lang="en-EN") Typeſetting
				|  
				span(lang="nl-NL") Letterzetten
			.bilingual
				.translation(lang="en-GB")
					p
						| The following fonts are used on this site under the generous terms of the 
						a(href="https://scripts.sil.org/cms/scripts/page.php?item_id=OFL") Open Font Licence
						| .
				.translation(lang="nl-NL")
					p
						| De volgende let­ter­types worden gebruikt onder de voorwaarden van de 
						a(href="https://scripts.sil.org/cms/scripts/page.php?item_id=OFL" lang="en-GB") Open Lettertypelicentie
						| .
					p
			ul.font-recs
				li: b Serif / #[span(lang="nl-NL") Geschreefd]
				li: a(href="https://github.com/octaviopardo/EBGaramond12/") #[+sc("EB")] Garamond #[small Claude Garamond c/o Georg Duffner &amp;al.]
				li: a(href="https://www.behance.net/gallery/28579883/Cormorant-an-open-source-display-font-family") Cormorant #[small Christian Thalmann]
				li: a(href="https://indestructibletype.com/Cooper/index.html/") Cooper* #[small Oswald Cooper c/o Owen Earl]
				li: a(href="https://github.com/psb1558/Junicode-font/") Junicode #[small Peter S. Baker]
				li: a(href="https://github.com/adobe-fonts/source-serif/") Source Serif #[small Frank Grießhammer]
				li: b Sans-serif / #[span(lang="nl-NL") Schreefloos]
				li: a(href="https://www.huertatipografica.com/en/fonts/alegreya-sans-ht/") Alegreya Sans #[small Juan Pablo del Peral]
				li: a(href="https://github.com/alerque/libertinus/") Libertinus Sans #[small Philipp H. Poll]
				li: a(href="https://www.google.com/get/noto/") Noto Sans #[small Steve Matteson &amp;al.]
				li: a(href="https://github.com/adobe-fonts/source-sans-pro/") Source Sans #[small Paul D. Hunt]
				li: b Display / #[span(lang="nl-NL") Decoratief]
				li: a(href="https://github.com/psb1558/BeowulfOT-font/") Beowulf #[small Peter S. Baker]
				li: a(href="https://github.com/psb1558/Eadui-Font/") Eadui #[small Peter S. Baker]
				li: a(href="https://github.com/froyotam/ferrite-core/") Ferrite Core #[+sc("DX")] #[small Froyo Tam]
				li: a(href="https://fonts.google.com/specimen/Michroma/") Michroma #[small Alessandro Butti &amp;al. c/o Vernon Adams]
				li: a(href="http://unifraktur.sourceforge.net/cook.html") Unifraktur Cook #[small J. “Mach” Wust]
				li: b Monospace / #[span(lang="nl-NL") Monospace]
				li: a(href="https://indestructibletype.com/Drafting/") Drafting Mono #[small Owen Earl]
				li: a(href="https://www.ibm.com/plex/") #[+sc('IBM')] Plex #[small Mike Abbink]
				li: b International / #[span(lang="nl-NL") Internationaal]
				li: a(href="https://www.amirifont.org/") Amiri #[small Khaled Hosny]
				li: a(href="https://fonts.google.com/specimen/Sahitya/") Sahitya #[small Juan Pablo del Peral]
			h2
				span(lang="en-GB") Copyright, &amp;c.
				|  
				span(lang="nl-NL") Auteursrecht, enz.
			.bilingual
				.translation(lang="en-GB")
					p
						| This site is proudly in the 
						a(href="/licence") public domain
						|  (
						span.all-sc CC0
						| , to be specific). That means you can do whatever you want with it — copy it, remix it, translate it, train a computer on it, anything your heart desires.
					p
						| If you want to translate a page on this site into your language, go ahead and 
						a(href="about/#contact-the-webmixter") email it to me
						|  so i can add it to the site! (Don’t forget the alt text on the images.)
					p The book spine on the side of this page is based on an #[a(href="https://commons.wikimedia.org/wiki/File:Binding_by_Zaehnsdorf,_1896.jpg") 1896 binding] by one Joseph Zaehns&shy;dorf. The background image changes with the time and the seasons, but depending on when you’re browsing, you may be looking at a #[a(href="https://artvee.com/dl/the-edge-of-the-woods/") 1912 painting] by Charles Courtney Curran, an #[a(href="https://commons.wikimedia.org/wiki/File:%D0%98%D0%B2%D0%B0%D0%BD_%D0%98._%D0%A8%D0%B8%D1%88%D0%BA%D0%B8%D0%BD_-_%D0%A2%D0%B5%D0%BC%D0%BD%D0%BE%D0%B5_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE.jpg") 1876 painting] by Ivan Shiskin, an #[a(href="https://commons.wikimedia.org/wiki/File:Caspar_David_Friedrich_-_Waldinneres_bei_Mondschein.jpg") 1820s painting] by Caspar David Friedrich, a #[a(href="https://commons.wikimedia.org/wiki/File:Hugo_Darnaut_Motiv_aus_Lundenburg.jpg") pre-1937 painting] by Hugo Darnaut, a #[a(href="https://www.mutualart.com/Artwork/Oil-Painting-On-Canvas/607A46B8BE32B8BABA4C50CFFD53D9DD") pre-1944 painting] by Hudson Mindell Kitchell,  a #[a(href="https://artvee.com/dl/verschneiter-waldweg/") 1928 painting] by Stanisław Żukowski, or a #[a(href="https://www.shannons.com/auction-lot/john-fabian-carlson-american-1874-1945-winter-for_d234b68839") pre-1945 painting] by John Fabian Carlson.
				.translation(lang="nl-NL")
					p
						| Deze site staat met trots in het 
						a(href="/licentie") publieke domein
						|  (dankzij de 
						span.all-sc CCO
						| -verklaring). Je mag dus absoluut álles met ’m doen: kopiëren, remixen, vertalen, een computer trainen — de wereld ligt aan je voeten!
					p
						| Wil je een van deze pagina’s vertalen in je eigen taal? 
						a(href="/about/#contact-the-webmixter") Stuur me dan een e-mail
						|  zodat ik het hieraan kan toevoegen. (Vergeet niet de alt-tekst bij afbeeldingen.)
					p De zijkant van deze pagina is gebaseerd op #[a(href="https://commons.wikimedia.org/wiki/File:Binding_by_Zaehnsdorf,_1896.jpg") een boekband uit 1896] door ene Joseph Zaehns&shy;dorf. Haar achter&shy;grond&shy;afbeelding verandert met de tijd en de seizoenen, maar afhankelijk van wanneer je dit leest zie je mogelijk een #[a(href="https://artvee.com/dl/the-edge-of-the-woods/") schilderij uit 1912] door Charles Courtney Curran, #[a(href="https://commons.wikimedia.org/wiki/File:%D0%98%D0%B2%D0%B0%D0%BD_%D0%98._%D0%A8%D0%B8%D1%88%D0%BA%D0%B8%D0%BD_-_%D0%A2%D0%B5%D0%BC%D0%BD%D0%BE%D0%B5_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE.jpg") een uit 1876] door Ivan Sjiskin,  #[a(href="https://commons.wikimedia.org/wiki/File:Caspar_David_Friedrich_-_Waldinneres_bei_Mondschein.jpg") een uit de jaren 1820] door Caspar David Friedrich, #[a(href="https://commons.wikimedia.org/wiki/File:Hugo_Darnaut_Motiv_aus_Lundenburg.jpg") een van vóór 1937] door Hugo Darnaut, #[a(href="https://www.mutualart.com/Artwork/Oil-Painting-On-Canvas/607A46B8BE32B8BABA4C50CFFD53D9DD") een van vóór 1944] door Hudson Mindell Kitchell, #[a(href="https://artvee.com/dl/verschneiter-waldweg/") een uit 1928] door Stanisław Żukowski, of #[a(href="https://www.shannons.com/auction-lot/john-fabian-carlson-american-1874-1945-winter-for_d234b68839") een van vóór 1945] door John Fabian Carlson.
			h2
				span(lang="en-GB") Afterword
				|  
				span(lang="nl-NL") Nawoord
			.bilingual
				.translation(lang="en-GB")
					p Oh! You’re still reading? Well then, here’s an old-style 88×31 button for your troubles. You can put it on your site to link to me, if you want!
					img(alt="A button for my site" src="/index/sitebutton_en.png")
				.translation(lang="nl-NL")
					p Oh! Lees je nog? Dan heb ik hier een old-school 88×31 knopje voor je moeite. Je kan het op je eigen site zetten om naar mij te linken, als je wil!
					img(alt="Een knopje voor mijn site" src="/index/sitebutton_nl.png")
			p.centre.established
				+sc("Established")
				|  on the 14
				sup th
				|  day of August, 2017 
				span.all-sc CE
				br
				| and the 6
				sup th
				|  day waning of Metageitnion, 
				abbr(title="699th Olympiad, 1st year") Ol. χϟθʹ.αʹ
			p.centre.established(lang="nl-NL")
				+sc("Opgericht")
				|  14 augustus, 2017 
				abbr(title="onze jaartelling") o.j.
				br
				| en de 6
				sup e
				|  dag krimpend van metageitnion, 
				abbr(title="699e olympiad, 1e jaar") ol. χϟθʹ.αʹ