# show all commands default: just --list --unsorted # super plain boring output _map: recsel game.rec | recfmt '"{{{{name}}": "{{{{id}}", ' # build dot file # TODO: change id to name? or id /and/ name? _dot: #!/usr/bin/env zsh echo "digraph {" > dot recsel game.rec \ | recfmt '{{{{id}} -> {{{{text}}|' \ | sed -e 's/|/\n\n/g' \ | sed -e '/./{H;$!d;}' -e 'x; s/\n//g; G;' \ | sed -e 's/}}[^{]*{{{{/}} {{{{/g' -e 's/> [^{]* {{{{/> {{{{/' \ | sed -e '/{{{{/!d' -e 's/\.$//' \ | sed -e 's/> \(.*\)$/> { \1 };/' \ >> dot echo "}" >> dot # build a graph of all the nodes graph: _data _dot mustache data dot | dot -Tpng > graph.png # build data object _data: echo "{" $(just _map) "}" \ | sed -e 's/, }/ }/' \ > data # plain output build: _data mustache data game.rec \ | recfmt '{{{{id}}: {{{{text}}|' \ | sed -e 's/|/\n\n/g' \ # read the story browse: just build | fmt | less # remove generated files clean: rm -f dot data graph.png