A Markdown-based Makefile alternative.
Project description
makedown - A Markdown powered Makefile alternative
makedown (aka Makefile + Markdown) is motivated by developers need to define
multiple scripts in one file next to their documentation, and have a handy way
to run them from terminal.
Makefiles are great for this, but are lucking some of the
makedown features, such as syntax
highlighting, hierarchical scanning of .md files with embedded documentation.
There are also package.json scripts in node.js world, but users are forced
to write script commands in one line.
It is implemented in Python for portability reasons, since most Unix-like systems already have a Python interpreter installed.
Here is DEMO.md file with examples of usage.
This is a fresh project still under active development.
Feel free to open and issue or PR.
We also have have a Discord server for quick discussions and sharing ideas or feedback.
Key Features
- Executable Markdown Scripting: Use markdown files (.md) to organize commands and their documentation.
- Multilingual Execution: Supports
zsh,bash,javascript,pythonand infinitely many more, using custom hashbangs. - Syntax Highlighting: Leverages markdown code blocks for readability.
Install
pip install makedown
Use
Define commands in a .md file:
# my_scripts.md
Here are a few examples of commands:
## [hello]() Prints "hello" using bash
```bash
echo "hello"
```
## [world]() Prints "world" using python
This is a more detailed description of the command.
```python
#!/usr/bin/env python
echo "world"
```
To run commands in a markdown file, execute makedown from the same directory
or any subdirectory:
makedown hello
A shorter version is also available:
m world
To see all the available commands with their short descriptions, use one of the following:
makedown --help
or just run it without any arguments:
m
To get more details about a specific command, use:
makedown world --help
Upgrade
pip install --upgrade makedown
Uninstall
pip uninstall makedown
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file makedown-0.0.6.tar.gz.
File metadata
- Download URL: makedown-0.0.6.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28578529f5bf986af97bcf4900e91667b222ea012c4c6d63bd01cd7414528d28
|
|
| MD5 |
e4e4bc07a6c1171862618eaf3fe47343
|
|
| BLAKE2b-256 |
271b9150d447e2d67b1fd10e320daa38b6ebafc70b18ce9a2257b91dee4eda14
|
File details
Details for the file makedown-0.0.6-py3-none-any.whl.
File metadata
- Download URL: makedown-0.0.6-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e97c31feb1b7d50ddfe3520971007ebfed3faee6110d23bc2e387afb2fc3411a
|
|
| MD5 |
6b62ed59d9fa497af1eee6daf0c8884d
|
|
| BLAKE2b-256 |
7092c3a4f9e1df1e37fe6715cb722d20cba0064fd870d1badafb90cdae34cdff
|