Skip to content

Commit

Permalink
Refactor docs + recipes
Browse files Browse the repository at this point in the history
  • Loading branch information
cdedreuille committed Jul 9, 2024
1 parent 7d2aba3 commit e268d3e
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 0 deletions.
35 changes: 35 additions & 0 deletions apps/frontpage/app/docs/sitemap.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import { MetadataRoute } from 'next';
import { generateDocsTree } from '../../lib/get-tree';
import { TreeProps, docsVersions } from '@repo/utils';

export default function sitemap(): MetadataRoute.Sitemap {
const latestVersion = docsVersions[0];
const tree = generateDocsTree(`content/docs/${latestVersion.id}`);

const flattenedTree: TreeProps[] = [];

const flattenTree = (tree: TreeProps[]) => {
tree.forEach((node) => {
if (node.children) {
flattenedTree.push(node);
flattenTree(node.children);
}
flattenedTree.push(node);
});
};

flattenTree(tree);

const filteredTree = flattenedTree
.filter((node) => node.type !== 'directory')
.filter((node) => node.draft !== true);

const docs = filteredTree.map((node) => ({
url: `https://storybook.js.org${node.slug}`.replace(
`${latestVersion.id}/`,
'',
),
}));

return [...docs];
}
10 changes: 10 additions & 0 deletions apps/frontpage/app/recipes/sitemap.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { MetadataRoute } from 'next';
import { fetchRecipesData } from '../../lib/fetch-recipes-data';

export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
const recipes = (await fetchRecipesData()) || [];

return recipes.map((name) => ({
url: `https://storybook.js.org/recipes/${name}`,
}));
}
20 changes: 20 additions & 0 deletions apps/frontpage/app/sitemap.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://storybook.js.org/sitemap/docs/sitemap.xml</loc>
</sitemap>
<sitemap>
<loc>https://storybook.js.org/sitemap/addons/sitemap.xml</loc>
</sitemap>
<sitemap>
<loc>https://storybook.js.org/sitemap/recipes/sitemap.xml</loc>
</sitemap>
<sitemap>
<loc>https://storybook.js.org/sitemap/blog/sitemap.xml</loc>
</sitemap>
<sitemap>
<loc>https://storybook.js.org/sitemap/showcase/sitemap.xml</loc>
</sitemap>
<sitemap>
<loc>https://storybook.js.org/sitemap/tutorials/sitemap.xml</loc>
</sitemap>
</sitemapindex>

0 comments on commit e268d3e

Please sign in to comment.