Skip to main content

docs-learn-site-structure

Change, review or troubleshoot Learn publication, docs/.map mapping, page URLs, redirects, sidebars, MDX and ingest/CI behavior. Local site builds require docs-learn-pr-preview; generated integration content uses metadata/integrations skills.

来源信息

仓库
netdata/netdata
最近来源活动
2026年10月7日 21:43
检测到的 SKILL.md 语言
英语
星标
81,208
Forks
6,701

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
13 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
docs-learn-site-structure
description
Change, review or troubleshoot Learn publication, docs/.map mapping, page URLs, redirects, sidebars, MDX and ingest/CI behavior. Local site builds require docs-learn-pr-preview; generated integration content uses metadata/integrations skills.
# Learn site structure A page on `learn.netdata.cloud` is a node in this repository's `docs/.map/map.yaml`, rendered by the ingest of the `netdata/learn` repository into a Docusaurus site that Netlify deploys. This skill states what an author or reviewer here relies on; the how-to-publish procedure is `docs/.map/README.md`, and the mechanics live in the learn repository. Apply `AGENTS.md#skill-selection`. Review the affected publication contract and existing evidence; recipe instructions do not require a new SOW or authorize deletion, publication, ingest or a local preview. Use the task and symptom routes below, including their dependencies when a change reaches another surface. Learn-side facts carry the revision at which they were checked. Before relying on a claim affected by the task, inspect that contract at the relevant available Learn revision and report any evidence gap. `repo-mirror-sources` supplies the read-only checkout/revision workflow; loading this skill does not request a mirror refresh. ## Owners | Owner | What it decides | |---|---| | `docs/.map/README.md#steps-to-publish` | the publish and unpublish procedure, `meta` fields, path reconstruction, the placeholder node, the local test command | | `docs/.map/map.schema.json` | node shapes, required fields, the `edit_url` pattern, the `integration_kind` members | | `docs/.map/validate_map_schema.py` | the three custom map rules (no duplicate `edit_url`; a leaf needs an `edit_url`; a `netdata/netdata` `edit_url` names an existing file) | | `.github/workflows/trigger-learn-update.yml` | which pushes to `master` here dispatch the learn ingest | | `.github/workflows/check-markdown.yml` | the PR gate here that regenerates integrations, runs the map validator, and runs the real ingest with `--fail-links-netdata` | | `netdata/learn`: `ingest/ingest.py`, `ingest/autogenerateRedirects.py`, `static.toml`, `.github/workflows/ingest.yml`, `README.md`, `AGENTS.md` | everything the site does with a mapped file; facts in this skill are verified against `netdata/learn @ c3a16edd5ee4dc819976ef162c9afaff4b9b968c` and cite the symbol, never a line | | `.agents/sensitive-data-discipline.md#allowed-alternatives` | how paths into the learn repository are written in committed text (`${NETDATA_REPOS_DIR}/learn/...`; `.agents/ENV.md` documents the key) | Sibling skills: `integrations-lifecycle` produces the integration pages that ingest splices in through placeholders; `collectors-metadata-yaml` owns the author-side MDX safety rules for `metadata.yaml` text; `docs-learn-pr-preview` builds the site locally from a PR and loads this skill first; `repo-mirror-sources` maintains the checkout under `${NETDATA_REPOS_DIR}` that the learn paths refer to. ## Tasks | Task | Read | |---|---| | review a page, mapping or pipeline change | the affected task/symptom references below and current owner evidence; no recipe execution solely for review | | add a page | `./recipes/add-doc-page.md`, then `./mapping.md` | | move a page to another section | `./recipes/move-doc-page.md`, `./redirects.md` | | rename a page (label or URL) | `./recipes/rename-doc-page.md`, `./mapping.md#file-path-and-slug` | | delete or unpublish a page | `./recipes/delete-doc-page.md`, `docs/.map/README.md#unpublishing-files` | | decide where an edit belongs | `./authoring-boundary.md` | | understand or debug what ran in CI | `./pipeline.md` | | a mapped page renders empty | `./how-tos/repairing-empty-mapped-pages.md` | | links from integration descriptions to Learn | `./how-tos/integration-card-description-links.md` | Symptom to file: page missing on Learn or URL not what was expected: `./mapping.md#the-join-key`; ingest exited 2 or the map validator failed: `./mapping.md#what-is-checked-and-by-what`; exited 3: `./redirects.md`; traceback naming `resolve_publish_path_collisions` or `populate_integrations`: `./mapping.md`; MDX build error or a page cut off: `./mdx-rules.md`; sidebar order, missing category, or a grid that turned into a page: `./sidebars.md`; old URL 404 or redirect loop: `./redirects.md`; a change vanished from `docs/` in the learn repository: `./authoring-boundary.md`. ## Rules Enforced by code (the file names the tool and the effect): - `map.yaml` must validate against `docs/.map/map.schema.json`; ingest exits 2 otherwise (`./mapping.md#what-is-checked-and-by-what`). - A duplicate `edit_url`, a leaf without one, or a `netdata/netdata` `edit_url` that names no file fails `docs/.map/validate_map_schema.py`, which `.github/workflows/check-markdown.yml` runs after generating the integration pages; run it before opening a map PR (`./mapping.md#what-is-checked-and-by-what`). - A published path or slug collision that involves a non-integration page aborts ingest (`ValueError`); integration duplicates are suffixed automatically (`./mapping.md#file-path-and-slug`). - A redirect catalogue entry that resolves to nothing and is neither covered nor retired aborts ingest with exit 3 (`./redirects.md`). - A broken link or anchor in a mapped page fails `.github/workflows/check-markdown.yml` on the PR here, and the learn ingest under `--fail-links` (`./pipeline.md#verification-before-merging-here`). - Every `.md` and `.mdx` under learn `docs/` without `part_of_learn: True`, and every `.json` unconditionally, is deleted at the start of each full ingest (`./authoring-boundary.md`). Hand-reviewed, because no code checks them: - Every published page has a `map.yaml` node with `label` and `edit_url`; a file without a node is silently skipped, and a node of another repository whose URL matches no file is silently unpublished (`./mapping.md#the-join-key`). - Keep `edit_url` unchanged when moving a page; the redirect catalogue is anchored to it (`./redirects.md`). - A label decides the URL; choose labels that survive `_sanitize_mdx_filename_source` without colliding with a sibling (`./mapping.md#file-path-and-slug`). - Cross-references are repository-relative `.md` paths, never `learn.netdata.cloud` URLs (`./mapping.md#links-between-pages`). - Text that MDX reads as a tag (`<word>`, `<` before a digit, generics) is wrapped in inline code or rephrased (`./mdx-rules.md`). - Learn paths in committed text use the `${NETDATA_REPOS_DIR}/learn/...` form; facts about learn code carry the `owner/repo @ commit` they were verified against.
在 GitHub 查看