Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 37 additions & 1 deletion next-sitemap.config.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,44 @@
const fs = require('fs');
const path = require('path');

// Helper function to recursively get all routes from app/ folder
function getAllAppRoutes(dir = 'app', prefix = '') {
const routes = [];
const items = fs.readdirSync(dir);

items.forEach((item) => {
const fullPath = path.join(dir, item);
const stat = fs.statSync(fullPath);

if (stat.isDirectory()) {
if (item === 'api') return; // skip API routes
routes.push(...getAllAppRoutes(fullPath, `${prefix}/${item}`));
} else if (item.endsWith('.js') || item.endsWith('.tsx')) {
let route = `${prefix}/${item.replace(/\.js|\.tsx$/, '')}`;
if (route.endsWith('/page')) route = route.replace('/page', '');
routes.push(route);
}
});

return routes;
}

/** @type {import('next-sitemap').IConfig} */
const config = {
siteUrl: 'https://dsavisualizer.in', // <-- Update this to your custom domain
siteUrl: 'https://dsavisualizer.in',
generateRobotsTxt: true,
sitemapSize: 5000,
transform: async (config, path) => ({
loc: path,
lastmod: new Date().toISOString(),
}),
additionalPaths: async (config) => {
const appRoutes = getAllAppRoutes(); // auto-detect all pages
return appRoutes.map(route => ({
loc: route,
lastmod: new Date().toISOString(),
}));
},
};

module.exports = config;
46 changes: 1 addition & 45 deletions public/sitemap-0.xml
Original file line number Diff line number Diff line change
@@ -1,48 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<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">
<url><loc>https://dsavisualizer.in/blogs/Content/timeRequired</loc><lastmod>2025-07-15T17:13:06.119Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/blogs/Content/dsaWebDev</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/blogs/Content/whatIsDS</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/login</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/linkedList/operations/comparison</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/blogs</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/linkedList/types/circular</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/linkedList/operations/merge</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/linkedList/types/doubly</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/queue/implementation/array</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/linkedList/operations/reverse</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/linkedList/types/singly</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/queue/implementation/linkedList</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/queue/types/deque</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/queue/types/circular</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/linkedList/operations/deletion</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/queue/operations/enqueue-dequeue</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/linkedList/operations/traversal</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/queue/types/multiple</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/queue/types/singleEnded</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/searching/binarysearch</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/sorting/bubblesort</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/sorting/mergesort</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/searching/linearsearch</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/sorting/quicksort</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/queue/operations/isfull</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/queue/types/priority</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/sorting/selectionsort</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/stack/implementation/usingLinkedList</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/sorting/insertionsort</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/linkedList/operations/insertion</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/stack/polish/postfix</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/queue/operations/peek-front</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/stack/implementation/usingArray</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/trees/traversing/in-order</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/trees/binaryTree/types</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/queue/operations/isempty</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/stack/peek</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/stack/isempty</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/stack/isfull</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/stack/push-pop</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/visualizer/stack/polish/prefix</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/blogs/Content/dsaDifferent</loc><lastmod>2025-07-15T17:13:06.120Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://dsavisualizer.in/contexts/AuthContext</loc><lastmod>2025-10-04T18:29:23.213Z</lastmod></url>
</urlset>
1 change: 1 addition & 0 deletions public/sitemap.xml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap><loc>https://dsavisualizer.in/sitemap-0.xml</loc></sitemap>
</sitemapindex>
Loading