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.
@@ -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
- const {
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 '../../src/pages/home'
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
- // export const pages = {
16
- // pricing: PricingPage
17
- // };
9
+ export const pages = {
10
+ '/': HomePage,
11
+ }
18
12
 
19
- export const layout = ({ children }: { children: React.ReactNode }) => <div className='pb-10'>
20
- <Navbar />
21
- {children}
22
- <Footer />
23
- </div>;
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
- "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.2.2",
19
- "@types/react": "^19.1.0",
20
- "@types/react-dom": "^19.1.0",
21
- "boltdocs": "latest",
22
- "tailwindcss": "^4.2.2",
23
- "typescript": "^5.0.0"
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,7 +1,3 @@
1
1
  export function Footer() {
2
- return (
3
- <footer>
4
- @2026 BoltDocs. All rights reserved.
5
- </footer>
6
- )
7
- }
2
+ return <footer>@2026 BoltDocs. All rights reserved.</footer>
3
+ }
@@ -9,7 +9,6 @@ export default defineConfig({
9
9
  theme: {
10
10
  title: '{{title}}',
11
11
  description: 'Documentation for my project',
12
- breadcrumbs: true,
13
12
  codeTheme: {
14
13
  light: 'github-light',
15
14
  dark: 'github-dark',
@@ -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
- const {
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 '../../src/pages/home'
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
- // export const pages = {
16
- // pricing: PricingPage
17
- // };
9
+ export const pages = {
10
+ '/': HomePage,
11
+ }
18
12
 
19
- export const layout = ({ children }: { children: React.ReactNode }) => <div className='pb-10'>
20
- <Navbar />
21
- {children}
22
- <Footer />
23
- </div>;
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
- "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.2.2",
19
- "@types/react": "^19.1.0",
20
- "@types/react-dom": "^19.1.0",
21
- "boltdocs": "latest",
22
- "tailwindcss": "^4.2.2",
23
- "typescript": "^5.0.0"
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
- en: "@2026 BoltDocs. All rights reserved.",
5
- es: "@2026 BoltDocs. Todos los derechos reservados."
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
- const { currentLocale } = useI18n()
10
- return (
11
- <footer>
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
- 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
- }
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
- 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
- }
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,6 +1,6 @@
1
1
  {
2
2
  "name": "create-boltdocs",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Create a new boltdocs project",
5
5
  "type": "module",
6
6
  "author": "Jesus Alcala",
@@ -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
- }