Skip to main content

Execute codeblocks inside of markdown

Project description



Runs codeblocks marked with the darkmark, and inserts the results.

DarkMark uses tree-sitter to identify codeblocks. Currently it only supports python codeblocks in markdown files and runs them with ipython. Handy for writing docs/blog posts so you can stay right in your markdown editor of choice and get the outputs in line. No need to jump into a whole other tool just to do live execution.


pip install darkmark
❯ darkmark --help

 Usage: darkmark [OPTIONS] COMMAND [ARGS]...

 run code blocks in markdown

╭─ Options ──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --install-completion        [bash|zsh|fish|powershell|pwsh]  Install completion for the specified shell.       │
│                                                              [default: None]                                   │
│ --show-completion           [bash|zsh|fish|powershell|pwsh]  Show completion for the specified shell, to copy  │
│                                                              it or customize the installation.                 │
│                                                              [default: None]                                   │
│ --help                                                       Show this message and exit.                       │
╭─ Commands ─────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ run                                                                                                            │
│ sexp                                                                                                           │
│ tui                                                                                                            │
│ watch                                                                                                          │


Mark your codeblocks with the darkmark.

```python {.python .darkmark}
r = requests.get('')

Then run darkmark <file>.md and darkmark will insert the results of the codeblock.

``` {.console .darkmark_output}

Automatic imports

Automatic imports are provided by pyflyby.

Supported Languages

Currently the only language supported is python.

  • python


Running darkmark watch <> updates the file on save.



darkmark is distributed under the terms of the MIT license.

Download files

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

Source Distribution

darkmark-0.2.0.tar.gz (13.0 kB view hashes)

Uploaded Source

Built Distribution

darkmark-0.2.0-py3-none-any.whl (7.9 kB view hashes)

Uploaded Python 3

Supported by

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