[GH-ISSUE #931] Support dynamic generation of Quarto HTML, PDF, and EPUB with shared configuration #4253

Closed
opened 2026-04-19 12:14:39 -05:00 by GiteaMirror · 1 comment
Owner

Originally created by @profvjreddi on GitHub (Aug 12, 2025).
Original GitHub issue: https://github.com/harvard-edge/cs249r_book/issues/931

Currently, there is significant code duplication across files to enable generation of Quarto outputs (_quarto-html, -pdf, -epub). To improve maintainability and reduce duplication, we should refactor the setup to use shared/common YAML configuration files and reusable code. This will allow dynamic generation of Quarto files (HTML, PDF, EPUB) as needed, without manual copy-pasting or redundant configuration.

Proposal:

  • Identify duplicated code and configuration across the existing output files.
  • Design a set of shared YAML files and supporting scripts to centralize configuration.
  • Refactor the build process so that output types (HTML, PDF, EPUB) are generated dynamically from common sources.
  • Document the updated workflow for future contributors.

Benefits:

  • Easier maintenance and updates
  • Reduced risk of inconsistencies
  • Streamlined workflow for generating multiple output formats

This change will make the Quarto book workflow more robust and easier for contributors to work with.

Originally created by @profvjreddi on GitHub (Aug 12, 2025). Original GitHub issue: https://github.com/harvard-edge/cs249r_book/issues/931 Currently, there is significant code duplication across files to enable generation of Quarto outputs (_quarto-html, -pdf, -epub). To improve maintainability and reduce duplication, we should refactor the setup to use shared/common YAML configuration files and reusable code. This will allow dynamic generation of Quarto files (HTML, PDF, EPUB) as needed, without manual copy-pasting or redundant configuration. Proposal: - Identify duplicated code and configuration across the existing output files. - Design a set of shared YAML files and supporting scripts to centralize configuration. - Refactor the build process so that output types (HTML, PDF, EPUB) are generated dynamically from common sources. - Document the updated workflow for future contributors. Benefits: - Easier maintenance and updates - Reduced risk of inconsistencies - Streamlined workflow for generating multiple output formats This change will make the Quarto book workflow more robust and easier for contributors to work with.
GiteaMirror added the area: tools label 2026-04-19 12:14:39 -05:00
Author
Owner

@profvjreddi commented on GitHub (Apr 3, 2026):

Closing — the build system has been significantly reworked with the two-volume Quarto setup. The current _quarto.yml configuration handles multi-format output. Feel free to reopen with specific requirements.

<!-- gh-comment-id:4184846986 --> @profvjreddi commented on GitHub (Apr 3, 2026): Closing — the build system has been significantly reworked with the two-volume Quarto setup. The current _quarto.yml configuration handles multi-format output. Feel free to reopen with specific requirements.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/cs249r_book#4253