Automattic / Automattic/docspress
[Feature] Allow Publishing several repositories to one site: Either Sharing or supporting more robust root-slug
- Dominant language
- JavaScript
- Stars
- 27
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
What we're trying to do:
Current root-slug is both the URL prefix and the ownership boundary
Maintain several WordPress plugins in separate repos under 1 parent page and publish each's repos docs all to one self-hosted DocsPress site under a common parent (/wordpress-plugins/mantle/, /wordpress-plugins/linchpin-blocks/). Each repo runs the Action independently. I couldn't find a configuration would support this fully even passing a "root-slug" because of validation. So it kind of works(ish) out of the box where you can.
The underlying issue :
root-slug serves two purposes at once: the URL prefix, and the ownership boundary that scopes deletion (src/sync.js:129-135). Grouping repositories needs those to differ: a shared prefix with separate ownership.
Then five findings, each with output:
1. Multi-segment root-slug is flattened — slugify()
2. Pre-creating the parent page doesn't help — flattening precedes any WP call
3. Re-parenting doesn't survive — parentKey: null + absolute links baked into content
4. Sharing one root-slug deletes pages
5. _docspress_docs_root collapses both products into one root based on the current implementation
Tested against wordpress-0.10.5
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with src/sync.js:129-135, then trace slugify(), parentKey handling, and _docspress_docs_root to understand how URL prefixes and ownership are coupled. Compare the behavior against the five findings in the issue; done should allow independently published repositories to share a parent URL without deleting or collapsing each other's pages.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, wordpress
- Domain
- devtools, documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100