This object is what is passed to a rendering routine that encompasses all of the various parsings that the engine has made to get you to this point. All of the methods of this object will let you retrieve different portions of a block, and provide an interface to manipulating them. The one thing you need to be aware of is the special tag "block" that allows you to create a boundary (similar to one that you would use in a checkout line in a grocery story). This block tag is totally non html compliant. There is no open or close of a block tag. I just made it a singleton. Sorry. The content that occurs up to the first block tag is the "default" block. Any method called with no arguments will simply call the default one (keep the simple stuff simple).

These are the arguments passed in to Ravenel::Document. Keep in mind that altering this structure is a change that will carry forth for the rest of the document. This adds a fun new angle to the "depth" attribute I talked about back at the beginning (muahah). For a really trivial example of this check out test24_static.