diff --git a/.gitignore b/.gitignore index f923b57..fd2b94f 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,5 @@ instructions-debian.txt cl.md ./telegram/ mautrix/ +tempts/ matacc.txt diff --git a/.goreleaser.yml b/.goreleaser.yml index 26e4580..1b87aa7 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -13,24 +13,31 @@ before: - npm install - npm install esbuild - mkdir -p data/web/css - - npx esbuild --bundle css/base.css --outfile=./data/web/css/bundle.css --external:remixicon.css --minify - cp node_modules/remixicon/fonts/remixicon.css node_modules/remixicon/fonts/remixicon.woff2 data/web/css/ - cp -r html data/ + - node scripts/missing-colors.js html data/html - cp -r lang data/ - cp LICENSE data/ - cp jfa-go.service data/ - python3 scripts/enumerate_config.py -i config/config-base.json -o data/config-base.json - python3 scripts/generate_ini.py -i config/config-base.json -o data/config-default.ini - python3 scripts/compile_mjml.py -o data/ - - npx esbuild --bundle ts/admin.ts --outfile=./data/web/js/admin.js --minify - - npx esbuild --bundle ts/pwr.ts --outfile=./data/web/js/pwr.js --minify - - npx esbuild --bundle ts/form.ts --outfile=./data/web/js/form.js --minify - - npx esbuild --bundle ts/setup.ts --outfile=./data/web/js/setup.js --minify - - npx esbuild --bundle ts/crash.ts --outfile=./data/crash.js --minify + - rm -rf tempts + - cp -r ts tempts + - scripts/dark-variant.sh tempts + - scripts/dark-variant.sh tempts/modules + - npx esbuild --bundle tempts/admin.ts --outfile=./data/web/js/admin.js --minify + - npx esbuild --bundle tempts/pwr.ts --outfile=./data/web/js/pwr.js --minify + - npx esbuild --bundle tempts/form.ts --outfile=./data/web/js/form.js --minify + - npx esbuild --bundle tempts/setup.ts --outfile=./data/web/js/setup.js --minify + - npx esbuild --bundle tempts/crash.ts --outfile=./data/crash.js --minify + - rm -r tempts + - npx esbuild --bundle css/base.css --outfile=./data/web/css/bundle.css --external:remixicon.css --minify - cp html/crash.html data/ - npx uncss data/crash.html --csspath web/css --output data/bundle.css - node scripts/inline.js root data data/crash.html data/crash.html - rm data/bundle.css + - npx tailwindcss -i data/web/css/bundle.css -o data/web/css/bundle.css - mv data/crash.html data/html/ - go get -u github.com/swaggo/swag/cmd/swag - swag init -g main.go diff --git a/Dockerfile b/Dockerfile index e4a9a50..95da273 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ RUN apt-get update -y \ && apt-get install build-essential python3-pip curl software-properties-common sed -y \ && (curl -sL https://deb.nodesource.com/setup_14.x | bash -) \ && apt-get install nodejs \ - && (cd /opt/build; make configuration npm email typescript bundle-css inline swagger copy INTERNAL=off GOESBUILD=on) \ + && (cd /opt/build; make configuration npm email typescript variants-html bundle-css inline swagger copy INTERNAL=off GOESBUILD=on) \ && sed -i 's#id="password_resets-watch_directory" placeholder="/config/jellyfin"#id="password_resets-watch_directory" value="/jf" disabled#g' /opt/build/build/data/html/setup.html diff --git a/Makefile b/Makefile index 9ef6d01..60664a2 100644 --- a/Makefile +++ b/Makefile @@ -52,14 +52,17 @@ ifeq ($(DEBUG), on) SOURCEMAP := --sourcemap TYPECHECK := tsc -noEmit --project ts/tsconfig.json # jank - COPYTS := rm -r $(DATA)/web/js/ts; cp -r ts $(DATA)/web/js + COPYTS := rm -r $(DATA)/web/js/ts; cp -r tempts $(DATA)/web/js/ts UNCSS := cp $(DATA)/web/css/bundle.css $(DATA)/bundle.css + TAILWIND := --content "" else LDFLAGS := -s -w $(LDFLAGS) SOURCEMAP := COPYTS := TYPECHECK := - UNCSS := npx uncss $(DATA)/crash.html --csspath web/css --output $(DATA)/bundle.css + UNCSS := npx tailwindcss -i $(DATA)/web/css/bundle.css -o $(DATA)/bundle.css --content "html/crash.html" + # UNCSS := npx uncss $(DATA)/crash.html --csspath web/css --output $(DATA)/bundle.css + TAILWIND := endif RACE ?= off @@ -91,13 +94,18 @@ email: typescript: $(TYPECHECK) + $(adding dark variants to typescript) + -rm -r tempts + cp -r ts tempts + scripts/dark-variant.sh tempts + scripts/dark-variant.sh tempts/modules $(info compiling typescript) -mkdir -p $(DATA)/web/js - -$(ESBUILD) --bundle ts/admin.ts $(SOURCEMAP) --outfile=./$(DATA)/web/js/admin.js --minify - -$(ESBUILD) --bundle ts/pwr.ts $(SOURCEMAP) --outfile=./$(DATA)/web/js/pwr.js --minify - -$(ESBUILD) --bundle ts/form.ts $(SOURCEMAP) --outfile=./$(DATA)/web/js/form.js --minify - -$(ESBUILD) --bundle ts/setup.ts $(SOURCEMAP) --outfile=./$(DATA)/web/js/setup.js --minify - -$(ESBUILD) --bundle ts/crash.ts --outfile=./$(DATA)/crash.js --minify + -$(ESBUILD) --bundle tempts/admin.ts $(SOURCEMAP) --outfile=./$(DATA)/web/js/admin.js --minify + -$(ESBUILD) --bundle tempts/pwr.ts $(SOURCEMAP) --outfile=./$(DATA)/web/js/pwr.js --minify + -$(ESBUILD) --bundle tempts/form.ts $(SOURCEMAP) --outfile=./$(DATA)/web/js/form.js --minify + -$(ESBUILD) --bundle tempts/setup.ts $(SOURCEMAP) --outfile=./$(DATA)/web/js/setup.js --minify + -$(ESBUILD) --bundle tempts/crash.ts --outfile=./$(DATA)/crash.js --minify $(COPYTS) swagger: @@ -118,6 +126,8 @@ bundle-css: -mkdir -p $(DATA)/web/css $(info bundling css) $(ESBUILD) --bundle css/base.css --outfile=$(DATA)/web/css/bundle.css --external:remixicon.css --minify + npx tailwindcss -i $(DATA)/web/css/bundle.css -o $(DATA)/web/css/bundle.css $(TAILWIND) + # npx postcss -o $(DATA)/web/css/bundle.css $(DATA)/web/css/bundle.css inline: cp html/crash.html $(DATA)/crash.html @@ -125,11 +135,16 @@ inline: node scripts/inline.js root $(DATA) $(DATA)/crash.html $(DATA)/crash.html rm $(DATA)/bundle.css +variants-html: + $(info copying html) + cp -r html $(DATA)/ + $(info adding dark variants to html) + node scripts/missing-colors.js html $(DATA)/html + copy: $(info copying fonts) cp -r node_modules/remixicon/fonts/remixicon.css node_modules/remixicon/fonts/remixicon.woff2 $(DATA)/web/css/ - $(info copying html) - cp -r html $(DATA)/ + $(info copying crash page) mv $(DATA)/crash.html $(DATA)/html/ $(info copying static data) -mkdir -p $(DATA)/web @@ -159,4 +174,4 @@ clean: -rm docs/docs.go docs/swagger.json docs/swagger.yaml go clean -all: configuration npm email typescript bundle-css inline swagger copy compile +all: configuration npm email typescript variants-html bundle-css inline swagger copy compile diff --git a/css/base.css b/css/base.css index 56b0f0c..3c19391 100644 --- a/css/base.css +++ b/css/base.css @@ -1,4 +1,7 @@ -@import "../node_modules/a17t/dist/a17t.css"; +@tailwind base; +@tailwind components; +@tailwind utilities; + @import "remixicon.css"; @import "./modal.css"; @import "./dark.css"; @@ -12,14 +15,39 @@ --border-width-8: 8px; } -.light-theme { +.light { --settings-section-button-filter: 90%; } -.body { +.dark { + --settings-section-button-filter: 80%; +} + +.dark body { background-color: #101010; } +.dark select, .dark option, .dark input { + background: #202020; +} + +html:not(.dark) .card.\@low:not(.\~neutral):not(.\~positive):not(.\~urge):not(.\~warning):not(.\~info):not(.\~critical) { + --color-fill: va(--color-fill); + --color-content: var(--color-content); + --color-accent: var(--color-accent); + --color-muted: var(--color-muted); + background-color: #fff; + color: inherit; +} + +.light-only { + display: none; +} + +.dark-only { + display: initial; +} + .page-container { margin: 5% 20% 5% 20%; } @@ -27,6 +55,7 @@ @media (max-width: 1100px) { .page-container { margin: 2%; + margin-top: 5rem; } } @@ -50,6 +79,8 @@ .banner.header { margin-bottom: var(--spacing-4,1rem); + max-width: calc(100% + 2.2rem); /* no idea why this works */ + margin-left: -1.1rem; } .banner.footer { @@ -70,54 +101,6 @@ div.card:contains(section.banner.footer) { font-size: 2rem; } -.mb-half { - margin-bottom: 0.5rem; -} - -.mb-1 { - margin-bottom: 1rem; -} - -.mb-2 { - margin-bottom: 2rem; -} - -.mt-half { - margin-top: 0.5rem; -} - -.mt-1 { - margin-top: 1rem; -} - -.ml-1 { - margin-left: 1rem; -} - -.ml-half { - margin-left: 0.5rem; -} - -.mr-half { - margin-right: 0.5rem; -} - -.mr-1 { - margin-right: 1rem; -} - -.p-1 { - padding: 1rem; -} - -.pb-1 { - padding-bottom: 1rem; -} - -.pl-1 { - padding-left: 1rem; -} - .al { text-align: left; } @@ -203,15 +186,6 @@ span.sm:not(.heading) { } } -.fr { - float: right; -} - -.monospace { - background-color: inherit; /* so we can use a17t code blocks */ - font-family: Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace; -} - sup.\~critical, .text-critical { color: var(--color-critical-normal-content); } @@ -377,10 +351,8 @@ sup.\~critical, .text-critical { } .settings-section-button { - box-sizing: border-box; width: 100%; height: 2.5rem; - background-color: rgba(0,0,0,0); } .settings-section-button:hover, .settings-section-button:focus { @@ -392,8 +364,6 @@ sup.\~critical, .text-critical { } .settings-section-button.selected { - background-color: var(--color-neutral-normal-fill); - --buton-filter-brightness: var(--settings-section-button-filter); filter: brightness(var(--settings-section-button-filter)) !important; } @@ -421,11 +391,21 @@ select, textarea { -moz-appearance: none; } +html.dark textarea { + background-color: #202020 +} + input { color: inherit; border: 0 solid var(--color-neutral-300); } +table { + color: var(--color-content); +} + + + p.top { margin-top: 0px; } @@ -462,6 +442,8 @@ pre { white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ word-wrap: break-word; /* Internet Explorer 5.5+ */ + background-color: var(--color-content-high) !important; + overflow-x: scroll; } .circle { @@ -543,10 +525,18 @@ div.card:contains(section.banner.footer) { padding: var(--spacing-4, 1rem); } -.button.discord.\!normal { +.button.discord.\@low { background-color: rgba(88, 101, 242,60%); } -.button.discord.\!normal:not(.lang-link) { +.button.discord.\@low:not(.lang-link) { color: rgba(38, 51, 192, 90%); } + +.pb-0i { + padding-bottom: 0px !important +} + +.text-center-i { + text-align: center !important; +} diff --git a/css/dark.css b/css/dark.css index a4e6933..e69de29 100644 --- a/css/dark.css +++ b/css/dark.css @@ -1,91 +0,0 @@ -.dark-theme { - - --settings-section-button-filter: 110%; - - --color-neutral-900: rgba(255, 255, 255, 0.87); - --color-neutral-800: rgba(255, 255, 255, 0.8); - --color-neutral-700: rgba(255, 255, 255, 0.73); - --color-neutral-600: rgba(255, 255, 255, 0.66); - --color-neutral-500: rgb(153, 153, 153); - --color-neutral-400: #383838; - --color-neutral-300: #303030; - --color-neutral-200: #292929; - --color-neutral-100: #242424; - --color-neutral-50: #202020; - --color-neutral-000: #101010; - - --color-critical-900: #fef2f2; - --color-critical-800: #fee2e2; - --color-critical-700: #fecaca; - --color-critical-600: #fca5a5; - --color-critical-500: #f87171; - --color-critical-400: #ef4444; - --color-critical-300: #dc2626; - --color-critical-200: #b91c1c; - --color-critical-100: #991b1b; - --color-critical-50: #7f1d1d; - --color-critical-000: #441313; - - --color-warning-900: #fffbeb; - --color-warning-800: #fef3c7; - --color-warning-700: #fde68a; - --color-warning-600: #fcd34d; - --color-warning-500: #fbbf24; - --color-warning-400: #f59e0b; - --color-warning-300: #d97706; - --color-warning-200: #b45309; - --color-warning-100: #92400e; - --color-warning-50: #783900; - --color-warning-000: #411e01; - - --color-positive-900: #f0fdf4; - --color-positive-800: #dcfce7; - --color-positive-700: #bbf7d0; - --color-positive-600: #86efac; - --color-positive-500: #4ade80; - --color-positive-400: #22c55e; - --color-positive-300: #16a34a; - --color-positive-200: #15803d; - --color-positive-100: #166534; - --color-positive-50: #14532d; - --color-positive-000: #0f2e1b; - - --color-urge-900: #e0ffff; - --color-urge-800: #c0fbff; - --color-urge-700: #a0f4ff; - --color-urge-600: #80e9ff; - --color-urge-500: #60dbfb; - --color-urge-400: #40cbf3; - --color-urge-300: #20b9e9; - --color-urge-200: #00a4dc; /* tab buttons */ - --color-urge-100: #0054bc; - --color-urge-50: #00169a; - --color-urge-000: #050076; - - --color-info-900: #f5f3ff; - --color-info-800: #ede9fe; - --color-info-700: #ddd6fe; - --color-info-600: #c4b5fd; - --color-info-500: #a78bfa; - --color-info-400: #8b5cf6; - --color-info-300: #7c3aed; - --color-info-200: #6d28d9; - --color-info-100: #5b21b6; - --color-info-50: #4c1d95; - --color-info-000: #240e44; - - - --color-neutral-normal-content: #ffffff; -} - -.light-only { - display: none; -} - -.dark-only { - display: initial; -} - -.dark-theme select option { - background: #202020; -} diff --git a/css/dark.js b/css/dark.js new file mode 100644 index 0000000..353aa87 --- /dev/null +++ b/css/dark.js @@ -0,0 +1,351 @@ +var c = { + inherit: 'inherit', + current: 'currentColor', + transparent: 'transparent', + black: '#000', + white: '#fff', + d_neutral: { + 900: "rgba(255, 255, 255, 0.87)", + 800: "rgba(255, 255, 255, 0.8)", + 700: "rgba(255, 255, 255, 0.73)", + 600: "rgba(255, 255, 255, 0.66)", + 500: "rgb(153, 153, 153)", + 400: "#383838", + 300: "#303030", + 200: "#292929", + 100: "#242424", + 50: "#202020", + 000: "#101010" + }, + d_critical: { + 900: "#fef2f2", + 800: "#fee2e2", + 700: "#fecaca", + 600: "#fca5a5", + 500: "#f87171", + 400: "#ef4444", + 300: "#dc2626", + 200: "#b91c1c", + 100: "#991b1b", + 50: "#7f1d1d", + 000: "#441313" + }, + d_warning: { + 900: "#fffbeb", + 800: "#fef3c7", + 700: "#fde68a", + 600: "#fcd34d", + 500: "#fbbf24", + 400: "#f59e0b", + 300: "#d97706", + 200: "#b45309", + 100: "#92400e", + 50: "#783900", + 000: "#411e01" + }, + d_positive: { + 900: "#f0fdf4", + 800: "#dcfce7", + 700: "#bbf7d0", + 600: "#86efac", + 500: "#4ade80", + 400: "#22c55e", + 300: "#16a34a", + 200: "#15803d", + 100: "#166534", + 50: "#14532d", + 000: "#0f2e1b" + }, + d_urge: { + 900: "#e0ffff", + 800: "#c0fbff", + 700: "#a0f4ff", + 600: "#80e9ff", + 500: "#60dbfb", + 400: "#40cbf3", + 300: "#20b9e9", + 200: "#00a4dc", + 100: "#0054bc", + 50: "#00169a", + 000: "#050076" + }, + d_info: { + 900: "#f5f3ff", + 800: "#ede9fe", + 700: "#ddd6fe", + 600: "#c4b5fd", + 500: "#a78bfa", + 400: "#8b5cf6", + 300: "#7c3aed", + 200: "#6d28d9", + 100: "#5b21b6", + 50: "#4c1d95", + 000: "#240e44" + }, + slate: { + 50: '#f8fafc', + 100: '#f1f5f9', + 200: '#e2e8f0', + 300: '#cbd5e1', + 400: '#94a3b8', + 500: '#64748b', + 600: '#475569', + 700: '#334155', + 800: '#1e293b', + 900: '#0f172a' + }, + gray: { + 50: '#f9fafb', + 100: '#f3f4f6', + 200: '#e5e7eb', + 300: '#d1d5db', + 400: '#9ca3af', + 500: '#6b7280', + 600: '#4b5563', + 700: '#374151', + 800: '#1f2937', + 900: '#111827' + }, + zinc: { + 50: '#fafafa', + 100: '#f4f4f5', + 200: '#e4e4e7', + 300: '#d4d4d8', + 400: '#a1a1aa', + 500: '#71717a', + 600: '#52525b', + 700: '#3f3f46', + 800: '#27272a', + 900: '#18181b' + }, + neutral: { + 50: '#fafafa', + 100: '#f5f5f5', + 200: '#e5e5e5', + 300: '#d4d4d4', + 400: '#a3a3a3', + 500: '#737373', + 600: '#525252', + 700: '#404040', + 800: '#262626', + 900: '#171717' + }, + stone: { + 50: '#fafaf9', + 100: '#f5f5f4', + 200: '#e7e5e4', + 300: '#d6d3d1', + 400: '#a8a29e', + 500: '#78716c', + 600: '#57534e', + 700: '#44403c', + 800: '#292524', + 900: '#1c1917' + }, + red: { + 50: '#fef2f2', + 100: '#fee2e2', + 200: '#fecaca', + 300: '#fca5a5', + 400: '#f87171', + 500: '#ef4444', + 600: '#dc2626', + 700: '#b91c1c', + 800: '#991b1b', + 900: '#7f1d1d' + }, + orange: { + 50: '#fff7ed', + 100: '#ffedd5', + 200: '#fed7aa', + 300: '#fdba74', + 400: '#fb923c', + 500: '#f97316', + 600: '#ea580c', + 700: '#c2410c', + 800: '#9a3412', + 900: '#7c2d12' + }, + amber: { + 50: '#fffbeb', + 100: '#fef3c7', + 200: '#fde68a', + 300: '#fcd34d', + 400: '#fbbf24', + 500: '#f59e0b', + 600: '#d97706', + 700: '#b45309', + 800: '#92400e', + 900: '#78350f' + }, + yellow: { + 50: '#fefce8', + 100: '#fef9c3', + 200: '#fef08a', + 300: '#fde047', + 400: '#facc15', + 500: '#eab308', + 600: '#ca8a04', + 700: '#a16207', + 800: '#854d0e', + 900: '#713f12' + }, + lime: { + 50: '#f7fee7', + 100: '#ecfccb', + 200: '#d9f99d', + 300: '#bef264', + 400: '#a3e635', + 500: '#84cc16', + 600: '#65a30d', + 700: '#4d7c0f', + 800: '#3f6212', + 900: '#365314' + }, + green: { + 50: '#f0fdf4', + 100: '#dcfce7', + 200: '#bbf7d0', + 300: '#86efac', + 400: '#4ade80', + 500: '#22c55e', + 600: '#16a34a', + 700: '#15803d', + 800: '#166534', + 900: '#14532d' + }, + emerald: { + 50: '#ecfdf5', + 100: '#d1fae5', + 200: '#a7f3d0', + 300: '#6ee7b7', + 400: '#34d399', + 500: '#10b981', + 600: '#059669', + 700: '#047857', + 800: '#065f46', + 900: '#064e3b' + }, + teal: { + 50: '#f0fdfa', + 100: '#ccfbf1', + 200: '#99f6e4', + 300: '#5eead4', + 400: '#2dd4bf', + 500: '#14b8a6', + 600: '#0d9488', + 700: '#0f766e', + 800: '#115e59', + 900: '#134e4a' + }, + cyan: { + 50: '#ecfeff', + 100: '#cffafe', + 200: '#a5f3fc', + 300: '#67e8f9', + 400: '#22d3ee', + 500: '#06b6d4', + 600: '#0891b2', + 700: '#0e7490', + 800: '#155e75', + 900: '#164e63' + }, + sky: { + 50: '#f0f9ff', + 100: '#e0f2fe', + 200: '#bae6fd', + 300: '#7dd3fc', + 400: '#38bdf8', + 500: '#0ea5e9', + 600: '#0284c7', + 700: '#0369a1', + 800: '#075985', + 900: '#0c4a6e' + }, + blue: { + 50: '#eff6ff', + 100: '#dbeafe', + 200: '#bfdbfe', + 300: '#93c5fd', + 400: '#60a5fa', + 500: '#3b82f6', + 600: '#2563eb', + 700: '#1d4ed8', + 800: '#1e40af', + 900: '#1e3a8a' + }, + indigo: { + 50: '#eef2ff', + 100: '#e0e7ff', + 200: '#c7d2fe', + 300: '#a5b4fc', + 400: '#818cf8', + 500: '#6366f1', + 600: '#4f46e5', + 700: '#4338ca', + 800: '#3730a3', + 900: '#312e81' + }, + violet: { + 50: '#f5f3ff', + 100: '#ede9fe', + 200: '#ddd6fe', + 300: '#c4b5fd', + 400: '#a78bfa', + 500: '#8b5cf6', + 600: '#7c3aed', + 700: '#6d28d9', + 800: '#5b21b6', + 900: '#4c1d95' + }, + purple: { + 50: '#faf5ff', + 100: '#f3e8ff', + 200: '#e9d5ff', + 300: '#d8b4fe', + 400: '#c084fc', + 500: '#a855f7', + 600: '#9333ea', + 700: '#7e22ce', + 800: '#6b21a8', + 900: '#581c87' + }, + fuchsia: { + 50: '#fdf4ff', + 100: '#fae8ff', + 200: '#f5d0fe', + 300: '#f0abfc', + 400: '#e879f9', + 500: '#d946ef', + 600: '#c026d3', + 700: '#a21caf', + 800: '#86198f', + 900: '#701a75' + }, + pink: { + 50: '#fdf2f8', + 100: '#fce7f3', + 200: '#fbcfe8', + 300: '#f9a8d4', + 400: '#f472b6', + 500: '#ec4899', + 600: '#db2777', + 700: '#be185d', + 800: '#9d174d', + 900: '#831843' + }, + rose: { + 50: '#fff1f2', + 100: '#ffe4e6', + 200: '#fecdd3', + 300: '#fda4af', + 400: '#fb7185', + 500: '#f43f5e', + 600: '#e11d48', + 700: '#be123c', + 800: '#9f1239', + 900: '#881337' + } +} + +module.exports = c; diff --git a/css/loader.css b/css/loader.css index 2b7951a..b9c4bfa 100644 --- a/css/loader.css +++ b/css/loader.css @@ -1,6 +1,6 @@ .loader { height: auto; - color: rgba(0, 0, 0, 0); + color: rgba(0, 0, 0, 0) !important; } .loader .dot { diff --git a/go.mod b/go.mod index e1c062d..ff404b4 100644 --- a/go.mod +++ b/go.mod @@ -14,6 +14,7 @@ replace github.com/hrfee/jfa-go/linecache => ./linecache require ( github.com/bwmarrin/discordgo v0.23.2 + github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect github.com/emersion/go-autostart v0.0.0-20210130080809-00ed301c8e9a github.com/fatih/color v1.13.0 github.com/fsnotify/fsnotify v1.5.1 @@ -49,7 +50,7 @@ require ( github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 github.com/swaggo/files v0.0.0-20210815190702-a29dd2bc99b2 github.com/swaggo/gin-swagger v1.3.3 - github.com/swaggo/swag v1.7.6 // indirect + github.com/swaggo/swag v1.7.8 // indirect github.com/technoweenie/multipartstreamer v1.0.1 // indirect github.com/tidwall/sjson v1.2.4 // indirect github.com/ugorji/go v1.2.6 // indirect diff --git a/go.sum b/go.sum index 2d05d0c..6399c2e 100644 --- a/go.sum +++ b/go.sum @@ -24,6 +24,8 @@ github.com/bwmarrin/discordgo v0.23.2 h1:BzrtTktixGHIu9Tt7dEE6diysEF9HWnXeHuoJEt github.com/bwmarrin/discordgo v0.23.2/go.mod h1:c1WtWUGN6nREDmzIpyTp/iD3VYt4Fpx+bVyfBG7JE+M= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -256,6 +258,8 @@ github.com/swaggo/swag v1.6.7/go.mod h1:xDhTyuFIujYiN3DKWC/H/83xcfHp+UE/IzWWampG github.com/swaggo/swag v1.7.4/go.mod h1:zD8h6h4SPv7t3l+4BKdRquqW1ASWjKZgT6Qv9z3kNqI= github.com/swaggo/swag v1.7.6 h1:UbAqHyXkW2J+cDjs5S43MkuYR7a6stB7Am7SK8NBmRg= github.com/swaggo/swag v1.7.6/go.mod h1:7vLqNYEtYoIsD14wXgy9oDS65MNiDANrPtbk9rnLuj0= +github.com/swaggo/swag v1.7.8 h1:w249t0l/kc/DKMGlS0fppNJQxKyJ8heNaUWB6nsH3zc= +github.com/swaggo/swag v1.7.8/go.mod h1:gZ+TJ2w/Ve1RwQsA2IRoSOTidHz6DX+PIG8GWvbnoLU= github.com/technoweenie/multipartstreamer v1.0.1 h1:XRztA5MXiR1TIRHxH2uNxXxaIkKQDeX7m2XsSOlQEnM= github.com/technoweenie/multipartstreamer v1.0.1/go.mod h1:jNVxdtShOxzAsukZwTSw6MDx5eUJoiEBsSvzDU9uzog= github.com/tidwall/gjson v1.10.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= @@ -288,6 +292,7 @@ github.com/writeas/go-strip-markdown v2.0.1+incompatible/go.mod h1:Rsyu10ZhbEK9p github.com/xhit/go-simple-mail/v2 v2.10.0 h1:nib6RaJ4qVh5HD9UE9QJqnUZyWp3upv+Z6CFxaMj0V8= github.com/xhit/go-simple-mail/v2 v2.10.0/go.mod h1:kA1XbQfCI4JxQ9ccSN6VFyIEkkugOm7YiPkA5hKiQn4= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -301,6 +306,7 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3 h1:0es+/5331RGQPcXlMfP+WrnIIS6dNnNRe0WB02W0F4M= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -347,6 +353,7 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= @@ -366,6 +373,7 @@ golang.org/x/tools v0.0.0-20190611222205-d73e1c7e250b/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w= golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/html/404.html b/html/404.html index 0ddd1f9..645420e 100644 --- a/html/404.html +++ b/html/404.html @@ -7,10 +7,12 @@
-

Page not found.

-

- {{ .contactMessage }} -

+
+

Page not found.

+

+ {{ .contactMessage }} +

+
diff --git a/html/admin.html b/html/admin.html index 4d36e0f..f265868 100644 --- a/html/admin.html +++ b/html/admin.html @@ -22,23 +22,23 @@ @@ -46,29 +46,29 @@