mirror of
https://github.com/tiennm99/mathmax.git
synced 2026-06-17 14:48:38 +00:00
a0da079500fc462ca4d01d2dcc5a0b46f2dddec5
- Add pure geom-engine module (vec, triangle, circle, ticks) with 34 vitest tests
- Add 3 lessons under /hinh-hoc/: tam-giac-bang-nhau (SSS), tam-giac-dong-dang (similarity), goc-noi-tiep (inscribed angle)
- Add reactive draggable Svelte action with arrow-key a11y
- Add per-lesson colocated i18n + site chrome + lesson registry
- Enable Hình học topic card on landing; keep Số học/Đại số as Sắp ra mắt
- Codify pedagogical tick palette as Tailwind colors.pair.{1,2,3}
- Add Be Vietnam Pro via @fontsource
MathMax
Toán tương tác cho học sinh THCS Việt Nam (lớp 6-9). Số học, Đại số, Hình học qua kéo-thả và minh hoạ trực quan.
Status
3 bài hình học đầu tiên đã ra mắt. Số học và Đại số vẫn "Sắp ra mắt".
- Lớp 7 — Tam giác bằng nhau (SSS):
/hinh-hoc/tam-giac-bang-nhau/ - Lớp 8 — Tam giác đồng dạng:
/hinh-hoc/tam-giac-dong-dang/ - Lớp 9 — Góc nội tiếp:
/hinh-hoc/goc-noi-tiep/
Develop
Yêu cầu: Node 24+, npm 11+.
npm install
npm run dev # http://localhost:5173/mathmax/
npm run test # Vitest (geom-engine unit tests)
npm run check # svelte-check + JSDoc strict
npm run build # Static output → build/
npm run preview # Serve build/
Deploy
Auto-deploy lên GitHub Pages từ main qua actions/deploy-pages@v4. Xem RUNBOOK.md để rollback / chuyển domain.
Live URL: https://tiennm99.github.io/mathmax/
Architecture
- Static: SvelteKit +
@sveltejs/adapter-static,paths.base = '/mathmax', outputbuild/. - Styling: Tailwind 3 (PostCSS) + Be Vietnam Pro (woff2 qua
@fontsource). Tick palettecolors.pair.{1,2,3}được khai báo trongtailwind.config.js. - Language: JavaScript only (Svelte 5, JSDoc qua
jsconfig.jsonvớicheckJs: true). - Math engine:
src/lib/geom-engine/— module thuần (không phụ thuộc DOM):vec,triangle,circle,ticks. Vitest unit tests đi kèm. - Lessons: mỗi bài là một
+page.svelte; copy tiếng Việt colocate trongsrc/lib/lessons/<slug>/copy.vi.js. - Drag: Svelte action
use:draggable(src/lib/actions/draggable.svelte.js) — Pointer Events + bàn phím mũi tên cho a11y. - i18n: Hiện chỉ có tiếng Việt. Site chrome ở
src/lib/i18n/site.vi.js. English thêm sau bằng cách tạo*.en.jssong song.
License
Apache-2.0. Xem LICENSE.
Description
MathMax — Toán tương tác cho học sinh THCS Việt Nam (lớp 6-9). Static site.
Languages
Svelte
56.7%
JavaScript
42.6%
CSS
0.4%
HTML
0.3%