Skip to content

Commit f0a9db8

Browse files
authored
Merge pull request #46 from Sohan-Rout/main1
Main1
2 parents f83eb59 + bec882e commit f0a9db8

File tree

3 files changed

+75
-61
lines changed

3 files changed

+75
-61
lines changed

README.md

Lines changed: 15 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<p align="center">
2-
<img src="./public/DSAVisualizer.png" alt="DSAVisualizer Banner"/>
2+
<img src="./public/og.png" alt="DSAVisualizer Banner"/>
33
</p>
44

55
<h1 align="center">DSAVisualizer</h1>
@@ -12,32 +12,20 @@
1212
Built with ❤️ by <a href="https://github.com/Sohan-Rout">Sohan Rout</a>
1313
</p>
1414

15-
<p align="center">
16-
<a href="https://www.dsavisualizer.in/">Live Demo</a> •
17-
<a href="https://github.com/Sohan-Rout/DSAVisualizer/issues">Report Bug</a> •
18-
<a href="https://github.com/Sohan-Rout/DSAVisualizer/issues">Request Feature</a>
19-
</p>
20-
2115
---
2216

2317
<p align="center">
2418
<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License: Apache 2.0">
25-
<img src="https://img.shields.io/badge/Next.js-%23000000.svg?style=flat&logo=next.js&logoColor=white" alt="Next.js">
26-
<img src="https://img.shields.io/badge/TailwindCSS-38B2AC?style=flat&logo=tailwind-css&logoColor=white" alt="TailwindCSS">
27-
<img src="https://img.shields.io/badge/Made%20With-Love-red" alt="Made With Love">
19+
</p>
20+
<p align="center">
21+
<p align="left">Product Built Using:</p>
22+
<a href="https://skillicons.dev">
23+
<img src="https://skillicons.dev/icons?i=git,js,react,nextjs,tailwind,supabase,redis,npm,vercel,googlecloud" />
24+
</a>
2825
</p>
2926

30-
---
31-
32-
## Tech Stack 🚀
33-
34-
- Next.js
35-
- TailwindCSS
36-
- Vercel (Deployment)
37-
38-
---
3927

40-
## Features
28+
## Features
4129

4230
- DSA Algorithm Visualizer
4331
- Custom Array Input
@@ -49,47 +37,26 @@
4937
- Blog Explanations via Medium (Upcoming)
5038
- Queue Visualizer (Upcoming)
5139

52-
---
53-
54-
## Future Plans 🛠️
55-
56-
- Add Tree & Graph Visualizations
57-
- Add Heap Sort
58-
- Queue Implementation & Visualizer
59-
- Write Detailed Blogs on Medium
60-
- Collaborate with Colleges & Professors for Usage
40+
## Future Plans
41+
- Make the platform interactive
6142
- Improve Mobile Responsiveness
6243
- Social Media Promotion
6344

64-
---
65-
66-
## Blogs ✍️
67-
68-
Coming Soon on [Medium](https://medium.com/@sohan-rout)
69-
70-
---
7145

7246
## Connect With Me
7347

74-
- [LinkedIn](https://www.linkedin.com/in/sohan-rout)
75-
- [Medium](https://medium.com/@sohan-rout)
76-
77-
---
48+
<a href="https://www.linkedin.com/in/sohan-rout">
49+
<img src="https://skillicons.dev/icons?i=linkedin" alt="LinkedIn" />
50+
</a>
7851

79-
## License 📄
52+
## License
8053

8154
Apache 2.0 License — See `LICENSE` for details.
8255

83-
---
84-
8556
# Contribution
8657

8758
See [CONTRIBUTING.md](./CONTRIBUTING.md)
8859

8960
Code of Conduct — [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)
9061

91-
---
92-
93-
<p align="center">
94-
Made with ❤️ by Sohan Rout
95-
</p>
62+
---

next-sitemap.config.js

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
11
const fs = require('fs');
22
const path = require('path');
33

4-
// Helper function to recursively get all routes from app/ folder
5-
function getAllAppRoutes(dir = 'app', prefix = '') {
4+
// Scan app/ folder recursively, include only folders with page.jsx
5+
function getAllPages(dir = 'app', prefix = '') {
66
const routes = [];
77
const items = fs.readdirSync(dir);
88

9-
items.forEach((item) => {
9+
for (const item of items) {
1010
const fullPath = path.join(dir, item);
1111
const stat = fs.statSync(fullPath);
1212

1313
if (stat.isDirectory()) {
14-
if (item === 'api') return; // skip API routes
15-
routes.push(...getAllAppRoutes(fullPath, `${prefix}/${item}`));
16-
} else if (item.endsWith('.js') || item.endsWith('.tsx')) {
17-
let route = `${prefix}/${item.replace(/\.js|\.tsx$/, '')}`;
18-
if (route.endsWith('/page')) route = route.replace('/page', '');
19-
routes.push(route);
14+
if (item === 'api' || item.startsWith('_')) continue; // skip API and special folders
15+
16+
const pageFile = fs.readdirSync(fullPath).find(f => f === 'page.jsx' || f === 'page.tsx');
17+
if (pageFile) {
18+
routes.push(`${prefix}/${item}`);
19+
}
20+
21+
// Recurse into subfolders
22+
routes.push(...getAllPages(fullPath, `${prefix}/${item}`));
2023
}
21-
});
24+
}
2225

2326
return routes;
2427
}
@@ -33,8 +36,8 @@ const config = {
3336
lastmod: new Date().toISOString(),
3437
}),
3538
additionalPaths: async (config) => {
36-
const appRoutes = getAllAppRoutes(); // auto-detect all pages
37-
return appRoutes.map(route => ({
39+
const allRoutes = getAllPages(); // recursively get all module pages
40+
return allRoutes.map(route => ({
3841
loc: route,
3942
lastmod: new Date().toISOString(),
4043
}));

public/sitemap-0.xml

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,48 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
3-
<url><loc>https://dsavisualizer.in/contexts/AuthContext</loc><lastmod>2025-10-04T18:29:23.213Z</lastmod></url>
3+
<url><loc>https://dsavisualizer.in/blogs</loc><lastmod>2025-10-04T18:49:05.527Z</lastmod></url>
4+
<url><loc>https://dsavisualizer.in/blogs/Content/dsaDifferent</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
5+
<url><loc>https://dsavisualizer.in/blogs/Content/dsaWebDev</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
6+
<url><loc>https://dsavisualizer.in/blogs/Content/timeRequired</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
7+
<url><loc>https://dsavisualizer.in/blogs/Content/whatIsDS</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
8+
<url><loc>https://dsavisualizer.in/dashboard</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
9+
<url><loc>https://dsavisualizer.in/login</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
10+
<url><loc>https://dsavisualizer.in/visualizer</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
11+
<url><loc>https://dsavisualizer.in/visualizer/linkedList/operations/comparison</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
12+
<url><loc>https://dsavisualizer.in/visualizer/linkedList/operations/deletion</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
13+
<url><loc>https://dsavisualizer.in/visualizer/linkedList/operations/insertion</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
14+
<url><loc>https://dsavisualizer.in/visualizer/linkedList/operations/merge</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
15+
<url><loc>https://dsavisualizer.in/visualizer/linkedList/operations/reverse</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
16+
<url><loc>https://dsavisualizer.in/visualizer/linkedList/operations/traversal</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
17+
<url><loc>https://dsavisualizer.in/visualizer/linkedList/types/circular</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
18+
<url><loc>https://dsavisualizer.in/visualizer/linkedList/types/doubly</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
19+
<url><loc>https://dsavisualizer.in/visualizer/linkedList/types/singly</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
20+
<url><loc>https://dsavisualizer.in/visualizer/queue/implementation/array</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
21+
<url><loc>https://dsavisualizer.in/visualizer/queue/implementation/linkedList</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
22+
<url><loc>https://dsavisualizer.in/visualizer/queue/operations/enqueue-dequeue</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
23+
<url><loc>https://dsavisualizer.in/visualizer/queue/operations/isempty</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
24+
<url><loc>https://dsavisualizer.in/visualizer/queue/operations/isfull</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
25+
<url><loc>https://dsavisualizer.in/visualizer/queue/operations/peek-front</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
26+
<url><loc>https://dsavisualizer.in/visualizer/queue/types/circular</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
27+
<url><loc>https://dsavisualizer.in/visualizer/queue/types/deque</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
28+
<url><loc>https://dsavisualizer.in/visualizer/queue/types/multiple</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
29+
<url><loc>https://dsavisualizer.in/visualizer/queue/types/priority</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
30+
<url><loc>https://dsavisualizer.in/visualizer/queue/types/singleEnded</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
31+
<url><loc>https://dsavisualizer.in/visualizer/searching/binarysearch</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
32+
<url><loc>https://dsavisualizer.in/visualizer/searching/linearsearch</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
33+
<url><loc>https://dsavisualizer.in/visualizer/sorting/bubblesort</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
34+
<url><loc>https://dsavisualizer.in/visualizer/sorting/insertionsort</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
35+
<url><loc>https://dsavisualizer.in/visualizer/sorting/mergesort</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
36+
<url><loc>https://dsavisualizer.in/visualizer/sorting/quicksort</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
37+
<url><loc>https://dsavisualizer.in/visualizer/sorting/selectionsort</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
38+
<url><loc>https://dsavisualizer.in/visualizer/stack/implementation/usingArray</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
39+
<url><loc>https://dsavisualizer.in/visualizer/stack/implementation/usingLinkedList</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
40+
<url><loc>https://dsavisualizer.in/visualizer/stack/isempty</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
41+
<url><loc>https://dsavisualizer.in/visualizer/stack/isfull</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
42+
<url><loc>https://dsavisualizer.in/visualizer/stack/peek</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
43+
<url><loc>https://dsavisualizer.in/visualizer/stack/polish/postfix</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
44+
<url><loc>https://dsavisualizer.in/visualizer/stack/polish/prefix</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
45+
<url><loc>https://dsavisualizer.in/visualizer/stack/push-pop</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
46+
<url><loc>https://dsavisualizer.in/visualizer/trees/binaryTree/types</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
47+
<url><loc>https://dsavisualizer.in/visualizer/trees/traversing/in-order</loc><lastmod>2025-10-04T18:49:05.530Z</lastmod></url>
448
</urlset>

0 commit comments

Comments
 (0)