pterodocs publishes a Docusaurus site to WordPress as a tree of real pages, built from core Gutenberg blocks. No custom block types, no shortcodes, no page builder: the markup it writes is the markup the WordPress editor itself would have written.
This site is published by pterodocs. If you are reading it on onyx.ac, that is the proof.
Why core blocks
Because the pages have to outlive the tool. A documentation set stored as proprietary
markup is hostage to whatever wrote it. Stored as core/paragraph, core/heading,
core/code and core/table, it is ordinary WordPress content — editable by hand,
readable by every theme, and unaffected if pterodocs is never run again.
The WordPress plugin is optional for the same reason. It makes the published documentation look and behave better, and deactivating it leaves pages that still read.
What a run does
npx pterodocs sync --env-file .env
- Loads your site through Docusaurus’s own loader — so sidebar order, permalinks, versions, locales and draft status are the ones Docusaurus itself would use.
- Builds a page tree from the sidebars you name.
- Renders each document to core blocks, uploading images as it goes.
- Writes only what differs. A second run reports everything as
unchanged.
Where to start
- Get started — install, credentials, and a first dry run.
- Configuration — every option in
pterodocs.config.mjs. - Commands —
sync,render,doctor,capture,purge,init. - How it works — the page tree, identity, and what a re-sync overwrites.
:::warning A re-sync rewrites page content
pterodocs owns the body of every page it publishes. Edits made in the WordPress editor
on a synced page are reverted by the next sync. The durable places to change things
are your pterodocs.config.mjs and the plugin’s settings page — neither is ever touched
by a run. See Identity and ownership.
:::
In this section
- Get started — Install pterodocs, point it at a WordPress site, and publish a first tree of documentation.
- Configuration — Every option in pterodocs.config.mjs, what it defaults to, and what reads it.
- Commands — sync, render, doctor, capture, purge and init — what each one is for and which of them write to your site.
- How it works — The page tree, how a page is identified, and what a re-sync overwrites.
- The WordPress plugin — What the optional plugin adds, how it is built, and why deactivating it still leaves readable pages.