A N N O U N C E =============== This file is the official announcement message for major WML releases. It gets posted to the following Newsgroups: NEWSGROUPS (REGULAR) -------------------- Subject: ANNOUNCE: Website META Language (WML) 2.0 Newsgroup: comp.infosystems.www.servers.unix, comp.infosystems.www.authoring.html sdm.announce NEWSGROUPS (MODERATED) ---------------------- Subject: SOFTWARE: Website META Language (WML) 2.0 To: www-announce@boutell.com Subject: Website META Language (WML) 2.0 To: linux-announce@news.ornl.gov ------------------------------------------------------------------- __ ___ __ _ \ \ / / \/ | | Website META Language, Version 2.0 \ \ /\ / / |\/| | | http://www.engelschall.com/sw/wml/ \ V V /| | | | |___ ftp://ftp.engelschall.com/sw/wml/ \_/\_/ |_| |_|_____| Ralf S. Engelschall Denis Barbier rse@engelschall.com barbier@engelschall.com WML is a free and extensible Webdesigner's off-line HTML generation toolkit for Unix, distributed under the GNU General Public License (GPL v2). It is written in ANSI C and Perl 5, build via a GNU Autoconf based source tree and runs out-of-the-box on all major Unix derivates. It can be used free of charge both in educational and commercial environments. WML consists of a control frontend driving up to nine backends in a sequential pass-oriented filtering scheme. Each backend provides one particular core language. While not trivial and idiot proof WML provides most of the core features real hackers always wanted for HTML generation: Pass 1: Source Reading and Include File Expansion (backend: IPP) Pass 2: High-Level Macro Construct Expansion (backend: mp4h) Pass 3: Perl Programming Construct Expansion (backend: ePerl) Pass 4: Low-Level Macro Construct Expansion (backend: GNU m4) Pass 5: Diversion Filter (backend: Divert) Pass 6: Character and String Substitution (backend: ASubst) Pass 7: HTML Tag Fixup (backend: HTMLfix) Pass 8: HTML Tag and Plain Text Stripping (backend: HTMLstrip) Pass 9: Output Slicing and Final Target Writing (backend: Slice) WML can be used both trivially like $ wml page.html to create a single output page and in an advanced way like $ wml -o '(ALL-LANG_*)uLANG_EN:page.en.html@u+x' \ -o '(ALL-LANG_*)uLANG_EN:page.de.html@u+x' page.wml to create two output pages from a single multi-lingual source. For maximum power WML already ships with a well-suited set of include files which provide high-level features build on top of the backends core languages. Some topics the shipped include files already address: - generation of URLs through auto-adjustment variables - generation of typographically strong headlines via images - generation of typographically strong text rendering - generation of typical direction+color based background images - generation of 1pt dot-images for layout spacing tricks - generation of `lowsrc' images - generation of flexible grammar-based navigation bars - generation of rollover-style image-buttons - generation of hyperlinks via simplified tags - generation of typical page environments - generation of standard page information - generation of table structures by grids or positions - generation of table-based rectangular boxes - generation of verbatim, ISO-Latin-1 and URL-sensitive areas - generation of HTML via inlined POD, SDF and structured ASCII Text areas - generation of tags in forced lower or upper case - generation of inlined client-side out of external server-side imagemaps - generation of multi-lingual webpages or other variants through slicing - generation of table of contents out of header tags - generation of pages via include files acting as templates - generation of content statistics for resulting webpages - ... The same way you can write your own custom HTML tagsets for WML to extend its functionality for your particular needs. WML is not a closed toolbox, it's only the core upon which you can base your Unix HTML generation environment.