You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Explain the two-layer profile architecture (phase profiles vs site
profile), what each _quarto-*.yml file does, the release lifecycle,
and how to preview locally with different profiles.
Copy file name to clipboardExpand all lines: README.md
+50Lines changed: 50 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -105,6 +105,56 @@ quarto run tools/reference.ts
105
105
106
106
This builds the `.json` files in `docs/references` based on the [Quarto CLI schema](https://github.com/quarto-dev/quarto-cli/tree/main/src/resources/schema). The script assumes you have `quarto-cli/` at the same level in your directory structure as `quarto-web/`.
107
107
108
+
## Profile System
109
+
110
+
This project uses [Quarto profiles](https://quarto.org/docs/projects/profiles.html) to build two sites from the same source: [quarto.org](https://quarto.org/) and [prerelease.quarto.org](https://prerelease.quarto.org/).
111
+
112
+
### Two-layer architecture
113
+
114
+
**Phase profiles** (`rc` / `prerelease`) control release-phase branding. They are declared as a [profile group](https://quarto.org/docs/projects/profiles.html#profile-groups) in `_quarto.yml`:
115
+
116
+
```yaml
117
+
profile:
118
+
group:
119
+
- [rc, prerelease] # first entry is the default
120
+
```
121
+
122
+
The group order determines which phase is active on **quarto.org** (the main site). Flipping the order (e.g. `[rc, prerelease]` to `[prerelease, rc]`) switches the main site between "Release Candidate" and "Pre-release" branding.
123
+
124
+
| File | Purpose |
125
+
|---|---|
126
+
| `_quarto-prerelease.yml` | Phase variables for the pre-release/development phase |
127
+
| `_quarto-rc.yml` | Phase variables for the release candidate phase |
128
+
129
+
**Site profile** (`prerelease-docs`) configures everything specific to prerelease.quarto.org: site URL, announcement banner, search index, theme, and the `prerelease-subdomain` variable.
130
+
131
+
| File | Purpose |
132
+
|---|---|
133
+
| `_quarto-prerelease-docs.yml` | Site-specific configuration for prerelease.quarto.org |
134
+
135
+
The `prerelease-subdomain` variable is defined as empty (`''`) in `_quarto.yml` (so links point to `quarto.org` by default) and overridden to `prerelease.` only in `_quarto-prerelease-docs.yml`.
136
+
137
+
### Release lifecycle
138
+
139
+
1. **Development phase:** group is `[prerelease, rc]` — main site shows "Pre-release"
140
+
2. **RC phase:** flip group to `[rc, prerelease]` — main site shows "Release Candidate"
141
+
3. **Release:** flip back to `[prerelease, rc]` for the next development cycle
142
+
143
+
These flips only affect quarto.org. The prerelease site CI explicitly activates `prerelease,prerelease-docs`, so it always shows "Pre-release" regardless of group order.
144
+
145
+
### Local preview
146
+
147
+
```bash
148
+
# Main site with RC branding
149
+
quarto preview --profile rc
150
+
151
+
# Main site with pre-release branding (default when prerelease is first in group)
152
+
quarto preview
153
+
154
+
# Prerelease site
155
+
quarto preview --profile prerelease,prerelease-docs
156
+
```
157
+
108
158
## GitHub Action Workflows
109
159
110
160
Our GitHub Action workflows are documented in [`.github/workflows/README.md`](.github/workflows/README.md)
0 commit comments