WORK-267
Setting up your dashboard 0 entities found · 8/31 branches scanned
ID:WORK-267Status:ready

contributePages pipeline phase

Add the Plugin.contributePages hook and a contribution phase in the content loader (after file-page registration, before aggregation) that collects ContributedPage[] and runs them through the normal pipeline — the underlying primitive both the entityRoutes adapter and third-party plugins build on.

Priority:highComplexity:complexMilestone:v0.16.0Source:SPEC-069

Criteria completion

Criteria completion: 0 of 6 (0%) checked; tracking started on May 25, no incremental history yet0%25%50%75%100%May 25Jun 15

Tracking started May 25 — check back for trends.

Branches 2
History 2
  1. 9440cce
    Created (ready)by bjornolofandersson
  2. 7ab7615
    Content editedby Claude
    plan: add v0.16.0 milestone and work breakdown for SPEC-069/070/071

Acceptance Criteria

  • Plugin.contributePages interface defined (optional; sync or async; context with registry, projectRoot, site config, pipeline ctx)
  • Contribution phase runs after file-page registration, before aggregation; contributed pages flow through parse + transform + register + aggregate + postProcess identically to file pages
  • ContributedPage shape { url, title, frontmatter, content }; output pages carry source.type === "contributed" (plugin + ruleIndex)
  • URL collisions: file-backed wins over contributed (with warning); two contributed at one URL fail the build naming both sources
  • Contributed pages appear in sitemap, search index, route enumeration, and nav-auto; resolvable by {% ref %}
  • Plugin error in contributePages → build warning, build continues with that plugin skipped; empty return is a no-op

Dependencies

None — core pipeline work; WORK-268 builds the entityRoutes adapter on top.

References

  • SPEC-069