A Technical Overview of VROOM

This page presents the core components and concepts behind VROOM.


The modules in VROOM all work together and are easily configurable with the VROOM templating system. VROOM Modules are all installed by default. If you want to disable modules selectively, you can do this from the administration dashboard's All Sites page (accessible only to superusers).


VROOM uses templates to specify the design and layout of web pages created with it. The templates are processed in a way that converts raw HTML and special markers called tags into dynamic web pages.


Instructions on how to add and edit individual pages in VROOM are here.


Tags, which are text enclosed within 'curly braces' (i.e., {}), indicate locations in the templates where non-static content is inserted. For example, static content might include some HTML, but with the addition of a tag such as {navigation}, you can insert dynamic VROOM functionality into your web pages (such as the Navigation Menu, in this case). More information about Tags...


Includes are chunks of code that you can insert into your pages. They can be either HTML snippets (containing tags if you wish), CSS code, or Javascript code. You may reference the includes in your templates by enclosing them within curly braces, as so: . For CSS and Javascript, your templates can access these via the path prefixes /css and /js.


Blocks are editable regions used within pages. For example, your template might consist of includes for the header and footer, some dynamic areas for things like navigation, and blocks for the editable regions inside your pages.

The way VROOM is built means that you can build a set of templates which form the framework of your site, then create a new permission group that allows users access to only the pages (along with their editable blocks) and not the templates themselves. This gives content managers a lot of power, and it can be very useful for maintaining larger sites.

Blocks use a syntax called Markdown which makes VROOM different from most other CMSs out there. In other CMSs, you might find a clunky rich text editor within the Edit Page window. In VROOM, this feature is removed, and you just type in the text with whatever basic formatting you need.

Why do we not use rich text editors? Because most rich text editors can be slow, cumbersome, and large, and also tend to produce messy and cumbersome markup (HTML code). It also means you can edit lots of regions in a single page very quickly.


Images can be uploaded via the administration dashboard, then referenced using the tag syntax, as follows:


All images can also be found using /images or /gfx followed by the reference of your image (and then the extension).

For example, if you uploaded a JPEG image and named it My Logo, the reference would be automatically generated as "my-logo". You can then insert the image either through typing:


or using your own custom HTML by referencing the image under "/images/my-logo.jpg". VROOM also allows you to insert images through the MarkDown editor by clicking on a button, which brings up a list of all images that have been uploaded to the CMS.