From ccabb5395c2b45756351c51feb52b85aeaaff941 Mon Sep 17 00:00:00 2001
From: rattatwinko
Date: Sun, 12 Oct 2025 17:36:11 +0200
Subject: [PATCH] some updates to page loading performance and general
performance.
added a ServiceWorker which caches stuff
---
css/main.css | 27 ++++
css/prism.css | 3 +
html/base/index.html | 86 +++++++-----
html/base/template.html | 127 +++++++++--------
js/post/prism.js | 300 ++++++++++++++++++++++++++++++++++++++++
js/post/sw.js | 32 +++++
markdown/Rotation.md | 7 +-
requirements.txt | Bin 170 -> 206 bytes
webserver.py | 1 +
9 files changed, 483 insertions(+), 100 deletions(-)
create mode 100644 css/prism.css
create mode 100644 js/post/prism.js
create mode 100644 js/post/sw.js
diff --git a/css/main.css b/css/main.css
index 1d1c84c..6b086fd 100644
--- a/css/main.css
+++ b/css/main.css
@@ -8,6 +8,33 @@ body {
background: #fff;
}
+/* Layout foundation: force the page to be full-height and use flex */
+html {
+ height: 100%;
+ box-sizing: border-box;
+}
+*, *::before, *::after { box-sizing: inherit; }
+
+body {
+ min-height: 100vh; /* robust against percentage height issues */
+ display: flex;
+ flex-direction: column;
+ margin: 0;
+ padding: 0;
+}
+
+/* make the main content take remaining space */
+main.container {
+ flex: 1 1 auto; /* grow and shrink as needed */
+ display: block; /* keep existing layout inside main */
+}
+
+/* allow footer to sit at bottom (if content short) */
+footer {
+ margin-top: auto;
+}
+
+
/* Mobile-specific adjustments */
@media (max-width: 768px) {
body {
diff --git a/css/prism.css b/css/prism.css
new file mode 100644
index 0000000..05ed91a
--- /dev/null
+++ b/css/prism.css
@@ -0,0 +1,3 @@
+/* PrismJS 1.30.0
+https://prismjs.com/download#themes=prism-tomorrow&languages=markup+css+clike+javascript+abap+abnf+actionscript+ada+agda+al+antlr4+apacheconf+apex+apl+applescript+aql+arduino+arff+armasm+arturo+asciidoc+aspnet+asm6502+asmatmel+autohotkey+autoit+avisynth+avro-idl+awk+bash+basic+batch+bbcode+bbj+bicep+birb+bison+bnf+bqn+brainfuck+brightscript+bro+bsl+c+csharp+cpp+cfscript+chaiscript+cil+cilkc+cilkcpp+clojure+cmake+cobol+coffeescript+concurnas+csp+cooklang+coq+crystal+css-extras+csv+cue+cypher+d+dart+dataweave+dax+dhall+diff+django+dns-zone-file+docker+dot+ebnf+editorconfig+eiffel+ejs+elixir+elm+etlua+erb+erlang+excel-formula+fsharp+factor+false+firestore-security-rules+flow+fortran+ftl+gml+gap+gcode+gdscript+gedcom+gettext+gherkin+git+glsl+gn+linker-script+go+go-module+gradle+graphql+groovy+haml+handlebars+haskell+haxe+hcl+hlsl+hoon+http+hpkp+hsts+ichigojam+icon+icu-message-format+idris+ignore+inform7+ini+io+j+java+javadoc+javadoclike+javastacktrace+jexl+jolie+jq+jsdoc+js-extras+json+json5+jsonp+jsstacktrace+js-templates+julia+keepalived+keyman+kotlin+kumir+kusto+latex+latte+less+lilypond+liquid+lisp+livescript+llvm+log+lolcode+lua+magma+makefile+markdown+markup-templating+mata+matlab+maxscript+mel+mermaid+metafont+mizar+mongodb+monkey+moonscript+n1ql+n4js+nand2tetris-hdl+naniscript+nasm+neon+nevod+nginx+nim+nix+nsis+objectivec+ocaml+odin+opencl+openqasm+oz+parigp+parser+pascal+pascaligo+psl+pcaxis+peoplecode+perl+php+phpdoc+php-extras+plant-uml+plsql+powerquery+powershell+processing+prolog+promql+properties+protobuf+pug+puppet+pure+purebasic+purescript+python+qsharp+q+qml+qore+r+racket+cshtml+jsx+tsx+reason+regex+rego+renpy+rescript+rest+rip+roboconf+robotframework+ruby+rust+sas+sass+scss+scala+scheme+shell-session+smali+smalltalk+smarty+sml+solidity+solution-file+soy+sparql+splunk-spl+sqf+sql+squirrel+stan+stata+iecst+stylus+supercollider+swift+systemd+t4-templating+t4-cs+t4-vb+tap+tcl+tt2+textile+toml+tremor+turtle+twig+typescript+typoscript+unrealscript+uorazor+uri+v+vala+vbnet+velocity+verilog+vhdl+vim+visual-basic+warpscript+wasm+web-idl+wgsl+wiki+wolfram+wren+xeora+xml-doc+xojo+xquery+yaml+yang+zig */
+code[class*=language-],pre[class*=language-]{color:#ccc;background:0 0;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}
diff --git a/html/base/index.html b/html/base/index.html
index 104379b..20ddb1f 100644
--- a/html/base/index.html
+++ b/html/base/index.html
@@ -1,47 +1,67 @@
-
+
-
+
Auto Index
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+ Available pages:
-
-
-
-
- Available pages:
-
-
+
-
-
-
-
-
+
+
+
+
+
diff --git a/html/base/template.html b/html/base/template.html
index 70332f2..ff19105 100644
--- a/html/base/template.html
+++ b/html/base/template.html
@@ -1,77 +1,82 @@
-
+
-
-
- {{ title }}
-
-
-
-
-
-
+
+
+ {{ title }}
-
-
+
+
+
+
-
-
+
-
-
-
-
-
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
- {{ title }} (Enable JavaScript!)
-
-
-
- Written @{{ now }}
-
-
-
- {{ html_body | safe }}
-
+
+
+
+
+
+ {{ title }} (Enable JavaScript!)
+
+
+
+ Written @{{ now }}
+
+
+
+ {{ html_body | safe }}
+
-