-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfeastdocs.config.mjs
More file actions
204 lines (179 loc) · 7.25 KB
/
Copy pathfeastdocs.config.mjs
File metadata and controls
204 lines (179 loc) · 7.25 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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
// -----------------------------------------------------------------------------
// FeastDocs site configuration
//
// This is the single place you configure the site. It is read at build time by
// the content pipeline (tools/) and emitted as a typed module the Angular app
// imports, so everything here is available to both sides.
// -----------------------------------------------------------------------------
export default {
/** Shown in the navbar and used as the browser title suffix. */
title: 'FeastDocs',
/**
* Public origin of the deployed site. Enables SEO output at build time:
* prerendered HTML per page, canonical/Open Graph tags, sitemap.xml and
* robots.txt. null skips all of it (fine for internal sites).
*/
siteUrl: 'https://feastdocs.feast-labs.com',
/** Short description, used on the home page and as the default meta description. */
tagline: 'Documentation that lives next to the code.',
/** Path to a logo inside `public/`, or null for a text-only navbar. */
logo: 'logo.svg',
/**
* Preview image for link shares (LinkedIn, Slack, X, WhatsApp). A file in
* `public/`, 1200×630, PNG or JPG — SVG is not supported by any of them.
* null falls back to a text-only card.
*/
socialImage: 'og-image.png',
/** Folder holding your documentation sources, relative to the project root. */
docsDir: 'docs',
/**
* Extra navbar links, shown to the right of the section tabs.
* Sections themselves come from the top-level folders in docs/ — they are
* not configured here. `to` = internal doc route, `href` = external URL.
*/
navbar: {
links: [],
},
footer: {
text: `© ${new Date().getFullYear()} FeastDocs`,
links: [{ label: 'Architecture', to: '/reference/architecture' }],
},
theme: {
/** 'system' | 'light' | 'dark' — what a first-time visitor gets. */
defaultMode: 'dark',
/** Drives the --fd-accent custom property. Any CSS color. */
accent: '#e26f1e',
accentDark: '#ff9d52',
},
sidebar: {
/**
* How a section's categories start when it does not say for itself:
* 'active' opens only the branch holding the current page, 'all' opens
* everything, 'none' opens nothing.
*/
expand: 'active',
},
/**
* Base URL of a repo file view. The doc's source path is appended to it to
* build the "Edit this page" link. Set to null to hide the link.
* e.g. 'https://github.com/acme/docs/edit/main/'
*/
editUrl: 'https://github.com/Mindfeast/feastdocs/edit/main/docs/',
/** Show the source file's last change (date and author) in the page footer. */
showLastUpdated: true,
/**
* GitHub-backed editing for the content manager (/_editor). With `repo` set,
* the editor can commit changes straight to the repository as the connected
* GitHub user — the strategy for editing on the deployed site. Local file
* editing during `npm start` is unaffected.
* e.g. repo: 'omnibees/feastdocs'
*/
github: {
repo: 'Mindfeast/feastdocs',
branch: 'main',
/**
* Client id of a GitHub OAuth App — enables "Sign in with GitHub" on the
* deployed site (the secret half lives in Cloudflare, never here; see
* functions/api/oauth/token.js). null falls back to pasting a token.
*/
oauthClientId: 'Ov23lirZ0YGPoFFlFRP3',
/**
* Scope asked for at sign-in. This repository is public, so 'public_repo'
* is enough to commit — and the consent screen stays modest, which matters
* when you invite people to sign in just to look around. Use 'repo' if
* your docs repository is private.
*/
oauthScope: 'public_repo',
},
/**
* Repository the navbar and footer source links point at. This site is the
* showcase; the code people should start from is the template, which the
* build syncs from this repo. Editing and changelog links still use
* github.repo above.
*/
sourceRepo: 'Mindfeast/feastdocs-template',
/** This link leads to the starter, not to this site's own source. */
sourceLabel: 'Start with the template',
/**
* Values usable in any page as {{ name }}, resolved at build time. Nested
* objects work too: {{ support.email }}.
*/
variables: {
framework: 'FeastDocs',
minNode: '20.19',
angular: '21',
},
/**
* OpenAPI documents to turn into endpoint pages. Each becomes a section
* folder under docs/, one page per operation, grouped by tag.
*/
openapi: [
{ spec: 'examples/petstore.yaml', outDir: 'api/bookings', label: 'Bookings API' },
{ spec: 'examples/rates-api.json', outDir: 'api/rates', label: 'Rates API' },
],
/**
* Documented versions, newest first. The one marked default owns the bare
* routes; the rest are served under their own prefix. Omit the whole option
* for an unversioned site.
*/
versions: [
{ id: 'v2', label: 'v2 (current)', docsDir: 'docs', default: true },
{ id: 'v1', label: 'v1 (archived)', docsDir: 'versioned_docs/v1' },
],
editor: {
/**
* Label on the navbar's content-manager link, shown until a reader opens
* it once. This site is a public demo, so visitors get an invitation;
* leave it null (the default) for a team's own docs, where everyone
* already knows the editor exists.
*/
invite: 'Try it now',
},
changelog: {
/**
* How many commits the build reads for <fd-changelog>. The data is a lazy
* chunk, so a larger number costs nothing on pages that do not use the
* component.
*/
limit: 150,
/**
* Which branch the history comes from. null reads the checked-out branch,
* which is what a normal deploy wants. Name one when previews build from
* feature branches but the changelog should track the release line.
*/
branch: null,
/**
* Other repositories to collect history for, so one docs site can carry a
* changelog per product. Read at build time and used as
* `<fd-changelog repo="…">`.
*
* 'owner/name' GitHub, branch main
* { repo: 'owner/name', branch: 'release' } GitHub
* { provider: 'azure', org, project, repo, id } Azure DevOps
*
* Tokens go in the build environment, never in this file: GITHUB_TOKEN for
* private or rate-limited GitHub sources, AZURE_DEVOPS_PAT for every Azure
* source. See docs/guide/changelog-repos.md.
*
* Whatever is listed here ends up publicly readable on the deployed page,
* including commit messages and author names.
*/
repos: [{ repo: 'Mindfeast/mindfeast.github.io', branch: 'main', title: 'Mindfeast Site' }],
/**
* Generate a page per month, grouped under a category per year, inside
* `monthlyPagesDir` (relative to docsDir). The files are written by the
* build and hold only a filter, never the commits — a new commit changes
* no file, a new month adds one. Hand edits are overwritten.
*/
monthlyPages: true,
monthlyPagesDir: 'changelog',
/**
* Group the generated pages under a category per repository, so several
* products can share one Changelog section. 'auto' collapses that level
* while there is only one source.
*/
groupByRepo: true,
/** Category label for this repository. Defaults to the repo name. */
selfLabel: 'FeastDocs',
},
};