Documentation: Core / WMk
WMk - Website META Language Make
wmk [-a] [-A WILDMAT] [-F WILDMAT] [-x PATH] [-X PATH] [-a] [-f] [-n] [-r] [WML-options] [path ...]
wmk [-V] [-h]
This is the high-level frontend to the Website META Language (WML), a free
HTML generation toolkit for Unix, internally consisting of 9 independent
wml(1) for more details on WML.
Use this command to run wml on a bunch of .wml files either directly given on the command line as path or found via directory traversal in path.
WMk recognizes WML's shebang lines (``
#!wml options'') in the .wml
files and automatically adds options to the command line of wml when
invoking it for this particular file.
- -a, --all
Specifies that WMk should recursively process all .wml files it finds in path.
- -A, --accept=WILDMAT
Accepts (=includes) all files matched by the shell wildcard pattern WILDMAT for processing. WMk always has a pre-configured ``
-A *.wml'' option which forces it to process all WML files per default. This option is only used when path is a directory.
- -F, --forget=WILDMAT
Forgets (=exclude) all files and directories matched by the shell wildcard pattern WILDMAT which were previously accepted by option -A.
- -o, --outputfile=PATH
Specifies output files. When this flag is used in .wmlrc, the same flag must be put in .wmkrc to let WMk know when to rebuild these output files.
- -x, --exec-prolog=PATH
Executes PATH in the local context of path before the WML commands are run. This options is only used when path is a directory.
- -X, --exec-epilog=PATH
Executes PATH in the local context of path after the WML commands are run. This options is only used when path is a directory.
- -f, --force
Forces the creation of output files. Usually WMk tries to determine if the input file was really modified and skips WML invocations if the output files are still up-to-date.
- -n, --nop
Sets no-operation (nop) where WMk runs as usual but does not actually invoce the wml commands. Use this option to see what wmk would do.
- -r, --norcfile
This forces WMk to ignore all .wmkrc and WML to ignore all .wmlrc files.
- -V, --version
Gives the version identification string of WMk. Use this to determine the version of a installed WML toolkit.
- -h, --help
Prints the usage summary page.
All WML-options directly correspond to their counterparts in wml(1) because they are just forwarded by wmk except the -n and -o options which are implicitly created by wmk for each wml invocation.
- $HOME/.wmkrc and (../)*.wmkrc
These files can also contain option strings, one option per line. One may use this file to exclude some directories from being searched for input files
-F images -F templates ...
Auto-adjusted variables specfied as -DNAME~PATH on the wmk command-line will not necessarily have the same effect as a similar definition in a ./.wmlrc file. This is because, when processing sub-directories, wmk changes its working directory to each of those directories, which can influence the interpolation of such auto-adjusted variables. When specified on the command line, such variables are interpolated with respect to wml's current working directory at the time of its invocation. So, if you wish such variables to be interpolated relative to wmk's current working directory at the time of its invocation, one can work-around this issue by specifying -DNAME~PATH in a .wmlrc in that directory rather than specifying it on the wmk command-line.
Ralf S. Engelschall firstname.lastname@example.org www.engelschall.com
Denis Barbier email@example.com