%s`,
- post.Title,
- markdown.Render(post.Content),
- )
- }
-
- return render(ctx, head, content)
+ id := ctx.Request().Param("post")
+ return renderPost(ctx, id)
})
address := os.Getenv("LISTEN")
diff --git a/Project.go b/Project.go
new file mode 100644
index 0000000..1fb31c4
--- /dev/null
+++ b/Project.go
@@ -0,0 +1,31 @@
+package main
+
+import (
+ "os"
+ "strings"
+
+ "git.akyoto.dev/go/markdown"
+)
+
+func loadProjects(directory string) []string {
+ entries, err := os.ReadDir(directory)
+
+ if err != nil {
+ panic(err)
+ }
+
+ projects := []string{}
+
+ for _, entry := range entries {
+ fileName := entry.Name()
+
+ if !strings.HasSuffix(fileName, ".md") {
+ continue
+ }
+
+ content := load("projects/" + fileName)
+ projects = append(projects, markdown.Render(content))
+ }
+
+ return projects
+}
diff --git a/posts/about.md b/posts/about.md
index 1133b6a..42fbedd 100644
--- a/posts/about.md
+++ b/posts/about.md
@@ -51,9 +51,3 @@ I speak the following languages to varying degrees:
In case you want to contribute to any projects, join [#community:akyoto.dev](https://matrix.to/#/#community:akyoto.dev) with a client you like.
I recommend [Cinny](https://cinny.in/) because it has a beautiful design and closely resembles Discord.
-
-## Donations
-
-- [Kofi](https://ko-fi.com/akyoto)
-- [PayPal](https://www.paypal.com/donate/?hosted_button_id=EUBC5TT82APK6)
-- [Stripe](https://donate.stripe.com/28o9Dn2xlehb6Zi8ww)
diff --git a/posts/arch-linux-on-raspberry-pi-5.md b/posts/arch-linux-on-raspberry-pi-5.md
index b01e482..6f75375 100644
--- a/posts/arch-linux-on-raspberry-pi-5.md
+++ b/posts/arch-linux-on-raspberry-pi-5.md
@@ -1,6 +1,6 @@
---
title: Arch Linux on Raspberry Pi 5
-tags: article arch linux arm raspberry pi5 nvme
+tags: article guide arch linux arm raspberry pi5 nvme
created: 2024-04-05T18:26:55Z
published: true
---
diff --git a/projects/1-q.md b/projects/1-q.md
new file mode 100644
index 0000000..9fc8075
--- /dev/null
+++ b/projects/1-q.md
@@ -0,0 +1,7 @@
+### 🌱 q
+
+A programming language that is best described as a modern `C` with a focus on simplicity.
+The compiler is quick, the executables are tiny and fast.
+Currently under heavy development and Linux only.
+
+[git](https://git.akyoto.dev/cli/q) | [donate](https://buy.stripe.com/4gw7vf5Jxflf83m7st)
\ No newline at end of file
diff --git a/projects/2-web.md b/projects/2-web.md
new file mode 100644
index 0000000..5175b1c
--- /dev/null
+++ b/projects/2-web.md
@@ -0,0 +1,7 @@
+### 🚀 web
+
+The fastest and most scalable HTTP router for Go.
+Intended to be used behind a reverse proxy like `caddy`.
+This website is running it on the backend.
+
+[git](https://git.akyoto.dev/go/web) | [donate](https://buy.stripe.com/7sIdTD9ZN6OJ3N6bIK) | [benchmarks](https://web-frameworks-benchmark.netlify.app/result)
\ No newline at end of file
diff --git a/projects/3-notify.md b/projects/3-notify.md
new file mode 100644
index 0000000..53443ab
--- /dev/null
+++ b/projects/3-notify.md
@@ -0,0 +1,6 @@
+### 💃 notify.moe
+
+An anime tracker, database and community.
+The website is very lightweight using less than 50 KB at its core and I still keep my promise to never show ads since 2016.
+
+[git](https://git.akyoto.dev/web/notify.moe) | [donate](https://buy.stripe.com/bIYcPzeg35KF0AUeUX)
\ No newline at end of file
diff --git a/public/app.css b/public/app.css
index 07fb764..1c6670f 100644
--- a/public/app.css
+++ b/public/app.css
@@ -116,7 +116,7 @@ h2 {
h3 {
color: var(--header-color);
- font-size: 1.3rem;
+ font-size: 1.4rem;
font-weight: normal;
}
@@ -160,7 +160,7 @@ nav {
display: flex;
gap: 1rem;
list-style-type: none;
- align-items: center;
+ justify-content: center;
}
nav a {
@@ -180,6 +180,11 @@ article header time {
color: var(--grey-color);
}
+img {
+ width: 100%;
+ border-radius: 3px;
+}
+
.blog li {
display: flex;
}
diff --git a/public/app.html b/public/app.html
index aa78e73..085e830 100644
--- a/public/app.html
+++ b/public/app.html
@@ -3,16 +3,15 @@
-
+
{head}