fixes
Some checks failed
build / build (push) Has been cancelled
release-tag / release-image (push) Has been cancelled

This commit is contained in:
Tijl 2024-09-07 17:18:20 +02:00
parent 0f5c93a68c
commit 57c3b5e86d
Signed by: tijl
GPG Key ID: DAE24BFCD722F053
21 changed files with 176 additions and 69 deletions

3
assets/icons/bitcoin.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path fill="currentColor" d="M10 7h4c1.1 0 2 .9 2 2s-.9 2-2 2h-4V7zm5 10h-5v-4h5c1.1 0 2 .9 2 2s-.9 2-2 2zm0-13c0-.55-.45-1-1-1s-1 .45-1 1v1h-2V4c0-.55-.45-1-1-1s-1 .45-1 1v1H7c-.55 0-1 .45-1 1s.45 1 1 1h1v10H7c-.55 0-1 .45-1 1s.45 1 1 1h2v1c0 .55.45 1 1 1s1-.45 1-1v-1h2v1c0 .55.45 1 1 1s1-.45 1-1v-1c2.21 0 4-1.79 4-4c0-1.45-.78-2.73-1.94-3.43c.59-.69.94-1.59.94-2.57c0-1.86-1.27-3.43-3-3.87V4z"></path>
</svg>

After

Width:  |  Height:  |  Size: 498 B

3
assets/icons/chat.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd" d="M18 10c0 3.866-3.582 7-8 7a8.841 8.841 0 01-4.083-.98L2 17l1.338-3.123C2.493 12.767 2 11.434 2 10c0-3.866 3.582-7 8-7s8 3.134 8 7zM7 9H5v2h2V9zm8 0h-2v2h2V9zM9 9h2v2H9V9z" clip-rule="evenodd" />
</svg>

After

Width:  |  Height:  |  Size: 314 B

3
assets/icons/key.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd" d="M18 8a6 6 0 01-7.743 5.743L10 14l-1 1-1 1H6v2H2v-4l4.257-4.257A6 6 0 1118 8zm-6-4a1 1 0 100 2 2 2 0 012 2 1 1 0 102 0 4 4 0 00-4-4z" clip-rule="evenodd" />
</svg>

After

Width:  |  Height:  |  Size: 275 B

4
assets/icons/mail.svg Normal file
View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
<path d="M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z" />
<path d="M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z" />
</svg>

After

Width:  |  Height:  |  Size: 245 B

4
assets/icons/nostr.svg Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 875 875" fill="currentColor">
<path class="cls-1" d="m684.72,485.57c.22,12.59-11.93,51.47-38.67,81.3-26.74,29.83-56.02,20.85-58.42,20.16s-3.09-4.46-7.89-3.77-9.6,6.17-18.86,7.2-17.49,1.71-26.06-1.37c-4.46.69-5.14.71-7.2,2.24s-17.83,10.79-21.6,11.47c0,7.2-1.37,44.57,0,55.89s3.77,25.71,7.54,36c3.77,10.29,2.74,10.63,7.54,9.94s13.37.34,15.77,4.11c2.4,3.77,1.37,6.51,5.49,8.23s60.69,17.14,99.43,19.2c26.74.69,42.86,2.74,52.12,19.54,1.37,7.89,7.54,13.03,11.31,14.06s8.23,2.06,12,5.83,1.03,8.23,5.49,11.66c4.46,3.43,14.74,8.57,25.37,13.71,10.63,5.14,15.09,13.37,15.77,16.11s1.71,10.97,1.71,10.97c0,0-8.91,0-10.97-2.06s-2.74-5.83-2.74-5.83c0,0-6.17,1.03-7.54,3.43s.69,2.74-7.89.69-11.66-3.77-18.17-8.57c-6.51-4.8-16.46-17.14-25.03-16.8,4.11,8.23,5.83,8.23,10.63,10.97s8.23,5.83,8.23,5.83l-7.2,4.46s-4.46,2.06-14.74-.69-11.66-4.46-12.69-10.63,0-9.26-2.74-14.4-4.11-15.77-22.29-21.26c-18.17-5.49-66.52-21.26-100.12-24.69s-22.63-2.74-28.11-1.37-15.77,4.46-26.4-1.37c-10.63-5.83-16.8-13.71-17.49-20.23s-1.71-10.97,0-19.2,3.43-19.89,1.71-26.74-14.06-55.89-19.89-64.12c-13.03,1.03-50.74-.69-50.74-.69,0,0-2.4-.69-17.49,5.83s-36.48,13.76-46.77,19.93-14.4,9.7-16.12,13.13c.12,3-1.23,7.72-2.79,9.06s-12.48,2.42-12.48,2.42c0,0-5.85,5.86-8.25,9.97-6.86,9.6-55.2,125.14-66.52,149.83-13.54,32.57-9.77,27.43-37.71,27.43s-8.06.3-8.06.3c0,0-12.34,5.88-16.8,5.88s-18.86-2.4-26.4,0-16.46,9.26-23.31,10.29-4.95-1.34-8.38-3.74c-4-.21-14.27-.12-14.27-.12,0,0,1.74-6.51,7.91-10.88,8.23-5.83,25.37-16.11,34.63-21.26s17.49-7.89,23.31-9.26,18.51-6.17,30.51-9.94,19.54-8.23,29.83-31.54c10.29-23.31,50.4-111.43,51.43-116.23.63-2.96,3.73-6.48,4.8-15.09.66-5.35-2.49-13.04,1.71-22.63,10.97-25.03,21.6-20.23,26.4-20.23s17.14.34,26.4-1.37,15.43-2.74,24.69-7.89,11.31-8.91,11.31-8.91l-19.89-3.43s-18.51.69-25.03-4.46-15.43-15.77-15.43-15.77l-7.54-7.2,1.03,8.57s-5.14-8.91-6.51-10.29-8.57-6.51-11.31-11.31-7.54-25.03-7.54-25.03l-6.17,13.03-1.71-18.86-5.14,7.2-2.74-16.11-4.8,8.23-3.43-14.4-5.83,4.46-2.4-10.29-5.83-3.43s-14.06-9.26-16.46-9.6-4.46,3.43-4.46,3.43l1.37,12-12.2-6.27-7-11.9s2.36,4.01-9.62,7.53c-20.55,0-21.89-2.28-24.93-3.94-1.31-6.56-5.57-10.11-5.57-10.11h-20.57l-.34-6.86-7.89,3.09.69-10.29h-14.06l1.03-11.31h-8.91s3.09-9.26,25.71-22.97,25.03-16.46,46.29-17.14c21.26-.69,32.91,2.74,46.29,8.23s38.74,13.71,43.89,17.49c11.31-9.94,28.46-19.89,34.29-19.89,1.03-2.4,6.19-12.33,17.96-17.6,35.31-15.81,108.13-34,131.53-35.54,31.2-2.06,7.89-1.37,39.09,2.06,31.2,3.43,54.17,7.54,69.6,12.69,12.58,4.19,25.03,9.6,34.29,2.06,4.33-1.81,11.81-1.34,17.83-5.14,30.69-25.09,34.72-32.35,43.63-41.95s20.14-24.91,22.54-45.14,4.46-58.29-10.63-88.12-28.8-45.26-34.63-69.26c-5.83-24-8.23-61.03-6.17-73.03,2.06-12,5.14-22.29,6.86-30.51s9.94-14.74,19.89-16.46c9.94-1.71,17.83,1.37,22.29,4.8,4.46,3.43,11.65,6.28,13.37,10.29.34,1.71-1.37,6.51,8.23,8.23,9.6,1.71,16.05,4.16,16.05,4.16,0,0,15.64,4.29,3.11,7.73-12.69,2.06-20.52-.71-24.29,1.69s-7.21,10.08-9.61,11.1-7.2.34-12,4.11-9.6,6.86-12.69,14.4-5.49,15.77-3.43,26.74,8.57,31.54,14.4,43.2c5.83,11.66,20.23,40.8,24.34,47.66s15.77,29.49,16.8,53.83,1.03,44.23,0,54.86-10.84,51.65-35.53,85.94c-8.16,14.14-23.21,31.9-24.67,35.03-1.45,3.13-3.02,4.88-1.61,7.65,4.62,9.05,12.87,22.13,14.71,29.22,2.29,6.64,6.99,16.13,7.22,28.72Z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -0,0 +1,34 @@
package handlers
type About struct {
Id string
Value string
Url string
Icon string
}
var about = []About{
{
Id: "PGP",
Url: "/static/pgp.txt",
Icon: "key",
},
{
Id: "Matrix",
Value: "@tijl:tijl.dev",
Url: "https://matrix.to/#/@tijl:tijl.dev",
Icon: "chat",
},
{
Id: "Bitcoin",
Value: "bc1q4gp5yvskr4qk52ysztzanr696m3wvak52py4sq",
Url: "bitcoin:bc1q4gp5yvskr4qk52ysztzanr696m3wvak52py4sq",
Icon: "bitcoin",
},
{
Id: "Mail",
Value: "contact@tijl.dev",
Url: "mailto:contact@tijl.dev",
Icon: "mail",
},
}

View File

@ -36,6 +36,7 @@ func routes(app *fiber.App) {
app.Get("/about", func(c *fiber.Ctx) error { app.Get("/about", func(c *fiber.Ctx) error {
data := *web.Common(c) data := *web.Common(c)
data["Title"] = i18n.Translate(c, "about") data["Title"] = i18n.Translate(c, "about")
data["About"] = about
return c.Render("about", data, "layouts/base") return c.Render("about", data, "layouts/base")
}) })
app.Get("/services", servicesHandler) app.Get("/services", servicesHandler)

View File

@ -3,6 +3,7 @@ package service
import ( import (
"context" "context"
"fmt" "fmt"
"html/template"
"math" "math"
"net/http" "net/http"
"time" "time"
@ -65,6 +66,12 @@ func Listen() {
engine.AddFunc("formatdate", func(t time.Time) string { engine.AddFunc("formatdate", func(t time.Time) string {
return t.Format("2 Jan 2006") return t.Format("2 Jan 2006")
}) })
engine.AddFunc("safe", func(s string) template.HTML {
return template.HTML(s)
})
engine.AddFunc("safeurl", func(s string) template.URL {
return template.URL(s)
})
// Init fiber // Init fiber
app := fiber.New(fiber.Config{ app := fiber.New(fiber.Config{

View File

@ -13,5 +13,6 @@
"page_not_found": "Page not found", "page_not_found": "Page not found",
"logged_in": "You are now logged in!", "logged_in": "You are now logged in!",
"services": "Services", "services": "Services",
"error_long": "Something went wrong" "error_long": "Something went wrong",
"copy": "Copy"
} }

View File

@ -13,5 +13,6 @@
"page_not_found": "Pagina niet gevonden", "page_not_found": "Pagina niet gevonden",
"logged_in": "Je bent nu ingelogd!", "logged_in": "Je bent nu ingelogd!",
"services": "Services", "services": "Services",
"error_long": "Er ging iets fout" "error_long": "Er ging iets fout",
"copy": "Copy"
} }

BIN
main Executable file

Binary file not shown.

View File

@ -3,6 +3,14 @@
@import "tailwindcss/utilities"; @import "tailwindcss/utilities";
@layer components { @layer components {
.htmx-indicator {
display: none;
}
.htmx-request .htmx-indicator {
display: inline-block;
}
.btn:not(.btn-ghost) { .btn:not(.btn-ghost) {
@apply border-base-300 border-2; @apply border-base-300 border-2;
} }

View File

@ -1 +0,0 @@
console.log("hi")

51
web/static/pgp.txt Normal file
View File

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

1
web/static/ssh.txt Normal file
View File

@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDO15fjqrevkUhy73i4G79WerHyOR3P3tjQYgmDpooJ4pDsibhU/334ncCmGdWvjVTGf3J2oFy0ku90bCKgEVqC8N0a7loGOiCNn7mDYw4QUWBRKCMqFVwpwFQKZzkEg2dChdqZANH5uhd1+X4X2ZsbhH2eEtUTL9Q65Wk1is3jWEO6Sk/UvqM7PLk7qB71sZJlvSSbnl6ldm3oPpmKFz8Y4YGRXe1SyKenZkUAyMVe4EXEwMOuLXYucNWcamdQ/iiMvH9QHpulzCFWbgYCm8aqyArcAo78Ub0c9ucpJog7Ut2LDAsGgjEc0C02Mz85bj6Ukt0ecS0AxAnNWljrJn/Zjytwy2O/XorNWjFkl9c4SWZx0moeccgEQypnskHrdyyq4v2NyawYaLc16BT7fRkL3cbrVQehG17SzSoyTCryCv7oDnXiM8oVndJltmGS0v3DMzMf2wOrvCMRa96Eo61m/6r6W52wd+fZXfbIGs8SkIxOkDgEQ/UF8IRjv/DVkuXvqzHpz5wCfRMoRHyItKowvzTMTrGTvsIzifQKWtQTMwNQqkcRGc6Ugr9hT7q5LNzyjhh9j/CgTc/0JPo/vMjCB4RU2JH8tj5EMIcnAfYbHgtBMZ+T//sVuJtqJebk82b9exlYy3fqmDlw7psylxw029oYnRmNxlQcfENAD5EJEQ== tijl@tijl-desktop

View File

@ -1,63 +1,36 @@
<div> <div class="grid grid-cox:wls-1 overflow-hidden rounded-xl grid-cols-2 gap-4">
<a
href="anytype://invite/?cid=bafybeicsbtu64x444v7mkgksv3xef5h37sbrvpde3jmyuyqz5yfmlyuttu&key=2j4RYyT2Yf7vCRP8RByM5ir7F9GeXXRRinnqcqeanY9J">HELLO???</a>
<div>Bitcoin Paynym
PM8TJh8YdsX67AWUFoHjEQUJ5amsBbWq1XqcygbVCPkEnwXw8b61z4JDFTLUaPKcnLwdwE9353f1YaAHgQVtXs8ZZ1SS3GqdsRvduYEUwB385BS7KcfD
</div>
<div>Bitcoin bc1q4gp5yvskr4qk52ysztzanr696m3wvak52py4sq</div>
<div>Email contact@tijl.dev</div>
<div>Matrix tijl@tijl.dev</div>
<div>PGP <div>-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGXthmQBEADpzVYTH0+3kKwa5ZCAsW6cRpsC7HY7TwRjHg1quW1T6NpyPgrh {{range .About}}
2WtOXprG86A2k5IK/McnmqlC1cgDkLRq98NP0LSX0OhrWkJXteBcFjrV5N1D8PZM <button onclick="document.getElementById('{{.Id}}').showModal()"
tAkvhuqE3bDnlEcbKfiNTYYgMXak8EhAGuzmKnBkysT99SJNbU9gAamSNQIyyg3a class="card posts-item bg-base-100 border-[2px] border-base-300 hover:bg-base-300 shadow-xl cursor-pointer justify-center items-center py-8">
5B64wooEqY/YL91YCNPBFpDo/+2sOR5l/KdpbOE/KqOYn/4y3X/vyB723zIuUmzm <span class="w-12 h-12">
uiu9bWJhjtwiaS06G23bWDC/h8VEepKogT4So2iRPNlGO0YPnfDGV+slwoeaTuFn {{icon .Icon}}
3VzB1c0MhZToGNCZczpkz7+iey0WBtGmVCt+YcMkeUu296C4jUIEaQyk+hA1Og6H </span>
T4wvLU0eNnglu/Nsm80mKyyzL/Je8qw5yrI0xAHTqzwZ8SibOXWKAfqlJeChayjo {{.Id}}
eby1038If7ubwBXudwvnDwXkr/HSb3YbBOPrcgx2QNkxP1DE0hQLSbi4eOZxd0YH </button>
zIXMWuFPy84W8rFDArDVrUHIJXQDY65v7MoH0x9ewytlzmzC7aH26TpkF48mnii2
wvNQl9AE/e6ijNAv0zZOlq79WcW6kqUUjSkmnBajrKHunOjWvhydxsfhNTtYQcnU <dialog id="{{.Id}}" class="modal">
uO6k8z9C78iLCufEx00XlkvGqkM1Qal17whImdYUwjQiVLyQCg9xjbM84wARAQAB <div class="modal-box">
tCFUaWpsIFRpbGxlbWFucyA8Y29udGFjdEB0aWpsLmRldj6JAlEEEwEIADsWIQTG {{if (ne .Value "")}}
AhDG5zO6tylGkh3a4kv81yLwUwUCZe2GZAIbAwULCQgHAgIiAgYVCgkICwIEFgID <div class="join w-full">
AQIeBwIXgAAKCRDa4kv81yLwU68CD/wNflpTh7tW3pK4tE5sMw+xM8FSOscUWTdq <input id="{{.Id}}" tabindex="-1" value="{{.Value}}" class="input input-bordered join-item w-full">
qsG0oRjnMDvKkgu9UR37ZCN4dglbhPWuXIuKvVoNrXXNIDw00l7oZC9Pl/nfAw/0 <button onclick="copyToClipBoard('{{.Id}}')" class="btn join-item">Copy</button>
N8wr5pLWXUZv0DcWY0Ye2t8UFIdwwdHFZYRLfJ7FRVdBRc7L+ZajbNmXQVhF6kOy </div>
1nfZY/OPPdBH0kdaWaFOw1bMPKrHv++wHoXAb6IHdpPZsOT7U1DgRryMfSmvdFJ7 {{end}}
grOlfqrdoS3V70udPSTDCe1H4Mgysh7hLpCKY20yk2xZIzPmRtnr6Tho0cyZpruP <a href="{{safeurl .Url}}" class='w-full btn {{if (ne .Value "")}}mt-2{{end}}'>Open</a>
4/9qYedae74zNAGjv7edRMhrHRhFrWAV0Ajh8uKTdnq7SXB43pbHjNcfPBDvMexM
vwE1aTe3hIrCEmvot4hS3fYKVud0sMFjtGilGHB4hLLdt7TTsFe8JpyU4SK1vl55
Y8rwBwkK2q/mtbNHwcU+bhqDAFJCuMmd6XZmk4qDVCN4I03Vfh57gEjEJ2NG8Dtn
8I1O8Wb8OEwVteC5pBOl8wkiJCXYHrhV2wAzS+kZ+LJRUqSiJPZlSZuGAM2kzzsN
5UpIYDVdXh+6QbFxKprSut2BalnSAXTQ02YIT5rucaFUsCVUQF2iJygbR1ZKYukJ
3BzIKVSWkBc1Q2EBhJqOaMAAGMQ3UDXKcqeNoRF8x9ZHyb0Rv+I1ZfkPrr3A8oeq
Y7CB88vJwrkCDQRl7YZkARAA3xbB1UrflgKIHg+QH+/24+rHPCwqYCM5cQwhM6gz
cpD4U2Bm6pqEYj07p/QkbE1mEZu0Kv36rhS/loAYg5g0YflCUIJQyMIqmkFblUK/
/2/Yqy5WZXGeaXpdSH7EHky0TieDprwzzgzdQEpG06rYEtkh6YmpZgN3FfpWfeRM
xSIcV2aiGrzOLyXEU3CDDM1L+q+b2O/tYf4PeO2VVSEJwkR680ucLGBKexUllua1
Gx8OS3iIZNVzr3NfC0nxYaLxKFnzTMr/hzD2wd/HMlQyLyqQcBT8ew//ZHhyTqo7
tl7a0cP7YmaOXgD3XBVIo4gpmDIRqbMavUgs/ik/UYmAr/FiL7Nr73isRTv3bNUD
ll8+oNT4Vx4L7JzosoiwPEk44hFSPmxfDnNY5VnrQpg7KIvfYTwQtrELIAEwfWPo
DQJN1n21nAssvfcnhaOmGJvmQSc70Y0daLSQPLAg7CnYzTLEt72X03C0OcuF/uqq
6e+CEqJt5kElm8HdwsQ1LsixCRiI4TisFXbklQJohK3kb70pyvV5ecGrAVhRufOL
8+rAyy9sFTxi81rGx9z0BMnkTA62MWnw240CcrtNddoUYvr8oqWN3zQ/B5Y7652f
6/Udn0u4YMFfrOdfnZyrPCUd951oG/nj/IdI4X6jIPp+LxGCbUFLE54fJsjZcDYa
9jsAEQEAAYkCNgQYAQgAIBYhBMYCEMbnM7q3KUaSHdriS/zXIvBTBQJl7YZkAhsM
AAoJENriS/zXIvBTKWIQAJyibja4jqwGNmt+yjHQROzZLQQT7Bkr8VnwqbrhCn0c
WEjKb+dJpoYFU734S/zRD82RNm3Eay7SEHT3/Ls4FkvR1EBDaT3e95eX9NjDuGGr
ARz2J8IvxjEEtfq21hbM5OTAWNxJRsZ9Gqp7RJXwN6AqSwEk2wAzDAWNz2kbVuHi
fUhY53F/eP4qvJcy9l9iRGeIJcyhq8tt9N0gh9k0ybKAmpDv1YLYa2nTn+WhW3OK
oRTJgKCpIcMvmoVSr9uXnZDjuM+r1eAebq54D9YjbjQ4gOKJoNxQnx0l8EkwR90h
XFS/zhkQQjlGgdxNFdszdpehUh4DRhlOGWf58gWBdrq5RfJpKiCjxisoAmtIwEzb
H62IWN78wmYaOxBcPoRjSTgJmOS6UQqtSNX9IX9V+N3wmKW+zjEsp015lvAQfgdD
UYOWjzMACxdb5JtDJH5GdxC63lyaXHmcotzWhCJVV+Zuc1L6Ol/pYfDrcU3D1g2N
eSlTXpbmnjByzlSWJHjwEv1fTl5WWxZKLLZNu+laAIrLEcCqhMcJh3mq5U5MjkF6
u3yyREtqwZK2Mmvgw0lXFR+ohXNe/WQqKptUZgmDv/idvKOUYP5AM9n5GtJ3I9OD
ty2562y/llSf6ZJv6cGlczI5yc2MXoj3AtDpHs/Sz/VKBioSpfcmoOD+AoslXoM9
=vRQX
-----END PGP PUBLIC KEY BLOCK-----
</div> </div>
</div> <form method="dialog" class="modal-backdrop">
<button>close</button>
</form>
</dialog>
{{end}}
</div> </div>
<script>
function copyToClipBoard(id) {
const input = document.querySelector('input#' + id)
input.select();
document.execCommand('copy');
}
</script>

View File

@ -1,4 +1,4 @@
<form enctype="multipart/form-data" method="post"> <form hx-boost="true" enctype="multipart/form-data" method="post">
<div> <div>
<label class="input input-bordered flex items-center gap-2 mt-2"> <label class="input input-bordered flex items-center gap-2 mt-2">
Max downloaders Max downloaders
@ -10,10 +10,14 @@
</label> </label>
<label> <label>
<span class="hidden">File for uploading</span> <span class="hidden">File for uploading</span>
<input required type="file" name="file" class="file-input file-input-bordered w-full mt-2" /> <input required type="file" name="file"
class="border-[2px] border-base-300 file-input file-input-bordered w-full mt-2" />
</label> </label>
<div class="flex"> <div class="flex">
<input class="ml-auto btn btn-primary mt-4" type="submit" value="Upload"> <button class="ml-auto btn btn-primary mt-4" type="submit">
<span class="htmx-indicator loading loading-spinner"></span>
Upload
</button>
</div> </div>
</div> </div>
</form> </form>

View File

@ -0,0 +1,5 @@
<div href="https://krita.org/en/donations/">Krita</div>
<div href="https://kdenlive.org/en/fund/">Kdenlive</div>
<div href="https://buy.immich.app/">Immich</div>
<div href="https://kde.org/donate/">KDE Plasma</div>
<div href="https://gnome.org/donate/">GNOME</div>

View File

@ -19,6 +19,11 @@
<main id="main-content" class="mx-4 pt-24 pb-4"> <main id="main-content" class="mx-4 pt-24 pb-4">
{{embed}} {{embed}}
</main> </main>
<!--
<div id="loader" class="w-full h-full fixed top-0 left-0 bg-base-100 opacity-75 z-[10000] text-center content-center">
<span class="loading loading-spinner loading-lg"></span>
</div>
-->
</body> </body>
</html> </html>

View File

@ -13,7 +13,7 @@
</svg> </svg>
</summary> </summary>
<ul <ul
class="menu dropdown-content bg-base-100 border-2 border-base-300 rounded-t-none rounded-box w-52 p-3 shadow-xl gap-1 mt-2"> class="md:menu md:dropdown-content md:bg-base-100 md:border-2 md:border-base-300 md:rounded-t-none md:rounded-box md:w-52 md:p-3 md:shadow-xl md:gap-1 md:mt-2">
<li> <li>
<a class='hover:bg-base-300 flex gap-4 {{if eq .Path "/"}}active{{end}}' href="/"> <a class='hover:bg-base-300 flex gap-4 {{if eq .Path "/"}}active{{end}}' href="/">
<span class="w-5 text-center"> <span class="w-5 text-center">

View File

@ -1,5 +1,5 @@
<div class="flex justify-center mx-auto"> <div class="flex justify-center">
<article class="mx-2 prose "> <article class="mx-2 prose !w-full">
<h1 class="m-auto my-1">{{.Post.Meta.Title}}</h1> <h1 class="m-auto my-1">{{.Post.Meta.Title}}</h1>
<hr class="p-0 m-0 my-4" /> <hr class="p-0 m-0 my-4" />
{{.Post.Content}} {{.Post.Content}}