Skip to main content

Insert dynamic content in markdown, without using a separate template file.

Project description

minsert

Insert dynamic content in markdown, without using a separate template file.

Tests Code Quality PyPI - Python Version codecov

Motivation

Inspired by jinja.

Your actual markdown file is the template file itself. Just make a block of content just by using comments, which indicate the start and end of the block.

This is really great for making a dynamic GitHub README. No hassle of creating a separate template file. Using a simple python script and GitHub Actions, you can automatically update the contents of the markdown file.

Installation

pip install minsert

Syntax

Using minsert is easy. Just write normal markdown. The start and end of named blocks are marked by special comments.

Start a block named my_block

<!-- start my_block -->

End a block

<!-- end -->

You must end the current block before starting a new one.

Usage

For example you have a markdown file test.md like this.

hello
<!-- start thing1 -->
<!-- end -->
what is happening
<!-- start thing2 -->
<!-- end -->
Bye!

Create a simple script update.py for updating the markdown file.

# update.py

from minsert import MarkdownFile

file = MarkdownFile("test.md")
things = {
    "thing1": "hi hello",
    "thing2": "ping pong",
}
file.insert(things)

The markdown file gets updated with the value of the blocks.

hello
<!-- start thing1 -->
hi hello
<!-- end -->
what is happening
<!-- start thing2 -->
ping pong
<!-- end -->
Bye!

Now try running update.py after changing the values in the things dictionary. You will see that minsert will neatly update the test.md without fail.

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

minsert-0.1.0.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

minsert-0.1.0-py3-none-any.whl (4.2 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