rename: kafka → samsa
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 11s
Mirror to GitHub / mirror (push) Failing after 5s
Tests / test (push) Successful in 42s

Full project rename from kafka to samsa (after Gregor Samsa, who
woke one morning from uneasy dreams to find himself transformed).

- Module: github.com/metamorphosis-dev/kafka → samsa
- Binary: cmd/kafka/ → cmd/samsa/
- CSS: kafka.css → samsa.css
- UI: all 'kafka' product names, titles, localStorage keys → samsa
- localStorage keys: kafka-theme → samsa-theme, kafka-engines → samsa-engines
- OpenSearch: ShortName, LongName, description, URLs updated
- AGPL headers: 'kafka' → 'samsa'
- Docs, configs, examples updated
- Cache key prefix: kafka: → samsa:
This commit is contained in:
Franz Kafka 2026-03-22 23:44:55 +00:00
parent c91908a427
commit 8e9aae062b
70 changed files with 185 additions and 184 deletions

View file

@ -4,9 +4,9 @@
**Goal:** A preferences popover panel (top-right on desktop, bottom sheet on mobile) that lets users set theme, enabled engines, safe search, and default format. All changes auto-save to `localStorage` and apply immediately to the DOM.
**Architecture:** Pure client-side JS + CSS added alongside existing templates. No Go changes. Settings persist via `localStorage` key `kafka_prefs`. Theme applies via `data-theme` attribute on `<html>`.
**Architecture:** Pure client-side JS + CSS added alongside existing templates. No Go changes. Settings persist via `localStorage` key `samsa_prefs`. Theme applies via `data-theme` attribute on `<html>`.
**Tech Stack:** Vanilla JS (no framework), existing `kafka.css` custom properties, HTMX for search.
**Tech Stack:** Vanilla JS (no framework), existing `samsa.css` custom properties, HTMX for search.
---
@ -15,7 +15,7 @@
| Action | File |
|--------|------|
| Create | `internal/views/static/js/settings.js` |
| Modify | `internal/views/static/css/kafka.css` |
| Modify | `internal/views/static/css/samsa.css` |
| Modify | `internal/views/templates/base.html` |
| Modify | `internal/views/templates/index.html` |
| Modify | `internal/views/templates/results.html` |
@ -28,11 +28,11 @@
## Task 1: CSS — Popover, toggles, bottom sheet
**Files:**
- Modify: `internal/views/static/css/kafka.css`
- Modify: `internal/views/static/css/samsa.css`
- [ ] **Step 1: Add CSS for popover, triggers, toggles, bottom sheet**
Append the following to `kafka.css`:
Append the following to `samsa.css`:
```css
/* ============================================
@ -305,7 +305,7 @@ Expected: all pass
- [ ] **Step 3: Commit**
```bash
git add internal/views/static/css/kafka.css
git add internal/views/static/css/samsa.css
git commit -m "feat(settings): add popover, toggle, and bottom-sheet CSS"
```
@ -335,7 +335,7 @@ var DEFAULT_PREFS = {
format: 'html'
};
var STORAGE_KEY = 'kafka_prefs';
var STORAGE_KEY = 'samsa_prefs';
// ── Persistence ──────────────────────────────────────────────────────────────
@ -619,7 +619,7 @@ In `base.html`, update the `<body>` to:
<body class="{{if .Query}}search_on_results{{end}}">
{{if .ShowHeader}}
<header class="site-header">
<span class="site-title">kafka</span>
<span class="site-title">samsa</span>
<!-- Desktop trigger (hidden on mobile) -->
<button id="settings-trigger" class="settings-trigger settings-trigger-desktop"
aria-label="Preferences" aria-expanded="false" aria-controls="settings-popover">&#9881;</button>
@ -633,7 +633,7 @@ In `base.html`, update the `<body>` to:
{{template "content" .}}
</main>
<footer>
<p>Powered by <a href="https://git.ashisgreat.xyz/penal-colony/kafka">kafka</a> — a privacy-respecting, open metasearch engine</p>
<p>Powered by <a href="https://git.ashisgreat.xyz/penal-colony/samsa">samsa</a> — a privacy-respecting, open metasearch engine</p>
</footer>
<script src="/static/js/settings.js"></script>
<div id="settings-popover" data-open="false" role="dialog" aria-label="Preferences" aria-modal="true">
@ -699,7 +699,7 @@ The `value` is populated by `syncEngineInput(prefs)` on page load. When the form
- [ ] **Step 2: Verify existing search works**
Run: `go run ./cmd/kafka -config config.toml`
Run: `go run ./cmd/samsa -config config.toml`
Open: `http://localhost:8080`
Search for "golang" — results should appear as normal.
@ -716,7 +716,7 @@ git commit -m "feat(settings): add hidden engines input to search forms"
- [ ] **Step 1: Start server**
Run: `go run ./cmd/kafka -config config.toml`
Run: `go run ./cmd/samsa -config config.toml`
Open: `http://localhost:8080`
- [ ] **Step 2: Verify gear icon and panel**