Skip to main content

No project description provided

Project description


biblio-config: true labels: abstract: Abstract affiliations: Affiliations authors: Authors description: Description doi: Doi keywords: Keywords modified: Modified published: Published related_formats: Other Formats toc-title: Table of contents

Pypi version Pypi Downloads Github Activity Python versions GitHub Actions License

mkquartodocs

Example

Make gorgeous reproducible documentation with quarto and mkdocs

It is a plugin for mkdocs that renders quarto markdown documents into github, so they are built with the rest of the documentation.

Why?

In many instances the documentation contains runnable code, and it makes sense that you verify that the code runs and keep the output of the code in sync with the current status of the document and software packages involved.

But mainly I really got tired of manually rendering documents and copying outpus.

Usage

  1. Install the dependencies: Installation
  2. Add the plugin to your configuration: Configuration
  3. Add .qmd files to your ./docs/ directoy
  4. Run mkdocs build

This will render code chunks and save the outputs! Check out https://quarto.org/ for more examples on how to use the format.

This ....

```{python}
print(1+2)
```

Will become this ...

:::: {.cell execution_count="1"}

print(1+2)

::: {.cell-output .cell-output-stdout} 3 ::: ::::

Installation

  1. Make sure you have quarto installed in your computer.

  2. Install mkquartodocs

pip install mkquartodocs

Configuration

Add mkquartodocs to your plugins in your mkdocs.yml

# Whatever is in your mkdocs.yml configuration file....
# ...

plugins:
  - mkquartodocs

Available configuration options:

  • quarto_path: Specifies where to look for the quarto executable.
  • keep_output: If true it will skip the cleanup step in the directory.
  • ignore_pattern: a python regular expressions that if matched will mark the file to not be rendered. Note that they need to be full matches
  • force_rebuild: If true it will force a rebuild of the quarto documents (instead of trying to skip the document if the .md already exists)
# Whatever is in your mkdocs.yml configuration file....
# ...

plugins:
  - mkquartodocs:
      quarto_path: /home/my_folder/some/weird/place/to/have/executables/quarto
      keep_output: true
      ignore: (.*broken.*.qmd)|(.*page[0-9].qmd)

# mkquartodocs will try to render every quarto document in the
# docs directory, you can specify the page names using either the .qmd
# or the .md extension

nav:
  - Home: README.md
  - Examples:
    - 'Simple python execution': 'examples/example.qmd'
    - 'Simple dataframe execution': 'examples/dataframe_example.qmd'
    - 'Simple mermaid execution': 'examples/mermaid_example.qmd'
    - 'Simple matplotlib execution': 'examples/matplotlib_example.qmd'


# These are also required depending on what features you want enabled.
theme:
  name: material

markdown_extensions:
  - pymdownx.highlight:
      anchor_linenums: true
  - pymdownx.superfences

Running

NOTHING !!! you do not have to run it manually!!

When you call mkdocs build, it should automatically find your .qmd files, render them, generate the output and clean after itself.

TODO

The things that need to/could be added to the project:

  • quarto project support
  • render in temporary directory, posibly with a 'safe' argument
  • addition of files not in the docs directory, 'include' argument
  • add readme to testing data
  • move INFO - mkquartodocs: Running RemoveCellDataPreprocessor to debug log

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mkquartodocs-0.7.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mkquartodocs-0.7.0-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file mkquartodocs-0.7.0.tar.gz.

File metadata

  • Download URL: mkquartodocs-0.7.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for mkquartodocs-0.7.0.tar.gz
Algorithm Hash digest
SHA256 d995c0cdfecb14ef24334d50d183cbe5b557f6fd85c1c8ad17015e1c4da6be80
MD5 936358dcff3feb48786c7a65e7199354
BLAKE2b-256 c8d0f4542440a909a2928c374e93c9ab3a0df0ddd80291318268ac9a57c4ccbe

See more details on using hashes here.

File details

Details for the file mkquartodocs-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: mkquartodocs-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for mkquartodocs-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0e39692c0d5d2086afe8993a11684a5bc929823bf1ab4d95a06e9f4de741125b
MD5 1d1cca4fbef138042028444d0e1d86dc
BLAKE2b-256 b76c28d24754beed3112856a9ba2ebe098915495e796e8ef073d4e77952ab7ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page