monofile
v0.1.0
Published
export MONOFILE="$0"; cat "$0" | awk '/\<a name\=\"2\.1\.\"\>/{y=1;next}y' | tail -n+3 | bash -euo pipefail -- /dev/stdin "$@"; exit 0 -->
Downloads
4
Readme
#!/bin/bash -euo pipefail #<!-- export MONOFILE="$0"; cat "$0" | awk '/<a name="2.1.">/{y=1;next}y' | tail -n+3 | bash -euo pipefail -- /dev/stdin "$@"; exit 0 -->
Monofile
What would be the perfect way to reduce all of your problems down to one single problem? Putting everything in the same file 🙌
Table of contents
1. Monofile documentation
Monofile couldn't be easier to use, everything you need is in this file. For convenience we have published this file to npm, but you could just as easy download this file and put it in your path.
1.1. Installation
npm install --global monofile
1.2. Usage
To initialise a new monofile, run the following command to create a new
README.md
file in the current directory.
monofile init
To run your command, use the builtin run
command.
./README.md run
2. Monofile implementation
2.1. Bootstrapping
if [ "$#" -ne 1 ]; then
>&2 echo "Please give monofile exactly one argument"
exit 1
fi
if [ "$1" == "init" ]; then
if [ -e README.md ]; then
>&2 echo "Monofile allready initialised"
exit 1
fi
cat "$MONOFILE" > README.md
chmod +x README.md
fi
if [ "$1" == "run" ]; then
BOOTSTRAP_LANGUAGE="$(cat "$MONOFILE" | awk '/\<a name\=\"3\.1\.\"\>/{y=1;next}y' | tail -n+2 | head -n 1)"
if [ "$BOOTSTRAP_LANGUAGE" == '```javascript' ]; then
cat "$MONOFILE" | awk '/\<a name\=\"3\.1\.\"\>/{y=1;next}y' | tail -n+3 | awk '/```/{exit};1' | node
else
>&2 echo "Unsupported language: \"$BOOTSTRAP_LANGUAGE\""
>&2 echo "Please file an issue at https://github.com/LinusU/monofile/issues"
exit 1
fi
fi
exit 0
3. Your code 😎
3.1. Bootstrapping
console.log('🔥 This is the place where your code should live 🔥')