IMHO the question, in this case, is not "how to build the perfect
wikitext grammar/parser", but how to ease editing of wikitext through
editor enhancements. For that, it seems sufficient to cover the vast
majority of cases instead of writing a perfect solution, as long as it
falls back to "ugly" wikitext when in doubt. Having 1% of templates
appear in all their ugliness is better than 100%.

To that end, I have just written some proof-of-concept JavaScript:
http://en.wikipedia.org/wiki/User:Magnus_Manske/tmpl.js

It is not a solution, but shows a possible approach (example text to
use: [[Picopict]]):
* On edit start, it finds all templates in wikitext
* It does so only in namespace 0, so no template variables need to be
considered (otherwise, move the damned text out of article namespace!
;-)
* It will not touch templates that have no parameter - {{reflist}} is
easy enough
* It will replace all other templates with strings like
##TEMPLATEnumber:name##, e.g., ##TEMPLATE1:Infobox VG##
* These will be replaced with the original text again on save/preview/diff
* Double-clicking on, say, TEMPLATE1 will select that entire word. If
it is a template placeholder, an action is performed. For this demo,
it only shows the original text of the template (note that nested
templates are left as wikitext).

Obviously, this can be expanded to call up an editor of some kind. I
don't want to write one now that JQuery is around the corner :-)

And yes, I am introducing new syntax. That's not the point here; could
just as well be some other, pretty placeholder in a wysiwyg editor.


As to the issue of getting possible template variable names: Why not
* load the wikitext of the template in the background
* remove all nowiki, noinclude, etc
* get everything that looks like "{{{NAME|" or "{{{NAME}}}"
* remove known magic words
* Profit!


Cheers,
Magnus

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to