dependabot[bot] 2a1b36acbb build(deps): bump pnpm/action-setup from 4 to 6 (#11)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 4 to 6.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v4...v6)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-23 18:09:23 +07:00
2026-04-30 21:44:43 +07:00
2026-04-30 21:44:43 +07:00
2026-04-30 21:44:43 +07:00
2026-04-30 21:44:43 +07:00
2026-04-30 21:44:43 +07:00
2026-04-30 21:44:43 +07:00
2026-04-30 21:44:43 +07:00

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+, pnpm 11+.

pnpm install
pnpm dev          # http://localhost:5173/mathmax/
pnpm test         # Vitest (geom-engine unit tests)
pnpm check        # svelte-check + JSDoc strict
pnpm build        # Static output → build/
pnpm 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', output build/.
  • Styling: Tailwind 3 (PostCSS) + Be Vietnam Pro (woff2 qua @fontsource). Tick palette colors.pair.{1,2,3,4} được khai báo trong tailwind.config.js.
  • Language: JavaScript only (Svelte 5, JSDoc qua jsconfig.json với checkJs: 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 qua renderToString, 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 trong src/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.js song song.

License

Apache-2.0. Xem LICENSE.

S
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 846 KiB
Languages
Svelte 56.7%
JavaScript 42.6%
CSS 0.4%
HTML 0.3%