@docubook/create 1.12.0 → 1.13.5

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 (59) hide show
  1. package/package.json +1 -1
  2. package/src/dist/.vscode/card.code-snippets +52 -14
  3. package/src/dist/.vscode/table.code-snippets +10 -18
  4. package/src/dist/app/page.tsx +2 -2
  5. package/src/dist/components/context-popover.tsx +133 -0
  6. package/src/dist/components/docs-menu.tsx +39 -21
  7. package/src/dist/components/footer.tsx +4 -2
  8. package/src/dist/components/leftbar.tsx +10 -4
  9. package/src/dist/components/markdown/CardGroupMdx.tsx +1 -1
  10. package/src/dist/components/markdown/CardMdx.tsx +5 -4
  11. package/src/dist/components/markdown/FileTreeMdx.tsx +52 -33
  12. package/src/dist/components/markdown/KeyboardMdx.tsx +1 -1
  13. package/src/dist/components/markdown/NoteMdx.tsx +1 -1
  14. package/src/dist/components/markdown/StepperMdx.tsx +2 -2
  15. package/src/dist/components/markdown/TooltipsMdx.tsx +6 -3
  16. package/src/dist/components/navbar.tsx +3 -3
  17. package/src/dist/components/search.tsx +36 -4
  18. package/src/dist/components/sublink.tsx +7 -6
  19. package/src/dist/components/theme-toggle.tsx +10 -10
  20. package/src/dist/components/toc-observer.tsx +9 -9
  21. package/src/dist/contents/docs/{getting-started/changelog → changelog/version-1}/index.mdx +45 -3
  22. package/src/dist/contents/docs/components/accordion/index.mdx +86 -0
  23. package/src/dist/contents/docs/components/button/index.mdx +40 -0
  24. package/src/dist/contents/docs/{getting-started/components → components}/card/index.mdx +9 -11
  25. package/src/dist/contents/docs/{getting-started/components → components}/card-group/index.mdx +2 -4
  26. package/src/dist/contents/docs/{getting-started/components → components}/code-block/index.mdx +2 -4
  27. package/src/dist/contents/docs/{getting-started/components → components}/file-tree/index.mdx +3 -3
  28. package/src/dist/contents/docs/{getting-started/components → components}/index.mdx +1 -1
  29. package/src/dist/contents/docs/{getting-started/components → components}/keyboard/index.mdx +3 -3
  30. package/src/dist/contents/docs/{getting-started/components → components}/note/index.mdx +4 -6
  31. package/src/dist/contents/docs/{getting-started/components → components}/release-note/index.mdx +2 -2
  32. package/src/dist/contents/docs/{getting-started/components → components}/stepper/index.mdx +2 -4
  33. package/src/dist/contents/docs/{getting-started/components → components}/tabs/index.mdx +4 -4
  34. package/src/dist/contents/docs/{getting-started/components → components}/tooltips/index.mdx +1 -1
  35. package/src/dist/contents/docs/{getting-started/components → components}/youtube/index.mdx +7 -5
  36. package/src/dist/contents/docs/getting-started/customize/index.mdx +0 -2
  37. package/src/dist/contents/docs/getting-started/index.mdx +9 -0
  38. package/src/dist/contents/docs/getting-started/installation/index.mdx +1 -1
  39. package/src/dist/contents/docs/getting-started/introduction/index.mdx +1 -1
  40. package/src/dist/contents/docs/getting-started/quick-start-guide/index.mdx +78 -60
  41. package/src/dist/contents/docs/getting-started/theme-colors/coffee/index.mdx +167 -0
  42. package/src/dist/contents/docs/getting-started/theme-colors/default/index.mdx +163 -0
  43. package/src/dist/contents/docs/getting-started/theme-colors/freshlime/index.mdx +164 -0
  44. package/src/dist/contents/docs/getting-started/theme-colors/index.mdx +9 -0
  45. package/src/dist/contents/docs/getting-started/theme-colors/llms/index.mdx +66 -0
  46. package/src/dist/docu.json +56 -23
  47. package/src/dist/lib/routes-config.ts +8 -1
  48. package/src/dist/package.json +1 -1
  49. package/src/dist/styles/globals.css +50 -67
  50. package/src/dist/styles/syntax.css +24 -29
  51. package/src/dist/tailwind.config.ts +0 -1
  52. package/bun.lock +0 -102
  53. package/src/dist/.vscode/extensions.json +0 -3
  54. package/src/dist/contents/docs/getting-started/components/accordion/index.mdx +0 -72
  55. package/src/dist/contents/docs/getting-started/components/button/index.mdx +0 -42
  56. package/src/dist/styles/editor.css +0 -57
  57. /package/src/dist/contents/docs/{getting-started/components → components}/custom/index.mdx +0 -0
  58. /package/src/dist/contents/docs/{getting-started/components → components}/image/index.mdx +0 -0
  59. /package/src/dist/contents/docs/{getting-started/components → components}/link/index.mdx +0 -0
@@ -0,0 +1,164 @@
1
+ ---
2
+ title: Fresh Lime
3
+ description: A fresh and vibrant freshlime-themed color scheme that's easy on the eyes while maintaining excellent readability.
4
+ date: 2025-05-30
5
+ ---
6
+
7
+ ## Styles
8
+
9
+ DocuBook comes with a carefully designed color system that ensures consistency and accessibility across your documentation. The theme includes both light and dark modes, automatically adapting to the user's system preferences.
10
+
11
+ <Note type="note" title="note">
12
+ You can override the default styles by adding your own CSS variables in the `globals.css` and `syntax.css` files.
13
+ </Note>
14
+
15
+ <Tabs defaultValue="globals" className="pt-5 pb-1">
16
+ <TabsList>
17
+ <TabsTrigger value="globals">globals.css</TabsTrigger>
18
+ <TabsTrigger value="syntax">syntax.css</TabsTrigger>
19
+ </TabsList>
20
+ <TabsContent value="globals">
21
+ ```css:globals.css
22
+ /* Fresh Lime Theme */
23
+ @layer base {
24
+ :root {
25
+ --background: 85 45% 98%;
26
+ --foreground: 85 30% 10%;
27
+ --card: 0 0% 100%;
28
+ --card-foreground: 85 30% 10%;
29
+ --popover: 0 0% 100%;
30
+ --popover-foreground: 85 30% 10%;
31
+ --primary: 85 70% 45%;
32
+ --primary-foreground: 0 0% 100%;
33
+ --secondary: 85 40% 90%;
34
+ --secondary-foreground: 85 30% 10%;
35
+ --muted: 85 30% 92%;
36
+ --muted-foreground: 85 15% 45%;
37
+ --accent: 85 60% 40%;
38
+ --accent-foreground: 0 0% 100%;
39
+ --destructive: 0 85% 60%;
40
+ --destructive-foreground: 0 0% 100%;
41
+ --border: 85 25% 88%;
42
+ --input: 85 25% 88%;
43
+ --ring: 85 70% 45%;
44
+ --radius: 0.5rem;
45
+ --chart-1: 85 70% 45%;
46
+ --chart-2: 85 60% 40%;
47
+ --chart-3: 85 80% 40%;
48
+ --chart-4: 85 85% 35%;
49
+ --chart-5: 85 90% 30%;
50
+ --line-number-color: rgba(0, 0, 0, 0.05);
51
+ }
52
+
53
+ .dark {
54
+ --background: 85 20% 8%;
55
+ --foreground: 85 30% 96%;
56
+ --card: 85 20% 10%;
57
+ --card-foreground: 85 30% 96%;
58
+ --popover: 85 20% 10%;
59
+ --popover-foreground: 85 30% 96%;
60
+ --primary: 85 75% 55%;
61
+ --primary-foreground: 85 20% 8%;
62
+ --secondary: 85 25% 18%;
63
+ --secondary-foreground: 85 30% 96%;
64
+ --muted: 85 20% 20%;
65
+ --muted-foreground: 85 20% 70%;
66
+ --accent: 85 70% 50%;
67
+ --accent-foreground: 0 0% 100%;
68
+ --destructive: 0 85% 65%;
69
+ --destructive-foreground: 0 0% 100%;
70
+ --border: 85 25% 22%;
71
+ --input: 85 25% 22%;
72
+ --ring: 85 75% 55%;
73
+ --chart-1: 85 75% 55%;
74
+ --chart-2: 85 70% 50%;
75
+ --chart-3: 85 80% 45%;
76
+ --chart-4: 85 85% 40%;
77
+ --chart-5: 85 90% 35%;
78
+ --line-number-color: rgba(255, 255, 255, 0.1);
79
+ }
80
+ }
81
+ ```
82
+ </TabsContent>
83
+
84
+ <TabsContent value="syntax">
85
+ ```css:syntax.css
86
+ /* Fresh Lime Theme - Syntax Highlighting */
87
+
88
+ /* Light Mode */
89
+ .keyword {
90
+ color: hsl(85 70% 30%); /* Dark lime green */
91
+ }
92
+
93
+ .function {
94
+ color: hsl(85 65% 35%); /* Slightly lighter lime */
95
+ }
96
+
97
+ .punctuation {
98
+ color: hsl(85 15% 50%); /* Muted green-gray */
99
+ }
100
+
101
+ .comment {
102
+ color: hsl(85 15% 50%); /* Muted green-gray */
103
+ font-style: italic;
104
+ }
105
+
106
+ .string,
107
+ .constant,
108
+ .annotation,
109
+ .boolean,
110
+ .number {
111
+ color: hsl(85 50% 35%); /* Medium lime green */
112
+ }
113
+
114
+ .tag {
115
+ color: hsl(85 70% 25%); /* Darker lime */
116
+ }
117
+
118
+ .attr-name {
119
+ color: hsl(85 60% 35%); /* Lime green */
120
+ }
121
+
122
+ .attr-value {
123
+ color: hsl(85 70% 30%); /* Dark lime green */
124
+ }
125
+
126
+ /* Dark Mode */
127
+ .dark .keyword {
128
+ color: hsl(85 75% 65%); /* Bright lime */
129
+ }
130
+
131
+ .dark .function {
132
+ color: hsl(85 75% 60%); /* Slightly less bright lime */
133
+ }
134
+
135
+ .dark .string,
136
+ .dark .constant,
137
+ .dark .annotation,
138
+ .dark .boolean,
139
+ .dark .number {
140
+ color: hsl(85 60% 70%); /* Light lime */
141
+ }
142
+
143
+ .dark .tag {
144
+ color: hsl(85 70% 70%); /* Bright lime */
145
+ }
146
+
147
+ .dark .attr-name {
148
+ color: hsl(85 65% 70%); /* Light lime */
149
+ }
150
+
151
+ .dark .attr-value {
152
+ color: hsl(85 75% 65%); /* Bright lime */
153
+ }
154
+
155
+ .dark .comment {
156
+ color: hsl(85 15% 60%); /* Light gray-green */
157
+ }
158
+
159
+ .dark .punctuation {
160
+ color: hsl(85 20% 70%); /* Light gray-green */
161
+ }
162
+ ```
163
+ </TabsContent>
164
+ </Tabs>
@@ -0,0 +1,9 @@
1
+ ---
2
+ title : Theme Colors
3
+ description : Color system used in DocuBook for styling UI elements
4
+ date : 2025-05-20
5
+ ---
6
+
7
+ DocuBook comes with a carefully designed color system that ensures consistency and accessibility across your documentation. The theme includes both light and dark modes, automatically adapting to the user's system preferences.
8
+
9
+ <Outlet path="getting-started/theme-colors" />
@@ -0,0 +1,66 @@
1
+ ---
2
+ title: Llms.txt - Generate Custom Theme
3
+ description: Complete guide for creating and using AI-generated custom themes based on LLMS context.
4
+ date: 2025-05-31
5
+ ---
6
+
7
+ ## Introduction
8
+ This document explains how to create and implement custom color themes using AI with LLMS context. The context includes a consistent color palette for both light and dark modes, along with syntax highlighting colors for code.
9
+
10
+ ## Generate New Theme
11
+
12
+ <Stepper>
13
+ <StepperItem title="Step 1: Access LLM for Color Generation">
14
+ Ensure you have access to a language model (LLM) that supports color palette generation
15
+ </StepperItem>
16
+ <StepperItem title="Step 2: Prepare Color Context">
17
+ Share the content of the [llms.txt](/llms.txt) file with the AI to provide the current color scheme context.
18
+ </StepperItem>
19
+ <StepperItem title="Step 3: Define Color Requirements">
20
+ Determine your preferred color scheme or theme requirements
21
+ </StepperItem>
22
+ <StepperItem title="Step 4: Generate New Theme">
23
+ Use the following prompt to request a new theme from the AI:
24
+
25
+ ```markdown
26
+ Create a new color theme based on the provided context with the following requirements:
27
+ 1. Different primary color `#2281E3` - changes to your brand color
28
+ 2. Maintain good contrast for accessibility
29
+ 3. Include variants for both light and dark modes
30
+ 4. Keep the same structure as the provided context
31
+ ```
32
+ </StepperItem>
33
+ </Stepper>
34
+
35
+ ## Implementation
36
+ After receiving the new color palette:
37
+
38
+ 1. Copy the generated CSS code to your theme file
39
+ 2. Update CSS variables in `globals.css`
40
+ 3. Adjust syntax colors in `syntax.css` if needed
41
+ 4. Test the theme across different devices and display modes
42
+
43
+ ## Example Implementation
44
+ ```css
45
+ :root {
46
+ --primary: 210 81% 56%; /* Primary color */
47
+ --secondary: 210 30% 90%; /* Secondary color */
48
+ /* ... and so on */
49
+ }
50
+
51
+ .dark {
52
+ --primary: 210 100% 65%; /* Dark mode primary color */
53
+ /* ... and so on */
54
+ }
55
+ ```
56
+
57
+ ## Tips and Recommendations
58
+ - Always test color contrast to ensure accessibility
59
+ - Maintain consistency with existing themes
60
+ - Use tools like [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/) to verify contrast ratios
61
+ - Keep backups of previous theme versions before making major changes
62
+
63
+ ## Troubleshooting
64
+ - If colors don't change, ensure CSS variables are properly imported
65
+ - Check CSS selector specificity if styles conflict
66
+ - Verify dark/light mode toggling is working correctly
@@ -61,35 +61,68 @@
61
61
  "title": "Getting Started",
62
62
  "href": "/getting-started",
63
63
  "noLink": true,
64
+ "context": {
65
+ "icon": "Book",
66
+ "description": "Set up your Documentation",
67
+ "title": "Guides"
68
+ },
64
69
  "items": [
65
70
  { "title": "Introduction", "href": "/introduction" },
66
71
  { "title": "Installation", "href": "/installation" },
67
72
  { "title": "Quick Start Guide", "href": "/quick-start-guide" },
68
73
  { "title": "Project Structure", "href": "/project-structure" },
69
- {
70
- "title": "Components",
71
- "href": "/components",
72
- "items": [
73
- { "title": "Accordion", "href": "/accordion" },
74
- { "title": "Button", "href": "/button" },
75
- { "title": "Card", "href": "/card" },
76
- { "title": "Card Group", "href": "/card-group" },
77
- { "title": "Code Block", "href": "/code-block" },
78
- { "title": "File Tree", "href": "/file-tree" },
79
- { "title": "Image", "href": "/image" },
80
- { "title": "Keyboard", "href": "/keyboard" },
81
- { "title": "Link", "href": "/link" },
82
- { "title": "Note", "href": "/note" },
83
- { "title": "Release Note", "href": "/release-note" },
84
- { "title": "Stepper", "href": "/stepper" },
85
- { "title": "Tabs", "href": "/tabs" },
86
- { "title": "Tooltips", "href": "/tooltips" },
87
- { "title": "Youtube", "href": "/youtube" },
88
- { "title": "Custom", "href": "/custom" }
89
- ]
90
- },
91
74
  { "title": "Customize", "href": "/customize" },
92
- { "title": "Changelog", "href": "/changelog" }
75
+ {
76
+ "title": "Theme Colors",
77
+ "href": "/theme-colors",
78
+ "items": [
79
+ { "title": "Default", "href": "/default" },
80
+ { "title": "Fresh Lime", "href": "/freshlime" },
81
+ { "title": "Coffee", "href": "/coffee" },
82
+ { "title": "llms.txt", "href": "/llms" }
83
+ ]
84
+ }
85
+ ]
86
+ },
87
+ {
88
+ "title": "Components",
89
+ "href": "/components",
90
+ "noLink": true,
91
+ "context": {
92
+ "icon": "Layers",
93
+ "description": "Write with Markdown",
94
+ "title": "Markdown"
95
+ },
96
+ "items": [
97
+ { "title": "Accordion", "href": "/accordion" },
98
+ { "title": "Button", "href": "/button" },
99
+ { "title": "Card", "href": "/card" },
100
+ { "title": "Card Group", "href": "/card-group" },
101
+ { "title": "Code Block", "href": "/code-block" },
102
+ { "title": "File Tree", "href": "/file-tree" },
103
+ { "title": "Image", "href": "/image" },
104
+ { "title": "Keyboard", "href": "/keyboard" },
105
+ { "title": "Link", "href": "/link" },
106
+ { "title": "Note", "href": "/note" },
107
+ { "title": "Release Note", "href": "/release-note" },
108
+ { "title": "Stepper", "href": "/stepper" },
109
+ { "title": "Tabs", "href": "/tabs" },
110
+ { "title": "Tooltips", "href": "/tooltips" },
111
+ { "title": "Youtube", "href": "/youtube" },
112
+ { "title": "Custom", "href": "/custom" }
113
+ ]
114
+ },
115
+ {
116
+ "title": "Release",
117
+ "href": "/changelog",
118
+ "noLink": true,
119
+ "context": {
120
+ "icon": "History",
121
+ "description": "Updates and changes",
122
+ "title": "Changelog"
123
+ },
124
+ "items": [
125
+ { "title": "Version 1.0+", "href": "/version-1" }
93
126
  ]
94
127
  }
95
128
  ]
@@ -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.12.0",
3
+ "version": "1.13.5",
4
4
  "private": true,
5
5
  "scripts": {
6
6
  "dev": "next dev",
@@ -3,65 +3,64 @@
3
3
  @tailwind utilities;
4
4
 
5
5
  @import url("../styles/syntax.css");
6
- @import url("../styles/editor.css");
7
6
 
8
- /* ocean */
7
+ /* Modern Blue Theme */
9
8
  @layer base {
10
9
  :root {
11
- --background: 210 60% 97%; /* Lighter sky blue */
12
- --foreground: 220 30% 10%; /* Deep navy */
13
- --card: 210 50% 99%; /* Almost white blue */
14
- --card-foreground: 220 30% 10%;
15
- --popover: 210 50% 99%;
16
- --popover-foreground: 220 30% 10%;
17
- --primary: 220 85% 55%; /* Vibrant azure blue */
18
- --primary-foreground: 210 60% 97%;
19
- --secondary: 220 40% 80%; /* Softer sky blue */
20
- --secondary-foreground: 220 30% 10%;
21
- --muted: 220 40% 80%;
22
- --muted-foreground: 220 30% 30%; /* Deeper steel blue */
23
- --accent: 200 75% 38%; /* Stronger ocean blue */
24
- --accent-foreground: 0 0% 100%; /* Pure white */
25
- --destructive: 0 70% 50%; /* More vivid red */
26
- --destructive-foreground: 220 30% 95%; /* Lightened foreground */
27
- --border: 220 20% 85%; /* Slightly darker grey-blue */
28
- --input: 220 20% 85%;
29
- --ring: 220 50% 50%; /* More noticeable blue ring */
10
+ --background: 210 40% 98%;
11
+ --foreground: 220 30% 15%;
12
+ --card: 0 0% 100%;
13
+ --card-foreground: 220 30% 15%;
14
+ --popover: 0 0% 100%;
15
+ --popover-foreground: 220 30% 15%;
16
+ --primary: 210 81% 56%; /* #2281E3 */
17
+ --primary-foreground: 0 0% 100%;
18
+ --secondary: 210 30% 90%;
19
+ --secondary-foreground: 220 30% 15%;
20
+ --muted: 210 20% 92%;
21
+ --muted-foreground: 220 15% 50%;
22
+ --accent: 200 100% 40%;
23
+ --accent-foreground: 0 0% 100%;
24
+ --destructive: 0 85% 60%;
25
+ --destructive-foreground: 0 0% 100%;
26
+ --border: 210 20% 85%;
27
+ --input: 210 20% 85%;
28
+ --ring: 210 81% 56%;
30
29
  --radius: 0.5rem;
31
- --chart-1: 210 65% 45%; /* Classic blue */
32
- --chart-2: 220 45% 60%; /* Softer sky */
33
- --chart-3: 220 75% 45%; /* Azure blue */
34
- --chart-4: 200 65% 50%; /* Ocean blue */
35
- --chart-5: 240 35% 35%; /* Deeper teal */
30
+ --chart-1: 210 81% 56%;
31
+ --chart-2: 200 100% 40%;
32
+ --chart-3: 220 76% 60%;
33
+ --chart-4: 190 90% 50%;
34
+ --chart-5: 230 86% 45%;
36
35
  --line-number-color: rgba(0, 0, 0, 0.05);
37
36
  }
38
37
 
39
38
  .dark {
40
- --background: 220 20% 8%; /* Deeper midnight navy */
41
- --foreground: 220 85% 92%; /* Brighter sky blue */
42
- --card: 220 20% 10%; /* Slightly darker midnight */
43
- --card-foreground: 220 85% 92%;
44
- --popover: 220 20% 10%;
45
- --popover-foreground: 220 85% 92%;
46
- --primary: 210 75% 65%; /* Softer but bright blue */
47
- --primary-foreground: 220 20% 8%;
48
- --secondary: 220 35% 12%; /* Darker steel blue */
49
- --secondary-foreground: 220 85% 92%;
50
- --muted: 220 35% 12%;
51
- --muted-foreground: 210 25% 80%; /* Pale navy */
52
- --accent: 220 85% 55%; /* Vibrant azure blue */
53
- --accent-foreground: 220 85% 92%;
54
- --destructive: 0 75% 50%; /* More noticeable red */
55
- --destructive-foreground: 220 85% 92%;
56
- --border: 220 35% 12%; /* Darker steel blue */
57
- --input: 220 35% 12%;
58
- --ring: 220 65% 55%; /* Vivid blue ring */
59
- --chart-1: 210 65% 45%; /* Classic blue */
60
- --chart-2: 220 45% 60%; /* Softer sky */
61
- --chart-3: 220 75% 45%; /* Azure blue */
62
- --chart-4: 200 65% 50%; /* Ocean blue */
63
- --chart-5: 240 35% 35%; /* Deeper teal */
64
- --line-number-color: rgba(255, 255, 255, 0.05);
39
+ --background: 220 25% 10%;
40
+ --foreground: 210 30% 96%;
41
+ --card: 220 25% 15%;
42
+ --card-foreground: 210 30% 96%;
43
+ --popover: 220 25% 15%;
44
+ --popover-foreground: 210 30% 96%;
45
+ --primary: 210 100% 65%;
46
+ --primary-foreground: 220 25% 10%;
47
+ --secondary: 215 25% 20%;
48
+ --secondary-foreground: 210 30% 96%;
49
+ --muted: 215 20% 25%;
50
+ --muted-foreground: 215 20% 65%;
51
+ --accent: 200 100% 60%;
52
+ --accent-foreground: 0 0% 100%;
53
+ --destructive: 0 85% 70%;
54
+ --destructive-foreground: 0 0% 100%;
55
+ --border: 215 20% 25%;
56
+ --input: 215 20% 25%;
57
+ --ring: 210 100% 65%;
58
+ --chart-1: 210 100% 65%;
59
+ --chart-2: 200 100% 60%;
60
+ --chart-3: 220 90% 70%;
61
+ --chart-4: 190 100% 65%;
62
+ --chart-5: 230 90% 60%;
63
+ --line-number-color: rgba(255, 255, 255, 0.1);
65
64
  }
66
65
  }
67
66
 
@@ -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;
@@ -1,23 +1,20 @@
1
- /* ocean */
1
+ /* Modern Blue Theme */
2
2
  /* Light Mode */
3
3
  .keyword {
4
- color: #2563eb;
5
- /* Vibrant Blue */
4
+ color: #1d4ed8; /* Darker blue for better contrast */
6
5
  }
7
6
 
8
7
  .function {
9
- color: #0284c7;
10
- /* Deep Sky Blue */
8
+ color: #0369a1; /* Deep blue */
11
9
  }
12
10
 
13
11
  .punctuation {
14
- color: #475569;
15
- /* Cool Slate Gray */
12
+ color: #4b5563; /* Slate gray */
16
13
  }
17
14
 
18
15
  .comment {
19
- color: #64748b;
20
- /* Muted Slate */
16
+ color: #6b7280; /* Muted gray */
17
+ font-style: italic;
21
18
  }
22
19
 
23
20
  .string,
@@ -25,34 +22,28 @@
25
22
  .annotation,
26
23
  .boolean,
27
24
  .number {
28
- color: #0369a1;
29
- /* Dark Cyan */
25
+ color: #0d9488; /* Teal for better distinction */
30
26
  }
31
27
 
32
28
  .tag {
33
- color: #1e40af;
34
- /* Indigo */
29
+ color: #1d4ed8; /* Matching keyword color */
35
30
  }
36
31
 
37
32
  .attr-name {
38
- color: #0ea5e9;
39
- /* Light Sky Blue */
33
+ color: #0284c7; /* Sky blue */
40
34
  }
41
35
 
42
36
  .attr-value {
43
- color: #2563eb;
44
- /* Bright Blue */
37
+ color: #2563eb; /* Primary blue */
45
38
  }
46
39
 
47
40
  /* Dark Mode */
48
41
  .dark .keyword {
49
- color: #93c5fd;
50
- /* Soft Blue */
42
+ color: #60a5fa; /* Soft blue */
51
43
  }
52
44
 
53
45
  .dark .function {
54
- color: #38bdf8;
55
- /* Sky Blue */
46
+ color: #38bdf8; /* Sky blue */
56
47
  }
57
48
 
58
49
  .dark .string,
@@ -60,23 +51,27 @@
60
51
  .dark .annotation,
61
52
  .dark .boolean,
62
53
  .dark .number {
63
- color: #60a5fa;
64
- /* Light Blue */
54
+ color: #2dd4bf; /* Teal */
65
55
  }
66
56
 
67
57
  .dark .tag {
68
- color: #3b82f6;
69
- /* Bold Blue */
58
+ color: #60a5fa; /* Matching keyword color */
70
59
  }
71
60
 
72
61
  .dark .attr-name {
73
- color: #67e8f9;
74
- /* Aqua */
62
+ color: #7dd3fc; /* Lighter blue */
75
63
  }
76
64
 
77
65
  .dark .attr-value {
78
- color: #93c5fd;
79
- /* Frosty Blue */
66
+ color: #3b82f6; /* Brighter blue */
67
+ }
68
+
69
+ .dark .comment {
70
+ color: #9ca3af; /* Lighter gray for dark mode */
71
+ }
72
+
73
+ .dark .punctuation {
74
+ color: #9ca3af; /* Lighter gray for dark mode */
80
75
  }
81
76
 
82
77
  .youtube {
@@ -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,