I am writing a few custom man
pages and I would like to include things that might change often such as the date of the man
page's writing.
For example, one is in a git
repo that I would like to update the man
page's date whenever a change is made to it without having to do it by hand.
Is there a possibility to #include
or call shell variables in the *roff
file, or perhaps a markdown file and then use pandoc
to "compile" the man
page with?
I understand this is a strange question, but I haven't come across anything similar.
Please note this is different than simply including a man page in the $MANPATH
to be called by man
.
I.E., I want to use something like:
.TH foo 10 "$(git log -n1 | grep Date | tail -c 31)" "$(git branch | grep "*")"
in place of having to manually change the date and branch/head name every time. Whether this is in markdown and given to pandoc
or something else or just in the roff
file itself, I am okay with either.
Consider composing the content of the man
page using a documentation generator language like asciidoc, which has most of the desired features. The asciidoc format can include external input files, and change all sorts of things on-the-fly as needed.
To include shell script, see Substitutions inside literals in Asciidoc .
Or one could use a shell script to generate a config file, then include that file.
Apologies in advance if this answer is at present little vague, in that it's more of a software recommendation (without any actual code) than a real answer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With