@docubook/create 1.11.3 → 1.13.0

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.
Files changed (54) hide show
  1. package/bun.lock +102 -0
  2. package/package.json +1 -1
  3. package/src/dist/.vscode/accordion.code-snippets +14 -0
  4. package/src/dist/.vscode/button.code-snippets +16 -0
  5. package/src/dist/.vscode/card.code-snippets +54 -0
  6. package/src/dist/.vscode/codeblock.code-snippets +16 -0
  7. package/src/dist/.vscode/file-tree.code-snippets +53 -0
  8. package/src/dist/.vscode/image-link.code-snippets +16 -0
  9. package/src/dist/.vscode/keyboard.code-snippets +23 -0
  10. package/src/dist/.vscode/metadata.code-snippets +13 -0
  11. package/src/dist/.vscode/note.code-snippets +38 -0
  12. package/src/dist/.vscode/release.code-snippets +49 -0
  13. package/src/dist/.vscode/stepper.code-snippets +24 -0
  14. package/src/dist/.vscode/table.code-snippets +12 -0
  15. package/src/dist/.vscode/tabs.code-snippets +33 -0
  16. package/src/dist/.vscode/tooltips.code-snippets +9 -0
  17. package/src/dist/.vscode/typography.code-snippets +33 -0
  18. package/src/dist/.vscode/youtube.code-snippets +9 -0
  19. package/src/dist/app/page.tsx +2 -2
  20. package/src/dist/components/context-popover.tsx +133 -0
  21. package/src/dist/components/docs-menu.tsx +39 -21
  22. package/src/dist/components/leftbar.tsx +10 -4
  23. package/src/dist/components/markdown/FileTreeMdx.tsx +119 -0
  24. package/src/dist/components/search.tsx +36 -4
  25. package/src/dist/contents/docs/{getting-started/changelog → changelog/version-1}/index.mdx +57 -0
  26. package/src/dist/contents/docs/{getting-started/components → components}/card/index.mdx +3 -3
  27. package/src/dist/contents/docs/components/file-tree/index.mdx +109 -0
  28. package/src/dist/contents/docs/getting-started/customize/index.mdx +0 -2
  29. package/src/dist/contents/docs/getting-started/installation/index.mdx +1 -1
  30. package/src/dist/contents/docs/getting-started/introduction/index.mdx +1 -1
  31. package/src/dist/contents/docs/getting-started/quick-start-guide/index.mdx +78 -60
  32. package/src/dist/docu.json +47 -28
  33. package/src/dist/lib/markdown.ts +6 -61
  34. package/src/dist/lib/routes-config.ts +8 -1
  35. package/src/dist/package.json +1 -1
  36. package/src/dist/styles/globals.css +0 -17
  37. package/src/dist/tailwind.config.ts +0 -1
  38. package/src/dist/contents/docs/getting-started/components/index.mdx +0 -9
  39. package/src/dist/next-env.d.ts +0 -5
  40. package/src/dist/styles/editor.css +0 -57
  41. /package/src/dist/contents/docs/{getting-started/components → components}/accordion/index.mdx +0 -0
  42. /package/src/dist/contents/docs/{getting-started/components → components}/button/index.mdx +0 -0
  43. /package/src/dist/contents/docs/{getting-started/components → components}/card-group/index.mdx +0 -0
  44. /package/src/dist/contents/docs/{getting-started/components → components}/code-block/index.mdx +0 -0
  45. /package/src/dist/contents/docs/{getting-started/components → components}/custom/index.mdx +0 -0
  46. /package/src/dist/contents/docs/{getting-started/components → components}/image/index.mdx +0 -0
  47. /package/src/dist/contents/docs/{getting-started/components → components}/keyboard/index.mdx +0 -0
  48. /package/src/dist/contents/docs/{getting-started/components → components}/link/index.mdx +0 -0
  49. /package/src/dist/contents/docs/{getting-started/components → components}/note/index.mdx +0 -0
  50. /package/src/dist/contents/docs/{getting-started/components → components}/release-note/index.mdx +0 -0
  51. /package/src/dist/contents/docs/{getting-started/components → components}/stepper/index.mdx +0 -0
  52. /package/src/dist/contents/docs/{getting-started/components → components}/tabs/index.mdx +0 -0
  53. /package/src/dist/contents/docs/{getting-started/components → components}/tooltips/index.mdx +0 -0
  54. /package/src/dist/contents/docs/{getting-started/components → components}/youtube/index.mdx +0 -0
@@ -4,11 +4,11 @@ description: Get up and running with DocuBook in minutes with this comprehensive
4
4
  date: 20-05-2025
5
5
  ---
6
6
 
7
- Welcome to DocuBook! This guide will help you set up your documentation site quickly and efficiently.
7
+ Welcome to DocuBook! This guide will help you set up and customize your documentation site efficiently.
8
8
 
9
9
  ## Prerequisites
10
10
 
11
- Before we begin, make sure you have the following installed:
11
+ Before we begin, ensure you have the following installed:
12
12
 
13
13
  - [Git](https://git-scm.com/)
14
14
  - [Node.js 18+](https://nodejs.org/) or [Bun 1.0+](https://bun.sh/)
@@ -16,112 +16,130 @@ Before we begin, make sure you have the following installed:
16
16
 
17
17
  ## Installation
18
18
 
19
- <Note type="note" title="Note">
20
- Follow the instructions on the [installation page](/docs/getting-started/installation) to install the required dependencies and set up your project.
19
+ <Note type="note" title="Initial Setup">
20
+ Follow the [installation guide](/docs/getting-started/installation) to set up your project dependencies and configuration.
21
21
  </Note>
22
22
 
23
23
  ## Project Setup
24
24
 
25
- ### Customize Branding
25
+ ### Configuration
26
26
 
27
27
  <Stepper>
28
- <StepperItem title="Step 1: Add Favicon">
29
- Place your favicon at `public/favicon.ico`
28
+ <StepperItem title="Add Favicon">
29
+ Place your favicon at `public/favicon.ico` for browser tab display.
30
30
  </StepperItem>
31
- <StepperItem title="Step 2: Add Logo">
32
- Place your logo at `public/images/docu.svg` (SVG format recommended)
31
+ <StepperItem title="Add Logo">
32
+ Add your logo at `public/images/docu.svg` (SVG format recommended for scalability).
33
33
  </StepperItem>
34
- <StepperItem title="Step 3: Update Site Info">
35
- Edit `docu.json` to update site name, description, and other settings
34
+ <StepperItem title="Update Site Information">
35
+ Customize your site's metadata in `docu.json`:
36
+ - Site title and description
37
+ - Navigation structure
38
+ - Default theme settings
36
39
  </StepperItem>
37
40
  </Stepper>
38
41
 
39
- ## Creating Content
42
+ ## Content Management
40
43
 
41
44
  ### File Structure
42
45
 
43
- DocuBook uses the following structure:
46
+ DocuBook organizes content in a hierarchical structure:
44
47
 
45
- ````plaintext
48
+ ```plaintext
46
49
  contents/
47
- docs/
48
- getting-started/
49
- quick-start-guide/ <-- You are here
50
+ docs/ # Main documentation directory
51
+ getting-started/ # Section for getting started guides
52
+ quick-start-guide/ # Current guide
53
+ index.mdx # Main content file
54
+ guides/ # Additional documentation sections
55
+ components/ # Component-specific documentation
50
56
  index.mdx
51
- guides/
52
- components/
53
- index.mdx
54
- ````
57
+ ```
55
58
 
56
- ### Adding New Pages
59
+ ### Creating New Content
57
60
 
58
61
  <Stepper>
59
- <StepperItem title="Step 1: Create a New Folder">
60
- Create a new folder in `contents/docs/getting-started/` for your content section
62
+ <StepperItem title="1. Create Content Directory">
63
+ Organize your documentation by creating a new directory:
64
+ ```bash
65
+ mkdir -p contents/docs/your-section/your-topic
66
+ ```
67
+
68
+ Example for an API reference:
61
69
  ```bash
62
- mkdir -p contents/docs/getting-started/your-page-title
70
+ mkdir -p contents/docs/api/authentication
63
71
  ```
64
72
  </StepperItem>
65
- <StepperItem title="Step 2: Add MDX File">
66
- Create an `index.mdx` file with frontmatter:
73
+
74
+ <StepperItem title="2. Create MDX Content">
75
+ Add an `index.mdx` file with frontmatter metadata:
67
76
  ````markdown
68
77
  ---
69
- title: Your Page Title
70
- description: Brief description of your page
71
- date: 20-05-2025
78
+ title: Authentication
79
+ description: Learn how to implement user authentication
80
+ date: 2025-05-29
72
81
  ---
73
82
 
74
- # Your Content Here
83
+ Your comprehensive guide to implementing authentication in your application.
84
+
85
+ ## Getting Started
75
86
 
76
- Start writing your documentation using Markdown or MDX components.
87
+ Start by setting up your authentication provider...
77
88
  ````
78
89
  </StepperItem>
79
- <StepperItem title="Step 3: Add to Navigation">
80
- Update the navigation in `docu.json`:
81
- ```json:docu.json showLineNumbers {8}
82
- {
90
+
91
+ <StepperItem title="3. Update Navigation">
92
+ Add your new section to the navigation in `docu.json`. Here's how to add the authentication section we created earlier:
93
+
94
+ ```json:docu.json showLineNumbers {4-16}
95
+ {
83
96
  "routes": [
97
+ // ... existing routes ...
84
98
  {
85
- "title": "Getting Started",
86
- "href": "/getting-started",
87
- "noLink": true,
88
- "items": [
89
- { "title": "Your Page Title", "href": "/your-page-title" } // Add your page here separated by comma `,`
90
- ]
99
+ "title": "API",
100
+ "href": "/api",
101
+ "noLink": true,
102
+ "context": {
103
+ "icon": "Code2",
104
+ "description": "API Reference and Integration",
105
+ "title": "API"
106
+ },
107
+ "items": [
108
+ { "title": "Authentication", "href": "/authentication" }
109
+ ]
91
110
  }
92
- ]
93
- }
111
+ ]
112
+ }
94
113
  ```
114
+
115
+ This will add a new "API" section with an "Authentication" page under it. The `context` object defines how this section appears in the navigation, including its icon and description.
95
116
  </StepperItem>
96
117
  </Stepper>
97
118
 
98
- ## Development
119
+ ## Development Workflow
120
+
121
+ ### Local Development
99
122
 
100
- Start the development server:
123
+ Start the development server with live reload:
101
124
 
102
125
  ```bash
126
+ # Using npm
103
127
  npm run dev
104
- # or
128
+
129
+ # Or using Bun
105
130
  bun dev
106
131
  ```
107
132
 
108
- Visit [http://localhost:3000](http://localhost:3000) to see your site.
133
+ Access your site at [http://localhost:3000](http://localhost:3000)
109
134
 
110
- ## Building for Production
135
+ ### Building for Production
111
136
 
112
- When you're ready to deploy:
137
+ When ready to deploy:
113
138
 
114
139
  ```bash
140
+ # Build the production version
115
141
  npm run build
142
+
143
+ # Start the production server
116
144
  npm start
117
145
  ```
118
-
119
- ## Need Help?
120
-
121
- <Note type="info">
122
- Check out the [Components Guide](/docs/getting-started/components) to learn about all available components.
123
- </Note>
124
-
125
- <Note type="warning">
126
- Make sure to commit your changes to version control before deploying.
127
- </Note>
@@ -14,11 +14,6 @@
14
14
  "footer": {
15
15
  "copyright": "DocuBook",
16
16
  "social": [
17
- {
18
- "name": "Gitlab",
19
- "url": "https://gitlab.com/mywildancloud",
20
- "iconName": "GitlabIcon"
21
- },
22
17
  {
23
18
  "name": "Instagram",
24
19
  "url": "https://www.instagram.com/wildan.nrs",
@@ -66,34 +61,58 @@
66
61
  "title": "Getting Started",
67
62
  "href": "/getting-started",
68
63
  "noLink": true,
64
+ "context": {
65
+ "icon": "Book",
66
+ "description": "Set up your Documentation",
67
+ "title": "Guides"
68
+ },
69
69
  "items": [
70
70
  { "title": "Introduction", "href": "/introduction" },
71
71
  { "title": "Installation", "href": "/installation" },
72
72
  { "title": "Quick Start Guide", "href": "/quick-start-guide" },
73
73
  { "title": "Project Structure", "href": "/project-structure" },
74
- {
75
- "title": "Components",
76
- "href": "/components",
77
- "items": [
78
- { "title": "Accordion", "href": "/accordion" },
79
- { "title": "Button", "href": "/button" },
80
- { "title": "Card", "href": "/card" },
81
- { "title": "Card Group", "href": "/card-group" },
82
- { "title": "Code Block", "href": "/code-block" },
83
- { "title": "Image", "href": "/image" },
84
- { "title": "Keyboard", "href": "/keyboard" },
85
- { "title": "Link", "href": "/link" },
86
- { "title": "Note", "href": "/note" },
87
- { "title": "Release Note", "href": "/release-note" },
88
- { "title": "Stepper", "href": "/stepper" },
89
- { "title": "Tabs", "href": "/tabs" },
90
- { "title": "Tooltips", "href": "/tooltips" },
91
- { "title": "Youtube", "href": "/youtube" },
92
- { "title": "Custom", "href": "/custom" }
93
- ]
94
- },
95
- { "title": "Customize", "href": "/customize" },
96
- { "title": "Changelog", "href": "/changelog" }
74
+ { "title": "Customize", "href": "/customize" }
75
+ ]
76
+ },
77
+ {
78
+ "title": "Components",
79
+ "href": "/components",
80
+ "noLink": true,
81
+ "context": {
82
+ "icon": "Layers",
83
+ "description": "Write with Markdown",
84
+ "title": "Markdown"
85
+ },
86
+ "items": [
87
+ { "title": "Accordion", "href": "/accordion" },
88
+ { "title": "Button", "href": "/button" },
89
+ { "title": "Card", "href": "/card" },
90
+ { "title": "Card Group", "href": "/card-group" },
91
+ { "title": "Code Block", "href": "/code-block" },
92
+ { "title": "File Tree", "href": "/file-tree" },
93
+ { "title": "Image", "href": "/image" },
94
+ { "title": "Keyboard", "href": "/keyboard" },
95
+ { "title": "Link", "href": "/link" },
96
+ { "title": "Note", "href": "/note" },
97
+ { "title": "Release Note", "href": "/release-note" },
98
+ { "title": "Stepper", "href": "/stepper" },
99
+ { "title": "Tabs", "href": "/tabs" },
100
+ { "title": "Tooltips", "href": "/tooltips" },
101
+ { "title": "Youtube", "href": "/youtube" },
102
+ { "title": "Custom", "href": "/custom" }
103
+ ]
104
+ },
105
+ {
106
+ "title": "Changelog",
107
+ "href": "/changelog",
108
+ "noLink": true,
109
+ "context": {
110
+ "icon": "History",
111
+ "description": "Updates and changes",
112
+ "title": "Changelog"
113
+ },
114
+ "items": [
115
+ { "title": "Version 1.0+", "href": "/version-1" }
97
116
  ]
98
117
  }
99
118
  ]
@@ -26,6 +26,7 @@ import Accordion from "@/components/markdown/AccordionMdx";
26
26
  import CardGroup from "@/components/markdown/CardGroupMdx";
27
27
  import Kbd from "@/components/markdown/KeyboardMdx";
28
28
  import { Release, Changes } from "@/components/markdown/ReleaseMdx";
29
+ import { File, Files, Folder } from "@/components/markdown/FileTreeMdx";
29
30
 
30
31
  // add custom components
31
32
  const components = {
@@ -47,8 +48,13 @@ const components = {
47
48
  Accordion,
48
49
  CardGroup,
49
50
  Kbd,
51
+ // Release Note Components
50
52
  Release,
51
53
  Changes,
54
+ // File Tree Components
55
+ File,
56
+ Files,
57
+ Folder,
52
58
  };
53
59
 
54
60
  // can be used for other pages like blogs, Guides etc
@@ -181,64 +187,3 @@ const postProcess = () => (tree: any) => {
181
187
  }
182
188
  });
183
189
  };
184
-
185
- // export type Author = {
186
- // avatar?: string;
187
- // handle: string;
188
- // username: string;
189
- // handleUrl: string;
190
- // };
191
-
192
- // Blog related types and functions have been removed
193
- /*
194
- export type BlogMdxFrontmatter = BaseMdxFrontmatter & {
195
- date: string;
196
- authors: Author[];
197
- cover: string;
198
- };
199
-
200
- export async function getAllBlogStaticPaths() {
201
- try {
202
- const blogFolder = path.join(process.cwd(), "/contents/blogs/");
203
- const res = await fs.readdir(blogFolder);
204
- return res.map((file) => file.split(".")[0]);
205
- } catch (err) {
206
- console.log(err);
207
- return [];
208
- }
209
- }
210
-
211
- export async function getAllBlogs() {
212
- const blogFolder = path.join(process.cwd(), "/contents/blogs/");
213
- const files = await fs.readdir(blogFolder);
214
- const uncheckedRes = await Promise.all(
215
- files.map(async (file) => {
216
- try {
217
- const filepath = path.join(process.cwd(), `/contents/blogs/${file}`);
218
- const rawMdx = await fs.readFile(filepath, "utf-8");
219
- return {
220
- ...justGetFrontmatterFromMD<BlogMdxFrontmatter>(rawMdx),
221
- slug: file.split(".")[0],
222
- };
223
- } catch (err) {
224
- console.log(err);
225
- return null;
226
- }
227
- })
228
- );
229
- return uncheckedRes.filter((it) => !!it) as (BlogMdxFrontmatter & {
230
- slug: string;
231
- })[];
232
- }
233
-
234
- export async function getBlogForSlug(slug: string) {
235
- try {
236
- const blogFile = path.join(process.cwd(), "/contents/blogs/", `${slug}.mdx`);
237
- const rawMdx = await fs.readFile(blogFile, "utf-8");
238
- return await parseMdx<BlogMdxFrontmatter>(rawMdx);
239
- } catch (err) {
240
- console.log(err);
241
- return null;
242
- }
243
- }
244
- */
@@ -1,9 +1,16 @@
1
1
  import docuConfig from "@/docu.json"; // Import JSON file
2
2
 
3
+ export type ContextInfo = {
4
+ icon: string;
5
+ description: string;
6
+ title?: string;
7
+ };
8
+
3
9
  export type EachRoute = {
4
10
  title: string;
5
11
  href: string;
6
- noLink?: boolean; // Sekarang mendukung boolean
12
+ noLink?: boolean;
13
+ context?: ContextInfo;
7
14
  items?: EachRoute[];
8
15
  };
9
16
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "docubook",
3
- "version": "1.11.0",
3
+ "version": "1.13.0",
4
4
  "private": true,
5
5
  "scripts": {
6
6
  "dev": "next dev",
@@ -3,7 +3,6 @@
3
3
  @tailwind utilities;
4
4
 
5
5
  @import url("../styles/syntax.css");
6
- @import url("../styles/editor.css");
7
6
 
8
7
  /* ocean */
9
8
  @layer base {
@@ -119,22 +118,6 @@ pre>code {
119
118
  background-color: transparent !important;
120
119
  }
121
120
 
122
- .line-clamp-3 {
123
- display: -webkit-box;
124
- -webkit-line-clamp: 3;
125
- -webkit-box-orient: vertical;
126
- overflow: hidden;
127
- text-overflow: ellipsis;
128
- }
129
-
130
- .line-clamp-2 {
131
- display: -webkit-box;
132
- -webkit-line-clamp: 2;
133
- -webkit-box-orient: vertical;
134
- overflow: hidden;
135
- text-overflow: ellipsis;
136
- }
137
-
138
121
  @layer utilities {
139
122
  .animate-shine {
140
123
  --animate-shine: shine var(--duration) infinite linear;
@@ -9,7 +9,6 @@ const config = {
9
9
  "./src/**/*.{ts,tsx}",
10
10
  ],
11
11
  prefix: "",
12
- safelist: ["line-clamp-3","line-clam-2"],
13
12
  theme: {
14
13
  container: {
15
14
  center: true,
@@ -1,9 +0,0 @@
1
- ---
2
- title: Components
3
- description: This section provides an overview of the custom components available in DocuBook.
4
- date: 29-11-2024
5
- ---
6
-
7
- Explore the custom components we've defined for easy integration and development within your projects. Each component is designed to enhance your workflow and streamline your development process.
8
-
9
- <Outlet path="getting-started/components" />
@@ -1,5 +0,0 @@
1
- /// <reference types="next" />
2
- /// <reference types="next/image-types/global" />
3
-
4
- // NOTE: This file should not be edited
5
- // see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information.
@@ -1,57 +0,0 @@
1
- /* GitHub-style editor customizations */
2
- .editor-container {
3
- @apply relative font-mono text-sm leading-relaxed;
4
- height: 100%;
5
- min-height: 600px;
6
- }
7
-
8
- .editor-textarea {
9
- @apply w-full h-full min-h-[600px] p-4 pl-14 bg-background resize-none focus:outline-none;
10
- line-height: 1.5rem;
11
- tab-size: 2;
12
- counter-reset: line;
13
- }
14
-
15
- /* Line numbers */
16
- .editor-line-numbers {
17
- @apply absolute left-0 top-0 bottom-0 w-10 bg-muted/30 border-r select-none;
18
- padding: 1rem 0;
19
- overflow: hidden;
20
- }
21
-
22
- .editor-line-numbers-content {
23
- @apply text-right pr-2 text-muted-foreground/70;
24
- font-size: 13px;
25
- line-height: 1.5rem;
26
- }
27
-
28
- .editor-line-numbers-content > div {
29
- height: 1.5rem;
30
- }
31
-
32
- .editor-line-numbers-content > div::before {
33
- content: attr(data-line-number);
34
- display: block;
35
- }
36
-
37
- /* Selection styling */
38
- .editor-textarea::selection {
39
- @apply bg-primary/20;
40
- }
41
-
42
- .dark .editor-textarea::selection {
43
- @apply bg-primary/30;
44
- }
45
-
46
- /* Scrollbar styling */
47
- .editor-textarea::-webkit-scrollbar {
48
- @apply w-2;
49
- }
50
-
51
- .editor-textarea::-webkit-scrollbar-track {
52
- @apply bg-transparent;
53
- }
54
-
55
- .editor-textarea::-webkit-scrollbar-thumb {
56
- @apply bg-muted-foreground/20 rounded-full hover:bg-muted-foreground/30;
57
- }