tiennm99
0f7da4cf35
fix(styles): load the tailwind 4 entry point
...
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.
2026-09-15 10:06:46 +07:00
tiennm99
36c35864d3
test: let vitest import svelte rune modules
...
Adds the svelte plugin and the $lib alias so *.svelte.js modules can be
imported by tests. The lesson interaction logic was untestable without it.
2026-09-15 10:06:46 +07:00
tiennm99
c291d52cd2
build: move from pnpm to npm
...
Replace pnpm-lock.yaml with package-lock.json. The security overrides move to
package.json#overrides with their range operators intact, so advisory floors
stay floors. allowBuilds becomes package.json#allowScripts where the listed
package is actually in the tree.
2026-08-17 13:15:15 +07:00
5ca8d29ef7
build(deps): bump postcss from 8.5.16 to 8.5.23 ( #26 )
...
Bumps [postcss](https://github.com/postcss/postcss ) from 8.5.16 to 8.5.23.
- [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.16...8.5.23 )
---
updated-dependencies:
- dependency-name: postcss
dependency-version: 8.5.23
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-25 14:45:42 +07:00
tiennm99
1d4ddc8e22
chore: remove dependabot version-update config
2026-07-25 14:14:26 +07:00
tiennm99
e1966c22f0
build(deps): update dependencies and actions, pin cookie >=0.7.2
...
- bump minor-and-patch group: @sveltejs/kit 2.69.3, vite 8.1.5,
svelte 5.56.6, tailwindcss 4.3.3, vitest 4.1.10, and related tools
- bump actions/checkout and actions/setup-node to v7
- override transitive cookie to 0.7.2 to resolve GHSA advisory
2026-07-17 17:56:53 +07:00
tiennm99
0510b671b3
fix: update vite security patch
2026-07-02 09:08:14 +07:00
f08303fdcb
build(deps): bump tailwindcss from 3.4.19 to 4.3.0 ( #15 )
...
* build(deps): bump tailwindcss from 3.4.19 to 4.3.0
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss ) from 3.4.19 to 4.3.0.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/tailwindcss )
---
updated-dependencies:
- dependency-name: tailwindcss
dependency-version: 4.3.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix(styles): migrate to tailwindcss v4 with @tailwindcss/postcss plugin
* fix(styles): use @tailwind directives (v4-compat) instead of bare CSS @import
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: tiennm99 <tiennm99@outlook.com >
2026-05-23 18:36:39 +07:00
0a71009374
build(deps-dev): bump prettier-plugin-svelte from 3.5.2 to 4.0.1 ( #14 )
...
Bumps [prettier-plugin-svelte](https://github.com/sveltejs/prettier-plugin-svelte ) from 3.5.2 to 4.0.1.
- [Release notes](https://github.com/sveltejs/prettier-plugin-svelte/releases )
- [Changelog](https://github.com/sveltejs/prettier-plugin-svelte/blob/main/CHANGELOG.md )
- [Commits](https://github.com/sveltejs/prettier-plugin-svelte/compare/v3.5.2...prettier-plugin-svelte@4.0.1 )
---
updated-dependencies:
- dependency-name: prettier-plugin-svelte
dependency-version: 4.0.1
dependency-type: direct:development
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:24:38 +07:00
92c440406d
build(deps-dev): bump vitest from 3.2.4 to 4.1.7 ( #13 )
...
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest ) from 3.2.4 to 4.1.7.
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest )
---
updated-dependencies:
- dependency-name: vitest
dependency-version: 4.1.7
dependency-type: direct:development
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:24:35 +07:00
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
e9e1399dd0
build(deps): bump actions/deploy-pages from 4 to 5 ( #10 )
...
Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages ) from 4 to 5.
- [Release notes](https://github.com/actions/deploy-pages/releases )
- [Commits](https://github.com/actions/deploy-pages/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/deploy-pages
dependency-version: '5'
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:19 +07:00
68a9237c9c
build(deps): bump actions/upload-pages-artifact from 3 to 5 ( #9 )
...
Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact ) from 3 to 5.
- [Release notes](https://github.com/actions/upload-pages-artifact/releases )
- [Commits](https://github.com/actions/upload-pages-artifact/compare/v3...v5 )
---
updated-dependencies:
- dependency-name: actions/upload-pages-artifact
dependency-version: '5'
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:16 +07:00
b825fc1457
build(deps): bump actions/checkout from 4 to 6 ( #8 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
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:11 +07:00
33ff67a7ae
build(deps): bump actions/setup-node from 4 to 6 ( #7 )
...
Bumps [actions/setup-node](https://github.com/actions/setup-node ) from 4 to 6.
- [Release notes](https://github.com/actions/setup-node/releases )
- [Commits](https://github.com/actions/setup-node/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: actions/setup-node
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:07 +07:00
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
tiennm99 and GitHub
89b0452abb
chore: add dependabot config ( #6 )
2026-05-23 10:49:15 +07:00
tiennm99
9d5d3f04a0
feat: 3 interactive demo pages + transforms/sieve/linear engines
...
Lessons:
- /hinh-hoc/dinh-ly-pythagoras (lớp 7) — drag right-angle vertex; "Chứng minh"
button plays Euclid-style dissection-shear animation tweening two leg-squares
into the hypotenuse-square. Respects prefers-reduced-motion.
- /so-hoc/sang-eratosthenes (lớp 6) — 10×10 grid; click 2/3/5/7 → ripple
cross-out of multiples in 4 colors; roving tabindex; aria-live announces.
- /dai-so/duong-thang (lớp 7) — y = ax + b plot; 2 sliders + 2 draggable
anchors bidirectionally bound via draggable.onChange + viewport clamping +
rounded epsilon gate (no oscillation at any drag speed).
Engines:
- geom-engine/transforms.js — translate, rotate, shear, compose, applyToPolygon (13 tests)
- numtheory-engine/sieve.js — sieveUpTo, multiplesOf, isPrime (10 tests)
- algebra-engine/linear.js — lineFromPoints, yAt, linePoints (6 tests); new module bootstrapped
Glue:
- registry: insert 3 new lessons in topic+grade order
- tailwind: extend colors.pair to 4 entries (pair.4 = #5E60CE for prime 7)
- README: bump count 5→8, list new URLs, update architecture section
2026-05-15 20:35:22 +07:00
tiennm99
fb6089aff0
docs: brainstorm + plan for cool demo pages round 2
...
Brainstorm survey of 6 candidates with brutal-honesty trade-off matrix; top-3
ranked (Pythagoras động, Sàng Eratosthenes, đường thẳng y=ax+b). Plan with
8 phases — 3 engines + 3 lessons + glue + verify.
2026-05-15 20:35:02 +07:00
tiennm99
1056dd8caf
fix(ci): remove pnpm version override conflicting with packageManager
2026-05-13 10:28:56 +07:00
tiennm99
926abb3be1
chore: update pnpm lockfile for bumped deps
2026-05-13 10:21:20 +07:00
tiennm99
77877b8dca
chore: migrate from npm to pnpm
2026-05-13 10:20:51 +07:00
ecd663ccc2
build(deps): bump vite and @sveltejs/vite-plugin-svelte ( #3 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) and [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte ). These dependencies needed to be updated together.
Updates `vite` from 5.4.21 to 8.0.10
- [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.10/packages/vite )
Updates `@sveltejs/vite-plugin-svelte` from 4.0.4 to 7.0.0
- [Release notes](https://github.com/sveltejs/vite-plugin-svelte/releases )
- [Changelog](https://github.com/sveltejs/vite-plugin-svelte/blob/main/packages/vite-plugin-svelte/CHANGELOG.md )
- [Commits](https://github.com/sveltejs/vite-plugin-svelte/commits/@sveltejs/vite-plugin-svelte@7.0.0/packages/vite-plugin-svelte )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 8.0.10
dependency-type: direct:production
- dependency-name: "@sveltejs/vite-plugin-svelte"
dependency-version: 7.0.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 13:33:13 +07:00
tiennm99
610dfa7cec
docs: brainstorm survey + lesson 4+5 plan
2026-05-03 13:15:55 +07:00
tiennm99
8d6b5153dc
feat: enable Số học + Đại số topic tiles + landings
2026-05-03 13:15:47 +07:00
tiennm99
1877bc91cd
feat: hiệu hai bình phương lesson (lớp 7)
2026-05-03 13:15:45 +07:00
tiennm99
e553e7cd67
feat: numtheory-engine + GCD Euclidean lesson (lớp 6)
2026-05-03 13:15:44 +07:00
tiennm99
7c282c3aee
feat: add KaTeX <Tex> component for math typography
2026-05-03 13:15:42 +07:00
tiennm99
a0da079500
feat: port 3 interactive geometry lessons + geom-engine
...
- 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
2026-04-30 22:27:26 +07:00
tiennm99
8804c192db
fix: remove SPA fallback so prerendered HTML wins at /
...
With prerender=true on +layout.js, adapter-static emits index.html
per route. Setting fallback: 'index.html' overwrites the prerendered
home with the SPA bootstrap shell, leaving the live page empty before
hydration. Drop the fallback option.
2026-04-30 21:49:08 +07:00
tiennm99
7b75a72a16
feat: initial scaffold
...
- SvelteKit 2 + Svelte 5 + Tailwind 3 (JS only, paths.base=/mathmax)
- Vietnamese landing page: hero + scope (lớp 6-9) + 3 topic cards (Số học, Đại số, Hình học) all "Sắp ra mắt"
- GitHub Actions: CI (build) on PR + deploy to Pages on main
- Apache-2.0 LICENSE, README, RUNBOOK, CHANGELOG
2026-04-30 21:44:43 +07:00