Commit Graph

199 Commits

Author SHA1 Message Date
52abfb37db fix(lessons): improve validation completeness and best practices
- 00-basic-selectors: add missing validation message, fix semicolons
- 05-units-variables: replace hex color with named color, use round numbers
- 08-responsive: rename "Flex Grids" to "Responsive Grid" for clarity
- 24-html-progress-meter: add missing high/max/optimum validations
- 32-html-svg: add comprehensive attribute validations for SVG elements
2026-01-07 14:16:16 +01:00
f050c1dcb9 fix: change transitions-animations difficulty to intermediate
Content is more advanced than beginner level, update difficulty label.
Also improve code examples in descriptions.
2026-01-07 14:15:25 +01:00
26999b4f05 fix: update English box-model task instructions format
Apply same task instruction format update to English source file.
2026-01-07 14:15:12 +01:00
110a677410 docs: update README internationalization section
- Document localized lesson directories (ar, de, es, pl, uk)
- Update copyright year to 2026
2026-01-07 14:14:51 +01:00
1236b5e114 chore: update copyright year 2025 -> 2026 in lessons
Update copyright year in semantic-containers lesson example
across all language versions.
2026-01-07 14:14:43 +01:00
95f2a81e64 fix(i18n): update box-model task instructions format
Update task instructions from old format to match English source:
- Old: "Add <kbd>padding: 1rem</kbd> to <kbd>.box</kbd>"
- New: "Set <kbd>padding</kbd> to <kbd>1rem</kbd>"

Removes redundant class name references since codePrefix shows the selector.
Affected languages: ar, es, pl, uk
2026-01-07 14:14:36 +01:00
c398fd3d5c chore: update format.lessons to include localized files
- Change glob pattern from lessons/*.json to lessons/**/*.json
- Update copyright year to 2026
2026-01-07 14:14:04 +01:00
b1ab23b579 feat(claude-code): add project settings and commands
- Add .claude/settings.json with permissions and hooks
- Add /format-lessons slash command
- Add .claude/settings.local.json to .gitignore
2026-01-07 14:13:59 +01:00
11f86c71f3 fix(lessons): style Hello World, add syntax examples, add goodbye module
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- Hello World lesson now styles plain text (no h1 required)
- Added syntax examples to CSS Variables, calc(), Media Queries, Flexbox, Grid
- Added goodbye/offboarding module with contribution encouragement
2026-01-06 15:58:12 +01:00
0bc6e93390 fix(lessons): use code tags for quoted text, add syntax examples
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- Fixed validation in welcome lesson (Hello World instead of Hello)
- Replaced 'quoted text' with <code>quoted text</code> in all task descriptions
- Added syntax examples to Transitions and Keyframes lessons
- Updated all language versions (en, de, pl, es, ar, uk)
2026-01-06 15:50:11 +01:00
8e892254f8 fix(i18n): align German lesson code with English
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- Changed solution in 00-welcome.json from "Hallo Welt" to "Hello World"
- Added missing solution fields to 01-box-model.json (8 lessons)
- Added missing solution fields to 05-units-variables.json (4 lessons)
- Added missing solution fields to 06-transitions-animations.json (4 lessons)
- Added missing solution fields to 08-responsive.json (4 lessons)
- Fixed flexbox.json class names from .green/.red/.yellow to .box1/.box2/.box3
- Added missing solution fields to flexbox.json (6 lessons)

German translations now keep all CSS code in English for maintainability,
with only instructional text translated.
2026-01-06 14:58:49 +01:00
8d1a940588 fix(rtl): comprehensive layout fixes for Arabic
- Swap left/right panels in RTL mode
- Flip left panel border to left side
- Flip hint border to right side
- Flip lessons container indentation (margin, border, padding)
- Flip module expand icon and lesson checkmark margins
- Flip toggle switch slider margin
- Reverse setting row and preview controls
2025-12-31 10:31:49 +01:00
6f7964f014 refactor: move language picker to sidebar as dropdown
- Remove language button from header
- Add language select dropdown in sidebar settings
- Add translations for "Language" label in all languages
- Remove unused .lang-switch CSS
2025-12-31 10:26:51 +01:00
13382565c0 fix(rtl): auto-detect text direction for untranslated content 2025-12-31 01:51:01 +01:00
f8a981225f fix(rtl): keep Code Crispies logo in LTR order 2025-12-31 01:50:26 +01:00
e4dd0ae70e fix(i18n): show current language and add RTL support for Arabic
- Language switcher now shows current language code (EN, DE, PL, etc.)
- Add RTL layout support for Arabic (dir="rtl" on html element)
- Sidebar slides from right in RTL mode
- Flip horizontal layouts, navigation, and text alignment for RTL
2025-12-31 01:49:03 +01:00
b9d9a0ab0c feat(i18n): add support for Polish, Spanish, Arabic, and Ukrainian
- Create lesson directories and copy English lessons as templates
- Add full UI translations for pl, es, ar, uk languages
- Update lessons.js with module stores for all new languages
- Implement language cycling (en → de → pl → es → ar → uk → en)
- Fix playground mode detection (lesson.mode takes precedence)
2025-12-31 01:45:52 +01:00
89ad5228b4 refactor: merge playground into welcome module
- Rename welcome lessons to Get Started, Overview, Playground
- Remove separate playground module files
- Fix playground detection to check lesson.mode instead of module.id
2025-12-31 00:46:42 +01:00
6390e29caf fix: playground mode with HTML & CSS editor, no validation 2025-12-31 00:38:41 +01:00
4a9db6d10f feat: add Playground module with full-height editor 2025-12-31 00:36:14 +01:00
eaf2d0c7f3 feat: make logo clickable to navigate to welcome page 2025-12-31 00:30:34 +01:00
bb936844d8 style: improve hamburger menu icon with cleaner CSS 2025-12-31 00:28:18 +01:00
d25dbcdf6d seo: update meta description and title for HTML & CSS learning
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2025-12-30 22:37:42 +01:00
85eb19ecc3 style: improve CRISPY animation and simplify sidebar footer
- Remove ! from CRISPY, add spacing to smiley
- Use darker green for better contrast
- Increase font size to 1.3rem
- Remove GitHub link from sidebar (keep only Gitea)
2025-12-30 22:35:55 +01:00
6303358521 feat: hide Run button, update LibreTECH branding, improve welcome lessons
- Hide Run button (live preview is stable)
- Update all references from librete.ch to LibreTECH
- Add context to repo links (Gitea Source, GitHub Mirror)
- Fix welcome lesson redundant text
- Slow down CRISPY animation to 8s
- Remove editor-tools margin-right
2025-12-30 22:22:00 +01:00
4928223291 fix: add dir=rtl to Arabic Hello World text 2025-12-30 22:05:58 +01:00
7febd65845 fix: fill editor with Hello World p tags on Get Started lesson 2025-12-30 22:03:37 +01:00
d7ba44ce40 fix: shorten CRISPY animation to 4s, visible for 5s 2025-12-30 22:02:29 +01:00
499695a9c3 feat: add Hello World in 8 languages with colorful styling 2025-12-30 22:01:55 +01:00
4801ddae32 fix: center CRISPY animation with translate offset 2025-12-30 21:59:44 +01:00
1fd7cc31eb fix: simplify welcome validations, remove deprecated shortcuts, fix rerun text 2025-12-30 21:58:21 +01:00
6d4dec2edf fix: simplify welcome lesson task texts 2025-12-30 21:55:14 +01:00
448fc32ed8 fix: sync Lösung einblenden across i18n and welcome lesson 2025-12-30 21:54:31 +01:00
d248e4af3c fix: purple reset-code button instead of sidebar reset 2025-12-30 21:53:20 +01:00
d51678c681 fix: update German translations and make reset button prominent 2025-12-30 21:52:13 +01:00
8c032adebd refactor: streamline welcome lesson with comprehensive info and links 2025-12-30 21:49:49 +01:00
192b9b01ff fix: mobile preview-header above preview-wrapper 2025-12-30 21:47:01 +01:00
9c22aa9ce4 fix: mobile preview visibility with explicit flex display 2025-12-30 21:45:41 +01:00
a7cc035410 feat: add welcome lesson, DVD bounce animation, mobile layout reorder
- Add Welcome module with intro lessons (EN/DE)
- Success message now bounces like DVD screensaver (10s duration)
- Mobile: nav bar at top, preview before editor
- Logo: CODE with purple background pill
2025-12-30 21:44:37 +01:00
7a18abd446 style: purple background pill for CODE in logo 2025-12-30 21:34:45 +01:00
ca2c5607da fix: editor min-height 50vh, scrollable instructions on desktop 2025-12-30 21:28:48 +01:00
82612126cb feat: add More Projects section to help dialog
- Add HTML over JS and Web Engineering Mandala projects
- Include i18n translations for EN and DE
- Add userCode to lesson cache for faster reload
2025-12-30 21:21:47 +01:00
79cbfd404d fix: make module-pill expand on mobile with spacing to buttons 2025-12-30 21:10:44 +01:00
12f36698a7 fix: move preview-header back to bottom, add spacing beneath 2025-12-30 21:09:46 +01:00
a8f4739912 fix: remove max-height constraint from module-list 2025-12-30 21:08:26 +01:00
bc4972b1d6 perf: make module loading synchronous, flip right panel layout
- Remove unnecessary async/await from loadModules (static imports)
- Move game controls to top of right panel
- Move preview header below controls, above preview
- Flip inset shadow to top of preview section
2025-12-30 21:07:00 +01:00
138918995b feat: add gentle loading fallback after 3 seconds
If no lesson loads within 3 seconds, show a centered, gray notice
with fade-in animation suggesting to select from menu or check help.
Includes link to help dialog.
2025-12-30 20:57:54 +01:00
109c2fadcf fix: remove all placeholder text, cache level indicator
- Remove "Please select a lesson" default text
- Remove "1 of 3" default level indicator
- Add level indicator to lesson cache for instant restore
2025-12-30 20:54:57 +01:00
e0f5fbc45c fix: prevent Loading text flash on page load
- Remove data-i18n="loading" from lesson title and module name
- Start with empty content instead of "Loading..." placeholder
- Remove data-i18n attribute after restoring cache to prevent overwrites
2025-12-30 20:53:38 +01:00
ef98e1aa96 feat: cache lesson content for instant restore on reload
Store lesson title, description, and task in localStorage after each
lesson load. On page reload, immediately restore the cached content
to avoid showing "Loading..." placeholder text.
2025-12-30 20:50:25 +01:00