sourcehypertextviewsgardengarden-mixins.pug

mixin articleMetadata(post, postLang)
	div.entry-metadata
		div.entry-moon
			div.light-only: +moonPhase(40, post.moonPhase, 0, 0)
			div.dark-only: +moonPhase(40, post.moonPhase, 0, 1)
		a.entry-time(href=`/${post.fullSlug}`)
			time(datetime=post.pageCreated)
				span.entry-time-attic= grimm.date.attic(postLang, post.pageCreated)
				span.entry-time-gregorian= grimm.date.ce(postLang, post.pageCreated, 3)
		div.entry-metadata-nottime
			if post.tags.length
				span.entry-tag-list !{grimm.translate(postLang, 'garden.post.taggedAs')(post.tags.map(t => `<a href="/garden/tagged/${t.tagID}">${filters['rubric-inline'](t.defaultName)}</a>`))}
			a.entry-metadata-comments(href=`/${post.fullSlug}#comments-section`)
				| ☞ 
				if post.commentsCount
					| #{grimm.translate(postLang, 'comments.header')(post.commentsCount)}
				else
					b #{grimm.translate(postLang, 'comments.headerNone')}
		

mixin article(post, postLang = lang)
	article(class=["post", `format-${post.postFormat}`, ...post.tags.map(t => `tagged-${t.tagID}`)] id=`post-${post.slug}`, lang=grimm.dict[postLang].meta.code)
		if (post.postFormat != "note" || post.title)
			header.entry-header
				h1.entry-title: a(href=`/${post.fullSlug}`)!= filters['rubric-inline'](post.title)
				+articleMetadata(post, postLang)
		if post.translations
			nav.languages
				ul
					each ed in post.translations
						if ed.lang == post.lang
							li
								+flag(grimm.dict[ed.lang].meta.flag)
								|  #{grimm.dict[ed.lang].meta.name}
						else
							li
								a(href=`/garden/${ed.qualifiedSlug}`, hreflang=`${grimm.dict[ed.lang].meta.code}`, title=grimm.sentenceCase(postLang, grimm.translate(postLang, `loc.language.${grimm.dict[ed.lang].meta.id}`)))
									+flag(grimm.dict[ed.lang].meta.flag)
									| 
									span(lang=`${grimm.dict[ed.lang].meta.code}`) #{grimm.dict[ed.lang].meta.name}
		if post.markup == "html"
			div.entry-content!= post.contents
		else if post.markup == "rubric"
			div.entry-content!= filters['rubric-unsafe'](post.contents)
		if (post.postFormat == "note" && !post.title)
			footer.entry-footer
				+articleMetadata(post, postLang)