boltdocs 1.3.0 → 1.3.2

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 (103) hide show
  1. package/dist/{cache-EHR7SXRU.mjs → cache-GQHF6BXI.mjs} +1 -1
  2. package/dist/{chunk-GSYECEZY.mjs → chunk-CYBWLFOG.mjs} +5 -1
  3. package/dist/node/index.js +36 -20
  4. package/dist/node/index.mjs +34 -22
  5. package/package.json +1 -1
  6. package/src/client/app/index.tsx +344 -344
  7. package/src/client/app/preload.tsx +56 -56
  8. package/src/client/index.ts +40 -40
  9. package/src/client/ssr.tsx +51 -51
  10. package/src/client/theme/components/CodeBlock/CodeBlock.tsx +76 -76
  11. package/src/client/theme/components/CodeBlock/index.ts +1 -1
  12. package/src/client/theme/components/PackageManagerTabs/PackageManagerTabs.tsx +154 -154
  13. package/src/client/theme/components/PackageManagerTabs/index.ts +1 -1
  14. package/src/client/theme/components/PackageManagerTabs/pkg-tabs.css +64 -64
  15. package/src/client/theme/components/Playground/Playground.tsx +124 -124
  16. package/src/client/theme/components/Playground/index.ts +1 -1
  17. package/src/client/theme/components/Playground/playground.css +168 -168
  18. package/src/client/theme/components/Video/Video.tsx +84 -84
  19. package/src/client/theme/components/Video/index.ts +1 -1
  20. package/src/client/theme/components/Video/video.css +41 -41
  21. package/src/client/theme/components/mdx/Admonition.tsx +80 -80
  22. package/src/client/theme/components/mdx/Badge.tsx +31 -31
  23. package/src/client/theme/components/mdx/Button.tsx +50 -50
  24. package/src/client/theme/components/mdx/Card.tsx +80 -80
  25. package/src/client/theme/components/mdx/List.tsx +57 -57
  26. package/src/client/theme/components/mdx/Tabs.tsx +94 -94
  27. package/src/client/theme/components/mdx/index.ts +18 -18
  28. package/src/client/theme/components/mdx/mdx-components.css +424 -424
  29. package/src/client/theme/icons/bun.tsx +62 -62
  30. package/src/client/theme/icons/deno.tsx +20 -20
  31. package/src/client/theme/icons/discord.tsx +12 -12
  32. package/src/client/theme/icons/github.tsx +15 -15
  33. package/src/client/theme/icons/npm.tsx +13 -13
  34. package/src/client/theme/icons/pnpm.tsx +72 -72
  35. package/src/client/theme/icons/twitter.tsx +12 -12
  36. package/src/client/theme/styles/markdown.css +343 -343
  37. package/src/client/theme/styles/variables.css +162 -162
  38. package/src/client/theme/styles.css +37 -37
  39. package/src/client/theme/ui/BackgroundGradient/BackgroundGradient.tsx +10 -10
  40. package/src/client/theme/ui/BackgroundGradient/index.ts +1 -1
  41. package/src/client/theme/ui/Breadcrumbs/Breadcrumbs.tsx +68 -68
  42. package/src/client/theme/ui/Breadcrumbs/index.ts +1 -1
  43. package/src/client/theme/ui/Footer/footer.css +32 -32
  44. package/src/client/theme/ui/Head/Head.tsx +69 -69
  45. package/src/client/theme/ui/Head/index.ts +1 -1
  46. package/src/client/theme/ui/LanguageSwitcher/LanguageSwitcher.tsx +125 -125
  47. package/src/client/theme/ui/LanguageSwitcher/index.ts +1 -1
  48. package/src/client/theme/ui/LanguageSwitcher/language-switcher.css +98 -98
  49. package/src/client/theme/ui/Layout/Layout.tsx +202 -202
  50. package/src/client/theme/ui/Layout/base.css +76 -76
  51. package/src/client/theme/ui/Layout/index.ts +2 -2
  52. package/src/client/theme/ui/Layout/pagination.css +72 -72
  53. package/src/client/theme/ui/Layout/responsive.css +36 -36
  54. package/src/client/theme/ui/Link/Link.tsx +254 -254
  55. package/src/client/theme/ui/Link/index.ts +2 -2
  56. package/src/client/theme/ui/Loading/Loading.tsx +10 -10
  57. package/src/client/theme/ui/Loading/index.ts +1 -1
  58. package/src/client/theme/ui/Loading/loading.css +30 -30
  59. package/src/client/theme/ui/Navbar/GithubStars.tsx +27 -27
  60. package/src/client/theme/ui/Navbar/Navbar.tsx +145 -145
  61. package/src/client/theme/ui/Navbar/index.ts +2 -2
  62. package/src/client/theme/ui/Navbar/navbar.css +233 -233
  63. package/src/client/theme/ui/NotFound/NotFound.tsx +19 -19
  64. package/src/client/theme/ui/NotFound/index.ts +1 -1
  65. package/src/client/theme/ui/NotFound/not-found.css +64 -64
  66. package/src/client/theme/ui/OnThisPage/OnThisPage.tsx +235 -235
  67. package/src/client/theme/ui/OnThisPage/index.ts +1 -1
  68. package/src/client/theme/ui/OnThisPage/toc.css +132 -132
  69. package/src/client/theme/ui/PoweredBy/PoweredBy.tsx +18 -18
  70. package/src/client/theme/ui/PoweredBy/index.ts +1 -1
  71. package/src/client/theme/ui/PoweredBy/powered-by.css +76 -76
  72. package/src/client/theme/ui/SearchDialog/SearchDialog.tsx +199 -199
  73. package/src/client/theme/ui/SearchDialog/index.ts +1 -1
  74. package/src/client/theme/ui/SearchDialog/search.css +152 -152
  75. package/src/client/theme/ui/Sidebar/Sidebar.tsx +204 -204
  76. package/src/client/theme/ui/Sidebar/index.ts +1 -1
  77. package/src/client/theme/ui/Sidebar/sidebar.css +236 -236
  78. package/src/client/theme/ui/ThemeToggle/ThemeToggle.tsx +69 -69
  79. package/src/client/theme/ui/ThemeToggle/index.ts +1 -1
  80. package/src/client/theme/ui/VersionSwitcher/VersionSwitcher.tsx +136 -136
  81. package/src/client/theme/ui/VersionSwitcher/index.ts +1 -1
  82. package/src/client/types.ts +50 -50
  83. package/src/client/utils.ts +26 -26
  84. package/src/node/cache.ts +408 -408
  85. package/src/node/config.ts +192 -192
  86. package/src/node/index.ts +21 -21
  87. package/src/node/mdx.ts +120 -120
  88. package/src/node/plugin/entry.ts +58 -58
  89. package/src/node/plugin/html.ts +55 -55
  90. package/src/node/plugin/index.ts +193 -193
  91. package/src/node/plugin/types.ts +11 -11
  92. package/src/node/routes/cache.ts +28 -28
  93. package/src/node/routes/index.ts +167 -167
  94. package/src/node/routes/parser.ts +153 -127
  95. package/src/node/routes/sorter.ts +42 -42
  96. package/src/node/routes/types.ts +49 -49
  97. package/src/node/ssg/index.ts +114 -114
  98. package/src/node/ssg/meta.ts +33 -34
  99. package/src/node/ssg/options.ts +13 -13
  100. package/src/node/ssg/sitemap.ts +55 -54
  101. package/src/node/utils.ts +145 -134
  102. package/tsconfig.json +20 -20
  103. package/tsup.config.ts +22 -22
@@ -1,132 +1,132 @@
1
- /* ═══════════════════════════════════════════════════════════
2
- ON THIS PAGE (TOC)
3
- ═══════════════════════════════════════════════════════════ */
4
- .boltdocs-on-this-page {
5
- width: var(--ld-toc-width);
6
- flex-shrink: 0;
7
- padding: 1.5rem 1rem;
8
- position: sticky;
9
- top: var(--ld-navbar-height);
10
- height: calc(100vh - var(--ld-navbar-height));
11
- overflow-y: auto;
12
- scrollbar-width: thin;
13
- scrollbar-color: var(--ld-bg-mute) transparent;
14
- }
15
-
16
- .on-this-page-title {
17
- font-size: 0.6875rem;
18
- font-weight: 700;
19
- text-transform: uppercase;
20
- letter-spacing: 0.08em;
21
- color: var(--ld-text-dim);
22
- margin: 0 0 0.75rem;
23
- padding-left: 0.75rem;
24
- }
25
-
26
- .on-this-page-container {
27
- position: relative;
28
- padding-left: 2px;
29
- }
30
-
31
- .on-this-page-list {
32
- list-style: none;
33
- padding: 0;
34
- margin: 0;
35
- border-left: 1px solid var(--ld-border-subtle);
36
- }
37
-
38
- .toc-indicator {
39
- position: absolute;
40
- left: 0;
41
- width: 2px;
42
- background-color: var(--ld-color-accent);
43
- transition:
44
- transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
45
- height 0.25s cubic-bezier(0.4, 0, 0.2, 1),
46
- opacity 0.2s ease;
47
- z-index: 1;
48
- border-radius: 2px;
49
- pointer-events: none;
50
- opacity: 0;
51
- }
52
-
53
- .on-this-page-list li {
54
- margin: 0;
55
- }
56
-
57
- .on-this-page-list li.toc-indent {
58
- padding-left: 0.75rem;
59
- }
60
-
61
- .toc-link {
62
- display: block;
63
- padding: 0.35rem 0.75rem;
64
- font-size: 0.8125rem;
65
- color: var(--ld-text-dim);
66
- text-decoration: none;
67
- border-left: 2px solid transparent;
68
- margin-left: -2px;
69
- line-height: 1.4;
70
- transition: color 0.2s;
71
- }
72
-
73
- .toc-link:hover {
74
- color: var(--ld-text-main);
75
- }
76
-
77
- .toc-link.active {
78
- color: var(--ld-color-primary);
79
- font-weight: 500;
80
- }
81
-
82
- /* ─── Need Help Section ──────────────────────────────────── */
83
- .toc-help {
84
- margin-top: 2rem;
85
- padding-top: 1rem;
86
- border-top: 1px solid var(--ld-border-subtle);
87
- }
88
-
89
- .toc-help-title {
90
- font-size: 0.6875rem;
91
- font-weight: 700;
92
- text-transform: uppercase;
93
- letter-spacing: 0.08em;
94
- color: var(--ld-text-dim);
95
- margin: 0 0 0.5rem;
96
- padding-left: 0.75rem;
97
- }
98
-
99
- .toc-help-links {
100
- list-style: none;
101
- padding: 0;
102
- margin: 0;
103
- }
104
-
105
- .toc-help-links li {
106
- margin-bottom: 2px;
107
- }
108
-
109
- .toc-help-link {
110
- display: flex;
111
- align-items: center;
112
- gap: 0.4rem;
113
- padding: 0.3rem 0.75rem;
114
- font-size: 0.8rem;
115
- color: var(--ld-text-dim);
116
- text-decoration: none;
117
- border-radius: var(--ld-radius-md);
118
- transition:
119
- color 0.2s,
120
- background-color 0.2s;
121
- }
122
-
123
- .toc-help-link:hover {
124
- color: var(--ld-text-muted);
125
- background-color: rgba(255, 255, 255, 0.03);
126
- }
127
-
128
- .toc-help-link svg {
129
- width: 14px;
130
- height: 14px;
131
- opacity: 0.6;
132
- }
1
+ /* ═══════════════════════════════════════════════════════════
2
+ ON THIS PAGE (TOC)
3
+ ═══════════════════════════════════════════════════════════ */
4
+ .boltdocs-on-this-page {
5
+ width: var(--ld-toc-width);
6
+ flex-shrink: 0;
7
+ padding: 1.5rem 1rem;
8
+ position: sticky;
9
+ top: var(--ld-navbar-height);
10
+ height: calc(100vh - var(--ld-navbar-height));
11
+ overflow-y: auto;
12
+ scrollbar-width: thin;
13
+ scrollbar-color: var(--ld-bg-mute) transparent;
14
+ }
15
+
16
+ .on-this-page-title {
17
+ font-size: 0.6875rem;
18
+ font-weight: 700;
19
+ text-transform: uppercase;
20
+ letter-spacing: 0.08em;
21
+ color: var(--ld-text-dim);
22
+ margin: 0 0 0.75rem;
23
+ padding-left: 0.75rem;
24
+ }
25
+
26
+ .on-this-page-container {
27
+ position: relative;
28
+ padding-left: 2px;
29
+ }
30
+
31
+ .on-this-page-list {
32
+ list-style: none;
33
+ padding: 0;
34
+ margin: 0;
35
+ border-left: 1px solid var(--ld-border-subtle);
36
+ }
37
+
38
+ .toc-indicator {
39
+ position: absolute;
40
+ left: 0;
41
+ width: 2px;
42
+ background-color: var(--ld-color-accent);
43
+ transition:
44
+ transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
45
+ height 0.25s cubic-bezier(0.4, 0, 0.2, 1),
46
+ opacity 0.2s ease;
47
+ z-index: 1;
48
+ border-radius: 2px;
49
+ pointer-events: none;
50
+ opacity: 0;
51
+ }
52
+
53
+ .on-this-page-list li {
54
+ margin: 0;
55
+ }
56
+
57
+ .on-this-page-list li.toc-indent {
58
+ padding-left: 0.75rem;
59
+ }
60
+
61
+ .toc-link {
62
+ display: block;
63
+ padding: 0.35rem 0.75rem;
64
+ font-size: 0.8125rem;
65
+ color: var(--ld-text-dim);
66
+ text-decoration: none;
67
+ border-left: 2px solid transparent;
68
+ margin-left: -2px;
69
+ line-height: 1.4;
70
+ transition: color 0.2s;
71
+ }
72
+
73
+ .toc-link:hover {
74
+ color: var(--ld-text-main);
75
+ }
76
+
77
+ .toc-link.active {
78
+ color: var(--ld-color-primary);
79
+ font-weight: 500;
80
+ }
81
+
82
+ /* ─── Need Help Section ──────────────────────────────────── */
83
+ .toc-help {
84
+ margin-top: 2rem;
85
+ padding-top: 1rem;
86
+ border-top: 1px solid var(--ld-border-subtle);
87
+ }
88
+
89
+ .toc-help-title {
90
+ font-size: 0.6875rem;
91
+ font-weight: 700;
92
+ text-transform: uppercase;
93
+ letter-spacing: 0.08em;
94
+ color: var(--ld-text-dim);
95
+ margin: 0 0 0.5rem;
96
+ padding-left: 0.75rem;
97
+ }
98
+
99
+ .toc-help-links {
100
+ list-style: none;
101
+ padding: 0;
102
+ margin: 0;
103
+ }
104
+
105
+ .toc-help-links li {
106
+ margin-bottom: 2px;
107
+ }
108
+
109
+ .toc-help-link {
110
+ display: flex;
111
+ align-items: center;
112
+ gap: 0.4rem;
113
+ padding: 0.3rem 0.75rem;
114
+ font-size: 0.8rem;
115
+ color: var(--ld-text-dim);
116
+ text-decoration: none;
117
+ border-radius: var(--ld-radius-md);
118
+ transition:
119
+ color 0.2s,
120
+ background-color 0.2s;
121
+ }
122
+
123
+ .toc-help-link:hover {
124
+ color: var(--ld-text-muted);
125
+ background-color: rgba(255, 255, 255, 0.03);
126
+ }
127
+
128
+ .toc-help-link svg {
129
+ width: 14px;
130
+ height: 14px;
131
+ opacity: 0.6;
132
+ }
@@ -1,18 +1,18 @@
1
- import { Zap } from "lucide-react";
2
-
3
- export function PoweredBy() {
4
- return (
5
- <div className="powered-by-container">
6
- <a
7
- href="https://github.com/jesusalcaladev/boltdocs"
8
- target="_blank"
9
- rel="noopener noreferrer"
10
- className="powered-by-link"
11
- >
12
- <Zap className="powered-by-icon" size={12} fill="currentColor" />
13
- <span>Powered by</span>
14
- <span className="powered-by-brand">LiteDocs</span>
15
- </a>
16
- </div>
17
- );
18
- }
1
+ import { Zap } from "lucide-react";
2
+
3
+ export function PoweredBy() {
4
+ return (
5
+ <div className="powered-by-container">
6
+ <a
7
+ href="https://github.com/jesusalcaladev/boltdocs"
8
+ target="_blank"
9
+ rel="noopener noreferrer"
10
+ className="powered-by-link"
11
+ >
12
+ <Zap className="powered-by-icon" size={12} fill="currentColor" />
13
+ <span>Powered by</span>
14
+ <span className="powered-by-brand">LiteDocs</span>
15
+ </a>
16
+ </div>
17
+ );
18
+ }
@@ -1 +1 @@
1
- export { PoweredBy } from "./PoweredBy";
1
+ export { PoweredBy } from "./PoweredBy";
@@ -1,76 +1,76 @@
1
- .powered-by-container {
2
- display: flex;
3
- justify-content: center;
4
- padding: 1rem 0.6rem;
5
- }
6
-
7
- .powered-by-link {
8
- position: relative;
9
- display: inline-flex;
10
- align-items: center;
11
- gap: 0.45rem;
12
- padding: 0.45rem 1rem;
13
- border-radius: var(--ld-radius-full);
14
- background: rgba(255, 255, 255, 0.03);
15
- backdrop-filter: blur(8px);
16
- -webkit-backdrop-filter: blur(8px);
17
- border: 1px solid rgba(255, 255, 255, 0.08);
18
- color: var(--ld-text-dim);
19
- font-size: 0.725rem;
20
- font-weight: 500;
21
- text-decoration: none;
22
- transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
23
- letter-spacing: 0.01em;
24
- overflow: hidden;
25
- }
26
-
27
- .powered-by-link::before {
28
- content: "";
29
- position: absolute;
30
- top: 0;
31
- left: -100%;
32
- width: 100%;
33
- height: 100%;
34
- background: linear-gradient(
35
- 90deg,
36
- transparent,
37
- rgba(255, 255, 255, 0.05),
38
- transparent
39
- );
40
- transition: 0.5s;
41
- }
42
-
43
- .powered-by-link:hover::before {
44
- left: 100%;
45
- }
46
-
47
- .powered-by-link:hover {
48
- background: rgba(255, 255, 255, 0.06);
49
- border-color: rgba(255, 255, 255, 0.2);
50
- color: var(--ld-text-main);
51
- transform: translateY(-2px);
52
- box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
53
- }
54
-
55
- .powered-by-icon {
56
- color: var(--ld-color-primary);
57
- filter: drop-shadow(0 0 4px var(--ld-color-primary));
58
- transition: transform 0.3s ease;
59
- }
60
-
61
- .powered-by-link:hover .powered-by-icon {
62
- transform: scale(1.2) rotate(-10deg);
63
- filter: drop-shadow(0 0 8px var(--ld-color-primary));
64
- }
65
-
66
- .powered-by-brand {
67
- color: var(--ld-color-primary);
68
- font-weight: 700;
69
- text-shadow: 0 0 10px rgba(var(--ld-color-primary-rgb, 56, 189, 248), 0.3);
70
- }
71
-
72
- @media (max-width: 768px) {
73
- .powered-by-container {
74
- padding: 0.75rem 0.5rem;
75
- }
76
- }
1
+ .powered-by-container {
2
+ display: flex;
3
+ justify-content: center;
4
+ padding: 1rem 0.6rem;
5
+ }
6
+
7
+ .powered-by-link {
8
+ position: relative;
9
+ display: inline-flex;
10
+ align-items: center;
11
+ gap: 0.45rem;
12
+ padding: 0.45rem 1rem;
13
+ border-radius: var(--ld-radius-full);
14
+ background: rgba(255, 255, 255, 0.03);
15
+ backdrop-filter: blur(8px);
16
+ -webkit-backdrop-filter: blur(8px);
17
+ border: 1px solid rgba(255, 255, 255, 0.08);
18
+ color: var(--ld-text-dim);
19
+ font-size: 0.725rem;
20
+ font-weight: 500;
21
+ text-decoration: none;
22
+ transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
23
+ letter-spacing: 0.01em;
24
+ overflow: hidden;
25
+ }
26
+
27
+ .powered-by-link::before {
28
+ content: "";
29
+ position: absolute;
30
+ top: 0;
31
+ left: -100%;
32
+ width: 100%;
33
+ height: 100%;
34
+ background: linear-gradient(
35
+ 90deg,
36
+ transparent,
37
+ rgba(255, 255, 255, 0.05),
38
+ transparent
39
+ );
40
+ transition: 0.5s;
41
+ }
42
+
43
+ .powered-by-link:hover::before {
44
+ left: 100%;
45
+ }
46
+
47
+ .powered-by-link:hover {
48
+ background: rgba(255, 255, 255, 0.06);
49
+ border-color: rgba(255, 255, 255, 0.2);
50
+ color: var(--ld-text-main);
51
+ transform: translateY(-2px);
52
+ box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
53
+ }
54
+
55
+ .powered-by-icon {
56
+ color: var(--ld-color-primary);
57
+ filter: drop-shadow(0 0 4px var(--ld-color-primary));
58
+ transition: transform 0.3s ease;
59
+ }
60
+
61
+ .powered-by-link:hover .powered-by-icon {
62
+ transform: scale(1.2) rotate(-10deg);
63
+ filter: drop-shadow(0 0 8px var(--ld-color-primary));
64
+ }
65
+
66
+ .powered-by-brand {
67
+ color: var(--ld-color-primary);
68
+ font-weight: 700;
69
+ text-shadow: 0 0 10px rgba(var(--ld-color-primary-rgb, 56, 189, 248), 0.3);
70
+ }
71
+
72
+ @media (max-width: 768px) {
73
+ .powered-by-container {
74
+ padding: 0.75rem 0.5rem;
75
+ }
76
+ }