Skip to main content

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, python and 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


Download files

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

Source Distribution

makedown-0.0.7.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

makedown-0.0.7-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file makedown-0.0.7.tar.gz.

File metadata

  • Download URL: makedown-0.0.7.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

Hashes for makedown-0.0.7.tar.gz
Algorithm Hash digest
SHA256 b73a858c2875a8450bc4a10e4b4ce0872d7ab8201d8edf23ef63c88a9f34f205
MD5 ac92b9f59ef0a1f14f526846801f8494
BLAKE2b-256 06e1c2076a37607cf82e16e903f7cbc6b37f07f2aae5fcbb882945421506fbce

See more details on using hashes here.

File details

Details for the file makedown-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: makedown-0.0.7-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

Hashes for makedown-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c75315a3d47bca3464484f573d89c45e48416a3829c6235b26acf7e9baaf96ed
MD5 383427af902f57763cfc72807ee0af88
BLAKE2b-256 f97f1de20cd19f7e2722b4735de0fee1c44f4246f1346cd5dfde9a118b8650fd

See more details on using hashes here.

Supported by

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