-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocusaurus.config.js
More file actions
176 lines (168 loc) · 5.69 KB
/
Copy pathdocusaurus.config.js
File metadata and controls
176 lines (168 loc) · 5.69 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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion
const {themes} = require('prism-react-renderer');
const lightCodeTheme = themes.github;
const darkCodeTheme = themes.dracula;
// Algolia DocSearch — only wire it up when all three credentials are
// present so local builds without a .env file don't fail theme validation.
// Set ALGOLIA_APP_ID / ALGOLIA_SEARCH_KEY / ALGOLIA_INDEX_NAME in
// `.env.local` (gitignored) or in the hosting project settings.
const algoliaConfig =
process.env.ALGOLIA_APP_ID &&
process.env.ALGOLIA_SEARCH_KEY &&
process.env.ALGOLIA_INDEX_NAME
? {
appId: process.env.ALGOLIA_APP_ID,
apiKey: process.env.ALGOLIA_SEARCH_KEY,
indexName: process.env.ALGOLIA_INDEX_NAME,
contextualSearch: true,
searchPagePath: 'search',
}
: undefined;
/** @type {import('@docusaurus/types').Config} */
const config = {
title: 'TrustedLogin Docs',
tagline: 'Democratizing security.',
url: 'https://docs.trustedlogin.com/',
baseUrl: '/',
deploymentBranch: 'main',
onBrokenLinks: 'ignore',
onBrokenMarkdownLinks: 'warn',
trailingSlash: false,
favicon: 'img/favicon.png',
organizationName: 'trustedlogin',
projectName: 'docs', // Usually your repo name.
presets: [
[
'@docusaurus/preset-classic',
/** @type {import('@docusaurus/preset-classic').Options} */
({
docs: {
routeBasePath: '/',
sidebarPath: require.resolve('./sidebars.js'),
editUrl: 'https://github.com/trustedlogin/docs/edit/main/',
},
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
}),
],
],
// Adds <link rel="alternate" type="text/markdown" href="<path>.md"> on every
// page so AI crawlers can auto-discover the raw Markdown form mirrored by
// scripts/mirror-md.js. See /for-ai-tools for the full ingestion conventions.
clientModules: [
require.resolve('./src/clientModules/markdownAlternate.js'),
],
plugins: [
[
'@docusaurus/plugin-client-redirects',
{
// SaaS internal infrastructure pages were previously published. They
// describe Vault tokens, Kubernetes secrets, deployment internals,
// etc. and shouldn't be public — they're now drafted (so they 404 in
// production) but old bookmarks and external links still exist.
// Redirect each to /SaaS/intro (the public SaaS overview).
//
// Note: GitHub Pages can't issue real HTTP 301s, so this plugin emits
// a small HTML page at each `from` URL that meta-refreshes + JS
// navigates to `to`. Search engines treat it as a redirect (SEO
// weight slightly less than a true 301, but functional for users).
redirects: [
{ from: '/SaaS/vault-sass-token', to: '/SaaS/intro' },
{ from: '/SaaS/vault', to: '/SaaS/intro' },
{ from: '/SaaS/vault-client', to: '/SaaS/intro' },
{ from: '/SaaS/CI-CD', to: '/SaaS/intro' },
{ from: '/SaaS/server-setup', to: '/SaaS/intro' },
{ from: '/SaaS/cli', to: '/SaaS/intro' },
{ from: '/SaaS/elasticsearch', to: '/SaaS/intro' },
{ from: '/SaaS/webhooks', to: '/SaaS/intro' },
{ from: '/SaaS/user-remote-authentication', to: '/SaaS/intro' },
],
},
],
],
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
navbar: {
title: 'Docs Home',
logo: {
alt: 'TrustedLogin Logo',
src: 'img/TrustedLogin-Horizontal.svg',
srcDark: 'img/TrustedLogin-Horizontal-White.svg',
},
items: [
// Guides nav item removed — content kept on disk at docs/Guides/
// but not surfaced until the section is ready to ship.
{
type: 'doc',
label: 'Client SDK',
position: 'left',
docId: 'Client/intro',
},
{
type: 'doc',
label: 'Self-Hosted WordPress Plugin',
docId: 'Connector/intro',
},
{
type: 'doc',
label: 'TrustedLogin SaaS',
docId: 'SaaS/intro',
},
],
},
footer: {
style: 'dark',
links: [
{
title: 'Docs',
items: [
{
label: 'Client SDK',
to: '/docs/Client/intro',
},
{
label: 'Connector Plugin',
to: '/docs/Connector/intro',
},
{
label: 'SaaS Application',
to: '/docs/SaaS/intro',
},
],
},
{
title: 'More',
items: [
{
label: 'TrustedLogin.com',
href: 'https://www.trustedlogin.com',
},
{
label: 'Email',
href: 'mailto:admin@trustedlogin.com',
},
{
label: 'GitHub',
href: 'https://github.com/trustedlogin/',
},
{
label: 'For AI assistants & tools',
to: '/for-ai-tools',
},
],
},
],
copyright: `Copyright © ${new Date().getFullYear()} Katz Web Services, Inc.`,
},
prism: {
theme: lightCodeTheme,
darkTheme: darkCodeTheme,
additionalLanguages: ['php', 'bash']
},
...(algoliaConfig ? { algolia: algoliaConfig } : {}),
}),
};
module.exports = config;