How to Make the Data File
The only file that you need to generate to use SLIKS is the data file "data.js".
You can make one of these in any ASCII text editor like notepad (search
for "notepad.exe" on any windows machine) or "TextEdit" on a Mac.
The format is actually quite
simple. First you need to put a title for the data set. You do that by
putting the line: "var dataset = " followed by whatever you want the
title to be - enclosed in quotes. You'll notice that in this example, I
took the opportunity to make it a little fancier with some html tags
but plain text works just fine if you don't know html.
The only two other items needed are the "chars" and "items"
arrays. These are the heart of the file and both have essentially the
same form. For the "chars" array, You start with "var chars = ["
then just list the character descriptions and states. As you can see,
each description or state is enclosed in quotes and they are separated
by commas. The first one described is character state "1" and the next
is "2" and so on. In SLIKS 2.0 and later, only character states
are coded with the "states" being "1" = "yes" and "2" = "no". You can
always use a "?" to designate an unkown or variable state. The integers
are what will be used to designate that character states in the items
array. Notice also that each line begins with "[" and ends with
"]," expect for the last line which ends with "]]". You'll also notice
that the first character has no states and is simply called "Latin
Name" here. At this time, the first character is not used, so you can
have anything in there, but there needs to be something there, even if
it is just a blank in quotes like there is in the "items" array
in this example. The numbers in the items array are just the number of
the state that you designated for that character in the chars
array. You will also notice that if a line in the array extends
beyond a single line on your screen, it isn't a problem.
SLIKS Versions Pre-2.0 allow
multistate characters
The data.js file for the "Magnolias of Virginia" looks like this in
notepad:
SLIKS Versions 2.0 and later (at
this point) do not work with multistate characters. They
are based on chacharacter states only. This makes it much easier to
manage and combine data sets and to automate their generation out of
other databases. It also allows the most powerful type of character
otpimization to be used. Thus SLIKS 2.0 data files work in any
version of SLIKS but pre-2.0 files with multistate characters only work
correctly in pre-2.0 versions.
The only change in the data.js
file is that in the chars
array, you will always have the states divided into separate lines (or
characters) with "Yes" and "No" as the possible "states".
For example, in the "Magnolias of Virginia" example above, the chars array might look like this.
var chars = [ [ "Latin Name"],
[ "Flower color white", "Yes","No"],
[ "Flower color Cream or Ivory", "Yes","No"],
[ "Flower color Pink to Maroon", "Yes","No"],
[ "Leaves the same color on both top and underside", "Yes","No"],
[ "Leaves not the same color on the top and underside", "Yes","No"],
[ "Leaves broader below the middle or about equally wide at top and
bottom", "Yes","No"],
[ "Leaves clearly broader above the middle", "Yes","No"],
[ "Leaves more than 10 cm long", "Yes","No"],
[ "Leaves less than 10 cm long", "Yes","No"],
[ "Fruit less than 7 cm long", "Yes","No"],
[ "Fruit more than 7 cm long", "Yes","No"],
[ "Flowers appearing before the leaves", "Yes","No"],
[ "Flowers present with the leaves", "Yes","No"] ]
Of course the items array
would be recoded as well with the states that apply to these new chars.
Tricks and Tips
Multiple data sets in the same
folder
You can also make multiple data sets run in the same directory. To do
this you simply open SLIKS.html in notepad and in the third line of
text change "data.js" to "YOUFILENAME.js" where YOURFILENAME is a
unique name for your dataset. Then save that version of SLIKS.html as
YOURFILENAME.html. Thus you have single copies of mainbody.html,
menu.html, and vault.html in your directory and a pair for files
(YOURFILENAME.js and YOURFILENAME.html) for each data set in the
directory.
HTML anywhere
If you know how to put HTML tags into a web page you can put them
almost anywhere in SLIKS. The only peculiar thing is that
you need to use single quotes in your HTML instead of the double quotes
that SLIKS reads as array value delimiters. The most common thing to do
is to have HTML tags in the title of your data set but many people put
them directly into their chars array. For example, you can have an
image of a characteristic appear right in the key See the Magnolias of North America
example on the SLIKS demo page. You can also make a key with only
pictures for the states, just put the images in the same folder as the
key and for the character description and then reference it like this
<img src = 'mypic.jpg'>. Of course you can do the
same for the taxa by putting image tags in where the name is in the
items array. You can link out to other resources and even put
little windows or mouseover events in if you want. Basically any HTML
will work, you just need make sure that you don't use double quotes or
commas.