old-www/LDP/LG/issue09/yodl.html

188 lines
5.5 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html> <head>
<title>Yet One-Other Document Language</title>
</head>
<H4>&quot;Linux Gazette...<I>making Linux just a little more fun!</I>
&quot;</H4>
<HR>
<center><h1>YODL: A New, Easy-To-Use Text Formatting Language</h1></center>
<hr>
<center><h4><a href="mailto: layers@vax2.rain.gen.mo.us">by Larry
Ayers</a></h4></center>
<center>Copyright (c) 1996</center><BR>
<center><H5>Published in Issue 9 of the Linux Gazette</H5></center>
<center><h3>Introduction</h3></center>
Linux/un*x is rich in difficult-to-learn, intricate text formatting systems.
Though the quality of printed output can be extremely high, the learning curve
can be concomitantly steep.<p>
This has led to the development of "meta-formatting" systems, which allow one
common text mark-up system to be output in several formats. An example is
SGML, which is very capable but hardly intuitive.<p>
<a href="mailto: karel@icce.rug.nl">Karel Kubat</a>, a Dutch programmer, has
written a new text formatting system which he calls YODL, for Yet OneOther
Document Language. (I get the impression that the awkward "oneother" word
construct exists because Mr. Kubat wanted to have <i>.yo</i> as a filename
suffix, rather than <i>.ya</i>.)<p>
<hr>
<center><h3>Origins</h3></center>
Karel Kubat had found himself spending an inordinate amount of time marking up
documents for HTML, then having to repeat the process for Latex; in other
words, he wanted to have a nicely formatted printout of a document and also
make it available on a web-page. For various reasons SGML was not satisfying
his needs so he set out to write an easy to use document language. His
criteria included a minimum of awkward-to-type tags and the ability to include
or reference other files in one master file. I think he succeeded remarkably
well.
<hr>
<center><h3>Features</h3></center>
A sample document will give you a good idea of what a .yo file looks like:<br>
<pre>
COMMENT(File for testing purposes.)
htmlbodyopt(fgcolor)(#0000E0)
htmlbodyopt(bgcolor)(#E0E0C0)
article(Test article for YODL)
(Karel Kubat)
(1996)
sect(First section) label(first)
This is the first section. Now for a subsection:
subsect(Subsection of first section.)
This is the subsection.
sect(Second section.)
This is the second section, but ref(first) is the first one.
Lets try some verbatim text.
verb(
#include <stdio.h>
int main ()
{
printf ("Hello World!\n");
return (0);
})
Now some weird characters: !@#$%^*[]{}\|"~`'.
Accents? em(Ich m\"ochte bitte \"uberhaupt ein Bier!)
bf(Apr\`es moi la d\'eluge.)
subsect(Some lists.)
subsubsect(An itemized list.)
itemize(
it() Item one.
it() Item two.
)
subsubsect(A descriptive list.)
description(
dit(First:) Item one.
dit(Second:) Item two.
)
subsubsect(An enumerated list.)
enumerate(
eit() Item one.
eit() Item two.
)
</pre>
This test file shows you what some of the tagging is like. Here's a brief
excerpt from a .yo file showing how other files from the current directory can
be included:<br>
<pre>
sect(Using the yodl program)
includefile(using)
subsect(Language elements)
includefile(elements)
</pre>
As you can see the tags are in an abbreviated verbal form, which makes them
easier to remember. The included files can be completely devoid of tagging.
This allows you to concentrate more on content rather than structure; the
structure can be mostly contained within the master document. YODL documents
are noticeably easier to read in their source format than either HTML or Latex
source. Format-specific tags are also allowed, as in the above HTML body
tags. They will be ignored by the Latex parser, for example. <p>
YODL is very well documented, and the installation of the docs is an effective
demonstration of the system. The docs come in .yo source form; these files
are copied to /usr/local/yodl/doc, and then YODL is run on them during the
installation, with the end result being several HTML files.<p>
As is true with any "meta-formatter", a user is better-off knowing something
about the output format. I think it's necessary to at least glance through
the output, just to catch any obvious errors. The advantage of a program like
YODL is that it will enable you to avoid the grunt-work of starting from
scratch.
<hr>
<center><h3>Package Contents</h3></center>
The main YODL program is written in C, and it works in conjunction with
several shell scripts and macro files. The main supported formats are HTML,
Latex, and the troff/groff man and ms formats. There is limited support for
conversion to plain ASCII and SGML, as well. As previously mentioned, the
documentation is unusually extensive, being about sixty pages worth of
well-written material.
<hr>
<center><h3>Availability</h3></center>
YODL can be downloaded from <a href="ftp://ftp.icce.rug.nl/pub/unix">its home
site</a> under the filename yodl-X.YY.tar.gz, with X.YY being a version
number. It is also available from ftp://sunsite.unc.edu and its mirrors, as
of this writing in the /pub/Linux/Incoming directory.
<hr> <center><address><a href="http://vax2.rain.gen.mo.us/~layers/">Larry
Ayers&lt;layers@vax2.rain.gen.mo.us&gt;</a></address></center><br>
<hr>
<A HREF="./index.html"><IMG SRC="../gx/indexnew.gif" ALT="[ TABLE OF
CONTENTS ]"></A>
<A HREF="../index.html"><IMG SRC="../gx/homenew.gif" ALT="[ FRONT
PAGE ]"></A>
<A HREF="staroffice.html"><IMG SRC="../gx/back2.gif" ALT=" Back "></A>
<A HREF="lg_backpage09.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<hr>
</body> </html>