quarto-dev / quarto-dev/quarto-cli
Manuscript projects should support repo-url and repo-actions like book/website projects
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 6k
- Forks
- 458
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 41
Description
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-schemahassuper: resolveRef: base-website→ inheritsrepo-url,repo-actions,navbar, etc.manuscript-schemahasclosed: truewith nosuper→ 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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
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.
Assessment
- Tech stack
- lua, yaml
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100