I have one question of clarification though. You say that taxons will have optional pre- and post-variation sections; does that mean one per page? Or more?
More than one per page, generally. By "taxon" I meant "anything we've grouped together under a name," although most of the taxa, especially smaller ones like families, probably won't have their own variations. So on the reptile page, we'd have top-level variations for reptiles in general, and then snake variations, and then maybe viper variations too.
This also means creatures will be referencing variations from other pages (e.g. reptiles would use a generic vertebrate template from the main page), so the section headers (and page titles?) will have to match up sufficiently for the script to piece together the hierarchy.
It can be simulated, but it is clumsy, and it won't show up in the table of contents. I could make a template for closing a table, starting a new section, and opening a table, if you think it's worth it. It would work like this:
Yeah, not much of a timesaver and it'll probably confuse people. We'll stick with the previous way, then. Thanks for the explanation -- have I mentioned that I'm really glad we have someone who knows this stuff?
When you say overhead, do you mean for the server or for the human typist?
The typist. I'm lazy.
And another thing. I am not clear on how you want people to input the five parameters. Do you want people to type {{ark row|...|start=...|pre=...|body=...|post=...|end=...}}? Because if it really is to be that simple, I don't see the point of even breaking it up. I mean, if editors can fill in parameters in order, then they can write the raws in order, without any help, i.e. {{ark row|...|raws=...}}.
No, the pre and post sections aren't manually entered. They're inserted by the script, based on the groups that the creature belongs to. "Start," "body," and "end" are separate so that it knows where to insert them. So here's very rough pseudocode for what the script outputs when it's creating a creature's raws:
- outputs the "start" parameter unaltered
- goes through each of the creature's taxonomical parents from top to bottom (i.e. general to specific, vertebrate to viper). If a parent has a pre-variation, it outputs [APPLY_CREATURE_VARIATION:<name>]
- outputs the "body" parameter unaltered
- goes through taxonomical parents from top to bottom again, now looking for post-variations
- outputs the "end" parameter unaltered
If the 5-part organization seems arbitrary, I can try to explain the reasoning -- basically, the name ("start") has to come before the template, and the template ("pre") has to come before the main creature raws ("body"). And the caste declarations have to occur AFTER the main creature raws... or do they. I guess you can declare the castes at the top and then do SELECT_CASTE:ALL.
Hmm. I was going by what Toady said, about how castes should come at the end, but maybe that's not true... I'll PM him about it. It's possible we can simplify it so that a) each taxon has one variation max, not two and b) the creature raws just have three parts, "start," "template" and "end," with "start" and "end" being the actual parameters.