fix ko build breakage with static files replace symlinks in kodata with actual files
6 files changed, 343 insertions(+), 346 deletions(-)
D domain/indieweb/templates/feed-styles.xsl
@@ -1,82 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<xsl:stylesheet - version="3.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:atom="http://www.w3.org/2005/Atom" -> - <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes" /> - <xsl:template match="/"> - <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> - <head> - <title>RSS Feed | <xsl:value-of select="/atom:feed/atom:title"/></title> - <meta charset="utf-8" /> - <meta http-equiv="content-type" content="text/html; charset=utf-8" /> - <meta name="viewport" content="width=device-width, initial-scale=1" /> - <link rel="stylesheet" type="text/css" href="/style.css" /> - </head> - <body> - <main> - <div class="helptext"> - <strong>This is an RSS feed</strong>. Subscribe by copying the URL - from the address bar into your newsreader. Visit - <a href="https://aboutfeeds.com">About Feeds</a> - to learn more and get started. It's free. - </div> - <div> - <h1> - <!-- https://commons.wikimedia.org/wiki/File:Feed-icon.svg --> - <svg - xmlns="http://www.w3.org/2000/svg" - version="1.1" - class="rss-icon" - viewBox="0 0 256 256" - > - <rect width="256" height="256" x="0" y="0" fill="#7F7F7F" /> - <rect width="246" height="246" x="5" y="5" fill="#A0A0A0" /> - <rect width="236" height="236" x="10" y="10" fill="#A6A6A6" /> - <circle cx="68" cy="189" r="24" fill="#FFF" /> - <path - d="M160 213h-34a82 82 0 0 0 -82 -82v-34a116 116 0 0 1 116 116z" - fill="#FFF" - /> - <path - d="M184 213A140 140 0 0 0 44 73 V 38a175 175 0 0 1 175 175z" - fill="#FFF" - /> - </svg> - RSS Feed Preview | - <span> - <xsl:value-of select="/atom:feed/atom:title" /> - </span> - </h1> - <nav> - <a> - <xsl:attribute name="href"> - <xsl:value-of select="/atom:feed/atom:link[1]/@href" /> - </xsl:attribute> - Visit Website - </a> - </nav> - <ul class="h-feed"> - <xsl:for-each select="/atom:feed/atom:entry"> - <li class="h-entry"> - <span> - <time class="dt-published"> - <xsl:value-of select="substring(atom:updated, 0, 11)" /> - </time> - </span> - <a class="p-name u-url"> - <xsl:attribute name="href"> - <xsl:value-of select="atom:link/@href" /> - </xsl:attribute> - <xsl:value-of select="atom:title" /> - </a> - </li> - </xsl:for-each> - </ul> - </div> - </main> - </body> - </html> - </xsl:template> -</xsl:stylesheet>
D domain/web/templates/robots.tmpl
@@ -1,6 +0,0 @@ -User-agent: * -Disallow: -{{- with .BaseURL }} -Host: {{ .Hostname }} -Sitemap: {{ .URL.JoinPath "/sitemap.xml" }} -{{- end }}
D domain/web/templates/style.css
@@ -1,255 +0,0 @@ -:root { - --width: 80ch; - --font-main: Verdana, sans-serif; - --font-secondary: Verdana, sans-serif; - --font-scale: 1rem; - --background-color: #fff; - --heading-color: #222; - --text-color: #444; - --muted-color: #888; - --link-color: #3273dc; - --visited-color: #8b6fcb; - --code-background-color: #f2f2f2; - --today-background-color: #f2f2f2; - --code-color: #222; - --blockquote-color: #222; - --border-color: #222; -} - -@media (prefers-color-scheme: dark) { - :root { - --background-color: #01242e; - --heading-color: #eee; - --text-color: #ddd; - --muted-color: #ccc; - --link-color: #8cc2dd; - --visited-color: #8b6fcb; - --code-background-color: #222; - --today-background-color: #222; - --code-color: #ddd; - --blockquote-color: #ccc; - --border-color: #ccc; - } -} - -body { - font-family: var(--font-secondary); - font-size: var(--font-scale); - margin: auto; - padding: 1em 1em; - max-width: var(--width); - background-color: var(--background-color); - word-wrap: break-word; - overflow-wrap: break-word; - line-height: 1.75; - color: var(--text-color); -} - -body>header>h2 { - margin: 0.5em 0; -} - -nav { - display: flex; - gap: 1rem; - align-items: center; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - font-family: var(--font-main); - color: var(--heading-color); - - &>a { - color: var(--heading-color); - } -} - -a { - color: var(--link-color); -} - -strong, -b { - color: var(--heading-color); -} - -table { - width: 100%; -} - -hr { - border: 0; - border-top: 1px dashed; -} - -img { - max-width: 100%; -} - -code { - font-family: monospace; - padding: 2px 5px; - background-color: var(--code-background-color); - color: var(--code-color); - border-radius: 3px; -} - -pre { - margin: unset; -} - -pre code { - color: var(--code-color); - display: block; - padding: 1em 1em; - white-space: pre-wrap; - overflow-x: auto; -} - -blockquote, -.aside { - border-left: 1px solid #999; - color: var(--code-color); - padding-left: 20px; - font-style: italic; -} - -.aside { - font-style: unset; -} - -footer { - padding: 25px 0; - text-align: center; -} - -.title:hover { - text-decoration: none; -} - -.inline { - width: auto !important; -} - -.highlight, -.code { - padding: 1px 15px; - background-color: var(--code-background-color); - color: var(--code-color); - border-radius: 3px; - margin-block-start: 1em; - margin-block-end: 1em; - overflow-x: auto; -} - -/* blog post list */ -ul.h-feed { - list-style-type: none; - padding: unset; -} - -ul.h-feed li { - display: flex; -} - -ul.h-feed li span { - flex: 0 0 130px; -} - -ul.h-feed li a:visited { - color: var(--visited-color); -} - -.title { - text-decoration: none; -} - -.filter { - margin-bottom: 0; -} - -.skip { - position: absolute; - top: -3em; - background: var(--background-color); -} - -.skip:focus { - top: 0; -} - -article>header>h1 { - margin-bottom: 0; -} - -article>header { - margin: 2rem 0 1rem; -} - -.meta { - margin-top: 0; - margin-bottom: 0; -} - -.date { - display: inline-block; - margin-right: 1ex; - font-size: 0.875em; -} - -.tags { - font-size: 0.875em; - display: inline-block; - padding-inline-start: 0; -} - -.p-categories { - padding-inline-start: 1ex; -} - -.e-content { - - h1, - h2, - h3, - h4, - h5, - h6 { - margin-top: 2rem; - margin-bottom: 0.5ch; - } - - p { - margin-top: 1ch; - } -} - -.tags li { - list-style: none; - display: inline-block; - margin-inline-end: 1ex; -} - -svg.rss-icon { - height: 1.5ex; - width: 1.5ex; -} - -.changelog>summary { - font-size: large; -} - -.changelog>ul { - list-style-type: none; - padding-left: unset; - margin-block-start: 0.5rex; -} - -time { - font-variant-numeric: tabular-nums; -}
M kodata/feed-styles.xsl → kodata/feed-styles.xsl
@@ -1,1 +1,82 @@ -../domain/indieweb/templates/feed-styles.xsl+<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet + version="3.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:atom="http://www.w3.org/2005/Atom" +> + <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes" /> + <xsl:template match="/"> + <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> + <head> + <title>RSS Feed | <xsl:value-of select="/atom:feed/atom:title"/></title> + <meta charset="utf-8" /> + <meta http-equiv="content-type" content="text/html; charset=utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <link rel="stylesheet" type="text/css" href="/style.css" /> + </head> + <body> + <main> + <div class="helptext"> + <strong>This is an RSS feed</strong>. Subscribe by copying the URL + from the address bar into your newsreader. Visit + <a href="https://aboutfeeds.com">About Feeds</a> + to learn more and get started. It's free. + </div> + <div> + <h1> + <!-- https://commons.wikimedia.org/wiki/File:Feed-icon.svg --> + <svg + xmlns="http://www.w3.org/2000/svg" + version="1.1" + class="rss-icon" + viewBox="0 0 256 256" + > + <rect width="256" height="256" x="0" y="0" fill="#7F7F7F" /> + <rect width="246" height="246" x="5" y="5" fill="#A0A0A0" /> + <rect width="236" height="236" x="10" y="10" fill="#A6A6A6" /> + <circle cx="68" cy="189" r="24" fill="#FFF" /> + <path + d="M160 213h-34a82 82 0 0 0 -82 -82v-34a116 116 0 0 1 116 116z" + fill="#FFF" + /> + <path + d="M184 213A140 140 0 0 0 44 73 V 38a175 175 0 0 1 175 175z" + fill="#FFF" + /> + </svg> + RSS Feed Preview | + <span> + <xsl:value-of select="/atom:feed/atom:title" /> + </span> + </h1> + <nav> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="/atom:feed/atom:link[1]/@href" /> + </xsl:attribute> + Visit Website + </a> + </nav> + <ul class="h-feed"> + <xsl:for-each select="/atom:feed/atom:entry"> + <li class="h-entry"> + <span> + <time class="dt-published"> + <xsl:value-of select="substring(atom:updated, 0, 11)" /> + </time> + </span> + <a class="p-name u-url"> + <xsl:attribute name="href"> + <xsl:value-of select="atom:link/@href" /> + </xsl:attribute> + <xsl:value-of select="atom:title" /> + </a> + </li> + </xsl:for-each> + </ul> + </div> + </main> + </body> + </html> + </xsl:template> +</xsl:stylesheet>
M kodata/robots.tmpl → kodata/robots.tmpl
@@ -1,1 +1,6 @@ -../domain/web/templates/robots.tmpl+User-agent: * +Disallow: +{{- with .BaseURL }} +Host: {{ .Hostname }} +Sitemap: {{ .URL.JoinPath "/sitemap.xml" }} +{{- end }}
M kodata/style.css → kodata/style.css
@@ -1,1 +1,255 @@ -../domain/web/templates/style.css+:root { + --width: 80ch; + --font-main: Verdana, sans-serif; + --font-secondary: Verdana, sans-serif; + --font-scale: 1rem; + --background-color: #fff; + --heading-color: #222; + --text-color: #444; + --muted-color: #888; + --link-color: #3273dc; + --visited-color: #8b6fcb; + --code-background-color: #f2f2f2; + --today-background-color: #f2f2f2; + --code-color: #222; + --blockquote-color: #222; + --border-color: #222; +} + +@media (prefers-color-scheme: dark) { + :root { + --background-color: #01242e; + --heading-color: #eee; + --text-color: #ddd; + --muted-color: #ccc; + --link-color: #8cc2dd; + --visited-color: #8b6fcb; + --code-background-color: #222; + --today-background-color: #222; + --code-color: #ddd; + --blockquote-color: #ccc; + --border-color: #ccc; + } +} + +body { + font-family: var(--font-secondary); + font-size: var(--font-scale); + margin: auto; + padding: 1em 1em; + max-width: var(--width); + background-color: var(--background-color); + word-wrap: break-word; + overflow-wrap: break-word; + line-height: 1.75; + color: var(--text-color); +} + +body>header>h2 { + margin: 0.5em 0; +} + +nav { + display: flex; + gap: 1rem; + align-items: center; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: var(--font-main); + color: var(--heading-color); + + &>a { + color: var(--heading-color); + } +} + +a { + color: var(--link-color); +} + +strong, +b { + color: var(--heading-color); +} + +table { + width: 100%; +} + +hr { + border: 0; + border-top: 1px dashed; +} + +img { + max-width: 100%; +} + +code { + font-family: monospace; + padding: 2px 5px; + background-color: var(--code-background-color); + color: var(--code-color); + border-radius: 3px; +} + +pre { + margin: unset; +} + +pre code { + color: var(--code-color); + display: block; + padding: 1em 1em; + white-space: pre-wrap; + overflow-x: auto; +} + +blockquote, +.aside { + border-left: 1px solid #999; + color: var(--code-color); + padding-left: 20px; + font-style: italic; +} + +.aside { + font-style: unset; +} + +footer { + padding: 25px 0; + text-align: center; +} + +.title:hover { + text-decoration: none; +} + +.inline { + width: auto !important; +} + +.highlight, +.code { + padding: 1px 15px; + background-color: var(--code-background-color); + color: var(--code-color); + border-radius: 3px; + margin-block-start: 1em; + margin-block-end: 1em; + overflow-x: auto; +} + +/* blog post list */ +ul.h-feed { + list-style-type: none; + padding: unset; +} + +ul.h-feed li { + display: flex; +} + +ul.h-feed li span { + flex: 0 0 130px; +} + +ul.h-feed li a:visited { + color: var(--visited-color); +} + +.title { + text-decoration: none; +} + +.filter { + margin-bottom: 0; +} + +.skip { + position: absolute; + top: -3em; + background: var(--background-color); +} + +.skip:focus { + top: 0; +} + +article>header>h1 { + margin-bottom: 0; +} + +article>header { + margin: 2rem 0 1rem; +} + +.meta { + margin-top: 0; + margin-bottom: 0; +} + +.date { + display: inline-block; + margin-right: 1ex; + font-size: 0.875em; +} + +.tags { + font-size: 0.875em; + display: inline-block; + padding-inline-start: 0; +} + +.p-categories { + padding-inline-start: 1ex; +} + +.e-content { + + h1, + h2, + h3, + h4, + h5, + h6 { + margin-top: 2rem; + margin-bottom: 0.5ch; + } + + p { + margin-top: 1ch; + } +} + +.tags li { + list-style: none; + display: inline-block; + margin-inline-end: 1ex; +} + +svg.rss-icon { + height: 1.5ex; + width: 1.5ex; +} + +.changelog>summary { + font-size: large; +} + +.changelog>ul { + list-style-type: none; + padding-left: unset; + margin-block-start: 0.5rex; +} + +time { + font-variant-numeric: tabular-nums; +}