Commit Graph

38 Commits

Author SHA1 Message Date
573c6720d8 feat: add CSS lessons matching lecture content (box model, flexbox, responsive, transitions, variables)
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- Add 5 CSS modules to lessons.js config (EN)
- Create German translations for all 5 CSS modules
- Add CSS modules to lessons.de.js config
- Fix test to use toBeGreaterThanOrEqual for module count

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 15:26:59 +01:00
79b6ece9ad fix: remove kbd tags from actual HTML code in lessons
- Remove erroneous kbd tags from solution/initialCode fields
- Keep kbd tags only in messages/descriptions where appropriate

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 15:59:59 +01:00
3b03d35c5f fix: add kbd tags to validation messages for clarity
- Wrap HTML element names in <kbd> tags in all validation messages
- Apply consistent formatting to both English and German lessons
- Make hints clearer about which elements/attributes to use
- Fix mobile editor layout overflow issue

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 15:55:26 +01:00
6f550a36ea fix: improve WCAG compliance and mobile editor height
- Add aria-describedby to password inputs for screen readers
- Connect hint text to input via id reference
- Increase mobile editor min-height to 50vh

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 15:28:11 +01:00
d799ced207 fix: remove placeholder comments and improve German translations
- Remove placeholder comments from initialCode fields
- Fix typo: "wichtig Wort" -> "wichtigen Wort" in de/20-html-elements.json
- Improve German validation messages for readability
- Use consistent terminology (Eingabefeld instead of Input)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 15:16:31 +01:00
71945cce37 feat: add 10 new HTML5 lesson modules (EN + DE)
New lesson modules covering native HTML5 features:
- Details & Summary: disclosure widgets
- Progress & Meter: progress bars and gauges
- Datalist: autocomplete inputs
- Data Attributes: custom data-* attributes
- Dialog: native modal dialogs
- Forms with Fieldset: grouped form controls
- Figure & Figcaption: self-contained content
- Tables: structured data with caption, thead, tbody, tfoot
- Marquee: classic scrolling text (deprecated but fun)
- SVG Basics: drawing circles, rectangles, and lines

Each module includes 2-3 progressive lessons with fancy
styling (pastel gradients, 100vh layouts, etc).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 14:23:37 +01:00
c4df288471 refactor: simplify HTML lessons to use semantic elements only
- Remove presentational classes (.form-group, .required, .hint, .checkbox-group)
- Replace <span class="required">*</span> with plain * in label text
- Replace <div class="hint"> with semantic <small> element
- Simplify checkbox markup to use native label wrapping pattern
- Update previewBaseCSS to style semantic elements directly
- Add code quality standards to CLAUDE.md emphasizing WCAG compliance and native HTML

🤖 Generated with [Claude Code](https://claude.ai/code)
2025-12-24 01:55:47 +01:00
991965b78e feat: add complete German translation of the website
- Add German HTML entry point (index.de.html)
- Add German app.js with translated UI strings (app.de.js)
- Add German lesson config (lessons.de.js)
- Add German translations of all 6 lesson modules:
  - HTML Elements: Block vs Inline
  - HTML Forms: Basic Inputs
  - HTML Forms: Validation
  - CSS: Basic Selectors
  - CSS: Advanced Selectors
  - Tailwind: Basics

All IDs, variable names, and code examples remain in English.
Only user-facing text has been translated to German.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 00:32:07 +01:00
28dd033fca fix: align HTML lesson task instructions with solution code
Update task instructions to explicitly specify all content that appears
in the solution, so students can complete lessons without guessing:

- semantic-containers: specify "My Website", "Welcome to my site!", "Copyright 2025"
- form-structure: specify label text "Name:" and attribute values
- input-types: specify label texts "Email:" and "Password:"
- input-constraints: specify placeholder text "Enter password"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 09:39:07 +01:00
5088ffee7a fix: rename solutionCode to solution in HTML lesson files
Consistent property naming across all lesson files - the LessonEngine
expects 'solution' property for rendering expected preview.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 10:38:53 +01:00
a9311cf5f9 fix: add category prefixes to module titles in sidebar
- CSS: Basic Selectors
- CSS: Advanced Selectors
- Tailwind: Basics

HTML modules already have "HTML" in their titles.
2025-12-22 01:09:47 +01:00
db4f143924 refactor: redesign layout to Flexbox Froggy style with slide-out sidebar
- Implement 50/50 split layout (left: instructions + editor, right: preview)
- Replace always-visible sidebar with slide-out drawer menu
- Move footer, progress, and settings into sidebar
- Add toggleable expected result overlay (hidden by default)
- Create new hint system with step progress indicators
- Add ghost button styles for modal and text button for sidebar reset
- Fix HTML lesson task instruction and typo ("important" not "importing")
- Add padding to preview frames to prevent corner clipping
- Optimize layout for iPadOS and tablet devices
2025-12-21 23:20:07 +01:00
862d29aa19 feat: add HTML lessons mode and side-by-side comparison UI
- Add HTML mode support with new validation types (element_exists,
  element_count, attribute_value, element_text, parent_child, sibling)
- Create 3 HTML lesson modules: Elements, Forms Basic, Forms Validation
- Implement side-by-side preview comparison (Your Output vs Expected)
- Add merge animation with "Perfect Match!" overlay on validation success
- Render expected output from solutionCode field in lesson JSON
- Update schema to support HTML mode and solutionCode
- Reorder modules: HTML first, then CSS, then Tailwind
- Update tests for new functionality

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 22:12:00 +01:00
Michael Czechowski
229fb1902f chore: simplify title and enhance preview HTML for tailwind basics module 2025-06-05 23:31:01 +02:00
Michael Czechowski
97b685a39b feat: update tailwind basics module with enhanced descriptions and new lessons 2025-06-05 23:16:49 +02:00
Michael Czechowski
daab71b6f1 feat: enhance lesson functionality with user code storage and progress tracking 2025-06-05 14:05:35 +02:00
9e28534562 feat: implement tailwind validations and basic example 2025-06-01 22:34:55 +02:00
Michael Czechowski
0f88d1a938 fix: update strong selector example to include color property 2025-05-23 14:48:03 +02:00
Michael Czechowski
e1b699db3b feat: add CSS carousels module and update lesson imports 2025-05-23 08:12:23 +02:00
Michael Czechowski
03f4a5c1d0 feat: add advanced selectors module and update lesson imports accordingly and release 2025-05-23 08:05:00 +02:00
Michael Czechowski
b408d8f7b5 feat: mark modules as work in progress for better clarity 2025-05-20 01:43:44 +02:00
Michael Czechowski
e0b0a44cc2 feat: update task description to include HTML tags for paragraph and color properties; add solution code for CSS rule 2025-05-20 00:26:39 +02:00
Michael Czechowski
e123e4b84a feat: update task descriptions to include HTML tags for clarity in basic selectors lesson 2025-05-20 00:18:05 +02:00
Michael Czechowski
391eb25d4b feat: add solution code and enhance validation rules for basic selectors lesson 2025-05-19 23:42:04 +02:00
Michael Czechowski
6c7ef3ff0b feat: enhance lesson preview functionality and improve run button interaction; change lesson indicator to percentage; split preview css for better isolation 2025-05-19 23:30:22 +02:00
Michael Czechowski
ed984a1d2e feat: add fine grained validations for class-selectors lesson 2025-05-19 22:13:02 +02:00
Michael Czechowski
51faf1957c feat: simplify module description for clarity 2025-05-19 20:32:23 +02:00
Michael Czechowski
cf650b0842 feat: refine lessons 2025-05-19 20:20:49 +02:00
Michael Czechowski
7962bbdf43 feat: enhance validation feedback in code editor, improve layout and reset functionality 2025-05-19 13:20:40 +02:00
Michael Czechowski
e4d03c6b7f WIP: enhance validation feedback in code editor, add support for multiple validation indicators and new validation types 2025-05-19 12:55:43 +02:00
Michael Czechowski
65b12d961e feat: add CSS Basic Selectors module 2025-05-14 12:07:25 +02:00
Michael Czechowski
6d21309f8a feat: add JSON schema for course modules and update module files 2025-05-14 11:28:43 +02:00
Michael Czechowski
48ef3e07d4 feat: update module titles and enhance button styles 2025-05-14 03:40:15 +02:00
Michael Czechowski
d89211cd75 feat: enhance CSS fundamentals module with detailed lessons and improved descriptions 2025-05-14 02:52:19 +02:00
Michael Czechowski
609d454bee feat: update lessons 2025-05-14 01:40:47 +02:00
Michael Czechowski
9249f122a4 feat: restructure lesson files and update success indicators 2025-05-14 00:51:10 +02:00
Michael Czechowski
b06e4b0b20 style: run format.lessons first time 2025-05-13 21:08:42 +02:00
Michael Czechowski
ab4279f9ca refactor: reorganize project structure and update import paths 2025-05-13 20:29:59 +02:00