Commit Graph

217 Commits

Author SHA1 Message Date
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
d475e22afb docs: Update plan and progress for subtask 3.5 completion 2026-01-11 05:20:27 +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
9e7781ada6 docs: update progress for completed subtask 2.4 2026-01-11 04:40:46 +01:00
3c08b45b6a feat: add whyThisWorks translation key for concept section
Add 'Why This Works' translation key to all 6 supported languages (en, de, pl, es, ar, uk) for the new concept section UI in lessons.
2026-01-11 04:40:21 +01:00
e21bca16a8 feat: populate concept section in renderLesson function
- Add logic to populate concept explanation, diagram, and containerVsItem fields
- Show concept section when concept data exists, hide when not defined
- Clear optional fields to prevent stale data from previous lessons
- Use textContent for text fields and innerHTML for diagram (SVG support)
2026-01-11 04:38:52 +01:00
49740f877d Update progress tracking for subtask 2.2 completion 2026-01-11 04:36:22 +01:00
0e39cffccb auto-claude: 2.2 - Add CSS styles for the concept panel: distinct vis 2026-01-11 04:35:27 +01:00
2a9565cff6 auto-claude: 2.1 - Add native <details><summary> element for Why This Works section 2026-01-11 04:32:41 +01:00
4486078599 feat: add concept field to lesson schema
Add 'concept' object to lesson schema with:
- explanation: required string for 2-4 sentence concept explanation
- diagram: optional string for SVG/ASCII art diagrams
- containerVsItem: optional string for Flexbox-specific distinctions
2026-01-11 04:29:07 +01:00
760690cdf1 test: update tests for new features and fix test expectations
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2026-01-07 14:16:51 +01:00
fbe0f20ef7 feat: add reset code confirmation dialog with skip option
- Add dialog to confirm resetting code to initial state
- Allow users to skip confirmation with "don't show again" checkbox
- Save preference to user settings
- Improve i18n and CodeEditor components
2026-01-07 14:16:45 +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
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