Skip to content

Manuscript projects should support repo-url and repo-actions like book/website projects #14627

Description

@d-morrison

Problem

book and website project types support repo-url and repo-actions out of the box, injecting "Edit this page" / "View source" links into the TOC sidebar and allowing a GitHub icon in the navbar. Manuscript projects do not — the manuscript-schema is declared closed: true with no inheritance from base-website, so these keys are silently ignored even when set in _quarto.yml.

Reproduction

Create a manuscript project (project: type: manuscript) and add:

website:
  repo-url: https://github.com/owner/repo
  repo-actions: [edit, source]

or under format: html::

format:
  html:
    repo-url: https://github.com/owner/repo
    repo-actions: [edit, source]

Neither produces the expected TOC action links or GitHub navbar icon in the rendered HTML.

Expected behavior

Manuscript HTML output should respect repo-url and repo-actions the same way book and website projects do, injecting .toc-actions links ("Edit this page", "View source") into the TOC sidebar.

Workaround

A Lua filter can replicate the behavior by reading repo-url/repo-actions from document metadata and injecting the links via inline JavaScript:

-- reads repo-url and repo-actions from _quarto.yml metadata,
-- injects .toc-actions div and GitHub icon via JS
function Pandoc(doc)
  if not FORMAT:match("html") then return doc end
  -- ... inject <script> that appends .toc-actions to nav#TOC
end

Full example: https://github.com/d-morrison/qmt/blob/main/_repo-links.lua

Root cause (schema)

In share/schema/definitions.yml:

  • book-schema has super: resolveRef: base-website → inherits repo-url, repo-actions, navbar, etc.
  • manuscript-schema has closed: true with no super → none of those keys are recognized.

The fix would be to add super: resolveRef: base-website to manuscript-schema, or to selectively expose repo-url and repo-actions in the manuscript schema.

Environment

  • Quarto version: 1.9.36
  • OS: macOS 14

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestmanuscriptIssues related to manuscript output

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions