2 Commits
Author SHA1 Message Date
Florian.Walther e215b1d3b6 added footer and app_version
Docker Release Build / push_to_registry (push) Successful in 54s
2026-05-02 16:04:54 +02:00
Florian.Walther a08b30b02f updated README for pre-build container
Docker Release Build / push_to_registry (push) Successful in 52s
2026-05-02 15:54:18 +02:00
3 changed files with 13 additions and 4 deletions
+3 -2
View File
@@ -11,8 +11,9 @@ RUN go mod download
# Copy source code
COPY . .
# Build statically
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags='-w -s' -o mdhost .
# Build statically with version
ARG APP_VERSION=dev
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-w -s -X main.version=${APP_VERSION}" -o mdhost .
# Final scratch image
FROM scratch
+2
View File
@@ -119,6 +119,8 @@ The creation timestamp is stored in the file's `CreatedAt` field and persists ac
## Docker
A pre-built Docker image is available from `gitea.scu.si/florian.walther/mdhost:latest`.
### Build the Image
```bash
+8 -2
View File
@@ -27,6 +27,7 @@ var (
port = ":8080"
markdown = newMarkdownRenderer()
dataMu sync.RWMutex
version = "dev"
)
// ListFormat configures how files are rendered in the index
@@ -536,6 +537,9 @@ const css = `<style>
.edit-link:hover{color:var(--link-color)}
#theme-toggle{background:none;border:none;cursor:pointer;padding:.25rem .4rem;color:var(--nav-text);font-size:1.1rem;border-radius:4px}
#theme-toggle:hover{background:rgba(255,255,255,.1)}
footer{position:fixed;bottom:0;left:0;width:100%;background:var(--nav-bg);color:var(--nav-text);padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;z-index:100}
footer .left{font-weight:600}
footer .right{font-family:monospace}
</style>
<script>
document.addEventListener('DOMContentLoaded',function(){
@@ -561,7 +565,8 @@ const chromaCSS = `<style>
</style>`
func renderPage(w http.ResponseWriter, r *http.Request, title, body string) {
fmt.Fprintf(w, "<html><head><title>%s</title>%s%s</head><body>%s<main>%s</main></body></html>", title, chromaCSS, css, getNavBar(r), body)
footer := fmt.Sprintf("<footer><span class='left'>mdhost</span><span class='center'></span><span class='right'>%s</span></footer>", version)
fmt.Fprintf(w, "<html><head><title>%s</title>%s%s</head><body>%s<main>%s</main>%s</body></html>", title, chromaCSS, css, getNavBar(r), body, footer)
}
func listHandler(w http.ResponseWriter, r *http.Request) {
@@ -1110,5 +1115,6 @@ func viewHandler(w http.ResponseWriter, r *http.Request) {
}
// Use getNavBar which already includes all links
fmt.Fprintf(w, "<html><head><title>%s</title>%s%s</head><body>%s<main><div class='markdown-body'>%s</div></main></body></html>", entry.Name, css, chromaCSS, getNavBar(r), buf.String())
footer := fmt.Sprintf("<footer><span class='left'>mdhost</span><span class='center'></span><span class='right'>%s</span></footer>", version)
fmt.Fprintf(w, "<html><head><title>%s</title>%s%s</head><body>%s<main><div class='markdown-body'>%s</div></main>%s</body></html>", entry.Name, css, chromaCSS, getNavBar(r), buf.String(), footer)
}