On 10/06/05, Lee Daniel Crocker <lee(a)piclab.com> wrote:
I decided to release my new syntax for comment before
I
finished the formal definition.
This started off as a few quick comments, but grew as I thought; I
hope it proves constructive...
* In general, I like these suggestions more than I thought I would,
particularly the "generic inclusion syntax"; although whether it would
appeal in the same way to non-technical users I'm not sure. One major
problem I see with such a text-heavy syntax is localisation - French
users *will* be put off if they have to type "begin include".
Obviously, we have this already to some extent, but this syntax feels
much more verbose - "{{}}" doesn't need translations. In order to
allow multiple languages to exist on one site, it would probably
become essential to be able to map the entire wikitext of an article
into a different syntax-dialect (e.g. "<<begin ...>>" ->
"<<commence
...>>") on demand.
* I'm not 100% sure about external links using "|" as a separator (you
don't have an example of this, but you imply it) - because they can be
quite long and include all sorts of characters, it might not be clear
at a glance where the URL ends and the text begins:
[[
http://mail.wikimedia.org/pipermail/wikitech-l/2005-June/030155.html|wikite…
post about Lee's syntax]] vs
[
http://mail.wikimedia.org/pipermail/wikitech-l/2005-June/030155.html
wikitech-l post about Lee's syntax]
(Obviously, with a page link, the opposite problem arises - because
the page name can include " ", you can't say [[a page and its target]]
and know how to split it.) I'm not saying I'm desperately married to
the current syntaxes, but I do think there's a certain logic to having
URLs terminated with a space.
* your omission of any keyword or character to reference built-in
variables seems odd - <<servername>> looks like it should mean "invoke
extension 'servername' with no input". I think <<global
servername>>
or <<$$servername>> would be more consistent with your other syntax.
* come to that, why do template parameters ("<<$foo>>") get to be
less
verbose than everything else? Consistency would demand "<<param
foo>>", whereas simplifying most common usage would probably lead to
something like "<<+foo>>" instead of "<<include
foo>>". I suspect
you've been swayed by programming experience here - it's "obvious" to
you that "$" means "variable", so why invent something new? But in
doing so you've over-ridden what was clearly a design goal of not
having lots of "magic characters"; for better or worse, that avoidance
is the feature that comes out most strongly - verbosity in place of
arcanity, I guess.
* I also like your elimination of all HTML and HTML-like elements - as
you say, this will avoid confusion about people adding things in ad
hoc, although incorporating references to CSS may bring on a whole new
plague
* I note that your image syntax sticks with the current kinds of
argument (although a cryptic note implies that some of these will
relate to styles in some way); it occurs to me that things like
"frame" and "left", being neither named nor position-dependent,
aren't
consistent with everything else. Perhaps "align=left" and
"style=frame"? [I guess what they imply is "frame=true" and
"left=true", but this isn't how, say, "<<include foo left
thumb>>"
would interpret its arguments]
Right, I'll stop there, and probably find that other people have made
the same points more eloquently already. Ah well...
--
Rowan Collins BSc
[IMSoP]