"How do I bold? add a list etc?" — answered, and the interesting part is what it is not. Milkdown was the obvious choice; it is already in the project. Round- tripping a question stem through it first showed why not: bullets come back as `*` with blank lines inserted between them, tables are repadded, and anything it does not recognise is escaped. The first two reflow text nobody edited — and learners' highlights are stored as character offsets into that exact string, so a reflow on any save moves every one of them. So the text stays byte-for-byte as typed and the buttons only insert syntax at the cursor: bold, italic, code, bullet and numbered lists (every selected line, and already-bulleted lines left alone), heading, a table skeleton, inline maths. The Markdown preview that was already there shows the result. Frontend 308/308. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TqXevQJhxFrM7jJg82cgZN |
||
|---|---|---|
| .. | ||
| quiz-revamp | ||
| api-reference.md | ||
| architecture.md | ||
| deployment.md | ||
| frontend.md | ||
| migrations.md | ||
| quiz-revamp-plan.md | ||
| quiz-revamp-progress.md | ||
| README.md | ||
| services.md | ||
| study-recommendations.md | ||
| TODO.md | ||
PedsHub Documentation
Deep technical documentation for the PedsHub pediatric learning platform.
Pages
| Document | Description |
|---|---|
| Architecture | System overview, database schema, multi-worker setup, vector search, auth, rate limiting, concurrent quiz protection |
| API Reference | Every endpoint: method, path, auth, request/response, notes |
| Services | Backend service layer: AI extraction, embedding, vector search, PDF processing, email, reminders |
| Frontend | React app structure, pages, components, state patterns, runtime config |
| Deployment | Docker setup, environment variables, HTTPS, rebuilding, monitoring, troubleshooting, scaling |
Quick Links
- Main README: ../README.md
- Backend .env template: ../backend/.env.example
- Docker Compose: ../docker-compose.yml