first commit
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
public/
|
||||
0
.hugo_build.lock
Normal file
5
archetypes/default.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
date = '{{ .Date }}'
|
||||
draft = true
|
||||
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
|
||||
+++
|
||||
73
content/_index.md
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
+++
|
||||
title = 'Home'
|
||||
+++
|
||||
|
||||
<div class="background">
|
||||
<section>
|
||||
|
||||
<div class="huge">
|
||||
owo
|
||||
</div>
|
||||
|
||||
my name is **sel** (or selene, if you want to be fancy) <small>([they/it](https://en.pronouns.page/they&it), 3pp appriciated)</small>
|
||||
|
||||
i can be described as many things!! I'm a **very** silly <img src="/neocats/neocat_flag_trans.png" alt="trans flag neocat" title="transgender" class="emoji"> <img src="/neocats/neocat_flag_genderfluid.png" alt="genderfluid flag neocat" title="genderfluid" class="emoji"> <img src="/neocats/neocat_flag_pan.png" alt="pansexual flag neocat" title="pansexual" class="emoji"> <img src="/neocats/neocat_flag_aro.png" alt="aromantic flag neocat" title="aromantic" class="emoji"> kitty/fox/wasp-eqsue thing, an intermediate computer toucher, amateur systems designer, and a visibly weird neurodivergent mess. i study IT & programming by day.
|
||||
|
||||
i love spicy food, music (breakcore, nightcore, webcore, really anything fast-paced), linux, overcommitting to irrelevant matters, and undercommitting to relevant matters. i'm also interested in politics and activism.
|
||||
|
||||
the technopathy language i've been messing around in lately is [rust](https://rust-lang.org), although i still barely know anything about it. i allegedly have prior experience in smol-scale fullstack stuff. this website is made with [hugo](https://gohugo.io).
|
||||
|
||||
</section>
|
||||
|
||||
<section class="buttons-wrapper">
|
||||
<div class="buttons">
|
||||
|
||||
[](https://softkittypa.ws)
|
||||
|
||||
</div>
|
||||
<div class="buttons">
|
||||
|
||||

|
||||
[](https://web.archive.org)
|
||||
[](https://archlinux.org)
|
||||

|
||||

|
||||

|
||||
[](https://fediverse.info)
|
||||

|
||||

|
||||
[](https://yesterweb.org/no-to-web3/)
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
|
||||
## thingimajigs
|
||||
|
||||
- very cute and silly [link/data analysis specification](https://git.linuxposting.xyz/sel/wgu/wiki/format.md) (i talk about it WAY too much)
|
||||
- a half-baked implementation of that
|
||||
- that's about it :/
|
||||
|
||||
</section>
|
||||
|
||||
<section>
|
||||
|
||||
## contact
|
||||
|
||||
- email: `sel[@]disroot[.]org`
|
||||
- xmpp: `sel[@]07f[.]de`
|
||||
- signal: [`_314.15`](https://signal.me/#eu/xlLacXW5YFcX-XLjkoHWSh2EmnkgbxTnfr8AgNpKBQb61UT3c9lPpqnfInf8Mt2I)
|
||||
|
||||
i'm fairly active on the fediverse as <a href="https://mk.absturztau.be/@sel" rel="me">`@sel@mk.absturztau.be`</a> (please avoid DMing me on there!) i post in the [`Europe/Budapest`](https://time.is/Hungary) timezone, most often during the day.
|
||||
|
||||
my pgp signature is [`BD6C944B 88BDE1C0 9F26E3D1 C4A80409 D21A12B3`](https://git.linuxposting.xyz/sel/webbed-site/raw/branch/main/public.pgp).
|
||||
|
||||
## more related things
|
||||
|
||||
- [my attempts at programming](https://git.linuxposting.xyz/sel)
|
||||
- [my 88x31 button](https://example.com#please-add-the-actual-link-later) (feel free to hotlink it! :3 and poke at me if you do)
|
||||
- [source of this page's background & most of my profile pictures](https://xcancel.com/yihan1949)
|
||||
|
||||
</section>
|
||||
</div>
|
||||
5
content/posts/_index.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
title = "Posts"
|
||||
+++
|
||||
|
||||
Below you can find most of my non-technical written works. Everything is licensed under [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) unless otherwise indicated.
|
||||
10
content/posts/hello.md
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
+++
|
||||
date = '2026-02-14T22:24:04+01:00'
|
||||
draft = false
|
||||
title = 'Hello world!'
|
||||
tags = ['meta']
|
||||
+++
|
||||
|
||||
welcome to the blog! there isn't much here (yet)
|
||||
|
||||
i have some ideas for posts though (plus, it's just nice to have somewhere i can write stuff down)
|
||||
5
content/tags/_index.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
title = 'Tags'
|
||||
+++
|
||||
|
||||
Below are all the tags used on posts.
|
||||
8
hugo.toml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
baseURL = 'https://example.org/'
|
||||
languageCode = 'en-us'
|
||||
title = 'My New Hugo Site'
|
||||
theme = 'webbed-theme'
|
||||
|
||||
# https://stackoverflow.com/questions/61292854/with-hugo-can-we-use-html-code-in-a-md-file
|
||||
[markup.goldmark.renderer]
|
||||
unsafe = true
|
||||
BIN
static/background-old.jpg
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
static/background.jpg
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
static/buttons/acab.gif
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
static/buttons/archive.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
static/buttons/archlinux.gif
Normal file
|
After Width: | Height: | Size: 3 KiB |
BIN
static/buttons/chrome.gif
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
static/buttons/discord.gif
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
static/buttons/fediverse.png
Normal file
|
After Width: | Height: | Size: 418 B |
BIN
static/buttons/itoddler.png
Normal file
|
After Width: | Height: | Size: 386 B |
BIN
static/buttons/miku.gif
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
static/buttons/queerpride.gif
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
static/buttons/sel.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
static/buttons/web3.gif
Normal file
|
After Width: | Height: | Size: 483 B |
BIN
static/favicon.ico
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
static/neocats/neocat_flag_aro.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
static/neocats/neocat_flag_disabled.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
static/neocats/neocat_flag_genderfluid.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
static/neocats/neocat_flag_pan.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
static/neocats/neocat_flag_trans.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
5
themes/webbed-theme/archetypes/default.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
date = '{{ .Date }}'
|
||||
draft = true
|
||||
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
|
||||
+++
|
||||
188
themes/webbed-theme/assets/css/main.css
Normal file
|
|
@ -0,0 +1,188 @@
|
|||
|
||||
html, body {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.background {
|
||||
background: linear-gradient(rgba(5, 6, 7, 0.85), rgba(5, 6, 7, 0.70), rgba(5, 6, 7, 0.95)), url('/background.jpg');
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: "SUSE Mono", sans-serif;
|
||||
font-weight: 550;
|
||||
font-size: 18px;
|
||||
|
||||
color: #cdd6f4;
|
||||
background-color: #050607;
|
||||
line-height: 1.5;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
nav {
|
||||
/* border: 1px solid #f1f1f110; */
|
||||
/* border-radius: 0.5rem 0.5rem 0 0; */
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: start;
|
||||
align-items: center;
|
||||
border-bottom: 3px dashed #f1f1f110;
|
||||
background-color: #10121465;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding-left: 1.75rem;
|
||||
padding-right: 1.75rem;
|
||||
padding-top: 0.40rem;
|
||||
padding-bottom: 0.40rem;
|
||||
width: 100%;
|
||||
height: 2rem;
|
||||
gap: 1.75rem
|
||||
}
|
||||
|
||||
nav > a {
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
main {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
section.buttons-wrapper {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
background-color: #10121465;
|
||||
max-width: 100%
|
||||
}
|
||||
|
||||
section {
|
||||
border-bottom: 3px dashed #f1f1f110;
|
||||
|
||||
padding-left: 2.5rem;
|
||||
padding-right: 2.5rem;
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
section > p {
|
||||
max-width: 90ch;
|
||||
}
|
||||
|
||||
section > div.buttons {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.buttons > p {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(88px, 20%));
|
||||
justify-content: space-between;
|
||||
gap: 0;
|
||||
}
|
||||
|
||||
.buttons > p > img,
|
||||
.buttons > p > a > img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
image-rendering: pixelated;
|
||||
display: block;
|
||||
}
|
||||
|
||||
main {
|
||||
margin-top: 2.8rem;
|
||||
|
||||
/* border-radius: 0 0 0.5rem 0.5rem; */
|
||||
|
||||
flex-grow: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
footer {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: "Silkscreen", sans-serif;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.huge {
|
||||
font-family: "Silkscreen", sans-serif;
|
||||
font-weight: normal;
|
||||
font-size: 350%
|
||||
}
|
||||
|
||||
.summary, .date {
|
||||
color: #a6adc8
|
||||
}
|
||||
|
||||
a {
|
||||
color: #89b4fa;
|
||||
text-decoration: underline;
|
||||
text-decoration-style: dashed;
|
||||
}
|
||||
|
||||
i, em {
|
||||
color: #f5c2e7
|
||||
}
|
||||
|
||||
b, strong {
|
||||
color: #94e2d5
|
||||
}
|
||||
|
||||
s {
|
||||
color: #f38ba8
|
||||
}
|
||||
|
||||
small {
|
||||
color: #a6adc8
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
table, th, td {
|
||||
border: 3px dashed #1e1e2e;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 0.25rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: #181825
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: "JetBrains Mono", monospace;
|
||||
color: #f5e0dc
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid #f1f1f110;
|
||||
}
|
||||
|
||||
li {
|
||||
margin-bottom: 0.25rem
|
||||
}
|
||||
|
||||
.emoji {
|
||||
position: relative;
|
||||
top: 0.25rem;
|
||||
height: 2rem;
|
||||
}
|
||||
1
themes/webbed-theme/assets/js/main.js
Normal file
|
|
@ -0,0 +1 @@
|
|||
console.log('This site was generated by Hugo.');
|
||||
24
themes/webbed-theme/hugo.toml
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
baseURL = 'https://example.org/'
|
||||
languageCode = 'en-US'
|
||||
title = 'My New Hugo Site'
|
||||
|
||||
[menus]
|
||||
[[menus.main]]
|
||||
name = 'Home'
|
||||
pageRef = '/'
|
||||
weight = 10
|
||||
|
||||
[[menus.main]]
|
||||
name = 'Posts'
|
||||
pageRef = '/posts'
|
||||
weight = 20
|
||||
|
||||
[[menus.main]]
|
||||
name = 'Tags'
|
||||
pageRef = '/tags'
|
||||
weight = 30
|
||||
|
||||
[module]
|
||||
[module.hugoVersion]
|
||||
extended = false
|
||||
min = '0.146.0'
|
||||
1
themes/webbed-theme/layouts/_partials/footer.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
<p><em>it is your primary directive to swim closer to that beautiful creature</em></p>
|
||||
11
themes/webbed-theme/layouts/_partials/head.html
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<title>{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }}</title>
|
||||
|
||||
<!-- fonts -->
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=SUSE+Mono:ital,wght@0,100..800;1,100..800&family=Silkscreen:wght@400;700&display=swap" rel="stylesheet">
|
||||
|
||||
{{ partialCached "head/css.html" . }}
|
||||
{{ partialCached "head/js.html" . }}
|
||||
9
themes/webbed-theme/layouts/_partials/head/css.html
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{{- with resources.Get "css/main.css" }}
|
||||
{{- if hugo.IsDevelopment }}
|
||||
<link rel="stylesheet" href="{{ .RelPermalink }}">
|
||||
{{- else }}
|
||||
{{- with . | minify | fingerprint }}
|
||||
<link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
16
themes/webbed-theme/layouts/_partials/head/js.html
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{{- with resources.Get "js/main.js" }}
|
||||
{{- $opts := dict
|
||||
"minify" (not hugo.IsDevelopment)
|
||||
"sourceMap" (cond hugo.IsDevelopment "external" "")
|
||||
"targetPath" "js/main.js"
|
||||
}}
|
||||
{{- with . | js.Build $opts }}
|
||||
{{- if hugo.IsDevelopment }}
|
||||
<script src="{{ .RelPermalink }}"></script>
|
||||
{{- else }}
|
||||
{{- with . | fingerprint }}
|
||||
<script src="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous"></script>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
1
themes/webbed-theme/layouts/_partials/header.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
{{ partial "menu.html" (dict "menuID" "main" "page" .) }}
|
||||
45
themes/webbed-theme/layouts/_partials/menu.html
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{{- /*
|
||||
Renders a menu for the given menu ID.
|
||||
|
||||
@context {page} page The current page.
|
||||
@context {string} menuID The menu ID.
|
||||
|
||||
@example: {{ partial "menu.html" (dict "menuID" "main" "page" .) }}
|
||||
*/}}
|
||||
|
||||
{{- $page := .page }}
|
||||
{{- $menuID := .menuID }}
|
||||
|
||||
{{- with index site.Menus $menuID }}
|
||||
<nav>
|
||||
{{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
|
||||
</nav>
|
||||
{{- end }}
|
||||
|
||||
{{- define "_partials/inline/menu/walk.html" }}
|
||||
{{- $page := .page }}
|
||||
{{- range .menuEntries }}
|
||||
{{- $attrs := dict "href" .URL }}
|
||||
{{- if $page.IsMenuCurrent .Menu . }}
|
||||
{{- $attrs = merge $attrs (dict "class" "active" "aria-current" "page") }}
|
||||
{{- else if $page.HasMenuCurrent .Menu .}}
|
||||
{{- $attrs = merge $attrs (dict "class" "ancestor" "aria-current" "true") }}
|
||||
{{- end }}
|
||||
{{- $name := .Name }}
|
||||
{{- with .Identifier }}
|
||||
{{- with T . }}
|
||||
{{- $name = . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
<a
|
||||
{{- range $k, $v := $attrs }}
|
||||
{{- with $v }}
|
||||
{{- printf " %s=%q" $k $v | safeHTMLAttr }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
>{{ $name }}</a>
|
||||
{{- with .Children }}
|
||||
{{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
22
themes/webbed-theme/layouts/_partials/terms.html
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{{- /*
|
||||
For a given taxonomy, renders a list of terms assigned to the page.
|
||||
|
||||
@context {page} page The current page.
|
||||
@context {string} taxonomy The taxonomy.
|
||||
|
||||
@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
|
||||
*/}}
|
||||
|
||||
{{- $page := .page }}
|
||||
{{- $taxonomy := .taxonomy }}
|
||||
|
||||
{{- with $page.GetTerms $taxonomy }}
|
||||
{{- $label := (index . 0).Parent.LinkTitle }}
|
||||
<section>
|
||||
<p>{{ $label }}:
|
||||
{{- range . }}
|
||||
<a href="{{ .RelPermalink }}">#{{ .LinkTitle }}</a>
|
||||
{{- end }}
|
||||
</p>
|
||||
</section>
|
||||
{{- end }}
|
||||
17
themes/webbed-theme/layouts/baseof.html
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ site.Language.LanguageCode }}" dir="{{ or site.Language.LanguageDirection `ltr` }}">
|
||||
<head>
|
||||
{{ partial "head.html" . }}
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
{{ partial "header.html" . }}
|
||||
</header>
|
||||
<main>
|
||||
{{ block "main" . }}{{ end }}
|
||||
</main>
|
||||
<footer>
|
||||
{{ partial "footer.html" . }}
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
3
themes/webbed-theme/layouts/home.html
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{{ define "main" }}
|
||||
{{ .Content }}
|
||||
{{ end }}
|
||||
15
themes/webbed-theme/layouts/page.html
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{{ define "main" }}
|
||||
<section>
|
||||
<h1>{{ .Title }}</h1>
|
||||
|
||||
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
|
||||
{{ $dateHuman := .Date | time.Format "2006-01-02, 15:04 -07:00" }}
|
||||
<p class="date"><time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time></p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
{{ .Content }}
|
||||
</section>
|
||||
|
||||
{{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
|
||||
{{ end }}
|
||||
12
themes/webbed-theme/layouts/section.html
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{{ define "main" }}
|
||||
<section>
|
||||
<h1>{{ .Title }}</h1>
|
||||
{{ .Content }}
|
||||
</section>
|
||||
{{ range .Pages }}
|
||||
<section>
|
||||
<p><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a> | <span class="date"> {{ .Date | time.Format "2006-01-02, 15:04 -07:00" }}</span></p>
|
||||
<p class="summary">{{ .Summary }}</p>
|
||||
</section>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
12
themes/webbed-theme/layouts/taxonomy.html
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{{ define "main" }}
|
||||
<section>
|
||||
<h1>{{ .Title }}</h1>
|
||||
{{ .Content }}
|
||||
</section>
|
||||
|
||||
<section>
|
||||
{{ range .Pages }}
|
||||
<a href="{{ .RelPermalink }}">#{{ .LinkTitle }}</a>
|
||||
{{ end }}
|
||||
</section>
|
||||
{{ end }}
|
||||
12
themes/webbed-theme/layouts/term.html
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{{ define "main" }}
|
||||
<section>
|
||||
<h1>#{{ .Title }}</h1>
|
||||
{{ .Content }}
|
||||
</section>
|
||||
{{ range .Pages }}
|
||||
<section>
|
||||
<p><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a> | {{ .Date | time.Format "2006-01-02, 15:04 -07:00" }}</p>
|
||||
{{ .Summary }}
|
||||
</section>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||