mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-21 06:54:25 +00:00
545e2665f3
# Which Problems Are Solved - Docs code blocks that display imported files (YAML configs, Go examples) render as unstyled plain text with no syntax highlighting, unlike fenced code blocks which go through `rehypeCode`/Shiki # How the Problems Are Solved - Deleted `components/docusaurus/code-block.tsx` entirely — no custom wrapper is needed anymore - Replaced all usages with `DynamicCodeBlock` from `fumadocs-ui/components/dynamic-codeblock` directly in MDX files; it handles SSR pre-rendering through the same Shiki pipeline as all other code blocks - Raw file content (YAML, Go) is imported as strings via webpack's existing `asset/source` rule already configured in `next.config.mjs` — no new infrastructure required - In `_proxy_guide_tls_mode.mdx`, the `Commands` JSX component was refactored from concatenated JSX array children to a single template literal string, which is what `DynamicCodeBlock` (and any string-based highlighter) requires - All changes applied to both non-versioned docs and versioned snapshots (v4.10, v4.11) # Additional Changes None. # Additional Context - Affected MDX files: YAML config files under `self-hosting/manage/configure/`, reverse-proxy guides, `self-hosting/deploy/compose.mdx`, and the actions `testing-request-signature.mdx` guide <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > > ---- > > *This section details on the original issue you should resolve* > > <issue_title>code block style is weird</issue_title> > <issue_description>### Preflight Checklist > > - [x] I could not find a solution in the existing issues, docs, nor discussions > - [x] I have joined the [ZITADEL chat](https://zitadel.com/chat) > > ### Describe the docs your are missing or that are wrong > > This hurts my eyes: > > <img width="867" height="525" alt="Image" src="https://github.com/user-attachments/assets/b7b66d92-56e1-4e0a-8dba-3cab448930fe" /> > > ### Additional Context > > _No response_</issue_description> > > <agent_instructions>the user reported a weirdly styled code block in the docs page where we used to display yaml files. Investigate the docs and fix the styling</agent_instructions> > > ## Comments on the Issue (you are @copilot in this section) > > <comments> > <comment_new><author>@fforootd</author><body> > haha, ok that is certainly weird, let me look at that.</body></comment_new> > </comments> > </details> <!-- START COPILOT CODING AGENT SUFFIX --> - Fixes zitadel/zitadel#11645 <!-- START COPILOT CODING AGENT TIPS --> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: fforootd <[email protected]> Co-authored-by: Florian Forster <[email protected]>
@zitadel/docs
Documentation for Zitadel, built with Fumadocs and Next.js.
Getting Started
Ensure you have followed the root quick start to set up dependencies.
Local Development
Start the development server:
pnpm nx run @zitadel/docs:dev
The site will be available at http://localhost:3000.
Scripts
Key scripts for documentation workflows:
| Script | Description |
|---|---|
dev |
Starts the development server. |
build |
Builds the production application. |
fetch:remote-content |
Fetches remote tags and referenced content. |
generate |
Runs all generation steps (fetch:remote-content, generate:proto-docs, generate:api-reference, generate:index-pages). |
check:links |
Validates content integrity (broken links, missing frontmatter, schema errors). |
check-types |
Validates typescript types. |
test |
Runs all validation steps (check-types, check:links). |
lint |
checks for code style and syntax errors (ESLint). |
clean |
Cleans the build output and generated files. |
Validation
- Code Quality: Run
pnpm lintto check for syntax and style issues in JS/TS/MDX files. - Content Integrity: Run
pnpm check:linksto validate content structure, including:- Broken internal links
- Missing required front-matter (e.g.,
title) - Image references
Contributing
Build Process
The docs build process automatically handling the following steps via generate:
- Downloads required protoc plugins.
- Generates gRPC documentation from proto files.
- Generates API documentation from OpenAPI specs.
- Generates index files for directory structures.
Style Guide
- Variables: Use environment variables in code snippets where possible.
- Embedded Content: Use
_filename.mdxfor content embedded in other pages (not indexed individually). - Code Embedding: Use the
fileproperty in code blocks to embed code from the repo. - Voice: Use active voice and sentence case for titles.
Refer to the Google Developer Style Guide for general guidelines.
Adding Content
All documentation content is located in the content directory. Note that the system strictly accepts only .mdx files.
To add a new page:
- Create a
.mdxfile in the appropriate subdirectory ofcontent. - Register the new page in the sidebar settings at
lib/sidebar-data.tsto make it accessible in the navigation.
Pull Requests
Use docs(<scope>): <short summary> for PR titles.
Pass quality checks before submitting:
pnpm nx run @zitadel/docs:build
pnpm nx run @zitadel/docs:check:links
You can also run specific steps individually:
pnpm fetch:remote-contentpnpm generate:api-reference