My blog (http://blog.stargrave.org/russian/) initially also used Git as a storage, where each commit is a post, and its log message is the content itself. If I add gitweb/cgit, when it will also feature web interface and Atom feed automatically. Later I added my own rendering engine to it: http://www.sgblog.stargrave.org/ for efficiency and automatic transparent gopher/gemini protocols support. Each post also can have some dynamic tags/topics attached, that are stored in git's notes branch. And later I also added ability to leave comments, by sending email message, that is committed in another git-note branch in the form of recfile (https://www.gnu.org/software/recutils/) plain-text comment. Everything is plain text, can be used with Git solely, but has an engine for better rendering and wider protocols support.
My 12+ years old website: http://www.stargrave.org/
Currently it is built as a Texinfo document. Previously I used reStructuted Text (Sphinx), Vimwiki, Gopher-compatible Perl scripts, FTP-viewable READMEs and static HTMLs. Contains much more data than even social networks will ask from people.
Not all redo implementations treat $2 the same. Specifically JDEBP's redo differs in that $2 is the extension rather than the part with the extension removed (it's unspecified what $2 is for non default*.do files).
Nobody forces you to use any kind of shell with redo. Its .do files can be anything you want: ELF object files, shell scripts, Perl, Python, whatever, just make it executable and obey trivial simple rules (stdout and three arguments).
And again noone forces you to use multiple files too :-). You can literally have just single default.do file for the whole project. apenwarr/redo somewhere explicitly noted that. Separate .do files are only for convenience and ability to automatically depend on target's build rules independently from others, that Make just do not do at all.