-
Notifications
You must be signed in to change notification settings - Fork 519
Expand file tree
/
Copy pathdocusaurus.config.ts
More file actions
111 lines (96 loc) · 2.96 KB
/
Copy pathdocusaurus.config.ts
File metadata and controls
111 lines (96 loc) · 2.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
import {existsSync, readFileSync} from 'node:fs';
import {themes as prismThemes} from 'prism-react-renderer';
import type {Config} from '@docusaurus/types';
import type * as Preset from '@docusaurus/preset-classic';
const versionsFile = './api_versions.json';
const allVersions: string[] = existsSync(versionsFile)
? JSON.parse(readFileSync(versionsFile, 'utf8'))
: [];
const hasVersions = allVersions.length > 0;
const top10 = allVersions.slice(0, 10);
const config: Config = {
title: 'Ethereum Execution APIs',
tagline: 'JSON-RPC API specification for Ethereum execution clients',
favicon: 'img/favicon.ico',
/*future: { v4: true },*/
url: 'https://ethereum.github.io',
baseUrl: '/execution-apis/',
organizationName: 'ethereum',
projectName: 'execution-apis',
onBrokenLinks: 'throw',
markdown: {
hooks: {
onBrokenMarkdownLinks: 'warn',
},
},
i18n: { defaultLocale: 'en', locales: ['en'] },
plugins: [
"docusaurus-plugin-copy-page-button",
['@open-rpc/docusaurus-plugin', {
openRPCSpecPath: './openrpc.json',
docOutputPath: './docs-api/api',
indexSlug: '/'
}],
['@docusaurus/plugin-content-docs', {
id: 'api',
path: 'docs-api',
routeBasePath: '/',
sidebarPath: './docs-api/sidebars.ts',
...(hasVersions && {
versions: { current: { label: 'Next', path: 'next' } },
onlyIncludeVersions: ['current', ...top10],
}),
}],
['@docusaurus/plugin-content-docs', {
id: 'releases',
path: 'docs-releases',
routeBasePath: 'releases',
sidebarPath: './docs-releases/sidebars.ts',
}],
['@docusaurus/plugin-client-redirects', {
redirects: [{ from: '/api', to: '/' }],
}],
],
presets: [
['classic', {
docs: false,
pages: {
path: 'docs-api/src/pages',
},
blog: false,
theme: {
customCss: './docs-api/src/css/custom.css',
},
} satisfies Preset.Options],
],
themes: [
['@easyops-cn/docusaurus-search-local', {
hashed: true,
docsPluginIdForPreferredVersion: 'api',
docsRouteBasePath: '/',
indexBlog: false,
}],
],
staticDirectories: ['docs-api/static'],
themeConfig: {
colorMode: { respectPrefersColorScheme: true },
navbar: {
title: 'Execution APIs',
items: [
{ type: 'docSidebar', sidebarId: 'docsSidebar', docsPluginId: 'api', label: 'Docs', position: 'left' },
{ to: '/releases', label: 'Releases', position: 'left' },
{ type: 'docsVersionDropdown', docsPluginId: 'api', position: 'right' },
{ href: 'https://github.com/ethereum/execution-apis', label: 'GitHub', position: 'right' },
],
},
footer: {
style: 'dark',
copyright: `Copyright © ${new Date().getFullYear()} Ethereum Foundation. Built with Docusaurus.`,
},
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
},
} satisfies Preset.ThemeConfig,
};
export default config;