diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 36cbb640d..80011e10f 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -11,8 +11,6 @@ const description = 'Beautiful & consistent icon toolkit made by the community.' const isDev = process.env.NODE_ENV !== 'production'; -console.log(isDev); - // https://vitepress.dev/reference/site-config export default defineConfig({ title, @@ -42,13 +40,18 @@ export default defineConfig({ }, ], }, - plugins: [ + plugins: isDev && [ nitro( { ssr: false, - sourceRoot: '.vitepress', + sourceRoot: '.', + }, + { + ...nitroConfig, + srcDir: '.', + routesDir: 'api', + scanDirs: ['.'], }, - nitroConfig, ), ], }, diff --git a/docs/.vitepress/theme/composables/useFetchCategories.ts b/docs/.vitepress/theme/composables/useFetchCategories.ts index 89e1b7e2a..0fe09b0ef 100644 --- a/docs/.vitepress/theme/composables/useFetchCategories.ts +++ b/docs/.vitepress/theme/composables/useFetchCategories.ts @@ -1,12 +1,9 @@ import { useFetch } from '@vueuse/core'; const useFetchCategories = () => - useFetch>( - `${import.meta.env.DEV ? 'http://localhost:3000' : ''}/api/categories`, - { - immediate: - typeof window !== 'undefined' && new URLSearchParams(window.location.search).has('search'), - }, - ).json(); + useFetch>('/api/categories', { + immediate: + typeof window !== 'undefined' && new URLSearchParams(window.location.search).has('search'), + }).json(); export default useFetchCategories; diff --git a/docs/.vitepress/theme/composables/useFetchTags.ts b/docs/.vitepress/theme/composables/useFetchTags.ts index 792cf5bfe..62aa191f0 100644 --- a/docs/.vitepress/theme/composables/useFetchTags.ts +++ b/docs/.vitepress/theme/composables/useFetchTags.ts @@ -1,12 +1,9 @@ import { useFetch } from '@vueuse/core'; const useFetchTags = () => - useFetch>( - `${import.meta.env.DEV ? 'http://localhost:3000' : ''}/api/tags`, - { - immediate: - typeof window !== 'undefined' && new URLSearchParams(window.location.search).has('search'), - }, - ).json(); + useFetch>('/api/tags', { + immediate: + typeof window !== 'undefined' && new URLSearchParams(window.location.search).has('search'), + }).json(); export default useFetchTags; diff --git a/docs/.vitepress/api/categories/index.get.ts b/docs/api/categories/index.get.ts similarity index 85% rename from docs/.vitepress/api/categories/index.get.ts rename to docs/api/categories/index.get.ts index 0ac20a3e5..f6af565b0 100644 --- a/docs/.vitepress/api/categories/index.get.ts +++ b/docs/api/categories/index.get.ts @@ -1,5 +1,5 @@ import { eventHandler, setResponseHeader } from 'h3'; -import iconMetaData from '../../data/iconMetaData'; +import iconMetaData from '~/.vitepress/data/iconMetaData'; export default eventHandler((event) => { setResponseHeader(event, 'Cache-Control', 'public, max-age=86400'); diff --git a/docs/.vitepress/api/figma/data.ts b/docs/api/figma/data.ts similarity index 77% rename from docs/.vitepress/api/figma/data.ts rename to docs/api/figma/data.ts index cde37f140..b853f4756 100644 --- a/docs/.vitepress/api/figma/data.ts +++ b/docs/api/figma/data.ts @@ -1,9 +1,9 @@ import { eventHandler, setResponseHeader } from 'h3'; -import iconNodes from '../../data/iconNodes/index.ts'; -import { IconNodeWithKeys } from '../../theme/types'; -import iconMetaData from '../../data/iconMetaData'; -import releaseMeta from '../../data/releaseMetaData.json'; -import categories from '../../data/categoriesData.json'; +import iconNodes from '~/.vitepress/data/iconNodes/index.ts'; +import { IconNodeWithKeys } from '~/.vitepress/theme/types'; +import iconMetaData from '~/.vitepress/data/iconMetaData'; +import releaseMeta from '~/.vitepress/data/releaseMetaData.json'; +import categories from '~/.vitepress/data/categoriesData.json'; const dataResponse = { icons: Object.entries(iconNodes).reduce((acc, [name, iconNode]) => { diff --git a/docs/.vitepress/api/gh-icon/[...data].get.tsx b/docs/api/gh-icon/[...data].get.tsx similarity index 91% rename from docs/.vitepress/api/gh-icon/[...data].get.tsx rename to docs/api/gh-icon/[...data].get.tsx index b74ce7dc3..a2c36b6be 100644 --- a/docs/.vitepress/api/gh-icon/[...data].get.tsx +++ b/docs/api/gh-icon/[...data].get.tsx @@ -1,10 +1,10 @@ import { eventHandler, setResponseHeader, defaultContentType } from 'h3'; import { renderToString, renderToStaticMarkup } from 'react-dom/server'; import React from 'react'; -import SvgPreview from '../../lib/SvgPreview/index.tsx'; -import iconNodes from '../../data/iconNodes'; +import SvgPreview from '~/.vitepress/lib/SvgPreview/index.tsx'; +import iconNodes from '~/.vitepress/data/iconNodes'; import createLucideIcon from 'lucide-react/src/createLucideIcon'; -import Backdrop from '../../lib/SvgPreview/Backdrop.tsx'; +import Backdrop from '~/.vitepress/lib/SvgPreview/Backdrop.tsx'; export default eventHandler((event) => { const { params } = event.context; diff --git a/docs/.vitepress/api/gh-icon/diff/[...data].get.tsx b/docs/api/gh-icon/diff/[...data].get.tsx similarity index 92% rename from docs/.vitepress/api/gh-icon/diff/[...data].get.tsx rename to docs/api/gh-icon/diff/[...data].get.tsx index 34d15b684..98ec8b9de 100644 --- a/docs/.vitepress/api/gh-icon/diff/[...data].get.tsx +++ b/docs/api/gh-icon/diff/[...data].get.tsx @@ -1,8 +1,8 @@ import { eventHandler, setResponseHeader, defaultContentType } from 'h3'; import { renderToString, renderToStaticMarkup } from 'react-dom/server'; import React from 'react'; -import Diff from '../../../lib/SvgPreview/Diff.tsx'; -import iconNodes from '../../../data/iconNodes'; +import Diff from '~/.vitepress/lib/SvgPreview/Diff.tsx'; +import iconNodes from '~/.vitepress/data/iconNodes'; import createLucideIcon from 'lucide-react/src/createLucideIcon'; export default eventHandler((event) => { diff --git a/docs/.vitepress/api/gh-icon/dpi/[...data].get.ts b/docs/api/gh-icon/dpi/[...data].get.ts similarity index 97% rename from docs/.vitepress/api/gh-icon/dpi/[...data].get.ts rename to docs/api/gh-icon/dpi/[...data].get.ts index 57a47561a..3d1e3c5f0 100644 --- a/docs/.vitepress/api/gh-icon/dpi/[...data].get.ts +++ b/docs/api/gh-icon/dpi/[...data].get.ts @@ -1,5 +1,5 @@ import { eventHandler, setResponseHeader, defaultContentType } from 'h3'; -import iconNodes from '../../../data/iconNodes'; +import iconNodes from '~/.vitepress/data/iconNodes'; import { createElement } from 'react'; import { renderToStaticMarkup } from 'react-dom/server'; import createLucideIcon from 'lucide-react/src/createLucideIcon'; diff --git a/docs/.vitepress/api/gh-icon/stroke-width/[...data].get.tsx b/docs/api/gh-icon/stroke-width/[...data].get.tsx similarity index 100% rename from docs/.vitepress/api/gh-icon/stroke-width/[...data].get.tsx rename to docs/api/gh-icon/stroke-width/[...data].get.tsx diff --git a/docs/.vitepress/api/gh-icon/symmetry/[...data].get.tsx b/docs/api/gh-icon/symmetry/[...data].get.tsx similarity index 97% rename from docs/.vitepress/api/gh-icon/symmetry/[...data].get.tsx rename to docs/api/gh-icon/symmetry/[...data].get.tsx index 08033bd4d..4969579c2 100644 --- a/docs/.vitepress/api/gh-icon/symmetry/[...data].get.tsx +++ b/docs/api/gh-icon/symmetry/[...data].get.tsx @@ -1,7 +1,7 @@ import { eventHandler, setResponseHeader, defaultContentType } from 'h3'; import { renderToString } from 'react-dom/server'; import React from 'react'; -import Diff from '../../../lib/SvgPreview/Diff.tsx'; +import Diff from '~/.vitepress/lib/SvgPreview/Diff.tsx'; export default eventHandler((event) => { const { params } = event.context; diff --git a/docs/.vitepress/api/icon-nodes/index.get.ts b/docs/api/icon-nodes/index.get.ts similarity index 86% rename from docs/.vitepress/api/icon-nodes/index.get.ts rename to docs/api/icon-nodes/index.get.ts index 8ab634c78..c8e58d548 100644 --- a/docs/.vitepress/api/icon-nodes/index.get.ts +++ b/docs/api/icon-nodes/index.get.ts @@ -1,6 +1,6 @@ import { eventHandler, getQuery, setResponseHeader } from 'h3'; -import iconNodes from '../../data/iconNodes'; -import { IconNodeWithKeys } from '../../theme/types'; +import iconNodes from '~/.vitepress/data/iconNodes'; +import { IconNodeWithKeys } from '~/.vitepress/theme/types'; export default eventHandler((event) => { const query = getQuery(event); diff --git a/docs/.vitepress/api/icons/[iconName].get.ts b/docs/api/icons/[iconName].get.ts similarity index 96% rename from docs/.vitepress/api/icons/[iconName].get.ts rename to docs/api/icons/[iconName].get.ts index 733eeb5ea..67aa37b41 100644 --- a/docs/.vitepress/api/icons/[iconName].get.ts +++ b/docs/api/icons/[iconName].get.ts @@ -1,5 +1,5 @@ import { eventHandler, getQuery, setResponseHeader, createError } from 'h3'; -import iconNodes from '../../data/iconNodes'; +import iconNodes from '~/.vitepress/data/iconNodes'; import createLucideIcon from 'lucide-react/src/createLucideIcon'; import { renderToString } from 'react-dom/server'; import { createElement } from 'react'; diff --git a/docs/.vitepress/api/main.ts b/docs/api/main.ts similarity index 100% rename from docs/.vitepress/api/main.ts rename to docs/api/main.ts diff --git a/docs/.vitepress/api/tags/index.get.ts b/docs/api/tags/index.get.ts similarity index 84% rename from docs/.vitepress/api/tags/index.get.ts rename to docs/api/tags/index.get.ts index 0f83264bc..cfd2151bc 100644 --- a/docs/.vitepress/api/tags/index.get.ts +++ b/docs/api/tags/index.get.ts @@ -1,4 +1,4 @@ -import iconMetaData from '../../data/iconMetaData'; +import iconMetaData from '~/.vitepress/data/iconMetaData'; import { eventHandler, setResponseHeader } from 'h3'; export default eventHandler((event) => {