mirror of
https://github.com/tiennm99/mathmax.git
synced 2026-09-17 18:22:21 +00:00
0f7da4cf35340516437577fb9698f3f0fcefa17f
The project installs tailwind 4 but app.css still used the v3 @tailwind directives, so no theme layer was imported and the emitted stylesheet carried none of the color, spacing, radius, responsive or hover utilities the pages rely on. The bare 'tailwindcss' specifier is intercepted by the bundler's @import resolver, so the file path is spelled out instead, with @config keeping the pair palette from tailwind.config.js.
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
8 bài đã ra mắt — số học, đại số, hình học đều có ít nhất hai bài.
- Lớp 6 — Ước chung lớn nhất (Euclid):
/so-hoc/uoc-chung-lon-nhat/ - Lớp 6 — Sàng Eratosthenes:
/so-hoc/sang-eratosthenes/ - Lớp 7 — Hiệu hai bình phương:
/dai-so/hieu-hai-binh-phuong/ - Lớp 7 — Đồ thị y = ax + b:
/dai-so/duong-thang/ - Lớp 7 — Định lý Pythagoras:
/hinh-hoc/dinh-ly-pythagoras/ - 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.
npm install
npm run dev # http://localhost:5173/mathmax/
npm 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,4}được khai báo trongtailwind.config.js. - Language: JavaScript only (Svelte 5, JSDoc qua
jsconfig.jsonvớicheckJs: true). - Math engines:
src/lib/geom-engine/(vec, triangle, circle, ticks, transforms),src/lib/numtheory-engine/(gcd, lcm, gcdSteps, sieve),src/lib/algebra-engine/(linear). Module thuần, không phụ thuộc DOM. Vitest unit tests đi kèm. - Math typography:
src/lib/components/tex.svelte— wrapper KaTeX duy nhất. SSR quarenderToString, không cần JS phía client để hiển thị. - 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.
Readme
Apache-2.0
718 KiB
Languages
Svelte
53.9%
JavaScript
45.5%
CSS
0.4%
HTML
0.2%