Re: Future WML Directions

Fritz Zaucker <[email protected]> Mon, 17 Oct 2005 18:18:07 +0200 (MEST)
Newsgroups gmane.comp.web.wml
Message-ID <[email protected]>
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---559023410-658816051-1129565887=:16779
Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: QUOTED-PRINTABLE

Hi Shlomi,

- one thing that I find cumbersome with WML is that I have to edit both a
   WML-source file and the navbar-definition file if I want to change
   something in the nav-structure. It would be cool if it was enough the
   source file of a page and then WML would figure out how to built the nav
   bar from some info in this file and perhaps from the directory structure=
=2E

- The #include (or #use) syntax for inclusion of templates and such is
   rather strange for people not being used to (C) programming. In our
   WML-based websites we use a syntax like

   <page author=3D"Bert M=FCller <[email protected]>"
         page=3D"about">

   as the first tag in a WML source file and the following preprocessor:

   #!/usr/sepp/bin/perl  (replace with your favorite path to Perl)
   undef $/; #slurp all
   $_ =3D <>;
   while (s/<PAGE[\s\n\r]+(\S+)\s*=3D\s*(?:"([^"]+)"|([^"\s>]+))/<PAGE/si){
     chomp($VAL{uc($1)}=3D $2 ? $2: $3);
     }

   # send TYPE=3D"default" in case there is none in specified in the
   # source. If there is, the second one wins.

   s|^\s*<PAGE[\s\n\r]*>||;
   print "#include \"\$(ROOT)/.wml/template.inc\" TYPE=3D\"default\" ",
         (map { "$_=3D\"$VAL{$_}\" " } keys %VAL), "\n";
   print;


   This allows for WML-source much like HTML-source and thus more easy to
   handle for people used to (or trainable to) HTML-editing.


Just some ideas for improvements.

Best regards,
Fritz

On Sun, 16 Oct 2005, Shlomi Fish wrote:

> Hi all!
>
> OK, so I've done a lot of work on the site to make it more standards
> compliant. In the process I switched it from a recursive building system =
that
> I couldn't quite understand to a more centralized GNU make-based system, =
and
> also placed somethings in Subversion.
>
> However, one things I'm unhappy with is that the design of the site itsel=
f
> feels very old. The current stylesheet is at the moment bloated with many=
 CSS
> styles, and the various arrangement of things on the page may have looked
> well in the late 90's but not now. So I think it would be a good idea to
> revamp it in this regard, making it less old. The old navigation menu, th=
at
> was based on buttons, and recently converted to CSS-buttons, will probabl=
y be
> replaced by a more modern nav-menu; the various coloured frames on the pa=
ge
> will be replaced by something better. The images as titles will be replac=
ed
> by <h1>, <h2>, etc. headers with CSS styles. Etc.
>
> Other things I'd like to do:
>
> * Converting to SCons instead of Autoconf
> ------------------------------------------
>
> I really came to loath Autoconf. It is absolute brain-damage. I recall th=
e
> time when I tried to use libtool, and realized that a support for it was
> dropped from Autoconf 2.1x and I had to upgrade everthing for Autoconf 2.=
5x.
> This is just one of the problems I encountered with Autoconf/Automake/Lib=
tool
> countless of times, and they seem to break more often than not.
>
> I implemented the Latemp build and install system using SCons. It took me=
 some
> time to get right, but probably less than the time it would have taken me=
 to
> write it in Autoconf/Automake/Libtool in the first place. I was also
> impressed by the elegance of SCons and how easy and non-idiosyncratic it =
was.
>
> So that's what I'd like to do.
>
> * Modernising the APIs.
> -----------------------
>
> The WML APIs, while sometimes useful, tend to generate extremely old and
> non-standards-compliant code. I usually tend to work around them. I alrea=
dy
> wrote HTML::Widgets::NavMenu which is a very nice replacement for the nav=
bar
> API. But there are many other APIs which we should go over. (the
> Table-of-Contents API especially gave me some trouble). Possibly some of =
them
> should be depracated.
>
> We may like to write some new APIs instead, and I could use any suggestio=
ns.
> If you have any self-written logic that you'd like to contribute please d=
o.
> Just make sure you contribute it under a GPL-compatible license.
>
> * Optimising WML
> ----------------
>
> WML is slow. On my P4-2.4GHz machine it runs tolerably, but still takes a=
 few
> minutes to compile my homepage, which is my largest site. I recall that o=
n a
> P3-600MHz it was much slower. I believe we can easily improve its speed i=
n
> several ways, by bechmarking, optimising and benchmarking again. There is=
 a
> lot of room for improvement, and there's no reason it should be that slow=
=2E
>
> * Win32 Compatibility
> ---------------------
>
> At the moment, WML cannot even compile on cygwin. I'd like to make sure i=
t can
> compile on cygwin and later on even port it to a pure Win32 system (Mingw=
,
> MSVC, etc.) Some people still have to work on Win32, and ignoring it is n=
ot
> such a good idea. Besides, it's probably a bug in the code. There's nothi=
ng
> in WML that warrants Win32 incompatiblity, and so we should fix it.
>
> ----------------------------
>
> Any other suggestions? Any comments on these ones?
>
> Regards,
>
> =09Shlomi Fish
>
> ---------------------------------------------------------------------
> Shlomi Fish      [email protected]
> Homepage:        http://www.shlomifish.org/
>
> 95% of the programmers consider 95% of the code they did not write, in th=
e
> bottom 5%.
> _____________________________________________________________________
> Website META Language (WML)                         http://thewml.org
> User Support Mailing List                        [email protected]
> Automated List Manager                            [email protected]
>

--=20
Dr. Fritz Zaucker, Head IT Support Group (ISG.EE)
Department of Information Technology and Electrical Engineering
Swiss Federal Institute of Technology
ETL F26, Physikstrasse 3, CH-8092 Zurich, Switzerland
Tel.: +41-(0)44-632-5241 Fax: +41-(0)44-632-1195
http://people.ee.ethz.ch/~zaucker/
E-mail: [email protected] (see home page for PGP key)
---559023410-658816051-1129565887=:16779--
_____________________________________________________________________
Website META Language (WML)                         http://thewml.org
User Support Mailing List                        [email protected]
Automated List Manager                            [email protected]