create-boltdocs 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/templates/base/docs/layout.tsx +2 -75
- package/dist/templates/base/docs/pages-external/home.tsx +49 -0
- package/dist/templates/base/docs/pages-external/index.tsx +13 -17
- package/dist/templates/base/package.json +24 -24
- package/dist/templates/base/src/components/footer.tsx +2 -6
- package/dist/templates/i18n/boltdocs.config.ts +0 -1
- package/dist/templates/i18n/docs/layout.tsx +2 -77
- package/dist/templates/i18n/docs/pages-external/home.tsx +49 -0
- package/dist/templates/i18n/docs/pages-external/index.tsx +13 -17
- package/dist/templates/i18n/package.json +24 -24
- package/dist/templates/i18n/src/components/footer.tsx +5 -9
- package/dist/templates/i18n/src/pages/home.tsx +42 -36
- package/package.json +1 -1
- package/dist/templates/base/src/pages/home.tsx +0 -43
|
@@ -1,78 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DocsLayout,
|
|
3
|
-
Navbar,
|
|
4
|
-
Sidebar,
|
|
5
|
-
OnThisPage,
|
|
6
|
-
Head,
|
|
7
|
-
Breadcrumbs,
|
|
8
|
-
PageNav,
|
|
9
|
-
ErrorBoundary,
|
|
10
|
-
CopyMarkdown,
|
|
11
|
-
useRoutes,
|
|
12
|
-
useConfig,
|
|
13
|
-
useMdxComponents,
|
|
14
|
-
useLocation
|
|
15
|
-
} from 'boltdocs/client'
|
|
1
|
+
import { DocsLayout } from 'boltdocs/client'
|
|
16
2
|
|
|
17
3
|
export default function Layout({ children }: { children: React.ReactNode }) {
|
|
18
|
-
|
|
19
|
-
routes: filteredRoutes,
|
|
20
|
-
allRoutes,
|
|
21
|
-
currentRoute
|
|
22
|
-
} = useRoutes()
|
|
23
|
-
const { pathname } = useLocation()
|
|
24
|
-
const config = useConfig()
|
|
25
|
-
const mdxComponents = useMdxComponents()
|
|
26
|
-
|
|
27
|
-
// Allow CopyMarkdown override via mdx-components.tsx
|
|
28
|
-
const CopyMarkdownComp = (mdxComponents.CopyMarkdown as any) || CopyMarkdown
|
|
29
|
-
|
|
30
|
-
const isDocs = pathname.startsWith('/docs')
|
|
31
|
-
|
|
32
|
-
return (
|
|
33
|
-
<DocsLayout>
|
|
34
|
-
<Head
|
|
35
|
-
siteTitle={config.theme?.title || 'Boltdocs'}
|
|
36
|
-
siteDescription={config.theme?.description || ''}
|
|
37
|
-
routes={allRoutes}
|
|
38
|
-
/>
|
|
39
|
-
<Navbar />
|
|
40
|
-
|
|
41
|
-
<DocsLayout.Body>
|
|
42
|
-
{isDocs && <Sidebar routes={filteredRoutes} config={config} />}
|
|
43
|
-
|
|
44
|
-
<DocsLayout.Content>
|
|
45
|
-
<DocsLayout.ContentMdx>
|
|
46
|
-
{isDocs && (
|
|
47
|
-
<DocsLayout.ContentHeader>
|
|
48
|
-
<Breadcrumbs />
|
|
49
|
-
<CopyMarkdownComp
|
|
50
|
-
mdxRaw={currentRoute?._rawContent}
|
|
51
|
-
route={currentRoute}
|
|
52
|
-
config={config.theme?.copyMarkdown}
|
|
53
|
-
/>
|
|
54
|
-
</DocsLayout.ContentHeader>
|
|
55
|
-
)}
|
|
56
|
-
|
|
57
|
-
<ErrorBoundary>{children}</ErrorBoundary>
|
|
58
|
-
|
|
59
|
-
{isDocs && (
|
|
60
|
-
<DocsLayout.ContentFooter>
|
|
61
|
-
<PageNav />
|
|
62
|
-
</DocsLayout.ContentFooter>
|
|
63
|
-
)}
|
|
64
|
-
</DocsLayout.ContentMdx>
|
|
65
|
-
</DocsLayout.Content>
|
|
66
|
-
|
|
67
|
-
{isDocs && (
|
|
68
|
-
<OnThisPage
|
|
69
|
-
headings={currentRoute?.headings}
|
|
70
|
-
editLink={config.theme?.editLink}
|
|
71
|
-
communityHelp={config.theme?.communityHelp}
|
|
72
|
-
filePath={currentRoute?.filePath}
|
|
73
|
-
/>
|
|
74
|
-
)}
|
|
75
|
-
</DocsLayout.Body>
|
|
76
|
-
</DocsLayout>
|
|
77
|
-
)
|
|
4
|
+
return <DocsLayout>{children}</DocsLayout>
|
|
78
5
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Card, Cards } from 'boltdocs/client'
|
|
2
|
+
import { Route, FileText, Settings, Sparkles } from 'lucide-react'
|
|
3
|
+
|
|
4
|
+
const features = [
|
|
5
|
+
{
|
|
6
|
+
title: 'File-route',
|
|
7
|
+
description: 'Generate routes from file structure.',
|
|
8
|
+
Icon: Route,
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
title: 'Markdown',
|
|
12
|
+
description: 'Support Markdown for writing documentation.',
|
|
13
|
+
Icon: FileText,
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
title: 'Customizable',
|
|
17
|
+
description: 'Customizable to your needs.',
|
|
18
|
+
Icon: Settings,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
title: 'Secure by design',
|
|
22
|
+
description: 'Boltdocs is secure by design.',
|
|
23
|
+
Icon: Sparkles,
|
|
24
|
+
},
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
export function HomePage() {
|
|
28
|
+
return (
|
|
29
|
+
<div className="w-full h-[calc(100vh-120px)] flex items-center gap-10">
|
|
30
|
+
<div className="flex flex-col justify-center py-10">
|
|
31
|
+
<h1 className="text-5xl font-extrabold">
|
|
32
|
+
Power by <p className="text-purple-500 inline">Boltdocs</p>
|
|
33
|
+
</h1>
|
|
34
|
+
<p className="text-xl mt-4 text-muted">Docs generators for react.</p>
|
|
35
|
+
</div>
|
|
36
|
+
<Cards cols={4}>
|
|
37
|
+
{features.map((feature) => (
|
|
38
|
+
<Card
|
|
39
|
+
key={feature.title}
|
|
40
|
+
title={feature.title}
|
|
41
|
+
icon={<feature.Icon />}
|
|
42
|
+
>
|
|
43
|
+
{feature.description}
|
|
44
|
+
</Card>
|
|
45
|
+
))}
|
|
46
|
+
</Cards>
|
|
47
|
+
</div>
|
|
48
|
+
)
|
|
49
|
+
}
|
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
import { Navbar } from 'boltdocs/client'
|
|
2
|
-
import { Footer } from '../../src/components/footer'
|
|
3
|
-
import { HomePage } from '
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Custom home page for the site.
|
|
7
|
-
* This overrides any homePage set in boltdocs.config.ts.
|
|
8
|
-
*/
|
|
9
|
-
export const homePage = HomePage;
|
|
1
|
+
import { Navbar } from 'boltdocs/client'
|
|
2
|
+
import { Footer } from '../../src/components/footer'
|
|
3
|
+
import { HomePage } from './home'
|
|
10
4
|
|
|
11
5
|
/**
|
|
12
6
|
* Custom external routes.
|
|
13
7
|
* Maps paths to React components.
|
|
14
8
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
export const pages = {
|
|
10
|
+
'/': HomePage,
|
|
11
|
+
}
|
|
18
12
|
|
|
19
|
-
export const layout = ({ children }: { children: React.ReactNode }) =>
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
export const layout = ({ children }: { children: React.ReactNode }) => (
|
|
14
|
+
<div className="pb-10">
|
|
15
|
+
<Navbar />
|
|
16
|
+
{children}
|
|
17
|
+
<Footer />
|
|
18
|
+
</div>
|
|
19
|
+
)
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
2
|
+
"name": "{{name}}",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "boltdocs",
|
|
8
|
+
"build": "boltdocs build",
|
|
9
|
+
"preview": "boltdocs preview",
|
|
10
|
+
"doctor": "boltdocs doctor"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"lucide-react": "^1.7.0",
|
|
14
|
+
"react": "^19.2.5",
|
|
15
|
+
"react-dom": "^19.2.5"
|
|
16
|
+
},
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"@tailwindcss/vite": "^4.3.0",
|
|
19
|
+
"@types/react": "^19.1.0",
|
|
20
|
+
"@types/react-dom": "^19.1.0",
|
|
21
|
+
"boltdocs": "latest",
|
|
22
|
+
"tailwindcss": "^4.3.0",
|
|
23
|
+
"typescript": "^5.0.0"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -1,80 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DocsLayout,
|
|
3
|
-
Navbar,
|
|
4
|
-
Sidebar,
|
|
5
|
-
OnThisPage,
|
|
6
|
-
Head,
|
|
7
|
-
Breadcrumbs,
|
|
8
|
-
PageNav,
|
|
9
|
-
ErrorBoundary,
|
|
10
|
-
CopyMarkdown,
|
|
11
|
-
useRoutes,
|
|
12
|
-
useConfig,
|
|
13
|
-
useMdxComponents,
|
|
14
|
-
useLocation,
|
|
15
|
-
getTranslated
|
|
16
|
-
} from 'boltdocs/client'
|
|
1
|
+
import { DocsLayout } from 'boltdocs/client'
|
|
17
2
|
|
|
18
3
|
export default function Layout({ children }: { children: React.ReactNode }) {
|
|
19
|
-
|
|
20
|
-
routes: filteredRoutes,
|
|
21
|
-
allRoutes,
|
|
22
|
-
currentRoute,
|
|
23
|
-
currentLocale
|
|
24
|
-
} = useRoutes()
|
|
25
|
-
const { pathname } = useLocation()
|
|
26
|
-
const config = useConfig()
|
|
27
|
-
const mdxComponents = useMdxComponents()
|
|
28
|
-
|
|
29
|
-
// Allow CopyMarkdown override via mdx-components.tsx
|
|
30
|
-
const CopyMarkdownComp = (mdxComponents.CopyMarkdown as any) || CopyMarkdown
|
|
31
|
-
|
|
32
|
-
const isDocs = pathname.startsWith('/docs')
|
|
33
|
-
|
|
34
|
-
return (
|
|
35
|
-
<DocsLayout>
|
|
36
|
-
<Head
|
|
37
|
-
siteTitle={getTranslated(config.theme?.title, currentLocale) || 'Boltdocs'}
|
|
38
|
-
siteDescription={getTranslated(config.theme?.description, currentLocale) || ''}
|
|
39
|
-
routes={allRoutes}
|
|
40
|
-
/>
|
|
41
|
-
<Navbar />
|
|
42
|
-
|
|
43
|
-
<DocsLayout.Body>
|
|
44
|
-
{isDocs && <Sidebar routes={filteredRoutes} config={config} />}
|
|
45
|
-
|
|
46
|
-
<DocsLayout.Content>
|
|
47
|
-
<DocsLayout.ContentMdx>
|
|
48
|
-
{isDocs && (
|
|
49
|
-
<DocsLayout.ContentHeader>
|
|
50
|
-
<Breadcrumbs />
|
|
51
|
-
<CopyMarkdownComp
|
|
52
|
-
mdxRaw={currentRoute?._rawContent}
|
|
53
|
-
route={currentRoute}
|
|
54
|
-
config={config.theme?.copyMarkdown}
|
|
55
|
-
/>
|
|
56
|
-
</DocsLayout.ContentHeader>
|
|
57
|
-
)}
|
|
58
|
-
|
|
59
|
-
<ErrorBoundary>{children}</ErrorBoundary>
|
|
60
|
-
|
|
61
|
-
{isDocs && (
|
|
62
|
-
<DocsLayout.ContentFooter>
|
|
63
|
-
<PageNav />
|
|
64
|
-
</DocsLayout.ContentFooter>
|
|
65
|
-
)}
|
|
66
|
-
</DocsLayout.ContentMdx>
|
|
67
|
-
</DocsLayout.Content>
|
|
68
|
-
|
|
69
|
-
{isDocs && (
|
|
70
|
-
<OnThisPage
|
|
71
|
-
headings={currentRoute?.headings}
|
|
72
|
-
editLink={config.theme?.editLink}
|
|
73
|
-
communityHelp={config.theme?.communityHelp}
|
|
74
|
-
filePath={currentRoute?.filePath}
|
|
75
|
-
/>
|
|
76
|
-
)}
|
|
77
|
-
</DocsLayout.Body>
|
|
78
|
-
</DocsLayout>
|
|
79
|
-
)
|
|
4
|
+
return <DocsLayout>{children}</DocsLayout>
|
|
80
5
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Card, Cards } from 'boltdocs/client'
|
|
2
|
+
import { Route, FileText, Settings, Sparkles } from 'lucide-react'
|
|
3
|
+
|
|
4
|
+
const features = [
|
|
5
|
+
{
|
|
6
|
+
title: 'File-route',
|
|
7
|
+
description: 'Generate routes from file structure.',
|
|
8
|
+
Icon: Route,
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
title: 'Markdown',
|
|
12
|
+
description: 'Support Markdown for writing documentation.',
|
|
13
|
+
Icon: FileText,
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
title: 'Customizable',
|
|
17
|
+
description: 'Customizable to your needs.',
|
|
18
|
+
Icon: Settings,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
title: 'Secure by design',
|
|
22
|
+
description: 'Boltdocs is secure by design.',
|
|
23
|
+
Icon: Sparkles,
|
|
24
|
+
},
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
export function HomePage() {
|
|
28
|
+
return (
|
|
29
|
+
<div className="w-full h-[calc(100vh-120px)] flex items-center gap-10">
|
|
30
|
+
<div className="flex flex-col justify-center py-10">
|
|
31
|
+
<h1 className="text-5xl font-extrabold">
|
|
32
|
+
Power by <p className="text-purple-500 inline">Boltdocs</p>
|
|
33
|
+
</h1>
|
|
34
|
+
<p className="text-xl mt-4 text-muted">Docs generators for react.</p>
|
|
35
|
+
</div>
|
|
36
|
+
<Cards cols={4}>
|
|
37
|
+
{features.map((feature) => (
|
|
38
|
+
<Card
|
|
39
|
+
key={feature.title}
|
|
40
|
+
title={feature.title}
|
|
41
|
+
icon={<feature.Icon />}
|
|
42
|
+
>
|
|
43
|
+
{feature.description}
|
|
44
|
+
</Card>
|
|
45
|
+
))}
|
|
46
|
+
</Cards>
|
|
47
|
+
</div>
|
|
48
|
+
)
|
|
49
|
+
}
|
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
import { Navbar } from 'boltdocs/client'
|
|
2
|
-
import { Footer } from '../../src/components/footer'
|
|
3
|
-
import { HomePage } from '
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Custom home page for the site.
|
|
7
|
-
* This overrides any homePage set in boltdocs.config.ts.
|
|
8
|
-
*/
|
|
9
|
-
export const homePage = HomePage;
|
|
1
|
+
import { Navbar } from 'boltdocs/client'
|
|
2
|
+
import { Footer } from '../../src/components/footer'
|
|
3
|
+
import { HomePage } from './home'
|
|
10
4
|
|
|
11
5
|
/**
|
|
12
6
|
* Custom external routes.
|
|
13
7
|
* Maps paths to React components.
|
|
14
8
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
export const pages = {
|
|
10
|
+
'/': HomePage,
|
|
11
|
+
}
|
|
18
12
|
|
|
19
|
-
export const layout = ({ children }: { children: React.ReactNode }) =>
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
export const layout = ({ children }: { children: React.ReactNode }) => (
|
|
14
|
+
<div className="pb-10">
|
|
15
|
+
<Navbar />
|
|
16
|
+
{children}
|
|
17
|
+
<Footer />
|
|
18
|
+
</div>
|
|
19
|
+
)
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
2
|
+
"name": "{{name}}",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "boltdocs",
|
|
8
|
+
"build": "boltdocs build",
|
|
9
|
+
"preview": "boltdocs preview",
|
|
10
|
+
"doctor": "boltdocs doctor"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"lucide-react": "^1.7.0",
|
|
14
|
+
"react": "^19.2.5",
|
|
15
|
+
"react-dom": "^19.2.5"
|
|
16
|
+
},
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"@tailwindcss/vite": "^4.3.0",
|
|
19
|
+
"@types/react": "^19.1.0",
|
|
20
|
+
"@types/react-dom": "^19.1.0",
|
|
21
|
+
"boltdocs": "latest",
|
|
22
|
+
"tailwindcss": "^4.3.0",
|
|
23
|
+
"typescript": "^5.0.0"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { useI18n } from 'boltdocs/client'
|
|
2
2
|
|
|
3
3
|
const locale = {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
en: '@2026 BoltDocs. All rights reserved.',
|
|
5
|
+
es: '@2026 BoltDocs. Todos los derechos reservados.',
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
export function Footer() {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
{locale[currentLocale ?? 'en']}
|
|
13
|
-
</footer>
|
|
14
|
-
)
|
|
15
|
-
}
|
|
9
|
+
const { currentLocale } = useI18n()
|
|
10
|
+
return <footer>{locale[currentLocale ?? 'en']}</footer>
|
|
11
|
+
}
|
|
@@ -2,42 +2,48 @@ import { Card, Cards } from 'boltdocs/client'
|
|
|
2
2
|
import { Route, FileText, Settings, Sparkles } from 'lucide-react'
|
|
3
3
|
|
|
4
4
|
const features = [
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
5
|
+
{
|
|
6
|
+
title: 'File-route',
|
|
7
|
+
description: 'Generate routes from file structure.',
|
|
8
|
+
Icon: Route,
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
title: 'Markdown',
|
|
12
|
+
description: 'Support Markdown for writing documentation.',
|
|
13
|
+
Icon: FileText,
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
title: 'Customizable',
|
|
17
|
+
description: 'Customizable to your needs.',
|
|
18
|
+
Icon: Settings,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
title: 'Secure by design',
|
|
22
|
+
description: 'Boltdocs is secure by design.',
|
|
23
|
+
Icon: Sparkles,
|
|
24
|
+
},
|
|
25
25
|
]
|
|
26
26
|
|
|
27
27
|
export function HomePage() {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
28
|
+
return (
|
|
29
|
+
<div className="w-full h-[calc(100vh-120px)] flex items-center gap-10">
|
|
30
|
+
<div className="flex flex-col justify-center py-10">
|
|
31
|
+
<h1 className="text-5xl font-extrabold">
|
|
32
|
+
Power by <p className="text-purple-500 inline">Boltdocs</p>
|
|
33
|
+
</h1>
|
|
34
|
+
<p className="text-xl mt-4 text-muted">Docs generators for react.</p>
|
|
35
|
+
</div>
|
|
36
|
+
<Cards cols={4}>
|
|
37
|
+
{features.map((feature) => (
|
|
38
|
+
<Card
|
|
39
|
+
key={feature.title}
|
|
40
|
+
title={feature.title}
|
|
41
|
+
icon={<feature.Icon />}
|
|
42
|
+
>
|
|
43
|
+
{feature.description}
|
|
44
|
+
</Card>
|
|
45
|
+
))}
|
|
46
|
+
</Cards>
|
|
47
|
+
</div>
|
|
48
|
+
)
|
|
49
|
+
}
|
package/package.json
CHANGED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Card, Cards } from 'boltdocs/client'
|
|
2
|
-
import { Route, FileText, Settings, Sparkles } from 'lucide-react'
|
|
3
|
-
|
|
4
|
-
const features = [
|
|
5
|
-
{
|
|
6
|
-
title: "File-route",
|
|
7
|
-
description: "Generate routes from file structure.",
|
|
8
|
-
Icon: Route
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
title: "Markdown",
|
|
12
|
-
description: "Support Markdown for writing documentation.",
|
|
13
|
-
Icon: FileText
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
title: "Customizable",
|
|
17
|
-
description: "Customizable to your needs.",
|
|
18
|
-
Icon: Settings
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
title: "Secure by design",
|
|
22
|
-
description: "Boltdocs is secure by design.",
|
|
23
|
-
Icon: Sparkles
|
|
24
|
-
}
|
|
25
|
-
]
|
|
26
|
-
|
|
27
|
-
export function HomePage() {
|
|
28
|
-
return (
|
|
29
|
-
<div className='w-full h-[calc(100vh-120px)] flex items-center gap-10'>
|
|
30
|
-
<div className="flex flex-col justify-center py-10">
|
|
31
|
-
<h1 className="text-5xl font-extrabold">Power by <p className="text-purple-500 inline">Boltdocs</p></h1>
|
|
32
|
-
<p className="text-xl mt-4 text-text-muted">Docs generators for react.</p>
|
|
33
|
-
</div>
|
|
34
|
-
<Cards cols={4}>
|
|
35
|
-
{features.map((feature) => (
|
|
36
|
-
<Card key={feature.title} title={feature.title} icon={<feature.Icon />}>
|
|
37
|
-
{feature.description}
|
|
38
|
-
</Card>
|
|
39
|
-
))}
|
|
40
|
-
</Cards>
|
|
41
|
-
</div>
|
|
42
|
-
)
|
|
43
|
-
}
|