mirror of
https://github.com/nagisa77/OpenIsle.git
synced 2026-05-08 03:37:28 +08:00
docs: 引入 Fumadocs
ci: set up github actions
This commit is contained in:
37
docs/lib/source.ts
Normal file
37
docs/lib/source.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import { createElement } from 'react';
|
||||
import { icons } from 'lucide-react';
|
||||
import { loader } from 'fumadocs-core/source';
|
||||
import { transformerOpenAPI } from 'fumadocs-openapi/server';
|
||||
import { createOpenAPI } from 'fumadocs-openapi/server';
|
||||
import { docs } from '@/.source';
|
||||
import * as Adapters from './media-adapter';
|
||||
import * as ClientAdapters from './media-adapter.client';
|
||||
|
||||
// See https://fumadocs.vercel.app/docs/headless/source-api for more info
|
||||
export const source = loader({
|
||||
// it assigns a URL to your pages
|
||||
baseUrl: '/docs',
|
||||
source: docs.toFumadocsSource(),
|
||||
pageTree: {
|
||||
transformers: [transformerOpenAPI()],
|
||||
},
|
||||
icon(icon) {
|
||||
if (!icon) {
|
||||
return;
|
||||
}
|
||||
if (icon in icons) {
|
||||
return createElement(icons[icon as keyof typeof icons]);
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
export const openapi = createOpenAPI({
|
||||
proxyUrl: '/api/proxy',
|
||||
mediaAdapters: {
|
||||
// override the default adapter of `application/json`
|
||||
'application/json': {
|
||||
...Adapters.OpenIsleMediaAdapter,
|
||||
client: ClientAdapters.OpenIsleMediaAdapter,
|
||||
},
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user