I've been making a lot of tools in this similar vein. I've been keeping them in my dotfiles.
I've got plt [0], a simple matplotlib templating language built with Python Lex Yacc for making quick plots from CSVs , eg,
cat data.csv | plt '[a_version_count, b_version_count], date { plot 1px [solid blue, solid red] }' > plot.png
There's a plugin format so you can make extensions like bleep [1]: plt 'a_version_count, date { bleep blop blip green 10 } --py' > bleep_plotter.py
cat data.csv | python3 bleep_plotter.py > bleep_plot.png
To create a plugin xyz, just call it "xyz_template.py" and put it in ~/dotfiles/plt. Outputs to Python code are optional but useful for minor adjustments.(Does plt look familiar? Can you tell I just read the latest version of The Awk Programming language?)
Or I was reading The Unix Programming Environment (1982) and being inspired by the pick command, wired up electron to allow for STDIN/OUT/ARGV in the browser context, for what I'm calling elec [2]:
elec textarea -x 300 -y 0 | elec pick -x 300 -y 600 | awk '{ print $0 " " $0 }'
Again, to create a plugin xyz, and in this case all elec commands are plugins, add "xyz.html" to ~/dotfiles/elec, as seen with the pick [3] plugin.ANYWAYS, where I'm going with this instead of,
cat staff.xml | ppp custom -N xpath -O path='./Animal/Age'
How about? cat staff.xml | ppp xpath -O path='./Animal/Age'
Convention over configuration!Again, this tool is great, it's already in my dotfiles and I've already used it at work this morning, so thank you!
[0] https://github.com/williamcotton/dotfiles/blob/master/bin/pl...
[1] https://github.com/williamcotton/dotfiles/blob/master/plt/bl...
[2] https://github.com/williamcotton/dotfiles/blob/master/bin/el...
[3] https://github.com/williamcotton/dotfiles/blob/master/elec/p...