Commit graph

69 commits

Author SHA1 Message Date
sjat
9253d1ca0d docs(services): regenerate index after moving coursemanagement out of docs
All checks were successful
Build docs site / build (push) Successful in 51s
Build slides / build (push) Successful in 1m9s
The service note was moved to notes/coursemanagement.md but the generated
index still listed it, which fails the CI drift check.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 14:19:11 +02:00
sjat
4f13962812 Moved a note out of docs
Some checks failed
Build docs site / build (push) Failing after 51s
Build slides / build (push) Successful in 1m13s
2026-06-24 14:15:27 +02:00
sjat
b0c933011b fix(services): commit regenerated services index after coursemanagement fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 13:56:15 +02:00
sjat
15666e0470 feat(rack): populate rack01 and wire gen_rack into make targets
Add rack placement frontmatter to mf00–mf04, fix pre-existing schema
error in docs/services/coursemanagement.md (missing kind/name fields),
extend Makefile docs-index and docs-check targets to also run gen_rack,
add test target, generate rack01.md and rack01-elevation.svg.

Positions are provisional placeholders to prove the pipeline; correct when mounting.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 13:56:09 +02:00
sjat
6b06550447 docs(hardware): record DDR4-2666 RAM type for mf01/mf02, fix mf00 status
Some checks failed
Build docs site / build (push) Failing after 45s
Build slides / build (push) Successful in 1m13s
Add ram_type (DDR4-2666 non-ECC UDIMM) to mf01 and mf02 frontmatter, and
set mf00's placeholder status to staging so the overview index regenerates.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 20:42:13 +02:00
22749de762 first cut of a VPN presentation
Some checks failed
Build docs site / build (push) Failing after 40s
Build slides / build (push) Successful in 1m6s
2026-06-01 16:10:26 +02:00
sjat
df4637e269 test: deliberately break CI to verify ntfy alert (will revert)
Some checks failed
Build docs site / build (push) Failing after 39s
Build slides / build (push) Successful in 1m2s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 11:46:44 +02:00
sjat
7b59a9c1b8 docs(hardware): drop the model field
All checks were successful
Build docs site / build (push) Successful in 43s
Build slides / build (push) Successful in 1m6s
Removed from per-host frontmatter, the index column, and the Specs table.
Model values kept churning (case manufacturer vs. "custom") without adding
useful information.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 10:37:04 +02:00
sjat
c0b6986984 Updated notes on mf00
All checks were successful
Build docs site / build (push) Successful in 43s
Build slides / build (push) Successful in 1m1s
2026-05-27 10:35:04 +02:00
sjat
41c4834dbd fix(docs-ci): unblock build by tolerating "?" placeholders in hardware frontmatter
All checks were successful
Build docs site / build (push) Successful in 46s
Build slides / build (push) Successful in 1m7s
mf00.md used bare ? in YAML (a complex-key indicator), breaking gen_overview.py.
Quoted the placeholders and taught fmt_cpu/fmt_ram/fmt_storage/fmt_nic to render
string values literally so unknown specs show as "?" in both the per-host Specs
table and the hardware index. Also regenerates docs/hardware/index.md to clear
the accumulated drift (mf02 16 GB, mf04 entry, mf00 custom).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 10:31:46 +02:00
sjat
c50a3b5acf Updated hardware descriptions to custom instead of case manufactorers
Some checks failed
Build docs site / build (push) Failing after 28s
Build slides / build (push) Successful in 48s
2026-05-20 09:18:48 +02:00
sjat
69d1f16a69 Added mf04 - an old stationary. Details needs updating.
Some checks failed
Build docs site / build (push) Failing after 28s
Build slides / build (push) Successful in 48s
2026-05-19 17:43:18 +02:00
sjat
10d37f6ad2 Upgraded mf02 to 16gb ram
Some checks failed
Build docs site / build (push) Failing after 34s
Build slides / build (push) Successful in 57s
2026-05-19 17:29:39 +02:00
sjat
9017a91ae2 docs(index): list Services alongside Hardware on the home page
All checks were successful
Build docs site / build (push) Successful in 30s
Build slides / build (push) Successful in 49s
Sidebar nav had Services after the previous commit, but the home page
body still only mentioned Hardware and House rules. Add a matching
bullet so visitors land somewhere obvious.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 17:54:24 +02:00
sjat
1288f3972b Updated forgejo text
All checks were successful
Build docs site / build (push) Successful in 31s
Build slides / build (push) Successful in 49s
2026-05-18 17:52:31 +02:00
sjat
c743416ded feat(docs): add services category alongside hardware
All checks were successful
Build docs site / build (push) Successful in 32s
Build slides / build (push) Successful in 52s
Mirror the auto-indexed per-host pattern for a new docs/services/
category, seeded with the six things currently deployed on or around
makerfloss.eu: docs, slides, forgejo, gandi-dns, marp, mermaid.

Generator/hook generalisation:
- scripts/gen_overview.py: replace the hardcoded `hostname` check
  with a configurable `key_field` (default: hostname). Add a generic
  `key-link` column kind (replaces the old `hostname-link`) and a
  `url-link` kind that renders the value as a clickable link.
- scripts/overview_config.yml: declare hardware's key_field, then add
  a `services` block (key_field=name, its own kind/status enums,
  grouped by kind for the index table).
- scripts/mkdocs_hooks.py: route by `page.file.src_uri` so each
  hardware/* page gets a "Specs" table and each services/* page gets
  a "Service" table; both share the helpers in gen_overview.

Wiring:
- Makefile: docs-index and docs-check now regenerate and drift-check
  both indices.
- .forgejo/workflows/docs.yml: same on the CI runner.
- mkdocs.yml: add Services to nav.
- README.md, CLAUDE.md: list services/ in the repo-layout block.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 17:48:15 +02:00
sjat
16f56fd961 docs: standardise filenames to ASCII kebab-case + ISO date prefix
All checks were successful
Build docs site / build (push) Successful in 30s
Build slides / build (push) Successful in 48s
Adopt one filename convention everywhere except hardware host pages
(those are pinned to their hostnames by the index validator):

  - ASCII lowercase
  - kebab-case word separator
  - dated docs: YYYY-MM-DD-label.md (hyphen between date and label)
  - English regardless of content language

Renames:
  docs/makerFLOSS_house_rules.md                        -> docs/house-rules.md
  docs/infrastruktur/                                   -> docs/infrastructure/
  docs/infrastructure/vps-og-dns.md                     -> docs/infrastructure/vps-and-dns.md
  docs/presentations/2026-05-11_messaging.md            -> docs/presentations/2026-05-11-messaging.md
  docs/presentations/2026-05-11_SoMe-taxonomi.md        -> docs/presentations/2026-05-11-social-media-taxonomy.md
  notes/todo/2026-04-14_todo.md                         -> notes/todo/2026-04-14-todo.md
  notes/todo/OM_services.md                             -> notes/todo/om-services.md
  notes/todo/indkøbsliste.md                            -> notes/todo/wishlist.md
  notes/communications/2026-03-16_facebookpost.md       -> notes/communications/2026-03-16-facebook-post.md

Other touches:
- Document the convention in CLAUDE.md under Working Norms.
- Refresh the stale Repository Structure block in CLAUDE.md to reflect
  the docs/ vs notes/ split introduced in f6d589e.
- Update the House rules link in docs/index.md and the nav entry in
  mkdocs.yml to the new house-rules.md path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 17:07:26 +02:00
sjat
f6d589edec docs: split published site (docs/) from internal notes (notes/)
All checks were successful
Build docs site / build (push) Successful in 31s
Build slides / build (push) Successful in 49s
The docs/ tree previously conflated published-site content (3 pages
were in mkdocs.yml nav) with working notes (~18 files that just sat
in the repo). Restructure so each tree means one thing:

- docs/         everything here is built and shipped to docs.makerfloss.eu.
                Adds docs/presentations/ for the two Marp decks
                previously living under docs/møder/.
- notes/        repo-only working material, not built. Contains
                meetings/, todo/, dev/ (was docs/superpowers/), and
                communications/ (the launch Facebook post).
- sandbox/      test-mermaid.md, the Marp/Mermaid pipeline sandbox.

Other touches:
- Drop "_noter" suffix on meeting filenames; drop "_presentation"
  from the messaging deck's basename for symmetry with SoMe-taxonomi.
- Update CLAUDE.md and docs/index.md path references.
- Drop the now-redundant --exclude-dir=superpowers from
  build-slides.sh since superpowers/ is no longer under docs/.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 16:53:27 +02:00
sjat
f401f98d47 docs(todo): refresh OM_services and indkøbsliste
All checks were successful
Build docs site / build (push) Successful in 31s
Build slides / build (push) Successful in 51s
- Add 'touch display med kalender etc.' to the OM services wishlist.
- Reset indkøbsliste into an empty wish/get list ('Ønske/skaffe-liste').

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 16:21:31 +02:00
sjat
9310396fac docs: streamline todos and remove fit-test sandboxes
- Delete two stale single-meeting todos: 2026-03-16_todo.md and 2026-05-05.md.
- Rename `2026-04-14 TODO.md` -> `2026-04-14_todo.md` to match the
  underscore convention used by the other dated files, and update the
  CLAUDE.md reference.
- Remove the two Marp/CSS fit-test sandboxes (labdesign-fit-test.md
  and 2026-05-11_messaging-presentation-fit-test.md); the responsive
  experiments were never folded back into the canonical decks.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 16:21:26 +02:00
sjat
b9722f082f feat(docs): render Specs table on each hardware host page
All checks were successful
Build docs site / build (push) Successful in 30s
Build slides / build (push) Successful in 51s
- Add scripts/mkdocs_hooks.py: on_page_markdown hook that prepends
  `# {hostname}` + a Specs table built from the YAML frontmatter.
  Reuses fmt_cpu/fmt_ram/fmt_storage/fmt_nic from gen_overview.py so
  the host page and the index table stay in sync.
- Wire the hook into mkdocs.yml.
- Demote `# Notes` / `# ToDo` to `##` in the five host source files so
  each rendered page has a single H1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 15:24:56 +02:00
sjat
03b2430e7a fix(docs-ci): unblock hardware index regeneration
All checks were successful
Build docs site / build (push) Successful in 31s
Build slides / build (push) Successful in 54s
- Add `staging` to allowed status enum so mfXX hosts validate.
- fmt_nic and fmt_storage now accept lists (mf00 has 3 NICs and 4 drives).
- Rename makerfloss.md -> makerfloss.eu.md so filename matches the FQDN.
- Regenerate docs/hardware/index.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 15:14:46 +02:00
sjat
70cb6759bd Added hardware docs.
Some checks failed
Build docs site / build (push) Failing after 32s
Build slides / build (push) Successful in 56s
2026-05-18 15:07:30 +02:00
sjat
da19ce1bef Revert "fix(docs-ci): install nodejs in python image — actions/checkout needs node"
This reverts commit 3fe690edf0.
2026-05-17 21:17:41 +02:00
Claude
3fe690edf0 fix(docs-ci): install nodejs in python image — actions/checkout needs node
Some checks failed
Build docs site / build (push) Successful in 30s
Build slides / build (push) Has been cancelled
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 21:17:06 +02:00
sjat
e5c8e86708 Revert "fix(docs-ci): install nodejs in python image — actions/checkout needs node"
This reverts commit d51d68abca.
2026-05-17 21:17:06 +02:00
Claude
d51d68abca fix(docs-ci): install nodejs in python image — actions/checkout needs node
All checks were successful
Build docs site / build (push) Successful in 31s
Build slides / build (push) Successful in 53s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 21:12:42 +02:00
sjat
6b1a61461b feat(docs): MkDocs Material site + auto-generated hardware overview
Bootstraps an MkDocs Material documentation site (rendered to
docs.makerfloss.eu by the Forgejo Actions runner). The first feature
is an auto-generated hardware overview built from per-host YAML
frontmatter blocks under docs/hardware/.

- mkdocs.yml, requirements.txt: MkDocs Material 9.5 + pyyaml
- Makefile: docs-index | docs-build | docs-serve | docs-check
- scripts/gen_overview.py: stdlib + pyyaml generator, deterministic and
  offline. Reads scripts/overview_config.yml — category-driven so
  services/vms can plug in later without touching the script.
- scripts/overview_config.yml: hardware schema and index layout
- docs/hardware/{makerfloss,fisi,tembo}.md: 3 sample entries
- docs/hardware/index.md: GENERATED, committed (CI fails on drift)
- docs/index.md: site landing page
- .forgejo/workflows/docs.yml: drift-check + mkdocs build --strict +
  rsync site/ to /srv/docs-makerfloss/html on push to main
- .gitignore: site/, .venv, __pycache__

Schema:
- hostname, kind, status (required; kind/status are enums)
- model, location, cpu, cpu_cores, cpu_threads, ram_gb, storage_gb,
  storage_type (enum), storage_notes, nic_gbps (all optional)
- Filename stem MUST equal hostname (enforced by generator)
- Extra optional fields are accepted silently and live on the per-page

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 21:10:58 +02:00
sjat
c6a284ee1f Updated fit test 2026-05-11 12:50:38 +02:00
sjat
b5d882415c test: demo slide fit-to-screen options 4+5 on copies
Adds -fit-test copies of the labdesign and messaging decks that apply
container-query font sizing (option 5) and a max-height cap on mermaid
SVGs (option 4) so we can compare overflow behavior side-by-side
against the originals.

Includes a comment explaining why option 2 (custom canvas size) cannot
be demoed inline and would require registering a custom theme via
marp.config.mjs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 11:12:23 +02:00
sjat
fa7fd32dcd Updated messaging deck 2026-05-10 21:56:22 +02:00
sjat
6688ad0a59 fix: split long slides and auto-fit diagrams in labdesign
- Add .mermaid svg CSS to scale diagrams to fit slide bounds
- Split Requirements into Requirements+Details / Constraints
- Split Proposals into Short term / Midterm
- Switch Lab Diagram to graph LR (left-to-right fits the
  Internet→VPS→Firewall→Lab flow and uses vertical space better)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 21:27:49 +02:00
sjat
d310cad787 fix: replace ASCII art Big Picture with proper markdown tables
Two 4-column tables replace the box-drawing character grid, which
rendered poorly in the gaia theme's proportional font. Dense class
applied to keep both tables within slide bounds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 21:18:11 +02:00
sjat
9cc4ab12a8 Removed AI entry from house rules 2026-05-10 19:58:24 +02:00
sjat
19c99e31db Updated houserules 2026-05-10 19:54:22 +02:00
sjat
7503eb409e fix: prevent table overflow across messaging and SoMe decks
Messaging deck:
- Slide 5: remove redundant E2EE column (all apps have it), add italic note
- Resources: shorten meshtastic link text, apply .dense class
- Add .dense CSS class (0.5em) for slides that need extra reduction

SoMe deck:
- Apply .dense class to The Categories and Messaging slides (7 rows each)
- Add .dense CSS class definition

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 19:31:18 +02:00
sjat
48a72de10e docs: clarify language and fix grammar in house rules
- Fix brake → break
- Fix gatekeep → gatekeeping, everybody → everyone
- Cleaner prose throughout, consistent punctuation in lists
- non-FLOSS → proprietary software (more universally understood)
- Shorten "Licenses for what we build" → "Licenses"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 19:14:23 +02:00
sjat
0403c9098e fix: typo lightwieght → lightweight 2026-05-10 19:12:38 +02:00
sjat
48cfecae39 docs: sync house rules slide with CLAUDE.md working norms
- Language rule updated: adds commits, changes Danish exception to
  meeting notes (was: service UIs)
- Add Git norms: trunk-based, feature branches, simple messages
- Add AI policy: allowed but reviewed, no secrets in commits
- License: FLOSS by default (was: MIT by default)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 19:12:19 +02:00
sjat
808dd02cc5 fix: reduce table font size to prevent overflow on slides
Tables with 6-9 rows overflowed the 720px slide height and scroll
events were captured by Bespoke.js for slide navigation instead.
0.65em with tighter padding keeps all tables within bounds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 19:00:22 +02:00
sjat
ed0d4ec751 feat: replace ASCII diagrams with mermaid in messaging deck
Signal Under the Hood: sequence diagram shows the message path and
what the server can/cannot see, clearer than ASCII art.

Matrix Federation: graph shows client→homeserver→federation topology,
replacing the ASCII box diagram.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 18:51:48 +02:00
sjat
7b045979a5 test: add mermaid pipeline test slide 2026-05-10 17:40:37 +02:00
sjat
f20a52268a docs: add mermaid pipeline implementation plan
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 17:39:35 +02:00
sjat
5b37a54056 docs: add mermaid pipeline design spec
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 17:37:46 +02:00
abc2a9c300 reverting changes 2026-05-10 12:21:09 +02:00
2459b4c680 trying to get mermaid diagrams to work 2026-05-10 12:18:02 +02:00
0a5d0a4677 first cut at a SOMe taxonomi 2026-05-10 12:11:55 +02:00
8e4a325d6a template slides for SoMe 2026-05-10 12:00:50 +02:00
3488007967 made it into a slide show 2026-05-10 11:49:48 +02:00
f5fa9a78a5 made diagrams better 2026-05-10 11:41:22 +02:00