undo deletions

This commit is contained in:
Gabriel 2023-11-26 01:53:04 -05:00
parent 6947fccb56
commit 6bd5d30a6e
32 changed files with 2357 additions and 0 deletions

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "layouts/shortcodes"]
path = layouts/shortcodes
url = https://code.gabe.rocks/gabriel/shortcodes.git

20
LICENSE Normal file
View file

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2022 YOUR_NAME_HERE
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.

2
archetypes/default.md Normal file
View file

@ -0,0 +1,2 @@
+++
+++

23
layouts/404.html Normal file
View file

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html>
<head>
{{partial "head" .}}
<title>404: Not Found</title>
</head>
<body>
{{partial "header" .}}
{{partial "banner-item" .}}
<main>
<article>
<h1>Error 404</h1>
<p>Unfortunately this isn't a real page (yet?).<br>
If you believe this is a mistake please <a href="mailto:contact@libresolutions.network?subject=RE:%20404">get in touch</a>.</p>
<p>A search function is in the works...</p>
<p>Please consider <a href="/about/#supporting-this-work">Supporting this work</a></p>
</article>
</main>
<hr>
{{partial "footer" .}}
{{partial "spritesheet" .}}
</body>
</html>

View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html>
<head>
{{partial "head" .}}
</head>
<body>
{{partial "header" .}}
{{partial "banner" .}}
{{partial "spritesheet" .}}
<main>
<section>
{{if .Content}}
{{.Content}}
{{end}}
{{ template "_internal/pagination.html" .}}
<div class="gallery">
{{ if .Pages }}
{{range (.Paginate .Pages).Pages}}
{{partial "item" .}}
{{end}}
{{end}}
</div>
{{ template "_internal/pagination.html" .}}
</section>
</main>
<hr>
{{partial "footer" .}}
</body>
</html>

28
layouts/_default/rss.xml Normal file
View file

@ -0,0 +1,28 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>{{.Title}}</title>
<link>{{ .Permalink }}</link>
<description>{{.Params.description}}</description>
<generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
<language>{{.}}</language>{{end}}
<image>
<url>{{.Site.BaseURL}}{{.Site.Params.default_img}}</url>
</image>
<atom:link href="{{.Site.BaseURL}}/index.xml" rel="self" type="application/rss+xml" />{{ range .Site.RegularPages }}
<item>
<title>{{ .Title }}</title>
<link>{{ .Permalink }}</link>
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
<guid>{{ .Permalink }}</guid>{{ if .Params.gif}}
<enclosure url="{{.Site.BaseURL}}{{.Params.gif}}" />
{{end}}{{ if .Params.video}}
<enclosure url="{{.Params.video}}" />
{{end}}{{ if .Params.audio}}
<enclosure url="{{.Site.BaseURL}}{{.Params.audio}}" />
{{end}}{{ if .Params.image}}
<image>{{.Site.BaseURL}}{{.Params.image}}</image>{{end}}
<description>{{- .Content | html -}}</description>
</item>{{ end }}
</channel>
</rss>

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
{{partial "head" .}}
</head>
<body>
{{partial "header" .}}
{{partial "banner-item" .}}
<main>
<article>
{{.Content}}
</article>
{{partial "metadata" .}}
{{ partial "related" .}}
</main>
<hr>
{{partial "footer" .}}
{{partial "spritesheet" .}}
</body>
</html>

28
layouts/about/rss.xml Normal file
View file

@ -0,0 +1,28 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>{{.Site.Title}}</title>
<link>{{ .Site.BaseURL }}</link>
<description>{{.Site.Params.description}}</description>
<generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
<language>{{.}}</language>{{end}}
<image>
<url>{{.Site.BaseURL}}{{.Site.Params.default_img}}</url>
</image>
<atom:link href="{{.Site.BaseURL}}/about/index.xml" rel="self" type="application/rss+xml" />{{ range .Site.RegularPages | first 5}}
<item>
<title>{{ .Title }}</title>
<link>{{ .Permalink }}</link>
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
<guid>{{ .Permalink }}</guid>{{ if .Params.gif}}
<enclosure url="{{.Site.BaseURL}}{{.Params.gif}}" />
{{end}}{{ if .Params.video}}
<enclosure url="{{.Params.video}}" />
{{end}}{{ if .Params.audio}}
<enclosure url="{{.Site.BaseURL}}{{.Params.audio}}" />
{{end}}{{ if .Params.image}}
<image>{{.Site.BaseURL}}{{.Params.image}}</image>{{end}}
<description>{{- .Content | html -}}</description>
</item>{{ end }}
</channel>
</rss>

21
layouts/index.html Normal file
View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
{{partial "head" .}}
</head>
<body>
{{partial "header" .}}
{{partial "banner" .}}
<main>
<article>
{{.Content}}
</article>
</main>
<hr>
{{ partial "footer" .}}
{{partial "spritesheet" .}}
</body>
</html>

View file

@ -0,0 +1,8 @@
{{if .Params.image }}
<section id="banner" style='background-image:url({{.Site.BaseURL}}{{.Params.image}});'>
<div id="banner-text">
<h1>{{.Title}}</h1>
<i>{{.Params.description}}</i>
</div>
</section>
{{end}}

View file

@ -0,0 +1,14 @@
{{if .Params.banner}}
<section id="banner" style='background-image:url({{.Site.BaseURL}}{{.Params.banner}})'>
{{if .Params.bannerTitle}}
<div id="banner-text">
{{if .Params.bannerTitle}}
<h1>{{.Params.bannerTitle}}</h1>
{{end}}
{{if .Params.bannerText}}
<i>{{.Params.bannerText}}</i>
{{end}}
</div>
{{end}}
</section>
{{end}}

View file

@ -0,0 +1,3 @@
<footer>
<p><a href="https://code.gabe.rocks/gabriel/quickstart-freedom">Freedom</a> created by <a href="https://gabe.rocks">Gabriel</a></p>
</footer>

View file

@ -0,0 +1,31 @@
<title>{{ .Title}}</title>
<link rel="stylesheet" href="{{.Site.BaseURL}}/css/theme.css?d={{.Date.Unix}}">
<link rel="stylesheet" href="{{.Site.BaseURL}}/style.css?d={{.Date.Unix}}">
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="title" content="{{ .Site.Title }}">
<meta name="description" content="{{.Params.description}}">
<meta name="og:site_name" content="Libre Solutions Network">
<meta property="og:title" content="{{ .Title }}">
<meta property="og:description" content="{{.Params.description}}">
<meta property="og:url" content="{{.Permalink}}">
{{if .Params.video}}
<meta name="twitter:card" content="player"/>
<meta property="og:video" content="{{.Site.BaseURL}}/embed?v={{.Params.video}}">
<meta property="og:video:url" content="{{.Site.BaseURL}}/embed?v={{.Params.video}}">
<meta property="og:video:secure_url" content="{{.Site.BaseURL}}/embed?v={{.Params.video}}">
<meta property="og:type" content="video">
<link rel="alternate" type="application/rss+xml" href="{{.Site.BaseURL}}/index.xml">
{{else}}
{{if .Params.peertubeURL}}
<meta property="og:video" content="{{.Params.peertubeURL}}">
{{else}}
{{if .Params.audioURL}}
<meta property="og:audio" content="{{.Site.BaseURL}}{{.Params.audioURL}}">
<meta property="og:type" content="audio">
{{else}}<meta property="og:type" content="website">
{{end}}{{end}}{{end}}{{ if .Params.image }}
<meta property="og:image" content="{{.Site.BaseURL}}{{.Params.image}}">
{{else}}<meta property="og:image" content="{{.Site.BaseURL}}logo.webp">
{{end}}

View file

@ -0,0 +1,22 @@
<header>
<a href="{{.Site.BaseURL}}">
<img src="{{.Site.Params.default_img}}">
</a>
<div>
<h1>{{.Site.Title }}</h1>
<i>{{.Site.Params.subtitle}}</i>
</div>
<nav>
<a href="{{.Site.BaseURL}}"><h2>Home</h2></a>
{{ range .Site.Sections}}
<a href="{{.RelPermalink}}"><h2>{{.Title}}</h2></a>
{{end}}
</nav>
<div>
<a href="{{.Site.BaseURL}}/index.xml">
<svg class="icon">
<use href="#rss"></use>
</svg>
</a>
</div>
</header>

View file

@ -0,0 +1,9 @@
<section class="listing" {{if .Params.image}} style="background-image:url({{.Site.BaseURL}}{{.Params.image}}" {{end}}>
<div class="listing-text">
<a href="{{.Permalink}}" ><h2>{{.Title}}</h2><i>{{.Params.description}}</i></a>
<span></span>
</div>
</section>

View file

@ -0,0 +1,36 @@
<section class="metadata" id="metadata" style="display:flex;flex-direction:column;flex-wrap:nowrap">
{{$author := index .Site.Data.details.staff (.Params.author | default "default")}}
<div style="flex-direction: row;align-items: flex-end;">
<div>
<a href="{{$author.url}}">
<img src="{{$author.image}}" style="max-width:64px;border-radius:64px;">
</a>
<h2>{{$author.name}}</h2>
</div>
<div style="justify-content: space-between;">
<strong>Support</strong>
{{ if $author.donate}}
<a href="{{$author.donate}}">Donate</a>
{{end}}
{{ if $author.bitcoin}}
<a href="bitcoin:{{$author.bitcoin}}?label=Gabriel">Bitcoin</a>
{{end}}
{{ if $author.monero}}
<a href="monero:{{$author.monero}}">Monero</a>
{{end}}
</div>
<p>
{{if .Date }}<strong>Published:</strong> <a href="{{.Permalink}}#metadata">{{.Date | time.Format "Jan 02 2006"}}</a>
{{end}}
{{if .Params.updated}}
<br><strong>Updated:</strong> {{.Params.updated | time.Format "Jan 02 2006"}}
{{end}}
{{if .GetTerms "tags"}}<br>
<strong>Tags:</strong>
{{ range (.GetTerms "tags")}}
<a href="{{.Permalink}}" class="tag">{{.LinkTitle}}</a>
{{end}}
{{end}}
</p>
</div>
</section>

View file

@ -0,0 +1,5 @@
<div class="gallery">
{{range .Site.RegularPages.Related . | first 3 }}
{{partial "item" .}}
{{end}}
</div>

View file

@ -0,0 +1,5 @@
<h2 style="text-align:center;width:100%">Recent Content</h2>
{{range first 3 .Site.RegularPages}}
{{ partial "item" .}}
{{end}}

View file

@ -0,0 +1,386 @@
<svg style="display:none;">
<symbol id="shrink"
viewBox="0 0 200 200"
><g>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="M 71.298823,69.935263 H -0.03828632 V 47.871962 H 48.197793 V 0.02489375 h 23.10103 z"
/>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="M 130.09,71.338352 V 0.0012511 h 22.0633 V 48.237331 h 47.84706 v 23.101021 z"
/>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 128.67057,130.06552 h 71.3371 v 22.0633 H 151.7716 v 47.84707 h -23.10103 z"
/>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 69.879393,128.66243 v 71.3371 H 47.816094 V 151.76345 H -0.03097146 v -23.10102 z"
/>
</g>
</symbol>
<symbol id="loop"
viewBox="0 0 200 200"
>
<g>
<ellipse
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:9.68031;stroke-linejoin:round;stroke-opacity:1"
cy="99.93528"
cx="100.03613"
rx="95.000404"
ry="95.057236" />
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:12.8675;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="M 162.21491,61.314175 A 74.835358,74.835358 0 0 1 154.64285,152.9351 74.835358,74.835358 0 0 1 63.965737,168.08076 74.835358,74.835358 0 0 1 27.028787,83.894118 74.835358,74.835358 0 0 1 99.575333,27.425293" />
<path
style="opacity:0.99;fill-opacity:0.992157;stroke-width:1.03207;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="M 98.430641,10.898139 V 44.814313 L 123.1298,27.657939 Z"
/>
</g>
</symbol>
<symbol id="substack"
viewBox="0 0 200 200"
>
<g>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:1;stroke-width:22.7343;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="M 35.819292,74.079299 H 164.18071"
/>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:1;stroke-width:22.7343;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="M 35.891493,29.66426 H 164.25291"
/>
<path
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:6.14662;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-opacity:1"
d="M 24.935915,106.69884 H 175.06409 v 84.5545 l -74.82841,-43.26855 -75.299765,43.26855 z"
/>
</g>
</symbol>
<symbol id="prev"
viewBox="0 0 120 120"
>
<g>
<path
style="fill:none !important;;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:20;stroke-dasharray:none;stroke-opacity:1"
d="M 116.6333,74.605732 H 49.837743 V 97.8903 L 3.3665561,59.544515 49.7379,22.109708 v 22.675377 h 66.8954 z"
/>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:19.4028px;line-height:1.25;font-family:sans-serif;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="39.456932"
y="66.934982"
><tspan
style="font-weight:bold;font-size:19.4028px;stroke-width:0.264583"
x="39.456932"
y="66.934982">Prev</tspan></text>
</g>
</symbol>
<symbol id="headphones"
viewBox="0 0 210 210"
>
<g>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:14.6469;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="M 38.511665,103.48123 A 68.018555,68.018555 0 0 1 106.53022,35.462677 68.018555,68.018555 0 0 1 174.54877,103.48123"
/>
<ellipse
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke:none;stroke-width:14.6469;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
cx="66.965881"
cy="181.87686"
rx="2.6438539"
ry="28.201105" />
<path
style="opacity:0.99;fill-opacity:0.992157;stroke-width:15;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m -106.70314,157.58701 a 40.838184,44.488354 0 0 1 -20.41909,38.52804 40.838184,44.488354 0 0 1 -40.83818,0 40.838184,44.488354 0 0 1 -20.4191,-38.52804"
transform="rotate(-90)" />
<path
style="opacity:0.99;fill-opacity:0.992157;stroke-width:15;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 187.35309,-52.263748 a 40.838184,44.488354 0 0 1 -20.41909,38.528045 40.838184,44.488354 0 0 1 -40.83819,-10e-7 40.838184,44.488354 0 0 1 -20.41909,-38.528044"
transform="rotate(90)" />
<rect
style="opacity:0.99;fill-opacity:0.992157;stroke-width:1.02322;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
width="9.0904961"
height="95.662933"
x="50.762516"
y="99.513329" />
<rect
style="opacity:0.99;fill-opacity:0.992157;stroke-width:1.02322;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
width="9.0904961"
height="95.662933"
x="153.0656"
y="99.7257" />
</g>
</symbol>
<symbol id="expand"
viewBox="0 0 200 200"
>
<g>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="M -0.03828632,0.02489375 H 71.298823 V 22.088195 H 23.062744 V 69.935263 H -0.03828632 Z"
/>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="M 200.00036,0.0012511 V 71.338352 h -22.0633 V 23.102272 H 130.09 V 0.0012511 Z"
/>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 200.00767,199.97589 h -71.3371 v -22.0633 h 48.23607 v -47.84707 h 23.10103 z"
/>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m -0.03097146,199.99953 v -71.3371 H 22.032328 v 48.23608 h 47.847065 v 23.10102 z"
/>
</g>
</symbol>
<symbol id="pause"
viewBox="0 0 200 200"
>
<g>
<ellipse
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:9.68031;stroke-linejoin:round;stroke-opacity:1"
cy="99.93528"
cx="100.03613"
rx="95.000404"
ry="95.057236" />
<rect
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:0.903084;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
width="34.369987"
height="121.93053"
x="57.219501"
y="42.457039" />
<rect
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:0.903084;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
width="34.369987"
height="121.93053"
x="115.24053"
y="42.650131" />
</g>
</symbol>
<symbol id="link"
viewBox="0 0 200 200"
>
<g>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:13.2824;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="m 124.73051,54.085411 32.40251,-37.913745 c 14.1507,-16.55752582 47.43594,12.112318 33.3954,28.540963 L 121.22371,125.80514 C 106.92066,142.54096 73.29526,114.26912 87.828318,97.264184 L 97.64213,85.781162"
/>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:13.2824;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="M 82.334206,140.08015 49.931702,177.99389 C 35.780999,194.55141 2.4957562,165.88157 16.536295,149.45293 L 85.841002,68.360413 C 100.14406,51.624595 133.76946,79.896436 119.2364,96.901374 l -9.81381,11.483016"
/>
</g>
</symbol>
<symbol id="btc"
viewBox="0 0 200 200"
>
<g>
<circle
style="opacity:0.99;fill:none !important;;fill-opacity:1;stroke-width:8;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
cx="100"
cy="100"
r="92.324692" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:179.605px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;opacity:0.99;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
x="83.549644"
y="186.25789"
transform="rotate(-15.468221)"><tspan
style="fill-opacity:1;stroke:none;stroke-width:4;stroke-dasharray:none"
x="83.549644"
y="186.25789">B</tspan></text>
<rect
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:7.99999;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
width="9.3419447"
height="15.677465"
x="43.400417"
y="47.026237"
rx="0"
ry="0"
transform="rotate(-15.468221)" />
<rect
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:7.99999;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
width="9.3419447"
height="15.677465"
x="66.457565"
y="47.152031"
rx="0"
ry="0"
transform="rotate(-15.468221)" />
<rect
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:7.99999;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
width="9.3419447"
height="15.677465"
x="43.380985"
y="186.2144"
rx="0"
ry="0"
transform="rotate(-15.468221)" />
<rect
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:7.99999;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
width="9.3419447"
height="15.677465"
x="66.41478"
y="186.15088"
rx="0"
ry="0"
transform="rotate(-15.468221)" />
<rect
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:7.99999;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
width="28.949465"
height="19.075401"
x="22.285784"
y="167.17883"
rx="0"
ry="0"
transform="rotate(-15.468221)" />
<rect
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:7.99999;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
width="28.949465"
height="19.075401"
x="23.174849"
y="62.679756"
rx="0"
ry="0"
transform="rotate(-15.468221)" />
</g>
</symbol>
<symbol id="rss"
viewBox="0 0 200 200"
>
<g>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke-width:4.99999;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="m 15.529035,160.46959 a 26.28293,26.28293 0 0 1 26.42547,-26.09156 26.28293,26.28293 0 0 1 26.139524,26.37803 26.28293,26.28293 0 0 1 -26.330503,26.1874 26.28293,26.28293 0 0 1 -26.235185,-26.28289" />
<path
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;paint-order:fill markers stroke"
d="m 14.878779,74.913223 v 30.280507 c 0,0 37.205853,-2.52487 59.963303,20.23258 22.123021,22.12302 20.13303,62.52756 20.13303,62.52756 h 33.851408 c 0,0 1.41061,-48.7721 -35.623416,-85.80612 C 61.559233,70.503879 14.878779,74.913223 14.878779,74.913223 Z"
/>
<path
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="M 16.513336,9.3088266 V 48.312377 c 0,0 67.5859,4.356974 97.619314,34.390381 38.45846,38.458452 43.70858,104.340882 43.70858,104.340882 h 32.05003 c 0,0 0.99521,-77.86873 -52.66008,-131.524025 C 95.780501,14.068931 16.513336,9.3088266 16.513336,9.3088266 Z"
/>
</g>
</symbol>
<symbol id="email"
viewBox="0 0 210 210"
>
<g>
<path
style="fill:none !important;;fill-opacity:1;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="M 199.7532,30.626328 V 156.0798 H 6.7479992 V 30.626328 Z"
/>
<path
style="fill:none !important;;fill-opacity:1;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="M 199.7532,30.626328 155.51095,121.36055 H 43.227339 L 8.4585796,30.626328"
/>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:66.3222px;line-height:1.25;font-family:sans-serif;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="72.000824"
y="94.79673"
><tspan
style="font-weight:bold;font-size:66.3222px;stroke-width:0.264583"
x="72.000824"
y="94.79673">@</tspan></text>
</g>
</symbol>
<symbol id="next"
viewBox="0 0 120 120"
>
<g>
<path
style="fill:none !important;;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:20;stroke-dasharray:none;stroke-opacity:1"
d="M 3.3666991,45.394268 H 70.162259 V 22.1097 L 116.63345,60.455485 70.262102,97.890292 V 75.214915 H 3.3666991 Z"
/>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:19.4028px;line-height:1.25;font-family:sans-serif;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="39.456932"
y="66.934982"
><tspan
style="font-weight:bold;font-size:19.4028px;stroke-width:0.264583"
x="39.456932"
y="66.934982">Next</tspan></text>
</g>
</symbol>
<symbol id="play"
viewBox="0 0 200 200"
>
<g>
<ellipse
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:9.68031;stroke-linejoin:round;stroke-opacity:1"
cy="99.93528"
cx="100.03613"
rx="95.000404"
ry="95.057236" />
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 68.503477,169.27357 c -5.757834,-3.32429 -4.829598,-135.759422 0,-138.547791 5.258545,-3.036022 106.900773,62.443169 106.900773,71.382371 0,9.46586 -101.820676,70.09842 -106.900773,67.16542 z"
/>
</g>
</symbol>
<symbol id="tag"
viewBox="0 0 200 200"
>
<g>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="m 6.281763,111.86211 c 0,12.99786 67.485752,80.84067 77.193916,80.84067 9.757909,0 74.315171,-70.29527 89.112641,-85.09274 6.99227,-6.99228 6.83158,-88.060832 6.83158,-88.060832 0,0 -77.7666,3.606593 -84.025496,7.220168 C 76.605972,37.616882 6.281763,99.864196 6.281763,111.86211 Z"
/>
<circle
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
cx="138.22505"
cy="-78.649734"
r="12.46391"
transform="rotate(46.321904)" />
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="m 32.307964,111.18133 59.64203,59.64203 z"
/>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="M 45.070354,98.671666 104.71238,158.3137 Z"
/>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="m 57.643191,85.97246 59.642029,59.64203 z"
/>
</g>
</symbol>
</svg>

After

Width:  |  Height:  |  Size: 19 KiB

25
layouts/podcast/rss.xml Normal file
View file

@ -0,0 +1,25 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:media="http://search.yahoo.com/mrss/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:podcast="https://podcastindex.org/namespace/1.0" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<channel>
<title>{{.Title}}</title>
<language>en</language>
<description>{{.Site.Params.subtitle}}</description>
<image>
<url>{{.Site.BaseURL}}{{.Site.Params.default_img}}</url>
</image>
{{ range .Pages }}
<item>
<title>{{ .Title }}</title>
<link>{{ .Permalink }}</link>
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
<guid>{{ .Permalink }}</guid>{{ if .Params.video}}
<enclosure url="{{.Site.BaseURL}}{{.Params.video}}" />
{{end}}{{ if .Params.audio}}
<enclosure url="{{.Site.BaseURL}}{{.Params.audio}}" />
{{end}}{{ if .Params.image}}
<image>{{.Params.image}}</image>{{end}}
<description>{{- .Summary | html -}}</description>
</item>{{ end }}
</channel>
</rss>

17
readme.md Normal file
View file

@ -0,0 +1,17 @@
# Freedom
## A hugo Theme
![](https://gabe.rocks/themes/valor//media/freedom.webp)
### Why use these themes?
There are many wonderful themes on [themes.gohugo.io](https://themes.gohugo.io) that may suit your preferences. Our goal is to create themes that make it easy for users to make rich experiences, all without introducing unnecessary external dependencies.
The themes are designed with these goals in mind:
* Ease of use
* Ease of customization
* Supporting multimedia content
* Performance
* Sensible and minimal use of javascript
* Responsive

818
static/css/theme.css Normal file
View file

@ -0,0 +1,818 @@
body {
--theme-color-primary: black;
--theme-color-secondary: white;
--theme-accent: gold;
font-size: 20px;
line-height: 26px;
width: 100vw;
margin: 0px;
padding: 0px;
overflow-x: hidden;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-evenly;
align-items: center;
color: var(--theme-color-secondary);
background-color: var(--theme-color-primary);
font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
}
.background-photo {
position: fixed;
top: 40vh;
max-width: 80vw;
max-height: 70vh;
z-index: -1;
}
header {
margin-top: 5px;
}
header img {
max-height: 6rem;
}
header a {
text-decoration: none;
}
header a:hover {
text-decoration: underline;
}
header,
footer {
text-align: center;
width: 100vw;
font-size: 20px;
line-height: 16px;
}
header h1 {
line-height: 80%;
margin-top: 5px;
}
footer {
flex-direction: row;
display: flex;
justify-content: center;
align-items: center;
}
footer>div {
flex-direction: row;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
}
footer>div>div {
display: flex;
flex-direction: column;
align-items: center;
margin: 15px;
}
footer img {
width: 8rem;
}
footer a {
margin: 2px;
}
nav {
border-radius: 30%;
font-size: 12px;
}
a {
color: var(--theme-accent);
}
a:visited {
color: var(--theme-accent);
}
hr {
width: 100%;
margin-top: 15px;
margin-bottom: 15px;
color: var(--theme-accent);
}
main,
aside {
display: flex;
flex-direction: column;
align-items: center;
}
article {
max-width: 90vw;
}
article>* {
max-width: 90vw;
}
#main-content {
min-width: 30vw;
}
.listing {
margin: 15px;
width: 540px;
height: 280px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
background-size: cover;
background-repeat: no-repeat;
background-position-x: center;
background-position-y: bottom;
border-radius: 15px;
text-align: center;
margin-bottom: 25px;
}
.listing-text {
width: 100%;
height: 100%;
border-radius: 15px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: bolder;
text-decoration: none !important;
background-color: rgba(0, 0, 0, 0.25);
}
.listing-text h2 {
margin: 0;
}
.listing-text i {
display: block;
max-width: 80%;
}
.listing-text>a {
width: fit-content;
border-bottom-style: none;
background-color: rgba(0, 0, 0, 0.25);
backdrop-filter: blur(55px);
padding: 25px;
border-radius: 25px;
max-width: 80%;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.listing-text:hover>a {
animation: blur-out 0.2s;
background-color: transparent;
backdrop-filter: none;
}
.listing-text:hover {
animation: blur-in 0.2s;
backdrop-filter: blur(15px);
background-color: rgba(0, 0, 0, 0.55);
}
.listing .tags a {
font-size: 12px;
}
.listing .tags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-evenly;
}
img,
video {
max-width: 95%;
}
audio {
width: 100%;
}
.metadata {
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-start;
width: 90%;
flex-wrap: wrap;
margin-top: 1rem;
}
.metadata>* {
margin: 5px;
}
.metadata h2{
margin: 5px;
}
.metadata>div>* {
margin: 5px;
}
#tags {
max-width: 30rem;
}
header {
text-align: center;
background-color: transparent;
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
justify-content: space-evenly;
}
nav {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
justify-content: space-evenly;
}
nav>a {
margin: 10px;
}
section {
display: flex;
flex-direction: column;
align-items: center;
}
section div {
display: flex;
flex-direction: column;
align-items: center;
}
article {
margin-top: 1rem;
margin-bottom: 1rem;
padding: 0.5rem;
display: flex;
flex-direction: column;
align-items: center;
font-family: Verdana, Geneva, Tahoma, sans-serif;
width: 70rem;
font-size: 26px;
line-height: 36px;
max-width: 90vw;
}
@media screen and (orientation:portrait) {
article {
font-size: 22px;
line-height: 28px;
}
}
article table {
width: 80%;
}
article .media-container {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
}
article section {
width: 100%;
}
.media-container a {
width: 100%;
display: flex;
align-items: center;
flex-direction: column;
}
article td,
article th {
width: fit-content;
}
article .footnotes {
width: 100%;
}
article .footnotes a {
text-decoration: none;
}
article sup a {
text-decoration: none;
}
blockquote {
margin-left: 10%;
padding-left: 2.5rem;
width: 80%;
border-left: 0.5rem solid var(--theme-accent);
font-style: italic;
}
section ul,
section ol,
article ol,
article ul {
width: 90%;
}
article>a {
text-align: center;
}
article h2,
article h1 {
width: 100%;
text-align: center;
}
article h3,
section h3,
article h4,
section h4,
article h5,
article p {
width: 100%;
text-align: left;
margin: 15px;
}
article h3 {
text-decoration: underline;
margin: 20px;
}
article img {
align-self: center;
max-width: 95%;
max-height: 60vh
}
article video {
height: 40rem;
width: 95%;
max-height: 60vh;
background-color: transparent;
}
article iframe {
height: auto;
width: 80%;
aspect-ratio: 4/2.5;
}
article>section>a {
display: flex;
flex-direction: column;
align-items: center;
}
table {
width: fit-content;
}
td,
th {
margin: 0;
padding: 0.25rem;
width: min-content;
text-align: left !important;
}
video {
background-color: black;
}
.link-preview {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
padding: 1.5%;
justify-content: left;
text-decoration: none;
text-align: left;
width: 80%;
box-shadow: 0px 0px 0.5rem var(--theme-accent);
border-radius: 2rem;
overflow: hidden;
margin-bottom: 1rem;
margin-top: 1rem;
}
.link-preview>div {
margin: 1rem;
}
.link-preview>img {
max-width: 20rem;
}
.link-preview>div>p {
text-decoration: none !important;
color: var(--theme-color-secondary);
}
#sidebar {
padding-top: 0;
align-items: flex-start;
min-width: 540px;
}
.recent *,
.featured * {
margin: 0.25rem;
padding: 0;
text-align: left;
}
.recent p,
.featured p {
min-width: 20vw;
}
.recent img,
.featured img,
.recent video,
.featured video {
max-width: 15vw;
margin: 0.25rem;
}
#social-links {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: baseline;
justify-content: space-evenly;
}
.social-link {
display: flex;
flex-direction: column;
align-items: center;
margin: 1rem;
}
.social-link img {
width: 2.5rem;
}
@media print {
body {
background-color: white;
}
header,
footer {
display: none;
}
body>img {
display: none;
}
img {
max-height: 60vh;
}
*,
main,
section {
color: black;
background-color: white;
border: none;
box-shadow: none;
padding: 0;
max-width: 90vw;
}
}
.recent,
.featured {
width: 100%;
display: flex;
flex-direction: row;
align-items: flex-start;
justify-content: flex-start;
padding: 1rem;
}
.featured a,
.recent a {
width: initial;
}
.section-heading {
color: var(--theme-accent);
width: 100%;
}
.gallery {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
width: 90vw;
}
#banner {
position: relative;
width: 100vw;
padding-top: 3rem;
padding-bottom: 3rem;
max-height: 20vh;
overflow: hidden;
background-repeat: no-repeat;
background-size: cover;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background-position: center;
background-position-y: center;
}
#banner-text {
max-height: 20vh;
width: fit-content;
color: white;
background-color: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(0.25rem);
min-width: 10vw;
border-radius: 25px;
text-shadow: 1px 1px 2px black;
padding: 1.5rem;
font-size: 22px;
}
#banner-text>* {
margin: 5px;
}
.media-container {
margin-bottom: 1rem;
}
.media-container,
.media-container a {
width: fit-content;
display: flex;
flex-direction: column;
justify-content: center;
}
.caption {
width: 100%;
text-align: center;
}
.gallery>* {
margin-bottom: 1.5rem;
}
#content-list {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-evenly;
}
@media screen and (orientation:portrait) {
main {
align-items: center;
width: 100vw;
}
.link-preview {
flex-direction: column;
}
.recent,
.featured {
flex-direction: column;
align-items: center;
width: 100%;
}
.listing img,
.listing video {
width: unset;
max-width: 100%;
height: 25vh;
padding-left: 2vw;
padding-right: 2vw;
}
.recent img,
.featured img,
.recent video,
.featured video {
max-width: unset;
width: 100%;
margin: 0;
}
.listing {
max-width: 90vw;
max-height: 40vh;
}
.listing-text {
font-size: 14px;
}
nav {
font-size: 10px;
line-height: 14px;
}
#banner-text {
font-size: 12px;
}
}
svg {
stroke: var(--theme-accent);
fill: var(--theme-accent);
}
.icon {
width: 2rem;
height: 2rem;
}
.icon-small {
height: 1rem;
width: 1rem;
}
.bare-link {
text-decoration: none;
}
@keyframes blur-in {
from {
backdrop-filter: blur(0px);
background-color: rgba(0, 0, 0, 0.25);
}
to {
backdrop-filter: blur(15px);
background-color: rgba(0, 0, 0, 0.55);
}
}
.listing-text,
.listing-text>a {
background-color: rgba(0, 0, 0, 0.25);
}
.listing-text:hover {
animation: blur-in 0.25s;
backdrop-filter: blur(15px);
background-color: rgba(0, 0, 0, 0.55);
}
.listing-text .bare-link,
.listing-text h2 {
text-shadow: rgb(0, 0, 0) 0px 0px 20px;
}
.listing-text:hover>a {
animation: blur-out 0.2s;
background-color: transparent;
}
@keyframes blur-out {
from {
background-color: rgba(0, 0, 0, 0.25);
}
to {
background-color: transparent;
backdrop-filter: blur(0px);
}
}
article a[href^="https"]:where(:not([href*="{{.Site.BaseURL}}"])) {
content: none !important;
}
article a[href^="https"]:where(:not([href*="{{.Site.BaseURL}}"]))::after {
content: "↗️";
font-size: 18px;
margin: 5px;
content: none !important;
}
.media-container a::after,
.liberapay-container a::after,
.tags a::after,
.listing a::after,
#tags a::after,
.image-container a[href^="https"]:where(:not([href*="{{.Site.BaseURL}}"]))::after {
content: "" !important;
margin: 0 !important;
font-size: 0;
}
.media-container a {
flex-direction: row;
}
.pagination {
list-style: none;
display: flex;
flex-direction: row;
flex-wrap: wrap;
width: 100%;
max-width: 90vw;
justify-content: center;
align-items: center;
}
.pagination>* {
margin: 5px;
}
.pagination a {
font-family: Arial, Helvetica, sans-serif;
border: 1px solid var(--theme-accent);
padding: 10px;
font-size: 22px;
font-weight: bolder;
border-radius: 10px;
text-decoration: none;
margin: 0;
}
.pagination .disabled {
display: none;
}
.pagination .active a {
color: var(--theme-color-primary);
background-color: var(--theme-accent);
}
#tags a {
margin: 5px;
border-radius: 3px;
font-size: 16px;
font-weight: bolder;
display: flex;
flex-direction: row;
align-items: center;
border-radius: 25px;
padding: 0px;
}

12
static/js/icons.js Normal file
View file

@ -0,0 +1,12 @@
var icons = {
"play":"<svg viewBox=\"0 0 120 120\"><circle style=\"opacity:0.99;fill-opacity:0;stroke-width:6.4;stroke-dasharray:none;stroke-opacity:1\" id=\"path2040\" cx=\"60.062084\" cy=\"62.077591\" r=\"52.403164\" /><path style=\"opacity:0.99;fill-opacity:1; stroke-width:4;stroke-dasharray:none;stroke-opacity:1\" d=\"m 36.961917,29.902848 c 3.596357,-1.826163 63.333473,26.918008 63.449063,32.530093 0.1386,6.729203 -61.229407,35.615675 -63.254766,33.796117 -1.971501,-1.557746 -3.672784,-64.52183 -0.194297,-66.32621 z\" id=\"path1060\"> </svg>",
"pause":"<svg viewBox=\"0 0 120 120\" version=\"1.1\"> <circle style=\"opacity:0.99;fill-opacity:0;stroke-width:6.4;stroke-dasharray:none;stroke-opacity:1\" id=\"path2040\" cx=\"60.062084\" cy=\"62.077591\" r=\"52.403164\" /> <rect style=\"opacity:0.99;fill-opacity:1;stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:round; stroke-dasharray:none;stroke-opacity:1\" id=\"rect2858\" width=\"13.503889\" height=\"74.311569\" x=\"37.891518\" y=\"25.657549\" /> <rect style=\"opacity:0.99;fill-opacity:1;stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1\"id=\"rect2858-3\"width=\"13.503889\" height=\"74.311569\"x=\"67.821785\"y=\"25.526461\" /></svg>",
"loop":"<svg viewBox=\"0 0 120 120\" version=\"1.1\"> <circle style=\"opacity:0.99;fill-opacity:0;stroke-width:6.4;stroke-dasharray:none;stroke-opacity:1\" id=\"path2040\" cx=\"60.062084\" cy=\"62.077591\" r=\"52.403164\" /> <path style=\"opacity:0.99;fill-opacity:1;stroke-width:1.1;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1\" d=\"M 49.086093,104.69797 53.85938,96.982017 C -0.70319734,64.562086 46.019709,40.176232 48.130402,38.442953 c 0,0 4.487934,4.354976 5.546329,5.309403 1.84557,1.664276 5.129158,-20.199369 5.129158,-20.199369 l -22.368136,0.483004 5.548034,5.713299 c 0,0 -56.905236,37.386495 7.100306,74.94868 z\" id=\"path4435\" /> <path style=\"opacity:0.99;fill-opacity:1;stroke-width:1.1;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1\" d=\"m 72.493272,21.303543 -4.773287,7.715948 c 54.562575,32.419931 7.839671,56.805785 5.728978,58.539064 0,0 -4.487934,-4.354976 -5.546329,-5.309403 -1.845568,-1.664276 -5.129158,20.199368 -5.129158,20.199368 l 22.368136,-0.483 -5.548034,-5.713302 c 0,0 56.905242,-37.386495 -7.100306,-74.948675 z\" id=\"path4435-7\" /></svg>",
"expand":"<svg viewBox=\"0 0 120 120\" version=\"1.1\"> <path style=\"opacity:0.99;fill-opacity:1;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1\" d=\"M 46.964564,56.005523 29.64354,38.443145 15.744327,51.812481 15.624368,16.779513 l 36.623948,0.03226 -13.177737,14.17536 16.622539,16.392689 z\" id=\"path8948-3\" /> <path style=\"opacity:0.99;fill-opacity:1;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1\" d=\"M 55.129887,73.388205 38.422614,90.210417 51.067135,104.89922 16.395468,104.33333 16.434945,67.605641 30.111493,81.28219 46.504182,64.659651 Z\" id=\"path8948-3-5\" /> <path style=\"opacity:0.99;fill-opacity:1;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1\" d=\"M 63.363444,46.935211 80.997081,30.825588 67.627745,17.036604 102.68744,17.447746 102.62846,52.646518 88.168059,39.041226 71.989147,55.663767 Z\" id=\"path8948-3-6\" /> <path style=\"opacity:0.99;fill-opacity:1;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1\" d=\"M 71.956318,65.743071 91.343851,82.735377 104.06395,70.648701 103.79532,105.13832 69.166628,105.79193 82.579575,93.184265 63.227764,74.368773 Z\" id=\"path8948-3-5-2\" /> </svg>",
"shrink":"<svg viewBox=\"0 0 120 120\" version=\"1.1\"> <path style=\"opacity:0.99;fill-opacity:1;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1\" d=\"M 24.352868,16.779459 41.673892,34.341837 55.573105,20.972501 55.693064,56.005469 19.069116,55.973209 32.246853,41.797849 15.624314,25.40516 Z\" id=\"path8948-3\" /> <path style=\"opacity:0.99;fill-opacity:1;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1\" d=\"M 16.395415,96.170716 33.102688,79.348504 20.458167,64.659701 55.129834,65.225591 55.090357,101.95328 41.413809,88.276731 25.02112,104.89927 Z\" id=\"path8948-3-5\" /> <path style=\"opacity:0.99;fill-opacity:1;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1\" d=\"M 102.6875,25.765108 85.05386,41.874731 97.415443,56.469918 63.061175,56.361101 63.422481,20.053801 77.882882,33.659093 94.061794,17.036552 Z\" id=\"path8948-3-6\" /> <path style=\"opacity:0.99;fill-opacity:1;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1\" d=\"M 95.335449,105.79197 76.351017,88.674877 64.23557,102.19642 63.496447,66.396722 98.32669,66.448539 85.921496,80.567834 104.064,97.166269 Z\" id=\"path8948-3-5-2\" /></svg>"
};

BIN
static/res/default.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

60
static/res/default.svg Normal file
View file

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="120mm"
height="120mm"
viewBox="0 0 120 120"
version="1.1"
id="svg5"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="test.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="2.0938813"
inkscape:cx="228.2842"
inkscape:cy="207.27059"
inkscape:window-width="1920"
inkscape:window-height="1045"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<circle
style="opacity:0.99;fill:none;stroke:#000000;stroke-width:2.017;stroke-linejoin:round;stroke-dasharray:none"
id="path790"
cx="60.936821"
cy="62.187721"
r="49.857403" />
<text
xml:space="preserve"
style="font-size:14.1111px;opacity:0.99;fill:none;stroke:#000000;stroke-width:0;stroke-linejoin:round;stroke-dasharray:none"
x="30.379061"
y="64.689529"
id="text1070"><tspan
id="tspan1068"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.1111px;font-family:FreeSerif;-inkscape-font-specification:FreeSerif;fill:#000000;fill-opacity:1;stroke-width:0;stroke-dasharray:none"
x="30.379061"
y="64.689529"
sodipodi:role="line">Your Logo</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2 KiB

71
static/res/expand.svg Normal file
View file

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="120"
height="120"
viewBox="0 0 120 120"
version="1.1"
id="svg5"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="expand.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
showgrid="false"
inkscape:zoom="7.0166667"
inkscape:cx="46.247031"
inkscape:cy="55.154394"
inkscape:window-width="1920"
inkscape:window-height="989"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
showguides="false" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="opacity:0.99;fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect7492"
width="98.961357"
height="98.961357"
x="10.682183"
y="10.682183" />
<path
style="opacity:0.99;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 46.964564,56.005523 29.64354,38.443145 15.744327,51.812481 15.624368,16.779513 l 36.623948,0.03226 -13.177737,14.17536 16.622539,16.392689 z"
id="path8948-3"
sodipodi:nodetypes="cccccccc" />
<path
style="opacity:0.99;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 55.129887,73.388205 38.422614,90.210417 51.067135,104.89922 16.395468,104.33333 16.434945,67.605641 30.111493,81.28219 46.504182,64.659651 Z"
id="path8948-3-5"
sodipodi:nodetypes="cccccccc" />
<path
style="opacity:0.99;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 63.363444,46.935211 80.997081,30.825588 67.627745,17.036604 102.68744,17.447746 102.62846,52.646518 88.168059,39.041226 71.989147,55.663767 Z"
id="path8948-3-6"
sodipodi:nodetypes="cccccccc" />
<path
style="opacity:0.99;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 71.956318,65.743071 91.343851,82.735377 104.06395,70.648701 103.79532,105.13832 69.166628,105.79193 82.579575,93.184265 63.227764,74.368773 Z"
id="path8948-3-5-2"
sodipodi:nodetypes="cccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

60
static/res/loop.svg Normal file
View file

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="120"
height="120"
viewBox="0 0 120 120"
version="1.1"
id="svg5"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="loop.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
showgrid="false"
inkscape:zoom="4.9615326"
inkscape:cx="41.821755"
inkscape:cy="53.612467"
inkscape:window-width="1920"
inkscape:window-height="989"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
showguides="false" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<circle
style="opacity:0.99;fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:6.4;stroke-dasharray:none;stroke-opacity:1"
id="path2040"
cx="60.062084"
cy="62.077591"
r="52.403164" />
<path
style="opacity:0.99;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.1;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 49.086093,104.69797 53.85938,96.982017 C -0.70319734,64.562086 46.019709,40.176232 48.130402,38.442953 c 0,0 4.487934,4.354976 5.546329,5.309403 1.84557,1.664276 5.129158,-20.199369 5.129158,-20.199369 l -22.368136,0.483004 5.548034,5.713299 c 0,0 -56.905236,37.386495 7.100306,74.94868 z"
id="path4435"
sodipodi:nodetypes="cccscccc" />
<path
style="opacity:0.99;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.1;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 72.493272,21.303543 -4.773287,7.715948 c 54.562575,32.419931 7.839671,56.805785 5.728978,58.539064 0,0 -4.487934,-4.354976 -5.546329,-5.309403 -1.845568,-1.664276 -5.129158,20.199368 -5.129158,20.199368 l 22.368136,-0.483 -5.548034,-5.713302 c 0,0 56.905242,-37.386495 -7.100306,-74.948675 z"
id="path4435-7"
sodipodi:nodetypes="cccscccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

63
static/res/pause.svg Normal file
View file

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="120"
height="120"
viewBox="0 0 120 120"
version="1.1"
id="svg5"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="pause.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
showgrid="false"
inkscape:zoom="2.4807663"
inkscape:cx="-61.876042"
inkscape:cy="23.782974"
inkscape:window-width="1920"
inkscape:window-height="989"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<circle
style="opacity:0.99;fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:6.4;stroke-dasharray:none;stroke-opacity:1"
id="path2040"
cx="60.062084"
cy="62.077591"
r="52.403164" />
<rect
style="opacity:0.99;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect2858"
width="13.503889"
height="74.311569"
x="37.891518"
y="25.657549" />
<rect
style="opacity:0.99;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect2858-3"
width="13.503889"
height="74.311569"
x="67.821785"
y="25.526461" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2 KiB

54
static/res/play.svg Normal file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="120"
height="120"
viewBox="0 0 120 120"
version="1.1"
id="svg5"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="play.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
showgrid="false"
inkscape:zoom="4.9615326"
inkscape:cx="47.062071"
inkscape:cy="61.674492"
inkscape:window-width="1920"
inkscape:window-height="989"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="opacity:0.99;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:4;stroke-dasharray:none;stroke-opacity:1"
d="m 36.961917,29.902848 c 3.596357,-1.826163 63.333473,26.918008 63.449063,32.530093 0.1386,6.729203 -61.229407,35.615675 -63.254766,33.796117 -1.971501,-1.557746 -3.672784,-64.52183 -0.194297,-66.32621 z"
id="path1060"
sodipodi:nodetypes="cscc" />
<circle
style="opacity:0.99;fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:6.4;stroke-dasharray:none;stroke-opacity:1"
id="path2040"
cx="60.062084"
cy="62.077591"
r="52.403164" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

71
static/res/shrink.svg Normal file
View file

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="120"
height="120"
viewBox="0 0 120 120"
version="1.1"
id="svg5"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="shrink.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
showgrid="false"
inkscape:zoom="4.9615326"
inkscape:cx="49.077578"
inkscape:cy="76.790789"
inkscape:window-width="1920"
inkscape:window-height="989"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
showguides="false" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="opacity:0.99;fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect7492"
width="98.961357"
height="98.961357"
x="10.682183"
y="10.682183" />
<path
style="opacity:0.99;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 24.352868,16.779459 41.673892,34.341837 55.573105,20.972501 55.693064,56.005469 19.069116,55.973209 32.246853,41.797849 15.624314,25.40516 Z"
id="path8948-3"
sodipodi:nodetypes="cccccccc" />
<path
style="opacity:0.99;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 16.395415,96.170716 33.102688,79.348504 20.458167,64.659701 55.129834,65.225591 55.090357,101.95328 41.413809,88.276731 25.02112,104.89927 Z"
id="path8948-3-5"
sodipodi:nodetypes="cccccccc" />
<path
style="opacity:0.99;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 102.6875,25.765108 85.05386,41.874731 97.415443,56.469918 63.061175,56.361101 63.422481,20.053801 77.882882,33.659093 94.061794,17.036552 Z"
id="path8948-3-6"
sodipodi:nodetypes="cccccccc" />
<path
style="opacity:0.99;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.58928;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 95.335449,105.79197 76.351017,88.674877 64.23557,102.19642 63.496447,66.396722 98.32669,66.448539 85.921496,80.567834 104.064,97.166269 Z"
id="path8948-3-5-2"
sodipodi:nodetypes="cccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

386
static/res/spritesheet.svg Normal file
View file

@ -0,0 +1,386 @@
<svg style="display:none;">
<symbol id="shrink"
viewBox="0 0 200 200"
><g>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="M 71.298823,69.935263 H -0.03828632 V 47.871962 H 48.197793 V 0.02489375 h 23.10103 z"
/>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="M 130.09,71.338352 V 0.0012511 h 22.0633 V 48.237331 h 47.84706 v 23.101021 z"
/>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 128.67057,130.06552 h 71.3371 v 22.0633 H 151.7716 v 47.84707 h -23.10103 z"
/>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 69.879393,128.66243 v 71.3371 H 47.816094 V 151.76345 H -0.03097146 v -23.10102 z"
/>
</g>
</symbol>
<symbol id="loop"
viewBox="0 0 200 200"
>
<g>
<ellipse
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:9.68031;stroke-linejoin:round;stroke-opacity:1"
cy="99.93528"
cx="100.03613"
rx="95.000404"
ry="95.057236" />
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:12.8675;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="M 162.21491,61.314175 A 74.835358,74.835358 0 0 1 154.64285,152.9351 74.835358,74.835358 0 0 1 63.965737,168.08076 74.835358,74.835358 0 0 1 27.028787,83.894118 74.835358,74.835358 0 0 1 99.575333,27.425293" />
<path
style="opacity:0.99;fill-opacity:0.992157;stroke-width:1.03207;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="M 98.430641,10.898139 V 44.814313 L 123.1298,27.657939 Z"
/>
</g>
</symbol>
<symbol id="substack"
viewBox="0 0 200 200"
>
<g>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:1;stroke-width:22.7343;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="M 35.819292,74.079299 H 164.18071"
/>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:1;stroke-width:22.7343;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="M 35.891493,29.66426 H 164.25291"
/>
<path
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:6.14662;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-opacity:1"
d="M 24.935915,106.69884 H 175.06409 v 84.5545 l -74.82841,-43.26855 -75.299765,43.26855 z"
/>
</g>
</symbol>
<symbol id="prev"
viewBox="0 0 120 120"
>
<g>
<path
style="fill:none !important;;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:20;stroke-dasharray:none;stroke-opacity:1"
d="M 116.6333,74.605732 H 49.837743 V 97.8903 L 3.3665561,59.544515 49.7379,22.109708 v 22.675377 h 66.8954 z"
/>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:19.4028px;line-height:1.25;font-family:sans-serif;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="39.456932"
y="66.934982"
><tspan
style="font-weight:bold;font-size:19.4028px;stroke-width:0.264583"
x="39.456932"
y="66.934982">Prev</tspan></text>
</g>
</symbol>
<symbol id="headphones"
viewBox="0 0 210 210"
>
<g>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:14.6469;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="M 38.511665,103.48123 A 68.018555,68.018555 0 0 1 106.53022,35.462677 68.018555,68.018555 0 0 1 174.54877,103.48123"
/>
<ellipse
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke:none;stroke-width:14.6469;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
cx="66.965881"
cy="181.87686"
rx="2.6438539"
ry="28.201105" />
<path
style="opacity:0.99;fill-opacity:0.992157;stroke-width:15;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m -106.70314,157.58701 a 40.838184,44.488354 0 0 1 -20.41909,38.52804 40.838184,44.488354 0 0 1 -40.83818,0 40.838184,44.488354 0 0 1 -20.4191,-38.52804"
transform="rotate(-90)" />
<path
style="opacity:0.99;fill-opacity:0.992157;stroke-width:15;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 187.35309,-52.263748 a 40.838184,44.488354 0 0 1 -20.41909,38.528045 40.838184,44.488354 0 0 1 -40.83819,-10e-7 40.838184,44.488354 0 0 1 -20.41909,-38.528044"
transform="rotate(90)" />
<rect
style="opacity:0.99;fill-opacity:0.992157;stroke-width:1.02322;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
width="9.0904961"
height="95.662933"
x="50.762516"
y="99.513329" />
<rect
style="opacity:0.99;fill-opacity:0.992157;stroke-width:1.02322;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
width="9.0904961"
height="95.662933"
x="153.0656"
y="99.7257" />
</g>
</symbol>
<symbol id="expand"
viewBox="0 0 200 200"
>
<g>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="M -0.03828632,0.02489375 H 71.298823 V 22.088195 H 23.062744 V 69.935263 H -0.03828632 Z"
/>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="M 200.00036,0.0012511 V 71.338352 h -22.0633 V 23.102272 H 130.09 V 0.0012511 Z"
/>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 200.00767,199.97589 h -71.3371 v -22.0633 h 48.23607 v -47.84707 h 23.10103 z"
/>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:9.40921;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m -0.03097146,199.99953 v -71.3371 H 22.032328 v 48.23608 h 47.847065 v 23.10102 z"
/>
</g>
</symbol>
<symbol id="pause"
viewBox="0 0 200 200"
>
<g>
<ellipse
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:9.68031;stroke-linejoin:round;stroke-opacity:1"
cy="99.93528"
cx="100.03613"
rx="95.000404"
ry="95.057236" />
<rect
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:0.903084;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
width="34.369987"
height="121.93053"
x="57.219501"
y="42.457039" />
<rect
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:0.903084;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
width="34.369987"
height="121.93053"
x="115.24053"
y="42.650131" />
</g>
</symbol>
<symbol id="link"
viewBox="0 0 200 200"
>
<g>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:13.2824;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="m 124.73051,54.085411 32.40251,-37.913745 c 14.1507,-16.55752582 47.43594,12.112318 33.3954,28.540963 L 121.22371,125.80514 C 106.92066,142.54096 73.29526,114.26912 87.828318,97.264184 L 97.64213,85.781162"
/>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:13.2824;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="M 82.334206,140.08015 49.931702,177.99389 C 35.780999,194.55141 2.4957562,165.88157 16.536295,149.45293 L 85.841002,68.360413 C 100.14406,51.624595 133.76946,79.896436 119.2364,96.901374 l -9.81381,11.483016"
/>
</g>
</symbol>
<symbol id="btc"
viewBox="0 0 200 200"
>
<g>
<circle
style="opacity:0.99;fill:none !important;;fill-opacity:1;stroke-width:8;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
cx="100"
cy="100"
r="92.324692" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:179.605px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;opacity:0.99;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
x="83.549644"
y="186.25789"
transform="rotate(-15.468221)"><tspan
style="fill-opacity:1;stroke:none;stroke-width:4;stroke-dasharray:none"
x="83.549644"
y="186.25789">B</tspan></text>
<rect
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:7.99999;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
width="9.3419447"
height="15.677465"
x="43.400417"
y="47.026237"
rx="0"
ry="0"
transform="rotate(-15.468221)" />
<rect
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:7.99999;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
width="9.3419447"
height="15.677465"
x="66.457565"
y="47.152031"
rx="0"
ry="0"
transform="rotate(-15.468221)" />
<rect
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:7.99999;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
width="9.3419447"
height="15.677465"
x="43.380985"
y="186.2144"
rx="0"
ry="0"
transform="rotate(-15.468221)" />
<rect
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:7.99999;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
width="9.3419447"
height="15.677465"
x="66.41478"
y="186.15088"
rx="0"
ry="0"
transform="rotate(-15.468221)" />
<rect
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:7.99999;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
width="28.949465"
height="19.075401"
x="22.285784"
y="167.17883"
rx="0"
ry="0"
transform="rotate(-15.468221)" />
<rect
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:7.99999;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
width="28.949465"
height="19.075401"
x="23.174849"
y="62.679756"
rx="0"
ry="0"
transform="rotate(-15.468221)" />
</g>
</symbol>
<symbol id="rss"
viewBox="0 0 200 200"
>
<g>
<path
style="opacity:0.99;fill-opacity:0.992157;stroke-width:4.99999;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="m 15.529035,160.46959 a 26.28293,26.28293 0 0 1 26.42547,-26.09156 26.28293,26.28293 0 0 1 26.139524,26.37803 26.28293,26.28293 0 0 1 -26.330503,26.1874 26.28293,26.28293 0 0 1 -26.235185,-26.28289" />
<path
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;paint-order:fill markers stroke"
d="m 14.878779,74.913223 v 30.280507 c 0,0 37.205853,-2.52487 59.963303,20.23258 22.123021,22.12302 20.13303,62.52756 20.13303,62.52756 h 33.851408 c 0,0 1.41061,-48.7721 -35.623416,-85.80612 C 61.559233,70.503879 14.878779,74.913223 14.878779,74.913223 Z"
/>
<path
style="opacity:0.99;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="M 16.513336,9.3088266 V 48.312377 c 0,0 67.5859,4.356974 97.619314,34.390381 38.45846,38.458452 43.70858,104.340882 43.70858,104.340882 h 32.05003 c 0,0 0.99521,-77.86873 -52.66008,-131.524025 C 95.780501,14.068931 16.513336,9.3088266 16.513336,9.3088266 Z"
/>
</g>
</symbol>
<symbol id="email"
viewBox="0 0 210 210"
>
<g>
<path
style="fill:none !important;;fill-opacity:1;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="M 199.7532,30.626328 V 156.0798 H 6.7479992 V 30.626328 Z"
/>
<path
style="fill:none !important;;fill-opacity:1;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="M 199.7532,30.626328 155.51095,121.36055 H 43.227339 L 8.4585796,30.626328"
/>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:66.3222px;line-height:1.25;font-family:sans-serif;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="72.000824"
y="94.79673"
><tspan
style="font-weight:bold;font-size:66.3222px;stroke-width:0.264583"
x="72.000824"
y="94.79673">@</tspan></text>
</g>
</symbol>
<symbol id="next"
viewBox="0 0 120 120"
>
<g>
<path
style="fill:none !important;;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:20;stroke-dasharray:none;stroke-opacity:1"
d="M 3.3666991,45.394268 H 70.162259 V 22.1097 L 116.63345,60.455485 70.262102,97.890292 V 75.214915 H 3.3666991 Z"
/>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:19.4028px;line-height:1.25;font-family:sans-serif;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="39.456932"
y="66.934982"
><tspan
style="font-weight:bold;font-size:19.4028px;stroke-width:0.264583"
x="39.456932"
y="66.934982">Next</tspan></text>
</g>
</symbol>
<symbol id="play"
viewBox="0 0 200 200"
>
<g>
<ellipse
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:9.68031;stroke-linejoin:round;stroke-opacity:1"
cy="99.93528"
cx="100.03613"
rx="95.000404"
ry="95.057236" />
<path
style="opacity:0.99;fill-opacity:0.992157;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 68.503477,169.27357 c -5.757834,-3.32429 -4.829598,-135.759422 0,-138.547791 5.258545,-3.036022 106.900773,62.443169 106.900773,71.382371 0,9.46586 -101.820676,70.09842 -106.900773,67.16542 z"
/>
</g>
</symbol>
<symbol id="tag"
viewBox="0 0 200 200"
>
<g>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="m 6.281763,111.86211 c 0,12.99786 67.485752,80.84067 77.193916,80.84067 9.757909,0 74.315171,-70.29527 89.112641,-85.09274 6.99227,-6.99228 6.83158,-88.060832 6.83158,-88.060832 0,0 -77.7666,3.606593 -84.025496,7.220168 C 76.605972,37.616882 6.281763,99.864196 6.281763,111.86211 Z"
/>
<circle
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
cx="138.22505"
cy="-78.649734"
r="12.46391"
transform="rotate(46.321904)" />
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="m 32.307964,111.18133 59.64203,59.64203 z"
/>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="M 45.070354,98.671666 104.71238,158.3137 Z"
/>
<path
style="opacity:0.99;fill:none !important;;fill-opacity:0.992157;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:25;stroke-dasharray:none;stroke-opacity:1"
d="m 57.643191,85.97246 59.642029,59.64203 z"
/>
</g>
</symbol>
</svg>

After

Width:  |  Height:  |  Size: 19 KiB

21
theme.toml Normal file
View file

@ -0,0 +1,21 @@
# theme.toml template for a Hugo theme
# See https://github.com/gohugoio/hugoThemes#themetoml for an example
name = "Freedom"
license = "MIT"
licenselink = "https://codeberg.org/gabe/Freedom/blob/master/LICENSE"
description = ""
homepage = "https://codeberg.org/gabe/Freedom"
tags = []
features = []
min_version = "0.41.0"
[author]
name = "Gabriel"
homepage = "https://gabe.rocks"
# If porting an existing theme
[original]
name = ""
homepage = ""
repo = ""