From add568ccdcadfc555a425f41a3675c51ed832bbd Mon Sep 17 00:00:00 2001 From: Gregor Sturm Date: Tue, 28 Jan 2025 14:42:37 +0100 Subject: [PATCH] Add quarto integration (#94) --- CHANGELOG.md | 2 +- docs/getting_started.md | 2 + docs/index.md | 1 - docs/user_guide/dvc.md | 5 -- docs/user_guide/quarto.md | 118 +++++++++++++++++++++++++++++++++- img/dso-quarto-disclaimer.png | Bin 0 -> 16403 bytes img/dso-quarto-watermark.png | Bin 0 -> 47252 bytes 7 files changed, 119 insertions(+), 9 deletions(-) delete mode 100644 docs/user_guide/dvc.md create mode 100755 img/dso-quarto-disclaimer.png create mode 100755 img/dso-quarto-watermark.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 85c6ba3..44d3778 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,7 @@ and this project adheres to [Semantic Versioning][]. ### Documentation -- Various documentation updates, working towards the first public version of the docs. +- Update documentation, finalizing the most important sections of the user guide. ## v0.11.0 diff --git a/docs/getting_started.md b/docs/getting_started.md index 38ac3ad..66be16b 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -122,6 +122,8 @@ By default, a Quarto stage includes the following `cmd` section in the `dvc.yaml - dso exec quarto . ``` +`dso exec quarto` provides additional features such as pre-run scripts and watermarking. For more information see [here](user_guide/quarto.md). + #### Bash Stage A Bash stage, by default, does not include an additional script. Bash code can be directly embedded in the `dvc.yaml` file: diff --git a/docs/index.md b/docs/index.md index b670ab6..0c525aa 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,7 +10,6 @@ getting_started.md user_guide/templates.md user_guide/params_files.md -user_guide/dvc.md user_guide/pre_commit.md user_guide/uv.md user_guide/linting.md diff --git a/docs/user_guide/dvc.md b/docs/user_guide/dvc.md deleted file mode 100644 index f976cda..0000000 --- a/docs/user_guide/dvc.md +++ /dev/null @@ -1,5 +0,0 @@ -# DVC integration - -In this section we explain DVC, provide an overview how it works, links to the respective sections of the DVC documentation and how it is integrated with DSO. - -TODO diff --git a/docs/user_guide/quarto.md b/docs/user_guide/quarto.md index 130b4d8..7e81d13 100644 --- a/docs/user_guide/quarto.md +++ b/docs/user_guide/quarto.md @@ -1,5 +1,119 @@ # Quarto integration -Here we describe how DSO integrates with quarto (`dso exec quarto`, watermarking, ...) +DSO integrates with [quarto](https://quarto.org/) for authoring reproducible analysis reports. +Quarto supports both Python and R through Jupyter notebooks (`ipynb`) or quarto markdown (`qmd`) files. -TODO +DSO provides a wrapper script + +```bash +dso exec quarto +``` + +to render a quarto stage that provides additional convenience features: + +- specify quarto configuration in `params.in.yaml` (and benefit from [templating and inheritance](params_files.md#inheritance)). +- automatically place HTML report in the `resport` directory of the stage +- automatically create an `output` directory before running the quarto script +- execute a pre-run script to setup the environment +- possibility to add a disclaimer text at the top of each report +- possibility to add watermarks to all plots + +To benefit from the seamless quarto integration, simply start off with one of the [quarto templates](templates.md#available-templates) provided by `dso create stage`. + +## Quarto configuration + +Quarto projects can be [configured using a `_quarto.yml` file](https://quarto.org/docs/projects/quarto-projects.html#project-metadata). +To consolidate all configuration in a single place and to benefit from dso's [hierarchical configuration system](params_files.md#inheritance), we support that quarto configuration can instead be specified in the `dso.quarto` field of a +`params.in.yaml` file. When running `dso exec quarto`, the corresponding `_quarto.yml` file is dynamically generated +and removed again after completion. + +**`params.in.yaml`** + +```yaml +dso: + quarto: + before_script: "" # bash snippet to execute before running `dso exec quarto`, use this to setup environment modules etc. + author: + # please add a complete list of authors. If some authors only contributed to a certain workpackage/stage + # you can add the dso.quarto.author section in the respective params.in.yaml and they will be merged. + - name: Jane Doe + affiliations: + - Example Department + format: + html: + fig-format: svg + toc: true + code-fold: true + embed-resources: true + page-layout: full + execute: + warning: true + message: false + date: now + date-format: YYYY-MMM-DD +``` + +The `dso.quarto` section supports any configuration specified in the [quarto documentation](https://quarto.org/docs/projects/quarto-projects.html#project-metadata). Additionally, there are DSO-specific configuration fields that are detailled +in the next sections: + +## Pre-run script + +Sometimes it may be required to run a script or bash snippet to setup the environment before running quarto. +This can be achieved by adding a `dso.quarto.before_script` field to the `params.in.yaml` file. + +For instance, you could use the following snippet to load an [enviornment module](https://modules.readthedocs.io/en/latest/) +if required on your system: + +```yaml +before_script: "module load quarto/1.4.549" +``` + +## Disclaimer + +If you want to add disclaimer box at the top of every quarto document (for instance, to mark the report as preliminary), +you can do so using the `dso.quarto.disclaimer` option. For instance, the following configuration... + +```yaml +dso: + quarto: + disclaimer: + title: This is a preliminary document + text: |- + The results presented in this report have not been reviewed for correctness. + Please be careful when interpreting the results. +``` + +...would result in the following header of the document: + +![quarto disclaimer](../img/dso-quarto-disclaimer.png) + +## Watermarking + +DSO can automatically add watermarks to all plots in a quarto document. Again, this might be useful for +marking figures as preliminary. The following configuration + +```yaml +dso: + quarto: + watermark: + text: preliminary +``` + +... would result in a watermark as shown here: + +![quarto watermark](../img/dso-quarto-watermark.png) + +The watermark can be further customized using the following options: + +```yaml +watermark: + text: DRAFT!!!111elf + tile_size: [100, 100] # in pixel. There will always be an instance of the text in the top left and bottom right corner of the tile + font_size: 48 + font_color: red + font_outline_size: 5 + font_outline_color: "#00FF0099" +``` + +On a technical level, watermarking is implemented as a [pandoc filter](https://pandoc.org/filters.html) using [panflute](https://scorreia.com/software/panflute/). After quarto created an intermediate markdown file, pandoc parses it into an abstract syntax tree (AST). +The pandoc filter traverses the AST and manipulates each image before pandoc continues conversion into the destination format (usually HTML). diff --git a/img/dso-quarto-disclaimer.png b/img/dso-quarto-disclaimer.png new file mode 100755 index 0000000000000000000000000000000000000000..1bc8296782a705e643094f76be4f47392c2e88ca GIT binary patch literal 16403 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 literal 0 HcmV?d00001 diff --git a/img/dso-quarto-watermark.png b/img/dso-quarto-watermark.png new file mode 100755 index 0000000000000000000000000000000000000000..93656d1d6edda57f4b970f3c90b43758d94012c5 GIT binary patch literal 47252 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∓xb^fu;)UqY0V&mODy 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 literal 0 HcmV?d00001