
Followup to #15174. These are the options that are easy(ish) to review: those that have only drifted slightly, and need only minor tweaks to bring back to sanity. For the most part, I went with the text in podman-run because that was cleaned up in #5192 way back in 2020. These diffs primarily consist of using '**' (star star) instead of backticks, plus other formatting and punctuation changes. This PR also adds a README in the options dir, and a new convention: <<container text...|pod text...>> which tries to do the right thing based on whether the man page name includes "-pod-" or not. Since that's kind of hairy code, I've also added a test suite for it. Finally, since this is impossible to review by normal means, I'm temporarily committing hack/markdown-preprocess-review, a script that will diff option-by-option. I will remove it once we finish this cleanup, but be advised that there are still 130+ options left to examine, and some of those are going to be really hard to reunite. Review script usage: simply run it (you need to have 'diffuse' installed). It isn't exactly obvious, but it shouldn't take more than a minute to figure out. The rightmost column (zzz-chosen.md) is the "winner", the actual content that will be used henceforth. You really want an ultrawide screen here. Signed-off-by: Ed Santiago <santiago@redhat.com>
Common Man Page Options
This subdirectory contains option (flag) names and descriptions
common to multiple podman man pages. Each file is one option. The
filename does not necessarily need to be identical to the option
name: for instance, hostname.container.md
and hostname.pod.md
exist because the --hostname option is sufficiently different
between podman-{create,run}
and podman-pod-{create,run}
to
warrant living separately.
How
The files here are included in podman-*.md.in
files using the @@option
mechanism:
@@option foo ! will include options/foo.md
The tool that does this is hack/markdown-preprocess
. It is a python
script because it needs to run on readthedocs.io
. From a given .md.in
file, this script will create a .md
file that can then be read by
go-md2man
, sphinx
, anything that groks markdown. This runs as
part of make docs
.
Special Substitutions
Some options are almost identical except for 'pod' vs 'container'
differences. For those, use <<text for pods|text for containers>>
.
Order is immaterial: the important thing is the presence of the
string "pod
" in one half but not the other. The correct string
will be chosen based on the filename: if the file contains -pod
,
such as podman-pod-create
, the string with pod
(case-insensitive)
in it will be chosen.
The string <<subcommand>>
will be replaced with the podman subcommand
as determined from the filename, e.g., create
for podman-create.1.md.in
.
This allows the shared use of examples in the option file:
Example: podman <<subcommand>> --foo --bar