Compare commits
3 Commits
8d3bdb6f4c
...
4bbaf3362e
Author | SHA1 | Date |
---|---|---|
Niko Abeler | 4bbaf3362e | |
Niko Abeler | c196a72d34 | |
Niko Abeler | 94b6628411 |
|
@ -0,0 +1,46 @@
|
||||||
|
root = "."
|
||||||
|
testdata_dir = "testdata"
|
||||||
|
tmp_dir = "tmp"
|
||||||
|
|
||||||
|
[build]
|
||||||
|
args_bin = ["web"]
|
||||||
|
bin = "./tmp/main"
|
||||||
|
cmd = "go build -o ./tmp/main owl-blogs/cmd/owl"
|
||||||
|
delay = 1000
|
||||||
|
exclude_dir = ["assets", "tmp", "vendor", "testdata"]
|
||||||
|
exclude_file = []
|
||||||
|
exclude_regex = ["_test.go"]
|
||||||
|
exclude_unchanged = false
|
||||||
|
follow_symlink = false
|
||||||
|
full_bin = ""
|
||||||
|
include_dir = []
|
||||||
|
include_ext = ["go", "tpl", "tmpl", "html", "css"]
|
||||||
|
include_file = []
|
||||||
|
kill_delay = "0s"
|
||||||
|
log = "build-errors.log"
|
||||||
|
poll = false
|
||||||
|
poll_interval = 0
|
||||||
|
post_cmd = []
|
||||||
|
pre_cmd = []
|
||||||
|
rerun = false
|
||||||
|
rerun_delay = 500
|
||||||
|
send_interrupt = false
|
||||||
|
stop_on_error = false
|
||||||
|
|
||||||
|
[color]
|
||||||
|
app = ""
|
||||||
|
build = "yellow"
|
||||||
|
main = "magenta"
|
||||||
|
runner = "green"
|
||||||
|
watcher = "cyan"
|
||||||
|
|
||||||
|
[log]
|
||||||
|
main_only = false
|
||||||
|
time = false
|
||||||
|
|
||||||
|
[misc]
|
||||||
|
clean_on_exit = false
|
||||||
|
|
||||||
|
[screen]
|
||||||
|
clear_on_rebuild = false
|
||||||
|
keep_scroll = true
|
|
@ -26,4 +26,5 @@ users/
|
||||||
*.swp
|
*.swp
|
||||||
|
|
||||||
|
|
||||||
*.db
|
*.db
|
||||||
|
tmp/
|
|
@ -1,7 +1,7 @@
|
||||||
##
|
##
|
||||||
## Build Container
|
## Build Container
|
||||||
##
|
##
|
||||||
FROM golang:1.20-alpine as build
|
FROM golang:1.21-alpine as build
|
||||||
|
|
||||||
|
|
||||||
RUN apk add --no-cache --update git gcc g++
|
RUN apk add --no-cache --update git gcc g++
|
||||||
|
|
|
@ -23,6 +23,7 @@ type SiteConfig struct {
|
||||||
Title string
|
Title string
|
||||||
SubTitle string
|
SubTitle string
|
||||||
HeaderColor string
|
HeaderColor string
|
||||||
|
PrimaryColor string
|
||||||
AuthorName string
|
AuthorName string
|
||||||
Me []MeLinks
|
Me []MeLinks
|
||||||
Lists []EntryList
|
Lists []EntryList
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -7,7 +7,7 @@ require (
|
||||||
github.com/gofiber/fiber/v2 v2.47.0
|
github.com/gofiber/fiber/v2 v2.47.0
|
||||||
github.com/google/uuid v1.3.0
|
github.com/google/uuid v1.3.0
|
||||||
github.com/jmoiron/sqlx v1.3.5
|
github.com/jmoiron/sqlx v1.3.5
|
||||||
github.com/mattn/go-sqlite3 v1.14.17
|
github.com/mattn/go-sqlite3 v1.14.19
|
||||||
github.com/spf13/cobra v1.7.0
|
github.com/spf13/cobra v1.7.0
|
||||||
github.com/stretchr/testify v1.8.4
|
github.com/stretchr/testify v1.8.4
|
||||||
github.com/yuin/goldmark v1.5.4
|
github.com/yuin/goldmark v1.5.4
|
||||||
|
|
2
go.sum
2
go.sum
|
@ -56,6 +56,8 @@ github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh
|
||||||
github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
|
github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
|
||||||
github.com/mattn/go-sqlite3 v1.14.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM=
|
github.com/mattn/go-sqlite3 v1.14.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM=
|
||||||
github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
||||||
|
github.com/mattn/go-sqlite3 v1.14.19 h1:fhGleo2h1p8tVChob4I9HpmVFIAkKGpiukdrgQbWfGI=
|
||||||
|
github.com/mattn/go-sqlite3 v1.14.19/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
||||||
github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0=
|
github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0=
|
||||||
github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
|
github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
|
||||||
github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw=
|
github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw=
|
||||||
|
|
|
@ -8,11 +8,31 @@
|
||||||
<meta property="og:title" content="{{template "title" .Data}}" />
|
<meta property="og:title" content="{{template "title" .Data}}" />
|
||||||
<link rel="webmention" href="/webmention/" />
|
<link rel="webmention" href="/webmention/" />
|
||||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/index.xml">
|
<link rel="alternate" type="application/rss+xml" title="RSS" href="/index.xml">
|
||||||
|
|
||||||
<link rel='stylesheet' href='/static/pico.min.css'>
|
<link rel='stylesheet' href='/static/pico.min.css'>
|
||||||
|
<link rel='stylesheet' href='/static/style.css'>
|
||||||
<style>
|
<style>
|
||||||
|
:root {
|
||||||
|
--primary: {{.SiteConfig.PrimaryColor}};
|
||||||
|
--primary-hover: color-mix(in srgb,var(--primary),#000 20%);
|
||||||
|
--primary-focus: color-mix(in srgb,var(--primary),#fff 40%);
|
||||||
|
--primary-inverse: #FFF;
|
||||||
|
--background: {{.SiteConfig.HeaderColor}};
|
||||||
|
--background-dark: color-mix(in srgb,var(--background),#000 50%);
|
||||||
|
--background-light: color-mix(in srgb,var(--background),#fff 50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-theme="light"],
|
||||||
|
:root:not([data-theme="dark"]) {
|
||||||
|
--primary: {{.SiteConfig.PrimaryColor}};
|
||||||
|
--primary-hover: color-mix(in srgb,var(--primary),#000 20%);
|
||||||
|
--primary-focus: color-mix(in srgb,var(--primary),#fff 40%);
|
||||||
|
--primary-inverse: #FFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
header {
|
header {
|
||||||
background-color: {{.SiteConfig.HeaderColor}};
|
background-color: var(--background);
|
||||||
padding-bottom: 1rem !important;
|
padding-bottom: 1rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,31 +1,40 @@
|
||||||
{{define "title"}}Admin{{end}}
|
{{define "title"}}Admin{{end}}
|
||||||
|
|
||||||
{{define "main"}}
|
{{define "main"}}
|
||||||
<h2>Write</h2>
|
<h2 style="margin-bottom: 1rem;">Write</h2>
|
||||||
|
|
||||||
<ul>
|
<div class="action-tile-list">
|
||||||
{{range .Types}}
|
{{range .Types}}
|
||||||
<li><a href="/editor/new/{{.}}/">{{.}}</a></li>
|
<a class="action-tile" href="/editor/new/{{.}}/">{{.}}</a>
|
||||||
{{end}}
|
{{end}}
|
||||||
</ul>
|
</div>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
<h2>Content</h2>
|
<h2 style="margin-bottom: 1rem;">Content</h2>
|
||||||
<ul>
|
<div class="action-tile-list">
|
||||||
<li><a href="/admin/binaries/">Files</a></li>
|
<a class="action-tile" href="/admin/binaries/">Files</a>
|
||||||
<li><a href="/admin/drafts/">Drafts</a></li>
|
<a class="action-tile" href="/admin/drafts/">Drafts</a>
|
||||||
</ul>
|
</div>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
<h2>Configurations</h2>
|
<h2 style="margin-bottom: 1rem;">Configurations</h2>
|
||||||
<ul>
|
<div class="action-tile-list">
|
||||||
<li><a href="/site-config">Site Settings</a></li>
|
<a class="action-tile" href="/site-config">Site Settings</a>
|
||||||
<li><a href="/site-config/me">Me Links</a></li>
|
<a class="action-tile" href="/site-config/me">Me Links</a>
|
||||||
<li><a href="/site-config/lists">Lists</a></li>
|
<a class="action-tile" href="/site-config/lists">Lists</a>
|
||||||
<li><a href="/site-config/menus">Menus</a></li>
|
<a class="action-tile" href="/site-config/menus">Menus</a>
|
||||||
<li>Modules</li>
|
</div>
|
||||||
<ul>
|
<br>
|
||||||
{{ range .Configs }}
|
<br>
|
||||||
<li><a href="/admin/config/{{.Name}}">{{.Name}}</a></li>
|
|
||||||
{{ end }}
|
<h3>Module Configuration</h3>
|
||||||
</ul>
|
<div class="action-tile-list">
|
||||||
</ul>
|
{{ range .Configs }}
|
||||||
|
<a class="action-tile" href="/admin/config/{{.Name}}">{{.Name}}</a>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
{{end}}
|
{{end}}
|
|
@ -16,6 +16,9 @@
|
||||||
<label for="HeaderColor">HeaderColor</label>
|
<label for="HeaderColor">HeaderColor</label>
|
||||||
<input type="color" name="HeaderColor" id="HeaderColor" value="{{.HeaderColor}}"/>
|
<input type="color" name="HeaderColor" id="HeaderColor" value="{{.HeaderColor}}"/>
|
||||||
|
|
||||||
|
<label for="PrimaryColor">PrimaryColor</label>
|
||||||
|
<input type="color" name="PrimaryColor" id="PrimaryColor" value="{{.PrimaryColor}}"/>
|
||||||
|
|
||||||
<label for="AuthorName">AuthorName</label>
|
<label for="AuthorName">AuthorName</label>
|
||||||
<input type="text" name="AuthorName" id="AuthorName" value="{{.AuthorName}}"/>
|
<input type="text" name="AuthorName" id="AuthorName" value="{{.AuthorName}}"/>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
exit status 1
|
|
@ -44,6 +44,7 @@ func (h *SiteConfigHandler) HandlePost(c *fiber.Ctx) error {
|
||||||
siteConfig.Title = c.FormValue("Title")
|
siteConfig.Title = c.FormValue("Title")
|
||||||
siteConfig.SubTitle = c.FormValue("SubTitle")
|
siteConfig.SubTitle = c.FormValue("SubTitle")
|
||||||
siteConfig.HeaderColor = c.FormValue("HeaderColor")
|
siteConfig.HeaderColor = c.FormValue("HeaderColor")
|
||||||
|
siteConfig.PrimaryColor = c.FormValue("PrimaryColor")
|
||||||
siteConfig.AuthorName = c.FormValue("AuthorName")
|
siteConfig.AuthorName = c.FormValue("AuthorName")
|
||||||
siteConfig.AvatarUrl = c.FormValue("AvatarUrl")
|
siteConfig.AvatarUrl = c.FormValue("AvatarUrl")
|
||||||
siteConfig.FullUrl = c.FormValue("FullUrl")
|
siteConfig.FullUrl = c.FormValue("FullUrl")
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
.action-tile-list {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
|
||||||
|
.action-tile {
|
||||||
|
border: 1px solid var(--background-dark);
|
||||||
|
padding: 20px;
|
||||||
|
flex: 1 1 0px;
|
||||||
|
margin: 6px;
|
||||||
|
min-width: 20%;
|
||||||
|
text-align: center;
|
||||||
|
background: var(--background);
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.action-tile:hover {
|
||||||
|
background: var(--background-light);
|
||||||
|
}
|
Loading…
Reference in New Issue