Expose missing Docusaurus DocSite methods over OpenRPC #101
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_books#101
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Overview
hero_books_docusaurusexposes more capabilities on theDocSitestruct than are currently surfaced over RPC. Only 3 methods are wired today (docs.new,docs.generate,docs.jobStatus). Six more need to be added.Files to work in
crates/hero_books_server/src/web/rpc.rs— handlers + dispatcher (match at line 155)crates/hero_books_server/openrpc.json— spec (bumpinfo.versionon change)crates/hero_books_docusaurus/src/lib.rs— DocSite struct being wrappedhero_docsbinary — must have matching subcommands before writing handlersHandler pattern to follow
Shell out via
hero_docsbinary (never call DocSite in-process). Usesubmit_or_dedup_docs_job(id, config, "docs_<verb>_<hash>", &script).Use
calculate_docs_input_hash,shell_quote,get_docusaurus_cache_diras helpers.Child Issues
All 6 child issues complete. Rolling PR #108 is now ready to merge.
PR: #108
Branch:
development_docs_rpc_methodsCommits: 6 (one per child issue), all linear on top of
development.Final state:
docs.installTemplatedocs.updateTemplatedocs.build(with output_path recovery via base64url-encoded action names)docs.dev(long-running, no timeout, cancel via hero_procjob.cancelJSON-RPC)docs.publish(build-dir path, default production rsync target)docs.publishDev(heroscript path, dev destinations from!!site.publish_dev)Verification at PR head:
cargo clippysilent on bothhero_books_serverandhero_docsrpc.discoverlists all 9docs.*methods (3 originals + 6 new)