feat: Blog based on jimmac/os-component-website

This commit is contained in:
David Lapshin 2023-06-23 03:19:26 +03:00
commit cdc26d0f65
Signed by: daudix
GPG key ID: 93ECF15D3053D81C
28 changed files with 1881 additions and 0 deletions

5
.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata
.gem

13
404.md Normal file
View file

@ -0,0 +1,13 @@
---
layout: default
permalink: /404.html
---
![404]({{site.baseurl}}/assets/404.png){:.full.pixels}
# Document Not Found
The requested page could not be found. If you feel this is not normal, then you create an issue on the Gitlab.
[Go Back](<javascript:window.history.go(-1);>){: .inline-button} [File an issue]({{site.issuesurl}})
{: .dialog-buttons}

31
Gemfile Normal file
View file

@ -0,0 +1,31 @@
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "~> 4.1.0"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
# gem 'jekyll-feed', '~> 0.13'
# gem 'jekyll-sitemap', '~> 1.4'
# gem 'jekyll-compose', '~> 0.12.0'
# gem 'jekyll-postfiles', '~> 3.1'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
# gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
# Performance-booster for watching directories on Windows
# gem "wdm", "~> 0.1.0" if Gem.win_platform?

67
Gemfile.lock Normal file
View file

@ -0,0 +1,67 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0)
concurrent-ruby (1.1.9)
em-websocket (0.5.2)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
ffi (1.15.4)
forwardable-extended (2.6.0)
http_parser.rb (0.6.0)
i18n (1.8.10)
concurrent-ruby (~> 1.0)
jekyll (4.1.1)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (~> 2.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (~> 0.4.0)
pathutil (~> 0.9)
rouge (~> 3.0)
safe_yaml (~> 1.0)
terminal-table (~> 1.8)
jekyll-sass-converter (2.1.0)
sassc (> 2.0.1, < 3.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.3.1)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.7.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.6)
rb-fsevent (0.11.0)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.5)
rouge (3.26.1)
safe_yaml (1.0.5)
sassc (2.4.0)
ffi (~> 1.9)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
unicode-display_width (1.8.0)
PLATFORMS
x86_64-linux
DEPENDENCIES
jekyll (~> 4.1.0)
BUNDLED WITH
2.2.7

3
README.md Normal file
View file

@ -0,0 +1,3 @@
# daudix-ufo.github.io/blog
This is my blog

14
_config.yml Normal file
View file

@ -0,0 +1,14 @@
# Site settings
title: Daudix's Blog
baseurl: "/blog" # the subpath of your site, e.g. /blog/
# usually empty. necessary for buidling absolute URIs
# for metadata header
url: "https://daudix-ufo.github.io" # the base hostname & protocol for your site
sourceurl: "https://github.com/daudix-UFO/blog" # "edit this website" link in the footer
description: "Description of the OS Component website."
issuesurl: "https://github.com/daudix-UFO/blog/issues" # issue tracker for website
permalink: /:title/
primary-color: "#c061cb" #used in ios theme. further color customization in style.css
# Build settings
markdown: kramdown

5
_includes/footer.html Normal file
View file

@ -0,0 +1,5 @@
<footer class="site-footer">
<p>&copy; {{ site.title }}, 2023</p>
<p><a href="{{ site.sourceurl }}">Website source</a></p>
</footer>

28
_includes/head.html Normal file
View file

@ -0,0 +1,28 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="{{ site.primary-color }}"><!-- primary color -->
<title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}" />
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" />
<link rel="stylesheet" href="{{ "/style.css" | prepend: site.baseurl }}" />
<link rel="icon" type="image/gif" href="{{ "/favicon.gif" | prepend: site.baseurl }}" />
<!-- <link rel="icon" sizes="144x144" href="{{ "/apple-touch-icon.png" | prepend: site.baseurl }}" /> -->
<!-- Twitter -->
<meta property="twitter:title" content="{{site.title}}" />
<meta property="twitter:image" content="{{ "/assets/card.png" | prepend: site.baseurl | prepend: site.url }}" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:description" content="{{site.description}}" />
<!-- Open Graph -->
<meta property="og:title" content="{{ site.title }}" />
<meta property="og:url" content="{{ site.url }}" />
<meta property="og:description" content="{{ site.description }}" />
<meta property="og:image" content="{{ "/assets/card.png" | prepend: site.baseurl | prepend: site.url }}" />
</head>

3
_includes/header.html Normal file
View file

@ -0,0 +1,3 @@
<header class="site-header">
<h1 id="logo"><a href="{{ "/" | prepend: site.baseurl }}">{{ site.title }}</a></h1>
</header>

18
_layouts/default.html Normal file
View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
{% include head.html %}
<body>
{% include header.html %}
<div class="container">
{{ content }}
</div>
{% include footer.html %}
</body>
</html>

BIN
apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

159
apple-touch-icon.svg Normal file
View file

@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="128"
height="128"
viewBox="0 0 128 128"
version="1.1"
id="svg323"
sodipodi:docname="apple-touch-icon.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview642"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="3.75"
inkscape:cx="63.866667"
inkscape:cy="64"
inkscape:window-width="1280"
inkscape:window-height="731"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg323" />
<defs
id="defs320">
<linearGradient
id="linearGradient1879">
<stop
style="stop-color:#c061cb;stop-opacity:1;"
offset="0"
id="stop1875" />
<stop
style="stop-color:#62a0ea;stop-opacity:1;"
offset="1"
id="stop1877" />
</linearGradient>
<linearGradient
id="linearGradient62889">
<stop
style="stop-color:#ffffff;stop-opacity:0.5;"
offset="0"
id="stop62885" />
<stop
style="stop-color:#62a0ea;stop-opacity:0"
offset="1"
id="stop62887" />
</linearGradient>
<linearGradient
xlink:href="#linearGradient1879"
id="linearGradient559-3"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-64)"
x1="16"
y1="16"
x2="112"
y2="112" />
<radialGradient
xlink:href="#linearGradient62889"
id="radialGradient561-5"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-64)"
cx="96"
cy="128"
fx="96"
fy="128"
r="64" />
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath4577">
<circle
id="circle4579"
cx="0"
cy="64"
r="48"
style="display:none;fill:#3584e4"
d="M 48,64 A 48,48 0 0 1 0,112 48,48 0 0 1 -48,64 48,48 0 0 1 0,16 48,48 0 0 1 48,64 Z" />
<path
id="lpe_path-effect4581"
style="fill:#3584e4"
class="powerclip"
d="M -69,-5 H 69 V 133 H -69 Z M 48,64 A 48,48 0 0 0 0,16 48,48 0 0 0 -48,64 48,48 0 0 0 0,112 48,48 0 0 0 48,64 Z" />
</clipPath>
</defs>
<g
id="layer1"
style="display:inline"
transform="translate(64)">
<g
id="g2000"
style="display:inline">
<rect
width="128"
height="128"
x="-64"
y="0"
id="rect541-6"
style="fill:url(#linearGradient559-3)"
rx="64"
ry="64" />
<rect
width="128"
height="128"
x="-64"
y="0"
id="rect543-2"
style="display:inline;fill:url(#radialGradient561-5)"
rx="64"
ry="64" />
<path
id="rect4571"
width="128"
height="128"
x="-64"
y="0"
style="fill:#ffffff"
clip-path="url(#clipPath4577)"
d="M 0,0 C 35.456,0 64,28.544 64,64 64,99.456 35.456,128 0,128 -35.456,128 -64,99.456 -64,64 -64,28.544 -35.456,0 0,0 Z"
rx="64"
ry="64" />
<g
id="g2006">
<path
id="circle2948-7"
style="fill:#ffffff"
d="m 21.000015,42.00004 c -3.38197,0.01 -6.57135,1.57516 -8.64844,4.24414 -0.0563,0.0464 -0.10741,0.0988 -0.15234,0.15625 l -0.59961,0.79883 c -0.0166,0.0228 -0.0323,0.0462 -0.0469,0.0703 -0.9036,1.44322 -2.61156,2.14889 -4.26757,1.76953 -1.67784,-0.68517 -3.47277,-1.03806 -5.28514,-1.03905 -4.66791,0.007 -9.02535,2.33976 -11.61914,6.2207 -0.0119,0.008 -0.0236,0.0154 -0.0352,0.0234 -1.45558,1.26242 -3.35347,1.8944 -5.27539,1.75781 -0.0234,-10e-4 -0.0469,-0.002 -0.0703,-0.002 h -3 c -7.73199,0 -14,6.26801 -14,14 0,7.73199 6.26801,14 14,14 1.7698,-0.0111 3.52144,-0.35776 5.16211,-1.02148 0.0838,-0.0111 0.16581,-0.0327 0.24414,-0.0645 l 0.37305,-0.16601 c 0.0209,-0.009 0.0417,-0.0182 0.0625,-0.0273 l 4.9082,-2.18164 c 1.96395,-0.87286 4.23521,-0.68043 6.02344,0.51172 l 1.58789,1.0586 c 2.59458,2.48572 6.04556,3.87869 9.63867,3.89062 7.73199,0 14,-6.26801 14,-14 v -4 c 0,-2.20418 1.03744,-4.2771 2.80078,-5.59961 0.340434,-0.221632 0.671808,-0.520979 0.9707,-0.76367 2.65992,-2.07764 4.21871,-5.26147 4.22855,-8.63664 0,-6.07513 -4.92487,-11 -11,-11 z" />
<circle
id="circle547-9"
cx="32"
cy="68"
r="4"
style="fill:#ffffff" />
<circle
id="circle549-1"
cx="6"
cy="42"
r="2"
style="fill:#ffffff" />
<circle
id="circle551-2"
cx="-15"
cy="49"
r="3"
style="fill:#ffffff" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
assets/404.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

BIN
assets/card.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

405
assets/card.svg Normal file
View file

@ -0,0 +1,405 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="svg10448"
version="1.1"
viewBox="0 0 600 400.00003"
height="400.00003"
width="600"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs10442">
<rect
x="0"
y="0"
width="389.9512"
height="192.51305"
id="rect4045" />
<linearGradient
id="linearGradient3935">
<stop
style="stop-color:#62a0ea;stop-opacity:1;"
offset="0"
id="stop3931" />
<stop
style="stop-color:#c061cb;stop-opacity:1;"
offset="1"
id="stop3933" />
</linearGradient>
<linearGradient
xlink:href="#linearGradient3935"
id="linearGradient3937"
x1="0"
y1="0"
x2="600"
y2="400"
gradientUnits="userSpaceOnUse" />
<rect
x="0"
y="0"
width="389.9512"
height="192.51305"
id="rect4053" />
<rect
x="0"
y="0"
width="389.9512"
height="192.51305"
id="rect4059" />
<rect
x="0"
y="0"
width="389.9512"
height="192.51305"
id="rect4065" />
<rect
x="0"
y="0"
width="389.9512"
height="192.51305"
id="rect4071" />
<rect
x="0"
y="0"
width="389.9512"
height="192.51305"
id="rect4083" />
<rect
x="0"
y="0"
width="389.9512"
height="192.51305"
id="rect4089" />
<rect
x="0"
y="0"
width="389.9512"
height="192.51305"
id="rect4095" />
<rect
x="0"
y="0"
width="389.9512"
height="192.51305"
id="rect4101" />
</defs>
<metadata
id="metadata10445">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<rect
y="0"
x="0"
width="600"
id="rect965"
height="400"
style="fill:url(#linearGradient3937);fill-opacity:1" />
<g
aria-label="Daudix UFO"
transform="translate(104.9638,176.96785)"
id="text4043"
style="font-weight:900;font-size:42.6667px;font-family:Inter;-inkscape-font-specification:'Inter Heavy';text-align:center;text-anchor:middle;white-space:pre;shape-inside:url(#rect4045);display:inline;fill:#ffffff;stroke-width:2;stroke-linecap:square">
<path
d="m 84.975567,39.486727 c 9.454552,0 15.454553,-5.818186 15.454553,-15.515163 0,-9.696977 -6.000001,-15.5151628 -15.575765,-15.5151628 H 73.036164 V 39.486727 Z m -3.515154,-7.15152 V 15.607922 h 2.969699 c 4.848488,0 7.515157,1.878789 7.515157,8.363642 0,6.484854 -2.666669,8.363643 -7.272733,8.363643 z"
id="path4169" />
<path
d="m 110.91496,39.850364 c 3.0303,0 5.31818,-1.030304 6.72728,-3.636366 h 0.18181 v 3.272729 h 7.81819 V 23.547322 c 0,-4.303034 -4.07576,-7.63637 -10.72728,-7.63637 -6.95455,0 -10.3788,3.636367 -10.66667,7.878794 h 7.69697 c 0.19697,-1.439395 1.25758,-2.121214 2.84849,-2.121214 1.45454,0 2.48485,0.666667 2.48485,1.87879 v 0.06061 c 0,1.348486 -1.48485,1.772728 -5.39394,2.060607 -4.80304,0.348485 -8.54547,2.287881 -8.54547,7.393945 0,4.636367 3.12122,6.787884 7.57577,6.787884 z m 2.72727,-5.272731 c -1.42424,0 -2.42424,-0.69697 -2.42424,-2.000002 0,-1.19697 0.84848,-2.121213 2.78788,-2.424244 1.33333,-0.212121 2.45455,-0.484849 3.33333,-0.848485 v 1.939395 c 0,2.121214 -1.80303,3.333336 -3.69697,3.333336 z"
id="path4171" />
<path
d="m 144.7332,29.304902 c 0.0151,2.303032 -1.31818,3.696972 -3.39394,3.696972 -2.10606,0 -3.31818,-1.39394 -3.33334,-3.696972 V 16.213983 h -8.36364 v 14.848496 c 0.0152,5.090913 3.22728,8.727279 8.12122,8.727279 3.4697,0 6.13637,-1.757577 7.15152,-4.727276 h 0.24242 v 4.424245 h 7.9394 V 16.213983 h -8.36364 z"
id="path4173" />
<path
d="m 165.76349,39.789758 c 3.27273,0 5.51516,-1.757577 6.48486,-4.121215 h 0.18182 v 3.818184 h 8.30303 V 8.4564012 h -8.36364 V 20.274592 h -0.12121 c -0.90909,-2.363638 -3.09091,-4.36364 -6.54546,-4.36364 -4.60607,0 -9.09092,3.515154 -9.09092,11.939403 0,8.060612 4.18182,11.939403 9.15152,11.939403 z m 3.09092,-6.424247 c -2.30304,0 -3.63637,-2.060608 -3.63637,-5.515156 0,-3.454548 1.33333,-5.515156 3.63637,-5.515156 2.30303,0 3.69697,2.060608 3.69697,5.515156 0,3.393942 -1.39394,5.515156 -3.69697,5.515156 z"
id="path4175" />
<path
d="m 184.8544,39.486727 h 8.36364 V 16.213983 h -8.36364 z m 4.18182,-25.696988 c 2.27273,0 4.12121,-1.712123 4.12121,-3.8181851 0,-2.1060622 -1.84848,-3.8181847 -4.12121,-3.8181847 -2.27273,0 -4.12122,1.7121225 -4.12122,3.8181847 0,2.1060621 1.84849,3.8181851 4.12122,3.8181851 z"
id="path4177" />
<path
d="m 204.67257,16.213983 h -8.36364 l 6.18182,11.636372 -6.60606,11.636372 h 8.36364 l 3.81818,-7.393945 3.9394,7.393945 h 8.24243 l -6.54546,-11.636372 6.24243,-11.636372 h -8.30303 l -3.57577,7.212126 z"
id="path4179" />
<path
d="M 249.64228,8.4564012 V 27.607931 c 0,2.893941 -2.07576,4.9697 -4.9697,4.9697 -2.89395,0 -4.96971,-2.075759 -4.96971,-4.9697 V 8.4564012 h -8.42424 V 28.335204 c 0,7.090914 5.36364,11.51516 13.39395,11.51516 7.9697,0 13.39394,-4.424246 13.39394,-11.51516 V 8.4564012 Z"
id="path4181" />
<path
d="m 262.0665,39.486727 h 8.42425 V 27.365506 h 12.06061 V 20.577622 H 270.49075 V 15.244285 H 283.8847 V 8.4564012 h -21.8182 z"
id="path4183" />
<path
d="m 317.03625,23.971564 c 0,-10.363644 -6.66668,-15.9394055 -15.09092,-15.9394055 -8.48486,0 -15.09093,5.5757615 -15.09093,15.9394055 0,10.303038 6.60607,15.939406 15.09093,15.939406 8.42424,0 15.09092,-5.575762 15.09092,-15.939406 z m -8.66668,0 c 0,5.575762 -2.24242,8.606067 -6.42424,8.606067 -4.18183,0 -6.42425,-3.030305 -6.42425,-8.606067 0,-5.575761 2.24242,-8.606067 6.42425,-8.606067 4.18182,0 6.42424,3.030306 6.42424,8.606067 z"
id="path4185" />
</g>
<g
aria-label="Daudix UFO"
transform="translate(104.9638,143.21025)"
id="text4051"
style="font-weight:900;font-size:42.6667px;font-family:Inter;-inkscape-font-specification:'Inter Heavy';text-align:center;text-anchor:middle;white-space:pre;shape-inside:url(#rect4053);display:inline;fill:#dc8add;fill-opacity:0.8;stroke-width:2;stroke-linecap:square">
<path
d="m 84.975567,39.486727 c 9.454552,0 15.454553,-5.818186 15.454553,-15.515163 0,-9.696977 -6.000001,-15.5151628 -15.575765,-15.5151628 H 73.036164 V 39.486727 Z m -3.515154,-7.15152 V 15.607922 h 2.969699 c 4.848488,0 7.515157,1.878789 7.515157,8.363642 0,6.484854 -2.666669,8.363643 -7.272733,8.363643 z"
id="path4188" />
<path
d="m 110.91496,39.850364 c 3.0303,0 5.31818,-1.030304 6.72728,-3.636366 h 0.18181 v 3.272729 h 7.81819 V 23.547322 c 0,-4.303034 -4.07576,-7.63637 -10.72728,-7.63637 -6.95455,0 -10.3788,3.636367 -10.66667,7.878794 h 7.69697 c 0.19697,-1.439395 1.25758,-2.121214 2.84849,-2.121214 1.45454,0 2.48485,0.666667 2.48485,1.87879 v 0.06061 c 0,1.348486 -1.48485,1.772728 -5.39394,2.060607 -4.80304,0.348485 -8.54547,2.287881 -8.54547,7.393945 0,4.636367 3.12122,6.787884 7.57577,6.787884 z m 2.72727,-5.272731 c -1.42424,0 -2.42424,-0.69697 -2.42424,-2.000002 0,-1.19697 0.84848,-2.121213 2.78788,-2.424244 1.33333,-0.212121 2.45455,-0.484849 3.33333,-0.848485 v 1.939395 c 0,2.121214 -1.80303,3.333336 -3.69697,3.333336 z"
id="path4190" />
<path
d="m 144.7332,29.304902 c 0.0151,2.303032 -1.31818,3.696972 -3.39394,3.696972 -2.10606,0 -3.31818,-1.39394 -3.33334,-3.696972 V 16.213983 h -8.36364 v 14.848496 c 0.0152,5.090913 3.22728,8.727279 8.12122,8.727279 3.4697,0 6.13637,-1.757577 7.15152,-4.727276 h 0.24242 v 4.424245 h 7.9394 V 16.213983 h -8.36364 z"
id="path4192" />
<path
d="m 165.76349,39.789758 c 3.27273,0 5.51516,-1.757577 6.48486,-4.121215 h 0.18182 v 3.818184 h 8.30303 V 8.4564012 h -8.36364 V 20.274592 h -0.12121 c -0.90909,-2.363638 -3.09091,-4.36364 -6.54546,-4.36364 -4.60607,0 -9.09092,3.515154 -9.09092,11.939403 0,8.060612 4.18182,11.939403 9.15152,11.939403 z m 3.09092,-6.424247 c -2.30304,0 -3.63637,-2.060608 -3.63637,-5.515156 0,-3.454548 1.33333,-5.515156 3.63637,-5.515156 2.30303,0 3.69697,2.060608 3.69697,5.515156 0,3.393942 -1.39394,5.515156 -3.69697,5.515156 z"
id="path4194" />
<path
d="m 184.8544,39.486727 h 8.36364 V 16.213983 h -8.36364 z m 4.18182,-25.696988 c 2.27273,0 4.12121,-1.712123 4.12121,-3.8181851 0,-2.1060622 -1.84848,-3.8181847 -4.12121,-3.8181847 -2.27273,0 -4.12122,1.7121225 -4.12122,3.8181847 0,2.1060621 1.84849,3.8181851 4.12122,3.8181851 z"
id="path4196" />
<path
d="m 204.67257,16.213983 h -8.36364 l 6.18182,11.636372 -6.60606,11.636372 h 8.36364 l 3.81818,-7.393945 3.9394,7.393945 h 8.24243 l -6.54546,-11.636372 6.24243,-11.636372 h -8.30303 l -3.57577,7.212126 z"
id="path4198" />
<path
d="M 249.64228,8.4564012 V 27.607931 c 0,2.893941 -2.07576,4.9697 -4.9697,4.9697 -2.89395,0 -4.96971,-2.075759 -4.96971,-4.9697 V 8.4564012 h -8.42424 V 28.335204 c 0,7.090914 5.36364,11.51516 13.39395,11.51516 7.9697,0 13.39394,-4.424246 13.39394,-11.51516 V 8.4564012 Z"
id="path4200" />
<path
d="m 262.0665,39.486727 h 8.42425 V 27.365506 h 12.06061 V 20.577622 H 270.49075 V 15.244285 H 283.8847 V 8.4564012 h -21.8182 z"
id="path4202" />
<path
d="m 317.03625,23.971564 c 0,-10.363644 -6.66668,-15.9394055 -15.09092,-15.9394055 -8.48486,0 -15.09093,5.5757615 -15.09093,15.9394055 0,10.303038 6.60607,15.939406 15.09093,15.939406 8.42424,0 15.09092,-5.575762 15.09092,-15.939406 z m -8.66668,0 c 0,5.575762 -2.24242,8.606067 -6.42424,8.606067 -4.18183,0 -6.42425,-3.030305 -6.42425,-8.606067 0,-5.575761 2.24242,-8.606067 6.42425,-8.606067 4.18182,0 6.42424,3.030306 6.42424,8.606067 z"
id="path4204" />
</g>
<g
aria-label="Daudix UFO"
transform="translate(104.9638,109.45265)"
id="text4057"
style="font-weight:900;font-size:42.6667px;font-family:Inter;-inkscape-font-specification:'Inter Heavy';text-align:center;text-anchor:middle;white-space:pre;shape-inside:url(#rect4059);display:inline;fill:#dc8add;fill-opacity:0.6;stroke-width:2;stroke-linecap:square">
<path
d="m 84.975567,39.486727 c 9.454552,0 15.454553,-5.818186 15.454553,-15.515163 0,-9.696977 -6.000001,-15.5151628 -15.575765,-15.5151628 H 73.036164 V 39.486727 Z m -3.515154,-7.15152 V 15.607922 h 2.969699 c 4.848488,0 7.515157,1.878789 7.515157,8.363642 0,6.484854 -2.666669,8.363643 -7.272733,8.363643 z"
id="path4207" />
<path
d="m 110.91496,39.850364 c 3.0303,0 5.31818,-1.030304 6.72728,-3.636366 h 0.18181 v 3.272729 h 7.81819 V 23.547322 c 0,-4.303034 -4.07576,-7.63637 -10.72728,-7.63637 -6.95455,0 -10.3788,3.636367 -10.66667,7.878794 h 7.69697 c 0.19697,-1.439395 1.25758,-2.121214 2.84849,-2.121214 1.45454,0 2.48485,0.666667 2.48485,1.87879 v 0.06061 c 0,1.348486 -1.48485,1.772728 -5.39394,2.060607 -4.80304,0.348485 -8.54547,2.287881 -8.54547,7.393945 0,4.636367 3.12122,6.787884 7.57577,6.787884 z m 2.72727,-5.272731 c -1.42424,0 -2.42424,-0.69697 -2.42424,-2.000002 0,-1.19697 0.84848,-2.121213 2.78788,-2.424244 1.33333,-0.212121 2.45455,-0.484849 3.33333,-0.848485 v 1.939395 c 0,2.121214 -1.80303,3.333336 -3.69697,3.333336 z"
id="path4209" />
<path
d="m 144.7332,29.304902 c 0.0151,2.303032 -1.31818,3.696972 -3.39394,3.696972 -2.10606,0 -3.31818,-1.39394 -3.33334,-3.696972 V 16.213983 h -8.36364 v 14.848496 c 0.0152,5.090913 3.22728,8.727279 8.12122,8.727279 3.4697,0 6.13637,-1.757577 7.15152,-4.727276 h 0.24242 v 4.424245 h 7.9394 V 16.213983 h -8.36364 z"
id="path4211" />
<path
d="m 165.76349,39.789758 c 3.27273,0 5.51516,-1.757577 6.48486,-4.121215 h 0.18182 v 3.818184 h 8.30303 V 8.4564012 h -8.36364 V 20.274592 h -0.12121 c -0.90909,-2.363638 -3.09091,-4.36364 -6.54546,-4.36364 -4.60607,0 -9.09092,3.515154 -9.09092,11.939403 0,8.060612 4.18182,11.939403 9.15152,11.939403 z m 3.09092,-6.424247 c -2.30304,0 -3.63637,-2.060608 -3.63637,-5.515156 0,-3.454548 1.33333,-5.515156 3.63637,-5.515156 2.30303,0 3.69697,2.060608 3.69697,5.515156 0,3.393942 -1.39394,5.515156 -3.69697,5.515156 z"
id="path4213" />
<path
d="m 184.8544,39.486727 h 8.36364 V 16.213983 h -8.36364 z m 4.18182,-25.696988 c 2.27273,0 4.12121,-1.712123 4.12121,-3.8181851 0,-2.1060622 -1.84848,-3.8181847 -4.12121,-3.8181847 -2.27273,0 -4.12122,1.7121225 -4.12122,3.8181847 0,2.1060621 1.84849,3.8181851 4.12122,3.8181851 z"
id="path4215" />
<path
d="m 204.67257,16.213983 h -8.36364 l 6.18182,11.636372 -6.60606,11.636372 h 8.36364 l 3.81818,-7.393945 3.9394,7.393945 h 8.24243 l -6.54546,-11.636372 6.24243,-11.636372 h -8.30303 l -3.57577,7.212126 z"
id="path4217" />
<path
d="M 249.64228,8.4564012 V 27.607931 c 0,2.893941 -2.07576,4.9697 -4.9697,4.9697 -2.89395,0 -4.96971,-2.075759 -4.96971,-4.9697 V 8.4564012 h -8.42424 V 28.335204 c 0,7.090914 5.36364,11.51516 13.39395,11.51516 7.9697,0 13.39394,-4.424246 13.39394,-11.51516 V 8.4564012 Z"
id="path4219" />
<path
d="m 262.0665,39.486727 h 8.42425 V 27.365506 h 12.06061 V 20.577622 H 270.49075 V 15.244285 H 283.8847 V 8.4564012 h -21.8182 z"
id="path4221" />
<path
d="m 317.03625,23.971564 c 0,-10.363644 -6.66668,-15.9394055 -15.09092,-15.9394055 -8.48486,0 -15.09093,5.5757615 -15.09093,15.9394055 0,10.303038 6.60607,15.939406 15.09093,15.939406 8.42424,0 15.09092,-5.575762 15.09092,-15.939406 z m -8.66668,0 c 0,5.575762 -2.24242,8.606067 -6.42424,8.606067 -4.18183,0 -6.42425,-3.030305 -6.42425,-8.606067 0,-5.575761 2.24242,-8.606067 6.42425,-8.606067 4.18182,0 6.42424,3.030306 6.42424,8.606067 z"
id="path4223" />
</g>
<g
aria-label="Daudix UFO"
transform="translate(104.9638,75.695049)"
id="text4063"
style="font-weight:900;font-size:42.6667px;font-family:Inter;-inkscape-font-specification:'Inter Heavy';text-align:center;text-anchor:middle;white-space:pre;shape-inside:url(#rect4065);display:inline;fill:#dc8add;fill-opacity:0.4;stroke-width:2;stroke-linecap:square">
<path
d="m 84.975567,39.486727 c 9.454552,0 15.454553,-5.818186 15.454553,-15.515163 0,-9.696977 -6.000001,-15.5151628 -15.575765,-15.5151628 H 73.036164 V 39.486727 Z m -3.515154,-7.15152 V 15.607922 h 2.969699 c 4.848488,0 7.515157,1.878789 7.515157,8.363642 0,6.484854 -2.666669,8.363643 -7.272733,8.363643 z"
id="path4226" />
<path
d="m 110.91496,39.850364 c 3.0303,0 5.31818,-1.030304 6.72728,-3.636366 h 0.18181 v 3.272729 h 7.81819 V 23.547322 c 0,-4.303034 -4.07576,-7.63637 -10.72728,-7.63637 -6.95455,0 -10.3788,3.636367 -10.66667,7.878794 h 7.69697 c 0.19697,-1.439395 1.25758,-2.121214 2.84849,-2.121214 1.45454,0 2.48485,0.666667 2.48485,1.87879 v 0.06061 c 0,1.348486 -1.48485,1.772728 -5.39394,2.060607 -4.80304,0.348485 -8.54547,2.287881 -8.54547,7.393945 0,4.636367 3.12122,6.787884 7.57577,6.787884 z m 2.72727,-5.272731 c -1.42424,0 -2.42424,-0.69697 -2.42424,-2.000002 0,-1.19697 0.84848,-2.121213 2.78788,-2.424244 1.33333,-0.212121 2.45455,-0.484849 3.33333,-0.848485 v 1.939395 c 0,2.121214 -1.80303,3.333336 -3.69697,3.333336 z"
id="path4228" />
<path
d="m 144.7332,29.304902 c 0.0151,2.303032 -1.31818,3.696972 -3.39394,3.696972 -2.10606,0 -3.31818,-1.39394 -3.33334,-3.696972 V 16.213983 h -8.36364 v 14.848496 c 0.0152,5.090913 3.22728,8.727279 8.12122,8.727279 3.4697,0 6.13637,-1.757577 7.15152,-4.727276 h 0.24242 v 4.424245 h 7.9394 V 16.213983 h -8.36364 z"
id="path4230" />
<path
d="m 165.76349,39.789758 c 3.27273,0 5.51516,-1.757577 6.48486,-4.121215 h 0.18182 v 3.818184 h 8.30303 V 8.4564012 h -8.36364 V 20.274592 h -0.12121 c -0.90909,-2.363638 -3.09091,-4.36364 -6.54546,-4.36364 -4.60607,0 -9.09092,3.515154 -9.09092,11.939403 0,8.060612 4.18182,11.939403 9.15152,11.939403 z m 3.09092,-6.424247 c -2.30304,0 -3.63637,-2.060608 -3.63637,-5.515156 0,-3.454548 1.33333,-5.515156 3.63637,-5.515156 2.30303,0 3.69697,2.060608 3.69697,5.515156 0,3.393942 -1.39394,5.515156 -3.69697,5.515156 z"
id="path4232" />
<path
d="m 184.8544,39.486727 h 8.36364 V 16.213983 h -8.36364 z m 4.18182,-25.696988 c 2.27273,0 4.12121,-1.712123 4.12121,-3.8181851 0,-2.1060622 -1.84848,-3.8181847 -4.12121,-3.8181847 -2.27273,0 -4.12122,1.7121225 -4.12122,3.8181847 0,2.1060621 1.84849,3.8181851 4.12122,3.8181851 z"
id="path4234" />
<path
d="m 204.67257,16.213983 h -8.36364 l 6.18182,11.636372 -6.60606,11.636372 h 8.36364 l 3.81818,-7.393945 3.9394,7.393945 h 8.24243 l -6.54546,-11.636372 6.24243,-11.636372 h -8.30303 l -3.57577,7.212126 z"
id="path4236" />
<path
d="M 249.64228,8.4564012 V 27.607931 c 0,2.893941 -2.07576,4.9697 -4.9697,4.9697 -2.89395,0 -4.96971,-2.075759 -4.96971,-4.9697 V 8.4564012 h -8.42424 V 28.335204 c 0,7.090914 5.36364,11.51516 13.39395,11.51516 7.9697,0 13.39394,-4.424246 13.39394,-11.51516 V 8.4564012 Z"
id="path4238" />
<path
d="m 262.0665,39.486727 h 8.42425 V 27.365506 h 12.06061 V 20.577622 H 270.49075 V 15.244285 H 283.8847 V 8.4564012 h -21.8182 z"
id="path4240" />
<path
d="m 317.03625,23.971564 c 0,-10.363644 -6.66668,-15.9394055 -15.09092,-15.9394055 -8.48486,0 -15.09093,5.5757615 -15.09093,15.9394055 0,10.303038 6.60607,15.939406 15.09093,15.939406 8.42424,0 15.09092,-5.575762 15.09092,-15.939406 z m -8.66668,0 c 0,5.575762 -2.24242,8.606067 -6.42424,8.606067 -4.18183,0 -6.42425,-3.030305 -6.42425,-8.606067 0,-5.575761 2.24242,-8.606067 6.42425,-8.606067 4.18182,0 6.42424,3.030306 6.42424,8.606067 z"
id="path4242" />
</g>
<g
aria-label="Daudix UFO"
transform="translate(104.9638,41.937448)"
id="text4069"
style="font-weight:900;font-size:42.6667px;font-family:Inter;-inkscape-font-specification:'Inter Heavy';text-align:center;text-anchor:middle;white-space:pre;shape-inside:url(#rect4071);display:inline;fill:#dc8add;fill-opacity:0.2;stroke-width:2;stroke-linecap:square">
<path
d="m 84.975567,39.486727 c 9.454552,0 15.454553,-5.818186 15.454553,-15.515163 0,-9.696977 -6.000001,-15.5151628 -15.575765,-15.5151628 H 73.036164 V 39.486727 Z m -3.515154,-7.15152 V 15.607922 h 2.969699 c 4.848488,0 7.515157,1.878789 7.515157,8.363642 0,6.484854 -2.666669,8.363643 -7.272733,8.363643 z"
id="path4245" />
<path
d="m 110.91496,39.850364 c 3.0303,0 5.31818,-1.030304 6.72728,-3.636366 h 0.18181 v 3.272729 h 7.81819 V 23.547322 c 0,-4.303034 -4.07576,-7.63637 -10.72728,-7.63637 -6.95455,0 -10.3788,3.636367 -10.66667,7.878794 h 7.69697 c 0.19697,-1.439395 1.25758,-2.121214 2.84849,-2.121214 1.45454,0 2.48485,0.666667 2.48485,1.87879 v 0.06061 c 0,1.348486 -1.48485,1.772728 -5.39394,2.060607 -4.80304,0.348485 -8.54547,2.287881 -8.54547,7.393945 0,4.636367 3.12122,6.787884 7.57577,6.787884 z m 2.72727,-5.272731 c -1.42424,0 -2.42424,-0.69697 -2.42424,-2.000002 0,-1.19697 0.84848,-2.121213 2.78788,-2.424244 1.33333,-0.212121 2.45455,-0.484849 3.33333,-0.848485 v 1.939395 c 0,2.121214 -1.80303,3.333336 -3.69697,3.333336 z"
id="path4247" />
<path
d="m 144.7332,29.304902 c 0.0151,2.303032 -1.31818,3.696972 -3.39394,3.696972 -2.10606,0 -3.31818,-1.39394 -3.33334,-3.696972 V 16.213983 h -8.36364 v 14.848496 c 0.0152,5.090913 3.22728,8.727279 8.12122,8.727279 3.4697,0 6.13637,-1.757577 7.15152,-4.727276 h 0.24242 v 4.424245 h 7.9394 V 16.213983 h -8.36364 z"
id="path4249" />
<path
d="m 165.76349,39.789758 c 3.27273,0 5.51516,-1.757577 6.48486,-4.121215 h 0.18182 v 3.818184 h 8.30303 V 8.4564012 h -8.36364 V 20.274592 h -0.12121 c -0.90909,-2.363638 -3.09091,-4.36364 -6.54546,-4.36364 -4.60607,0 -9.09092,3.515154 -9.09092,11.939403 0,8.060612 4.18182,11.939403 9.15152,11.939403 z m 3.09092,-6.424247 c -2.30304,0 -3.63637,-2.060608 -3.63637,-5.515156 0,-3.454548 1.33333,-5.515156 3.63637,-5.515156 2.30303,0 3.69697,2.060608 3.69697,5.515156 0,3.393942 -1.39394,5.515156 -3.69697,5.515156 z"
id="path4251" />
<path
d="m 184.8544,39.486727 h 8.36364 V 16.213983 h -8.36364 z m 4.18182,-25.696988 c 2.27273,0 4.12121,-1.712123 4.12121,-3.8181851 0,-2.1060622 -1.84848,-3.8181847 -4.12121,-3.8181847 -2.27273,0 -4.12122,1.7121225 -4.12122,3.8181847 0,2.1060621 1.84849,3.8181851 4.12122,3.8181851 z"
id="path4253" />
<path
d="m 204.67257,16.213983 h -8.36364 l 6.18182,11.636372 -6.60606,11.636372 h 8.36364 l 3.81818,-7.393945 3.9394,7.393945 h 8.24243 l -6.54546,-11.636372 6.24243,-11.636372 h -8.30303 l -3.57577,7.212126 z"
id="path4255" />
<path
d="M 249.64228,8.4564012 V 27.607931 c 0,2.893941 -2.07576,4.9697 -4.9697,4.9697 -2.89395,0 -4.96971,-2.075759 -4.96971,-4.9697 V 8.4564012 h -8.42424 V 28.335204 c 0,7.090914 5.36364,11.51516 13.39395,11.51516 7.9697,0 13.39394,-4.424246 13.39394,-11.51516 V 8.4564012 Z"
id="path4257" />
<path
d="m 262.0665,39.486727 h 8.42425 V 27.365506 h 12.06061 V 20.577622 H 270.49075 V 15.244285 H 283.8847 V 8.4564012 h -21.8182 z"
id="path4259" />
<path
d="m 317.03625,23.971564 c 0,-10.363644 -6.66668,-15.9394055 -15.09092,-15.9394055 -8.48486,0 -15.09093,5.5757615 -15.09093,15.9394055 0,10.303038 6.60607,15.939406 15.09093,15.939406 8.42424,0 15.09092,-5.575762 15.09092,-15.939406 z m -8.66668,0 c 0,5.575762 -2.24242,8.606067 -6.42424,8.606067 -4.18183,0 -6.42425,-3.030305 -6.42425,-8.606067 0,-5.575761 2.24242,-8.606067 6.42425,-8.606067 4.18182,0 6.42424,3.030306 6.42424,8.606067 z"
id="path4261" />
</g>
<g
aria-label="Daudix UFO"
transform="translate(104.9638,210.72545)"
id="text4081"
style="font-weight:900;font-size:42.6667px;font-family:Inter;-inkscape-font-specification:'Inter Heavy';text-align:center;text-anchor:middle;white-space:pre;shape-inside:url(#rect4083);display:inline;fill:#dc8add;fill-opacity:0.8;stroke-width:2;stroke-linecap:square">
<path
d="m 84.975567,39.486727 c 9.454552,0 15.454553,-5.818186 15.454553,-15.515163 0,-9.696977 -6.000001,-15.5151628 -15.575765,-15.5151628 H 73.036164 V 39.486727 Z m -3.515154,-7.15152 V 15.607922 h 2.969699 c 4.848488,0 7.515157,1.878789 7.515157,8.363642 0,6.484854 -2.666669,8.363643 -7.272733,8.363643 z"
id="path4264" />
<path
d="m 110.91496,39.850364 c 3.0303,0 5.31818,-1.030304 6.72728,-3.636366 h 0.18181 v 3.272729 h 7.81819 V 23.547322 c 0,-4.303034 -4.07576,-7.63637 -10.72728,-7.63637 -6.95455,0 -10.3788,3.636367 -10.66667,7.878794 h 7.69697 c 0.19697,-1.439395 1.25758,-2.121214 2.84849,-2.121214 1.45454,0 2.48485,0.666667 2.48485,1.87879 v 0.06061 c 0,1.348486 -1.48485,1.772728 -5.39394,2.060607 -4.80304,0.348485 -8.54547,2.287881 -8.54547,7.393945 0,4.636367 3.12122,6.787884 7.57577,6.787884 z m 2.72727,-5.272731 c -1.42424,0 -2.42424,-0.69697 -2.42424,-2.000002 0,-1.19697 0.84848,-2.121213 2.78788,-2.424244 1.33333,-0.212121 2.45455,-0.484849 3.33333,-0.848485 v 1.939395 c 0,2.121214 -1.80303,3.333336 -3.69697,3.333336 z"
id="path4266" />
<path
d="m 144.7332,29.304902 c 0.0151,2.303032 -1.31818,3.696972 -3.39394,3.696972 -2.10606,0 -3.31818,-1.39394 -3.33334,-3.696972 V 16.213983 h -8.36364 v 14.848496 c 0.0152,5.090913 3.22728,8.727279 8.12122,8.727279 3.4697,0 6.13637,-1.757577 7.15152,-4.727276 h 0.24242 v 4.424245 h 7.9394 V 16.213983 h -8.36364 z"
id="path4268" />
<path
d="m 165.76349,39.789758 c 3.27273,0 5.51516,-1.757577 6.48486,-4.121215 h 0.18182 v 3.818184 h 8.30303 V 8.4564012 h -8.36364 V 20.274592 h -0.12121 c -0.90909,-2.363638 -3.09091,-4.36364 -6.54546,-4.36364 -4.60607,0 -9.09092,3.515154 -9.09092,11.939403 0,8.060612 4.18182,11.939403 9.15152,11.939403 z m 3.09092,-6.424247 c -2.30304,0 -3.63637,-2.060608 -3.63637,-5.515156 0,-3.454548 1.33333,-5.515156 3.63637,-5.515156 2.30303,0 3.69697,2.060608 3.69697,5.515156 0,3.393942 -1.39394,5.515156 -3.69697,5.515156 z"
id="path4270" />
<path
d="m 184.8544,39.486727 h 8.36364 V 16.213983 h -8.36364 z m 4.18182,-25.696988 c 2.27273,0 4.12121,-1.712123 4.12121,-3.8181851 0,-2.1060622 -1.84848,-3.8181847 -4.12121,-3.8181847 -2.27273,0 -4.12122,1.7121225 -4.12122,3.8181847 0,2.1060621 1.84849,3.8181851 4.12122,3.8181851 z"
id="path4272" />
<path
d="m 204.67257,16.213983 h -8.36364 l 6.18182,11.636372 -6.60606,11.636372 h 8.36364 l 3.81818,-7.393945 3.9394,7.393945 h 8.24243 l -6.54546,-11.636372 6.24243,-11.636372 h -8.30303 l -3.57577,7.212126 z"
id="path4274" />
<path
d="M 249.64228,8.4564012 V 27.607931 c 0,2.893941 -2.07576,4.9697 -4.9697,4.9697 -2.89395,0 -4.96971,-2.075759 -4.96971,-4.9697 V 8.4564012 h -8.42424 V 28.335204 c 0,7.090914 5.36364,11.51516 13.39395,11.51516 7.9697,0 13.39394,-4.424246 13.39394,-11.51516 V 8.4564012 Z"
id="path4276" />
<path
d="m 262.0665,39.486727 h 8.42425 V 27.365506 h 12.06061 V 20.577622 H 270.49075 V 15.244285 H 283.8847 V 8.4564012 h -21.8182 z"
id="path4278" />
<path
d="m 317.03625,23.971564 c 0,-10.363644 -6.66668,-15.9394055 -15.09092,-15.9394055 -8.48486,0 -15.09093,5.5757615 -15.09093,15.9394055 0,10.303038 6.60607,15.939406 15.09093,15.939406 8.42424,0 15.09092,-5.575762 15.09092,-15.939406 z m -8.66668,0 c 0,5.575762 -2.24242,8.606067 -6.42424,8.606067 -4.18183,0 -6.42425,-3.030305 -6.42425,-8.606067 0,-5.575761 2.24242,-8.606067 6.42425,-8.606067 4.18182,0 6.42424,3.030306 6.42424,8.606067 z"
id="path4280" />
</g>
<g
aria-label="Daudix UFO"
transform="translate(104.9638,244.48305)"
id="text4087"
style="font-weight:900;font-size:42.6667px;font-family:Inter;-inkscape-font-specification:'Inter Heavy';text-align:center;text-anchor:middle;white-space:pre;shape-inside:url(#rect4089);display:inline;fill:#dc8add;fill-opacity:0.6;stroke-width:2;stroke-linecap:square">
<path
d="m 84.975567,39.486727 c 9.454552,0 15.454553,-5.818186 15.454553,-15.515163 0,-9.696977 -6.000001,-15.5151628 -15.575765,-15.5151628 H 73.036164 V 39.486727 Z m -3.515154,-7.15152 V 15.607922 h 2.969699 c 4.848488,0 7.515157,1.878789 7.515157,8.363642 0,6.484854 -2.666669,8.363643 -7.272733,8.363643 z"
id="path4283" />
<path
d="m 110.91496,39.850364 c 3.0303,0 5.31818,-1.030304 6.72728,-3.636366 h 0.18181 v 3.272729 h 7.81819 V 23.547322 c 0,-4.303034 -4.07576,-7.63637 -10.72728,-7.63637 -6.95455,0 -10.3788,3.636367 -10.66667,7.878794 h 7.69697 c 0.19697,-1.439395 1.25758,-2.121214 2.84849,-2.121214 1.45454,0 2.48485,0.666667 2.48485,1.87879 v 0.06061 c 0,1.348486 -1.48485,1.772728 -5.39394,2.060607 -4.80304,0.348485 -8.54547,2.287881 -8.54547,7.393945 0,4.636367 3.12122,6.787884 7.57577,6.787884 z m 2.72727,-5.272731 c -1.42424,0 -2.42424,-0.69697 -2.42424,-2.000002 0,-1.19697 0.84848,-2.121213 2.78788,-2.424244 1.33333,-0.212121 2.45455,-0.484849 3.33333,-0.848485 v 1.939395 c 0,2.121214 -1.80303,3.333336 -3.69697,3.333336 z"
id="path4285" />
<path
d="m 144.7332,29.304902 c 0.0151,2.303032 -1.31818,3.696972 -3.39394,3.696972 -2.10606,0 -3.31818,-1.39394 -3.33334,-3.696972 V 16.213983 h -8.36364 v 14.848496 c 0.0152,5.090913 3.22728,8.727279 8.12122,8.727279 3.4697,0 6.13637,-1.757577 7.15152,-4.727276 h 0.24242 v 4.424245 h 7.9394 V 16.213983 h -8.36364 z"
id="path4287" />
<path
d="m 165.76349,39.789758 c 3.27273,0 5.51516,-1.757577 6.48486,-4.121215 h 0.18182 v 3.818184 h 8.30303 V 8.4564012 h -8.36364 V 20.274592 h -0.12121 c -0.90909,-2.363638 -3.09091,-4.36364 -6.54546,-4.36364 -4.60607,0 -9.09092,3.515154 -9.09092,11.939403 0,8.060612 4.18182,11.939403 9.15152,11.939403 z m 3.09092,-6.424247 c -2.30304,0 -3.63637,-2.060608 -3.63637,-5.515156 0,-3.454548 1.33333,-5.515156 3.63637,-5.515156 2.30303,0 3.69697,2.060608 3.69697,5.515156 0,3.393942 -1.39394,5.515156 -3.69697,5.515156 z"
id="path4289" />
<path
d="m 184.8544,39.486727 h 8.36364 V 16.213983 h -8.36364 z m 4.18182,-25.696988 c 2.27273,0 4.12121,-1.712123 4.12121,-3.8181851 0,-2.1060622 -1.84848,-3.8181847 -4.12121,-3.8181847 -2.27273,0 -4.12122,1.7121225 -4.12122,3.8181847 0,2.1060621 1.84849,3.8181851 4.12122,3.8181851 z"
id="path4291" />
<path
d="m 204.67257,16.213983 h -8.36364 l 6.18182,11.636372 -6.60606,11.636372 h 8.36364 l 3.81818,-7.393945 3.9394,7.393945 h 8.24243 l -6.54546,-11.636372 6.24243,-11.636372 h -8.30303 l -3.57577,7.212126 z"
id="path4293" />
<path
d="M 249.64228,8.4564012 V 27.607931 c 0,2.893941 -2.07576,4.9697 -4.9697,4.9697 -2.89395,0 -4.96971,-2.075759 -4.96971,-4.9697 V 8.4564012 h -8.42424 V 28.335204 c 0,7.090914 5.36364,11.51516 13.39395,11.51516 7.9697,0 13.39394,-4.424246 13.39394,-11.51516 V 8.4564012 Z"
id="path4295" />
<path
d="m 262.0665,39.486727 h 8.42425 V 27.365506 h 12.06061 V 20.577622 H 270.49075 V 15.244285 H 283.8847 V 8.4564012 h -21.8182 z"
id="path4297" />
<path
d="m 317.03625,23.971564 c 0,-10.363644 -6.66668,-15.9394055 -15.09092,-15.9394055 -8.48486,0 -15.09093,5.5757615 -15.09093,15.9394055 0,10.303038 6.60607,15.939406 15.09093,15.939406 8.42424,0 15.09092,-5.575762 15.09092,-15.939406 z m -8.66668,0 c 0,5.575762 -2.24242,8.606067 -6.42424,8.606067 -4.18183,0 -6.42425,-3.030305 -6.42425,-8.606067 0,-5.575761 2.24242,-8.606067 6.42425,-8.606067 4.18182,0 6.42424,3.030306 6.42424,8.606067 z"
id="path4299" />
</g>
<g
aria-label="Daudix UFO"
transform="translate(104.9638,278.24065)"
id="text4093"
style="font-weight:900;font-size:42.6667px;font-family:Inter;-inkscape-font-specification:'Inter Heavy';text-align:center;text-anchor:middle;white-space:pre;shape-inside:url(#rect4095);display:inline;fill:#dc8add;fill-opacity:0.4;stroke-width:2;stroke-linecap:square">
<path
d="m 84.975567,39.486727 c 9.454552,0 15.454553,-5.818186 15.454553,-15.515163 0,-9.696977 -6.000001,-15.5151628 -15.575765,-15.5151628 H 73.036164 V 39.486727 Z m -3.515154,-7.15152 V 15.607922 h 2.969699 c 4.848488,0 7.515157,1.878789 7.515157,8.363642 0,6.484854 -2.666669,8.363643 -7.272733,8.363643 z"
id="path4302" />
<path
d="m 110.91496,39.850364 c 3.0303,0 5.31818,-1.030304 6.72728,-3.636366 h 0.18181 v 3.272729 h 7.81819 V 23.547322 c 0,-4.303034 -4.07576,-7.63637 -10.72728,-7.63637 -6.95455,0 -10.3788,3.636367 -10.66667,7.878794 h 7.69697 c 0.19697,-1.439395 1.25758,-2.121214 2.84849,-2.121214 1.45454,0 2.48485,0.666667 2.48485,1.87879 v 0.06061 c 0,1.348486 -1.48485,1.772728 -5.39394,2.060607 -4.80304,0.348485 -8.54547,2.287881 -8.54547,7.393945 0,4.636367 3.12122,6.787884 7.57577,6.787884 z m 2.72727,-5.272731 c -1.42424,0 -2.42424,-0.69697 -2.42424,-2.000002 0,-1.19697 0.84848,-2.121213 2.78788,-2.424244 1.33333,-0.212121 2.45455,-0.484849 3.33333,-0.848485 v 1.939395 c 0,2.121214 -1.80303,3.333336 -3.69697,3.333336 z"
id="path4304" />
<path
d="m 144.7332,29.304902 c 0.0151,2.303032 -1.31818,3.696972 -3.39394,3.696972 -2.10606,0 -3.31818,-1.39394 -3.33334,-3.696972 V 16.213983 h -8.36364 v 14.848496 c 0.0152,5.090913 3.22728,8.727279 8.12122,8.727279 3.4697,0 6.13637,-1.757577 7.15152,-4.727276 h 0.24242 v 4.424245 h 7.9394 V 16.213983 h -8.36364 z"
id="path4306" />
<path
d="m 165.76349,39.789758 c 3.27273,0 5.51516,-1.757577 6.48486,-4.121215 h 0.18182 v 3.818184 h 8.30303 V 8.4564012 h -8.36364 V 20.274592 h -0.12121 c -0.90909,-2.363638 -3.09091,-4.36364 -6.54546,-4.36364 -4.60607,0 -9.09092,3.515154 -9.09092,11.939403 0,8.060612 4.18182,11.939403 9.15152,11.939403 z m 3.09092,-6.424247 c -2.30304,0 -3.63637,-2.060608 -3.63637,-5.515156 0,-3.454548 1.33333,-5.515156 3.63637,-5.515156 2.30303,0 3.69697,2.060608 3.69697,5.515156 0,3.393942 -1.39394,5.515156 -3.69697,5.515156 z"
id="path4308" />
<path
d="m 184.8544,39.486727 h 8.36364 V 16.213983 h -8.36364 z m 4.18182,-25.696988 c 2.27273,0 4.12121,-1.712123 4.12121,-3.8181851 0,-2.1060622 -1.84848,-3.8181847 -4.12121,-3.8181847 -2.27273,0 -4.12122,1.7121225 -4.12122,3.8181847 0,2.1060621 1.84849,3.8181851 4.12122,3.8181851 z"
id="path4310" />
<path
d="m 204.67257,16.213983 h -8.36364 l 6.18182,11.636372 -6.60606,11.636372 h 8.36364 l 3.81818,-7.393945 3.9394,7.393945 h 8.24243 l -6.54546,-11.636372 6.24243,-11.636372 h -8.30303 l -3.57577,7.212126 z"
id="path4312" />
<path
d="M 249.64228,8.4564012 V 27.607931 c 0,2.893941 -2.07576,4.9697 -4.9697,4.9697 -2.89395,0 -4.96971,-2.075759 -4.96971,-4.9697 V 8.4564012 h -8.42424 V 28.335204 c 0,7.090914 5.36364,11.51516 13.39395,11.51516 7.9697,0 13.39394,-4.424246 13.39394,-11.51516 V 8.4564012 Z"
id="path4314" />
<path
d="m 262.0665,39.486727 h 8.42425 V 27.365506 h 12.06061 V 20.577622 H 270.49075 V 15.244285 H 283.8847 V 8.4564012 h -21.8182 z"
id="path4316" />
<path
d="m 317.03625,23.971564 c 0,-10.363644 -6.66668,-15.9394055 -15.09092,-15.9394055 -8.48486,0 -15.09093,5.5757615 -15.09093,15.9394055 0,10.303038 6.60607,15.939406 15.09093,15.939406 8.42424,0 15.09092,-5.575762 15.09092,-15.939406 z m -8.66668,0 c 0,5.575762 -2.24242,8.606067 -6.42424,8.606067 -4.18183,0 -6.42425,-3.030305 -6.42425,-8.606067 0,-5.575761 2.24242,-8.606067 6.42425,-8.606067 4.18182,0 6.42424,3.030306 6.42424,8.606067 z"
id="path4318" />
</g>
<g
aria-label="Daudix UFO"
transform="translate(104.9638,311.99825)"
id="text4099"
style="font-weight:900;font-size:42.6667px;font-family:Inter;-inkscape-font-specification:'Inter Heavy';text-align:center;text-anchor:middle;white-space:pre;shape-inside:url(#rect4101);display:inline;fill:#dc8add;fill-opacity:0.2;stroke-width:2;stroke-linecap:square">
<path
d="m 84.975567,39.486727 c 9.454552,0 15.454553,-5.818186 15.454553,-15.515163 0,-9.696977 -6.000001,-15.5151628 -15.575765,-15.5151628 H 73.036164 V 39.486727 Z m -3.515154,-7.15152 V 15.607922 h 2.969699 c 4.848488,0 7.515157,1.878789 7.515157,8.363642 0,6.484854 -2.666669,8.363643 -7.272733,8.363643 z"
id="path4321" />
<path
d="m 110.91496,39.850364 c 3.0303,0 5.31818,-1.030304 6.72728,-3.636366 h 0.18181 v 3.272729 h 7.81819 V 23.547322 c 0,-4.303034 -4.07576,-7.63637 -10.72728,-7.63637 -6.95455,0 -10.3788,3.636367 -10.66667,7.878794 h 7.69697 c 0.19697,-1.439395 1.25758,-2.121214 2.84849,-2.121214 1.45454,0 2.48485,0.666667 2.48485,1.87879 v 0.06061 c 0,1.348486 -1.48485,1.772728 -5.39394,2.060607 -4.80304,0.348485 -8.54547,2.287881 -8.54547,7.393945 0,4.636367 3.12122,6.787884 7.57577,6.787884 z m 2.72727,-5.272731 c -1.42424,0 -2.42424,-0.69697 -2.42424,-2.000002 0,-1.19697 0.84848,-2.121213 2.78788,-2.424244 1.33333,-0.212121 2.45455,-0.484849 3.33333,-0.848485 v 1.939395 c 0,2.121214 -1.80303,3.333336 -3.69697,3.333336 z"
id="path4323" />
<path
d="m 144.7332,29.304902 c 0.0151,2.303032 -1.31818,3.696972 -3.39394,3.696972 -2.10606,0 -3.31818,-1.39394 -3.33334,-3.696972 V 16.213983 h -8.36364 v 14.848496 c 0.0152,5.090913 3.22728,8.727279 8.12122,8.727279 3.4697,0 6.13637,-1.757577 7.15152,-4.727276 h 0.24242 v 4.424245 h 7.9394 V 16.213983 h -8.36364 z"
id="path4325" />
<path
d="m 165.76349,39.789758 c 3.27273,0 5.51516,-1.757577 6.48486,-4.121215 h 0.18182 v 3.818184 h 8.30303 V 8.4564012 h -8.36364 V 20.274592 h -0.12121 c -0.90909,-2.363638 -3.09091,-4.36364 -6.54546,-4.36364 -4.60607,0 -9.09092,3.515154 -9.09092,11.939403 0,8.060612 4.18182,11.939403 9.15152,11.939403 z m 3.09092,-6.424247 c -2.30304,0 -3.63637,-2.060608 -3.63637,-5.515156 0,-3.454548 1.33333,-5.515156 3.63637,-5.515156 2.30303,0 3.69697,2.060608 3.69697,5.515156 0,3.393942 -1.39394,5.515156 -3.69697,5.515156 z"
id="path4327" />
<path
d="m 184.8544,39.486727 h 8.36364 V 16.213983 h -8.36364 z m 4.18182,-25.696988 c 2.27273,0 4.12121,-1.712123 4.12121,-3.8181851 0,-2.1060622 -1.84848,-3.8181847 -4.12121,-3.8181847 -2.27273,0 -4.12122,1.7121225 -4.12122,3.8181847 0,2.1060621 1.84849,3.8181851 4.12122,3.8181851 z"
id="path4329" />
<path
d="m 204.67257,16.213983 h -8.36364 l 6.18182,11.636372 -6.60606,11.636372 h 8.36364 l 3.81818,-7.393945 3.9394,7.393945 h 8.24243 l -6.54546,-11.636372 6.24243,-11.636372 h -8.30303 l -3.57577,7.212126 z"
id="path4331" />
<path
d="M 249.64228,8.4564012 V 27.607931 c 0,2.893941 -2.07576,4.9697 -4.9697,4.9697 -2.89395,0 -4.96971,-2.075759 -4.96971,-4.9697 V 8.4564012 h -8.42424 V 28.335204 c 0,7.090914 5.36364,11.51516 13.39395,11.51516 7.9697,0 13.39394,-4.424246 13.39394,-11.51516 V 8.4564012 Z"
id="path4333" />
<path
d="m 262.0665,39.486727 h 8.42425 V 27.365506 h 12.06061 V 20.577622 H 270.49075 V 15.244285 H 283.8847 V 8.4564012 h -21.8182 z"
id="path4335" />
<path
d="m 317.03625,23.971564 c 0,-10.363644 -6.66668,-15.9394055 -15.09092,-15.9394055 -8.48486,0 -15.09093,5.5757615 -15.09093,15.9394055 0,10.303038 6.60607,15.939406 15.09093,15.939406 8.42424,0 15.09092,-5.575762 15.09092,-15.939406 z m -8.66668,0 c 0,5.575762 -2.24242,8.606067 -6.42424,8.606067 -4.18183,0 -6.42425,-3.030305 -6.42425,-8.606067 0,-5.575761 2.24242,-8.606067 6.42425,-8.606067 4.18182,0 6.42424,3.030306 6.42424,8.606067 z"
id="path4337" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 37 KiB

58
assets/page-logo-i.svg Normal file
View file

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="130"
height="26"
version="1.1"
id="svg10"
sodipodi:docname="page-logo-i.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
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">
<defs
id="defs14" />
<sodipodi:namedview
id="namedview12"
pagecolor="#808080"
bordercolor="#000000"
borderopacity="0.24705882"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
showgrid="false"
width="137px"
inkscape:current-layer="svg10"
showguides="true"
inkscape:guide-bbox="true"
inkscape:showpageshadow="false"
inkscape:deskcolor="#1f1f1f"
inkscape:zoom="5.4230769"
inkscape:cx="65"
inkscape:cy="12.907801"
inkscape:window-width="1280"
inkscape:window-height="731"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid5602" />
<sodipodi:guide
position="60,11"
orientation="0,-1"
id="guide140"
inkscape:locked="false" />
</sodipodi:namedview>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:900;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Inter;-inkscape-font-specification:'Inter, Heavy';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:1"
x="65.02272"
y="17.522728"
id="text2096"><tspan
sodipodi:role="line"
id="tspan2094"
style="font-style:normal;font-variant:normal;font-weight:900;font-stretch:normal;font-size:16px;font-family:Inter;-inkscape-font-specification:'Inter, Heavy';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;fill-opacity:1;stroke-width:1"
x="65.02272"
y="17.522728">Daudix's Blog</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

58
assets/page-logo.svg Normal file
View file

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="130"
height="26"
version="1.1"
id="svg10"
sodipodi:docname="page-logo.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
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">
<defs
id="defs14" />
<sodipodi:namedview
id="namedview12"
pagecolor="#808080"
bordercolor="#000000"
borderopacity="0.24705882"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
showgrid="false"
width="137px"
inkscape:current-layer="svg10"
showguides="true"
inkscape:guide-bbox="true"
inkscape:showpageshadow="false"
inkscape:deskcolor="#1f1f1f"
inkscape:zoom="5.4230769"
inkscape:cx="65"
inkscape:cy="12.907801"
inkscape:window-width="1280"
inkscape:window-height="731"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid5602" />
<sodipodi:guide
position="60,11"
orientation="0,-1"
id="guide140"
inkscape:locked="false" />
</sodipodi:namedview>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:900;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Inter;-inkscape-font-specification:'Inter, Heavy';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke-width:1"
x="65.02272"
y="17.522728"
id="text2096"><tspan
sodipodi:role="line"
id="tspan2094"
style="font-style:normal;font-variant:normal;font-weight:900;font-stretch:normal;font-size:16px;font-family:Inter;-inkscape-font-specification:'Inter, Heavy';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke-width:1"
x="65.02272"
y="17.522728">Daudix's Blog</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
assets/splash.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
favicon.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 806 B

159
favicon.svg Normal file
View file

@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="128"
height="128"
viewBox="0 0 128 128"
version="1.1"
id="svg323"
sodipodi:docname="favicon.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1204"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="1.84375"
inkscape:cx="63.728814"
inkscape:cy="64"
inkscape:window-width="1280"
inkscape:window-height="731"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg323" />
<defs
id="defs320">
<linearGradient
id="linearGradient1879">
<stop
style="stop-color:#c061cb;stop-opacity:1;"
offset="0"
id="stop1875" />
<stop
style="stop-color:#62a0ea;stop-opacity:1;"
offset="1"
id="stop1877" />
</linearGradient>
<linearGradient
id="linearGradient62889">
<stop
style="stop-color:#ffffff;stop-opacity:0.5;"
offset="0"
id="stop62885" />
<stop
style="stop-color:#62a0ea;stop-opacity:0"
offset="1"
id="stop62887" />
</linearGradient>
<linearGradient
xlink:href="#linearGradient1879"
id="linearGradient559-3"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-64)"
x1="16"
y1="16"
x2="112"
y2="112" />
<radialGradient
xlink:href="#linearGradient62889"
id="radialGradient561-5"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-64)"
cx="96"
cy="128"
fx="96"
fy="128"
r="64" />
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath4577">
<circle
id="circle4579"
cx="0"
cy="64"
r="48"
style="display:none;fill:#3584e4"
d="M 48,64 A 48,48 0 0 1 0,112 48,48 0 0 1 -48,64 48,48 0 0 1 0,16 48,48 0 0 1 48,64 Z" />
<path
id="lpe_path-effect4581"
style="fill:#3584e4"
class="powerclip"
d="M -69,-5 H 69 V 133 H -69 Z M 48,64 A 48,48 0 0 0 0,16 48,48 0 0 0 -48,64 48,48 0 0 0 0,112 48,48 0 0 0 48,64 Z" />
</clipPath>
</defs>
<g
id="layer1"
style="display:inline"
transform="translate(64)">
<g
id="g2000"
style="display:inline">
<rect
width="128"
height="128"
x="-64"
y="0"
id="rect541-6"
style="fill:url(#linearGradient559-3)"
rx="64"
ry="64" />
<rect
width="128"
height="128"
x="-64"
y="0"
id="rect543-2"
style="display:inline;fill:url(#radialGradient561-5)"
rx="64"
ry="64" />
<path
id="rect4571"
width="128"
height="128"
x="-64"
y="0"
style="fill:#ffffff"
clip-path="url(#clipPath4577)"
d="M 0,0 C 35.456,0 64,28.544 64,64 64,99.456 35.456,128 0,128 -35.456,128 -64,99.456 -64,64 -64,28.544 -35.456,0 0,0 Z"
rx="64"
ry="64" />
<g
id="g2006">
<path
id="circle2948-7"
style="fill:#ffffff"
d="m 21.000015,42.00004 c -3.38197,0.01 -6.57135,1.57516 -8.64844,4.24414 -0.0563,0.0464 -0.10741,0.0988 -0.15234,0.15625 l -0.59961,0.79883 c -0.0166,0.0228 -0.0323,0.0462 -0.0469,0.0703 -0.9036,1.44322 -2.61156,2.14889 -4.26757,1.76953 -1.67784,-0.68517 -3.47277,-1.03806 -5.28514,-1.03905 -4.66791,0.007 -9.02535,2.33976 -11.61914,6.2207 -0.0119,0.008 -0.0236,0.0154 -0.0352,0.0234 -1.45558,1.26242 -3.35347,1.8944 -5.27539,1.75781 -0.0234,-10e-4 -0.0469,-0.002 -0.0703,-0.002 h -3 c -7.73199,0 -14,6.26801 -14,14 0,7.73199 6.26801,14 14,14 1.7698,-0.0111 3.52144,-0.35776 5.16211,-1.02148 0.0838,-0.0111 0.16581,-0.0327 0.24414,-0.0645 l 0.37305,-0.16601 c 0.0209,-0.009 0.0417,-0.0182 0.0625,-0.0273 l 4.9082,-2.18164 c 1.96395,-0.87286 4.23521,-0.68043 6.02344,0.51172 l 1.58789,1.0586 c 2.59458,2.48572 6.04556,3.87869 9.63867,3.89062 7.73199,0 14,-6.26801 14,-14 v -4 c 0,-2.20418 1.03744,-4.2771 2.80078,-5.59961 0.340434,-0.221632 0.671808,-0.520979 0.9707,-0.76367 2.65992,-2.07764 4.21871,-5.26147 4.22855,-8.63664 0,-6.07513 -4.92487,-11 -11,-11 z" />
<circle
id="circle547-9"
cx="32"
cy="68"
r="4"
style="fill:#ffffff" />
<circle
id="circle549-1"
cx="6"
cy="42"
r="2"
style="fill:#ffffff" />
<circle
id="circle551-2"
cx="-15"
cy="49"
r="3"
style="fill:#ffffff" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
fonts/Inter.var.woff2 Normal file

Binary file not shown.

30
index.md Normal file
View file

@ -0,0 +1,30 @@
---
layout: default
---
<!-- ![Pixels](assets/splash.png){:.full.pixels} -->
Hi there! this is my little snug, take your cup of coffee and let's dive in!
## Posts
[Gemini: Exploring the Cozy World of Capsules and Space](posts/Gemini: Exploring the Cozy World of Capsules and Space.md){: .page-link}
```
_..._
.' '. _
/ .-""-\ _/ \
.-| /:. | | |
| \ |:. /.-'-./
| .-'-;:__.' =/
.'= *=|NASA _.='
/ _. | ;
;-.-'| \ |
/ | \ _\ _\
\__/'._;. ==' ==\
\ \ |
/ / /
/-._/-._/
jgs \ `\ \
`-._/._/
```

View file

@ -0,0 +1,340 @@
# Gemini: Exploring the Cozy World of Capsules and Space
This post is made to give you basic understanding of what Gemini is, what are Capsules and Gemlogs, modern-day use of retro image techniques and text-based art
> I highly recommend you to read geminiquickst.art before this post, because it provides a lot of valuable information about Gemini, and it is better written than this post
## What is Gemini
> For more accurate and in-depth answer to this question see [Project Gemini FAQ](https://gemini.circumlunar.space/docs/faq.gmi)
Gemini is how some people call it - "smol web" - web without distracting elements such as ads, stylesheets that define website look, various tracking scripts, cookies and etc.
Gemini has its own aesthetics, it feels cozy, is small, has its own community, and are easy to use
It's not made to replace or compete with web, but to co-exist with it, it's made for those who like old web philosophy, but would like to use modern tools
Project Gemini started in June 2019 by [Solderpunk](https://www.circumlunar.space/~solderpunk), who remains the "Benevolent Dictator" of the project
In February 2021, long time Gemini contributor Sean Conner was granted some decision making authority to help finalize the Gemini specification during a time when Solderpunk was unable to dedicate the necessary time and energy to the project
The current (informal) specification of the protocol is largely frozen, so no major changes will be made
Take a look at [awesome-gemini](https://github.com/kr1sp1n/awesome-gemini) for list of great Gemini-related projects
## Gemini Browsers
Gemini is a protocol that are not supported by regular web browsers, so you will need a separate browser for it, as Gemini protocol are much easier than web, there are a lot of browsers for it, some good ones are:
* [Lagrange](https://github.com/skyjake/lagrange) (Cross-platform) - Beautiful, fast and customizable Gemini browser
* [Geopard](https://github.com/ranfdev/Geopard) (Linux) - Colorful and adaptive Libadwaita Gemini browser written in Rust
* [Buran](https://github.com/Corewala/Buran) (Android) - Simple Gemini browser for Android
* [Elaho](https://github.com/pitr/gemini-ios) (iOS) - Simple Gemini browser for iOS
* [Amfora](https://github.com/makew0rld/amfora) (Terminal) - Fancy Gemini browser for terminal
Or, if you don't want to install a separate browser for Gemini or just want to quickly look over some capsule, you can use Gemini to web proxy, such as [portal.mozz.us](https://portal.mozz.us)
## Browsing Geminispace
You can start browsing Geminispace by looking over some capsules at various aggregators:
* [gemini.circumlunar.space/capcom](gemini://gemini.circumlunar.space/capcom)
* [rawtext.club:1965/~sloum/spacewalk.gmi](gemini://rawtext.club:1965/~sloum/spacewalk.gmi)
* [calcuode.com/gmisub-aggregate.gmi](gemini://calcuode.com/gmisub-aggregate.gmi)
Gemini also has its own search - [geminispace.info](gemini://geminispace.info)
I have found some interesting capsules you might like to look at:
* [chat.mozz.us](gemini://chat.mozz.us chat.mozz.us) - Unmoderated chat for everyone
* [station.martinrue.com](gemini://station.martinrue.com station.martinrue.com) - Gemini social media
* [cosmic.voyage](gemini://cosmic.voyage cosmic.voyage) - Tilde community based around a collaborative science-fiction universe
* [skyjake.fi](gemini://skyjake.fi skyjake.fi) - Lagrange developers capsule
* And more to be found ;)
## Creating Own Capsule
You can start by getting your own Gemini capsule (a website in Geminispace), there are multiple free capsule providers, one of them are [Flounder](gemini://flounder.online)
Flounder gives you own Capsule, where you can put files, posts, and it also provides web proxy, so your friends can enjoy your content from regular web browsers
There are, however, some limits:
* Max file size: 1MB
* Max user space: 10MB
* Max file count: 1024
The may seem strict at first, but they are more than enough for Gemini text
First of all you need to register an account, every account is manually approved, so you may need to wait, (in my case I had to wait 2 months, and then I decided to send an email to admin, he immediately approved my registration, huge thanks to him!)
After your registration have been approved, take a look at [Tips and tricks](gemini://admin.flounder.online/tips_and_tricks.gmi) and [Gemini text guide](gemini://admin.flounder.online/gemini_text_guide.gmi)
And you are ready to start writing!
## Writing Gemtext
Gemtext is a markup language a bit similar to Markdown, it has only most needed formatting
* Headers
* Hyperlinks
* Lists (such as this one)
* Quotes
* Raw unformatted text
You can learn Gemtext in 5 minutes, for start, take a look at:
* [Gemtext quick introduction](https://gemini.circumlunar.space/docs/gemtext.gmi)
* [Gemtext cheatsheet](https://gemini.circumlunar.space/docs/cheatsheet.gmi)
Gemini also supports Unicode, so you can do 🤣️, 🖂, 🗺 and etc.
If you are familiar with Markdown, there are Markdown to Gemtext converters, e.g [gemgen](https://sr.ht/~kota/gemgen)
(This post were written in Markdown, so I found out the hard way that gemtext doesn't support links in text, they need to be on separate line)
## Adding Images
Knowing about file size and overall available size restrictions of Flounder, you may have question: how I can include images!
There are 2 ways, first one is to use put image somewhere at web (Imgur and others) or to put the image directly in your capsule after compression, one of the ways to greatly compress an image is dithering
Dither is an intentionally applied form of noise used to randomize quantization error, preventing large-scale patterns such as color banding in images, basically, it allows to reduce the amount of colors in image while keeping somewhat readable image
For this you can use Halftone - A simple Linux app that allows you to dither your image in seconds, or you can use Terminal tools such as Pixfect (by me :P), ImageMagick and others. You can also use amazing website for image dithering with some really interesting options - Dither Me This
* [Halftone](https://github.com/tfuxu/Halftone)
* [Pixfect](https://github.com/daudix-UFO/Pixfect)
* [Dither Me This](https://doodad.dev/dither-me-this)
Example of simple ordered image dithering with 2 colors using ImageMagick
$ convert image.jpg -resize 840x840 -strip -colors 4 -ordered-dither o8x8 image-dithered.png [1]
I will use Halftone in this example
* Open Halftone and open image
* Tweak settings at your liking, I will go with default, except I will change width to 512
* Press "Dither It!"
This is what we get in the end
![](../assets/blog/2023-06-12-bay-bridge-floyd.png)
[Image on Unsplash](https://unsplash.com/photos/raNGlrn5JRI)
Not bad, right? and what's with the file size? let's see!
>bay-bridge.jpg > 521,9 KB
>halftone-bay-bridge.png > 26,2 KB
The decrease is 94.9799%, quite a lot considering limited storage
Now you can fit 357 photos, while without compression you could only fit 19
But, we can go even further, by using less colors and different dithering algorithm
With ordered dithering (Bayer) and 2 colors we get the following result
![](../assets/blog/2023-06-12-bay-bridge-bayer.png)
[Image on Unsplash](https://unsplash.com/photos/raNGlrn5JRI)
>bay-bridge.jpg > 521,9 KB
>halftone-bay-bridge-2.png > 4,9 KB
99.0611% decrease
The image is notably worse, but it has its own aesthetics, and size speaks for itself
Taking into account ability to link images from web, images are not such a big issue in Geminispace
## ASCII
ASCII art is a good way to give your Gemlog (this is how blogs hosted at Gemini are called) more personality and make them more fun
ASCII art is with us from around 1966, and was invented in large part because early printers often lacked graphics ability and thus, characters were used in place of graphic marks that couldn't display normal images, ASCII art was also used in early e-mail when images could not be embedded [2]
ASCII art is used to-date, sometimes as a braille art (you likely seen one of these), as image converted to ASCII, as text banners or as emoticons :) [3]
Image to ASCII is very common, and you can easily make one yourself!
Good tools for image to ASCII are:
* [ascii-image-converter](https://github.com/TheZoraiz/ascii-image-converter) - Modern, fast, has some useful options to fine-tune the image
* [jp2a](https://github.com/Talinx/jp2a) - Good, time-tested tool
* [Letterpress](https://gitlab.com/gregorni/Letterpress) - Based on the jp2a, has good UI made with Libadwaita
ascii-image-converter in my experience, works the best
Here are simple example of ASCII and Braille images made with ascii-image-converter
```
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%@@
@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@%+@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@**@@@@@@@@@@@@@@@@@@@#@@@@%###%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+@@@@%%%#@@@@@@@@@@@@@@@@
@@@@@@@%=%@@@@@@@@@@@@@@@@@@%*@%+-:::-------=###%%%%%@@@@@@@@@@@@@@@@@@@%#=#@@@#++--%%@#*+#@@@@@@@@@
@@@@@@@*+@@@@@@@@@@@@@@@@@@@##%==------------:::::::::-----==========++*%%*@@@#-=::#%%%+=:-+*=**=@@#
@@@@@@@=#@#+====+++++#%%%%%%##=-==+=:------=-:------:::::::::..........=###@@@@+:-+#%@#+*=#**=+-=*+=
@@@@@@#+@=--::::--:::-+++==%#-:==+*=-+++=--=:----------=====-------::::.:+*@@#*=+++#*%=*=*%##*%+#@*#
#***=+@@%.=----------+++*=*%+:==+++%%*+*#*+--===------==============++==---==-=-+==*+==+-*##+**=@%#%
*-:::*@@=-----------=*++==++ :+---:-++++**=--==++++===--------===+**%%=-========---------=+++*++%%%@
@@*=:*=+.::....:::::-++++=*-.--::...:---::. ...::----==--------===#@#==----============--------===+
@@@@@++* .........:-----+--:..:........:. .. ...::::::::::=+++=-=---=-----------====-==------
#%##%+*#. .. . .::-:::=--.......................:::::::::::::::::::::::------------------------=
++-----+: .:--=--=-- ........................::..:::::::::::::::::::::..:::::----------=
:..:-=.:--:.. ..:+####++-. .. . ....... .......::::-----==++===-:::::::--
=--------+*+=-:-=-==--::-===-::..... ..::---::::::---:::----==++******++++++++****##**+=-::.
==-:.:::..:--===-::-=:..:=:..+--:-::::::... .-------=###%%#=+####*+++==--:::. .......::--=++++=
.::.::--:-=:.------=:--:=+:-+*:--:::::-:.... .::-:+*++==+=++=-:.....:.:..::::::::........ ....:-
.. :..::....::.:--==:. -:..:.::: .-.::::-..::. . :=-:.:---::.:::::::::......::::::::::::-.:::::
=------=-::=-:---=+-..--:-++=. :::--::-======+=-:::::--+..-=-::::........ ..............:::.::--::::
#######%%#%#%##%%%%: =+..#%#%* -%%#################*=:=-:+*++=##**+=--:......... .............::::::
**************+****=..-. :++=: -+++++++++++++++***+:::++**++==+*####*****+==-:::....................
++++++++++++++++++++*++++======+================-: .=##***+++=++++++++++********+++=-==--==---::---
**##****##*####**###*#**######*###*#####**####+: .:::=*#**+==#*******************#**######*######*##
**********#*******************************#***: .=-::-:::--. :************************+******+******
++++++++++++++++++++++++++++++++++++*++++****+. :-..*::=-:+= =**************++**+****++******+***+*
+*++*+*+++++*+++++++++++++++++++++++++++++++++- . -=-+=++: ++++++++++++++++++++++++++++++++++*+++
**+++*+*++++++++++++++++++++++++=++++=+=====+==---: --=-=. .----:::::::::::::::::::---------=======
*++*+**++***+++****++*+++++++++++++++++++++++++++++=========+=====-====--==-==---------:------------
*+++++++++++**+*+*******+***+*************************************************************++**++++++
```
```
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⡟⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣛⣁⣾⣿⣿⣿⣿⣶⣶⠅⠸⢿⣿⣿⣟⣹⠋⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣟⢳⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢸⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠛⠛⠉⠉⠉⠉⠉⠉⠛⠛⠛⣵⣿⣿⣿⣿⣿⣿⣧⠭⡡⠁⠀⣶⣶⣶⣿⢭⣍⠀⠙⠲⠿⠧⣿⡿⢘⣿⣿⣟
⣿⣿⣿⣿⣿⣿⣿⡏⣾⣿⣿⠋⠉⠉⠉⠙⠛⠛⠉⠉⠍⢿⣿⣿⡿⢿⡿⣿⣿⣿⠇⡘⠀⢀⣤⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⡇⠀⢀⣨⣟⢿⣿⡟⣸⡿⢠⣿⣿⣶⣤⣤⡄⣈⣙⠋⠹
⣿⣿⣿⣿⣿⣿⣿⢣⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣛⣷⠒⢆⣿⡿⠜⠀⡇⢠⣾⣛⠁⢀⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⠻⣿⣿⣿⣯⡑⢰⡻⢸⣿⣷⡿⠁⣿⠇⣾⣿⣿⣿⢿⣿⣷⣿⣿⣿⣿
⡿⣿⣽⡶⠤⢸⣿⣿⡿⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠟⠻⠟⠣⣼⣿⡿⢠⣰⠀⠹⢇⠹⢿⣿⣯⣗⣟⣿⣦⣤⡀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢠⣀⠀⠀⠀⠀⠈⠉⠁⠘⠀⠠⠶⠇⠈⠿⠹⠃⢤⡏⠀⣼⣿⣿⣇⣾⡟⠛⣿⣿⣿⣿
⣧⡀⠀⠀⠀⣸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣶⠊⠋⢉⡇⠀⠀⡍⠀⠀⠀⠀⠈⢿⣌⣋⣹⡿⠛⠉⠀⠀⠀⠙⠻⠿⣷⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠛⠛⠿⠃⣶⣿⣿⣿⣿
⣿⣿⣦⣄⡀⣿⡏⠻⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠿⠿⠿⠿⢾⡇⠀⠀⠃⠀⠀⠀⠀⠀⠀⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠛⠓⠦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⢿⣿⣿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠃⠉⠛
⣿⣿⣿⣿⣿⡇⢰⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡶⠛⠋⠁⠀⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⢿⣿⣿⡇⢼⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⡽⢗⠀⠀⠀⡇⠨⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⡄⢰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤
⠀⠀⠀⠀⢀⡇⠀⠀⠀⣀⣀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣩⣿⣿⣷⣭⡇⣘⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢂⠄⠀⡀⠀⠃⠉⠀⠀⠻⢿⣧⠄⣀⠀⢐⠶⠂⠾⠷⠂⠀⠀⠀⠉⠙⠑⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠠⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⠀⢀⣀⣀⣀⣀⣠⣤⣤⣤⣶⣶⣶⣶⠶⠿⠿⠛⠛⠛⠛⠛⠛⠛⠛⠻⠿⠿⢿⣿⣷⣶⣤⣄⣀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠈⢬⠙⠃⠀⠀⠀⢀⠏⠀⠀⠀⠀⣶⠀⠀⠀⣴⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⣠⣶⣾⣿⣿⣿⣿⠋⢵⡿⠿⣿⣟⠛⠛⠛⠋⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠛⠿⠶⣦
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀⠀⠐⢀⠀⠠⠚⠀⠀⠀⠀⢠⠇⠀⠀⣠⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠀⢻⡻⠛⠛⠛⠉⣩⠴⠞⠿⠍⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣩⠖⠋⠉⠀⠨⠀⠀⠀⠉⠁⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⣆⠀⠀⠤⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢑⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀
⣀⣀⣀⣀⣀⣀⣀⣄⣀⣀⣀⣀⣀⣀⣀⣀⣄⣠⣤⠀⠀⢀⡴⠂⠀⢀⣴⣶⣤⡀⠀⢀⣀⣀⠀⡀⠀⠀⢀⡐⢄⣀⢀⣀⢀⣉⣳⡀⠀⠀⠀⠀⠀⡠⠃⡜⠀⠀⣠⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠒⠀⠀⠀⠀⠀
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⢸⡄⠀⠀⣿⣿⣿⣿⣷⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠀⢰⠇⢠⣾⣿⣿⠁⠀⣾⣿⣷⣶⣦⣤⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⡿⠿⠿⡿⠿⢿⠿⢧⠀⠀⠉⠀⠀⠘⠛⠿⠟⠁⠀⠸⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⢿⣿⠟⠁⠀⠀⣍⣴⣿⣿⣿⣿⡂⢬⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣤⣤⡀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣥⣾⣾⣶⣶⣾⣿⣾⣿⣿⣷⣾⣶⣶⣦⣴⣶⣶⣶⣦⣴⣦⣤⣤⣤⣤⣤⣤⣤⣤⣤⣦⣤⣤⣄⡤⠂⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣧⣶⣖⣿⣟⣾⣿⣷⣿⣿⣻⢿⣾⣿⣿⣿⣾⣶⣿⣿⣿⣿⣷⣶⣤⢠⣤⣤⣤⣤⣤⣤⣤⣀⣀⣀⣀⣀⣀⣀
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⢀⡀⠀⠈⠙⢿⣿⣿⣿⠿⠿⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⢀⠏⠀⠀⢀⠖⡉⠉⠁⡐⢄⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣯⣿⣾⣿⣿⣿⣿⣿⣯⣿⣿⣿⣷⢿⢿⡽⣿⡿⣿⡿⣿⡿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠘⠀⠀⠀⡏⠀⠀⣤⠄⠤⢼⡇⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣿⡿⣿⣿⣽⣿⣫⣽⣻⣿⣿⣿⣿⣿⢽⣿⣻⣿⣹⣾⣿⣿⣿⣾⣯⣿⣿⣳⣾⢿⣶⣿⣭⣿⡄⠀⠀⠀⠀⠀⠱⣠⠎⢰⠘⣦⡼⠁⠀⠀⣼⣿⣟⡛⠻⠻⠛⠻⢛⠛⣏⠟⣽⠚⠿⠿⡛⠫⠻⠿⠛⡹⢇⡹⠻⠛⠟⠟⠟⠿⠻⡿⡿⡿⣿⣟⣿⡿
⣿⣿⣿⣾⣿⣿⣿⣿⣿⣻⣻⣿⣿⣿⣿⣿⣿⣿⣿⣙⣿⣽⣿⣿⣭⣻⣜⣿⣿⣿⣟⣻⢋⣉⣛⣳⣽⠊⣛⠃⡆⠥⠊⠠⣩⣈⡁⠀⠀⢀⡀⠀⠀⠈⠓⠛⠚⠋⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⠉⠑⠛⠙⠉⠛⠑
⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣯⣿⣿⣿⣿⣿⣿⣾⣿⣾⣿⣿⣿⣿⣿⣯⣼⣴⣿⣿⣷⣯⣾⣵⣶⣿⣿⣦⣼⣷⣮⡶⣶⣴⣶⣦⢶⣤⣶⢂⣤⡤⣤⣠⣦⣄⡄⢀⣔⣠⠀⣠⡄⢠⣄⣄⠀⢠⣀⢀⢀⡀⠀⡀⠀⠀⡀⠀⠀⢀⢄⠀⠀⠀⠀⠀⠀⠀⠀⠤⠀
⣿⣿⡻⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣾⣷⣶⣧⣶⣷⣶⣶⣶⣾⣶⣦
```
But, do you think it has quality of this image?
![](../assets/blog/2023-06-12-grayscale-plane.png)
[Image on Unsplash](https://unsplash.com/photos/cs4uFYrNZfc)
Me too...
The result heavily depends on amount of detail, colors, contrast, the width of ASCII output and etc. you can get pretty decent result, but for images it probably worth just to use dithering ;)
But... ASCII works nicely for art and text banners, like this computer!
```
.,,uod8B8bou,,.
..,uod8BBBBBBBBBBBBBBBBRPFT?l!i:.
,=m8BBBBBBBBBBBBBBBRPFT?!||||||||||||||
!...:!TVBBBRPFT||||||||||!!^^""' ||||
!.......:!?|||||!!^^""' ||||
!.........|||| ||||
!.........|||| ## ||||
!.........|||| ||||
!.........|||| ||||
!.........|||| ||||
!.........|||| ||||
`.........|||| ,||||
.;.......|||| _.-!!|||||
.,uodWBBBBb.....|||| _.-!!|||||||||!:'
!YBBBBBBBBBBBBBBb..!|||:..-!!|||||||!iof68BBBBBb....
!..YBBBBBBBBBBBBBBb!!||||||||!iof68BBBBBBRPFT?!:: `.
!....YBBBBBBBBBBBBBBbaaitf68BBBBBBRPFT?!::::::::: `.
!......YBBBBBBBBBBBBBBBBBBBRPFT?!::::::;:!^"`;::: `.
!........YBBBBBBBBBBRPFT?!::::::::::^''...::::::; iBBbo.
`..........YBRPFT?!::::::::::::::::::::::::;iof68bo. WBBBBbo.
`..........:::::::::::::::::::::::;iof688888888888b. `YBBBP^'
`........::::::::::::::::;iof688888888888888888888b. `
`......:::::::::;iof688888888888888888888888888888b.
`....:::;iof688888888888888888888888888888888899fT!
`..::!8888888888888888888888888888888899fT|!^"'
`' !!988888888888888888888888899fT|!^"'
`!!8888888888888888899fT|!^"'
`!988888888899fT|!^"'
`!9899fT|!^"'
`!^"'
```
Or this fancy banner!
```
██████╗ ███████╗███╗ ███╗██╗███╗ ██╗██╗
██╔════╝ ██╔════╝████╗ ████║██║████╗ ██║██║
██║ ███╗█████╗ ██╔████╔██║██║██╔██╗ ██║██║
██║ ██║██╔══╝ ██║╚██╔╝██║██║██║╚██╗██║██║
╚██████╔╝███████╗██║ ╚═╝ ██║██║██║ ╚████║██║
╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚═╝
```
The ASCII art can be found online in huge amounts, I will give you some good websites for start
* [www.asciiart.eu](https://www.asciiart.eu) - ASCII art archive
* [ascii.co.uk/art](https://ascii.co.uk/art) - A LOT of various ASCII art
* [asciiart.website](https://asciiart.website) - Christopher Johnson's ASCII art collection
As for banners, they can be easily created with figlet or toilet, you can easily find installation instructions online, I also recommend to install additional beautiful and sometimes funny fonts from [figlet-fonts](https://github.com/xero/figlet-fonts), which basically consists of few commands
$ git clone https://github.com/xero/figlet-fonts.git
$ cd figlet-fonts/
$ sudo cp -r ./ /usr/share/figlet/
And then you can create your own banner!
$ figlet -f ANSI\ Shadow "gemini"
To easily find the perfect font, you can look at [font preview](https://github.com/xero/figlet-fonts/blob/master/Examples.md)
There are also amazing graphical app for this - [Calligraphy](https://gitlab.com/gregorni/Calligraphy), made specifically for creating ASCII banners!
## Conclusion
Gemini is cozy corner for those who tired of railway noise of the web, it has its own limitations and strengths, and of course, community, in this post we have briefly touched additional topics: dithering and ASCII art
There are more things I want to tell you about, I want to write more in-depth post about Dithering, Halftone and tech limitations that forced us to implement such things
## Footnotes
1. [Tobias Bernard's Mastodon post about dithering](https://mastodon.social/@tbernard/109675668676999287)
2. [ASCII art at Wikipedia](https://en.wikipedia.org/wiki/ASCII_art)
3. [List of emoticons at Wikipedia](https://en.wikipedia.org/wiki/List_of_emoticons)
## Extra
* [andregarzia.com/2022/01/gemini-is-a-little-gem.html](https://andregarzia.com/2022/01/gemini-is-a-little-gem.html)
* [voidspace.blog/ramble/capsule-importance.gmi](gemini://voidspace.blog/ramble/capsule-importance.gmi)
[Go Back](<javascript:window.history.go(-1);>){: .inline-button}

485
style.css Normal file
View file

@ -0,0 +1,485 @@
/*
OS Component Website
====================
shamelessy stolen CSS from systemd
https://github.com/systemd/systemd/tree/main/docs
*/
/* GNOME Color Palette */
:root {
--rounded-corner: 12px;
--blue1: rgb(153,193,241);
--blue2: rgb(98,160,234);
--blue3: rgb(53,132,228);
--blue4: rgb(28,113,216);
--blue5: rgb(26,95,180);
--green1: rgb(143,240,164);
--green2: rgb(87,227,137);
--green3: rgb(51,209,122);
--green4: rgb(46,194,126);
--green5: rgb(38,162,105);
--yellow1: rgb(249,240,107);
--yellow2: rgb(248,228,92);
--yellow3: rgb(246,211,45);
--yellow4: rgb(245,194,17);
--yellow5: rgb(229,165,10);
--orange1: rgb(255,190,111);
--orange2: rgb(255,163,72);
--orange3: rgb(255,120,0);
--orange4: rgb(230,97,0);
--orange5: rgb(198,70,0);
--red1: rgb(246,97,81);
--red2: rgb(237,51,59);
--red3: rgb(224,27,36);
--red4: rgb(192,28,40);
--red5: rgb(165,29,45);
--purple1: rgb(220,138,221);
--purple2: rgb(192,97,203);
--purple3: rgb(145,65,172);
--purple4: rgb(129,61,156);
--purple5: rgb(97,53,131);
--brown1: rgb(205,171,143);
--brown2: rgb(181,131,90);
--brown3: rgb(152,106,68);
--brown4: rgb(134,94,60);
--brown5: rgb(99,69,44);
--light1: rgb(255,255,255);
--light2: rgb(246,245,244);
--light3: rgb(222,221,218);
--light4: rgb(192,191,188);
--light5: rgb(154,153,150);
--dark1: rgb(119,118,123);
--dark2: rgb(94,92,100);
--dark3: rgb(61,56,70);
--dark4: rgb(36,31,49);
--dark5: rgb(0,0,0);
--primary-color: var(--purple2); /* Set your project color */
--borders: var(--light3);
}
/* Typography */
@font-face {
font-family: 'Inter Var';
font-weight: 100 900;
font-display: swap;
font-style: oblique 0deg 10deg;
src: url("fonts/Inter.var.woff2?v=3.19") format("woff2");
}
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
html, body {
margin: 0;
padding: 0;
font-size: 16px;
font-family: "Inter Var", sans-serif;
font-weight: 400;
line-height: 1.6;
scroll-behavior: smooth;
}
body {
color: var(--dark4);
background-color: var(--light2);
/* ⇩⇩ put footer at the bottom for short pages, such as the 404 ⇩⇩ */
display: grid;
min-height: 100vh;
grid-template-rows: auto minmax(auto,1fr) auto; /* header, stuff, footer */
}
h1, h2, h3, h4, h5, h6 {
margin: 3rem 0 1rem;
font-weight: 600;
line-height: 1.25;
font-variation-settings: "wght" 600; /* needed for webkit */
}
h1 {
font-size: 1.5rem;
font-weight: 100;
font-style: normal;
margin: 3rem 0 1rem;
}
@media screen and (min-width: 650px) {
h1 {
font-size: 1.6rem;
}
}
h2 {
font-size: 1.2rem;
}
@media (prefers-color-scheme: dark) {
body {
filter: invert(100%) hue-rotate(180deg);
}
html {
background-color: var(--dark5);
}
img, video, iframe {
filter: invert(100%) hue-rotate(180deg);
}
}
a {
font-weight: 600;
text-decoration: none;
color: var(--primary-color);
cursor: pointer;
font-variation-settings: "wght" 600; /* needed for webkit */
}
a:hover {
text-decoration: underline;
}
b {
font-weight: 600;
}
small {
color: #777;
}
hr {
margin: 3rem auto 4rem;
width: 40%;
opacity: 40%;
}
img {
display: block;
margin: 2rem auto;
max-width: 100%;
}
img.full { width: 100%; }
img.pixels {
image-rendering: crisp-edges; /* older firefox browsers */
image-rendering: pixelated;
}
/* Layout */
.container {
width: 80%;
margin-left: auto;
margin-right: auto;
max-width: 720px;
}
/* Singletons */
#logo {
display: block;
width: 251px; height: 26px;
background: url('assets/page-logo.svg') no-repeat center;
padding: 5rem 0 3rem;
margin: 0 auto;
position: relative;
}
#logo a {
display: block;
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
color: rgba(0,0,0,0); /* make text transparent */
cursor: pointer;
}
.page-logo > img {
margin: 0 auto;
}
@media (prefers-color-scheme: dark) {
#logo {
filter: invert(100%) hue-rotate(180deg); /* uninvert */
background-image: url('assets/page-logo-i.svg');
}
}
.brand-white {
background-color: #fff;
}
.brand-green {
background-color: #30D475;
}
.brand-black {
background-color: #201A26;
color: white;
}
.page-link::after {
content: " ➜";
}
/* Footer */
footer {
text-align: center;
padding: 3em 0 3em;
font-size: 1em;
margin-top: 4rem;
}
/* Make tables vertically aligned to the top */
tbody td {
vertical-align: top;
}
/* Github Code Highlighting */
.highlight table td { padding: 5px; }
.highlight table pre { margin: 0; }
.highlight .cm {
color: #999988;
font-style: italic;
}
.highlight .cp {
color: #999999;
font-weight: bold;
}
.highlight .c1 {
color: #999988;
font-style: italic;
}
.highlight .cs {
color: #999999;
font-weight: bold;
font-style: italic;
}
.highlight .c, .highlight .ch, .highlight .cd, .highlight .cpf {
color: #999988;
font-style: italic;
}
.highlight .err {
color: #a61717;
background-color: #e3d2d2;
}
.highlight .gd {
color: #000000;
background-color: #ffdddd;
}
.highlight .ge {
color: #000000;
font-style: italic;
}
.highlight .gr {
color: #aa0000;
}
.highlight .gh {
color: #999999;
}
.highlight .gi {
color: #000000;
background-color: #ddffdd;
}
.highlight .go {
color: #888888;
}
.highlight .gp {
color: #555555;
}
.highlight .gs {
font-weight: bold;
}
.highlight .gu {
color: #aaaaaa;
}
.highlight .gt {
color: #aa0000;
}
.highlight .kc {
color: #000000;
font-weight: bold;
}
.highlight .kd {
color: #000000;
font-weight: bold;
}
.highlight .kn {
color: #000000;
font-weight: bold;
}
.highlight .kp {
color: #000000;
font-weight: bold;
}
.highlight .kr {
color: #000000;
font-weight: bold;
}
.highlight .kt {
color: #445588;
font-weight: bold;
}
.highlight .k, .highlight .kv {
color: #000000;
font-weight: bold;
}
.highlight .mf {
color: #009999;
}
.highlight .mh {
color: #009999;
}
.highlight .il {
color: #009999;
}
.highlight .mi {
color: #009999;
}
.highlight .mo {
color: #009999;
}
.highlight .m, .highlight .mb, .highlight .mx {
color: #009999;
}
.highlight .sb {
color: #d14;
}
.highlight .sc {
color: #d14;
}
.highlight .sd {
color: #d14;
}
.highlight .s2 {
color: #d14;
}
.highlight .se {
color: #d14;
}
.highlight .sh {
color: #d14;
}
.highlight .si {
color: #d14;
}
.highlight .sx {
color: #d14;
}
.highlight .sr {
color: #009926;
}
.highlight .s1 {
color: #d14;
}
.highlight .ss {
color: #990073;
}
.highlight .s, .highlight .sa, .highlight .dl {
color: #d14;
}
.highlight .na {
color: #008080;
}
.highlight .bp {
color: #999999;
}
.highlight .nb {
color: #0086B3;
}
.highlight .nc {
color: #445588;
font-weight: bold;
}
.highlight .no {
color: #008080;
}
.highlight .nd {
color: #3c5d5d;
font-weight: bold;
}
.highlight .ni {
color: #800080;
}
.highlight .ne {
color: #990000;
font-weight: bold;
}
.highlight .nf, .highlight .fm {
color: #990000;
font-weight: bold;
}
.highlight .nl {
color: #990000;
font-weight: bold;
}
.highlight .nn {
color: #555555;
}
.highlight .nt {
color: #000080;
}
.highlight .vc {
color: #008080;
}
.highlight .vg {
color: #008080;
}
.highlight .vi {
color: #008080;
}
.highlight .nv, .highlight .vm {
color: #008080;
}
.highlight .ow {
color: #000000;
font-weight: bold;
}
.highlight .o {
color: #000000;
font-weight: bold;
}
.highlight .w {
color: #bbbbbb;
}
.highlight {
background-color: #f8f8f8;
}
/* Code Blocks */
.highlighter-rouge {
padding: 2px 1rem;
border-radius: 5px;
background-color: var(--light1);
max-width: 100%;
overflow-x: auto;
}
@media only screen and (max-device-width : 480px) {
/*mobile*/
.highlighter-rouge { max-width: 80vw; }
}
.highlighter-rouge * {
background-color: var(--light1);
}
/* Inline Code */
code.highlighter-rouge {
padding: 2px 6px;
background-color: rgba(0,0,0, 0.07);
}
/* Buttons */
.dialog-buttons {
display: flex;
flex-direction: row;
align-items: baseline;
justify-content: space-between;
margin-top: 6rem;
}
.inline-button {
display: inline-block;
font-weight: 900;
font-size: 90%;
padding: .4rem 1rem;
border-radius: var(--rounded-corner);
background-color: rgba(0,0,0,0.05);
color: var(--dark5);
}