@docubook/create 1.13.0 → 1.13.6

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 (44) hide show
  1. package/package.json +1 -1
  2. package/src/dist/app/page.tsx +1 -1
  3. package/src/dist/components/context-popover.tsx +4 -4
  4. package/src/dist/components/footer.tsx +4 -2
  5. package/src/dist/components/leftbar.tsx +2 -2
  6. package/src/dist/components/markdown/CardGroupMdx.tsx +1 -1
  7. package/src/dist/components/markdown/CardMdx.tsx +5 -4
  8. package/src/dist/components/markdown/FileTreeMdx.tsx +52 -33
  9. package/src/dist/components/markdown/KeyboardMdx.tsx +1 -1
  10. package/src/dist/components/markdown/NoteMdx.tsx +1 -1
  11. package/src/dist/components/markdown/StepperMdx.tsx +2 -2
  12. package/src/dist/components/markdown/TooltipsMdx.tsx +6 -3
  13. package/src/dist/components/navbar.tsx +3 -3
  14. package/src/dist/components/search.tsx +2 -2
  15. package/src/dist/components/sublink.tsx +7 -6
  16. package/src/dist/components/theme-toggle.tsx +10 -10
  17. package/src/dist/components/toc-observer.tsx +9 -9
  18. package/src/dist/contents/docs/changelog/version-1/index.mdx +38 -3
  19. package/src/dist/contents/docs/components/accordion/index.mdx +36 -22
  20. package/src/dist/contents/docs/components/button/index.mdx +11 -13
  21. package/src/dist/contents/docs/components/card/index.mdx +6 -8
  22. package/src/dist/contents/docs/components/card-group/index.mdx +2 -4
  23. package/src/dist/contents/docs/components/code-block/index.mdx +2 -4
  24. package/src/dist/contents/docs/components/file-tree/index.mdx +3 -3
  25. package/src/dist/contents/docs/components/index.mdx +9 -0
  26. package/src/dist/contents/docs/components/keyboard/index.mdx +3 -3
  27. package/src/dist/contents/docs/components/note/index.mdx +4 -6
  28. package/src/dist/contents/docs/components/release-note/index.mdx +2 -2
  29. package/src/dist/contents/docs/components/stepper/index.mdx +2 -4
  30. package/src/dist/contents/docs/components/tabs/index.mdx +4 -4
  31. package/src/dist/contents/docs/components/tooltips/index.mdx +1 -1
  32. package/src/dist/contents/docs/components/youtube/index.mdx +7 -5
  33. package/src/dist/contents/docs/getting-started/index.mdx +9 -0
  34. package/src/dist/contents/docs/getting-started/project-structure/index.mdx +1 -1
  35. package/src/dist/contents/docs/getting-started/theme-colors/coffee/index.mdx +165 -0
  36. package/src/dist/contents/docs/getting-started/theme-colors/default/index.mdx +160 -0
  37. package/src/dist/contents/docs/getting-started/theme-colors/freshlime/index.mdx +161 -0
  38. package/src/dist/contents/docs/getting-started/theme-colors/index.mdx +9 -0
  39. package/src/dist/contents/docs/getting-started/theme-colors/llms/index.mdx +77 -0
  40. package/src/dist/docu.json +12 -2
  41. package/src/dist/package.json +1 -1
  42. package/src/dist/styles/globals.css +50 -50
  43. package/src/dist/styles/syntax.css +24 -29
  44. package/bun.lock +0 -102
@@ -4,14 +4,12 @@ description: A component used to create buttons that can be used to trigger acti
4
4
  date: 14-12-2024
5
5
  ---
6
6
 
7
- The Button component is a component used to create buttons that can be used to trigger actions or navigate to other pages.
8
-
9
7
  ## Preview
10
8
 
11
9
  <Button
12
10
  text="Learn More"
13
11
  href="https://learn.example.com"
14
- icon="ArrowUpRight"
12
+ icon="MoveUpRight"
15
13
  size="md"
16
14
  target="_blank"
17
15
  variation="primary"
@@ -19,18 +17,18 @@ The Button component is a component used to create buttons that can be used to t
19
17
 
20
18
  ## Props
21
19
 
22
- | Prop | Type | Default | Description |
23
- | ----------- | -------- | -------------- | -------------------------------------------- |
24
- | `text` | `string` | `""` | The value of text button. |
25
- | `href` | `string` | `""` | The value of url button. |
26
- | `icon` | `string` | `null` | The value of button icon render from lucide. |
27
- | `size` | `string` | `"sm, md, lg"` | The value of size button. |
28
- | `target` | `string` | `"_blank"` | By default target `_blank` |
29
- | `variation` | `string` | `"primary"` | By default variation is **Primary** |
20
+ | Prop | Type | Default | Description |
21
+ | ----------- | -------- | ----------- | -------------------------------------------- |
22
+ | `text` | string | undefined | The button text |
23
+ | `href` | string | **required**| The URL to navigate to |
24
+ | `icon` | string | undefined | Lucide icon name (e.g. "MoveUpRight") |
25
+ | `size` | string | "md" | Button size: `"sm"`, `"md"`, or `"lg"` |
26
+ | `target` | string | undefined | Link target (e.g. "_blank") |
27
+ | `variation` | string | "primary" | Button style: `"primary"`, `"accent"`, or `"outline"` |
30
28
 
31
- ## Code
29
+ ## Output Markdown
32
30
 
33
- ```bash
31
+ ```markdown
34
32
  <Button
35
33
  text="Learn More"
36
34
  href="https://learn.example.com"
@@ -4,13 +4,11 @@ description: A component used to create cards that can be used to display conten
4
4
  date: 20-02-2025
5
5
  ---
6
6
 
7
- The Card component is a component used to create cards that can be used to display content in a compact and organized way.
8
-
9
7
  ## Example
10
8
 
11
9
  ### Card with Link and icon
12
10
 
13
- <Card title="Click on me" icon="Link" href="/docs/getting-started/components/card-group">
11
+ <Card title="Click on me" icon="Link" href="/docs/components/card-group">
14
12
  This is how you use a card with an icon and a link. Clicking on this card
15
13
  brings you to the Card Group page.
16
14
  </Card>
@@ -32,12 +30,12 @@ The Card component is a component used to create cards that can be used to displ
32
30
 
33
31
  | Prop | Type | Default | Description |
34
32
  | ------------- | -------- | ------- | ------------------------------------------------------- |
35
- | `title` | `string` | `""` | The value of card title. |
36
- | `icon` | `string` | `null` | The value of card icon render from lucide. |
37
- | `href` | `string` | `null` | The value of card link url. |
38
- | `horizontal` | `boolean` | `""` | horizontal layout for card. |
33
+ | `title` | string | null | The value of card title. |
34
+ | `icon` | string | null | The value of card icon render from lucide. |
35
+ | `href` | string | null | The value of card link url. |
36
+ | `horizontal` | boolean | undefined | horizontal layout for card. |
39
37
 
40
- ## Code
38
+ ## Output Markdown
41
39
 
42
40
  <Tabs defaultValue="link" className="pt-5 pb-1">
43
41
  <TabsList>
@@ -4,8 +4,6 @@ description: A component used to create card groups that can be used to display
4
4
  date: 20-02-2025
5
5
  ---
6
6
 
7
- The CardGroup component is a component used to create card groups that can be used to display multiple cards in a compact and organized way.
8
-
9
7
  ## Preview
10
8
 
11
9
  <CardGroup cols={2}>
@@ -27,9 +25,9 @@ The CardGroup component is a component used to create card groups that can be us
27
25
 
28
26
  | Prop | Type | Default | Description |
29
27
  | ------------- | -------- | ------- | ------------------------------------------------------- |
30
- | `cols` | `number` | `{2}` | By default 2 The number of columns per row |
28
+ | `cols` | number | {2} | By default 2 The number of columns per row |
31
29
 
32
- ## Code
30
+ ## Output Markdown
33
31
 
34
32
  ```markdown
35
33
  <CardGroup cols={2}>
@@ -4,8 +4,6 @@ description: A component used to display code snippets with optional line number
4
4
  date: 14-12-2024
5
5
  ---
6
6
 
7
- The Code Block component is a component used to display code snippets with optional line numbering and line highlighting.
8
-
9
7
  ## Preview
10
8
 
11
9
  ```javascript:main.js showLineNumbers {3-4}
@@ -19,7 +17,7 @@ function isRocketAboutToCrash() {
19
17
 
20
18
  In this example, line numbers are displayed for lines 1 to 4. You can specify which lines to highlight using the format `{2,3-5}`.
21
19
 
22
- ## Usage
20
+ ## Output Markdown
23
21
 
24
22
  You can directly use the following syntax to create a code block with line numbers and highlight specific lines:
25
23
 
@@ -34,7 +32,7 @@ function isRocketAboutToCrash() {
34
32
  ```
35
33
  ````
36
34
 
37
- ### Features
35
+ ## Features
38
36
 
39
37
  - **Line Numbers**: Enable line numbers by adding `showLineNumbers` after the opening backticks.
40
38
  - **Highlight Lines**: Specify lines to highlight using curly braces (e.g., `{2,3-5}`).
@@ -51,14 +51,14 @@ The root component that wraps the entire file tree.
51
51
 
52
52
  | Prop | Type | Required | Description |
53
53
  |----------|----------|----------|---------------------------------------|
54
- | name | string | Yes | The name of the folder |
55
- | children | ReactNode | No | Child elements (File or Folder) |
54
+ | `name` | string | Yes | The name of the folder |
55
+ | `children` | ReactNode | No | Child elements (File or Folder) |
56
56
 
57
57
  ### File
58
58
 
59
59
  | Prop | Type | Required | Description |
60
60
  |------|--------|----------|----------------------------|
61
- | name | string | Yes | The name of the file |
61
+ | `name` | string | Yes | The name of the file |
62
62
 
63
63
 
64
64
  ## Examples
@@ -0,0 +1,9 @@
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="components" />
@@ -49,9 +49,9 @@ Renders as: <Kbd show="custom">Custom</Kbd>
49
49
 
50
50
  | Prop | Type | Default | Description |
51
51
  |-----------|---------------------|------------|-------------|
52
- | `show` | `string` | (required) | The key identifier (e.g., 'cmd', 'ctrl', 'a') |
53
- | `type` | `string` | `window` | for device type `mac` or `window` | Platform style or custom content |
54
- | `children`| `ReactNode` | - | Custom content to display (overrides automatic rendering) |
52
+ | `show` | string | (required) | The key identifier (e.g., 'cmd', 'ctrl', 'a') |
53
+ | `type` | string | `window` | for device type `mac` or `window` | Platform style or custom content |
54
+ | `children`| ReactNode | - | Custom content to display (overrides automatic rendering) |
55
55
 
56
56
  ## Supported Keys
57
57
 
@@ -4,8 +4,6 @@ description: A component used to display different types of messages such as gen
4
4
  date: 14-12-2024
5
5
  ---
6
6
 
7
- The `Note` component allows you to display different types of messages such as general notes, warnings, or success notifications. Each type is styled accordingly, providing a clear visual cue to the user.
8
-
9
7
  ## Preview
10
8
 
11
9
  <Note type="note" title="Note">
@@ -25,12 +23,12 @@ The `Note` component allows you to display different types of messages such as g
25
23
 
26
24
  | Prop | Type | Default | Description |
27
25
  | ------- | ---------------------------------------------- | ------- | ---------------------------------------- |
28
- | `title` | `string` | "Note" | Sets the title of the note. |
29
- | `type` | `"note"`, `"danger"`, `"warning"`, `"success"` | "note" | Determines the visual style of the note. |
26
+ | `title` | string | "Note" | Sets the title of the note. |
27
+ | `type` | "note" "danger" "success" "warning" | undefined | Determines the visual style of the note. |
30
28
 
31
- ## Code
29
+ ## Output Markdown
32
30
 
33
- ```jsx
31
+ ```markdown
34
32
  <Note type="note" title="Note">
35
33
  This is a general note to convey information to the user.
36
34
  </Note>
@@ -10,7 +10,7 @@ The Release Note component makes it easy for you to write and display changelogs
10
10
 
11
11
  Here is a basic example of using the Release Note component:
12
12
 
13
- ```jsx
13
+ ```markdown
14
14
  <Release version="1.10.1" date="2025-05-24" title="Accessibility Improvements and Bug Fixes">
15
15
  <Changes type="added">
16
16
  - New feature to improve accessibility
@@ -49,7 +49,7 @@ The `Release` component is used to display key information about a release versi
49
49
  | `date` | string | ❌ | Release date in a valid format (example: "2025-05-24") |
50
50
  | `children` | ReactNode | ✅ | Child content, typically `Changes` components |
51
51
 
52
- ```jsx
52
+ ```markdown
53
53
  <Release
54
54
  version="1.10.1"
55
55
  date="2025-05-24"
@@ -8,8 +8,6 @@ In this guide, we utilize a custom `Stepper` component, specifically designed fo
8
8
 
9
9
  ## Preview
10
10
 
11
- ##
12
-
13
11
  <Stepper>
14
12
  <StepperItem title="Step 1: Clone the DocuBook Repository">
15
13
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec interdum,
@@ -26,9 +24,9 @@ In this guide, we utilize a custom `Stepper` component, specifically designed fo
26
24
  </StepperItem>
27
25
  </Stepper>
28
26
 
29
- ## Code
27
+ ## Output Markdown
30
28
 
31
- ```jsx
29
+ ```markdown
32
30
  <Stepper>
33
31
  <StepperItem title="Step 1: Clone the DocuBook Repository">
34
32
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec interdum,
@@ -38,12 +38,12 @@ The `Tabs` component allows you to organize content into multiple sections, enab
38
38
 
39
39
  | Prop | Type | Default | Description |
40
40
  | -------------- | -------- | ------- | ------------------------------------------------------ |
41
- | `defaultValue` | `string` | `null` | The value of the tab that is selected by default. |
42
- | `className` | `string` | `""` | Additional CSS classes for styling the Tabs component. |
41
+ | `defaultValue` | string | null | The value of the tab that is selected by default. |
42
+ | `className` | string | null | Additional CSS classes for styling the Tabs component. |
43
43
 
44
- ## Code
44
+ ## Output Markdown
45
45
 
46
- ````jsx
46
+ ````plaintext
47
47
  <Tabs defaultValue="java" className="pt-5 pb-1">
48
48
  <TabsList>
49
49
  <TabsTrigger value="java">Java</TabsTrigger>
@@ -13,7 +13,7 @@ You can use tooltips in your Markdown content to provide additional information
13
13
 
14
14
  What do you know about <Tooltip text="DocuBook" tip="npx @docubook/create@latest" /> ? Create interactive nested documentations using MDX.
15
15
 
16
- ### Code
16
+ ### Output Markdown
17
17
 
18
18
  The above Markdown is converted to:
19
19
 
@@ -8,14 +8,16 @@ I have implemented a `YouTube` component for your documentation. This component
8
8
 
9
9
  ## Preview
10
10
 
11
- <Youtube videoId="cpraXaw7dyc" />
11
+ <Youtube videoId="8sM0Di7Ew9Q" />
12
12
 
13
- ## Code
13
+ ## Output Markdown
14
14
 
15
- ```bash
16
- <Youtube videoId="cpraXaw7dyc" />
15
+ ```markdown
16
+ <Youtube videoId="8sM0Di7Ew9Q" />
17
17
  ```
18
18
 
19
19
  ## Usage
20
20
 
21
- for example the youtube URL show this https://www.youtube.com/watch?v=cpraXaw7dyc the ID `cpraXaw7dyc`
21
+ <Note type="note" title="Usage">
22
+ for example the youtube URL show this https://www.youtube.com/watch?v=8sM0Di7Ew9Q the ID `8sM0Di7Ew9Q`
23
+ </Note>
@@ -0,0 +1,9 @@
1
+ ---
2
+ title: Getting Started
3
+ description: Set up Your Documentations with DocuBook
4
+ date: 29-05-2025
5
+ ---
6
+
7
+ Welcome to DocuBook! This guide will help you set up and customize your documentation site quickly. Whether you're creating API references, user guides, or technical documentation, these components will help you build a professional and consistent documentation experience. Follow the steps below to get started with DocuBook and make the most of its powerful features.
8
+
9
+ <Outlet path="getting-started" />
@@ -6,7 +6,7 @@ date: 29-11-2024
6
6
 
7
7
  ## app
8
8
 
9
- This folder contains the main application code for Next.js, managing layouts, routing, and specific content pages. It is organized to support both the `docs` and `blog` sections, with dedicated pages and layouts for each section.
9
+ This folder contains the main application code for Next.js, managing layouts, routing, and specific content pages. It is organized to support both the `docs` sections, with dedicated pages and layouts for each section.
10
10
 
11
11
  ```
12
12
  app // Main Next.js application folder
@@ -0,0 +1,165 @@
1
+ ---
2
+ title: Coffee
3
+ description: A warm, minimalistic design inspired by early computing. This theme is a replica of the "Coffee" theme from the `shiki-twoslash` package.
4
+ date: 2025-05-30
5
+ ---
6
+
7
+ ## Styles
8
+
9
+ <Note type="note" title="note">
10
+ You can override the default styles by adding your own CSS variables in the `globals.css` and `syntax.css` files.
11
+ </Note>
12
+
13
+ <Tabs defaultValue="globals" className="pt-5 pb-1">
14
+ <TabsList>
15
+ <TabsTrigger value="globals">globals.css</TabsTrigger>
16
+ <TabsTrigger value="syntax">syntax.css</TabsTrigger>
17
+ </TabsList>
18
+ <TabsContent value="globals">
19
+ ```css:globals.css
20
+ /* Rich Coffee Theme */
21
+ @layer base {
22
+ :root {
23
+ --background: 35 40% 96%;
24
+ --foreground: 25 25% 10%;
25
+ --card: 0 0% 100%;
26
+ --card-foreground: 25 25% 10%;
27
+ --popover: 0 0% 100%;
28
+ --popover-foreground: 25 25% 10%;
29
+ --primary: 25 60% 40%;
30
+ --primary-foreground: 0 0% 100%;
31
+ --secondary: 35 30% 90%;
32
+ --secondary-foreground: 25 25% 10%;
33
+ --muted: 35 20% 94%;
34
+ --muted-foreground: 25 15% 35%;
35
+ --accent: 30 50% 38%;
36
+ --accent-foreground: 0 0% 100%;
37
+ --destructive: 5 85% 45%;
38
+ --destructive-foreground: 0 0% 100%;
39
+ --border: 30 15% 85%;
40
+ --input: 30 15% 88%;
41
+ --ring: 25 60% 40%;
42
+ --radius: 0.5rem;
43
+ --chart-1: 25 60% 45%;
44
+ --chart-2: 30 55% 45%;
45
+ --chart-3: 35 50% 42%;
46
+ --chart-4: 20 45% 38%;
47
+ --chart-5: 40 45% 40%;
48
+ --line-number-color: rgba(0, 0, 0, 0.08);
49
+ }
50
+
51
+ .dark {
52
+ --background: 30 10% 6%;
53
+ --foreground: 35 20% 94%;
54
+ --card: 30 10% 8%;
55
+ --card-foreground: 35 20% 94%;
56
+ --popover: 30 10% 8%;
57
+ --popover-foreground: 35 20% 94%;
58
+ --primary: 30 45% 52%;
59
+ --primary-foreground: 30 10% 6%;
60
+ --secondary: 30 12% 14%;
61
+ --secondary-foreground: 35 20% 94%;
62
+ --muted: 30 10% 16%;
63
+ --muted-foreground: 30 15% 60%;
64
+ --accent: 28 40% 48%;
65
+ --accent-foreground: 0 0% 100%;
66
+ --destructive: 5 80% 55%;
67
+ --destructive-foreground: 0 0% 100%;
68
+ --border: 30 10% 20%;
69
+ --input: 30 10% 20%;
70
+ --ring: 30 45% 52%;
71
+ --chart-1: 30 45% 52%;
72
+ --chart-2: 28 40% 50%;
73
+ --chart-3: 32 45% 50%;
74
+ --chart-4: 25 35% 46%;
75
+ --chart-5: 35 40% 48%;
76
+ --line-number-color: rgba(255, 255, 255, 0.12);
77
+ }
78
+ }
79
+ ```
80
+ </TabsContent>
81
+
82
+ <TabsContent value="syntax">
83
+ ```css:syntax.css
84
+ /* Rich Coffee Theme - Syntax Highlighting */
85
+
86
+ /* Light Mode */
87
+ .keyword {
88
+ color: hsl(25 60% 35%); /* Rich coffee brown */
89
+ }
90
+
91
+ .function {
92
+ color: hsl(30 55% 38%); /* Warm coffee brown */
93
+ }
94
+
95
+ .punctuation {
96
+ color: hsl(30 15% 55%); /* Muted brown */
97
+ }
98
+
99
+ .comment {
100
+ color: hsl(25 15% 45%); /* Muted brown */
101
+ font-style: italic;
102
+ opacity: 0.9;
103
+ }
104
+
105
+ .string,
106
+ .constant,
107
+ .annotation,
108
+ .boolean,
109
+ .number {
110
+ color: hsl(32 50% 40%); /* Warm brown with hint of orange */
111
+ }
112
+
113
+ .tag {
114
+ color: hsl(25 65% 30%); /* Dark rich coffee */
115
+ }
116
+
117
+ .attr-name {
118
+ color: hsl(28 55% 38%); /* Warm brown */
119
+ }
120
+
121
+ .attr-value {
122
+ color: hsl(35 55% 35%); /* Slightly orange brown */
123
+ }
124
+
125
+ /* Dark Mode */
126
+ .dark .keyword {
127
+ color: hsl(30 50% 65%); /* Light warm brown */
128
+ }
129
+
130
+ .dark .function {
131
+ color: hsl(28 55% 68%); /* Light warm brown */
132
+ }
133
+
134
+ .dark .string,
135
+ .dark .constant,
136
+ .dark .annotation,
137
+ .dark .boolean,
138
+ .dark .number {
139
+ color: hsl(35 50% 72%); /* Light warm brown with hint of orange */
140
+ }
141
+
142
+ .dark .tag {
143
+ color: hsl(30 50% 75%); /* Light warm brown */
144
+ }
145
+
146
+ .dark .attr-name {
147
+ color: hsl(28 45% 70%); /* Light warm brown */
148
+ }
149
+
150
+ .dark .attr-value {
151
+ color: hsl(35 50% 70%); /* Light warm brown with hint of orange */
152
+ }
153
+
154
+ .dark .comment {
155
+ color: hsl(30 15% 65%); /* Light brown-gray */
156
+ opacity: 0.8;
157
+ }
158
+
159
+ .dark .punctuation {
160
+ color: hsl(30 15% 70%); /* Light brown-gray */
161
+ opacity: 0.9;
162
+ }
163
+ ```
164
+ </TabsContent>
165
+ </Tabs>
@@ -0,0 +1,160 @@
1
+ ---
2
+ title: Default Theme
3
+ description: This page explains the Modern Blue theme colors used in DocuBook, which is a default theme provided by DocuBook.
4
+ date: 2025-05-20
5
+ ---
6
+
7
+ ## Styles
8
+ <Note type="note" title="note">
9
+ You can override the default styles by adding your own CSS variables in the `globals.css` and `syntax.css` files.
10
+ </Note>
11
+
12
+ <Tabs defaultValue="globals" className="pt-5 pb-1">
13
+ <TabsList>
14
+ <TabsTrigger value="globals">globals.css</TabsTrigger>
15
+ <TabsTrigger value="syntax">syntax.css</TabsTrigger>
16
+ </TabsList>
17
+ <TabsContent value="globals">
18
+ ```css:globals.css
19
+ /* Modern Blue Theme */
20
+ @layer base {
21
+ :root {
22
+ --background: 210 40% 98%;
23
+ --foreground: 220 30% 15%;
24
+ --card: 0 0% 100%;
25
+ --card-foreground: 220 30% 15%;
26
+ --popover: 0 0% 100%;
27
+ --popover-foreground: 220 30% 15%;
28
+ --primary: 210 81% 56%; /* #2281E3 */
29
+ --primary-foreground: 0 0% 100%;
30
+ --secondary: 210 30% 90%;
31
+ --secondary-foreground: 220 30% 15%;
32
+ --muted: 210 20% 92%;
33
+ --muted-foreground: 220 15% 50%;
34
+ --accent: 200 100% 40%;
35
+ --accent-foreground: 0 0% 100%;
36
+ --destructive: 0 85% 60%;
37
+ --destructive-foreground: 0 0% 100%;
38
+ --border: 210 20% 85%;
39
+ --input: 210 20% 85%;
40
+ --ring: 210 81% 56%;
41
+ --radius: 0.5rem;
42
+ --chart-1: 210 81% 56%;
43
+ --chart-2: 200 100% 40%;
44
+ --chart-3: 220 76% 60%;
45
+ --chart-4: 190 90% 50%;
46
+ --chart-5: 230 86% 45%;
47
+ --line-number-color: rgba(0, 0, 0, 0.05);
48
+ }
49
+
50
+ .dark {
51
+ --background: 220 25% 10%;
52
+ --foreground: 210 30% 96%;
53
+ --card: 220 25% 15%;
54
+ --card-foreground: 210 30% 96%;
55
+ --popover: 220 25% 15%;
56
+ --popover-foreground: 210 30% 96%;
57
+ --primary: 210 100% 65%;
58
+ --primary-foreground: 220 25% 10%;
59
+ --secondary: 215 25% 20%;
60
+ --secondary-foreground: 210 30% 96%;
61
+ --muted: 215 20% 25%;
62
+ --muted-foreground: 215 20% 65%;
63
+ --accent: 200 100% 60%;
64
+ --accent-foreground: 0 0% 100%;
65
+ --destructive: 0 85% 70%;
66
+ --destructive-foreground: 0 0% 100%;
67
+ --border: 215 20% 25%;
68
+ --input: 215 20% 25%;
69
+ --ring: 210 100% 65%;
70
+ --chart-1: 210 100% 65%;
71
+ --chart-2: 200 100% 60%;
72
+ --chart-3: 220 90% 70%;
73
+ --chart-4: 190 100% 65%;
74
+ --chart-5: 230 90% 60%;
75
+ --line-number-color: rgba(255, 255, 255, 0.1);
76
+ }
77
+ }
78
+ ```
79
+ </TabsContent>
80
+
81
+ <TabsContent value="syntax">
82
+ ```css:syntax.css
83
+ /* Modern Blue Theme */
84
+ /* Light Mode */
85
+ .keyword {
86
+ color: #1d4ed8; /* Darker blue for better contrast */
87
+ }
88
+
89
+ .function {
90
+ color: #0369a1; /* Deep blue */
91
+ }
92
+
93
+ .punctuation {
94
+ color: #4b5563; /* Slate gray */
95
+ }
96
+
97
+ .comment {
98
+ color: #6b7280; /* Muted gray */
99
+ font-style: italic;
100
+ }
101
+
102
+ .string,
103
+ .constant,
104
+ .annotation,
105
+ .boolean,
106
+ .number {
107
+ color: #0d9488; /* Teal for better distinction */
108
+ }
109
+
110
+ .tag {
111
+ color: #1d4ed8; /* Matching keyword color */
112
+ }
113
+
114
+ .attr-name {
115
+ color: #0284c7; /* Sky blue */
116
+ }
117
+
118
+ .attr-value {
119
+ color: #2563eb; /* Primary blue */
120
+ }
121
+
122
+ /* Dark Mode */
123
+ .dark .keyword {
124
+ color: #60a5fa; /* Soft blue */
125
+ }
126
+
127
+ .dark .function {
128
+ color: #38bdf8; /* Sky blue */
129
+ }
130
+
131
+ .dark .string,
132
+ .dark .constant,
133
+ .dark .annotation,
134
+ .dark .boolean,
135
+ .dark .number {
136
+ color: #2dd4bf; /* Teal */
137
+ }
138
+
139
+ .dark .tag {
140
+ color: #60a5fa; /* Matching keyword color */
141
+ }
142
+
143
+ .dark .attr-name {
144
+ color: #7dd3fc; /* Lighter blue */
145
+ }
146
+
147
+ .dark .attr-value {
148
+ color: #3b82f6; /* Brighter blue */
149
+ }
150
+
151
+ .dark .comment {
152
+ color: #9ca3af; /* Lighter gray for dark mode */
153
+ }
154
+
155
+ .dark .punctuation {
156
+ color: #9ca3af; /* Lighter gray for dark mode */
157
+ }
158
+ ```
159
+ </TabsContent>
160
+ </Tabs>