SHA256
1
0
Fork
You've already forked sumud.run
0
No description
  • JavaScript 77.8%
  • HTML 19.3%
  • Rust 2.6%
  • Dockerfile 0.3%
2026年04月05日 12:04:39 +02:00
docker feat: first version 2026年04月04日 23:28:48 +02:00
fonts feat: first version 2026年04月04日 23:28:48 +02:00
site feat: PGP 2026年04月05日 12:04:39 +02:00
typst-wasm feat: first version 2026年04月04日 23:28:48 +02:00
.gitignore feat: first version 2026年04月04日 23:28:48 +02:00
LICENSE Initial commit 2026年04月04日 22:54:07 +02:00
README.md feat: first version 2026年04月04日 23:28:48 +02:00

Sumud – Charity Run for Gaza

sumud.run

Sumud (صمود, "steadfastness") is an open-source platform for organizing charity runs for Gaza. All donations go to Al-Awda Hospital via Solidarität International e.V.

How it works

  1. Donors pay per lap into a shared pot. If a lap isn't run, they get their money back (unless they opt out).
  2. Runners just show up — no registration needed. Every pace counts.
  3. Organizers create flyers, print donation lists, and hand out bib numbers.

Anyone can organize their own Sumud run anywhere in the world.

Website Features

  • Flyer generator with live preview (Typst compiled to PDF in the browser via WebAssembly)
  • Donation list generator (printable PDF, 35 rows per page)
  • Bib number template (landscape PDF with QR code)
  • Countdown page for individual events (sumud.run/?t=TIMESTAMP&l=LOCATION&d=DISTANCE)
  • 15 languages with auto-detection (DE, EN, FR, ES, TR, PT, IT, EL, RU, UK, PL, ZH, JA, KO, HI)
  • Arabic shown alongside all languages

Project Structure

├── site/ # Static website
│ ├── index.html # Main page
│ ├── app.js # Flyer generator, WASM integration, i18n
│ ├── i18n.js # Translations (15 languages)
│ ├── countdown.js # Event countdown page
│ ├── donations.html/js # Donation list generator
│ ├── legal.html/js # Legal notice
│ └── assets/ # Favicon, QR code, QR generator lib
├── fonts/ # Noto Sans + Noto Sans Arabic
├── typst-wasm/ # Rust → WASM Typst compiler
│ ├── Cargo.toml
│ └── src/lib.rs
├── wasm/ # Built WASM output (not in repo)
├── docker/ # Container setup
│ ├── Dockerfile
│ └── nginx.conf
└── LICENSE

Building

Prerequisites

Build WASM compiler

cd typst-wasm
rustup target add wasm32-unknown-unknown
wasm-pack build --target web --release
cp pkg/typst_wasm_bg.wasm pkg/typst_wasm.js ../wasm/

Build & run Docker image

docker build -f docker/Dockerfile -t sumud .
docker run -p 8080:8080 sumud

Donate

Solidarität International e.V. IBAN: DE86 5019 0000 6100 8005 84 Reference: SUMUD

License

AGPL-3.0