latest
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing

This commit is contained in:
2023-01-28 19:05:02 -08:00
parent 3f49d528e7
commit 49709ad3d2
18 changed files with 224 additions and 180 deletions

View File

@@ -0,0 +1,3 @@
<script src="/s/js/jquery-3.5.1.slim.min.js"></script>
<script src="/s/js/bootstrap-4.5.3.bundle.min.js"></script>
<script src="/s/js/main.js"></script>

View File

@@ -0,0 +1,4 @@
<meta charset="utf-8" />
<title>{{ .HTMLTitle }}</title>
<link rel="stylesheet" href="/s/css/bootstrap-4.5.3.min.css" />
<link rel="stylesheet" href="/s/css/style.css" />

View File

@@ -1,84 +1,29 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Changeme: Go HTTP Server Boilerplate</title>
<link rel="stylesheet" href="/s/css/bootstrap-4.5.3.min.css" />
<link rel="stylesheet" href="/s/css/style.css" />
{{ template "htmlheader.html" . }}
</head>
<body>
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<a class="navbar-brand" href="#">Quickstart</a>
<button
class="navbar-toggler"
type="button"
data-toggle="collapse"
data-target="#navbarsExampleDefault"
aria-controls="navbarsExampleDefault"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarsExampleDefault">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#"
>Home <span class="sr-only">(current)</span></a
>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a
class="nav-link disabled"
href="#"
tabindex="-1"
aria-disabled="true"
>Disabled</a
>
</li>
<li class="nav-item dropdown">
<a
class="nav-link dropdown-toggle"
href="#"
id="dropdown01"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>Dropdown</a
>
<div class="dropdown-menu" aria-labelledby="dropdown01">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
<input
class="form-control mr-sm-2"
type="text"
placeholder="Search"
aria-label="Search"
/>
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">
Search
</button>
</form>
</div>
</nav>
{{ template "navbar.html" .}}
<main role="main">
<div class="jumbotron">
<div class="container">
<h1 class="display-3">Hello, world!</h1>
<h2><a
href="https://git.eeqj.de/sneak/gohttpserver">gohttpserver</a></h2>
<p>
This is a boilerplate application for you to use as a base for your
own sites and services.
</p>
<p>
Find more info at <a
href="https://git.eeqj.de/sneak/gohttpserver">https://git.eeqj.de/sneak/gohttpserver</a>.
</p>
<p>
This software is provided by <a
href="https://sneak.berlin">@sneak</a>
and is released unconditionally into the public domain.
</p>
<p>
<a class="btn btn-primary btn-lg" href="#" role="button"
>Learn more &raquo;</a
@@ -130,11 +75,7 @@
<!-- /container -->
</main>
<footer class="container">
<p>&copy; No rights reserved - This is in the public domain!</p>
</footer>
<script src="/s/js/jquery-3.5.1.slim.min.js"></script>
<script src="/s/js/bootstrap-4.5.3.bundle.min.js"></script>
<script src="/s/js/main.js"></script>
{{ template "pagefooter.html" . }}
</body>
{{ template "htmlfooter.html" . }}
</html>

View File

@@ -1,10 +1,7 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Changeme: Go HTTP Server Boilerplate</title>
<link rel="stylesheet" href="/s/css/bootstrap-4.5.3.min.css" />
{{ template "htmlheader.html" . }}
<style>
body {
padding-top: 3.5rem;
@@ -28,74 +25,10 @@
</head>
<body>
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<a class="navbar-brand" href="#">Quickstart</a>
<button
class="navbar-toggler"
type="button"
data-toggle="collapse"
data-target="#navbarsExampleDefault"
aria-controls="navbarsExampleDefault"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarsExampleDefault">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#"
>Home <span class="sr-only">(current)</span></a
>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a
class="nav-link disabled"
href="#"
tabindex="-1"
aria-disabled="true"
>Disabled</a
>
</li>
<li class="nav-item dropdown">
<a
class="nav-link dropdown-toggle"
href="#"
id="dropdown01"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>Dropdown</a
>
<div class="dropdown-menu" aria-labelledby="dropdown01">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
<input
class="form-control mr-sm-2"
type="text"
placeholder="Search"
aria-label="Search"
/>
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">
Search
</button>
</form>
</div>
</nav>
{{ template "navbar.html" .}}
<main role="main">
<div class="login-form">
<div class="login-form">
<form action="/login" method="post">
<h2 class="text-center">Log in</h2>
<div class="form-group">
@@ -118,11 +51,6 @@
</main>
<footer class="container">
<p>&copy; No rights reserved - This is in the public domain!</p>
</footer>
<script src="/s/js/jquery-3.5.1.slim.min.js"></script>
<script src="/s/js/bootstrap-4.5.3.bundle.min.js"></script>
<script src="/s/js/main.js"></script>
{{ template "pagefooter.html" . }}
</body>
</html>

64
templates/navbar.html Normal file
View File

@@ -0,0 +1,64 @@
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<a class="navbar-brand" href="/">{{.SiteName}}</a>
<button
class="navbar-toggler"
type="button"
data-toggle="collapse"
data-target="#navbarsExampleDefault"
aria-controls="navbarsExampleDefault"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon">&nbsp;</span>
</button>
<div class="collapse navbar-collapse" id="navbarsExampleDefault">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#"
>Home <span class="sr-only">(current)</span></a
>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" aria-disabled="true"
>Disabled</a
>
</li>
<li class="nav-item dropdown">
<a
class="nav-link dropdown-toggle"
href="#"
id="dropdown01"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>Dropdown</a
>
<div class="dropdown-menu" aria-labelledby="dropdown01">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#"
>Something else here</a
>
</div>
</li>
</ul>
<form action="POST" class="form-inline my-2 my-lg-0">
<input
class="form-control mr-sm-2"
type="text"
placeholder="Search"
aria-label="Search"
/>
<button
class="btn btn-outline-success my-2 my-sm-0"
type="submit"
>
Search
</button>
</form>
</div>
</nav>

View File

@@ -0,0 +1,3 @@
<footer class="container">
<p>&copy; No rights reserved - This is in the public domain!</p>
</footer>

76
templates/signup.html Normal file
View File

@@ -0,0 +1,76 @@
<!DOCTYPE html>
<html lang="en">
<head>
{{ template "htmlheader.html" .HTMLHeader }}
<style>
body {
padding-top: 3.5rem;
}
.bd-placeholder-img {
font-size: 1.125rem;
text-anchor: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
@media (min-width: 768px) {
.bd-placeholder-img-lg {
font-size: 3.5rem;
}
}
</style>
</head>
<body>
{{ template "navbar.html" .Navbar}}
<main role="main">
<div class="signup-form">
<form action="/signup" method="post">
<h2 class="text-center">Create New Account</h2>
<div class="form-group">
<span>Email:</span>
<input type="text" class="form-control" name="email"
placeholder="user@domain.com" required="required">
</div>
<div class="form-group">
<span>Desired Username:</span>
<input type="text" class="form-control" name="desiredUsername" placeholder="Username" required="required">
</div>
<div class="form-group">
<p>Please use a unique password that you don't use anywhere
else. Minimum 12 characters.</p>
<span>New Password:</span>
<input type="password" class="form-control"
name="desiredPassword1" placeholder="Password" required="required">
</div>
<div class="form-group">
<span>New Password (again):</span>
<input type="password" class="form-control"
name="desiredPassword2" placeholder="Password
(again)" required="required">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block">Create
New Account</button>
</div>
<!-- <div class="clearfix">
<label class="float-left form-check-label"><input type="checkbox"> Remember me</label>
<a href="#" class="float-right">Forgot Password?</a>
</div>
-->
</form>
<p class="text-center"><a href="#">Create an Account</a></p>
</div>
</main>
{{ template "pagefooter.html" .PageFooter }}
</body>
</html>

View File

@@ -2,12 +2,21 @@ package templates
import (
"embed"
"strings"
"text/template"
)
//go:embed *.html
var Templates embed.FS
var TemplatesRaw embed.FS
var TemplatesParsed *template.Template
func GetParsed() *template.Template {
if TemplatesParsed == nil {
TemplatesParsed = template.Must(template.ParseFS(TemplatesRaw, "*"))
}
return TemplatesParsed
}
/*
func MustString(filename string) string {
bytes, error := Templates.ReadFile(filename)
if error != nil {
@@ -17,3 +26,4 @@ func MustString(filename string) string {
out.Write(bytes)
return out.String()
}
*/