Compare commits

...

12 Commits

Author SHA1 Message Date
1098e39ca0 hi 2025-10-07 11:16:21 +03:00
73684451b8 m 2025-10-07 11:11:48 +03:00
1f6d647e93 oops.. 2025-10-07 11:10:55 +03:00
bdd8ceef96 hi 2025-10-07 11:09:43 +03:00
a4875f0d57 meow 2025-10-07 11:08:11 +03:00
cf61021c67 33 lines or so. please think i am cool guys 2025-09-24 14:46:36 +03:00
09aa419694 heh add title 2025-09-23 23:20:42 +03:00
710fa11b07 no longer (that) stupid 2025-09-23 19:57:01 +03:00
3e59c99b5d stupid 2025-09-23 19:55:05 +03:00
9b4c53778d much stuffs 2025-09-23 19:51:11 +03:00
13f38313ac make it cleaner and easier 2025-09-23 19:06:26 +03:00
050ff9060e fix the stupid code 2025-09-23 19:04:03 +03:00
7 changed files with 26 additions and 53 deletions

View File

@@ -2,12 +2,9 @@ BINARY=kisurun
BUILD_DIR=build BUILD_DIR=build
build: build:
@echo "Building $(BINARY)..."
go build -o $(BUILD_DIR)/$(BINARY) . go build -o $(BUILD_DIR)/$(BINARY) .
@echo "Copying templates and static..." cp -r templates $(BUILD_DIR)
mkdir -p $(BUILD_DIR)/templates cp -r pages $(BUILD_DIR)
mkdir -p $(BUILD_DIR)/static cp -r static $(BUILD_DIR)
cp -r templates/* $(BUILD_DIR)/templates/
cp -r static/* $(BUILD_DIR)/static/
clean: clean:
rm -rf $(BUILD_DIR) rm -rf $(BUILD_DIR)

49
main.go
View File

@@ -4,59 +4,30 @@ import (
"html/template" "html/template"
"log" "log"
"net/http" "net/http"
"strings"
"path/filepath" "path/filepath"
"os"
) )
func getTemplateDir() string {
exePath, err := os.Executable()
if err != nil {
log.Fatal(err)
}
exeDir := filepath.Dir(exePath)
testPath := filepath.Join(exeDir, "templates")
if _, err := os.Stat(testPath); err == nil {
return testPath
}
// if running using: go run use wd
wd, err := os.Getwd()
if err != nil {
log.Fatal(err)
}
return filepath.Join(wd, "templates")
}
func pageHandler(w http.ResponseWriter, r *http.Request) { func pageHandler(w http.ResponseWriter, r *http.Request) {
path := strings.Trim(r.URL.Path, "/") path := r.URL.Path
if path == "" { if path == "/" {
path = "home" path = "/home"
} }
t, err := template.Must(template.ParseGlob("templates/*.html")).Clone()
templateDir := getTemplateDir()
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 { if err != nil {
http.NotFound(w, r) http.NotFound(w, r)
return return
} }
if _, err := t.ParseFiles(filepath.Join("pages", path+".html")); err != nil {
err = tmpl.ExecuteTemplate(w, "layout", nil) http.NotFound(w, r)
if err != nil { return
}
if err := t.ExecuteTemplate(w, "layout", nil); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError) http.Error(w, err.Error(), http.StatusInternalServerError)
} }
} }
func main() { func main() {
http.HandleFunc("/", pageHandler) http.HandleFunc("/", pageHandler)
log.Println("Server running at http://localhost:14888") log.Println("Server running at http://localhost:14888")
log.Fatal(http.ListenAndServe(":14888", nil)) log.Fatal(http.ListenAndServe(":14888", nil))
} }

11
pages/home.html Normal file
View File

@@ -0,0 +1,11 @@
{{define "content"}}
<h2>
My super duper epic site
<p class="submissivetext">(contains nothing dont roast me again notbob im just a babeh)</p>
</h2>
<p>services i host</p>
<ul>
<li><a href="https://git.kisukalat.xyz/">git server</a></li>
<li><a href="https://xmr.kisukalat.xyz/">xmr explorer</a></li>
</ul>
{{end}}

View File

@@ -1,5 +1,5 @@
<footer> <footer>
<ul> <ul style="padding-left: 0;">
<li> <li>
Monero XMR: <code>44KiSSaf5h7MGd3GqAaNZc45DdwC7q9BmCtsZ9knfsCNj7PyipHfBvBUZVHiBUU8dMJJ82MfPBZdzVugUs7BnANT6SUyDsN</code> Monero XMR: <code>44KiSSaf5h7MGd3GqAaNZc45DdwC7q9BmCtsZ9knfsCNj7PyipHfBvBUZVHiBUU8dMJJ82MfPBZdzVugUs7BnANT6SUyDsN</code>
</li> </li>

View File

@@ -1,7 +0,0 @@
{{define "content"}}
<h2>
My super duper epic site
<p class="submissivetext">(contains nothing dont roast me again notbob im just a babeh)</p>
</h2>
<p></p>
{{end}}

View File

@@ -2,6 +2,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<title>{{block "title" .}}Kisukalat.xyz{{end}}</title>
<meta charset="UTF-8"> <meta charset="UTF-8">
<link rel="stylesheet" href="/static/style.css"> <link rel="stylesheet" href="/static/style.css">