Commit Graph

83 Commits

Author SHA1 Message Date
79b858e4f4 auto-claude: 4.6 - Explain media queries, breakpoints, and mobile-first design principles 2026-01-11 14:16:59 +01:00
a7f076135d auto-claude: 4.5 - Explain different layout systems and when to use each approach 2026-01-11 14:07:02 +01:00
443ec4c198 auto-claude: 4.4 - Explain how CSS transitions interpolate values and keyframe animation timing 2026-01-11 13:49:29 +01:00
9dc06012f1 auto-claude: 4.3 - Explain relative vs absolute units, why rem is pre
Add conceptual explanations to all 4 lessons in 05-units-variables.json:
- Lesson 1 (Absolute vs Relative Units): Explains fixed px vs scalable rem/%, why rem is preferred for accessibility, and how units calculate
- Lesson 2 (CSS Custom Properties): Explains variable definition/reference, inheritance cascade, scoping, and live updates vs preprocessor variables
- Lesson 3 (calc): Explains runtime calculation, mixing units, syntax requirements for operators
- Lesson 4 (Viewport Units): Explains vw/vh/vmin/vmax relative to viewport, auto-resize behavior, and difference from percentage units

All concepts include beginner-friendly explanations (2-4 sentences) and detailed ASCII diagrams showing calculations and visual representations.
2026-01-11 05:35:12 +01:00
180d893bc7 auto-claude: 4.2 - Explain font stacks, web-safe fonts, and how browsers render text 2026-01-11 05:30:03 +01:00
efbd9f18eb auto-claude: 4.1 - Explain color theory basics, color formats (hex, rgb, hsl), and why different formats exist 2026-01-11 05:25:01 +01:00
3df98fe09a feat: Add conceptual explanations to advanced selectors
Add 'concept' objects to all 4 lessons in 02-selectors.json:
- Element selectors: Explain DOM traversal and specificity (0,0,0,1)
- Class selectors: Explain attribute matching and medium specificity (0,0,1,0)
- ID selectors: Explain uniqueness and high specificity (0,1,0,0)
- Combined selectors: Explain AND logic and specificity addition

Each concept includes:
- Beginner-friendly explanation (2-4 sentences)
- ASCII diagram showing how selectors match
- Specificity comparison and cascade behavior

Subtask 3.5 - Advanced selectors conceptual explanations
2026-01-11 05:18:49 +01:00
435381b03e feat: add box model concept explanations with diagrams
- Added 'concept' objects to all 8 box model lessons
- Each lesson includes 2-4 sentence beginner-friendly explanation
- ASCII diagrams illustrate the 4-layer box model structure
- Concepts cover: box model layers, padding vs margin, border position, box-sizing, margin collapse, shorthand notation, and individual border sides
- All concepts follow schema requirements (explanation required, diagram optional)
2026-01-11 05:13:11 +01:00
39f1fb5fae auto-claude: 3.3 - Add explanations for CSS selector specificity and cascade
Added 'concept' objects to 4 lessons in basic selectors module:
- Type + ID: Explains specificity boost from combining selectors
- Selector Lists: Explains OR logic and independent matching
- Universal Selector: Explains wildcard matching and descendant context
- Specificity: Explains cascade and point system for selector precedence

All concepts include beginner-friendly explanations (2-4 sentences) and ASCII diagrams showing how selectors match elements and resolve conflicts.
2026-01-11 05:07:49 +01:00
29c019bde5 auto-claude: 3.2 - Add conceptual explanations to CSS Grid lessons
- Added 'concept' objects to all 6 Grid lessons
- Explanations cover 2D grid system, tracks, and cell placement
- ASCII diagrams illustrate grid layouts, spanning, and overlapping
- Clear container vs item distinctions for each property
- Lessons: grid basics, template areas, spanning, auto-fit, alignment, overlapping
- All concepts follow schema (explanation required, diagram and containerVsItem optional)
- JSON validated successfully
2026-01-11 04:48:11 +01:00
0cf25b61b1 auto-claude: 3.1 - Add 'concept' objects to all 6 Flexbox lessons. Explicitly explain container vs item distinction. Include simple ASCII diagrams showing axis direction. 2026-01-11 04:43:59 +01:00
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
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
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
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
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
499695a9c3 feat: add Hello World in 8 languages with colorful styling 2025-12-30 22:01:55 +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
8c032adebd refactor: streamline welcome lesson with comprehensive info and links 2025-12-30 21:49:49 +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
3addeda28d feat: add contact section and smooth lesson transitions
- Add contact section to help dialog with librete.ch, GitHub, Gitea, LinkedIn links
- Add HTML/CSS prefixes to English module titles for consistency with German
- Add CSS transitions for smooth lesson switching
- Add transitioning class to prevent content flash during lesson changes
2025-12-30 20:48:03 +01:00
dddce116bd refactor: add HTML/CSS prefixes to German module titles and improve UI
- Shorten German module titles with consistent HTML/CSS prefixes
- Add .completion-badge styling for the lesson title completion badge
- Make sidebar lessons section fill available height on desktop
- Improve flexbox lesson descriptions with more context
2025-12-30 20:38:41 +01:00
fb76db1a21 refactor: simplify compound class names in lessons
- German flexbox: .flex-container → .wrap
- 00-basics: .responsive-element → .box, .flex-container → .wrap
2025-12-30 20:21:09 +01:00
68472b41fa refactor: shorten compound class names to single words
- box-model: .margin-box→.outer, .border-box→.sized, .shorthand-box→.spaced,
  .padding-box→.padded, .border-demo→.line
- units-variables: .unit-box→.box, .var-box→.themed, .calc-box→.sized,
  .viewport-box→.view
- responsive: .responsive-box→.panel, .fluid-text→.text, .grid-responsive→.cards
- Move expected toggle below preview area
- Update German translations with same changes
2025-12-30 18:23:54 +01:00
38541c7a78 fix: add kbd tags to lesson messages and reorder task/description
- Replace single quotes with <kbd> tags in validation messages
- German and English lessons updated for consistent formatting
- Move task instruction before description in UI (index.html)
2025-12-30 18:08:11 +01:00
1267ce15ae refactor: shorten class names in layout lessons for easier typing
- flexbox.json: .flex-container → .wrap
- grid.json: .grid-container → .grid, .grid-layout → .page,
  .responsive-grid → .cards, .align-grid → .cells, .overlap-grid → .stack
- 07-layouts.json: .flex-container → .flex, .flex-item → .item,
  .grid-container → .grid
- CLAUDE.md: add short class names rule (1-2 syllables max)
2025-12-30 16:47:31 +01:00
15f10bcdf8 refactor: shorten lesson titles and improve content
- Shorten verbose lesson titles for better sidebar display
- Minor content improvements across lessons
2025-12-30 16:22:48 +01:00
23549f1e90 fix: improve lesson content with kbd tags, solutions, and animation contrast
- Add <kbd> tags to CSS property values and selectors in task descriptions
- Add solution code to all lessons for better guidance
- Improve animation contrast in transitions lesson (black/white instead
  of similar purples, dramatic color changes for visibility)
- Simplify validation messages with kbd formatting
2025-12-30 16:22:24 +01:00
1803cc40f5 refactor: remove placeholder HTML comments from lesson initialCode
Clean up lesson files by removing useless HTML comment placeholders
from initialCode fields. Users now start with a clean editor instead
of seeing instructional comments they need to delete.
2025-12-30 12:45:18 +01:00
d491ff6a1e docs: clarify that progress element is not self-closing
Make explicit that <progress> requires a closing tag and can
contain fallback text, unlike self-closing tags like <input>.
2025-12-30 12:37:54 +01:00
a2649c9d2d feat: add Emmet pro tip to FAQ accordion lesson
Explain details*3>summary+p shorthand for quickly scaffolding
multiple disclosure widgets with nested summary and p elements.
2025-12-30 12:36:05 +01:00
2f2969da11 fix: escape HTML tags in lesson validation messages
Prevent HTML elements like <details>, <option>, <form> from being
rendered as actual elements in hint messages by properly escaping
them with &lt; &gt; and wrapping in <kbd> tags.
2025-12-30 12:25:22 +01:00
a8db5b69cf refactor: improve lesson clarity and use friendlier values
Flexbox and Box Model lessons:
- Use explicit task instructions with selector AND property
- Include selector in codePrefix for better context
- Replace hex colors with named CSS colors (steelblue, coral, etc.)
- Simplify values (2px instead of 0.125rem, 1rem instead of 1.25rem)
- Remove redundant contains validations
- Wrap code examples in <code> tags for proper styling
2025-12-30 12:25:15 +01:00
09f937ca07 feat: add CSS lessons matching lecture content (box model, flexbox, responsive, transitions, variables)
- 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
2025-12-29 15:26:59 +01:00
2ce8bb2b1e 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
2025-12-25 15:59:59 +01:00
31407dcb51 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
2025-12-25 15:55:26 +01:00
935969a80c 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
2025-12-25 15:28:11 +01:00
c8a643582f 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)
2025-12-25 15:16:31 +01:00