aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/docs/docusaurus.config.ts
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/docs/docusaurus.config.ts')
-rw-r--r--subprojects/docs/docusaurus.config.ts188
1 files changed, 186 insertions, 2 deletions
diff --git a/subprojects/docs/docusaurus.config.ts b/subprojects/docs/docusaurus.config.ts
index d0f1b33a..663c4876 100644
--- a/subprojects/docs/docusaurus.config.ts
+++ b/subprojects/docs/docusaurus.config.ts
@@ -5,11 +5,13 @@
5 * SPDX-License-Identifier: MIT AND EPL-2.0 5 * SPDX-License-Identifier: MIT AND EPL-2.0
6 */ 6 */
7 7
8import type { Options as DocsOptions } from '@docusaurus/plugin-content-docs';
8import type { Options as PagesOptions } from '@docusaurus/plugin-content-pages'; 9import type { Options as PagesOptions } from '@docusaurus/plugin-content-pages';
9import type { Options as ClassicThemeOptions } from '@docusaurus/theme-classic'; 10import type { Options as ClassicThemeOptions } from '@docusaurus/theme-classic';
10import type { UserThemeConfig } from '@docusaurus/theme-common'; 11import type { UserThemeConfig } from '@docusaurus/theme-common';
11import type { Config } from '@docusaurus/types'; 12import type { Config } from '@docusaurus/types';
12import { Config as SwcConfig } from '@swc/core'; 13import { Config as SwcConfig } from '@swc/core';
14import { themes } from 'prism-react-renderer';
13import smartypants from 'remark-smartypants'; 15import smartypants from 'remark-smartypants';
14 16
15const markdownOptions = { 17const markdownOptions = {
@@ -18,6 +20,8 @@ const markdownOptions = {
18 20
19export default { 21export default {
20 title: 'Refinery', 22 title: 'Refinery',
23 tagline: 'An efficient graph solver for generating well-formed models',
24 titleDelimiter: '⚗️',
21 url: 'https://refinery.tools', 25 url: 'https://refinery.tools',
22 baseUrl: '/', 26 baseUrl: '/',
23 baseUrlIssueBanner: false, 27 baseUrlIssueBanner: false,
@@ -25,6 +29,26 @@ export default {
25 staticDirectories: ['static'], 29 staticDirectories: ['static'],
26 plugins: [ 30 plugins: [
27 [ 31 [
32 '@docusaurus/plugin-content-docs',
33 {
34 id: 'docs',
35 path: 'src/docs',
36 routeBasePath: '/docs',
37 sidebarPath: undefined,
38 ...markdownOptions,
39 } satisfies DocsOptions,
40 ],
41 [
42 '@docusaurus/plugin-content-docs',
43 {
44 id: 'api',
45 path: 'src/docs-api',
46 routeBasePath: '/api',
47 sidebarPath: undefined,
48 ...markdownOptions,
49 } satisfies DocsOptions,
50 ],
51 [
28 '@docusaurus/plugin-content-pages', 52 '@docusaurus/plugin-content-pages',
29 markdownOptions satisfies PagesOptions, 53 markdownOptions satisfies PagesOptions,
30 ], 54 ],
@@ -43,16 +67,123 @@ export default {
43 colorMode: { 67 colorMode: {
44 respectPrefersColorScheme: true, 68 respectPrefersColorScheme: true,
45 }, 69 },
70 prism: {
71 theme: themes.oneLight,
72 darkTheme: themes.oneDark,
73 },
46 navbar: { 74 navbar: {
47 title: 'Refinery', 75 title: 'Refinery',
76 logo: {
77 src: '/logo.svg',
78 srcDark: '/logo-dark.svg',
79 },
48 hideOnScroll: true, 80 hideOnScroll: true,
81 items: [
82 {
83 label: 'Learn',
84 to: '/docs',
85 },
86 {
87 label: 'Develop',
88 to: '/api',
89 },
90 {
91 label: 'GitHub',
92 position: 'right',
93 href: 'https://github.com/graphs4value/refinery',
94 },
95 {
96 label: 'Try now',
97 position: 'right',
98 href: 'https://refinery.services/',
99 className: 'navbar__link--try-now',
100 },
101 ],
49 }, 102 },
50 footer: { 103 footer: {
104 links: [
105 {
106 title: 'Learn',
107 items: [
108 {
109 label: 'Introduction',
110 to: '/docs',
111 },
112 {
113 label: 'Tutorials',
114 to: '/docs/category/tutorials',
115 },
116 {
117 label: 'Langauge reference',
118 to: '/docs/category/language',
119 },
120 {
121 label: 'Run in Docker',
122 to: '/docs/docker',
123 },
124 ],
125 },
126 {
127 title: 'Develop',
128 items: [
129 {
130 label: 'Programming guide',
131 to: '/api',
132 },
133 {
134 label: 'Contributing',
135 to: '/api/contributing',
136 },
137 {
138 label: 'Javadoc',
139 to: '/api/javadoc',
140 },
141 ],
142 },
143 {
144 title: 'More',
145 items: [
146 {
147 label: 'Try now',
148 href: 'https://refinery.services/',
149 },
150 {
151 label: 'GitHub',
152 href: 'https://github.com/graphs4value/refinery',
153 },
154 {
155 label: 'License',
156 to: '/license',
157 },
158 ],
159 },
160 {
161 title: 'Supporters',
162 items: [
163 {
164 label: 'BME MIT FTSRG',
165 href: 'https://ftsrg.mit.bme.hu/en/',
166 },
167 {
168 label: 'McGill ECE',
169 href: 'https://www.mcgill.ca/',
170 },
171 {
172 label: '2022 Amazon Research Awards',
173 href: 'https://www.amazon.science/research-awards/recipients/daniel-varro-fall-2021',
174 },
175 {
176 label: 'LiU Software and Systems',
177 href: 'https://liu.se/en/organisation/liu/ida/sas',
178 },
179 ],
180 },
181 ],
51 copyright: ` 182 copyright: `
52 Copyright © 2021-2024 183 Copyright © 2021-2024
53 <a href="https://github.com/graphs4value/refinery/blob/main/CONTRIBUTORS.md" target="_blank">The Refinery Authors</a>. 184 <a href="https://github.com/graphs4value/refinery/blob/main/CONTRIBUTORS.md#the-refinery-authors" target="_blank">The Refinery Authors</a>.
54 Available under the 185 Available under the
55 <a href="https://www.eclipse.org/legal/epl-2.0/" target="_blank">Eclipse Public License - v 2.0</a>. 186 <a href="/license/">Eclipse Public License - v 2.0</a>.
56 `, 187 `,
57 }, 188 },
58 } satisfies UserThemeConfig, 189 } satisfies UserThemeConfig,
@@ -83,4 +214,57 @@ export default {
83 } satisfies SwcConfig, 214 } satisfies SwcConfig,
84 }), 215 }),
85 }, 216 },
217 headTags: [
218 {
219 tagName: 'link',
220 attributes: {
221 rel: 'icon',
222 href: '/favicon.svg',
223 type: 'image/svg+xml',
224 },
225 },
226 {
227 tagName: 'link',
228 attributes: {
229 rel: 'icon',
230 href: '/favicon.png',
231 type: 'image/png',
232 sizes: '32x32',
233 },
234 },
235 {
236 tagName: 'link',
237 attributes: {
238 rel: 'icon',
239 href: '/favicon-96x96.png',
240 type: 'image/png',
241 sizes: '96x96',
242 },
243 },
244 {
245 tagName: 'link',
246 attributes: {
247 rel: 'apple-touch-icon',
248 href: '/apple-touch-icon.png',
249 type: 'image/png',
250 sizes: '180x180',
251 },
252 },
253 {
254 tagName: 'meta',
255 attributes: {
256 name: 'theme-color',
257 media: '(prefers-color-scheme:light)',
258 content: '#f5f5f5',
259 },
260 },
261 {
262 tagName: 'meta',
263 attributes: {
264 name: 'theme-color',
265 media: '(prefers-color-scheme:dark)',
266 content: '#282c34',
267 },
268 },
269 ],
86} satisfies Config; 270} satisfies Config;