Remove retro site

This commit is contained in:
Joshua Goins 2024-02-19 18:39:50 -05:00
parent 695ac2b877
commit 6b48a34953
51 changed files with 0 additions and 1090 deletions

View file

@ -16,13 +16,6 @@ tasks:
cd redstrate.com
echo "StrictHostKeyChecking=no" >> ~/.ssh/config
rsync -e 'ssh -p 38901' -Wvr public/ deploy@ryne.moe:/srv/http/redstrate.com
- build-retro: |
cd redstrate.com
hugo --minify --theme retro
- deploy-retro: |
cd redstrate.com
echo "StrictHostKeyChecking=no" >> ~/.ssh/config
rsync -e 'ssh -p 38901' -Wvr public/ deploy@ryne.moe:/srv/http/retro.redstrate.com
- reuse: |
cd redstrate.com
reuse lint

View file

@ -1,20 +0,0 @@
The MIT License (MIT)
Copyright (c) 2023 Joshua Goins
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View file

@ -1,5 +0,0 @@
{{ define "main" }}
<h2>404</h2>
<p>Page not found!</p>
{{ end }}

View file

@ -1,31 +0,0 @@
{{- $url := .Destination | safeURL -}}
{{- $img := .Page.Resources.GetMatch .Destination -}}
{{- if and (not $img) .Page.File -}}
{{ with .Page.File }}
{{ $path := path.Join .Dir $url }}
{{- $img = resources.Get $path -}}
{{ end }}
{{- end -}}
{{- if and (not $img) .Page.File -}}
{{- $img = resources.Get .Destination -}}
{{- end -}}
{{- with $img -}}
<figure>
<a href="{{ $img.RelPermalink }}" data-download="true">
{{ if eq .MediaType.SubType "svg" }}
<img class="article-img" src="{{ $img.RelPermalink }}" alt="{{ $.Text }}" />
{{ else }}
{{ with ($img).Resize "400x bmp" }}
<img class="article-img" width="{{ .Width }}" height="{{ .Height }}" src="{{ .RelPermalink }}" alt="{{ $.Text }}" />
{{ end }}
{{ end }}
</a>
<figcaption><i>{{ $.Text | safeHTML }}</i></figcaption>
</figure>
{{- else -}}
<em>Unable to find image {{ $url }}!</em>
{{- end -}}

View file

@ -1,98 +0,0 @@
{{ define "main" }}
<h2>{{ .Title }}</h2>
<hr>
{{ if .Params.animation }}
<p>Sorry, animations are not supported.</p>
{{ else }}
{{ if .Params.threed }}
<p>Sorry, 3D models are not supported.</p>
{{ else }}
{{ with (resources.Get .Params.filename).Resize "400x bmp" }}
<img class="article-img" style="display: block; max-height: 1000px; margin-left: auto; margin-right: auto;" alt="{{ $.Params.alt_text }}" title="{{ $.Params.alt_text }}" src="{{ .RelPermalink }}"/>
{{ end }}
{{ end }}
{{ end }}
<table>
<tr>
<th>Date</th>
<td>
<time datetime="{{ .Page.Lastmod.Format "Mon Jan 10 17:13:38 2020 -0700" }}" class="text-muted">
{{ $.Date.Format "January 2006" }}
</time>
</td>
</tr>
{{ with .Params.arttags }}
<tr>
<th>Tags</th>
<td>
{{ $len := (len .) }}
{{ range $index, $element := . }}
<a href="/art/tags/{{ urlize . }}/"><strong>{{ $element }}</strong></a>{{ if not (eq (add $index 1) $len) }},{{ end }}
{{ end }}
</td>
</tr>
{{ end }}
{{ with .Params.characters }}
<tr>
<th>Characters</th>
<td>
{{ $len := (len .) }}
{{ range $index, $element := . }}
<a href="/art/characters/{{ urlize .}}/"><strong>{{ $element }}</strong></a>{{ if not (eq (add $index 1) $len) }},{{ end }}
{{ end }}
</td>
</tr>
{{ end }}
{{ with .Params.program }}
<tr>
<th>Program</th>
<td>
{{ . }}
</td>
</tr>
{{ end }}
{{ with .Params.mastodon_url }}
<tr>
<th>Mastodon URL</th>
<td>
<a href="{{ . }}">{{ . }}</a>
</td>
</tr>
{{ end }}
{{ with .Params.newgrounds_url }}
<tr>
<th>Newgrounds URL</th>
<td>
<a href="{{ . }}">{{ . }}</a>
</td>
</tr>
{{ end }}
{{ with .Params.pixiv_url }}
<tr>
<th>Pixiv URL</th>
<td>
<a href="{{ . }}">{{ . }}</a>
</td>
</tr>
{{ end }}
</table>
{{ with .Content }}
<h3>Commentary</h3>
<p>
{{ . }}
</p>
{{ end }}
{{ end }}

View file

@ -1,23 +0,0 @@
{{ define "main" }}
<h2>{{ .Title }}</h2>
<hr>
<h3># of Artworks by Year</h3>
<ol>
{{ range $.Param "years" }}
{{ $year := .year }}
{{ $num := .num }}
<li><a href="/art/{{ $year }}">{{ $year }}</a> ({{ $num }} artworks)</li>
{{ end }}
</ol>
<h3>Most Drawn Characters</h3>
<ol>
{{ range $.Param "characters" }}
{{ $year := .name }}
{{ $num := .num }}
<li><a href="/art/characters/{{ urlize $year }}">{{ $year }}</a> ({{ $num }} artworks)</li>
{{ end }}
</ol>
{{ end }}

View file

@ -1,35 +0,0 @@
{{ define "main" }}
<h2>{{ .Title }}</h2>
<hr>
{{ $paginator := .Paginate (where .RegularPagesRecursive "Type" "art") }}
{{ if eq $paginator.PageNumber 1}}
{{ with $.Params.new_banner }}
<div class="new-banner"><b>*new*</b> {{ . }}</div>
{{ end }}
<p>Welcome to my art gallery! I have saved my art since 2016, and this site contains the most complete archive of my work.</p>
<b>Contains risque art, so you should probably not view this on a work computer.</b>
<p>If you want to see other cool artists and their websites, see <a href="/links">the links page</a>.</p>
<p>You can follow me on <a href="https://mastodon.art/@redstrate">Mastodon</a>, <a href="https://www.pixiv.net/en/users/58118005" >Pixiv</a>, <a href="https://redstrate.newgrounds.com/">Newgrounds</a>, or if you like RSS feeds I have an <a href="/art/index.xml">art-only feed</a>!</p>
{{ partial "art-years" . }}
<div class="art-button-container">
<a class="art-button" href="/art/characters">Characters</a>
<a class="art-button" href="/art/tags">Tags</a>
<a class="art-button" href="/art/stats">Stats</a>
{{ if $.Params.commissions }}
<a class="art-button" href="/commission">Commissions</a>
{{ end }}
</div>
{{ end }}
{{ partial "art-gallery" . }}
{{ end }}

View file

@ -1,6 +0,0 @@
{{ define "main" }}
<h2>{{ .Title }}</h2>
<hr>
{{ partial "art-tag" . }}
{{ end }}

View file

@ -1,37 +0,0 @@
{{ define "main" }}
<h2>{{ .Title }}</h2>
<hr>
{{ .Content }}
{{ $art := (index site.Data ($.Param "json")) }}
{{ $newgrounds_icon := resources.Get "newgrounds.webp" }}
{{ range $art.categories }}
<h3>{{ .name }}</h3>
<p>{{ .description }}</p>
{{ range sort .years "year" "desc" }}
<h4>{{ .year }}</h4>
<div class="gallery">
{{ range .pieces }}
<figure>
{{ $full := resources.Get (printf "%s/%s" ($.Param "json") .filename) }}
<audio controls src="{{ $full.RelPermalink }}" preload="metadata">
Your browser does not support audio.
</audio>
<figcaption>
"{{ .title }}"
{{ if .newgrounds_url }}
<a href="{{ .newgrounds_url }}" style="vertical-align: bottom"><img style="vertical-align: bottom" alt="Newgrounds Icon" width="19" height="19" src="{{ $newgrounds_icon.RelPermalink }}"></a>
{{ end }}
</figcaption>
</figure>
{{ end }}
</div>
{{ end }}
{{ end }}
{{ end }}

View file

@ -1,14 +0,0 @@
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}" prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
{{- partial "head.html" . -}}
<body>
<header>{{- partial "header.html" . -}}</header>
<div id="content">
<aside>{{- partial "sidebar.html" . -}}</aside>
<article>
{{- block "main" . }}{{- end }}
</article>
</div>
<footer>{{- partial "footer.html" . -}}</footer>
</body>
</html>

View file

@ -1,6 +0,0 @@
{{ define "main" }}
<h2>{{ .Title }}</h2>
<hr>
{{ partial "art-tag" . }}
{{ end }}

View file

@ -1,16 +0,0 @@
{{ define "main" }}
<h2>{{ .Title }}</h2>
<hr>
{{ .Content }}
<div class="grid">
<div class="grid-sizer"></div>
{{ range .Data.Pages.ByDate.Reverse }}
{{ partial "render-art" . }}
{{ end }}
</div>
{{ end }}

View file

@ -1,29 +0,0 @@
{{ define "main" }}
<h2>{{ .Title }}</h2>
<hr>
{{ .Content }}
<table>
<tr>
<th>Title</th>
<th>Summary</th>
<th>Date</th>
</tr>
{{ range .Data.Pages.ByDate.Reverse }}
<tr>
<td><a href="{{ .RelPermalink }}">{{ .Title }}</a></td>
<td>
{{ .Summary }}
</td>
<td>
<time datetime='{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}'>{{ .Date.Format "Jan 2, 2006"}}</time>
</td>
</tr>
{{ end }}
</table>
{{ end }}

View file

@ -1,11 +0,0 @@
{{ define "main" }}
<h2>{{ .Title }}</h2>
<hr>
<ul id="all-tags">
{{ range $name, $taxonomy := (index .Site.Taxonomies .Params.listtag) }}
<li><a href="{{ $.Params.url | relLangURL }}{{ $name | urlize }}">{{ $name }}</a></li>
{{ end }}
</ul>
{{ end }}

View file

@ -1,29 +0,0 @@
{{ define "main" }}
<h2>{{ .Title }}</h2>
{{ if $.Param "source" }}
<table>
{{ with $.Param "source" }}
<tr>
<td>Source Code</td>
<td><a href='{{ . }}'>{{ . }}</a></td>
</tr>
{{ end }}
{{ with $.Param "license" }}
<tr>
<td>License</td>
<td>{{ . }}</td>
</tr>
{{ end }}
</table>
{{ end }}
<p>{{ .Summary }}</p>
<hr>
{{ .Content }}
{{ partial "related" . }}
{{ end }}

View file

@ -1,69 +0,0 @@
{{- $pctx := . -}}
{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
{{- $pages := slice -}}
{{- if or $.IsHome $.IsSection -}}
{{- $pages = $pctx.RegularPages -}}
{{- else -}}
{{- $pages = $pctx.Pages -}}
{{- end -}}
{{- $limit := .Site.Config.Services.RSS.Limit -}}
{{- if ge $limit 1 -}}
{{- $pages = $pages | first $limit -}}
{{- end -}}
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:atom="http://www.w3.org/2005/Atom"
xml:base="{{ .Site.BaseURL }}">
<channel>
<title>{{ .Site.Author.name }}'s Blog</title>
<link>{{ .Permalink }}</link>
<description>My blog where I post about the things I like and work on!</description>
{{ with .Site.LanguageCode }}<language>{{.}}</language>{{end}}
{{ with .Site.Copyright }}
<copyright>{{.}}</copyright>
{{end}}
{{ if not .Date.IsZero }}
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>
{{ end }}
{{- with .OutputFormats.Get "RSS" -}}
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
{{- end -}}
<docs>https://www.rssboard.org/rss-specification</docs>
{{ with resources.Get "rss-image.png" }}
<image>
<url>{{ .Permalink }}</url>
<title>{{ $.Site.Author.name }}'s Art</title>
<link>{{ $.Permalink }}</link>
<width>100</width>
<height>100</height>
</image>
{{ end }}
{{ range $pages }}
{{ if not (.Param "excludefeed") }}
<item>
<title>{{ .Title }}</title>
<link>{{ .Permalink }}</link>
{{ with $.Site.Author.name }}
<author>{{ . }}</author>
{{ end }}
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
<guid>{{ .Permalink }}</guid>
<description>{{ "<![CDATA[" | safeHTML }} {{ .Summary }}]]></description>
<content:encoded>{{ "<![CDATA[" | safeHTML }} {{ partial "rss.html" . | safeHTML }}]]></content:encoded>
</item>
{{ end }}
{{ end }}
</channel>
</rss>

View file

@ -1,24 +0,0 @@
{{ define "main" }}
<h2>{{ .Title }}</h2>
{{ if in .File.Dir "blog" }}
<i style="margin: 0">
Posted on
<time datetime="{{ .Page.Lastmod.Format "Mon Jan 10 17:13:38 2020 -0700" }}" class="text-muted">
{{ $.Date.Format "January 02, 2006" }}
</time>
(Updated on
<time datetime="{{ .Page.Lastmod.Format "Mon Jan 10 17:13:38 2020 -0700" }}" class="text-muted">
{{ $.Page.Lastmod.Format "January 02, 2006" }}
</time>)
</i>
{{ end }}
<hr>
<div>
{{ .Content }}
</div>
{{ partial "related" . }}
{{ end }}

View file

@ -1,80 +0,0 @@
{{ define "main" }}
<h2>{{ .Title }}</h2>
<hr>
{{ .Content }}
<h3>Personal Projects</h3>
<p>These are projects I made for my own use, but they're all freely licensed!</p>
<div class="buttons">
{{ range .Data.Pages.ByDate.Reverse }}
<div class="blurb">
<b>{{ .Title }}</b>
<p>{{ .Summary }}</p>
<ul class="nice-list">
<li>
<a href="{{ .RelPermalink }}">About</a>
</li>
{{ with .Param "source" }}
<li>
<a href="{{ . }}">Source Code</a>
</li>
{{ end }}
</ul>
</div>
{{ end }}
</div>
<h3>Contributions</h3>
<p>This a list of software projects I contributed code to.</p>
{{ $contrib := (index site.Data "contributions") }}
<div class="buttons">
{{ range $contrib.contributions }}
<div class="blurb">
<b>{{ .name }}</b>
<p>{{ .description }}</p>
<ul class="nice-list">
{{ if eq .type "kde" }}
<li>
<a href="https://invent.kde.org/{{ .id }}/-/commits/master?author={{ $.Site.Params.invent_username }}">Commits</a>
</li>
<li>
<a href="https://invent.kde.org/{{ .id }}/merge_requests?scope=all&utf8=%E2%9C%93&state=all&author_username={{ $.Site.Params.invent_username }}">MRs</a>
</li>
{{ else }}
{{ if eq .type "github" }}
<li>
<a href="https://github.com/{{ .id }}/commits?author={{ $.Site.Params.github_username }}">Commits</a>
</li>
<li>
<a href="https://github.com/{{ .id }}/pulls?q=is%3Apr+author%3A{{ $.Site.Params.github_username }}+">PRs</a>
</li>
{{ else }}
{{ if eq .type "gitlab" }}
<li>
<a href="https://gitlab.com/{{ .id }}/-/commits/master?author={{ $.Site.Params.gitlab_username }}">Commits</a>
</li>
<li>
<a href="https://gitlab.com/{{ .id }}/merge_requests?scope=all&utf8=%E2%9C%93&state=all&author_username={{ $.Site.Params.gitlab_username }}">MRs</a>
</li>
{{ end }}
{{ end }}
{{ end }}
</ul>
</div>
{{ end }}
</div>
{{ end }}

View file

@ -1,91 +0,0 @@
{{- $pctx := . -}}
{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
{{- $pages := slice -}}
{{- if or $.IsHome $.IsSection -}}
{{- $pages = $pctx.RegularPagesRecursive -}}
{{- else -}}
{{- $pages = $pctx.Pages -}}
{{- end -}}
{{- $limit := .Site.Config.Services.RSS.Limit -}}
{{- if ge $limit 1 -}}
{{- $pages = $pages | first $limit -}}
{{- end -}}
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:atom="http://www.w3.org/2005/Atom"
xml:base="{{ .Site.BaseURL }}">
<channel>
<title>{{ .Site.Author.name }}'s Art</title>
<link>{{ .Permalink }}</link>
<description>Feed of the art that I make!</description>
{{ with .Site.LanguageCode }}
<language>{{.}}</language>
{{end}}
{{ with .Site.Copyright }}
<copyright>{{.}}</copyright>
{{end}}
{{ if not .Date.IsZero }}
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>
{{ end }}
<docs>https://www.rssboard.org/rss-specification</docs>
{{ with resources.Get "rss-image.png" }}
<image>
<url>{{ .Permalink }}</url>
<title>{{ $.Site.Author.name }}'s Art</title>
<link>{{ $.Permalink }}</link>
<width>100</width>
<height>100</height>
</image>
{{ end }}
{{- with .OutputFormats.Get "RSS" -}}
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
{{- end -}}
{{ range $pages }}
{{ if not (.Param "excludefeed") }}
<item>
{{ with .Title }}
<title>{{ . }}</title>
{{ else }}
<title>Untitled Artwork</title>
{{ end }}
<link>{{ .Permalink }}</link>
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
<guid>{{ .Permalink }}</guid>
{{ with .Summary }}
<description>{{ "<![CDATA[" | safeHTML }} {{ . | safeHTML }}]]></description>
{{ else }}
<description>This artwork has no description.</description>
{{ end }}
{{ with $.Site.Author.name }}
<author>{{ . }}</author>
{{ end }}
<content:encoded>{{ "<![CDATA[" | safeHTML }}
{{ $pageScope := . }}
{{ with resources.Get .Params.filename }}
<img width="500" alt="{{ $pageScope.Params.alt_text }}" src="{{ .Permalink }}"/>
{{ end }}
{{ with .Content }}
<p>{{ . | safeHTML }}</p>
{{ else }}
<p>This artwork has no additional commentary.</p>
{{ end }}]]>
</content:encoded>
</item>
{{ end }}
{{ end }}
</channel>
</rss>

View file

@ -1,7 +0,0 @@
{{ define "main" }}
<h2>{{ .Title }}</h2>
<hr>
{{ .Content }}
{{ end }}

View file

@ -1,25 +0,0 @@
{{ $paginator := .Paginate (where .RegularPagesRecursive "Type" "art") }}
<div>
{{ range $paginator.Pages }}
{{ partial "render-art" . }}
{{ end }}
</div>
<div style="text-align: center;">
{{ with $paginator.Prev }}
<a style="float: left" href="{{ .URL }}">Prev</a>
{{ else }}
<span style="float: left">Prev</span>
{{ end }}
<span style="display: inline-block;">{{ printf "Page %d" $paginator.PageNumber }}</span>
{{ with $paginator.Next }}
<a style="float: right" href="{{ .URL }}">Next</a>
{{ else }}
<span style="float: right">Next</span>
{{ end }}
</div>

View file

@ -1,7 +0,0 @@
<h2>{{ .Title }}</h2>
<hr>
{{ .Content }}
{{ partial "art-gallery" . }}

View file

@ -1,12 +0,0 @@
<h3>Years</h3>
<div class="generic-con year-con">
{{ range $.Param "years" }}
{{ $year := . }}
<a href="/art/{{ . }}">
{{ $thumbp := printf "/year-thumbs/%d.webp" . }}
{{ with (resources.Get $thumbp).Resize "256x bmp" }}
<img width="256" height="128" alt="{{ $year }}" class="gallery-img article-img" src="{{ .RelPermalink }}">
{{ end }}
</a>
{{ end }}
</div>

View file

@ -1,45 +0,0 @@
<div class="gallery-con">
{{ with .Site.GetPage "/art" }}
{{ range .Param "featured" }}
<figure class="gallery-fig">
{{ $full := resources.Get (printf "art/%s" .filename) }}
{{ if $full }}
{{ $filename_without_ext := strings.TrimSuffix (path.Ext .filename) .filename }}
{{ $month := "1" }}
{{ $year := "1" }}
{{ if .date }}
{{ $split := split .date "-" }}
{{ $month = index $split 1 }}
{{ $year = index $split 0 }}
{{ end }}
{{ $path := printf "/art/%s/%s/%s" $year $month $filename_without_ext}}
<a href="{{ $path }}" aria-label="Click to view details">
{{ $title := .title }}
{{ with resources.Get (printf "art/%s" .filename) }}
{{ $image := .Resize "500x" }}
<img class="gallery-img featured-art" alt="{{ $title }}" width="{{ $image.Width }}" height="{{ $image.Height }}" src="{{ $image.RelPermalink }}"/>
{{ else }}
<p>Thumbnail not found!</p>
{{ end }}
</a>
<figcaption>
{{ with .title }}
<i>"{{ . }}"</i>
{{ end }}
</figcaption>
{{ else }}
<em>CANNOT FIND {{ .filename }}</em>
{{ end }}
</figure>
{{ end }}
{{ end }}
</div>

View file

@ -1,22 +0,0 @@
<hr>
<div id="f-badges">
{{ range $.Site.Menus.badges }}
{{ $badgeScope := . }}
{{ with resources.Get .URL }}
<img style="image-rendering: pixelated;" width="{{ .Width }}" height="{{ .Height }}" src="{{ .RelPermalink }}" alt="{{ $badgeScope.Name }}">
{{ end }}
{{ end }}
</div>
{{ range $.Site.Menus.footer }}
<p><a href="{{ .URL }}">{{ .Name }}</a></p>
{{ end }}
{{ with .Site.Params.geekring_site_id }}
<b>This site is a proud member of the geekring! Check some other geeky websites here!</b><br>
<a href="http://geekring.net/site/{{ . }}/previous">Previous site</a> --
<a href="http://geekring.net/site/{{ . }}/random">Random site</a> --
<a href="http://geekring.net/site/{{ . }}/next">Next site</a>
{{ end }}

View file

@ -1,19 +0,0 @@
<head>
<meta charset="utf-8">
{{ if .IsHome }}
<meta name="description" content="{{ $.Site.Params.description }}">
<title>{{.Site.Title}}</title>
{{ else }}
<title>{{.Site.Title}} / {{ .Title }}</title>
<meta name="description" content="{{ .Summary }}">
{{ end }}
<link href="/blog/index.xml" rel="alternate" type="application/rss+xml" title="{{ $.Site.Author.name }}'s blog">
<link rel="shortcut icon" href="/favicon2.ico" type="image/x-icon">
<link rel="icon" href="/favicon180.png" type="image/png">
<link rel="mask-icon" href="/safari-mask.svg" color="#9c4c4c">
<meta name="robots" content="noai">
</head>

View file

@ -1 +0,0 @@
<h1>{{ .Site.Title }}</h1>

View file

@ -1,9 +0,0 @@
{{ $related := .Site.RegularPages.Related . | first 5 }}
{{ with $related }}
<h3>See Also</h3>
<ul>
{{ range . }}
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
{{ end }}
</ul>
{{ end }}

View file

@ -1,35 +0,0 @@
{{ $full := resources.Get (printf "art/%s.webp" .Params.slug) }}
{{ if $full }}
{{ $filename_without_ext := .Params.slug }}
{{ $month := 1 }}
{{ $year := 1 }}
{{ if .Params.date }}
{{ $split := split .Params.date "-" }}
{{ $month = index $split 0 }}
{{ $year = index $split 3 }}
{{ end }}
<a href="{{ .RelPermalink }}">
{{ $path := printf "/art/%d/%.2d/%s" (int $year) (int $month) $filename_without_ext}}
{{ $title := .Params.title }}
{{ $image := (resources.Get (printf "art/%s.webp" .Params.slug)).Resize "400x bmp" }}
{{ if .Params.nsfw }}
{{ $image = $image | images.Filter (images.GaussianBlur 6) (images.Pixelate 8) }}
{{ end }}
{{ with $image }}
<img width="{{ .Width }}" height="{{ .Height }}" alt="{{ $title }}" title="{{ $title }}" src="{{ .RelPermalink }}"/>
{{ else }}
<p>Thumbnail not found!</p>
{{ end }}
</a>
{{ else }}
<em>CANNOT FIND {{.Params.slug }}</em>
{{ end }}

View file

@ -1,37 +0,0 @@
{{ $html := .Content | safeHTML }}
{{ $hrefs := findRE "href=\"([^\"]*)\"" $html }}
{{ range $href := $hrefs}}
{{ $absHref := strings.TrimPrefix "href=\"" $href }}
{{ $absHref = strings.TrimSuffix "\"" $absHref }}
{{ $absHref = printf "href=\"%s\"" ($absHref | absURL) }}
{{ $html = replace $html $href $absHref }}
{{ end }}
{{ $srcs := findRE "src=\"([^\"]*)\"" $html }}
{{ range $src := $srcs}}
{{ $absSrc := strings.TrimPrefix "src=\"" $src }}
{{ $absSrc = strings.TrimSuffix "\"" $absSrc }}
{{ $absSrc = printf "src=\"%s\"" ($absSrc | absURL) }}
{{ $html = replace $html $src $absSrc }}
{{ end }}
{{ $srcset := findRE "srcset=\"([^\"]*)\"" $html }}
{{ range $set := $srcset}}
{{ $parts := strings.TrimPrefix "srcset=\"" $set }}
{{ $parts = strings.TrimSuffix "\"" $parts }}
{{ $parts = split $parts "," }}
{{ $newSrcset := slice }}
{{ range $part := $parts }}
{{ $part = $part | replaceRE "^\\s*(.*)\\s*$" "$1" }}
{{ $lg := split $part " " }}
{{ $href := index $lg 0 | absURL }}
{{ $size := index $lg 1 }}
{{ $newSrcset = $newSrcset | append (printf "%s %s" $href $size) }}
{{ end }}
{{ $newSrcset = delimit $newSrcset ", " }}
{{ $newSrcset = printf "srcset=\"%s\"" $newSrcset }}
{{ $html = replace $html $set $newSrcset }}
{{ end }}
{{ return $html }}

View file

@ -1,7 +0,0 @@
<nav>
{{ range .Site.Menus.retromain }}
<div class="site-menu">
<a href="{{ .URL }}">{{ .Name }}</a>
</div>
{{ end }}
</nav>

View file

@ -1,2 +0,0 @@
User-agent: *
Disallow: /

View file

@ -1 +0,0 @@
{{ partial "featured-art" . }}

View file

@ -1,14 +0,0 @@
{{ if hugo.IsProduction }}
<script
data-isso="//{{ $.Site.Params.isso_url }}/"
data-isso-title=""
data-isso-avatar="false"
data-isso-vote="false"
src="//{{ $.Site.Params.isso_url }}/js/embed.min.js" crossorigin async></script>
<section id="isso-thread" data-title="Guestbook" data-isso-id="/guestbook">
<noscript>Javascript needs to be activated to view comments.</noscript>
</section>
{{ else }}
Guestbook is disabled in development mode.
{{ end }}

View file

@ -1,14 +0,0 @@
{{ $link := .Get "link" }}
{{ $banner := .Get "banner" }}
{{ $label := .Get "label" }}
<a href="{{ $link }}" style="text-decoration: none;">
{{ $path := printf "/links/%s" $banner}}
{{ $img := resources.Get $path }}
{{ with $img }}
<!-- Some browsers (safari) sucks and blocks 88x31, so force them to be 89x31 instead. -->
<img src="{{ .RelPermalink }}" style="width: auto; height: 31px; image-rendering: pixelated;" alt="{{ $label }}" width="{{ add .Width 1 }}" height="{{ .Height }}"/>
{{ end }}
</a>

View file

@ -1,4 +0,0 @@
{{ $avatar := resources.Get .Site.Params.profile_picture }}
{{ with $avatar }}
<img id="about-pic" src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}"/>
{{ end }}

View file

@ -1,8 +0,0 @@
<ul style="padding: 0">
{{ $changes := (index site.Data "recent-changes") }}
{{ range $changes.changes }}
<li style="margin-left: 10px; list-style-type: square;">
<p>{{ . }}</p>
</li>
{{ end }}
</ul>

View file

@ -1,6 +0,0 @@
{{ range first 3 (where .Site.Pages "Type" "blog").ByDate.Reverse }}
<li style="margin-left: 10px; list-style-type: square;">
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
<p><i>{{ .Summary }}</i></p>
</li>
{{ end }}

View file

@ -1,169 +0,0 @@
<!-- from https://www.brycewray.com/posts/2022/06/static-mastodon-toots-hugo/ -->
{{ $masIns := .Get 0 }}
{{ $tootLink := "" }}
{{ $card := "" }}
{{ $handleInst := "" }}
{{ $mediaMD5 := "" }}
{{ $imageCount := 0 }}
{{ $votesCount := 0 }}
{{ $id := .Get 1 }}
{{ $urlToGet := print "https://" $masIns "/api/v1/statuses/" $id }}
{{- with resources.GetRemote $urlToGet -}}
{{ if (resources.GetRemote $urlToGet).Err }}
<blockquote class="toot-blockquote">
<p class="ctr legal">[Source not online<br />
at time of site build.]</p>
</blockquote>
{{ else }}
{{ $json := unmarshal .Content }}
{{ $jsonHolder := $json }}{{/* Being safe */}}
{{ if isset $json "account" }}
{{ $tootLink = print "https://" $masIns "@" $json.account.acct "/status/" $id }}
{{ $handleInst = print "@" $json.account.acct "@" $masIns }}
{{ end }}
{{ if isset $json "content" }}
<blockquote class="generic-con" cite="{{ $tootLink }}">
<div class="toot-header">
<!-- Disabled due to CORS troubles for now -->
<!--<a class="toot-profile" href="https://{{ $masIns }}/@{{ $json.account.acct }}" rel="noopener">
<img
src="{{ $json.account.avatar }}"
alt="Mastodon avatar for {{ $handleInst }}"
loading="lazy"
/>
</a>-->
<div class="toot-author">
<span class="toot-author-name" rel="noopener">{{ $json.account.display_name }}</span>
<a class="toot-author-handle" href="https://{{ $masIns }}/@{{ $json.account.acct }}" rel="noopener">{{ $handleInst }}</a>
</div>
</div>
{{ $json.content | safeHTML }}
{{ with $json.media_attachments }}
{{ range $media_attachments := . }}
{{ if eq $media_attachments.type "image" }}
{{ $imageCount = (add ($imageCount) 1) }}
{{ end }}
{{ end }}
<div class="toot-img-grid-{{ $imageCount }}">
{{ range $media_attachments := . }}
{{ if eq $media_attachments.type "image" }}
{{ $mediaMD5 = md5 $media_attachments.url }}
<style>
.img-{{ $mediaMD5 }} {
aspect-ratio: {{ $media_attachments.meta.original.width }} / {{ $media_attachments.meta.original.height }};
}
</style>
<img
src="{{ $media_attachments.url }}"
alt="Image {{ $media_attachments.id }} from toot {{ $id }} on {{ $masIns }}"
class="toot-media-img img-{{ $mediaMD5 }}{{ if $json.sensitive }} toot-sens-blur{{ end }}"
loading="lazy"
{{- if $json.sensitive }}onclick="this.classList.toggle('toot-sens-blur-no')"{{- end }}
/>
{{- if $json.sensitive -}}
<div class="blur-text">
Sensitive content<br />
(flagged&nbsp;at&nbsp;origin)
</div>
{{- end -}}
{{ end }}
{{ end }}
</div>
{{/*
N.B.:
The above results in an empty, no-height div
when there's no image but there **is**
at least one item in `$media_attachments`.
Unfortunately, it seems to be the only way
to accomplish this. Not a good HTML practice,
but gets the job done.
*/}}
{{ range $media_attachments := . }}
{{ if eq $media_attachments.type "video" }}
{{ $mediaMD5 = md5 $media_attachments.url }}
<style>
.img-{{ $mediaMD5 }} {
aspect-ratio: {{ $media_attachments.meta.original.width }} / {{ $media_attachments.meta.original.height }};
}
</style>
<div class="ctr toot-video-wrapper">
<video muted playsinline controls class="ctr toot-media-img img-{{ $mediaMD5 }}{{ if $json.sensitive }} toot-sens-blur{{ end }}"{{- if $json.sensitive }}onclick="this.classList.toggle('toot-sens-blur-no')"{{- end }}>
<source src="{{ $media_attachments.url }}">
<p class="legal ctr">(Your browser doesn&rsquo;t support the <code>video</code> tag.)</p>
</video>
{{- if $json.sensitive -}}
<div class="blur-text">
Sensitive content<br />
(flagged&nbsp;at&nbsp;origin)
</div>
{{- end -}}
</div>
{{ end }}
{{ if eq $media_attachments.type "gifv" }}
{{ $mediaMD5 = md5 $media_attachments.url }}
<style>
.img-{{ $mediaMD5 }} {
aspect-ratio: {{ $media_attachments.meta.original.width }} / {{ $media_attachments.meta.original.height }};
}
</style>
<div class="ctr toot-video-wrapper">
<video loop autoplay muted playsinline controls controlslist="nofullscreen" class="ctr toot-media-img img-{{ $mediaMD5 }}{{ if $json.sensitive }} toot-sens-blur{{ end }}" {{- if $json.sensitive }}onclick="this.classList.toggle('toot-sens-blur-no')"{{- end }}>
<source src="{{ $media_attachments.url }}">
<p class="legal ctr">(Your browser doesn&rsquo;t support the <code>video</code> tag.)</p>
</video>
{{- if $json.sensitive -}}
<div class="blur-text">
Sensitive content<br />
(flagged&nbsp;at&nbsp;origin)
</div>
{{- end -}}
</div>
{{ end }}
{{ end }}
{{ end }}
{{ with $json.card }}
{{- $cardData := . -}}
{{- with $cardData.image -}}
<a href="{{ $cardData.url }}" rel="'noopener">
<div class="toot-card">
<div class="toot-card-image">
<img src="{{ $cardData.image }}" alt="Card image from {{ $masIns }} toot {{ $id }}" loading="lazy" class="toot-card-image-image" />
</div>
<div class="toot-card-content">
<p class="card-title">{{ $cardData.title }}</p>
<p class="card-description">{{ $cardData.description }}</p>
</div>
</div>
</a>
{{- end -}}
{{ end }}
{{ with $json.poll }}
{{ $poll := . }}
{{ with $poll.options }}
{{ range $pollOptions := . }}
{{ $votesCount = add $votesCount $pollOptions.votes_count }}
{{ end }}
<div class="toot-poll-wrapper">
{{ range $pollOptions := . }}
<div class="toot-poll-count">
<strong>{{ (mul 100 (div $pollOptions.votes_count $votesCount)) | lang.FormatPercent 1 }}</strong>
</div>
<div class="toot-poll-meter">
<meter id="vote-count" max="{{ $votesCount }}" value="{{ $pollOptions.votes_count }}"></meter>
</div>
<div class="toot-poll-title">{{ $pollOptions.title }}</div>
{{ end }}
</div>
<p class="legal toot-poll-total">{{ $votesCount }} people</p>
{{ end }}
{{ end }}
<div class="toot-footer">
<a href="https://{{ $masIns }}/@{{ $json.account.acct }}/{{ $json.id }}" class="toot-date" rel="noopener">{{ dateFormat "3:04 PM • January 2, 2006" $json.created_at }}</a>&nbsp;<span class="pokey">(UTC)</span>
</div>
</blockquote>
{{ end }}
{{ end }}
{{- end -}}

View file

@ -1,3 +0,0 @@
<video width=100% controls>
<source src="{{ .Get 0 }}">
</video>

View file

@ -1,12 +0,0 @@
name = "retro"
license = "MIT"
licenselink = "https://git.sr.ht/~redstrate/redstrate.com/tree/master/item/themes/retro/LICENSE"
description = "Custom Hugo theme for use on redstrate.com"
homepage = "https://redstrate.com/"
tags = []
features = []
min_version = "0.41.0"
[author]
name = "redstrate <josh@redstrate.com>"
homepage = "https://redstrate.com/"