A Markdown-based Makefile alternative.
Project description
makedown - A Markdown powered Makefile alternative
pip install makedown
makedown is a versatile CLI tool that lets you execute shell scripts,
JavaScript code, Python code, or any other script defined in one or more markdown files.
It's a streamlined alternative to Makefile, package.json, or scattered shell scripts,
featuring built-in syntax highlighting through markdown code blocks and
allowing documentation of commands in a human-friendly format.
Key Features
- Multilingual Execution: Supports Zsh, JavaScript, and Python.
- Simplified Scripting: Use markdown files (.md) to organize and run commands.
- Syntax Highlighting: Leverages markdown code blocks for readability.
- Autocomplete Support: ZSH completions for a smoother workflow.
- Flexible Code Blocks: Support for triple backtick code blocks.
Installation
Usage
- Define and document your commands in a markdown file, like in DEMO.md.
- Run commands using
makedownfrom the same directory or any subdirectory:
makedown --help # Prints help with available commands
makedown # Also prints help
makedown my_command # Runs the command
makedown my_command arg1 arg2 # Pass arguments to the command
makedown my_command --help # Prints help for the command
Development
These are actual makedown commands:
venv Create a virtual environment
python3 -m venv venv
source venv/bin/activate && pip install --upgrade pip
Activate the virtual environment manually everytime you start a new shell
source venv/bin/activate
install Install Python dependencies
pip install setuptools wheel twine black
format Format the source code
black makedown.py
build Build the package
rm -rf build dist makedown.egg-info
python setup.py sdist bdist_wheel
publish Publish the package to PyPI
makedown build
twine upload dist/*
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.1.tar.gz.
File metadata
- Download URL: makedown-0.0.1.tar.gz
- Upload date:
- Size: 4.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 |
ed5d22472658f6d4689d155f80aeac037f4353b72411df80e74730ce267df90b
|
|
| MD5 |
f4b23cb4a21e42bc6fd2ad7f97e2faba
|
|
| BLAKE2b-256 |
d9aa6d73e479def4752b40154d7246211f67f8e9cb6dca8187c0505af4e297ed
|
File details
Details for the file makedown-0.0.1-py3-none-any.whl.
File metadata
- Download URL: makedown-0.0.1-py3-none-any.whl
- Upload date:
- Size: 4.6 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 |
7bc9109503a8a658410b658e23e5d1d2d2ad63e1eb0c389054e0e611b86dace6
|
|
| MD5 |
dd86e099f9fc48dca31551f8081ddfa0
|
|
| BLAKE2b-256 |
13adee62b47b93b7f41caf0c483d6e28c8d02ca7e22c040b918823be32634058
|