+ );
+}
diff --git a/src/components/Events/ContributionGuide.tsx b/src/components/Events/ContributionGuide.tsx
new file mode 100644
index 000000000..869a9a3d0
--- /dev/null
+++ b/src/components/Events/ContributionGuide.tsx
@@ -0,0 +1,83 @@
+import { BookOpenCheck, ArrowLeft } from 'lucide-react';
+import GuideStep from './GuideStep';
+import FAQSection from './FAQSection';
+import ResourcesSection from './ResourcesSection';
+import { GUIDE_STEPS, FAQS, RESOURCES } from './guide';
+
+interface ContributionGuideProps {
+ onBackToEvents: () => void;
+}
+
+export default function ContributionGuide({ onBackToEvents }: ContributionGuideProps) {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ Contribution Guide
+
+
+ Your step-by-step journey into open source
+
+
+
+
+
+ Contributing to open source can seem intimidating at first, but it's one of the most rewarding
+ ways to learn, teach, and build experience. This guide will walk you through every step of making
+ your first contribution, from finding a project to getting your pull request merged.
+
+
+
+
+
+
+
+
+
+ Getting Started
+
+
+
+
+ {GUIDE_STEPS.map((step, index) => (
+
+ ))}
+
+
+
+
+
+
+
+
+
+
Ready to Get Started?
+
+ Browse open source events and find the perfect project for your first contribution.
+
+
+ );
+}
diff --git a/src/components/Events/Hero.tsx b/src/components/Events/Hero.tsx
new file mode 100644
index 000000000..93c12ef83
--- /dev/null
+++ b/src/components/Events/Hero.tsx
@@ -0,0 +1,49 @@
+import { Calendar, Users, Globe } from 'lucide-react';
+
+export default function Hero() {
+ return (
+
+
+
+
+
+
+ Open Source Events
+
+
+
+ Discover & Join Open Source Events With CodeHarborHub
+
+
+
+ Connect with the global open-source community through hackathons, mentorship programs,
+ and collaborative coding events. Whether you're a beginner or an experienced developer,
+ there's an event for you.
+
- );
-};
-
-export default LinearSearchVisualizer;
diff --git a/src/pages/events/hacktoberfest.md b/src/pages/events/hacktoberfest.md
new file mode 100644
index 000000000..1508d5e53
--- /dev/null
+++ b/src/pages/events/hacktoberfest.md
@@ -0,0 +1,64 @@
+---
+id: hacktoberfest
+title: Hacktoberfest
+sidebar_label: Hacktoberfest
+tags: [hacktoberfest, open-source, contribution, github, git]
+description: "Hacktoberfest is a month-long celebration of open-source software development where developers worldwide contribute to projects, earn swag, and grow with the community."
+keywords: [hacktoberfest, open-source, github, git, contributions, digitalocean, annual event, october]
+---
+
+**Dates:** 🗓 October 1 – October 31
+**Type:** 🌟 Beginner Friendly • Global • Annual
+
+Hacktoberfest is an annual, month-long event celebrating open-source software. It encourages developers of all skill levels—from complete beginners to seasoned contributors—to engage with the open-source community.
+
+Participants can contribute to various projects, fix bugs, improve documentation, add features, and more. In return, they get a chance to **earn cool swag, t-shirts, or digital rewards**, while supporting the community and learning real-world software practices.
+
+---
+
+## 🎯 Why Participate?
+
+- ✅ **Beginner Friendly**: Great for first-time contributors.
+- 🌍 **Global Event**: Thousands of developers around the world take part.
+- 🏆 **Rewards & Recognition**: Earn swag or digital rewards.
+- 🤝 **Networking**: Collaborate with developers, maintainers, and organizations.
+- 📈 **Skill Building**: Improve Git, GitHub, and open-source contribution skills.
+
+---
+
+## 🚀 How to Get Started
+
+1. **Register** on the official Hacktoberfest website: [Hacktoberfest](https://hacktoberfest.com/)
+2. **Find Projects**: Look for repositories with the label `hacktoberfest` on GitHub or GitLab.
+3. **Make Contributions**: Fix bugs, add documentation, or build new features.
+4. **Submit Pull Requests**: Quality PRs count towards completion.
+5. **Complete 4 PRs**: Successfully merge at least four pull requests during October.
+
+---
+
+## 📌 Key Guidelines
+
+- PRs should be **meaningful** (not spammy).
+- Follow each project's **contribution guidelines**.
+- Contributions can be **code, documentation, or even design fixes**.
+- Be respectful and collaborate with maintainers.
+
+---
+
+## 🔗 Useful Links
+
+- 🌐 [Hacktoberfest Official Website](https://hacktoberfest.com/)
+- 📂 [Hacktoberfest Projects on GitHub](https://github.com/topics/hacktoberfest)
+- 📖 [Beginner’s Guide to Hacktoberfest](https://hacktoberfest.com/participation/)
+
+:::tip
+
+Start early in October to have ample time for contributions and to address any feedback from maintainers.
+
+:::
+
+---
+
+## 🏁 Conclusion
+
+Hacktoberfest is not just about swag—it’s about building a habit of contributing to open source, improving your skills, and joining a global developer community. Whether you're a beginner or an expert, this is your chance to **make an impact in open source**.
\ No newline at end of file
diff --git a/src/pages/events/index.tsx b/src/pages/events/index.tsx
new file mode 100644
index 000000000..29896bdde
--- /dev/null
+++ b/src/pages/events/index.tsx
@@ -0,0 +1,40 @@
+import Layout from "@theme/Layout";
+import { useState } from "react";
+
+import Hero from "@site/src/components/Events/Hero";
+import EventsGrid from "@site/src/components/Events/EventsGrid";
+import ContributionGuide from "@site/src/components/Events/ContributionGuide";
+
+export default function EventsPage() {
+ const [currentView, setCurrentView] = useState<"events" | "guide">("events");
+ return (
+
+ {currentView === "events" ? (
+ <>
+
+
+
+
+
New to Open Source?
+
+ Check out our comprehensive guide to learn how to make your
+ first contribution.
+
+
+
+
+ >
+ ) : (
+ setCurrentView("events")} />
+ )}
+
+ );
+}
diff --git a/src/theme/MDXComponents.js b/src/theme/MDXComponents.js
index 013995ddd..0deb9d610 100644
--- a/src/theme/MDXComponents.js
+++ b/src/theme/MDXComponents.js
@@ -6,10 +6,6 @@ import BrowserWindow from "@site/src/components/BrowserWindow";
import CollectionList from "@site/src/components/CollectionList";
import Contributors from "@site/src/components/Contributors";
import Courses from "@site/src/components/Courses";
-import ArrayVisualizations from "@site/src/components/DSA/arrays/ArrayVisualizations";
-import BubbleSortVisualization from "@site/src/components/DSA/arrays/BubbleSortVisualization";
-import InsertionSortVisualization from "@site/src/components/DSA/arrays/InsertionSortVisualization";
-import SelectionSortVisualization from "@site/src/components/DSA/arrays/SelectionSortVisualization";
import File from "@site/src/components/File";
import GiscusComponent from "@site/src/components/GiscusComponent";
import Highlight from "@site/src/components/Highlight";
@@ -17,7 +13,6 @@ import Lesson from "@site/src/components/Lesson";
import SolutionAuthor from "@site/src/components/SolutionAuthor";
import Table from "@site/src/components/Table";
import TutorialAuthors from "@site/src/components/TutorialAuthors";
-import LinearSearchVisualizer from "@site/src/dsa/searching-algorithms/LinearSearchVisualizer";
import MDXComponents from "@theme-original/MDXComponents";
import DocCardList from "@theme/DocCardList";
import Image from "@theme/IdealImage";
@@ -42,20 +37,15 @@ export default {
BrowserWindow,
Highlight,
GiscusComponent,
- ArrayVisualizations,
- BubbleSortVisualization,
- SelectionSortVisualization,
CollectionList,
DocCardList,
FaReact,
Courses,
- InsertionSortVisualization,
File,
Lesson,
Image,
LiteYouTubeEmbed,
Author,
- LinearSearchVisualizer,
AdsComponent,
Comming,
Admonition,