dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1c0ca94c9a build(deps): bump the minor-and-patch group with 5 updates (#12)
Bumps the minor-and-patch group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit) | `2.59.1` | `2.61.0` |
| [katex](https://github.com/KaTeX/KaTeX) | `0.16.45` | `0.17.0` |
| [postcss](https://github.com/postcss/postcss) | `8.5.14` | `8.5.15` |
| [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) | `5.55.5` | `5.55.9` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.12` | `8.0.14` |


Updates `@sveltejs/kit` from 2.59.1 to 2.61.0
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/main/packages/kit/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/kit@2.61.0/packages/kit)

Updates `katex` from 0.16.45 to 0.17.0
- [Release notes](https://github.com/KaTeX/KaTeX/releases)
- [Changelog](https://github.com/KaTeX/KaTeX/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KaTeX/KaTeX/compare/v0.16.45...v0.17.0)

Updates `postcss` from 8.5.14 to 8.5.15
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.14...8.5.15)

Updates `svelte` from 5.55.5 to 5.55.9
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.55.9/packages/svelte)

Updates `vite` from 8.0.12 to 8.0.14
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.0.14/packages/vite)

---
updated-dependencies:
- dependency-name: "@sveltejs/kit"
  dependency-version: 2.61.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: katex
  dependency-version: 0.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: postcss
  dependency-version: 8.5.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: svelte
  dependency-version: 5.55.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: vite
  dependency-version: 8.0.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-23 18:08:20 +07:00
2026-05-23 10:49:15 +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
564 KiB
Languages
Svelte 56.7%
JavaScript 42.6%
CSS 0.4%
HTML 0.3%