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.6.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.6.0-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mkquartodocs-0.6.0.tar.gz
Algorithm Hash digest
SHA256 b6596c1e3cdde78afe129fc1cf1cb187fa74c621940567dc225e7e38d7508d68
MD5 5425dd99c414483f490a9e8c051a05f1
BLAKE2b-256 81ba6e7281d8db03d44362193e4dc260fbeffbd39d97db2c9634d39aac67ac8d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mkquartodocs-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for mkquartodocs-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9b73ea91a8d9631601d68b4385e180f5ed789704d948b5c83ed3f7ef99bb3ebe
MD5 ac6e06bcd701fbbb638f2fe2aa6d7b1e
BLAKE2b-256 01123b28c6e32a36a4e30b24436c18ead574f30db20c23fc97f4c2df2fdb94d8

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