Developer Features

100% control over the output, at the tag level

Each element (paragraph, list, list item, image, menu, etc) is rendered recursively throughout its template.

Using the Smarty language, you can customize the rendering of each element according to your own rules.

Not only you can read the custom properties that have been set by the author, but you can also tweak the rules according to, for instance, the parent element, or the following element :

{if $this.previous.type == "h1"}The element before is a title!{/if}

More about templates.

supports SQLite and MySQL with InnoDB.

Use SQLite for quick, zero configuration setup, or MySQL with InnoDB tables for more performance; alahup! is optimized for both.

100% of the content (including images) stored in a single database

Need to backup the site? Just dump the database.

If you are using SQLite, this is just copying a single file.

Everything is in there, including images. (images are extracted, rescaled and cached on the disk the first time they are needed).

Access logs are stored in a separate database.

develop and embed modules with MVC api

Modules are either small or complex self-contained applications that can run inside a page rendered by alahup!.

A module can be made available to the author, who is then able to insert it in the content and customize it, like any other element.

Modules can be developed with a lightweight framework which somewhat mimics the controller/action/view paradigm of Ruby On Rails.

Doesn't sound familiar to you? Don't worry, it actually means you can achieve more with less code !

maintenance scripts

Time saver scripts are provided to :

  • create and set up a new site using a template

  • create a template from an existing site, with sample content

  • apply to the online site the changes you made locally to your templates

  • migrate the database between sqlite or mysql