xxx2lout version 1.18 SUMMARY The following little perl programs are included: * html2lout - Converts HTML to lout * pod2lout - Converts pod to lout * txt2lout - Converts plain text to lout * perl2lout - Converts perl programs to lout * lout2html - Converts a subset of lout to HTML (alpha!) * mkall - Wrapper for calling lout They are supported by two modules which can be used by perl programmers doing their own lout processing: * Lout.pm - this provides the txt2lout function used by the first three converters, and a supporting set_option function; it also provides htmlentity2lout used by html2lout. Its also used by lout2html. * HTML/LoutParser.pm - this provides the routines for the hooks in the HTML/Parser.pm module. txt2lout can be used as a nice filter, say in vi, with ".,$!txt2lout -w 0" for example. html2lout (i.e. HTML/LoutParser.pm) now does tables - its very crude and simple and you'll probably have to hand tweak, but its a start. lout2html is very crude - it doesn't do tables, diagrams, graphics, macros, definitions, etc. - but for lots of text and lists it will do the bulk conversion, but you'll need to hand fix. I'd really only recommend this for the desperate! Even if they don't give you exactly the results you want they may be enough to knock your text into a usable form. CHANGES 0.01 First version. 0.02 Added some code to handle html tables in html2lout; also made LoutParser a first class object with some parameters to influence its behaviour. 0.03 Improved html2lout - if multiple fonts given, choses just the last one and inserts Base. Insert empty objects {} in front of @B, @I etc to ensure they don't collide with preceeding words. Corrections to smart quotes applied. Now use Text::Wrap to wrap long lines. Added code to handle more tags. 1.00 First documented version. Improved html2lout - better table handling (but still very basic). No longer puts @LP's all over the place, so everything comes out better, including lists. Now &entity;'s are converted to {@Char entity}'s. More options added to control commenting of handled and unhandled tags. More tags handled. Parser object data bugs sorted. All files now have their own pod documentation. 1.01 Added @CNP as an option '-cnp' for

and

's which is on by default. Thanks to David Duffy for this suggestion. 1.02 Added non-standard tags =title, =head3 and =head4 to pod2lout. pod2lout can now be used on perl scripts and modules without formality to produce lout from their pod alone. 1.10 Added lout2html (suggested by David Duffy). 1.11 Improved lout2html, now handles lout comments, and more tags. Still very alpha though. 1.12 Improved lout2html, more tags, slightly better at braces, but still very alpha. 1.13 Licence changed to GPL for programs and LGPL for modules. 1.14 Added mkall lout wrapper. 1.15 Many improvements to mkall - now reads the ,`all' file and converts .txt, .pod or .html files to .lt for each .lt found in an @Include statement in the `all' file. Added -verbatim option to txt2lout so you can now put =lout @MySymbol @PP # etc. =endlout into .txt files, as well as in-line verbatim text such as V<@B> bold, etc. 1.16 mkall simple `makefile' lout wrapper can now use the macro package. For example, I have a file which has the macro: %DEFINE SCENE @Section @Title {#0} @Begin @PP @Include {#1} @End @Section %END_DEFINE so in my `all' file I can write: SCENE[ Name of scene | lout-file.lt ] which is somewhat more compact and (unlike lout defs) has no dependency issues since its pure textual substitution. To use this you'll need to pick up my Macro package which is in the same place as this package. 1999/09/05 Minor corrections to pod2lout. Minor fixes. 1999/09/06 Please don't use v 1.17 (I broke lout2html and Lout.pm) - use 1.16 or earlier or this version (1.18) or later. Apart from fixing, have also done some small efficiency improvements. INSTALLING As for installing just create a directory somewhere and unzip and untar the lot, e.g. tar xvfz xxx2lout-VERSION.tar.gz or gunzip xxx2lout-VERSION.tar.gz tar xvf xxx2lout-VERSION.tar then either put this directory in your PATH or create some soft links from somewhere on your path to the xxx2lout scripts you want. Note: You must have Perl 5.004 or later; and to use html2lout you must have HTML::Parser and to use lout2html you must have HTML::Entities both of which come in the libwww-perl library; you'll also need Text::Wrap which comes with Perl. To use the macro facility in mkall you will need my Macro package. LICENCE These are quick scripts, but if you have comments, improvements etc send them to with 'xxx2lout' in the subject line. Copyright (c) 1999 Mark Summerfield. All Rights Reserved. May be used/distributed under the GPL or LGPL as per the licence in each component, or under the GPL where not specified.