#markdown #extract

bin+lib markdown-extract

Extract sections of a markdown file

5 releases (3 stable)

2.0.0 Jan 16, 2022
1.1.0 Apr 24, 2020
1.0.0 Jan 30, 2020
0.1.1 Jan 23, 2020
0.1.0-alpha Jan 22, 2020

#741 in Text processing

Download history 111/week @ 2023-10-29 85/week @ 2023-11-05 44/week @ 2023-11-12 100/week @ 2023-11-19 53/week @ 2023-11-26 40/week @ 2023-12-03 77/week @ 2023-12-10 40/week @ 2023-12-17 53/week @ 2023-12-24 34/week @ 2023-12-31 47/week @ 2024-01-07 44/week @ 2024-01-14 47/week @ 2024-01-21 42/week @ 2024-01-28 35/week @ 2024-02-04 77/week @ 2024-02-11

203 downloads per month
Used in 4 crates (via agpm_suggestions)

MIT license

189 lines

Markdown Extract

Crates.io Docker Pulls Build & Test

Extract sections of a markdown file with a regular expression! Great for changelogs ;)


Given a document called my-document.md:

# Welcome

This is my amazing markdown document.

## Extract me!

This section should be pulled out.

You can extract the second section with the following command:

$ markdown-extract "Extract me!" my-document.md
## Extract me!

This section should be pulled out.


If you've got Rust installed on your system, you can simply install markdown-extract with Cargo.

$ cargo install markdown-extract


A Docker image is also available, and can be installed with the following command:

$ docker pull sean0x42/markdown-extract:v2

You can then run the container with the following command:

$ docker run -it sean0x42/markdown-extract:v2 --help

Note that because markdown-extract accesses the file system, you will need to mount a volume if you want to access a file on the host. e.g.

$ docker run -v $PWD:/opt -it sean0x42/markdown-extract:v2 v2.0.0 /opt/CHANGELOG.md

If you know a better way of achieving this, please let me know!

Use Cases

There aren't many, to be honest.

  1. Extract patch notes from a CHANGELOG.md by version.
  2. The talented folks at HashiCorp are using markdown-extract to extract API documentation, and inject it into OpenAPI schemas.

If you have another use for this tool, please let me know!


~101K SLoC