tags = require 'tags'
import output from require 'params'
slots, post = select 1, ...
url = (path) -> "/"..output..path
slots.head title post.head.title
-- Generic shenanigans
slots.head
* meta name: "author", content: "Talia"
-- Search shenanigans
slots.head
* meta property: "article:published_time", content: post.head.date
* meta property: "article:author", content: "https://tech.lgbt/@darkwiiplayer"
-- OpenGraph shenanigans
slots.head
* meta property: "og:title", content: post.head.title
* meta property: "og:site_name", content: "Talia's Blog"
* meta property: "og:description", content: post.head.description
* meta property: "og:type", content: "article"
* meta property: "og:article:author", content: "Talia"
* [ meta property: "og:article:tag", content: tag for tag in *post.head.tags ]
positions = (input, character) ->
((last) => @find(character, last+1, true)), input, 1
breadcrumb = (href) -> li a :href, href\match('[^/]+$')
if src = post.head.cover_image
slots.top pageHero cover: 60
* img :src, style: 'opacity: .4'
* h1(post.head.title, style: "view-transition-name: #{post.head.slug}")
slots.head
* meta property: "og:image", content: src
else
slots.title h1(post.head.title, style: "view-transition-name: #{post.head.slug}")
slots.banner aside class: { 'box' }
* b "Hey there!"
* p raw [[
This blog doesn't use any tracking. When you open this page, I don't see
a number going up anywhere, so if you like this post, please consider
letting me know on the fediverse!
This is also the best way of giving any other feedback on my blog posts.
]]
* p i "Thank you."
slots.footer aside id: "contact"
* p raw "Got feedback?
Tag me on fedi!"
* a "@darkwiiplayer@tech.lgbt", href: 'https://tech.lgbt/@darkwiiplayer'
return (=>@)
* article
* slots.title
* tags(post.head.tags)
* nav { class: "breadcrumbs" }
* ul
* li a "Blog", href: url "/"
* [ breadcrumb post.head.uri\sub(1, number-1) for number in positions(post.head.uri, "/") ]
* li post.head.title, class: 'active'
* verticalSpacer
* slots.banner
* raw post.body