clean slate
Some checks failed
/ build (push) Failing after 22s

This commit is contained in:
vanten-s 2024-12-18 08:55:52 +01:00
parent c32d5edd56
commit 7cc580cff6
Signed by: vanten-s
GPG key ID: DE3060396884D3F2
82 changed files with 0 additions and 1251 deletions

View file

@ -1,5 +0,0 @@
+++
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
date = {{ .Date }}
draft = true
+++

View file

@ -1,29 +0,0 @@
+++
title = "Vanten"
date = "2024-07-20T22:26:48+02:00"
draft = false
+++
# Hii
I'm vanten. A software engineer and child from Sweden.
My [geekcode](https://geekcode.xyz):
```text
-----BEGIN GEEK CODE BLOCK-----
version: 3.1
gcs/gg d--(---) s+ a---- C++ UL+++ P L+++>++++ E- W++ N+ o? K? w--
O? M- V? PS++ PE-- Y+ PGP++ t- 5? X? R tv b+ DI? D+ G e-- h! r-
------END GEEK CODE BLOCK------
```
My Funny [buttons](/buttons) :3
<p>Help John is in my basement and I dont know what to do</p>
<iframe src="https://john.citrons.xyz/embed?ref=vanten-s.com" style="margin-left:auto;display:block;margin-right:auto;max-width:732px;width:100%;height:94px;border:none;"></iframe>
<p style="
font-family: Times New Roman;
font-style: italic;
font-weight: bold;
color: #00AAFF;
">The depths of John call upon you</p>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 713 B

View file

@ -1,64 +0,0 @@
<h1>People</h1>
<a href="https://maven.pages.gay/"> <img src="/buttons/MavenButton.png"> </a>
<a href="https://leap123.neocities.org"> <img src="/buttons/leap123.gif"> </a>
<a href="https://authenyo.xyz"> <img src="/buttons/button.gif"> </a>
<a href="https://motan.gay"> <img src="/buttons/motan.png"> </a>
<a href="https://nelle.observer"> <img src="/buttons/nelleobserver.gif"></a>
<div class="separator"></div>
<h1>Opinions</h1>
<img src="/buttons/no_fkn_thanks.gif">
<img src="/buttons/wikipedia.gif">
<img src="/buttons/crushit.gif">
<img src="/buttons/scouting.gif">
<img src="/buttons/anythingbut.gif">
<img src="/buttons/dbd.gif">
<img src="/buttons/web3.gif">
<img src="/buttons/animegay.gif">
<img src="/buttons/tyg.gif">
<img src="/buttons/nft.gif">
<img src="/buttons/web11badge.gif">
<img src="/buttons/bufreepalestine.gif">
<img src="/buttons/discord-no-way.gif">
<img src="/buttons/graphic-design.gif">
<a href="https://cyber.dabamos.de/88x31/">
<img src="/buttons/eightyeight.gif">
</a>
<img src="/buttons/transnow2.gif">
<img src="/buttons/tiktok.gif">
<img src="/buttons/nocookie.gif">
<img src="/buttons/fspeech.gif">
<img src="/buttons/antifa.gif">
<img src="/buttons/hehimm.png">
<img src="/buttons/say-no-to-web3.gif">
<img src="/buttons/onyx.gif">
<div class="separator"></div>
<h1>Programs</h1>
<img src="/buttons/vi-best.gif">
<img src="/buttons/vim_a.gif">
<img src="/buttons/home-assistant.gif">
<img src="/buttons/doomrl.gif">
<a href="https://neocities.org">
<img src="/buttons/neocities.gif">
</a>
<img src="/buttons/webpassion.gif">
<img src="/buttons/ddg.gif">
<img src="/buttons/vim.vialle.love.anim.gif">
<img src="/buttons/ublock.png">
<img src="/buttons/vim.gif">
<img src="/buttons/linux-now.gif">
<img src="/buttons/fediverse.gif">
<a href="https://citrons.xyz/a/memetic-apioform-page.html"><img src="https://citrons.xyz/a/static/apiopage.png"/></a>
<div class="separator"></div>
<h1>My button</h1>
<p>If you think I'm cool please add my button :3. If you tell me about it I might add yours to</p>
<a href="https://vanten-s.com"> <img src="/buttons/vanten-s.gif"> </a>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 820 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 531 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 581 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 471 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 483 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

View file

@ -1,62 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=/DOI
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,7 +0,0 @@
+++
title = 'Posts'
date = 2024-07-21T14:52:15+02:00
draft = false
+++
Here you'll find things I have written :)

View file

@ -1,29 +0,0 @@
+++
title = 'Os Devlog: Intro'
date = 2024-08-05T00:00:00+02:00
categories = ["os"]
tags = ["lowlevel"]
summary = "OSDev is painfull"
draft = false
+++
## Introduction
I've been trying osdev for a few weeks now, and I decided that I would start writing a devlog :).
My end goal is a simple unix-like system, that doesn't have to be posix-compliant.
If you want a look on the source, it's available on my [forgejo](https://forgejo.vanten-s.com/vanten-s/os/src/commit/c8ce4a2de0d69d4378447fb4f7e87278b942b313).
I will write devlogs here every once in a while. I won't really be getting to the more low-level stuff, unless someone requests that. (see navbar)
## Things done
As I previously stated, I have written this for a while now. I have been able to implement:
- A functioning GDT
- A functioning IDT
- A extremely simple keyboard driver
- A extremely simple display driver
## Missing features
- I can't get to Ring 3 for some reason (heelpp)
- No multitasking
- 2 System calls

View file

@ -1,52 +0,0 @@
+++
title = 'Os Devlog: Lisp Compiler'
date = 2024-09-08T12:00:00+02:00
categories = ["os"]
tags = ["lowlevel", "lisp", "compiler"]
summary = "LISP :3"
draft = true
+++
## Introduction
In my previous article I wrote about my [os](https://forgejo.vanten-s.com/vanten-s/os).
In this article I will explore the [compiler I have made for the system](https://forgejo.vanten-s.com/vanten-s/lisp-8bit).
## Goals for the compiler
Goals are important for getting stuff done. With this compiler I want to:
- Implement a simple LISP language
- Compile to a format that my OS supports
- Functions
- Variables
- Loops
- If statements
- First-class functions
## AST
For the program
```lisp
(+ 1 (+
a b ))
```
The AST looks like this:
```text
/ \
+ / \
1 / \
/ \ NIL
+ / \
a / \
b NIL
```
## Compilation
My lisp-implementation is heavily stack-based, and only uses registers when using instructions that need them.
For example, a + function could compiler to this:
```asm
pop eax
pop ebx
add eax, ebx
push eax
```

View file

@ -1,12 +0,0 @@
+++
title = "Postage"
date = "2024-07-20T22:26:48+02:00"
tags = ["lowlevel"]
draft = true
summary = "IPoL (IP over Letters) + kernel module == true"
+++
## Introduction
I was talking with some friends...

View file

@ -1,41 +0,0 @@
+++
title = 'Yali Devlog: Intro'
date = 2024-08-06T22:45:00+02:00
tags = ["encryption", "rust"]
categories = ["yali"]
draft = false
summary = "*Blazingly* 🚀 fast large #⃣ numbers written in 100% safe Rust 🦀"
+++
## Introduction
I have always been fascinated by modern encryption. I have tried multiple times to implement RSA.
But I have failed every single time. Why? Because ~~I wrote it in Python~~ I didn't make it *blazingly* fast by writing it from scratch in 100% safe Rust.
So I started writing my own [large int library](https://github.com/vanten-s/yali) from scratch. And I am finally able to perform 1024-bit RSA decryption under 500 ms on my desktop computer :)
```text
[svante@desktop-nixos ~/development/yali]$ time target/release/yali
target/release/yali 0,25s user 0,00s system 99% cpu 0,250 total
```
## How did I get here
I started out, thinking it was easy, by just storing all data in a simple `Vec<u8>`, and using a lot of greedy algorithms.
This was extremely slow, taking multiple seconds just performing RSA encryption.
As I continued, I made a couple of optimisations:
1. Implement a more efficient multiplication alogorithm
2. Implement a more efficient exponetiation algorithm
3. Implement a more efficient division algorithm
And one of the most effective changes was:
Changing the underlying datatype from `Vec<u8>` to `[u8; N]`. This avoids allocating memory on the heap every time you perform an operation.
## Future plans
In the future, I'm planning to implement:
- [Toom-Cook multiplication](https://en.wikipedia.org/wiki/Toom%E2%80%93Cook_multiplication)
- [Montgomery modular multiplication](https://en.wikipedia.org/wiki/Montgomery_modular_multiplication)
My current goal is reaching <100 ms.
Bye bye :33

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

View file

@ -1,24 +0,0 @@
baseURL = 'https://vanten-s.com/'
languageCode = 'en-us'
title = 'Vanten'
theme = 'vanten'
[markup]
[markup.highlight]
anchorLineNos = false
codeFences = true
guessSyntax = false
hl_Lines = ''
hl_inline = false
lineAnchors = ''
lineNoStart = 1
lineNos = true
lineNumbersInTable = true
noClasses = false
noHl = false
style = 'false'
tabWidth = 4
[markup.goldmark.renderer]
unsafe = true # Allow HTML in md files

View file

@ -1,7 +0,0 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell rec {
buildInputs = with pkgs; [
hugo
];
}

View file

@ -1 +0,0 @@
# Policy flags for domain vanten-s.com

View file

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

View file

@ -1,7 +0,0 @@
# Theme Name
## Features
## Installation
## Configuration

View file

@ -1,5 +0,0 @@
+++
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
date = {{ .Date }}
draft = true
+++

View file

@ -1,278 +0,0 @@
.chroma {
color: #cdd6f4;
background-color: #1e1e2e;
}
.chroma .cl {
color: #cdd6f4;
}
.chroma .err {
color: #f38ba8;
}
.chroma .x {
color: #cdd6f4;
}
.chroma .lntd {
border: 0;
margin: 0;
padding: 0;
vertical-align: top;
}
.chroma .lntable {
width: auto;
border: 0;
margin: 0;
display: block;
padding: 0;
overflow: auto;
border-spacing: 0;
}
.chroma .hl {
width: 100%;
display: block;
background-color: #45475a;
}
.chroma .lnt {
color: #7f849c;
padding: 0 0.4em 0 0.4em;
font-size: 0.875rem;
margin-right: 0.4em;
}
.chroma .ln {
color: #7f849c;
padding: 0 0.4em 0 0.4em;
margin-right: 0.4em;
}
.chroma .k {
color: #cba6f7;
}
.chroma .kr {
color: #cba6f7;
}
.chroma .kp {
color: #cba6f7;
}
.chroma .kc {
color: #fab387;
}
.chroma .kd {
color: #f38ba8;
}
.chroma .kn {
color: #94e2d5;
}
.chroma .kt {
color: #f38ba8;
}
.chroma .n {
color: #cdd6f4;
}
.chroma .nc {
color: #f9e2af;
}
.chroma .no {
color: #f9e2af;
}
.chroma .nd {
color: #89b4fa;
font-weight: bold;
}
.chroma .ni {
color: #94e2d5;
}
.chroma .ne {
color: #fab387;
}
.chroma .nf {
color: #89b4fa;
}
.chroma .fm {
color: #89b4fa;
}
.chroma .nl {
color: #89dceb;
}
.chroma .nn {
color: #fab387;
}
.chroma .py {
color: #fab387;
}
.chroma .nt {
color: #cba6f7;
}
.chroma .nv {
color: #f5e0dc;
}
.chroma .vc {
color: #f5e0dc;
}
.chroma .vg {
color: #f5e0dc;
}
.chroma .vi {
color: #f5e0dc;
}
.chroma .vm {
color: #f5e0dc;
}
.chroma .na {
color: #89b4fa;
}
.chroma .nb {
color: #89dceb;
}
.chroma .bp {
color: #89dceb;
}
.chroma .nx {
color: #cdd6f4;
}
.chroma .l {
color: #cdd6f4;
}
.chroma .ld {
color: #cdd6f4;
}
.chroma .s {
color: #a6e3a1;
}
.chroma .sc {
color: #a6e3a1;
}
.chroma .s1 {
color: #a6e3a1;
}
.chroma .s2 {
color: #a6e3a1;
}
.chroma .sb {
color: #a6e3a1;
}
.chroma .sx {
color: #a6e3a1;
}
.chroma .ss {
color: #a6e3a1;
}
.chroma .si {
color: #a6e3a1;
}
.chroma .sa {
color: #f38ba8;
}
.chroma .dl {
color: #89b4fa;
}
.chroma .se {
color: #89b4fa;
}
.chroma .sr {
color: #94e2d5;
}
.chroma .sd {
color: #6c7086;
}
.chroma .sh {
color: #6c7086;
}
.chroma .m {
color: #fab387;
}
.chroma .mb {
color: #fab387;
}
.chroma .mh {
color: #fab387;
}
.chroma .mi {
color: #fab387;
}
.chroma .mf {
color: #fab387;
}
.chroma .il {
color: #fab387;
}
.chroma .mo {
color: #fab387;
}
.chroma .o {
color: #89dceb;
font-weight: bold;
}
.chroma .ow {
color: #89dceb;
font-weight: bold;
}
.chroma .c {
color: #6c7086;
font-style: italic;
}
.chroma .c1 {
color: #6c7086;
font-style: italic;
}
.chroma .cm {
color: #6c7086;
font-style: italic;
}
.chroma .cs {
color: #6c7086;
font-style: italic;
}
.chroma .ch {
color: #585b70;
font-style: italic;
}
.chroma .cp {
color: #6c7086;
font-style: italic;
}
.chroma .cpf {
color: #6c7086;
font-weight: bold;
}
.chroma .g {
color: #cdd6f4;
}
.chroma .gi {
color: #a6e3a1;
background-color: #313244;
}
.chroma .gd {
color: #f38ba8;
background-color: #313244;
}
.chroma .ge {
color: #cdd6f4;
font-style: italic;
}
.chroma .gs {
color: #cdd6f4;
font-weight: bold;
}
.chroma .gl {
color: #cdd6f4;
text-decoration: underline;
}
.chroma .gh {
color: #fab387;
font-weight: bold;
}
.chroma .gu {
color: #fab387;
font-weight: bold;
}
.chroma .go {
color: #cdd6f4;
}
.chroma .gp {
color: #cdd6f4;
}
.chroma .gr {
color: #f38ba8;
}
.chroma .gt {
color: #f38ba8;
}

View file

@ -1,279 +0,0 @@
@media (prefers-color-scheme: light) {
.chroma {
color: #4c4f69;
background-color: #eff1f5;
}
.chroma .cl {
color: #4c4f69;
}
.chroma .err {
color: #d20f39;
}
.chroma .x {
color: #4c4f69;
}
.chroma .lntd {
border: 0;
margin: 0;
padding: 0;
vertical-align: top;
}
.chroma .lntable {
width: auto;
border: 0;
margin: 0;
display: block;
padding: 0;
overflow: auto;
border-spacing: 0;
}
.chroma .hl {
width: 100%;
display: block;
background-color: #bcc0cc;
}
.chroma .lnt {
color: #8c8fa1;
padding: 0 0.4em 0 0.4em;
font-size: 0.875rem;
margin-right: 0.4em;
}
.chroma .ln {
color: #8c8fa1;
padding: 0 0.4em 0 0.4em;
margin-right: 0.4em;
}
.chroma .k {
color: #8839ef;
}
.chroma .kr {
color: #8839ef;
}
.chroma .kp {
color: #8839ef;
}
.chroma .kc {
color: #fe640b;
}
.chroma .kd {
color: #d20f39;
}
.chroma .kn {
color: #179299;
}
.chroma .kt {
color: #d20f39;
}
.chroma .n {
color: #4c4f69;
}
.chroma .nc {
color: #df8e1d;
}
.chroma .no {
color: #df8e1d;
}
.chroma .nd {
color: #1e66f5;
font-weight: bold;
}
.chroma .ni {
color: #179299;
}
.chroma .ne {
color: #fe640b;
}
.chroma .nf {
color: #1e66f5;
}
.chroma .fm {
color: #1e66f5;
}
.chroma .nl {
color: #04a5e5;
}
.chroma .nn {
color: #fe640b;
}
.chroma .py {
color: #fe640b;
}
.chroma .nt {
color: #8839ef;
}
.chroma .nv {
color: #dc8a78;
}
.chroma .vc {
color: #dc8a78;
}
.chroma .vg {
color: #dc8a78;
}
.chroma .vi {
color: #dc8a78;
}
.chroma .vm {
color: #dc8a78;
}
.chroma .na {
color: #1e66f5;
}
.chroma .nb {
color: #04a5e5;
}
.chroma .bp {
color: #04a5e5;
}
.chroma .nx {
color: #4c4f69;
}
.chroma .l {
color: #4c4f69;
}
.chroma .ld {
color: #4c4f69;
}
.chroma .s {
color: #40a02b;
}
.chroma .sc {
color: #40a02b;
}
.chroma .s1 {
color: #40a02b;
}
.chroma .s2 {
color: #40a02b;
}
.chroma .sb {
color: #40a02b;
}
.chroma .sx {
color: #40a02b;
}
.chroma .ss {
color: #40a02b;
}
.chroma .si {
color: #40a02b;
}
.chroma .sa {
color: #d20f39;
}
.chroma .dl {
color: #1e66f5;
}
.chroma .se {
color: #1e66f5;
}
.chroma .sr {
color: #179299;
}
.chroma .sd {
color: #9ca0b0;
}
.chroma .sh {
color: #9ca0b0;
}
.chroma .m {
color: #fe640b;
}
.chroma .mb {
color: #fe640b;
}
.chroma .mh {
color: #fe640b;
}
.chroma .mi {
color: #fe640b;
}
.chroma .mf {
color: #fe640b;
}
.chroma .il {
color: #fe640b;
}
.chroma .mo {
color: #fe640b;
}
.chroma .o {
color: #04a5e5;
font-weight: bold;
}
.chroma .ow {
color: #04a5e5;
font-weight: bold;
}
.chroma .c {
color: #9ca0b0;
font-style: italic;
}
.chroma .c1 {
color: #9ca0b0;
font-style: italic;
}
.chroma .cm {
color: #9ca0b0;
font-style: italic;
}
.chroma .cs {
color: #9ca0b0;
font-style: italic;
}
.chroma .ch {
color: #acb0be;
font-style: italic;
}
.chroma .cp {
color: #9ca0b0;
font-style: italic;
}
.chroma .cpf {
color: #9ca0b0;
font-weight: bold;
}
.chroma .g {
color: #4c4f69;
}
.chroma .gi {
color: #40a02b;
background-color: #ccd0da;
}
.chroma .gd {
color: #d20f39;
background-color: #ccd0da;
}
.chroma .ge {
color: #4c4f69;
font-style: italic;
}
.chroma .gs {
color: #4c4f69;
font-weight: bold;
}
.chroma .gl {
color: #4c4f69;
text-decoration: underline;
}
.chroma .gh {
color: #fe640b;
font-weight: bold;
}
.chroma .gu {
color: #fe640b;
font-weight: bold;
}
.chroma .go {
color: #4c4f69;
}
.chroma .gp {
color: #4c4f69;
}
.chroma .gr {
color: #d20f39;
}
.chroma .gt {
color: #d20f39;
}
}

View file

@ -1,77 +0,0 @@
:root {
--bg: #181825;
--navbar: #1e1e2e;
--text: #cdd6f4;
--link: #94e2d5;
--link-highligt: #fff;
--border: #222;
}
@media (prefers-color-scheme: light) {
:root {
--bg: #e6e9ef;
--navbar: #eff1f5;
--text: #4c4f69;
--link: #179299;
--link-highligt: #000;
--border: #eff1f5;
}
}
body {
color: var(--text);
background-color: var(--bg);
font-family: monospace;
font-size: 1.2em;
line-height: 1.5;
margin: 1rem;
max-width: 43em;
margin-right: 8em;
}
header {
border-bottom: 1px solid var(--border);
margin-bottom: 1rem;
}
footer {
border-top: 1px solid var(--border);
margin-top: 1rem;
}
a {
color: var(--link);
text-decoration: none;
}
.navbar {
position: fixed;
right: 0;
top: 0;
background-color: var(--navbar);
bottom: 0;
padding-right: 0.5em;
}
.navbar > ul {
list-style-type: none;
padding-left: 0.5em;
}
.navbar > ul > li > a {
transition: color 200ms;
font-size: 100%;
}
.navbar > ul > li > a:hover {
color: var(--link-highligt);
}
.separator {
border-top: 1px solid var(--border);
margin-top: 1rem;
}
code {
background-color: var(--navbar);
}

View file

@ -1 +0,0 @@
console.log('This site was generated by Hugo.');

View file

@ -1,9 +0,0 @@
+++
title = 'Home'
date = 2023-01-01T08:00:00-07:00
draft = false
+++
Laborum voluptate pariatur ex culpa magna nostrud est incididunt fugiat
pariatur do dolor ipsum enim. Consequat tempor do dolor eu. Non id id anim anim
excepteur excepteur pariatur nostrud qui irure ullamco.

View file

@ -1,7 +0,0 @@
+++
title = 'Posts'
date = 2023-01-01T08:30:00-07:00
draft = false
+++
Tempor est exercitation ad qui pariatur quis adipisicing aliquip nisi ea consequat ipsum occaecat. Nostrud consequat ullamco laboris fugiat esse esse adipisicing velit laborum ipsum incididunt ut enim. Dolor pariatur nulla quis fugiat dolore excepteur. Aliquip ad quis aliqua enim do consequat.

View file

@ -1,23 +0,0 @@
baseURL = 'https://example.org/'
languageCode = 'en-us'
title = 'My New Hugo Site'
[[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.116.0"

View file

@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="{{ or 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>

View file

@ -1,9 +0,0 @@
{{ define "main" }}
{{ .Content }}
<div class="separator"></div>
<h1> Posts </h1>
{{ range site.RegularPages }}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
<p> {{ .Summary }} </p>
{{ end }}
{{ end }}

View file

@ -1,8 +0,0 @@
{{ define "main" }}
<h1>{{ .Title }}</h1>
{{ .Content }}
{{ range .Pages }}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ .Summary }}
{{ end }}
{{ end }}

View file

@ -1,11 +0,0 @@
{{ define "main" }}
<h1>{{ .Title }}</h1>
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
{{ $dateHuman := .Date | time.Format ":date_long" }}
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
{{ .Content }}
<div class="separator" style="padding-bottom: 1em;"></div>
{{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
{{ end }}

View file

@ -1,3 +0,0 @@
<p>No Copyright.</p>
<p><a href="https://fediring.net/previous?host=vanten-s.com">previous</a> <a href="https://fediring.net">fediring</a> <a href="https://fediring.net/next?host=vanten-s.com">next</a></p>
<p>Built with <a href="https://gohugo.io/">Hugo<p>

View file

@ -1,5 +0,0 @@
<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>
{{ partialCached "head/css.html" . }}
{{ partialCached "head/js.html" . }}

View file

@ -1,30 +0,0 @@
{{- with resources.Get "css/main.css" }}
{{- if eq hugo.Environment "development" }}
<link rel="stylesheet" href="{{ .RelPermalink }}">
{{- else }}
{{- with . | minify | fingerprint }}
<link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
{{- end }}
{{- end }}
{{- end }}
{{- with resources.Get "css/chroma.css" }}
{{- if eq hugo.Environment "development" }}
<link rel="stylesheet" href="{{ .RelPermalink }}">
{{- else }}
{{- with . | minify | fingerprint }}
<link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
{{- end }}
{{- end }}
{{- end }}
{{- with resources.Get "css/latte.css" }}
{{- if eq hugo.Environment "development" }}
<link rel="stylesheet" href="{{ .RelPermalink }}">
{{- else }}
{{- with . | minify | fingerprint }}
<link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
{{- end }}
{{- end }}
{{- end }}

View file

@ -1,12 +0,0 @@
{{- with resources.Get "js/main.js" }}
{{- if eq hugo.Environment "development" }}
{{- with . | js.Build }}
<script src="{{ .RelPermalink }}"></script>
{{- end }}
{{- else }}
{{- $opts := dict "minify" true }}
{{- with . | js.Build $opts | fingerprint }}
<script src="{{ .RelPermalink }}" integrity="{{- .Data.Integrity }}" crossorigin="anonymous"></script>
{{- end }}
{{- end }}
{{- end }}

View file

@ -1,2 +0,0 @@
<h1>{{ site.Title }}</h1>
{{ partial "menu.html" (dict "menuID" "main" "page" .) }}

View file

@ -1,60 +0,0 @@
{{- /*
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 class="navbar">
<ul>
{{/*- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) */}}
<li> <a href="/">Home</a> </li>
<li> <a href="/posts">Posts</a> </li>
<li> <a href="/tags">Tags</a> </li>
<li> <a href="/categories">Categories</a> </li>
<li> <a href="https://matrix.to/#/@vanten-s:matrix.ungdata.org">Matrix</a> </li>
<li> <a href="mailto:vanten-s@vanten-s.com">Mail</a> </li>
<li> <a href="/key.asc">PGP Key</a> </li>
<li> <a rel="me" href="https://tech.lgbt/@vanten_s">Fedi</a> </li>
<li> <a href="https://forgejo.vanten-s.com/vanten-s">Git</a> </li>
</ul>
</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 }}
<li>
<a
{{- range $k, $v := $attrs }}
{{- with $v }}
{{- printf " %s=%q" $k $v | safeHTMLAttr }}
{{- end }}
{{- end -}}
>{{ $name }}</a>
{{- with .Children }}
<ul>
{{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
</ul>
{{- end }}
</li>
{{- end }}
{{- end }}

View file

@ -1,23 +0,0 @@
{{- /*
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 }}
<div>
<div>{{ $label }}:</div>
<ul>
{{- range . }}
<li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
{{- end }}
</ul>
</div>
{{- end }}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View file

@ -1,31 +0,0 @@
name = 'Theme name'
license = 'MIT'
licenselink = 'https://github.com/owner/repo/LICENSE'
description = 'Theme description'
# The home page of the theme, where the source can be found
homepage = 'https://github.com/owner/repo'
# If you have a running demo of the theme
demosite = 'https://owner.github.io/repo'
# Taxonomy terms
tags = ['blog', 'company']
features = ['some', 'awesome', 'features']
# If the theme has multiple authors
authors = [
{name = 'Name of author', homepage = 'Website of author'},
{name = 'Name of author', homepage = 'Website of author'}
]
# If the theme has a single author
[author]
name = 'Your name'
homepage = 'Your website'
# If porting an existing theme
[original]
author = 'Name of original author'
homepage = 'Website of original author'
repo = 'https://github.com/owner/repo'