Merge version_1 into main

Merge version_1 into main
This commit was merged in pull request #1.
This commit is contained in:
2026-03-18 08:55:52 +00:00
5 changed files with 74 additions and 33 deletions

View File

@@ -69,7 +69,7 @@ export default function InterpreterPage() {
},
]}
buttonAnimation="blur-reveal"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-browser-based-python-interpreter-inter-1773824100739-2213359b.png"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-browser-based-python-interpreter-inter-1773824100739-2213359b.png?_wi=2"
imageAlt="Online Python interpreter interface"
mediaAnimation="slide-up"
/>
@@ -96,7 +96,7 @@ export default function InterpreterPage() {
<ContactSplitForm
title="Start Coding in Python Right Now"
description="Have questions about the interpreter or want to share feedback? Reach out to us. We'd love to hear from you!"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-browser-based-python-interpreter-inter-1773824100739-2213359b.png"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-browser-based-python-interpreter-inter-1773824100739-2213359b.png?_wi=3"
imageAlt="Python interpreter interface"
mediaAnimation="slide-up"
mediaPosition="right"

View File

@@ -1,24 +1,63 @@
import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google";
import { Nunito } from "next/font/google";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Nunito } from "next/font/google";
const halant = Halant({
variable: "--font-halant",
subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
});
export const metadata: Metadata = {
title: "Webild components 2",
description: "Generated by create next app",
};
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
const nunito = Nunito({
variable: "--font-nunito",
subsets: ["latin"],
});
export const metadata: Metadata = {
title: "PyLearn - Learn Python with Interactive Browser Interpreter",
description: "Master Python programming with PyLearn's beginner-friendly platform featuring interactive tutorials, hands-on challenges, and an integrated Python interpreter. Start coding now!",
keywords: "python programming, learn python, python interpreter, coding tutorials, beginner programming, interactive coding",
metadataBase: new URL("https://pylearn.app"),
alternates: {
canonical: "https://pylearn.app",
},
openGraph: {
title: "PyLearn - Learn Python Interactively",
description: "Master Python programming with our comprehensive platform. Write code, see results instantly. Perfect for beginners!",
url: "https://pylearn.app",
siteName: "PyLearn",
type: "website",
images: [
{
url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-modern-code-editor-interface-displayin-1773824099697-e11e3078.png",
alt: "PyLearn Python Learning Platform",
},
],
},
twitter: {
card: "summary_large_image",
title: "PyLearn - Learn Python Interactively",
description: "Master Python programming with browser-based interpreter and interactive lessons",
images: [
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-modern-code-editor-interface-displayin-1773824099697-e11e3078.png",
],
},
robots: {
index: true,
follow: true,
},
};
export default function RootLayout({
children,
}: Readonly<{
@@ -27,7 +66,9 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body className={`${nunito.variable} antialiased`}>
<body
className={`${halant.variable} ${inter.variable} ${nunito.variable} antialiased`}
>
<Tag />
{children}
<script
@@ -39,4 +80,4 @@ export default function RootLayout({
</ServiceWrapper>
</html>
);
}
}

View File

@@ -52,7 +52,7 @@ export default function LearnPage() {
{ text: "View All Topics", href: "/learn" }
]}
buttonAnimation="blur-reveal"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/an-educational-lesson-interface-showing--1773824099800-8c0e260b.png"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/an-educational-lesson-interface-showing--1773824099800-8c0e260b.png?_wi=2"
imageAlt="Python learning lessons"
mediaAnimation="slide-up"
/>
@@ -74,7 +74,7 @@ export default function LearnPage() {
title: "Python Basics Module",
subtitle: "Variables, Data Types, and Operations",
description: "Start your Python journey with the fundamentals. Learn about variables, different data types (strings, integers, floats), basic operations, and how Python interprets your code. Perfect foundation for beginners.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-welcoming-introduction-scene-to-python-1773824099453-712f97b3.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-welcoming-introduction-scene-to-python-1773824099453-712f97b3.png?_wi=2",
imageAlt: "Python basics introduction"
},
{
@@ -83,7 +83,7 @@ export default function LearnPage() {
title: "Loops and Conditionals",
subtitle: "Decision Making and Iteration",
description: "Master if-else statements for decision making and loops for iteration. Learn about for loops, while loops, and how to control program flow. Build the logic skills needed for real programs.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/an-intermediate-python-programmer-workin-1773824099739-6f478f46.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/an-intermediate-python-programmer-workin-1773824099739-6f478f46.png?_wi=2",
imageAlt: "Python control flow"
},
{
@@ -92,7 +92,7 @@ export default function LearnPage() {
title: "Functions and Data Structures",
subtitle: "Lists, Dictionaries, and Reusable Code",
description: "Learn to write reusable functions, organize your code efficiently, and manage complex data with lists and dictionaries. Understand how to structure Python programs professionally.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-coding-challenges-platform-showing-beg-1773824100597-aef15a40.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-coding-challenges-platform-showing-beg-1773824100597-aef15a40.png?_wi=2",
imageAlt: "Python functions and structures"
}
]}
@@ -103,7 +103,7 @@ export default function LearnPage() {
<ContactSplitForm
title="Ready to Learn Python?"
description="Get started with PyLearn today. Access all our tutorials, challenges, and the interactive interpreter. Join thousands of beginners learning to code."
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-modern-code-editor-interface-displayin-1773824099697-e11e3078.png"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-modern-code-editor-interface-displayin-1773824099697-e11e3078.png?_wi=2"
imageAlt="Python learning interface"
mediaAnimation="slide-up"
mediaPosition="right"

View File

@@ -56,7 +56,7 @@ export default function HomePage() {
{ text: "Try Interpreter Now", href: "/learn" }
]}
buttonAnimation="blur-reveal"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-modern-code-editor-interface-displayin-1773824099697-e11e3078.png"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-modern-code-editor-interface-displayin-1773824099697-e11e3078.png?_wi=1"
imageAlt="Python code editor interface"
mediaAnimation="slide-up"
/>
@@ -78,7 +78,7 @@ export default function HomePage() {
title: "Browser-Based Interpreter",
subtitle: "Write and Execute Python Code Instantly",
description: "No installation needed. Write Python code directly in your browser and see the output immediately. Perfect for learning without setup complexity.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-browser-based-python-interpreter-inter-1773824100739-2213359b.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-browser-based-python-interpreter-inter-1773824100739-2213359b.png?_wi=1",
imageAlt: "Online Python interpreter"
},
{
@@ -87,7 +87,7 @@ export default function HomePage() {
title: "Comprehensive Tutorials",
subtitle: "From Variables to Advanced Concepts",
description: "Learn variables, loops, functions, lists, dictionaries, file handling, and basic data analysis through clear explanations and practical examples.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/an-educational-lesson-interface-showing--1773824099800-8c0e260b.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/an-educational-lesson-interface-showing--1773824099800-8c0e260b.png?_wi=1",
imageAlt: "Python learning lessons"
},
{
@@ -96,7 +96,7 @@ export default function HomePage() {
title: "Coding Challenges",
subtitle: "Apply What You've Learned",
description: "Practice with beginner-friendly challenges, receive hints when stuck, and view sample solutions. Build confidence through repeated practice.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-coding-challenges-platform-showing-beg-1773824100597-aef15a40.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-coding-challenges-platform-showing-beg-1773824100597-aef15a40.png?_wi=1",
imageAlt: "Python coding challenges"
}
]}
@@ -128,25 +128,25 @@ export default function HomePage() {
{
id: "1",
name: "Sarah Johnson",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-photo-of-a-young-p-1773824099410-832f9c00.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-photo-of-a-young-p-1773824099410-832f9c00.png?_wi=1",
imageAlt: "Sarah Johnson"
},
{
id: "2",
name: "Marcus Chen",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-of-a-mid-career-de-1773824098653-ff4cffc6.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-of-a-mid-career-de-1773824098653-ff4cffc6.png?_wi=1",
imageAlt: "Marcus Chen"
},
{
id: "3",
name: "Priya Patel",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-of-a-diverse-tech--1773824099111-c3409ef1.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-of-a-diverse-tech--1773824099111-c3409ef1.png?_wi=1",
imageAlt: "Priya Patel"
},
{
id: "4",
name: "James Williams",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-of-a-successful-pr-1773824098688-76774071.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-of-a-successful-pr-1773824098688-76774071.png?_wi=1",
imageAlt: "James Williams"
}
]}
@@ -169,7 +169,7 @@ export default function HomePage() {
category: "Beginner Guide",
title: "Getting Started with Python: Your First Steps",
excerpt: "Learn the fundamentals of Python programming, set up your environment, and write your first program.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-welcoming-introduction-scene-to-python-1773824099453-712f97b3.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-welcoming-introduction-scene-to-python-1773824099453-712f97b3.png?_wi=1",
imageAlt: "Python getting started",
authorName: "Dr. Alex Turner",
authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-photo-of-a-young-p-1773824099410-832f9c00.png",
@@ -180,7 +180,7 @@ export default function HomePage() {
category: "Intermediate Level",
title: "Mastering Data Structures: Lists, Dicts & More",
excerpt: "Deep dive into Python's powerful data structures and learn how to use them effectively in your programs.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/an-intermediate-python-programmer-workin-1773824099739-6f478f46.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/an-intermediate-python-programmer-workin-1773824099739-6f478f46.png?_wi=1",
imageAlt: "Python data structures",
authorName: "Dr. Lisa Wong",
authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-of-a-mid-career-de-1773824098653-ff4cffc6.png",
@@ -191,7 +191,7 @@ export default function HomePage() {
category: "Web Development",
title: "Building Web Apps with Python: Flask Basics",
excerpt: "Introduction to Flask framework and how to build simple web applications using Python.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/python-web-development-scene-showing-fla-1773824099826-147f4a68.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/python-web-development-scene-showing-fla-1773824099826-147f4a68.png?_wi=1",
imageAlt: "Python web development",
authorName: "James Rodriguez",
authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-of-a-diverse-tech--1773824099111-c3409ef1.png",

View File

@@ -64,7 +64,7 @@ export default function PracticePage() {
title: "Start Simple",
subtitle: "Build Confidence with Basic Problems",
description: "Begin with fundamental challenges involving variables, loops, and simple functions. Each challenge includes helpful hints and example solutions.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-coding-challenges-platform-showing-beg-1773824100597-aef15a40.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/a-coding-challenges-platform-showing-beg-1773824100597-aef15a40.png?_wi=3",
imageAlt: "Python coding challenges",
},
{
@@ -73,7 +73,7 @@ export default function PracticePage() {
title: "Level Up",
subtitle: "Tackle More Complex Solutions",
description: "Progress to challenges involving data structures, file handling, and algorithmic thinking. Test your understanding with real-world scenarios.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/an-intermediate-python-programmer-workin-1773824099739-6f478f46.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/an-intermediate-python-programmer-workin-1773824099739-6f478f46.png?_wi=3",
imageAlt: "Python intermediate problems",
},
{
@@ -82,7 +82,7 @@ export default function PracticePage() {
title: "Apply Knowledge",
subtitle: "Build Practical Python Applications",
description: "Work on mini-projects that solve real problems. From data analysis to simple automation tasks, see Python in action.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/python-web-development-scene-showing-fla-1773824099826-147f4a68.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/python-web-development-scene-showing-fla-1773824099826-147f4a68.png?_wi=2",
imageAlt: "Python real-world projects",
},
]}
@@ -100,25 +100,25 @@ export default function PracticePage() {
{
id: "1",
name: "Sarah Johnson",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-photo-of-a-young-p-1773824099410-832f9c00.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-photo-of-a-young-p-1773824099410-832f9c00.png?_wi=2",
imageAlt: "Sarah Johnson",
},
{
id: "2",
name: "Marcus Chen",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-of-a-mid-career-de-1773824098653-ff4cffc6.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-of-a-mid-career-de-1773824098653-ff4cffc6.png?_wi=2",
imageAlt: "Marcus Chen",
},
{
id: "3",
name: "Priya Patel",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-of-a-diverse-tech--1773824099111-c3409ef1.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-of-a-diverse-tech--1773824099111-c3409ef1.png?_wi=2",
imageAlt: "Priya Patel",
},
{
id: "4",
name: "James Williams",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-of-a-successful-pr-1773824098688-76774071.png",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B6sh1xZKNJYDe63NCnshCWKiPL/professional-headshot-of-a-successful-pr-1773824098688-76774071.png?_wi=2",
imageAlt: "James Williams",
},
]}