diff --git a/lessons/00-welcome.json b/lessons/00-welcome.json
index 4dc9143..d71acdd 100644
--- a/lessons/00-welcome.json
+++ b/lessons/00-welcome.json
@@ -1,17 +1,17 @@
{
"$schema": "../schemas/code-crispies-module-schema.json",
"id": "welcome",
- "title": "Code Crispies",
- "description": "Welcome to Code Crispies - your interactive web development learning platform",
+ "title": "Welcome",
+ "description": "Get started with Code Crispies",
"mode": "html",
"difficulty": "beginner",
"excludeFromProgress": true,
"lessons": [
{
- "id": "get-started",
- "title": "Get Started",
- "description": "Code Crispies is a free, open-source platform for learning web development through hands-on exercises. No account required!
What you'll learn:
• HTML - Semantic elements, forms, tables, SVG (HTML Block & Inline, HTML Forms, HTML Tables)
• CSS - Selectors, box model, flexbox, animations (CSS Selectors, CSS Box Model, CSS Flexbox)
• Responsive Design - Media queries and mobile-first layouts
How it works:
1. Read the task in the left panel
2. Write code in the editor
3. See live results in the preview
4. Get instant feedback with hints
Keyboard shortcuts: Ctrl+Z to undo, Ctrl+Shift+Z to redo
More resources:
• HTML over JS - Native HTML vs JavaScript solutions
• Web Engineering Mandala - JavaScript technology roadmap",
- "task": "Write Hello World",
+ "id": "hello",
+ "title": "Hello!",
+ "description": "Welcome to Code Crispies! Learn CSS and HTML through hands-on exercises.
How it works:
1. Read the task on the left
2. Write code in the editor
3. See live results in the preview
Tips: Use Ctrl+Z to undo. Open the menu (☰) to browse all modules.",
+ "task": "Write Hello World to get started",
"previewHTML": "",
"previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 20px; text-align: center; font-size: 2rem; color: #6366f1; font-weight: bold; }",
"sandboxCSS": "",
@@ -25,39 +25,6 @@
"message": "Write Hello World"
}
]
- },
- {
- "id": "overview",
- "title": "Overview",
- "description": "You're ready! Open the menu (☰) to explore all modules.
Recommended learning path:
1. HTML Block & Inline - Understand container vs inline elements
2. HTML Forms - Build interactive forms with validation
3. CSS Selectors - Target elements precisely
4. CSS Box Model - Master padding, margin, borders
5. CSS Flexbox - Create flexible layouts
6. CSS Animations - Add motion and transitions
Tips:
• Use Show Expected to see the target result
• Your progress is saved automatically
• Try Emmet in HTML mode: ul>li*3 + Tab
Open Source:
• Gitea (Source) · GitHub (Mirror)
• Made by LibreTECH · Michael Czechowski",
- "task": "Click Next to continue",
- "previewHTML": "
Hello World! 🌍
Hallo Welt!
Bonjour le monde!
¡Hola Mundo!
Ciao Mondo!
Olá Mundo!
こんにちは世界!
你好世界!
안녕 세상!
Привет мир!
שלום עולם!
مرحبا بالعالم!
", - "previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 12px; } p { margin: 6px 0; padding: 6px 12px; border-radius: 6px; font-weight: 600; font-size: 0.95em; } p:nth-child(1) { background: #fef3c7; color: #92400e; font-size: 1.2em; } p:nth-child(2) { background: #dcfce7; color: #166534; } p:nth-child(3) { background: #dbeafe; color: #1e40af; } p:nth-child(4) { background: #fce7f3; color: #9d174d; } p:nth-child(5) { background: #e0e7ff; color: #4338ca; } p:nth-child(6) { background: #fef9c3; color: #854d0e; } p:nth-child(7) { background: #fee2e2; color: #991b1b; } p:nth-child(8) { background: #f3e8ff; color: #7c3aed; } p:nth-child(9) { background: #ccfbf1; color: #0f766e; } p:nth-child(10) { background: #fae8ff; color: #86198f; } p:nth-child(11) { background: #fef3c7; color: #b45309; } p:nth-child(12) { background: #d1fae5; color: #047857; }", - "sandboxCSS": "", - "initialCode": "Hello World! 🌍
\nHallo Welt!
\nBonjour le monde!
\n¡Hola Mundo!
\nCiao Mondo!
\nOlá Mundo!
\nこんにちは世界!
\n你好世界!
\n안녕 세상!
\nПривет мир!
\nשלום עולם!
\nمرحبا بالعالم!
", - "solution": "Hello World! 🌍
\nHallo Welt!
\nBonjour le monde!
\n¡Hola Mundo!
\nCiao Mondo!
\nOlá Mundo!
\nこんにちは世界!
\n你好世界!
\n안녕 세상!
\nПривет мир!
\nשלום עולם!
\nمرحبا بالعالم!
", - "previewContainer": "preview-area", - "validations": [ - { - "type": "contains", - "value": "Hello", - "message": "Click Next to continue" - } - ] - }, - { - "id": "playground", - "title": "Playground", - "mode": "playground", - "description": "", - "task": "", - "previewHTML": "", - "previewBaseCSS": "", - "sandboxCSS": "", - "initialCode": "\n\nStart coding!
", - "solution": "", - "previewContainer": "preview-area", - "validations": [] } ] } diff --git a/lessons/98-playground.json b/lessons/98-playground.json new file mode 100644 index 0000000..91f4829 --- /dev/null +++ b/lessons/98-playground.json @@ -0,0 +1,25 @@ +{ + "$schema": "../schemas/code-crispies-module-schema.json", + "id": "playground", + "title": "Playground", + "description": "Experiment freely with HTML and CSS", + "mode": "playground", + "difficulty": "beginner", + "excludeFromProgress": true, + "lessons": [ + { + "id": "sandbox", + "title": "Free Coding", + "mode": "playground", + "description": "", + "task": "", + "previewHTML": "", + "previewBaseCSS": "", + "sandboxCSS": "", + "initialCode": "\n\nWrite any HTML and CSS here!
", + "solution": "", + "previewContainer": "preview-area", + "validations": [] + } + ] +} diff --git a/lessons/99-goodbye.json b/lessons/99-goodbye.json index d76e3f3..8e0cf46 100644 --- a/lessons/99-goodbye.json +++ b/lessons/99-goodbye.json @@ -2,21 +2,21 @@ "$schema": "../schemas/code-crispies-module-schema.json", "id": "goodbye", "title": "What's Next?", - "description": "Congratulations on completing your learning journey!", + "description": "Continue your learning journey", "mode": "html", "difficulty": "beginner", "excludeFromProgress": true, "lessons": [ { - "id": "congratulations", - "title": "Well Done!", - "description": "Congratulations! You've made it through Code Crispies!Thank you!",
"previewHTML": "",
- "previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 20px; text-align: center; } p { font-size: 1.5rem; color: #6366f1; }",
+ "previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 20px; text-align: center; font-size: 1.5rem; color: #6366f1; }",
"sandboxCSS": "",
"initialCode": "",
- "solution": "Thank you!
", + "solution": "Thank you!", "previewContainer": "preview-area", "validations": [ { @@ -25,44 +25,6 @@ "message": "TypeThank you!"
}
]
- },
- {
- "id": "contribute",
- "title": "Contribute",
- "description": "Help others learn!lessons/ folder. Check existing lessons for the format!",
- "task": "Click Next to continue",
- "previewHTML": "Create a JSON file in lessons/
{\n \"id\": \"my-lesson\",\n \"title\": \"My Lesson\",\n \"lessons\": [...]\n}Create a JSON file in lessons/
{\n \"id\": \"my-lesson\",\n \"title\": \"My Lesson\",\n \"lessons\": [...]\n}\nCreate a JSON file in lessons/
{\n \"id\": \"my-lesson\",\n \"title\": \"My Lesson\",\n \"lessons\": [...]\n}\nHello World",
+ "id": "hello",
+ "title": "أهلاً!",
+ "description": "مرحباً بك في Code Crispies! تعلم CSS و HTML من خلال تمارين عملية.Hello World للبدء",
"previewHTML": "",
"previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 20px; text-align: center; font-size: 2rem; color: #6366f1; font-weight: bold; }",
"sandboxCSS": "",
@@ -25,39 +25,6 @@
"message": "اكتب Hello World"
}
]
- },
- {
- "id": "overview",
- "title": "نظرة عامة",
- "description": "أنت جاهز! افتح القائمة (☰) لاستكشاف جميع الوحدات.Hello World! 🌍
Hallo Welt!
Bonjour le monde!
¡Hola Mundo!
Ciao Mondo!
Olá Mundo!
こんにちは世界!
你好世界!
안녕 세상!
Привет мир!
שלום עולם!
مرحبا بالعالم!
", - "previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 12px; } p { margin: 6px 0; padding: 6px 12px; border-radius: 6px; font-weight: 600; font-size: 0.95em; } p:nth-child(1) { background: #fef3c7; color: #92400e; font-size: 1.2em; } p:nth-child(2) { background: #dcfce7; color: #166534; } p:nth-child(3) { background: #dbeafe; color: #1e40af; } p:nth-child(4) { background: #fce7f3; color: #9d174d; } p:nth-child(5) { background: #e0e7ff; color: #4338ca; } p:nth-child(6) { background: #fef9c3; color: #854d0e; } p:nth-child(7) { background: #fee2e2; color: #991b1b; } p:nth-child(8) { background: #f3e8ff; color: #7c3aed; } p:nth-child(9) { background: #ccfbf1; color: #0f766e; } p:nth-child(10) { background: #fae8ff; color: #86198f; } p:nth-child(11) { background: #fef3c7; color: #b45309; } p:nth-child(12) { background: #d1fae5; color: #047857; }", - "sandboxCSS": "", - "initialCode": "Hello World! 🌍
\nHallo Welt!
\nBonjour le monde!
\n¡Hola Mundo!
\nCiao Mondo!
\nOlá Mundo!
\nこんにちは世界!
\n你好世界!
\n안녕 세상!
\nПривет мир!
\nשלום עולם!
\nمرحبا بالعالم!
", - "solution": "Hello World! 🌍
\nHallo Welt!
\nBonjour le monde!
\n¡Hola Mundo!
\nCiao Mondo!
\nOlá Mundo!
\nこんにちは世界!
\n你好世界!
\n안녕 세상!
\nПривет мир!
\nשלום עולם!
\nمرحبا بالعالم!
", - "previewContainer": "preview-area", - "validations": [ - { - "type": "contains", - "value": "Hello", - "message": "انقر التالي للمتابعة" - } - ] - }, - { - "id": "playground", - "title": "Playground", - "mode": "playground", - "description": "", - "task": "", - "previewHTML": "", - "previewBaseCSS": "", - "sandboxCSS": "", - "initialCode": "\n\nStart coding!
", - "solution": "", - "previewContainer": "preview-area", - "validations": [] } ] } diff --git a/lessons/de/00-welcome.json b/lessons/de/00-welcome.json index 0e53997..282c8ba 100644 --- a/lessons/de/00-welcome.json +++ b/lessons/de/00-welcome.json @@ -1,17 +1,17 @@ { "$schema": "../../schemas/code-crispies-module-schema.json", "id": "welcome", - "title": "Code Crispies", - "description": "Willkommen bei Code Crispies - deine interaktive Lernplattform für Webentwicklung", + "title": "Willkommen", + "description": "Erste Schritte mit Code Crispies", "mode": "html", "difficulty": "beginner", "excludeFromProgress": true, "lessons": [ { - "id": "get-started", - "title": "Los geht's", - "description": "Code Crispies ist eine kostenlose Open-Source-Plattform zum Erlernen von Webentwicklung durch praktische Übungen. Kein Konto erforderlich!Hello World",
+ "id": "hello",
+ "title": "Hallo!",
+ "description": "Willkommen bei Code Crispies! Lerne CSS und HTML durch praktische Übungen.Hello World zum Starten",
"previewHTML": "",
"previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 20px; text-align: center; font-size: 2rem; color: #6366f1; font-weight: bold; }",
"sandboxCSS": "",
@@ -25,39 +25,6 @@
"message": "Schreibe Hello World"
}
]
- },
- {
- "id": "overview",
- "title": "Übersicht",
- "description": "Du bist bereit! Öffne das Menü (☰) um alle Module zu erkunden.Hello World! 🌍
Hallo Welt!
Bonjour le monde!
¡Hola Mundo!
Ciao Mondo!
Olá Mundo!
こんにちは世界!
你好世界!
안녕 세상!
Привет мир!
שלום עולם!
مرحبا بالعالم!
", - "previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 12px; } p { margin: 6px 0; padding: 6px 12px; border-radius: 6px; font-weight: 600; font-size: 0.95em; } p:nth-child(1) { background: #fef3c7; color: #92400e; font-size: 1.2em; } p:nth-child(2) { background: #dcfce7; color: #166534; } p:nth-child(3) { background: #dbeafe; color: #1e40af; } p:nth-child(4) { background: #fce7f3; color: #9d174d; } p:nth-child(5) { background: #e0e7ff; color: #4338ca; } p:nth-child(6) { background: #fef9c3; color: #854d0e; } p:nth-child(7) { background: #fee2e2; color: #991b1b; } p:nth-child(8) { background: #f3e8ff; color: #7c3aed; } p:nth-child(9) { background: #ccfbf1; color: #0f766e; } p:nth-child(10) { background: #fae8ff; color: #86198f; } p:nth-child(11) { background: #fef3c7; color: #b45309; } p:nth-child(12) { background: #d1fae5; color: #047857; }", - "sandboxCSS": "", - "initialCode": "Hello World! 🌍
\nHallo Welt!
\nBonjour le monde!
\n¡Hola Mundo!
\nCiao Mondo!
\nOlá Mundo!
\nこんにちは世界!
\n你好世界!
\n안녕 세상!
\nПривет мир!
\nשלום עולם!
\nمرحبا بالعالم!
", - "solution": "Hello World! 🌍
\nHallo Welt!
\nBonjour le monde!
\n¡Hola Mundo!
\nCiao Mondo!
\nOlá Mundo!
\nこんにちは世界!
\n你好世界!
\n안녕 세상!
\nПривет мир!
\nשלום עולם!
\nمرحبا بالعالم!
", - "previewContainer": "preview-area", - "validations": [ - { - "type": "contains", - "value": "Hello", - "message": "Klicke auf Weiter" - } - ] - }, - { - "id": "playground", - "title": "Playground", - "mode": "playground", - "description": "", - "task": "", - "previewHTML": "", - "previewBaseCSS": "", - "sandboxCSS": "", - "initialCode": "\n\nStart coding!
", - "solution": "", - "previewContainer": "preview-area", - "validations": [] } ] } diff --git a/lessons/es/00-welcome.json b/lessons/es/00-welcome.json index 438e6b2..5684142 100644 --- a/lessons/es/00-welcome.json +++ b/lessons/es/00-welcome.json @@ -1,17 +1,17 @@ { "$schema": "../../schemas/code-crispies-module-schema.json", "id": "welcome", - "title": "Code Crispies", - "description": "Bienvenido a Code Crispies - tu plataforma interactiva de aprendizaje de desarrollo web", + "title": "Bienvenido", + "description": "Comienza con Code Crispies", "mode": "html", "difficulty": "beginner", "excludeFromProgress": true, "lessons": [ { - "id": "get-started", - "title": "Comenzar", - "description": "Code Crispies es una plataforma gratuita y de código abierto para aprender desarrollo web mediante ejercicios prácticos. ¡No se requiere cuenta!Hello World",
+ "id": "hello",
+ "title": "¡Hola!",
+ "description": "¡Bienvenido a Code Crispies! Aprende CSS y HTML con ejercicios prácticos.Hello World para comenzar",
"previewHTML": "",
"previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 20px; text-align: center; font-size: 2rem; color: #6366f1; font-weight: bold; }",
"sandboxCSS": "",
@@ -25,39 +25,6 @@
"message": "Escribe Hello World"
}
]
- },
- {
- "id": "overview",
- "title": "Vista General",
- "description": "¡Estás listo! Abre el menú (☰) para explorar todos los módulos.Hello World! 🌍
Hallo Welt!
Bonjour le monde!
¡Hola Mundo!
Ciao Mondo!
Olá Mundo!
こんにちは世界!
你好世界!
안녕 세상!
Привет мир!
שלום עולם!
مرحبا بالعالم!
", - "previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 12px; } p { margin: 6px 0; padding: 6px 12px; border-radius: 6px; font-weight: 600; font-size: 0.95em; } p:nth-child(1) { background: #fef3c7; color: #92400e; font-size: 1.2em; } p:nth-child(2) { background: #dcfce7; color: #166534; } p:nth-child(3) { background: #dbeafe; color: #1e40af; } p:nth-child(4) { background: #fce7f3; color: #9d174d; } p:nth-child(5) { background: #e0e7ff; color: #4338ca; } p:nth-child(6) { background: #fef9c3; color: #854d0e; } p:nth-child(7) { background: #fee2e2; color: #991b1b; } p:nth-child(8) { background: #f3e8ff; color: #7c3aed; } p:nth-child(9) { background: #ccfbf1; color: #0f766e; } p:nth-child(10) { background: #fae8ff; color: #86198f; } p:nth-child(11) { background: #fef3c7; color: #b45309; } p:nth-child(12) { background: #d1fae5; color: #047857; }", - "sandboxCSS": "", - "initialCode": "Hello World! 🌍
\nHallo Welt!
\nBonjour le monde!
\n¡Hola Mundo!
\nCiao Mondo!
\nOlá Mundo!
\nこんにちは世界!
\n你好世界!
\n안녕 세상!
\nПривет мир!
\nשלום עולם!
\nمرحبا بالعالم!
", - "solution": "Hello World! 🌍
\nHallo Welt!
\nBonjour le monde!
\n¡Hola Mundo!
\nCiao Mondo!
\nOlá Mundo!
\nこんにちは世界!
\n你好世界!
\n안녕 세상!
\nПривет мир!
\nשלום עולם!
\nمرحبا بالعالم!
", - "previewContainer": "preview-area", - "validations": [ - { - "type": "contains", - "value": "Hello", - "message": "Haz clic en Siguiente para continuar" - } - ] - }, - { - "id": "playground", - "title": "Playground", - "mode": "playground", - "description": "", - "task": "", - "previewHTML": "", - "previewBaseCSS": "", - "sandboxCSS": "", - "initialCode": "\n\nStart coding!
", - "solution": "", - "previewContainer": "preview-area", - "validations": [] } ] } diff --git a/lessons/pl/00-welcome.json b/lessons/pl/00-welcome.json index 25bf799..590738a 100644 --- a/lessons/pl/00-welcome.json +++ b/lessons/pl/00-welcome.json @@ -1,17 +1,17 @@ { "$schema": "../../schemas/code-crispies-module-schema.json", "id": "welcome", - "title": "Code Crispies", - "description": "Witaj w Code Crispies - twojej interaktywnej platformie do nauki tworzenia stron", + "title": "Witaj", + "description": "Rozpocznij przygodę z Code Crispies", "mode": "html", "difficulty": "beginner", "excludeFromProgress": true, "lessons": [ { - "id": "get-started", - "title": "Rozpocznij", - "description": "Code Crispies to darmowa platforma open-source do nauki tworzenia stron przez praktyczne ćwiczenia. Konto nie jest wymagane!Hello World",
+ "id": "hello",
+ "title": "Cześć!",
+ "description": "Witaj w Code Crispies! Naucz się CSS i HTML poprzez praktyczne ćwiczenia.Hello World aby rozpocząć",
"previewHTML": "",
"previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 20px; text-align: center; font-size: 2rem; color: #6366f1; font-weight: bold; }",
"sandboxCSS": "",
@@ -25,39 +25,6 @@
"message": "Napisz Hello World"
}
]
- },
- {
- "id": "overview",
- "title": "Przegląd",
- "description": "Jesteś gotowy! Otwórz menu (☰) aby odkryć wszystkie moduły.Hello World! 🌍
Hallo Welt!
Bonjour le monde!
¡Hola Mundo!
Ciao Mondo!
Olá Mundo!
こんにちは世界!
你好世界!
안녕 세상!
Привет мир!
שלום עולם!
مرحبا بالعالم!
", - "previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 12px; } p { margin: 6px 0; padding: 6px 12px; border-radius: 6px; font-weight: 600; font-size: 0.95em; } p:nth-child(1) { background: #fef3c7; color: #92400e; font-size: 1.2em; } p:nth-child(2) { background: #dcfce7; color: #166534; } p:nth-child(3) { background: #dbeafe; color: #1e40af; } p:nth-child(4) { background: #fce7f3; color: #9d174d; } p:nth-child(5) { background: #e0e7ff; color: #4338ca; } p:nth-child(6) { background: #fef9c3; color: #854d0e; } p:nth-child(7) { background: #fee2e2; color: #991b1b; } p:nth-child(8) { background: #f3e8ff; color: #7c3aed; } p:nth-child(9) { background: #ccfbf1; color: #0f766e; } p:nth-child(10) { background: #fae8ff; color: #86198f; } p:nth-child(11) { background: #fef3c7; color: #b45309; } p:nth-child(12) { background: #d1fae5; color: #047857; }", - "sandboxCSS": "", - "initialCode": "Hello World! 🌍
\nHallo Welt!
\nBonjour le monde!
\n¡Hola Mundo!
\nCiao Mondo!
\nOlá Mundo!
\nこんにちは世界!
\n你好世界!
\n안녕 세상!
\nПривет мир!
\nשלום עולם!
\nمرحبا بالعالم!
", - "solution": "Hello World! 🌍
\nHallo Welt!
\nBonjour le monde!
\n¡Hola Mundo!
\nCiao Mondo!
\nOlá Mundo!
\nこんにちは世界!
\n你好世界!
\n안녕 세상!
\nПривет мир!
\nשלום עולם!
\nمرحبا بالعالم!
", - "previewContainer": "preview-area", - "validations": [ - { - "type": "contains", - "value": "Hello", - "message": "Kliknij Dalej aby kontynuować" - } - ] - }, - { - "id": "playground", - "title": "Playground", - "mode": "playground", - "description": "", - "task": "", - "previewHTML": "", - "previewBaseCSS": "", - "sandboxCSS": "", - "initialCode": "\n\nStart coding!
", - "solution": "", - "previewContainer": "preview-area", - "validations": [] } ] } diff --git a/lessons/uk/00-welcome.json b/lessons/uk/00-welcome.json index 908b05f..f2d9fe9 100644 --- a/lessons/uk/00-welcome.json +++ b/lessons/uk/00-welcome.json @@ -1,17 +1,17 @@ { "$schema": "../../schemas/code-crispies-module-schema.json", "id": "welcome", - "title": "Code Crispies", - "description": "Ласкаво просимо до Code Crispies - вашої інтерактивної платформи для вивчення веб-розробки", + "title": "Ласкаво просимо", + "description": "Почніть з Code Crispies", "mode": "html", "difficulty": "beginner", "excludeFromProgress": true, "lessons": [ { - "id": "get-started", - "title": "Почати", - "description": "Code Crispies - це безкоштовна платформа з відкритим кодом для вивчення веб-розробки через практичні вправи. Обліковий запис не потрібен!Hello World",
+ "id": "hello",
+ "title": "Привіт!",
+ "description": "Ласкаво просимо до Code Crispies! Вивчайте CSS та HTML через практичні вправи.Hello World щоб почати",
"previewHTML": "",
"previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 20px; text-align: center; font-size: 2rem; color: #6366f1; font-weight: bold; }",
"sandboxCSS": "",
@@ -25,39 +25,6 @@
"message": "Напишіть Hello World"
}
]
- },
- {
- "id": "overview",
- "title": "Огляд",
- "description": "Ви готові! Відкрийте меню (☰) щоб дослідити всі модулі.Hello World! 🌍
Hallo Welt!
Bonjour le monde!
¡Hola Mundo!
Ciao Mondo!
Olá Mundo!
こんにちは世界!
你好世界!
안녕 세상!
Привет мир!
שלום עולם!
مرحبا بالعالم!
", - "previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 12px; } p { margin: 6px 0; padding: 6px 12px; border-radius: 6px; font-weight: 600; font-size: 0.95em; } p:nth-child(1) { background: #fef3c7; color: #92400e; font-size: 1.2em; } p:nth-child(2) { background: #dcfce7; color: #166534; } p:nth-child(3) { background: #dbeafe; color: #1e40af; } p:nth-child(4) { background: #fce7f3; color: #9d174d; } p:nth-child(5) { background: #e0e7ff; color: #4338ca; } p:nth-child(6) { background: #fef9c3; color: #854d0e; } p:nth-child(7) { background: #fee2e2; color: #991b1b; } p:nth-child(8) { background: #f3e8ff; color: #7c3aed; } p:nth-child(9) { background: #ccfbf1; color: #0f766e; } p:nth-child(10) { background: #fae8ff; color: #86198f; } p:nth-child(11) { background: #fef3c7; color: #b45309; } p:nth-child(12) { background: #d1fae5; color: #047857; }", - "sandboxCSS": "", - "initialCode": "Hello World! 🌍
\nHallo Welt!
\nBonjour le monde!
\n¡Hola Mundo!
\nCiao Mondo!
\nOlá Mundo!
\nこんにちは世界!
\n你好世界!
\n안녕 세상!
\nПривет мир!
\nשלום עולם!
\nمرحبا بالعالم!
", - "solution": "Hello World! 🌍
\nHallo Welt!
\nBonjour le monde!
\n¡Hola Mundo!
\nCiao Mondo!
\nOlá Mundo!
\nこんにちは世界!
\n你好世界!
\n안녕 세상!
\nПривет мир!
\nשלום עולם!
\nمرحبا بالعالم!
", - "previewContainer": "preview-area", - "validations": [ - { - "type": "contains", - "value": "Hello", - "message": "Натисніть Далі щоб продовжити" - } - ] - }, - { - "id": "playground", - "title": "Playground", - "mode": "playground", - "description": "", - "task": "", - "previewHTML": "", - "previewBaseCSS": "", - "sandboxCSS": "", - "initialCode": "\n\nStart coding!
", - "solution": "", - "previewContainer": "preview-area", - "validations": [] } ] } diff --git a/src/config/lessons.js b/src/config/lessons.js index 118949d..8eb7144 100644 --- a/src/config/lessons.js +++ b/src/config/lessons.js @@ -21,6 +21,7 @@ import htmlTablesEN from "../../lessons/30-html-tables.json"; import htmlSvgEN from "../../lessons/32-html-svg.json"; import flexboxEN from "../../lessons/flexbox.json"; import gridEN from "../../lessons/grid.json"; +import playgroundEN from "../../lessons/98-playground.json"; import goodbyeEN from "../../lessons/99-goodbye.json"; // German lesson imports @@ -123,8 +124,9 @@ const moduleStoreEN = [ htmlFormsBasicEN, htmlFormsValidationEN, htmlTablesEN, - // Goodbye - goodbyeEN + // Outro + goodbyeEN, + playgroundEN ]; // German module store - ordered for design students @@ -152,8 +154,9 @@ const moduleStoreDE = [ htmlFormsBasicDE, htmlFormsValidationDE, htmlTablesDE, - // Goodbye - goodbyeEN + // Outro + goodbyeEN, + playgroundEN ]; // Polish module store - ordered for design students @@ -181,8 +184,9 @@ const moduleStorePL = [ htmlFormsBasicPL, htmlFormsValidationPL, htmlTablesPL, - // Goodbye - goodbyeEN + // Outro + goodbyeEN, + playgroundEN ]; // Spanish module store - ordered for design students @@ -210,8 +214,9 @@ const moduleStoreES = [ htmlFormsBasicES, htmlFormsValidationES, htmlTablesES, - // Goodbye - goodbyeEN + // Outro + goodbyeEN, + playgroundEN ]; // Arabic module store - ordered for design students @@ -239,8 +244,9 @@ const moduleStoreAR = [ htmlFormsBasicAR, htmlFormsValidationAR, htmlTablesAR, - // Goodbye - goodbyeEN + // Outro + goodbyeEN, + playgroundEN ]; // Ukrainian module store - ordered for design students @@ -268,8 +274,9 @@ const moduleStoreUK = [ htmlFormsBasicUK, htmlFormsValidationUK, htmlTablesUK, - // Goodbye - goodbyeEN + // Outro + goodbyeEN, + playgroundEN ]; // Map of language codes to module stores