28 lines
1 KiB
Text
28 lines
1 KiB
Text
rgbstr = require 'rgbstr'
|
|
slots, json = select 1, ...
|
|
posts = require 'posts'
|
|
tags = require 'tags'
|
|
|
|
post = =>
|
|
color = table.concat({rgbstr.bytes(@head.tags[1], 16, .3, .5)}, " ")
|
|
flexColumn class: "info box", style: "--color: rgb(#{color})"
|
|
* h2 a(@head.title, href: @head.uri), style: "view-transition-name: #{@head.slug}"
|
|
* tags(@head.tags)
|
|
* time is: 'local-date', datetime: @head.date, @head.date
|
|
* @head.description
|
|
|
|
slots.head title "Talia's Blog"
|
|
|
|
slots.head
|
|
* meta property: "og:title", content: "Index"
|
|
* meta property: "og:site_name", content: "Talia's Blog"
|
|
* meta property: "og:description", content: "This is my personal blog with a focus on IT and Programming content unless I have something else to say."
|
|
* meta property: "og:type", content: "website"
|
|
* meta property: "og:article:author", content: "Talia"
|
|
|
|
slots.head script type: 'module', src: "/javascript/LocalDate.js"
|
|
slots.head script type: 'module', src: "/javascript/BlogPost.js"
|
|
|
|
return main
|
|
* h1 "Blog Posts"
|
|
* [blogPost post p for p in *posts]
|