FreeBSD Manual Pages
yodl(1) Your Own Document Language yodl(1) NAME yodl - main Yodl converter SYNOPSIS yodl [OPTION]... [FILE]... DESCRIPTION Yodl is a package that implements a pre-document language and tools to process it. The idea of Yodl is that you write up a document in a pre-lan- guage, then use the tools (e.g. yodl2html(1)) to convert it to some final document language. Current converters are for HTML, man, LaTeX, text and an experimental xml converter. Main document types are "article", "re- port", "book" "manpage" and "letter". The Yodl document language is de- signed to be easy to use and extensible. NOTE: Starting with Yodl version 3.00.0 Yodl's default file inclusion be- havior has changed. The current working directory no longer remains fixed at the directory in which Yodl is called, but is volatile, changing to the directory in which a yodl-file is located. This has the advantage that Yodl's file inclusion behavior now matches the way C's #include directive operates; it has the disadvantage that it may break some current documents. Conversion, however is simple but can be avoided altogether if the -L (--legacy-include) option is used (see below). OPTIONS o -D, --define=NAME[=VALUE]: Defines name as a symbol. This option is acts like DEFINESYMBOL(NAME)(). If =VALUE is added, NAME is initial- ized to VALUE (identically to DEFINESYMBOL(NAME)(VALUE)). o -d, --definemacro=NAME=EXPANSION: Defines NAME as macro expanding to EXPANSION o -h, --help: usage information is written to the standard error stream, describing all of Yodl's options. o -i, --index[=file]: `file' is the name of the index file. By default <outputbase>.idx is used. No default when output is written to std- out. The index file is processed by Yodl's post-processor, yodlpost. o -I, --include=DIR: This defines the system-wide include directory where YODL searches for its input files. E.g. a statement to include a given file, like: INCLUDEFILE(latex) Yodl now searches for the file latex in the current directory, and when that fails, in the system-wide include directory. The sys- tem-wide include directory is typically the place where the main- tainer of a system stores macro-files for Yodl. This searching process applies to files that are included inside a document but also applies to filenames on the command line when invoking the YODL program. The name of the included file (latex in the above example) is the bare name, YODL supplies a default extension (.yo), if necessary. The -I option overrules Yodl's built-in name for the system-wide in- clude directory. The built-in name is defined when compiling Yodl, and is, e.g., /usr/share/yodl. Furthermore, the definition may con- tain $HOME, which is replaced by the user's home directory if the `home' or `HOME' environment variable is defined. It may also con- tain $STD_INCLUDE, which is replaced by the compilation defined standard include path. The standard includepath may be overruled by either (in that order) the command line switch -I or the YODL_IN- CLUDE_PATH environment variable. By default, the current directory is added to the standard include path. Hewver, when -I or YODL_IN- CLUDE_PATH is used, the current directory must be mentioned explic- itly. The individual directories need not be terminated by a /-character. In distributed .deb archives, the standard directory is defined as /usr/share/yodl (prefixed by the current working di- rectory). o -k, --keep-ws: Since YODL version 2.00 blanks at the begin and end of lines are ignored, even without a trailing \, when the `white space level' is non-zero. Earlier versions kept these blanks. The legacy handling of white space at end of lines can by obtained using the -k flag. Note that white space are always kept when using verba- tim copying, and when the white-space level is zero. o -m, --messages=SET: Set the so-called `message level' to a combina- tion of the SET acdeinw. The letters of this set have the following meanings: o a: alert. When an alert-error occurs, Yodl terminates. Here Yodl re- quests something of the system (like a get_cwd()), but the system fails. o c: critical. When a critical error occurs, Yodl terminates. The message itself can be suppressed, but exiting can't. A critical con- dition is, e.g., the omission of an open parenthesis at a location where a parameter list should appear, or a non-existing file in an INCLUDEFILE specification (as this file should be parsed). A non-ex- isting file with a NOEXPANDINCLUDE specification is a plain (non-critical) error. o d: debug. Probably too much info, like getting information about each character that was read by Yodl. o e: error. An error (like doubly defined symbols). Once an error has been encountered the remainder of the input is still parsed (up to a maximum number of errors), but no output is generated. o i: info. Not as detailed as `debug', but still very much info, like information about media switches. o n: notice. Information about, e.g., calls to the builtin function calls. o w: warning. Something you should know about, but probably not af- fecting Yodl's proper functioning Non-configurable is the handling of an emergency message. These messages can't be suppressed, but shouldn't happen, as they point to some internal error. It would be appreciated to receive information about these messages if they ever occur. o -n, --max-nested-files=NR: This option causes Yodl to abort when the number of nested input files exceeds NR, which is 20 by default. Ex- ceeding this number usually means a circular definition somewhere in the document. This is the case when, a file a.yo includes b.yo, while b.yo includes a.yo etc.. It does not prevent recursive macro- or subst-replacements. For that the -r (--max-replacements) option is available. o -o, --output=FILE: This option causes Yodl to write its output to FILE. By default, the output goes to the standard output stream. E.g., you can use YODL to read a file input and to write to output with the following two commands: yodl input > output yodl -ooutput input The difference being that in the latter case an index file is gener- ated, but not in the former case. Notice that writing an index file can be forced when the --index option is specified. o -p, --preload=CMD: This option `pre-loads' the string cmd. It acts as though cmd was the first command in the first input file that is processed by YODL. More than one --preload=CMD options may be present on the command line. Each of the commands is then processed in turn, before read- ing any file. o -r, --max-replacements=NR: This option causes Yodl to abort when the number of macro calls or subst-replacements exceeds NR * 10,000. By default, NR equals 1. Setting --max-replacements=0 implies that no macro- or subst-replacement checks are performed. o -t, --trace: This option enables tracing: while parsing, Yodl writes its output to the standard error stream. As is the case with the -k option, this option is defined for debugging purposes only. o -V, --version. This option shows YODL's actual version. o -v, --verbose: This option increases Yodl's `verbosity level' and may occur more than once. By default yodl shows alerting, critical, emergency and error messages. Each --verbose option adds a next mes- sage level. In order, warning, notice, info and debug messages are added to this set. It is also possible to suppress messages. The VERBOSITY builtin can be used for that. o -W, --warranty. This option shows a warranty disclaimer and a copy- right notice. o -w, --warn: The presence of this option caused Yodl to warn when, e.g., symbols are redefined. FILES The yodl program requires no files, but `normal' usage of the Yodl package requires macro files, by default installed in tmp/wip/macros. The files in this directory are included by the converters yodl2txt(1) etc.. SEE ALSO yodlstriproff(1), yodl(1), yodlbuiltins(7), yodlconverters(1), yodllet- ter(7), yodlmacros(7), yodlmanpage(7), yodlpost(1), yodlverbinsert(1). BUGS - AUTHOR Frank B. Brokken (f.b.brokken@rug.nl), yodl_4.01.00.tar.gz 1996-2017 yodl(1)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | FILES | SEE ALSO | BUGS | AUTHOR
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=yodl&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>
