User:Mendel/Templates

I am learning to work with templates because I have plans. Evil plans. Muahahahaha.

My Templates
These are harm- and useless:
 * /show3 =
 * /returnlist =
 * /passthrough =
 * /Skill box data = too big to put in here
 * /Blinding Surge = verbatim copy of Template:Blinding Surge
 * /Blinding Surge (PvP) = verbatim copy of Template:Blinding Surge (PvP)
 * /merge PvPvE = too big to put in here
 * /Skill box test based on Shadowcrest's version
 * /Merged skill =
 * Usage:


 * Template:Valid XHTML 1.0 =
 * Template:trim trims whitespace and newlines off the start and the end
 * /Skills used (see User:Blue.rellik/testMonster)
 * /Skill list item =
 * User talk:M.mendel/archiveline =
 * /nowrap =
 * /D =

See User:M.mendel/Wikibase for these two:
 * /Get =
 * /GetFrom =

Template Tests
Dolyak skills (see User:Blue.rellik/testMonster4 for comparison)

The big idea now is to make a "Template:Skill box data" that takes all parameters and puts them into a big string with a nice separator such as "$". Then I call that with another template, maybe and then mergePvEvP calls displayPvEvP with a long parameter list that has been extracted from the big strings using explode. DisplayPvEvP will then display a merged skill description for both skills, and of course anybody could use their own display function. Maybe I'll just copy Shadowcrest's. Muahahaha.

Automagically extracting the Notes from the main articles is then left as a minor exercise to finish up. ;-)

Statistics for Blinding Surge as of now: Pre-expand include size: 80600/2097152 bytes Post-expand include size: 39809/2097152 bytes Template argument size: 150530/2097152 bytes Template argument size seems critical, so no more than 10 of these on a single page. mendel 11:19, 30 May 2008 (UTC)
 * 1) ifexist count: 0/100

awk Scripts
To extract all attributes from a template, or a number of templates all concatenated into a big file. Manually delete everything to just before the first {{{. BEGIN{RS="{{{"; FS="}}}"}

{ sub("\\|.*", "", $1); if (attr[$1]==0) {attr[$1]=1; print $1;} }