fuzzyworld

fuzzyworld-tools / commit

Remove Why and Principles from nav, convert content to Markdown

829da61a85be30009a97bae625905d394b303dc6 · Pavel Safronov · 2026-10-27 22:05:59 -0700 · parents 9243afcee090

Remove Why and Principles from nav, convert content to Markdown

- Remove Why and Principles from NAV menu in header
- Rename why.md to why-i-left-gitlab.md with updated content
- Convert contribute.html to contribute.md
- Remove principles.html (content now in why-i-left-gitlab.md)
- Update footer to link to Why I left GitLab instead of Why/Principles
- Update fuzzyworld.net index to remove Why/Principles from nav

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
 server/content/contribute.html                  | 35 --------------------
 server/content/contribute.md                    | 43 +++++++++++++++++++++++++
 server/content/principles.html                  | 13 --------
 server/content/{why.md => why-i-left-gitlab.md} |  2 +-
 server/gen.py                                   |  6 ++--
 server/site/index.html                          |  4 +--
 6 files changed, 48 insertions(+), 55 deletions(-)

diff --git a/server/content/contribute.html b/server/content/contribute.html
deleted file mode 100644
index f722966..0000000
--- a/server/content/contribute.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!-- title: How to contribute -->
-<h1>How to contribute</h1>
-<p>Thanks for wanting to help! This site has no accounts, issue tracker or merge requests, so contributions
-    arrive by email. Two ways work, both with plain git.</p>
-
-<h2>1. Share a branch</h2>
-<p>Best for anything bigger than a small fix.</p>
-<ol>
-    <li>Clone the repository: <code>git clone https://code.fuzzyworld.net/&lt;repo&gt;.git</code></li>
-    <li>Make your change on a branch, and push that branch to <strong>any</strong> public git host you like
-        (GitHub, Codeberg, GitLab, your own server).</li>
-    <li>Email the repository URL, the branch name and a short description to
-        <code>contrib-68uq+&lt;repo&gt;@fuzzyworld.net</code>, using the repository's name in place of
-        <code>&lt;repo&gt;</code>.</li>
-</ol>
-<p>I fetch the branch, review it locally, and reply by email.</p>
-
-<h2>2. Email a patch</h2>
-<p>Good for small changes. Commit your change, then create a patch file:</p>
-<pre>git format-patch origin/main</pre>
-<p>and attach the <code>.patch</code> file(s) to an email to <code>contrib-68uq+&lt;repo&gt;@fuzzyworld.net</code>.
-    If you use <code>git send-email</code>, that address works there too.</p>
-
-<h2>Bug reports and ideas</h2>
-<p>No git needed: email <code>bugs-k7q4+&lt;repo&gt;@fuzzyworld.net</code>. Many of the apps have a
-    <strong>report</strong> link that fills in the details for you.</p>
-
-<h2>Before you send</h2>
-<ul>
-    <li>Check the repository's README (and CONTRIBUTING, if it has one) for how to build and test it.</li>
-    <li>One change per branch or patch, please; it makes review much quicker.</li>
-    <li>By contributing you agree that your change is shared under the repository's license.</li>
-</ul>
-
-<p><a href="/why/">Why there are no merge requests here</a></p>
diff --git a/server/content/contribute.md b/server/content/contribute.md
new file mode 100644
index 0000000..4ccf557
--- /dev/null
+++ b/server/content/contribute.md
@@ -0,0 +1,43 @@
+---
+title: How to contribute
+---
+
+# How to contribute
+
+Thanks for wanting to help! This site has no accounts, issue tracker or merge requests, so contributions
+arrive by email. Two ways work, both with plain git.
+
+## 1. Share a branch
+
+Best for anything bigger than a small fix.
+
+1. Clone the repository: `git clone https://code.fuzzyworld.net/<repo>.git`
+2. Make your change on a branch, and push that branch to **any** public git host you like
+   (GitHub, Codeberg, GitLab, your own server).
+3. Email the repository URL, the branch name and a short description to
+   `contrib-68uq+<repo>@fuzzyworld.net`, using the repository's name in place of `<repo>`.
+
+I fetch the branch, review it locally, and reply by email.
+
+## 2. Email a patch
+
+Good for small changes. Commit your change, then create a patch file:
+
+```
+git format-patch origin/main
+```
+
+and attach the `.patch` file(s) to an email to `contrib-68uq+<repo>@fuzzyworld.net`.
+If you use `git send-email`, that address works there too.
+
+## Bug reports and ideas
+
+No git needed: email `bugs-k7q4+<repo>@fuzzyworld.net`. Many of the apps have a **report** link that fills in the details for you.
+
+## Before you send
+
+- Check the repository's README (and CONTRIBUTING, if it has one) for how to build and test it.
+- One change per branch or patch, please; it makes review much quicker.
+- By contributing you agree that your change is shared under the repository's license.
+
+[Why there are no merge requests here](/why-i-left-gitlab/)
diff --git a/server/content/principles.html b/server/content/principles.html
deleted file mode 100644
index 1d3b3ae..0000000
--- a/server/content/principles.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- title: Principles -->
-<h1>Principles</h1>
-<h2>What's made with AI is shared</h2>
-<p>Things made with AI should be shared freely with the world. The code and apps here were made with
-    AI, so they are MIT-licensed: use them, change them, share them.</p>
-<p>My conversations with the AI are different. My words and my way of working are mine. I publish a
-    conversation only when I choose to, I can take that permission back, and nobody may copy my words or
-    my style of work without my express permission.</p>
-<p class="meta">Copyright protects my words. It generally doesn't protect a style or a way of working, so
-    the last part is a statement of my terms and wishes, not something a license can enforce.</p>
-<h2>No sign-in, no limits</h2>
-<p>Everything here is static files: no accounts, no rate limits, nothing that runs code from a
-    repository. See <a href="/why/">why this site exists</a>.</p>
diff --git a/server/content/why.md b/server/content/why-i-left-gitlab.md
similarity index 98%
rename from server/content/why.md
rename to server/content/why-i-left-gitlab.md
index 1c4a584..902e5b7 100644
--- a/server/content/why.md
+++ b/server/content/why-i-left-gitlab.md
@@ -1,4 +1,4 @@
-title: Why this site exists
+title: Why I left GitLab
 
 # Why I left GitLab
 
diff --git a/server/gen.py b/server/gen.py
index b0f5795..518f4b5 100755
--- a/server/gen.py
+++ b/server/gen.py
@@ -143,8 +143,7 @@ def url(*parts):
 HOME_URL = "https://fuzzyworld.net"
 # Site-wide navigation, in the header of every page on both sites: (section, label, site, path).
 NAV = [("code", "Code", "code", "/"), ("apps", "Apps", "apps", "/"), ("ci", "CI", "code", "/ci/"),
-       ("contribute", "Contribute", "code", "/contribute/"), ("why", "Why", "code", "/why/"),
-       ("principles", "Principles", "code", "/principles/")]
+       ("contribute", "Contribute", "code", "/contribute/")]
 SITE_URLS = {"code": BASE_URL, "apps": APPS_URL}
 
 
@@ -167,8 +166,7 @@ def page(title, body, crumbs=None, view=None, site="code", refresh=None, section
               f'<a href="{site_link("code", "/", site)}">Code: all repositories</a>'
               f'<a href="{site_link("apps", "/", site)}">Apps</a>'
               f'<a href="{site_link("code", "/ci/", site)}">CI: what is building</a></div>'
-              f'<div><h2>About this site</h2><a href="{site_link("code", "/why/", site)}">Why it exists</a>'
-              f'<a href="{site_link("code", "/principles/", site)}">Principles</a>'
+              f'<div><h2>About this site</h2><a href="{site_link("code", "/why-i-left-gitlab/", site)}">Why I left GitLab</a>'
               f'<a href="{site_link("code", "/contribute/", site)}">Contribute and report bugs</a></div>'
               f'<div><h2>Built with</h2><a href="{site_link("code", "/fuzzyworld-tools/", site)}">fuzzyworld-tools</a>'
               '<span>Static files only: no accounts, no sign-in, no rate limits. MIT-licensed.</span></div>'
diff --git a/server/site/index.html b/server/site/index.html
index 93f59aa..569ff6e 100644
--- a/server/site/index.html
+++ b/server/site/index.html
@@ -7,7 +7,7 @@
 <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>
+<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></nav></div></header>
 <main>
 <h1>Welcome to Pavel Safronov's website</h1>
 <p>I'm a software engineer who dabbles in fiction writing.</p>
@@ -50,6 +50,6 @@
 
 <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>
+<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-i-left-gitlab/">Why I left GitLab</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>