add static routes including unpoly/ dasyui/ tailwind
This commit is contained in:
2
Makefile
2
Makefile
@@ -5,7 +5,7 @@ DB_USER="crow"
|
|||||||
DB_PASS="4LlKpnQ2RZPzL13BSpkW4k"
|
DB_PASS="4LlKpnQ2RZPzL13BSpkW4k"
|
||||||
|
|
||||||
go-run:
|
go-run:
|
||||||
cd src; DB_USER=$(DB_USER) DB_PASS=$(DB_PASS) DB_NAME=$(DB_NAME) DB_HOST=$(DB_HOST) go run cmd/frontend/*
|
cd src; DB_USER=$(DB_USER) DB_PASS=$(DB_PASS) DB_NAME=$(DB_NAME) DB_HOST=$(DB_HOST) go run cmd/frontend/main.go
|
||||||
|
|
||||||
docker-push: docker-build
|
docker-push: docker-build
|
||||||
docker push git.kohout-dev.de/crowsnest/crowsnest:latest
|
docker push git.kohout-dev.de/crowsnest/crowsnest:latest
|
||||||
|
|||||||
20
src/assets/static/daisyui.min.css
vendored
Normal file
20
src/assets/static/daisyui.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -1,75 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Dark Mode Article Previews</title>
|
|
||||||
<!-- Bootstrap CSS -->
|
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
||||||
<style>
|
|
||||||
body {
|
|
||||||
background-color: #121212;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.article-preview {
|
|
||||||
background-color: #1e1e1e;
|
|
||||||
border: 1px solid #2c2c2c;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: #0d6efd;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover {
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
color: white
|
|
||||||
}
|
|
||||||
|
|
||||||
h5 {
|
|
||||||
color: white
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div class="container py-5">
|
|
||||||
<h1 class="text-center mb-auto">Article Previews</h1>
|
|
||||||
<div class="column">
|
|
||||||
<!-- Article 1 -->
|
|
||||||
<div class="col-md-6 mb-4">
|
|
||||||
<div class="card article-preview p-3">
|
|
||||||
<h5 class="card-title">Article Title 1</h5>
|
|
||||||
<p class="card-text">This is a short preview of the article content. It provides a quick summary to entice readers to click and read more.</p>
|
|
||||||
<a href="#" class="stretched-link">Read More</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- Article 2 -->
|
|
||||||
<div class="col-md-6 mb-4">
|
|
||||||
<div class="card article-preview p-3">
|
|
||||||
<h5 class="card-title">Article Title 2</h5>
|
|
||||||
<p class="card-text">This is another preview of an article. It gives a brief overview to encourage users to explore further.</p>
|
|
||||||
<a href="#" class="stretched-link">Read More</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- Article 3 -->
|
|
||||||
<div class="col-md-6 mb-4">
|
|
||||||
<div class="card article-preview p-3">
|
|
||||||
<h5 class="card-title">Article Title 3</h5>
|
|
||||||
<p class="card-text">A concise description of the article to pique interest and direct readers to the full content.</p>
|
|
||||||
<a href="#" class="stretched-link">Read More</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Bootstrap JS Bundle -->
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
83
src/assets/static/tailwindcss.min.js
vendored
Normal file
83
src/assets/static/tailwindcss.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
src/assets/static/unpoly.min.css
vendored
Normal file
6
src/assets/static/unpoly.min.css
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[hidden][hidden]{display:none !important}
|
||||||
|
up-wrapper{display:inline-block}
|
||||||
|
up-bounds{position:absolute}.up-focus-hidden:focus-visible{outline-color:rgba(0,0,0,0) !important;outline-style:none !important}body.up-scrollbar-away{padding-right:calc(var(--up-scrollbar-width) + var(--up-original-padding-right)) !important}body.up-scrollbar-away,html:has(>body.up-scrollbar-away){overflow-y:hidden !important}body.up-scrollbar-away .up-scrollbar-away{right:calc(var(--up-scrollbar-width) + var(--up-original-right)) !important}
|
||||||
|
.up-request-loader{display:none}up-progress-bar{position:fixed;top:0;left:0;z-index:999999999;height:3px;background-color:#007bff}
|
||||||
|
up-focus-trap{position:fixed;top:0;left:0;width:0;height:0}up-cover-viewport,up-drawer-viewport,up-modal-viewport,up-drawer-backdrop,up-modal-backdrop,up-cover,up-drawer,up-modal{top:0;left:0;bottom:0;right:0}up-drawer-box,up-modal-box{box-shadow:0 0 10px 1px rgba(0,0,0,.3)}up-popup{box-shadow:0 0 4px rgba(0,0,0,.3)}up-popup:focus,up-cover-box:focus,up-drawer-box:focus,up-modal-box:focus,up-cover:focus,up-drawer:focus,up-modal:focus,up-popup:focus-visible,up-cover-box:focus-visible,up-drawer-box:focus-visible,up-modal-box:focus-visible,up-cover:focus-visible,up-drawer:focus-visible,up-modal:focus-visible{outline:none}up-cover,up-drawer,up-modal{z-index:2000;position:fixed}up-drawer-backdrop,up-modal-backdrop{position:absolute;background:rgba(0,0,0,.4)}up-cover-viewport,up-drawer-viewport,up-modal-viewport{position:absolute;overflow-y:scroll;overflow-x:hidden;overscroll-behavior:contain;display:flex;align-items:flex-start;justify-content:center}up-popup,up-cover-box,up-drawer-box,up-modal-box{position:relative;box-sizing:border-box;max-width:100%;background-color:#fff;padding:20px;overflow-x:hidden}up-popup-content,up-cover-content,up-drawer-content,up-modal-content{display:block}up-popup{z-index:1000}up-popup-dismiss,up-cover-dismiss,up-drawer-dismiss,up-modal-dismiss{color:#888;position:absolute;top:10px;right:10px;font-size:1.7rem;line-height:.5;cursor:pointer}up-modal[nesting="0"] up-modal-viewport{padding:25px 15px}up-modal[nesting="1"] up-modal-viewport{padding:50px 30px}up-modal[nesting="2"] up-modal-viewport{padding:75px 45px}up-modal[nesting="3"] up-modal-viewport{padding:100px 60px}up-modal[nesting="4"] up-modal-viewport{padding:125px 75px}up-modal[size=small] up-modal-box{width:350px}up-modal[size=medium] up-modal-box{width:650px}up-modal[size=large] up-modal-box{width:1000px}up-modal[size=grow] up-modal-box{width:auto}up-modal[size=full] up-modal-box{width:100%}up-drawer-viewport{justify-content:flex-start}up-drawer[position=right] up-drawer-viewport{justify-content:flex-end}up-drawer-box{min-height:100vh}up-drawer[size=small] up-drawer-box{width:150px}up-drawer[size=medium] up-drawer-box{width:340px}up-drawer[size=large] up-drawer-box{width:600px}up-drawer[size=grow] up-drawer-box{width:auto}up-drawer[size=full] up-drawer-box{width:100%}up-cover-box{width:100%;min-height:100vh;padding:0}up-popup{padding:15px;text-align:left}up-popup[size=small]{width:180px}up-popup[size=medium]{width:300px}up-popup[size=large]{width:550px}up-popup[size=grow] up-popup{width:auto}up-popup[size=full] up-popup{width:100%}
|
||||||
|
[up-clickable][role=link]{cursor:pointer}[up-expand]:not([role]),[up-expand][role=link]{cursor:pointer}
|
||||||
1
src/assets/static/unpoly.min.js
vendored
Normal file
1
src/assets/static/unpoly.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -1,10 +1,17 @@
|
|||||||
{{ define "base" }}
|
{{ define "base" }}
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="de" data-theme="dark">
|
<html lang="de" data-theme="dark">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<head>
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/unpoly@3.9.5/unpoly.min.css">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<link href="https://cdn.jsdelivr.net/npm/daisyui@4.12.23/dist/full.min.css" rel="stylesheet" type="text/css" />
|
|
||||||
|
|
||||||
|
{{/* Unpoly */}}
|
||||||
|
<link rel="stylesheet" type="text/css" href="/static/unpoly.min.css" />
|
||||||
|
<script src="/static/unpoly.min.js"></script>
|
||||||
|
|
||||||
|
{{/* DasyUi */}}
|
||||||
|
<link rel="stylesheet" type="text/css" href="/static/daisyui.min.css" />
|
||||||
|
<script src="/static/tailwindcss.min.js"></script>
|
||||||
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<nav class="fixed top-0 z-50 w-full p-4">
|
<nav class="fixed top-0 z-50 w-full p-4">
|
||||||
<div class="navbar bg-base-300 rounded-box drop-shadow-md">
|
<div class="navbar bg-base-300 rounded-box drop-shadow-md">
|
||||||
@@ -52,7 +59,6 @@
|
|||||||
{{ template "content" . }}
|
{{ template "content" . }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/unpoly@3.9.5/unpoly.min.js"></script>
|
|
||||||
<script src="https://cdn.tailwindcss.com"></script>
|
<script src="https://cdn.tailwindcss.com"></script>
|
||||||
<script>
|
<script>
|
||||||
up.link.config.followSelectors.push('a[href]')
|
up.link.config.followSelectors.push('a[href]')
|
||||||
|
|||||||
@@ -25,8 +25,7 @@ func (app *App) Routes() http.Handler {
|
|||||||
mux.Handle("POST /up/search", http.HandlerFunc(app.UpSearch))
|
mux.Handle("POST /up/search", http.HandlerFunc(app.UpSearch))
|
||||||
|
|
||||||
// serve files from the "static" directory
|
// serve files from the "static" directory
|
||||||
fs := http.FileServer(http.Dir("assets/static"))
|
mux.Handle("GET /static/", http.StripPrefix("/static/", http.FileServer(http.Dir("./assets/static"))))
|
||||||
mux.Handle("GET /static/", http.StripPrefix("/", fs))
|
|
||||||
|
|
||||||
return mux
|
return mux
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user