Version 2011.01.02.1054 has been released!
When GCS exports a character sheet to .html, it uses a modifiable template to create the resulting file. This template is itself a .html file, and can be customized in any way desired. An example is …\gcs\data\template.html, the default HTML export template. To change the HTML template used when exporting, check the HTML Template Override box in the Sheet tab of the Preferences window, and select the desired template file. If you've selected an image for your character and the template you're using displays it, a copy of the image will be saved with the character sheet.
Created in the example below for posting characters on the Internet, this template is deliberately terse, and conveys the essentials of a character while leaving out derived traits.
Templates are .html files, and can contain any standard HTML, XHTML, XML, and CSS. Instructions on inserting character information and other functions are given to GCS with “keys,” which are of the form, ”@KEY”. (Note that this turns @ into a reserved character, and so you must use ”@” if you wish the final character sheet to include one.) Keys are case sensitive and must be in all-caps. Incorrectly entered keys will return “Unidentified key!” in the character sheet. A complete list of valid keys is found in Keys for the Export Templates.
This example shows the creation of a template that will output a plain-text list of the sort generally used to post characters on Internet forums.
The most basic keys are simply markers for a find-and-replace operation. The template…
@NAME [@TOTAL_POINTS] <br> Race: @RACE <br> Sex: @GENDER <br> Age: @AGE <br> Size: @SIZE <br> TL: @TL <br> Unused Points: @EARNED_POINTS <br><br> Attributes [@ATTRIBUTE_POINTS] <br> ST @ST <br> DX @DX <br> IQ @IQ <br> HT @HT <br><br> HP @BASIC_HP <br> FP @BASIC_FP <br> PR @PERCEPTION <br> WL @WILL <br><br> Basic Speed: @BASIC_SPEED <br> Basic Move: @BASIC_MOVE <br><br>
Jack Jackson  <br> Race: Human <br> Sex: Male <br> Age: 38 <br> Size: +0 <br> TL: 4 <br> Unused Points: 0 <br><br> Attributes  <br> ST 12 <br> DX 10 <br> IQ 10 <br> HT 12 <br><br> HP 12 <br> FP 12 <br> PER 12 <br> WILL 10 <br><br> Basic Speed: 5.5 <br> Basic Move: 5 <br><br>
Lists of traits are generated with loop keys. When GCS encounters a loop, it applies the code within the loop once for each item on the list. If one adds…
@ADVANTAGES_LOOP_START @DESCRIPTION_PRIMARY @DESCRIPTION_MODIFIER_NOTES_PAREN [@POINTS] <br> @ADVANTAGES_LOOP_END <br>
…GCS will output…
Advantages  <br> Fit  <br> High Pain Threshold  <br> Language: English (Native, -6; Spoken (Native), +3; Written (Native), +3.)  <br> Disadvantages [-25] <br> Bad Temper (CR: 15 (Almost All The Time).) [-5] <br> Charitable (CR: 12 (Quite Often).) [-15] <br> Skinny [-5] <br> <br>
There are several different forms of the @DESCRIPTION* keys. _PRIMARY outputs the name only, _MODIFIER_NOTES outputs those notes due to modifers, and _NOTES outputs the text in the Notes field of the advantage, skill, or equipment. The latter two can also have _PAREN appended to them to surround the output, if any, in parenthesis. @DESCRIPTION_NOTES is omitted here because notes on advantages are rules summaries, which, while useful on character sheets meant for use in play, are not desirable in this template. Notes are, however, meaningful on skills, equipment, and spells, and so are included in those loops:
Skills [@SKILL_POINTS]<br> @SKILLS_LOOP_START @DESCRIPTION_PRIMARY @DESCRIPTION_NOTES_PAREN @SL (@RSL) [@POINTS]<br> @SKILLS_LOOP_END <br> Spells [@SPELL_POINTS] <br> @SPELLS_LOOP_START @DESCRIPTION_PRIMARY @DESCRIPTION_NOTES_PAREN @SL (@RSL) [@POINTS] <br> @SPELLS_LOOP_END <br> Equipment (@CARRIED_VALUE, @CARRIED_WEIGHT)<br> @EQUIPMENT_LOOP_START @DESCRIPTION_PRIMARY, $@COST, @WEIGHT, x@QTY <br> @EQUIPMENT_LOOP_END <br>
Adding @NOTES to the end finishes this template.