dreamwiki logo

dreamwiki primer

hi and welcome to the dreamwiki primer! hello ther!

what is this "dream wiki"

if youve seen that gif of a lecturer for a computer science class and he writes "computer science" on the blackboard and then crosses out computer. and a few seconds later crosses out science as well. well if youve seen that one, its a lot like that.

how do i use it

you click the links to get to a new page relevant to the linked word. like if the page on thirst has the word "water". if you click that you might get to the page of advice on taking nice baths, because thats also about water. brighter links are more relevant, somehow.

how is it made

when i wake up sweating in the middle of the night i immediately record my dreams to a magnetic tape. later i extract the nuances of it into 30% vodka. a few months later i get drunk as fuck and write all this shit

can u get technical about that

yea but thers massiv espoilers!!!!!!!!!




i mean it theres spoilers here it takes away "the magix"

Sourc code

First of all threres a git repohere at github... you can check it...

Operation

ok so you just write a bunch of text files and put em in the books/ folder.

some rules regarding the dream files

  1. they are to end with .dream like "sludge.dream"
  2. use only "unix" line endinges ie. put \n but never \r (if u dont unerstand this it means dont be on windows computer)
  3. the max pagewidth is 40 chars. longer paragraphs will automatically be flowed unto new lines but dont put a single 41 character word or the shit will fail
  4. things written in UPPER_CASE become teh brighter links (in the beginning only these were linkified but that sucked
  5. numbers are transformed into grime! theyre on a scale 0 (boulders) to 9 (pebbles). sevens are nice. this means that you should avoid putting them in tags and shit.
  6. u can control some stuff with commands
    • commands are lines starting with the caret thing ^, and will never be shown on the page
    • they follow the format ^ command ^ argument(s) ^
    • if theyre not understood theyll be very gracefully completely ignored
    • example: ^ justify ^ none ^
    • or: ^ tags ^ shard ass booty crystal mineral hunk ^
    here follows a list of available commands.
    1. title - sets the title of the page (shown in tab/bookmarku)
    2. tags - decides which words will link to this page. space separated. u can use underscore like blood_disease and it will render converted to a space. u can have many of these as well
    3. justify - decides where to flow the text. possible arguments:
      1. auto (default) - centers if the line is short, otherwise does the block thing (inserts extra spaces until the line is 40 wide)
      2. block - alaways do tha block thing
      3. none - does nothing (except padding to 40) for ascii art or so
      4. left - dis is like "auto" except it shoves it to the left if short
      5. center - like you would on your emo blog
      6. i might do a random but i might not (turns out i already did)
    4. curtains - regarding the wavy margin matrix stuff. starts from the row used, or beginning if first row. args:
      1. random (default) - does any of the following:
      2. glow - fade from center and out
      3. reverseGlow - fade from outside and in
      4. zigzag - does some wavy shit
      5. none - removes them
      6. automata - random 1D cellular automata (my fave)
    5. grimes - decides the griming engine (converting numbers to garbage). argimentz:
      1. stable (default) - randomizes one symbol per number on pageload
      2. unstable - randomizes every time a number appears (ofc theres still different choices for different numbers)
    6. curtainGrimes - same but for curtains. default here is to randomize but thats not user specifiable :3
    7. caps - the caps dance! decides the flavour of the text. args:
      1. random (default) - random CHOICE of one of the following (except dicecase, and weighted towards uppercase):
      2. uppercase - UPPER CASE
      3. lowercase - lower case
      4. titlecase - Title Case
      5. dicecase - dICe CaSE (rANDoM PEr lETtER)
      6. terezi - UPP3RC4S3, T3R3Z1 QU1RK
    8. colour - override the randomly generated colour scheme based on some hex value of your choice. only one per .dream file.
    9. secret - the argument will be rendered into an HTML comment on top (making it invalid html i think)
    10. for comments just put whatever as the command (maybe "comment" idk)
  7. when ur done navigate to your.dreamwiki.instance.com/!transpiler and it'll rebuild the "database" ie. register the links and tags and shit
  8. u can go to /!stats for a "overview" of yor tags and pages (might help)
  9. u can put external links in the file _external.txt (2 b placced in /book) on the format tag ----- https://addr.ess/ that is tag - space - five dashes - space - url.

i should probably also say something about the url scheme doncha think. ok here i go

also

page relationships are defined in the .dream files but theylive in "computer memory", and this is not updated automatically... sad times...

they are built on server startup and when you navigate to /!transipiler

and yea everytime you add some .dream shit in book/ and u wanna commit them yo need to run th /!transpiler again
(maybe i already said this)big shrug

thats it take care!!!!!!!!!!!!