Ramus is a system for authoring (and reading) self-contained non-linear documents, a.k.a. hypertext. As you read, you will see links that, when clicked, will allow you to follow one of several branches through the text.
This is an advanced version featuring both CSS animation and templating, to allow for state tracking and dynamic text.
Notice how the link vanished the moment you followed it. That's simply in order to help guide you a little. Don't worry, if your path through the text ever takes you back to the same place, the link will be available again.
Links in Ramus work a bit differently from the normal HTML kind, but you can link to several fragments at once.
Ramus documents are authored in plain HTML, just like ordinary Web pages. (A bunch of Javascript at the end creates the "magic".) Optionally, you can use a simple template language to provide things such as flags, score, changing text and more.
If you don't know HTML, you may wonder why place this restriction on potential authors; I assure you, there are good reasons for it.
What can you do with templates? Here's a simple example:
[?do distance = 0; ?]You have a 10Km journey ahead of you. Proceed?
Two important things you may want to do are clear all links from previous turns and/or clear all text from before. Both are done per-fragment. In other words, there are no "special" links, nor any option to enable this behavior globally. But you can always hack the code.
Frequently Asked Questions
- What's the point of Ramus?
- Frankly? None. It's just that there is a similar system called Undum, which has been gaining popularity as of late, but suffers from a number of downsides in my opinion. So I determined to make another, in the same spirit but my way. :P
- Why raw HTML? Wouldn't wiki markup or Markdown be easier on beginners?
- No, not really. In my experience, people who are baffled by HTML are equally baffled by wiki markup, BBCode and the likes. Moreover, people who do get wiki markup often have very strong opinions on what makes a good syntax. Markdown may be less controversial, but it takes quite a bit of code to parse, and I want to keep Ramus small.
- Why doesn't Ramus hide all links from previous turns, like Undum? It's weird.
- Because you may want to have a type of link that displays a
couple of sentences and sets a flag, but doesn't otherwise advance
the action. If you know you want previous links to vanish when you
visit a particular fragment, put
[ ?do clear_links(); ? ]
(without the spaces!) somewhere inside it. Or you could use[ ?do clear_text(); ? ]
instead to clear the previous text completely. - Can I include a fragment inside another?
- Sorry, no. That's because of how I'm using the Mold library. If there's enough demand, I'll consider changing the code to maybe allow for it. Consider linking to multiple fragments at once instead.
Smooth scrolling code based on this ITnewb tutorial.