initial commit

This commit is contained in:
2025-08-30 17:15:58 +03:00
commit d36a853f94
8 changed files with 201 additions and 0 deletions

3
go.mod Normal file
View File

@@ -0,0 +1,3 @@
module kisukalat.xyz
go 1.24.6

48
main.go Normal file
View File

@@ -0,0 +1,48 @@
package main
import (
"html/template"
"log"
"net/http"
"strings"
"path/filepath"
"os"
)
func pageHandler(w http.ResponseWriter, r *http.Request) {
path := strings.Trim(r.URL.Path, "/")
if path == "" {
path = "home"
}
exePath, err := os.Executable()
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
exeDir := filepath.Dir(exePath)
templateDir := filepath.Join(exeDir, "templates")
tmpl, err := template.ParseFiles(
filepath.Join(templateDir, "layout.html"),
filepath.Join(templateDir, "header.html"),
filepath.Join(templateDir, "footer.html"),
filepath.Join(templateDir, path+".html"),
)
if err != nil {
http.NotFound(w, r)
return
}
err = tmpl.ExecuteTemplate(w, "layout", nil)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}
}
func main() {
http.HandleFunc("/", pageHandler)
log.Println("Server running at http://localhost:14888")
log.Fatal(http.ListenAndServe(":14888", nil))
}

109
static/style.css Normal file
View File

@@ -0,0 +1,109 @@
html {
background: #5E0084;
padding-bottom: 400px;
}
body {
max-width: 750px;
margin-left: auto;
margin-right: auto;
margin-top: 30px;
background: #002F5E;
color: #eee;
border-style: solid;
border-width: 5px;
border-color: #123;
}
main {
padding: 1em ;
}
h1,h2,h3,h4 {
text-align: center;
}
h1 {
font-size: 48px;
text-shadow: 3px 0 black, 3px 3px black, 0 3px black;
color: blue;
}
.links {
display: list-item;
list-style: none;
text-align: center;
font-size: 48pt;
margin: 0;
display: block;
padding: 0;
}
img .links {
height: 64px;
width: 64px;
}
h2 {
color: #00bbdd ;
}
h3 {
color: #00aabb ;
}
a { color: lightblue; }
.image {
margin: auto;
}
.qr { max-width: 150px ; padding: 10px }
p img, li img, h1 img, h2 img, h3 img, h4 img {
max-height: 1em;
max-width: 1em;
}
pre {
border: 1px solid lime ;
border-radius: 20px ;
padding: 1em ;
margin: 1em ;
white-space: pre-wrap;
}
code {
border-radius: 5px ;
overflow-wrap: break-word ;
font-size: x-small;
}
code:not(pre code) {
color: lime;
}
aside {
color: gray ;
font-style: italic ;
font-size: small ;
}
footer {
text-align: center ;
}
header {
padding-left: 1rem;
}
.normal {
align: center ;
}
.normal img {
margin: auto ;
max-width: 90% ;
max-height: 400px ;
display: block ;
}
}

4
templates/about.html Normal file
View File

@@ -0,0 +1,4 @@
{{define "content"}}
<h1>abouaboutt</h1>
<p>im supoer cool</p>
{{end}}

7
templates/footer.html Normal file
View File

@@ -0,0 +1,7 @@
<footer>
<ul>
<li>
Monero XMR: <code>44KiSSaf5h7MGd3GqAaNZc45DdwC7q9BmCtsZ9knfsCNj7PyipHfBvBUZVHiBUU8dMJJ82MfPBZdzVugUs7BnANT6SUyDsN</code>
</li>
</ul>
</footer>

6
templates/header.html Normal file
View File

@@ -0,0 +1,6 @@
<header>
<p>
<a href="/" target="_top"><b> Home</b></a><b> |
<a href="/about" target="_top">About</a></b>
</p>
</header>

5
templates/home.html Normal file
View File

@@ -0,0 +1,5 @@
{{define "content"}}
<h1>Kisu's homepage</h1>
<p>Resist Resist Resist</p>
{{end}}

19
templates/layout.html Normal file
View File

@@ -0,0 +1,19 @@
{{define "layout"}}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="/static/style.css">
</head>
<body>
{{template "header.html" .}}
<main>
{{block "content" .}} {{end}}
{{template "footer.html" .}}
</main>
</body>
</html>
{{end}}