
Refactor the --authfile option. My suggestion for review: 1) run hack/markdown-preprocess-review and immediately Ctrl-Q to quit out of diffuse, which is completely unusable for this many files; then 2) cd /tmp/markdown-preprocess-review.diffs/authfile - this is the directory created by the review script 3) rm podman-image-sign* podman-log* podman-search.1.md.in - because they're essentially identical to podman-create 4) rm podman-manifest-* podman-push.* - because they're 100% identical to podman-kube-play 5) rm podman-kube-play* - because it's apart-from-whitespace identical to podman-build (use "wdiff" to confirm) 6) rm podman-auto-update* - because that's the one I chose (hence == zzz-chosen.md) (You should obviously run your own diff/cmp before rm, to confirm my assertions about which files are identical). After all that, you have a manageable number of files which you can scan, read, diff against zzz-chosen.md, even run diffuse. This option is IMHO the poster child for why we need this kind of man page refactoring. 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
As a special case, podman-pod-X
becomes just X
(the "pod" is removed).
This makes the pod-id-file
man page more useful.