fumadocs-core 15.5.0 → 15.5.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.
- package/dist/{algolia-RQ5VQJAB.js → algolia-NXNLN7TR.js} +1 -3
- package/dist/breadcrumb.js +0 -2
- package/dist/{chunk-XMCPKVJQ.js → chunk-3JSIVMCJ.js} +3 -4
- package/dist/{chunk-NNKVN7WA.js → chunk-5SU2O5AS.js} +1 -1
- package/dist/chunk-7GNSIKII.js +47 -0
- package/dist/{chunk-FVY6EZ3N.js → chunk-BBP7MIO4.js} +12 -14
- package/dist/content/index.js +0 -2
- package/dist/dynamic-link.js +2 -3
- package/dist/{fetch-W5EHIBOE.js → fetch-ZSD7GUCX.js} +2 -4
- package/dist/framework/index.d.ts +1 -1
- package/dist/framework/index.js +1 -2
- package/dist/framework/next.js +1 -2
- package/dist/framework/react-router.js +1 -2
- package/dist/framework/tanstack.js +1 -2
- package/dist/hide-if-empty.d.ts +14 -0
- package/dist/hide-if-empty.js +63 -0
- package/dist/highlight/client.js +0 -1
- package/dist/highlight/index.js +0 -1
- package/dist/i18n/index.d.ts +32 -2
- package/dist/i18n/index.js +0 -2
- package/dist/link.js +2 -3
- package/dist/mdx-plugins/index.js +1 -2
- package/dist/{orama-cloud-USLSOSXS.js → orama-cloud-I4WBDIAI.js} +2 -3
- package/dist/search/algolia.js +0 -2
- package/dist/search/client.d.ts +70 -7
- package/dist/search/client.js +20 -13
- package/dist/search/orama-cloud.js +0 -2
- package/dist/search/server.d.ts +2 -1
- package/dist/search/server.js +5 -2
- package/dist/server/index.d.ts +2 -1
- package/dist/server/index.js +0 -1
- package/dist/sidebar.js +0 -1
- package/dist/source/index.d.ts +96 -96
- package/dist/source/index.js +214 -224
- package/dist/static-QTPM5MZT.js +60 -0
- package/dist/toc.js +0 -1
- package/dist/utils/use-effect-event.js +0 -1
- package/dist/utils/use-media-query.js +0 -1
- package/dist/utils/use-on-change.js +0 -1
- package/package.json +21 -13
- package/dist/chunk-MLKGABMK.js +0 -9
- package/dist/config-Cm58P4fz.d.ts +0 -32
- package/dist/static-VESU2S64.js +0 -61
package/dist/server/index.js
CHANGED
package/dist/sidebar.js
CHANGED
package/dist/source/index.d.ts
CHANGED
|
@@ -1,6 +1,47 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { R as Root, I as Item, F as Folder
|
|
2
|
+
import { I18nConfig } from '../i18n/index.js';
|
|
3
|
+
import { R as Root, I as Item, F as Folder, S as Separator } from '../page-tree-bSt6K__E.js';
|
|
4
|
+
import 'next/dist/server/web/types';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* In memory file system.
|
|
8
|
+
*/
|
|
9
|
+
declare class FileSystem<File> {
|
|
10
|
+
files: Map<string, File>;
|
|
11
|
+
folders: Map<string, string[]>;
|
|
12
|
+
constructor();
|
|
13
|
+
read(path: string): File | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* get the direct children of folder (in virtual file path)
|
|
16
|
+
*/
|
|
17
|
+
readDir(path: string): string[] | undefined;
|
|
18
|
+
write(path: string, file: File): void;
|
|
19
|
+
getFiles(): string[];
|
|
20
|
+
makeDir(path: string): void;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
interface LoadOptions {
|
|
24
|
+
transformers?: Transformer[];
|
|
25
|
+
}
|
|
26
|
+
type ContentStorage = FileSystem<MetaFile | PageFile>;
|
|
27
|
+
interface MetaFile<Data extends MetaData = MetaData> {
|
|
28
|
+
path: string;
|
|
29
|
+
absolutePath: string;
|
|
30
|
+
format: 'meta';
|
|
31
|
+
data: Data;
|
|
32
|
+
}
|
|
33
|
+
interface PageFile<Data extends PageData = PageData> {
|
|
34
|
+
path: string;
|
|
35
|
+
absolutePath: string;
|
|
36
|
+
format: 'page';
|
|
37
|
+
slugs: string[];
|
|
38
|
+
data: Data;
|
|
39
|
+
}
|
|
40
|
+
type Transformer = (context: {
|
|
41
|
+
storage: ContentStorage;
|
|
42
|
+
options: LoadOptions;
|
|
43
|
+
}) => void;
|
|
44
|
+
declare function loadFiles(files: VirtualFile[], buildFile: (file: VirtualFile) => MetaFile | PageFile, options: LoadOptions): ContentStorage;
|
|
4
45
|
|
|
5
46
|
interface FileInfo {
|
|
6
47
|
/**
|
|
@@ -37,32 +78,11 @@ interface FolderInfo {
|
|
|
37
78
|
dirname: string;
|
|
38
79
|
}
|
|
39
80
|
declare function parseFilePath(path: string): FileInfo;
|
|
81
|
+
/**
|
|
82
|
+
* @deprecated use `dirname` and `basename` directly.
|
|
83
|
+
*/
|
|
40
84
|
declare function parseFolderPath(path: string): FolderInfo;
|
|
41
85
|
|
|
42
|
-
interface LoadOptions {
|
|
43
|
-
transformers?: Transformer[];
|
|
44
|
-
getSlugs: (info: FileInfo) => string[];
|
|
45
|
-
}
|
|
46
|
-
interface VirtualFile {
|
|
47
|
-
/**
|
|
48
|
-
* Relative path
|
|
49
|
-
*
|
|
50
|
-
* @example `docs/page.mdx`
|
|
51
|
-
*/
|
|
52
|
-
path: string;
|
|
53
|
-
type: 'page' | 'meta';
|
|
54
|
-
/**
|
|
55
|
-
* Specified Slugs for page
|
|
56
|
-
*/
|
|
57
|
-
slugs?: string[];
|
|
58
|
-
data: unknown;
|
|
59
|
-
}
|
|
60
|
-
type Transformer = (context: {
|
|
61
|
-
storage: Storage;
|
|
62
|
-
options: LoadOptions;
|
|
63
|
-
}) => void;
|
|
64
|
-
declare function loadFiles<O extends LoadOptions>(files: VirtualFile[], options: O): Storage;
|
|
65
|
-
|
|
66
86
|
interface LoaderConfig {
|
|
67
87
|
source: SourceConfig;
|
|
68
88
|
i18n: boolean;
|
|
@@ -73,15 +93,15 @@ interface SourceConfig {
|
|
|
73
93
|
}
|
|
74
94
|
interface LoaderOptions<T extends SourceConfig = SourceConfig, I18n extends I18nConfig | undefined = I18nConfig | undefined> {
|
|
75
95
|
baseUrl: string;
|
|
76
|
-
icon?: NonNullable<
|
|
77
|
-
slugs?:
|
|
96
|
+
icon?: NonNullable<BuildPageTreeOptions['resolveIcon']>;
|
|
97
|
+
slugs?: (info: FileInfo) => string[];
|
|
78
98
|
url?: UrlFn;
|
|
79
99
|
source: Source<T>;
|
|
80
100
|
transformers?: Transformer[];
|
|
81
101
|
/**
|
|
82
102
|
* Additional options for page tree builder
|
|
83
103
|
*/
|
|
84
|
-
pageTree?: Partial<
|
|
104
|
+
pageTree?: Partial<Omit<BuildPageTreeOptions<T['pageData'], T['metaData']>, 'storage'>>;
|
|
85
105
|
/**
|
|
86
106
|
* Configure i18n
|
|
87
107
|
*/
|
|
@@ -94,21 +114,49 @@ interface Source<Config extends SourceConfig> {
|
|
|
94
114
|
_config?: Config;
|
|
95
115
|
files: VirtualFile[] | (() => VirtualFile[]);
|
|
96
116
|
}
|
|
97
|
-
interface
|
|
117
|
+
interface SharedFileInfo {
|
|
98
118
|
/**
|
|
99
|
-
* Virtualized file path
|
|
119
|
+
* Virtualized file path (parsed)
|
|
120
|
+
*
|
|
121
|
+
* @deprecated Use `path` instead.
|
|
100
122
|
*/
|
|
101
123
|
file: FileInfo;
|
|
124
|
+
/**
|
|
125
|
+
* Virtualized file path (relative to content directory)
|
|
126
|
+
*
|
|
127
|
+
* @example `docs/page.mdx`
|
|
128
|
+
*/
|
|
129
|
+
path: string;
|
|
130
|
+
/**
|
|
131
|
+
* Absolute path of the file
|
|
132
|
+
*/
|
|
133
|
+
absolutePath: string;
|
|
134
|
+
}
|
|
135
|
+
interface VirtualFile {
|
|
136
|
+
/**
|
|
137
|
+
* Virtualized path (relative to content directory)
|
|
138
|
+
*
|
|
139
|
+
* @example `docs/page.mdx`
|
|
140
|
+
*/
|
|
141
|
+
path: string;
|
|
142
|
+
/**
|
|
143
|
+
* Absolute path of the file
|
|
144
|
+
*/
|
|
145
|
+
absolutePath?: string;
|
|
146
|
+
type: 'page' | 'meta';
|
|
147
|
+
/**
|
|
148
|
+
* Specified Slugs for page
|
|
149
|
+
*/
|
|
150
|
+
slugs?: string[];
|
|
151
|
+
data: unknown;
|
|
152
|
+
}
|
|
153
|
+
interface Page<Data = PageData> extends SharedFileInfo {
|
|
102
154
|
slugs: string[];
|
|
103
155
|
url: string;
|
|
104
156
|
data: Data;
|
|
105
157
|
locale?: string | undefined;
|
|
106
158
|
}
|
|
107
|
-
interface Meta<Data = MetaData> {
|
|
108
|
-
/**
|
|
109
|
-
* Virtualized file path
|
|
110
|
-
*/
|
|
111
|
-
file: FileInfo;
|
|
159
|
+
interface Meta<Data = MetaData> extends SharedFileInfo {
|
|
112
160
|
data: Data;
|
|
113
161
|
}
|
|
114
162
|
interface LanguageEntry<Data = PageData> {
|
|
@@ -143,7 +191,7 @@ interface LoaderOutput<Config extends LoaderConfig> {
|
|
|
143
191
|
*/
|
|
144
192
|
getPage: (slugs: string[] | undefined, language?: string) => Page<Config['source']['pageData']> | undefined;
|
|
145
193
|
getNodePage: (node: Item, language?: string) => Page<Config['source']['pageData']> | undefined;
|
|
146
|
-
getNodeMeta: (node: Folder
|
|
194
|
+
getNodeMeta: (node: Folder, language?: string) => Meta<Config['source']['metaData']> | undefined;
|
|
147
195
|
/**
|
|
148
196
|
* generate static params for Next.js SSG
|
|
149
197
|
*
|
|
@@ -153,6 +201,9 @@ interface LoaderOutput<Config extends LoaderConfig> {
|
|
|
153
201
|
generateParams: <TSlug extends string = 'slug', TLang extends string = 'lang'>(slug?: TSlug, lang?: TLang) => (Record<TSlug, string[]> & Record<TLang, string>)[];
|
|
154
202
|
}
|
|
155
203
|
declare function createGetUrl(baseUrl: string, i18n?: I18nConfig): UrlFn;
|
|
204
|
+
/**
|
|
205
|
+
* Convert file path into slugs, also encode non-ASCII characters, so they can work in pathname
|
|
206
|
+
*/
|
|
156
207
|
declare function getSlugs(info: FileInfo): string[];
|
|
157
208
|
declare function loader<Config extends SourceConfig, I18n extends I18nConfig | undefined = undefined>(options: LoaderOptions<Config, I18n>): LoaderOutput<{
|
|
158
209
|
source: Config;
|
|
@@ -179,59 +230,6 @@ type InferMetaType<Utils extends LoaderOutput<any>> = Utils extends LoaderOutput
|
|
|
179
230
|
*/
|
|
180
231
|
type UrlFn = (slugs: string[], locale?: string) => string;
|
|
181
232
|
|
|
182
|
-
interface MetaFile<Data extends MetaData = MetaData> {
|
|
183
|
-
file: FileInfo;
|
|
184
|
-
format: 'meta';
|
|
185
|
-
data: Data;
|
|
186
|
-
}
|
|
187
|
-
interface PageFile<Data extends PageData = PageData> {
|
|
188
|
-
file: FileInfo;
|
|
189
|
-
format: 'page';
|
|
190
|
-
data: {
|
|
191
|
-
slugs: string[];
|
|
192
|
-
data: Data;
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
type File = MetaFile | PageFile;
|
|
196
|
-
interface Folder<Page extends PageData = PageData, Meta extends MetaData = MetaData> {
|
|
197
|
-
file: FolderInfo;
|
|
198
|
-
children: (MetaFile<Meta> | PageFile<Page> | Folder<Page, Meta>)[];
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* A virtual file system that solves inconsistent behaviours
|
|
202
|
-
*
|
|
203
|
-
* Some source providers may not provide the full file structure, this will cause inconsistent outputs for page builder and other transformers
|
|
204
|
-
*/
|
|
205
|
-
declare class Storage {
|
|
206
|
-
files: Map<string, File>;
|
|
207
|
-
folders: Map<string, Folder<PageData, MetaData>>;
|
|
208
|
-
private rootFolder;
|
|
209
|
-
constructor();
|
|
210
|
-
/**
|
|
211
|
-
* @param path - flattened path
|
|
212
|
-
* @param format - file format
|
|
213
|
-
*/
|
|
214
|
-
read<F extends File['format']>(path: string, format: F): Extract<File, {
|
|
215
|
-
format: F;
|
|
216
|
-
}> | undefined;
|
|
217
|
-
readDir(path: string): Folder | undefined;
|
|
218
|
-
root(): Folder;
|
|
219
|
-
write<F extends File['format']>(path: string, format: F, data: Extract<File, {
|
|
220
|
-
format: F;
|
|
221
|
-
}>['data']): void;
|
|
222
|
-
list(): File[];
|
|
223
|
-
makeDir(path: string): void;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
type fileSystem_Folder<Page extends PageData = PageData, Meta extends MetaData = MetaData> = Folder<Page, Meta>;
|
|
227
|
-
type fileSystem_MetaFile<Data extends MetaData = MetaData> = MetaFile<Data>;
|
|
228
|
-
type fileSystem_PageFile<Data extends PageData = PageData> = PageFile<Data>;
|
|
229
|
-
type fileSystem_Storage = Storage;
|
|
230
|
-
declare const fileSystem_Storage: typeof Storage;
|
|
231
|
-
declare namespace fileSystem {
|
|
232
|
-
export { type fileSystem_Folder as Folder, type fileSystem_MetaFile as MetaFile, type fileSystem_PageFile as PageFile, fileSystem_Storage as Storage };
|
|
233
|
-
}
|
|
234
|
-
|
|
235
233
|
interface BaseOptions<Page extends PageData = PageData, Meta extends MetaData = MetaData> {
|
|
236
234
|
/**
|
|
237
235
|
* Remove references to the file path of original nodes (`$ref`)
|
|
@@ -240,15 +238,17 @@ interface BaseOptions<Page extends PageData = PageData, Meta extends MetaData =
|
|
|
240
238
|
*/
|
|
241
239
|
noRef?: boolean;
|
|
242
240
|
attachFile?: (node: Item, file?: PageFile<Page>) => Item;
|
|
243
|
-
attachFolder?: (node: Folder
|
|
241
|
+
attachFolder?: (node: Folder, folder: {
|
|
242
|
+
children: (PageFile<Page> | MetaFile<Meta>)[];
|
|
243
|
+
}, meta?: MetaFile<Meta>) => Folder;
|
|
244
244
|
attachSeparator?: (node: Separator) => Separator;
|
|
245
245
|
resolveIcon?: (icon: string | undefined) => ReactElement | undefined;
|
|
246
246
|
}
|
|
247
|
-
interface BuildPageTreeOptions extends BaseOptions {
|
|
248
|
-
storage:
|
|
247
|
+
interface BuildPageTreeOptions<Page extends PageData = PageData, Meta extends MetaData = MetaData> extends BaseOptions<Page, Meta> {
|
|
248
|
+
storage: ContentStorage;
|
|
249
249
|
}
|
|
250
|
-
interface BuildPageTreeOptionsWithI18n extends BaseOptions {
|
|
251
|
-
storages: Record<string,
|
|
250
|
+
interface BuildPageTreeOptionsWithI18n<Page extends PageData = PageData, Meta extends MetaData = MetaData> extends BaseOptions<Page, Meta> {
|
|
251
|
+
storages: Record<string, ContentStorage>;
|
|
252
252
|
i18n: I18nConfig;
|
|
253
253
|
}
|
|
254
254
|
interface PageTreeBuilder {
|
|
@@ -260,4 +260,4 @@ interface PageTreeBuilder {
|
|
|
260
260
|
}
|
|
261
261
|
declare function createPageTreeBuilder(getUrl: UrlFn): PageTreeBuilder;
|
|
262
262
|
|
|
263
|
-
export { type
|
|
263
|
+
export { type BuildPageTreeOptions, type BuildPageTreeOptionsWithI18n, type ContentStorage, type FileInfo, FileSystem, type FolderInfo, type InferMetaType, type InferPageType, type LanguageEntry, type LoadOptions, type LoaderConfig, type LoaderOptions, type LoaderOutput, type Meta, type MetaData, type MetaFile, type Page, type PageData, type PageFile, type PageTreeBuilder, type Source, type SourceConfig, type Transformer, type UrlFn, type VirtualFile, createGetUrl, createPageTreeBuilder, getSlugs, loadFiles, loader, parseFilePath, parseFolderPath };
|