fuzzyworld

fuzzyworld-tools / commit

Unify fuzzyworld.net header/footer with code/apps sites

e8783badb693a137c029593c55319a991bc13ca6 · Pavel Safronov · 2026-10-27 21:28:34 -0700 · parents f21674ccd649

Unify fuzzyworld.net header/footer with code/apps sites

- Add index.html for fuzzyworld.net with shared header/footer
- Copy image assets (favicon.ico, linkedin.png, calendar.png, github.png, gitlab.png)
- Update install.sh to deploy index.html and images to fuzzyworld.net
- All sites now share the same navigation structure

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
 server/install.sh        |   5 +++--
 server/site/calendar.png | Bin 0 -> 16060 bytes
 server/site/favicon.ico  | Bin 0 -> 6063 bytes
 server/site/github.png   | Bin 0 -> 13104 bytes
 server/site/gitlab.png   | Bin 0 -> 19378 bytes
 server/site/index.html   |  55 +++++++++++++++++++++++++++++++++++++++++++++++
 server/site/linkedin.png | Bin 0 -> 8794 bytes
 7 files changed, 58 insertions(+), 2 deletions(-)

diff --git a/server/install.sh b/server/install.sh
index a394c8a..8f8fcc4 100755
--- a/server/install.sh
+++ b/server/install.sh
@@ -33,9 +33,10 @@ cp ~/fw/tools/server/site/_shared.css ~/fw/tools/server/site/_icons.css ~/fw/too
 chmod 644 "$apps"/_shared.css "$apps"/_icons.css "$apps"/style.css
 # Main fuzzyworld.net site
 main_site=~/fuzzyworld.net
-cp ~/fw/tools/server/site/main.css "$main_site/"
+cp ~/fw/tools/server/site/index.html ~/fw/tools/server/site/main.css "$main_site/"
 cp ~/fw/tools/server/site/_shared.css ~/fw/tools/server/site/_icons.css "$main_site/"
-chmod 644 "$main_site"/main.css "$main_site"/_shared.css "$main_site"/_icons.css
+cp ~/fw/tools/server/site/favicon.ico ~/fw/tools/server/site/linkedin.png ~/fw/tools/server/site/calendar.png ~/fw/tools/server/site/github.png ~/fw/tools/server/site/gitlab.png "$main_site/"
+chmod 644 "$main_site"/index.html "$main_site"/main.css "$main_site"/_shared.css "$main_site"/_icons.css "$main_site"/favicon.ico "$main_site"/linkedin.png "$main_site"/calendar.png "$main_site"/github.png "$main_site"/gitlab.png
 ~/bin/fw install-hooks
 ~/bin/fw apps-index
 ~/bin/fw content
diff --git a/server/site/calendar.png b/server/site/calendar.png
new file mode 100644
index 0000000..cbbd27d
Binary files /dev/null and b/server/site/calendar.png differ
diff --git a/server/site/favicon.ico b/server/site/favicon.ico
new file mode 100644
index 0000000..4918bd7
Binary files /dev/null and b/server/site/favicon.ico differ
diff --git a/server/site/github.png b/server/site/github.png
new file mode 100644
index 0000000..b2f83db
Binary files /dev/null and b/server/site/github.png differ
diff --git a/server/site/gitlab.png b/server/site/gitlab.png
new file mode 100644
index 0000000..983cd85
Binary files /dev/null and b/server/site/gitlab.png differ
diff --git a/server/site/index.html b/server/site/index.html
new file mode 100644
index 0000000..93f59aa
--- /dev/null
+++ b/server/site/index.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<html lang="en">
+<head>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<title>Fuzzy World</title>
+<link rel="stylesheet" href="/main.css">
+</head>
+<body>
+<header class="site"><div class="bar"><a class="brand" href="/">fuzzyworld</a><nav class="site-nav" aria-label="Site"><a href="https://code.fuzzyworld.net/">Code</a><a href="https://apps.fuzzyworld.net/">Apps</a><a href="https://code.fuzzyworld.net/ci/">CI</a><a href="https://code.fuzzyworld.net/contribute/">Contribute</a><a href="https://code.fuzzyworld.net/why/">Why</a><a href="https://code.fuzzyworld.net/principles/">Principles</a></nav></div></header>
+<main>
+<h1>Welcome to Pavel Safronov's website</h1>
+<p>I'm a software engineer who dabbles in fiction writing.</p>
+
+<h2>Links</h2>
+<ul class="list-vertical">
+  <li>
+    <img src="/linkedin.png" class="small-logo" alt="" />
+    <a href="https://www.linkedin.com/in/psafronov/">LinkedIn</a>
+  </li>
+  <li>
+    <img src="/calendar.png" class="small-logo" alt="" />
+    <a href="https://calendly.com/pavel-safronov/">Schedule a meeting with me using Calendly</a>
+  </li>
+  <li>
+    <img src="/favicon.ico" class="small-logo" alt="" />
+    <a href="https://code.fuzzyworld.net/">Code (personal)</a>
+  </li>
+  <li>
+    <img src="/favicon.ico" class="small-logo" alt="" />
+    <a href="https://apps.fuzzyworld.net/">Apps (personal)</a>
+  </li>
+  <li>
+    <img src="/github.png" class="small-logo" alt="" />
+    <a href="https://github.com/PavelSafronov">GitHub (work)</a>
+  </li>
+  <li>
+    <img src="/favicon.ico" class="small-logo" alt="" />
+    <a href="http://til.fuzzyworld.net/">TIL Blog</a>
+  </li>
+  <li>
+    <img src="/favicon.ico" class="small-logo" alt="" />
+    <a href="http://blog.fuzzyworld.net/">Fiction Blog</a>
+  </li>
+  <li>
+    <script type='text/javascript' src='https://storage.ko-fi.com/cdn/widget/Widget_2.js'></script>
+    <script type='text/javascript'>kofiwidget2.init('Support me on Ko-fi', '#72a4f2', 'Q5Q01YFWPW'); kofiwidget2.draw();</script>
+  </li>
+</ul>
+
+<h3><a href="/projects/">My projects</a></h3>
+</main>
+<footer class="site"><div class="cols"><div><h2>fuzzyworld</h2><a href="/">fuzzyworld.net</a><a href="https://code.fuzzyworld.net/">Code: all repositories</a><a href="https://apps.fuzzyworld.net/">Apps</a><a href="https://code.fuzzyworld.net/ci/">CI: what is building</a></div><div><h2>About this site</h2><a href="https://code.fuzzyworld.net/why/">Why it exists</a><a href="https://code.fuzzyworld.net/principles/">Principles</a><a href="https://code.fuzzyworld.net/contribute/">Contribute and report bugs</a></div><div><h2>Built with</h2><a href="https://code.fuzzyworld.net/fuzzyworld-tools/">fuzzyworld-tools</a><span>Static files only: no accounts, no sign-in, no rate limits. MIT-licensed.</span></div></div></footer>
+</body>
+</html>
diff --git a/server/site/linkedin.png b/server/site/linkedin.png
new file mode 100644
index 0000000..9145b3b
Binary files /dev/null and b/server/site/linkedin.png differ