name: "quartonotebook"
description: Render a Quarto notebook, including parametrization.
keywords:
  - quarto
  - notebook
  - reports
  - python
  - r
tools:
  - quartonotebook:
      description: An open-source scientific and technical publishing system.
      homepage: https://quarto.org/
      documentation: https://quarto.org/docs/reference/
      tool_dev_url: https://github.com/quarto-dev/quarto-cli
      licence: ["MIT"]
      identifier: ""
  - papermill:
      description: Parameterize, execute, and analyze notebooks
      homepage: https://github.com/nteract/papermill
      documentation: http://papermill.readthedocs.io/en/latest/
      tool_dev_url: https://github.com/nteract/papermill
      licence: ["BSD 3-clause"]
      identifier: ""

input:
  - - meta:
        type: map
        description: |
          Groovy Map containing sample information
          e.g. `[ id:'sample1', single_end:false ]`.
    - notebook:
        type: file
        description: The Quarto notebook to be rendered.
        pattern: "*.{qmd}"
        ontologies: []
  - parameters:
      type: map
      description: |
        Groovy map with notebook parameters which will be passed to Quarto to
        generate parametrized reports.
  - input_files:
      type: file
      description: One or multiple files serving as input data for the notebook.
      pattern: "*"
      ontologies: []
  - extensions:
      type: file
      description: |
        A quarto `_extensions` directory with custom template(s) to be
        available for rendering.
      pattern: "*"
      ontologies: []
output:
  html:
    - - meta:
          type: map
          description: |
            Groovy Map containing sample information
            e.g. `[ id:'sample1', single_end:false ]`.
      - "*.html":
          type: file
          description: HTML report generated by Quarto.
          pattern: "*.html"
          ontologies: []
  notebook:
    - - meta:
          type: map
          description: |
            Groovy Map containing sample information
            e.g. `[ id:'sample1', single_end:false ]`.
      - notebook:
          type: file
          description: The Quarto notebook that was rendered. Allows user to
            continue working on the notebook.
          pattern: "*.{qmd}"
          ontologies: []
  params_yaml:
    - - meta:
          type: map
          description: |
            Groovy Map containing sample information
            e.g. `[ id:'sample1', single_end:false ]`.
      - params.yml:
          type: file
          description: Parameters used during report rendering.
          pattern: "*"
          ontologies: []
  artifacts:
    - - meta:
          type: map
          description: |
            Groovy Map containing sample information
            e.g. `[ id:'sample1', single_end:false ]`.
      - ${notebook_parameters.artifact_dir}/*:
          type: file
          description: Artifacts generated during report rendering.
          pattern: "*"
          ontologies: []
  extensions:
    - - meta:
          type: map
          description: |
            Groovy Map containing sample information
            e.g. `[ id:'sample1', single_end:false ]`.
      - _extensions:
          type: file
          description: Quarto extensions used during report rendering.
          pattern: "*"
          ontologies: []
  versions_quarto:
    - - ${task.process}:
          type: string
          description: The name of the process
      - quarto:
          type: string
          description: The name of the tool
      - quarto -v:
          type: eval
          description: The expression to obtain the version of the tool
  versions_papermill:
    - - ${task.process}:
          type: string
          description: The name of the process
      - papermill:
          type: string
          description: The name of the tool
      - papermill --version | cut -f1 -d" ":
          type: eval
          description: The expression to obtain the version of the tool

topics:
  versions:
    - - ${task.process}:
          type: string
          description: The name of the process
      - quarto:
          type: string
          description: The name of the tool
      - quarto -v:
          type: eval
          description: The expression to obtain the version of the tool
    - - ${task.process}:
          type: string
          description: The name of the process
      - papermill:
          type: string
          description: The name of the tool
      - papermill --version | cut -f1 -d" ":
          type: eval
          description: The expression to obtain the version of the tool

authors:
  - "@fasterius"
maintainers:
  - "@fasterius"
