book/quarto/_extensions/CUSTOM_EXTENSIONS.md
This directory contains extensions that have been heavily customized for the MLSysBook project.
Our custom extensions are protected by organizing them under the mlsysbook-ext/ directory - a namespace that cannot be accidentally overwritten by quarto add commands.
pandoc-ext/diagram - Standard Pandoc extensionquarto-ext/lightbox - Standard Quarto extensionmlsysbook-ext/custom-numbered-blocksmlsysbook-ext/ namespace prevents any accidental overwritesute/custom-numbered-blocks (https://github.com/ute/custom-numbered-blocks)mlsysbook-ext/titlepagemlsysbook-ext/ namespace prevents any accidental overwritesnmfs-opensci/titlepage (https://github.com/nmfs-opensci/quarto_titlepages)mlsysbook-ext/margin-videomlsysbook-ext/ namespace (no external equivalent exists)Namespace Strategy:
All our custom extensions live in mlsysbook-ext/ directory.
When someone runs quarto add ute/custom-numbered-blocks, it will:
mlsysbook-ext/custom-numbered-blocks directoryute/custom-numbered-blocks directoryNo conflicts possible - the mlsysbook-ext/ namespace is exclusive to this project!
# Safe to update these
quarto add pandoc-ext/diagram --update
quarto add quarto-ext/lightbox --update
# All these are SAFE - they create separate directories:
quarto add ute/custom-numbered-blocks # Creates ute/ (separate from mlsysbook-ext/)
quarto add nmfs-opensci/titlepage # Creates nmfs-opensci/ (separate from mlsysbook-ext/)
# Our customizations remain in mlsysbook-ext/ untouched
When adding new extensions:
quarto add)mlsysbook-ext/ directoryIf an extension is accidentally overwritten:
git checkout HEAD -- book/_extensions/mlsysbook-ext/EXTENSION_NAME/Last Updated: 2024-12-08 Maintainer: MLSysBook Team