Die Website sag-es-besser.de ist sehr sorgfältig konzipiert und bemüht sich um einen differenzierten, nicht-belehrenden Ton („keine Verbotsliste“, „Selbstbezeichnung schlägt Wörterliste“).
  • HTML 95.9%
  • CSS 2.1%
  • Python 1.5%
  • JavaScript 0.5%
Find a file
2026-09-08 13:38:55 +02:00
assets acessibility stuff fixed (sort of) 2026-09-08 13:16:52 +02:00
data fixed ableismus in my wording :/ 2026-09-08 13:38:55 +02:00
html fixed ableismus in my wording :/ 2026-09-08 13:38:55 +02:00
wort fixed ableismus in my wording :/ 2026-09-08 13:38:55 +02:00
.gitignore Initial project import 2026-09-08 12:35:08 +02:00
.htaccess add git infos & .htaccess 2026-09-08 12:52:24 +02:00
app.js acessibility stuff fixed (sort of) 2026-09-08 13:16:52 +02:00
build.py acessibility stuff fixed (sort of) 2026-09-08 13:16:52 +02:00
docker-compose.yml Initial project import 2026-09-08 12:35:08 +02:00
index.html fixed ableismus in my wording :/ 2026-09-08 13:38:55 +02:00
LICENSE Initial project import 2026-09-08 12:35:08 +02:00
nginx.conf Initial project import 2026-09-08 12:35:08 +02:00
README.md acessibility stuff fixed (sort of) 2026-09-08 13:16:52 +02:00
robots.txt Initial project import 2026-09-08 12:35:08 +02:00
styles.css fixed ableismus in my wording :/ 2026-09-08 13:38:55 +02:00

Sag' es besser...

Eine komplett statische, trackerfreie Website mit 93 direkt verlinkbaren Einträgen zu ableistischer, sanistischer/saneistischer, misogyner, sexistischer, klassistischer und historisch belasteter Sprache.

Schnell starten

Den gesamten Ordner auf einen normalen Webserver kopieren. Es gibt keine Datenbank, keinen Build-Zwang und keine externen Abhängigkeiten. index.html funktioniert direkt.

Für einen lokalen Test:

python3 -m http.server 8080

Dann http://localhost:8080/ öffnen.

Alternativ ist eine kleine Nginx-Docker-Variante enthalten:

docker compose up -d

Sie stellt die Seite ebenfalls auf Port 8080 bereit.

Für Social Media und Suchmaschinen

Jeder Eintrag liegt als echte statische Seite unter wort/<slug>/index.html. Dadurch haben geteilte Begriffe eigene Titel und Beschreibungen, statt nur einen #hash auf der Startseite zu benutzen.

Wenn die endgültige Domain bekannt ist, einmal neu bauen:

./build.py --site-url https://deine-domain.example

Damit werden absolute Canonical-/Share-URLs sowie eine sitemap.xml erzeugt.

Inhalte bearbeiten

  • data/words.json enthält alle Wörter, Alternativen, Erklärungen und Quellenzuordnungen.
  • data/sources.json enthält die Quellen.
  • Danach ./build.py ausführen.

Entwicklung

Das Projekt liegt als Git-Repository auf Forgejo: https://devnoc.de/nocci/sag-es-besser

Für lokale Änderungen genügt ein einfacher Entwicklungsserver:

python3 -m http.server 8080

Wenn Inhalte in data/ geändert wurden, aktualisiert ./build.py die Startseite und die einzelnen Seiten unter wort/. Die erzeugten Dateien gehören zum statischen Veröffentlichungsstand und werden deshalb mitgeführt.

Für die laufende Entwicklung kann der Build automatisch mitlaufen:

./build.py --watch

Mit veröffentlichungsfertigem Output und Canonical-/Share-URLs:

./build.py --site-url https://deine-domain.example --output-dir html --watch

Der Watch-Modus benötigt keine zusätzlichen Pakete und endet mit Ctrl-C.

Datenschutz

Keine Cookies, keine Analytics, keine externen Fonts, kein CDN, keine externen JavaScript-Bibliotheken. Externe Verbindungen entstehen nur, wenn Besucher*innen bewusst einen Quellenlink öffnen.

Design

Absichtlich kein generischer Web-App-Look: kein Gradient, keine runden Dashboard-Karten, keine Stock-Illustrationen. Die Gestaltung orientiert sich eher an Wörterbuch, Flugblatt und kleinem Magazin. Semantisches HTML, Tastatursteuerung, prefers-reduced-motion und druckbares Layout sind eingebaut.