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

Open Beginner friendly
#14,627 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
74/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
lua, yaml
Domain
tooling

Research direction

Start in share/schema/definitions.yml by comparing manuscript-schema with book-schema and its base-website inheritance. Reproduce the manuscript project configuration from the issue, then render HTML and verify that repo-actions produces .toc-actions links and the GitHub navbar icon. Done means the documented repo-url and repo-actions settings work for manuscript projects without a workaround.

Written by the indexing model from the issue text.

Description

enhancement manuscript

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
Dominant language
JavaScript
Stars
6k
Forks
458
Avg merge
1d 8h
Merged PRs (30d)
42

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from quarto-dev/quarto-cli

All issues in quarto-dev/quarto-cli

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.