Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A flexible put powerful wiki system for keeping track of books (in vim)
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


+ First Line,\+ Is "comma separated" tags
^Prefix $Suffix #Category (qualifier)

Markdown syntax applies.
non-markdown escape characters: \\\| \\\{ \\\\ \\s
  \\s becomes \s, a backslash that can survive markdown's escaping.
  In first line \\+ and \\" also apply
  In first & second line, \\^ \\$ \\# \\( and \\) also apply
  In tags, \\! \\@ \\+ and \\- also apply

:key value
  Optional description about key and value is indented like this.
  Key must be one word only. Escape spaces if you need them.
  Value may contain |links|, etc.

!event definition {followed by date}
  Text describing event
  Text is parsed until a line with less whitespace at the beginning is found
    (Specifically, the whitespace must match the original whitespace at
    the begining. Changing from spaces to tabs also breaks the block.)

  (blank lines nonwithstanding)

! Absolute dates @ 1955AT/10/20
  work too, if you end the event with an @ sign

! Technically @ 10AT the extra text after the date is
  counted as part of the block.

! You can leave @
  events without dates, if the date is still unknown.

@event participation
  Text describing participation
  (Also used for constructing the 'place' hierarchy)

Text can contains |links to tags|, which |can have #categories (and qualifiers)|
Qualifiers may be nested with other references.
and may |also, have different text| |note, that, only| the first comma counts
  That last link links to 'note' with the text 'that, only'
You may also |link to an ! event| using a bang.
Links may not contain any unescaped of !@\|\{}#()+-\/

Note Files
  Tags are comma-separated on the first line
  Any tag starting with + has priority
    (This is on a per-tag, not per-file basis)
  Categories are hashmarked on the second line
  Qalifiers are surrounded by parenthesis on the second line
  Each tag, fully qualified with all categories, will show up in the tag file.

Character Files (.char)
  Similar to Note files, with the following differences:
  The first tag is the name, further tags are nicknames
  Names are split on whitespace. Escape it for names like "Van Halen".
  Simple references are generated for:
    The first name
    The last name
    The first and last name
    The full name
  Suffixed references are also generated for:
    Each simple reference with all suffixes appended (in order of appearance)
  Prefixed references are also generated for:
    Each prefix (alone), followed by each simple reference
    Each perfix (alone), followed by each suffixed reference
  Simple references are generated for all names and nicknames.
  Suffixed references are only generated for names (not nicknames).
  Prefixed references are only generated for names (not nicknames).
  The total ways that you can reference a character in a link is
    all simple references
    all suffixed references
    all prefixed references

Era Files (.era)
  Similar to Note files, with the following differences:
  Prefixes are "codes", Suffixes are "precodes"
    Codes mark time past the era
    Precodes mark time before the era
    (In the common era, AD is a code, BC and BCE are precodes)
    The "dawn" event will be used to determin how the era relates to other eras
      Be careful of circular era references
      If there is no dawn event, the era is treated as a root era
    You are encouraged to give attributes for each code and precode describing it

Place Files (.place)
  Similar to Note files, with the following differences:
  The first @appearance B within place A marks A as a child of B
    B will be added as a qualifier to A
    For example, if you have

      @Malloria (Kaol)

    then you can reference Central as any unambiguous of

      |Central (Malloria)|
      |Central (Malloria (Kaol))|

  Prefixes may be given, denoting the size of this place within it's parent
    (for use in a bubble tree representation)
  Suffixes may be given. Suffixes cause:
    a matching qualifier to be added
    a "suffix of..." reference to be generated
    a matching category to be added
    For example, the following


    is equivalent to

      Atrea, Providence of Atrea
      #Providence (Providence)

Date Calculations

{ Date calculations go in braces }

{1955AT/06/03} This is just a date in the AT era
{13:62.59.01} This is an hour, minute, second, and detail
You can add them together by puttin them close: {1955AT 7:00}
You may leave syntax off the front, but not the back:
{//3 :.2} = 3 days, 2 seconds

Dates may include links (minus the optional text)
{Kyte #Cool ! marriage //3 2:} = The same year and month as Kyte's 'Cool'
marriage, on the 3rd day of the month at 2:00

Notice how fragments override instead of adding. You may also add and subtract.
{Kyte ! marriage + 10} = Ten years past Kyte's marriage, same month & day

NOTE: Links may contain numbers but not slashes. Therefore:
{Kyte ! marriage 10AT/10/10} attempts to look up the event "marriage 10AT".
To force an event to stop parsing, use the @ sign:
{Kyte ! marriage @10AT} (same month, day, & time as Kyte's marriage, in the
year 10AT)

{Date Ranges have a start, and an end}
  The start and the end are separated by a single comma.
  The syntax is otherwise the same.
  The beginning of a range can be accessed by the 'start' event
  The end of a range can be accessed by the 'end' event

{Dates may span lines ! but only @
  + between tags. Tags may never @
  + contain a newline.}

You may use $ instead of ! to link to the end of an event range.
You may use ^ instead of ! to link to the beginning of an event range
  but this is currently the default, so don't worry about it.

If an event name is not given, the first event on file will be used.
So {Kyte} or {Kyte^} or {Kyte!} reference Kyte's birthday, while {Kyte$}
references Kyte's death (assuming that the first event is Kyte's life range).

Event synonyms
  We encourage using the following event names for the first event

  If you must give a one-sided event range, we suggest

  We do not suggest using the following events, as they make it difficult
  to use the range-selection features
Something went wrong with that request. Please try again.