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

Đang mở Phù hợp với người mới
#14,627 5 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
74/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
lua, yaml
Lĩnh vực
tooling

Hướng nghiên cứu

Bắt đầu trong share/schema/definitions.yml bằng cách so sánh manuscript-schema với book-schema và cơ chế kế thừa base-website của nó. Tái hiện cấu hình dự án manuscript từ issue, sau đó render HTML và xác minh rằng repo-actions tạo ra các liên kết .toc-actions cùng biểu tượng navbar của GitHub. Hoàn tất khi các thiết lập repo-url và repo-actions được ghi trong tài liệu hoạt động cho các dự án manuscript mà không cần workaround.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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
Ngôn ngữ chính
JavaScript
Star
6k
Fork
458
Merge trung bình
1 ngày 8 giờ
Pull request đã merge (30 ngày)
42

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của quarto-dev/quarto-cli

Tất cả issue của quarto-dev/quarto-cli

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.