@clidey/dory 0.24.0 โ 0.29.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.
- package/bin/dist/dory.js +41 -3
- package/bin/dist/dory.js.map +1 -1
- package/bin/dory.ts +44 -3
- package/dist/index.html +8 -8
- package/package.json +1 -1
- package/src/components/search.tsx +5 -5
- package/src/components/store.ts +1 -1
- package/src/mdx/card.tsx +7 -7
- package/src/mdx/step.tsx +6 -4
- package/src/plugins/docs-assets.ts +79 -0
- package/src/plugins/html-metadata-injector.ts +76 -0
- package/src/theme.scss +5 -1
- package/src/ui/header.tsx +1 -1
- package/src/ui/layout.tsx +47 -14
- package/src/ui/table-of-content.tsx +1 -1
- package/src/utils/colors.ts +1 -1
- package/src/utils/fonts.ts +1 -1
- package/vite.config.ts +8 -1
- package/dist/api-playground-demo.mdx +0 -119
- package/dist/api-reference/asyncapi.json +0 -324
- package/dist/api-reference/openapi.json +0 -366
- package/dist/api-reference/operations/create.mdx +0 -5
- package/dist/api-reference/operations/delete.mdx +0 -5
- package/dist/api-reference/operations/get.mdx +0 -5
- package/dist/api-reference/operations/update.mdx +0 -5
- package/dist/api-reference/websocket-operations/receive-chat-message.mdx +0 -5
- package/dist/api-reference/websocket-operations/receive-notifications.mdx +0 -5
- package/dist/api-reference/websocket-operations/receive-presence-update.mdx +0 -5
- package/dist/api-reference/websocket-operations/send-chat-message.mdx +0 -5
- package/dist/api-reference/websocket-operations/send-presence-update.mdx +0 -5
- package/dist/dory.json +0 -64
- package/dist/features.mdx +0 -440
- package/dist/introduction.mdx +0 -44
- package/dist/websocket-playground-demo.mdx +0 -135
package/bin/dist/dory.js
CHANGED
|
@@ -29,6 +29,7 @@ const commands = {
|
|
|
29
29
|
const doryRoot = getDoryRoot();
|
|
30
30
|
const doryConfigPath = resolve(userRoot, 'dory.json');
|
|
31
31
|
const tempDocsDir = resolve(doryRoot, 'docs');
|
|
32
|
+
const docsBackupDir = resolve(doryRoot, '.docs-backup');
|
|
32
33
|
const doryDistDir = resolve(doryRoot, 'dist');
|
|
33
34
|
const userDistDir = resolve(userRoot, 'dist');
|
|
34
35
|
// Step 1: Validate prerequisites before making any changes
|
|
@@ -63,9 +64,15 @@ const commands = {
|
|
|
63
64
|
console.error(' Install it with: npm install -g pnpm');
|
|
64
65
|
process.exit(1);
|
|
65
66
|
}
|
|
66
|
-
// Step 2:
|
|
67
|
+
// Step 2: Backup existing docs directory if it exists
|
|
67
68
|
console.log('๐งน Preparing workspace...');
|
|
68
|
-
|
|
69
|
+
const docsExistedBefore = existsSync(tempDocsDir);
|
|
70
|
+
if (docsExistedBefore) {
|
|
71
|
+
console.log('๐พ Backing up existing docs directory...');
|
|
72
|
+
if (existsSync(docsBackupDir)) {
|
|
73
|
+
rmSync(docsBackupDir, { recursive: true, force: true });
|
|
74
|
+
}
|
|
75
|
+
cpSync(tempDocsDir, docsBackupDir, { recursive: true, force: true });
|
|
69
76
|
rmSync(tempDocsDir, { recursive: true, force: true });
|
|
70
77
|
}
|
|
71
78
|
try {
|
|
@@ -103,6 +110,14 @@ const commands = {
|
|
|
103
110
|
}
|
|
104
111
|
}
|
|
105
112
|
console.log(`โ
Copied ${copiedCount} items`);
|
|
113
|
+
// Verify critical files exist
|
|
114
|
+
const doryJsonPath = resolve(tempDocsDir, 'dory.json');
|
|
115
|
+
if (!existsSync(doryJsonPath)) {
|
|
116
|
+
console.error('โ dory.json was not copied to docs directory');
|
|
117
|
+
console.error(` Expected: ${doryJsonPath}`);
|
|
118
|
+
console.error(' This file is required for the build');
|
|
119
|
+
process.exit(1);
|
|
120
|
+
}
|
|
106
121
|
// Step 4: Run the build
|
|
107
122
|
console.log('โก Building documentation...');
|
|
108
123
|
try {
|
|
@@ -149,12 +164,19 @@ const commands = {
|
|
|
149
164
|
console.log('โจ Documentation ready in dist/');
|
|
150
165
|
}
|
|
151
166
|
finally {
|
|
152
|
-
// Step 7: Always clean up temp directories
|
|
167
|
+
// Step 7: Always clean up temp directories and restore backup
|
|
153
168
|
console.log('๐งน Cleaning up...');
|
|
154
169
|
try {
|
|
170
|
+
// Remove the temporary docs directory
|
|
155
171
|
if (existsSync(tempDocsDir)) {
|
|
156
172
|
rmSync(tempDocsDir, { recursive: true, force: true });
|
|
157
173
|
}
|
|
174
|
+
// Restore the original docs directory if it existed before
|
|
175
|
+
if (docsExistedBefore && existsSync(docsBackupDir)) {
|
|
176
|
+
console.log('๐ฆ Restoring original docs directory...');
|
|
177
|
+
cpSync(docsBackupDir, tempDocsDir, { recursive: true, force: true });
|
|
178
|
+
rmSync(docsBackupDir, { recursive: true, force: true });
|
|
179
|
+
}
|
|
158
180
|
// Only clean up doryDistDir if it's different from userDistDir
|
|
159
181
|
// (in production they're different, in dev they might be the same)
|
|
160
182
|
if (doryDistDir !== userDistDir && existsSync(doryDistDir)) {
|
|
@@ -163,6 +185,22 @@ const commands = {
|
|
|
163
185
|
}
|
|
164
186
|
catch (error) {
|
|
165
187
|
console.warn('โ ๏ธ Could not clean up temp directories');
|
|
188
|
+
// Try to restore backup even if cleanup failed
|
|
189
|
+
if (docsExistedBefore && existsSync(docsBackupDir)) {
|
|
190
|
+
console.log('๐ Attempting to restore backup...');
|
|
191
|
+
try {
|
|
192
|
+
if (existsSync(tempDocsDir)) {
|
|
193
|
+
rmSync(tempDocsDir, { recursive: true, force: true });
|
|
194
|
+
}
|
|
195
|
+
cpSync(docsBackupDir, tempDocsDir, { recursive: true, force: true });
|
|
196
|
+
rmSync(docsBackupDir, { recursive: true, force: true });
|
|
197
|
+
}
|
|
198
|
+
catch (restoreError) {
|
|
199
|
+
console.error('โ Failed to restore docs backup!');
|
|
200
|
+
console.error(` Backup location: ${docsBackupDir}`);
|
|
201
|
+
console.error(' You may need to manually restore your docs directory');
|
|
202
|
+
}
|
|
203
|
+
}
|
|
166
204
|
}
|
|
167
205
|
console.log('โ
Done!');
|
|
168
206
|
}
|
package/bin/dist/dory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dory.js","sourceRoot":"","sources":["../dory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dory.js","sourceRoot":"","sources":["../dory.ts"],"names":[],"mappings":"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"}
|
package/bin/dory.ts
CHANGED
|
@@ -43,6 +43,7 @@ const commands = {
|
|
|
43
43
|
const doryRoot = getDoryRoot();
|
|
44
44
|
const doryConfigPath = resolve(userRoot, 'dory.json');
|
|
45
45
|
const tempDocsDir = resolve(doryRoot, 'docs');
|
|
46
|
+
const docsBackupDir = resolve(doryRoot, '.docs-backup');
|
|
46
47
|
const doryDistDir = resolve(doryRoot, 'dist');
|
|
47
48
|
const userDistDir = resolve(userRoot, 'dist');
|
|
48
49
|
|
|
@@ -80,9 +81,16 @@ const commands = {
|
|
|
80
81
|
process.exit(1);
|
|
81
82
|
}
|
|
82
83
|
|
|
83
|
-
// Step 2:
|
|
84
|
+
// Step 2: Backup existing docs directory if it exists
|
|
84
85
|
console.log('๐งน Preparing workspace...');
|
|
85
|
-
|
|
86
|
+
const docsExistedBefore = existsSync(tempDocsDir);
|
|
87
|
+
|
|
88
|
+
if (docsExistedBefore) {
|
|
89
|
+
console.log('๐พ Backing up existing docs directory...');
|
|
90
|
+
if (existsSync(docsBackupDir)) {
|
|
91
|
+
rmSync(docsBackupDir, { recursive: true, force: true });
|
|
92
|
+
}
|
|
93
|
+
cpSync(tempDocsDir, docsBackupDir, { recursive: true, force: true });
|
|
86
94
|
rmSync(tempDocsDir, { recursive: true, force: true });
|
|
87
95
|
}
|
|
88
96
|
|
|
@@ -128,6 +136,15 @@ const commands = {
|
|
|
128
136
|
|
|
129
137
|
console.log(`โ
Copied ${copiedCount} items`);
|
|
130
138
|
|
|
139
|
+
// Verify critical files exist
|
|
140
|
+
const doryJsonPath = resolve(tempDocsDir, 'dory.json');
|
|
141
|
+
if (!existsSync(doryJsonPath)) {
|
|
142
|
+
console.error('โ dory.json was not copied to docs directory');
|
|
143
|
+
console.error(` Expected: ${doryJsonPath}`);
|
|
144
|
+
console.error(' This file is required for the build');
|
|
145
|
+
process.exit(1);
|
|
146
|
+
}
|
|
147
|
+
|
|
131
148
|
// Step 4: Run the build
|
|
132
149
|
console.log('โก Building documentation...');
|
|
133
150
|
|
|
@@ -182,13 +199,22 @@ const commands = {
|
|
|
182
199
|
console.log('โจ Documentation ready in dist/');
|
|
183
200
|
|
|
184
201
|
} finally {
|
|
185
|
-
// Step 7: Always clean up temp directories
|
|
202
|
+
// Step 7: Always clean up temp directories and restore backup
|
|
186
203
|
console.log('๐งน Cleaning up...');
|
|
187
204
|
|
|
188
205
|
try {
|
|
206
|
+
// Remove the temporary docs directory
|
|
189
207
|
if (existsSync(tempDocsDir)) {
|
|
190
208
|
rmSync(tempDocsDir, { recursive: true, force: true });
|
|
191
209
|
}
|
|
210
|
+
|
|
211
|
+
// Restore the original docs directory if it existed before
|
|
212
|
+
if (docsExistedBefore && existsSync(docsBackupDir)) {
|
|
213
|
+
console.log('๐ฆ Restoring original docs directory...');
|
|
214
|
+
cpSync(docsBackupDir, tempDocsDir, { recursive: true, force: true });
|
|
215
|
+
rmSync(docsBackupDir, { recursive: true, force: true });
|
|
216
|
+
}
|
|
217
|
+
|
|
192
218
|
// Only clean up doryDistDir if it's different from userDistDir
|
|
193
219
|
// (in production they're different, in dev they might be the same)
|
|
194
220
|
if (doryDistDir !== userDistDir && existsSync(doryDistDir)) {
|
|
@@ -196,6 +222,21 @@ const commands = {
|
|
|
196
222
|
}
|
|
197
223
|
} catch (error) {
|
|
198
224
|
console.warn('โ ๏ธ Could not clean up temp directories');
|
|
225
|
+
// Try to restore backup even if cleanup failed
|
|
226
|
+
if (docsExistedBefore && existsSync(docsBackupDir)) {
|
|
227
|
+
console.log('๐ Attempting to restore backup...');
|
|
228
|
+
try {
|
|
229
|
+
if (existsSync(tempDocsDir)) {
|
|
230
|
+
rmSync(tempDocsDir, { recursive: true, force: true });
|
|
231
|
+
}
|
|
232
|
+
cpSync(docsBackupDir, tempDocsDir, { recursive: true, force: true });
|
|
233
|
+
rmSync(docsBackupDir, { recursive: true, force: true });
|
|
234
|
+
} catch (restoreError) {
|
|
235
|
+
console.error('โ Failed to restore docs backup!');
|
|
236
|
+
console.error(` Backup location: ${docsBackupDir}`);
|
|
237
|
+
console.error(' You may need to manually restore your docs directory');
|
|
238
|
+
}
|
|
239
|
+
}
|
|
199
240
|
}
|
|
200
241
|
|
|
201
242
|
console.log('โ
Done!');
|
package/dist/index.html
CHANGED
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
<meta name="theme-color" content="#000000" />
|
|
8
8
|
|
|
9
9
|
<!-- Primary Meta Tags -->
|
|
10
|
-
<meta name="description" content="Docucod
|
|
10
|
+
<meta name="description" content="Docucod - Technical Documentation" />
|
|
11
11
|
<meta name="keywords" content="documentation, code documentation, auto documentation, developer tools, technical documentation, codebase documentation, llm, ai, anthropic, openai, chatgpt, claude, clidey" />
|
|
12
12
|
<meta name="author" content="Clidey" />
|
|
13
13
|
<meta name="language" content="English" />
|
|
14
14
|
|
|
15
15
|
<!-- Open Graph / Facebook -->
|
|
16
|
-
<meta property="og:title" content="Docucod
|
|
17
|
-
<meta property="og:description" content="Docucod
|
|
16
|
+
<meta property="og:title" content="Docucod" />
|
|
17
|
+
<meta property="og:description" content="Docucod - Technical Documentation" />
|
|
18
18
|
<meta property="og:image" content="/assets/favicon-nLquwUQp.svg" />
|
|
19
19
|
<meta property="og:url" content="https://docucod.com/" />
|
|
20
20
|
<meta property="og:type" content="website" />
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
|
|
24
24
|
<!-- Twitter -->
|
|
25
25
|
<meta name="twitter:card" content="summary_large_image" />
|
|
26
|
-
<meta name="twitter:title" content="Docucod
|
|
27
|
-
<meta name="twitter:description" content="Docucod
|
|
26
|
+
<meta name="twitter:title" content="Docucod" />
|
|
27
|
+
<meta name="twitter:description" content="Docucod - Technical Documentation" />
|
|
28
28
|
<meta name="twitter:image" content="/assets/favicon-nLquwUQp.svg" />
|
|
29
29
|
<meta name="twitter:site" content="@ClideyOfficial" />
|
|
30
30
|
<meta name="twitter:creator" content="@ClideyOfficial" />
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
<link rel="apple-touch-icon" href="/assets/favicon-nLquwUQp.svg" />
|
|
33
33
|
<link rel="manifest" href="/manifest.json" />
|
|
34
34
|
|
|
35
|
-
<title>Docucod
|
|
35
|
+
<title>Docucod</title>
|
|
36
36
|
|
|
37
37
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
38
38
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
person_profiles: 'identified_only', // or 'always' to create profiles for anonymous users as well
|
|
46
46
|
})
|
|
47
47
|
</script>
|
|
48
|
-
<script type="module" crossorigin src="/assets/index-
|
|
49
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
48
|
+
<script type="module" crossorigin src="/assets/index-B2MKmN57.js"></script>
|
|
49
|
+
<link rel="stylesheet" crossorigin href="/assets/index-Btb13Da-.css">
|
|
50
50
|
</head>
|
|
51
51
|
<body>
|
|
52
52
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
package/package.json
CHANGED
|
@@ -93,7 +93,7 @@ function useAutocomplete({ onNavigate }: { onNavigate: () => void }) {
|
|
|
93
93
|
function HighlightQuery({ text, query }: { text: string; query: string }) {
|
|
94
94
|
return (
|
|
95
95
|
<Highlighter
|
|
96
|
-
highlightClassName="underline bg-transparent text-
|
|
96
|
+
highlightClassName="underline bg-transparent text-brand-foreground"
|
|
97
97
|
searchWords={[query]}
|
|
98
98
|
autoEscape={true}
|
|
99
99
|
textToHighlight={text}
|
|
@@ -146,7 +146,7 @@ function SearchResult({
|
|
|
146
146
|
<div
|
|
147
147
|
id={`${id}-title`}
|
|
148
148
|
aria-hidden="true"
|
|
149
|
-
className="text-sm font-medium text-
|
|
149
|
+
className="text-sm font-medium text-brand-foreground group-aria-selected:text-brand-foreground"
|
|
150
150
|
>
|
|
151
151
|
<HighlightQuery text={result.title} query={query} />
|
|
152
152
|
</div>
|
|
@@ -195,9 +195,9 @@ function SearchResults({
|
|
|
195
195
|
d="M12.01 12a4.237 4.237 0 0 0 1.24-3c0-.62-.132-1.207-.37-1.738M12.01 12A4.237 4.237 0 0 1 9 13.25c-.635 0-1.237-.14-1.777-.388M12.01 12l3.24 3.25m-3.715-9.661a4.25 4.25 0 0 0-5.975 5.908M4.5 15.5l11-11"
|
|
196
196
|
/>
|
|
197
197
|
</svg>
|
|
198
|
-
<p className="mt-2 text-xs
|
|
198
|
+
<p className="mt-2 text-xs">
|
|
199
199
|
Nothing found for{' '}
|
|
200
|
-
<strong className="font-semibold break-words
|
|
200
|
+
<strong className="font-semibold break-words">
|
|
201
201
|
‘{query}’
|
|
202
202
|
</strong>
|
|
203
203
|
. Please try again.
|
|
@@ -261,7 +261,7 @@ const SearchInput = forwardRef<
|
|
|
261
261
|
/>
|
|
262
262
|
{autocompleteState.status === 'stalled' && (
|
|
263
263
|
<div className="absolute inset-y-0 right-3 flex items-center">
|
|
264
|
-
<Spinner className="h-5 w-5 animate-spin
|
|
264
|
+
<Spinner className="h-5 w-5 animate-spin text-brand-foreground" />
|
|
265
265
|
</div>
|
|
266
266
|
)}
|
|
267
267
|
</div>
|
package/src/components/store.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ComponentType } from 'preact';
|
|
2
2
|
import { type RouteComponentProps } from 'wouter-preact';
|
|
3
|
-
import docsConfig from '../../docs/dory.json';
|
|
3
|
+
import docsConfig from '../../docs/dory.json' with { type: 'json' };
|
|
4
4
|
import type { DoryConfig } from '../types/config';
|
|
5
5
|
import { searchIndex } from './search-index';
|
|
6
6
|
|
package/src/mdx/card.tsx
CHANGED
|
@@ -29,18 +29,18 @@ export function Card({
|
|
|
29
29
|
icon,
|
|
30
30
|
children,
|
|
31
31
|
}: {
|
|
32
|
-
title
|
|
33
|
-
description
|
|
34
|
-
href
|
|
35
|
-
icon
|
|
32
|
+
title?: string
|
|
33
|
+
description?: string
|
|
34
|
+
href?: string
|
|
35
|
+
icon?: string
|
|
36
36
|
children?: ComponentChildren
|
|
37
37
|
}) {
|
|
38
38
|
return (
|
|
39
|
-
<UXCard className="group relative">
|
|
40
|
-
<a href={href} className="absolute inset-0 z-10" aria-label={title} />
|
|
39
|
+
<UXCard className="group relative border-ring border-1 border-black/10 dark:border-white/10">
|
|
40
|
+
{href && <a href={href} className="absolute inset-0 z-10" aria-label={title} />}
|
|
41
41
|
<CardHeader>
|
|
42
42
|
<div className="flex items-center gap-3">
|
|
43
|
-
<Icon icon={icon} className="h-8 w-8" />
|
|
43
|
+
{icon && <Icon icon={icon} className="h-8 w-8" />}
|
|
44
44
|
<CardTitle className="text-base">{title}</CardTitle>
|
|
45
45
|
</div>
|
|
46
46
|
</CardHeader>
|
package/src/mdx/step.tsx
CHANGED
|
@@ -40,10 +40,12 @@ export function Steps({ children }: { children: preact.ComponentChildren }) {
|
|
|
40
40
|
)
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
export function Step({
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
export function Step({
|
|
44
|
+
title: _title,
|
|
45
|
+
children
|
|
46
|
+
}: {
|
|
47
|
+
title?: string;
|
|
48
|
+
children: preact.ComponentChildren
|
|
47
49
|
}) {
|
|
48
50
|
return <p className='text-sm'>{children}</p>
|
|
49
51
|
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { Plugin } from 'vite';
|
|
2
|
+
import { cpSync, existsSync, readdirSync, statSync } from 'fs';
|
|
3
|
+
import { resolve, extname } from 'path';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Plugin to copy docs assets to the build output
|
|
7
|
+
* Since we can't use publicDir for docs (we need to import from it),
|
|
8
|
+
* this plugin manually copies asset files during build
|
|
9
|
+
*/
|
|
10
|
+
export function docsAssetsPlugin(): Plugin {
|
|
11
|
+
return {
|
|
12
|
+
name: 'docs-assets',
|
|
13
|
+
apply: 'build', // Only run during build
|
|
14
|
+
closeBundle() {
|
|
15
|
+
const docsDir = resolve(process.cwd(), 'docs');
|
|
16
|
+
const outDir = resolve(process.cwd(), 'dist');
|
|
17
|
+
|
|
18
|
+
if (!existsSync(docsDir)) {
|
|
19
|
+
console.warn('[docs-assets] docs directory not found, skipping asset copy');
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Define asset extensions to copy
|
|
24
|
+
const assetExtensions = new Set([
|
|
25
|
+
'.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp', '.ico',
|
|
26
|
+
'.pdf', '.mp4', '.webm', '.mp3', '.wav',
|
|
27
|
+
'.woff', '.woff2', '.ttf', '.eot',
|
|
28
|
+
]);
|
|
29
|
+
|
|
30
|
+
// Define file/folder patterns to skip
|
|
31
|
+
const skipPatterns = new Set([
|
|
32
|
+
'dory.json',
|
|
33
|
+
'node_modules',
|
|
34
|
+
'.DS_Store',
|
|
35
|
+
]);
|
|
36
|
+
|
|
37
|
+
const shouldSkip = (name: string) => {
|
|
38
|
+
if (skipPatterns.has(name)) return true;
|
|
39
|
+
const ext = extname(name).toLowerCase();
|
|
40
|
+
// Skip MDX and JSON files (they're processed by Vite)
|
|
41
|
+
if (ext === '.mdx' || ext === '.md' || ext === '.json') return true;
|
|
42
|
+
return false;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const copyAssets = (srcDir: string, destDir: string, relativePath: string = '') => {
|
|
46
|
+
const items = readdirSync(srcDir);
|
|
47
|
+
|
|
48
|
+
for (const item of items) {
|
|
49
|
+
if (shouldSkip(item)) continue;
|
|
50
|
+
|
|
51
|
+
const srcPath = resolve(srcDir, item);
|
|
52
|
+
const destPath = resolve(destDir, item);
|
|
53
|
+
const itemRelativePath = relativePath ? `${relativePath}/${item}` : item;
|
|
54
|
+
|
|
55
|
+
try {
|
|
56
|
+
const stats = statSync(srcPath);
|
|
57
|
+
|
|
58
|
+
if (stats.isDirectory()) {
|
|
59
|
+
// Recursively copy directories
|
|
60
|
+
copyAssets(srcPath, destPath, itemRelativePath);
|
|
61
|
+
} else if (stats.isFile()) {
|
|
62
|
+
const ext = extname(item).toLowerCase();
|
|
63
|
+
// Copy if it's an asset file
|
|
64
|
+
if (assetExtensions.has(ext)) {
|
|
65
|
+
cpSync(srcPath, destPath, { force: true });
|
|
66
|
+
console.log(`[docs-assets] Copied ${itemRelativePath}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
} catch (error) {
|
|
70
|
+
console.warn(`[docs-assets] Failed to copy ${itemRelativePath}:`, error);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
console.log('[docs-assets] Copying assets from docs to dist...');
|
|
76
|
+
copyAssets(docsDir, outDir);
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { Plugin } from 'vite';
|
|
2
|
+
import { readFileSync, existsSync } from 'fs';
|
|
3
|
+
import { resolve } from 'path';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Vite plugin that injects site metadata from dory.json into index.html
|
|
7
|
+
* This provides proper defaults before JavaScript hydrates the page
|
|
8
|
+
*/
|
|
9
|
+
export function htmlMetadataInjector(): Plugin {
|
|
10
|
+
return {
|
|
11
|
+
name: 'html-metadata-injector',
|
|
12
|
+
transformIndexHtml(html) {
|
|
13
|
+
// Read dory.json configuration
|
|
14
|
+
const doryJsonPath = resolve(process.cwd(), 'docs', 'dory.json');
|
|
15
|
+
|
|
16
|
+
if (!existsSync(doryJsonPath)) {
|
|
17
|
+
console.warn('โ ๏ธ dory.json not found, using default metadata');
|
|
18
|
+
return html;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
try {
|
|
22
|
+
const config = JSON.parse(readFileSync(doryJsonPath, 'utf-8'));
|
|
23
|
+
const siteName = config.name || 'Documentation';
|
|
24
|
+
const defaultTitle = config.title || siteName;
|
|
25
|
+
const defaultDescription = config.description || `${siteName} - Technical Documentation`;
|
|
26
|
+
|
|
27
|
+
// Replace title
|
|
28
|
+
html = html.replace(
|
|
29
|
+
/<title>.*?<\/title>/,
|
|
30
|
+
`<title>${defaultTitle}</title>`
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
// Replace meta description
|
|
34
|
+
html = html.replace(
|
|
35
|
+
/<meta name="description" content=".*?" \/>/,
|
|
36
|
+
`<meta name="description" content="${defaultDescription}" />`
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
// Replace Open Graph title
|
|
40
|
+
html = html.replace(
|
|
41
|
+
/<meta property="og:title" content=".*?" \/>/,
|
|
42
|
+
`<meta property="og:title" content="${defaultTitle}" />`
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
// Replace Open Graph description
|
|
46
|
+
html = html.replace(
|
|
47
|
+
/<meta property="og:description" content=".*?" \/>/,
|
|
48
|
+
`<meta property="og:description" content="${defaultDescription}" />`
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
// Replace Open Graph site name
|
|
52
|
+
html = html.replace(
|
|
53
|
+
/<meta property="og:site_name" content=".*?" \/>/,
|
|
54
|
+
`<meta property="og:site_name" content="${siteName}" />`
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
// Replace Twitter title
|
|
58
|
+
html = html.replace(
|
|
59
|
+
/<meta name="twitter:title" content=".*?" \/>/,
|
|
60
|
+
`<meta name="twitter:title" content="${defaultTitle}" />`
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
// Replace Twitter description
|
|
64
|
+
html = html.replace(
|
|
65
|
+
/<meta name="twitter:description" content=".*?" \/>/,
|
|
66
|
+
`<meta name="twitter:description" content="${defaultDescription}" />`
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
return html;
|
|
70
|
+
} catch (error) {
|
|
71
|
+
console.error('โ Failed to parse dory.json for metadata injection:', error);
|
|
72
|
+
return html;
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
package/src/theme.scss
CHANGED
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
// Using light color for light mode
|
|
22
22
|
--primary: var(--brand-light);
|
|
23
23
|
--primary-rgb: var(--brand-light-rgb);
|
|
24
|
+
|
|
25
|
+
--ring: rgba(0, 0, 0, 0.1);
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
// Dark mode overrides
|
|
@@ -28,6 +30,8 @@
|
|
|
28
30
|
// Use dark color for dark mode
|
|
29
31
|
--primary: var(--brand-dark);
|
|
30
32
|
--primary-rgb: var(--brand-dark-rgb);
|
|
33
|
+
|
|
34
|
+
--ring: rgba(255, 255, 255, 0.1);
|
|
31
35
|
}
|
|
32
36
|
|
|
33
37
|
article h2:first-of-type {
|
|
@@ -45,7 +49,7 @@ article img {
|
|
|
45
49
|
|
|
46
50
|
[data-testid="header-actions"] button,
|
|
47
51
|
[data-slot="dropdown-menu-content"] {
|
|
48
|
-
border-color:
|
|
52
|
+
border-color: var(--ring);
|
|
49
53
|
}
|
|
50
54
|
|
|
51
55
|
[data-slot="search-input-wrapper"] {
|
package/src/ui/header.tsx
CHANGED
|
@@ -2,7 +2,7 @@ import classNames from 'classnames';
|
|
|
2
2
|
import { useEffect, useMemo, useState } from 'preact/hooks';
|
|
3
3
|
import { Link } from 'wouter-preact';
|
|
4
4
|
import { usePathname } from 'wouter-preact/use-browser-location';
|
|
5
|
-
import docsConfig from '../../docs/dory.json';
|
|
5
|
+
import docsConfig from '../../docs/dory.json' with { type: 'json' };
|
|
6
6
|
import type { DoryConfig } from '../types/config';
|
|
7
7
|
import { MobileSearch, Search } from '../components/search';
|
|
8
8
|
import { ALL_NAVIGATION } from '../components/store';
|
package/src/ui/layout.tsx
CHANGED
|
@@ -83,28 +83,61 @@ export default function Layout({ children }: LayoutProps) {
|
|
|
83
83
|
});
|
|
84
84
|
}, [pathname]);
|
|
85
85
|
|
|
86
|
-
const { title: group, group: title } = useMemo(() => {
|
|
87
|
-
const group = ALL_NAVIGATION.flatMap((tab) =>
|
|
88
|
-
tab.groups.find((group) =>
|
|
86
|
+
const { title: group, group: title, page } = useMemo(() => {
|
|
87
|
+
const group = ALL_NAVIGATION.flatMap((tab) =>
|
|
88
|
+
tab.groups.find((group) =>
|
|
89
89
|
group.pages.some((page) => page.href === pathname)
|
|
90
90
|
)
|
|
91
91
|
);
|
|
92
92
|
const page = completeFrontMatter.find((page) => page.path === pathname);
|
|
93
93
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
return { group: group[0]?.title, title: page?.title, page };
|
|
95
|
+
}, [pathname, loading]);
|
|
96
|
+
|
|
97
|
+
// Update document title and meta tags when page changes
|
|
98
|
+
useEffect(() => {
|
|
99
|
+
if (page?.title) {
|
|
100
|
+
document.title = page.title;
|
|
101
|
+
|
|
102
|
+
// Update Open Graph title
|
|
103
|
+
const ogTitle = document.querySelector('meta[property="og:title"]');
|
|
104
|
+
if (ogTitle) {
|
|
105
|
+
ogTitle.setAttribute('content', page.title);
|
|
97
106
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
107
|
+
|
|
108
|
+
// Update Twitter title
|
|
109
|
+
const twitterTitle = document.querySelector('meta[name="twitter:title"]');
|
|
110
|
+
if (twitterTitle) {
|
|
111
|
+
twitterTitle.setAttribute('content', page.title);
|
|
103
112
|
}
|
|
104
|
-
}
|
|
113
|
+
}
|
|
105
114
|
|
|
106
|
-
|
|
107
|
-
|
|
115
|
+
if (page?.description) {
|
|
116
|
+
// Update standard meta description
|
|
117
|
+
const metaDescription = document.querySelector('meta[name="description"]');
|
|
118
|
+
if (metaDescription) {
|
|
119
|
+
metaDescription.setAttribute('content', page.description);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Update Open Graph description
|
|
123
|
+
const ogDescription = document.querySelector('meta[property="og:description"]');
|
|
124
|
+
if (ogDescription) {
|
|
125
|
+
ogDescription.setAttribute('content', page.description);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// Update Twitter description
|
|
129
|
+
const twitterDescription = document.querySelector('meta[name="twitter:description"]');
|
|
130
|
+
if (twitterDescription) {
|
|
131
|
+
twitterDescription.setAttribute('content', page.description);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Update canonical URL
|
|
136
|
+
const ogUrl = document.querySelector('meta[property="og:url"]');
|
|
137
|
+
if (ogUrl) {
|
|
138
|
+
ogUrl.setAttribute('content', window.location.href);
|
|
139
|
+
}
|
|
140
|
+
}, [page]);
|
|
108
141
|
|
|
109
142
|
const tab = useMemo(() => {
|
|
110
143
|
return completeFrontMatter.find((page) => page.path === pathname);
|