diff --git a/deploy/authentication-setup.mdx b/deploy/authentication-setup.mdx index e909014a9..b0c407c51 100644 --- a/deploy/authentication-setup.mdx +++ b/deploy/authentication-setup.mdx @@ -274,7 +274,17 @@ When an unauthenticated user tries to access a protected page, the redirect to y ## Make pages public -When using authentication, all pages require authentication to access by default. You can make specific pages viewable without authentication at the page or group level with the `public` property. +When using authentication, all pages require authentication to access by default. You can change this default and make specific pages viewable without authentication using the `public` property at the site or page level. + +### Site-wide default + +To make all pages public by default, set `"public": true` at the top level of your `docs.json`. Individual pages can then override this with `"public": false` in their frontmatter to require authentication for specific content. + +```json docs.json +{ + "public": true +} +``` ### Individual pages diff --git a/organize/navigation.mdx b/organize/navigation.mdx index 16eaceaed..d43e7fd17 100644 --- a/organize/navigation.mdx +++ b/organize/navigation.mdx @@ -120,11 +120,11 @@ Use the `root` property to designate a main page for a group. When a group has a Use the `expanded` property to control the default state of a nested group in the navigation sidebar. -- `expanded: true`: Group is expanded by default. -- `expanded: false` or omitted: Group is collapsed by default. +- `expanded: true`: Group expands by default. +- `expanded: false` or omitted: Group collapses by default. - The `expanded` property only affects nested groups--groups within groups. Top-level groups are always expanded and cannot be collapsed. + The `expanded` property only affects nested groups--groups within groups. Top-level groups always expand and cannot collapse. ```json @@ -334,12 +334,23 @@ Products create a dedicated navigation division for organizing product-specific In the `navigation` object, `products` is an array where each entry is an object that requires a `product` field and can contain other navigation fields such as groups, pages, icons, or links to external pages. +Each product supports the following properties: + +| Property | Type | Description | +|---|---|---| +| `product` | string | **Required.** The identifier for the product. | +| `name` | string | Label shown in the switcher when a user selects this product. Defaults to `product` if not set. | +| `description` | string | Short description of the product. | +| `icon` | string | Icon displayed next to the product name. | +| `hidden` | boolean | When `true`, hides the product from navigation while keeping its pages accessible by URL. | + ```json { "navigation": { "products": [ { - "product": "Core API", + "product": "core-api", + "name": "Core API", "description": "Core API description", "icon": "api", "groups": [ diff --git a/organize/settings-reference.mdx b/organize/settings-reference.mdx index ece433baf..67d5e75b5 100644 --- a/organize/settings-reference.mdx +++ b/organize/settings-reference.mdx @@ -47,6 +47,7 @@ For context on what each group of settings does, see the topic pages: | `redirects` | array | No | None | | `variables` | object | No | None | | `metadata.timestamp` | boolean | No | `false` | +| `public` | boolean | No | `false` | | `errors.404.redirect` | boolean | No | `true` | | `api.openapi` | string or array or object | No | None | | `api.asyncapi` | string or array or object | No | None | @@ -177,7 +178,7 @@ Version switcher in the global nav. Product switcher in the global nav. -**Type:** array of object—each with: `product` (string, required), `description` (string), `icon` (string), `iconType` (string) +**Type:** array of object—each with: `product` (string, required), `name` (string), `description` (string), `icon` (string), `hidden` (boolean) #### `navigation.languages` @@ -671,6 +672,17 @@ Display a last-modified date on all pages. --- +### `public` + +Whether all pages are publicly accessible by default when a site requires [authentication](/deploy/authentication-setup). + +When `true`, all pages are visible without authentication unless a specific group or page overrides this with `"public": false`. When `false` or omitted, all pages require authentication unless explicitly marked public. + +**Type:** boolean +**Default:** `false` + +--- + ### `errors` Error page settings.