Welcome

WASATemplates (Web Application Scripting Architecture Templates) enable you to construct professionally looking websites without any technical expertise, where functionality, structure and content can be easily chosen and provided.
  • Rationale:
    Maintenance is the important problem of your website.
  • Limitations of current approaches:
    Currently lacking flexibility combined with easy of use.
  • Why use WASATemplates:
    Easy, trouble-free and flexible way of adapting your website without sacrificing a professional design.
  • Business considerations:
    No longer postpone updates to your website because you're lacking expertise in web development or, you're unable to hire an expert in web development or, you resent dragging you through the whole process of submitting a change request, testing, fine-tuning and deploying.
  • How to employ WASATemplates in your business:
    Involve end-users, third party vendors, web-developers, sales & marketing.
  • Improvements over current approaches:
    Easy, fast, cheap, extensible, international and reliable.

Rationale

Many businesses are setting up a website to attract new customers. Purchasing a custom developed website is expensive for personal, small or medium-sized businesses. It is not the initial investment that is necessarily problematic, it is the fact that after this investment website maintenance remains time consuming, sluggish, prone to communication overhead, and imposes a continues strain on the companies budget. Facing these problems, companies need more flexible solutions.
WASATemplates (Web Application Scripting Architecture Templates) is a layer on top of regular webpages. It allows you to construct professionally looking websites without any technical expertise. In its current form, WASATemplates help to establish a web presence where content can be easily provided.

Limitations of current approaches

There are several high quality html design tools (e.g Coda, Dreamweaver) to design websites from scratch. Despite them, it often shows that the resulting websites are not built by professionals, as the businesses lack the proper design and programming skills. Any reduction in complexity in markup languages (e.g. Haml, markdown, wiki) results in the same problem and a reduction to basic text manipulation.

To avoid the above, businesses revert to out of the box designed websites. At worst, websites (e.g www.freetemplates.com) offer a zip file containing a number of css, html and javascript files. This is not viable as businesses lack the proper design and programming skills. At best, these tools (e.g iWeb) offer a WYSIWYG (what you see is what you get) editor where a couple of page templates can be filled with some text and pictures. This is not viable, due to the lack of freedom to define the structure of your webpage: the designs are not tailored for the business and the page layout is rigid.

Clearly the current approaches do not offer sufficient flexibility combined with easy of use.

Adapt your website using WASATemplates

Business need an easy, trouble-free and flexible way of adapting their website without sacrificing a professional design.
  • Easy: because businesses lack the proper design and programming skills.
  • Trouble-free: because website design is usually not part of the core business. Hence, fiddling with layout issues, struggling with cross-browser support, checking the validity of all your links, is not something one wants to spend time on.
  • Flexible: because websites need to be kept up to date to reflect the dynamics of your company. Websites are a portal, showcase, reflection and window for customers into your business. They need to change as business they represent are inherently dynamic entities, that change along with the changes in the world e.g. new products and services are offered, existing ones are improved, etc..
  • Professionally designed: because customers glean from your website how the business is being conducted.

WASATemplates enable you to easily change the content and structure of your website.

  • Easy: because there is no need for web-design skills.
  • Trouble-free: because WASATemplates check the validity of your website and suggests appropriate corrections.
  • Flexible: because your website is built, updated and rebuilt with a simple single click of the mouse.
  • Professionally designed by website developers, but the content is provided and the structure is constructed by you.

WASATemplates finds a middle road between contemporary extremes: custom web development, from-scratch do-it-yourself design and poorly adaptable websites. WASATemplates is built on top of classical web development. One can thus avoid from-scratch do-it-yourself design and leave this to a professional custom website developer, team or company. This ensures the basic quality of your website. The difference however is that the website is not delivered as a monolithic entity but as a set of basic layouts e.g. a menu bar, some basic page outlines, a header, a couple of lists, photo slide shows, etc. By encoding these as composable templates, businesses can start composing their website and shape it to their desire.

How to employ WASATemplates in your business

WASATemplates can be employed in variety of different contexts by various kinds of users.

End-users (operational expertise)

WASATemplates's low tech entry-point enables end-users to construct professional appealing websites in a blink of an eye.

Third-party Vendors (technical expertise)

Technical experts deal with all the technical aspects of website design including (but not limited to) HTML, Javascript, CSS2, SVG, etc. New templates or refinements of existing templates can be offered and supplied by any third-party who possess plain web-design skills.

Web-developers (expert-technical expertise)

The maintenance of various websites can significantly be reduced. Both infrequent and frequent maintenance activities benefit from WASATemplates. In the case of infrequent updates, design knowledge tends slip away from the companies collective memory. The formalized design (in the form of a script) facilitates where and how to make the necessary changes. In the case of frequent updates, repetition, tediousness, and the possibly resulting errors from this, are likely to occur. The formalized design reduces the amount of repetitive tasks. Furthermore WASATemplates scripts are checked against possible errors, omissions and negligence.

Sales, Marketing and Board-members (economic expertise)

Although the number of possible websites that can be built given an amount of templates is endless, the possible changes that may or can be made are not. This enables departments with an economic background such as sales, marketing and board-members to better evaluate the services offered or provided by a WASATemplates website. For example, contracts of a new purchase and maintenance of a website can now be more accurately described.

Business Considerations

WASATemplates allow you to easily change the content and structure of your website without having to :
  • becoming an expert in web development or,
  • hiring an expert in web development or,
  • dragging you through the whole process of: submitting a change request, testing, fine-tuning, deploying
No longer postpone updates to your website. You can now quickly inform your customers and more easily react to new opportunities. WASATemplates prove that expressive facilities using language technology are feasible. WASATemplates define a thin language layer on top of contemporary web artifacts and technology. The extra development costs to develop our language is thus minimal as it uses the same web artifacts as in traditional web-development.

Build by scripting

Websites are constructed by writing simple 'programs' or 'scripts' in the WASATemplates language. Experts in website development offer you a number of so called templates. These templates are composable parts of a webpage. A script describes how to use and combine the templates to yield a website. In general, a template describes a fragment of a webpage in which a number of `holes' are defined. We refer to these `holes' as template parameters. For example, the photohorizontal template describes a page consisting of a picture and below it some text, both horizontally centered.


photohorizontal has two parameters: image and caption. It can be used as a page on its own to produce an introduction page for your website. It can also be used in combination with other templates in order to define for example a contact-me page.

Improvements over current approaches

WASATemplates combine the user-friendliness of advanced full-fledged domain-specific language implementations or models, together with the reliability and all the freedom offered by traditional web-development.

Easy

There is no need for web-design skills, there is no need to become an expert in web development or programming.

Fast

Adjust your website when you want it and how you want it. Change the WASATemplates script and your website is built, updated and rebuilt with a simple single click of the mouse.

Cheap

Pay for your functionality once. Maintenance is so easy, we do it for free.

Extensible

Over time, as the business changes, existing templates may prove to become insufficient for the change at hand. Websites being built with WASATemplates are guaranteed to be evolvable. New templates can be added or the flexibility of existing templates can be improved by adding additional parameters.

Internationalization

The names of the templates and their parameters are currently written in English. It is very easy to translate them to other languages.

Reliable

WASATemplates offer a reliable way of website development. It is designed to ensure correctly working websites. For this WASATemplates check your script against errors, omissions and negligence. WASATemplates ensure that:
  • all mandatory parameters are used,
  • no non-existing parameters are used, and
  • parameters are properly used. Each parameter expects a particular kind of value, e.g. another html page, an image, a text or multiple of those values. WASATemplates check whether you use the right kind of values.

Writing a WASATemplates script

In this section we briefly show how to construct websites using WASATemplates scripts. Note that all the templates used here merely serve as an example.

In its basic form, a website consists of a number of individually linked webpages. Simple pages are constructed by filling an existing template. Let us start with an intro page of our website (as depicted below). The intro page of a website is usually called index.html.


In our example, the intro page is constructed by filling in the parameters of the photohorizontal template. This template puts an image in the middle of a page and adds some text under the image. The two parameters that need to be filled in are called image and caption.
index.html = photohorizontal.html {
  - image = intro.jpg
  - caption = Lorem ipsum dolor sit amet, consectetur 
	      adipiscing elit. Vestibulum adipiscing. Nullam
	      turpis urna, volutpat vitae, mollis sed,
	      lacinia pretium, ligula. Duis purus. In congue
	      dui nec metus. Maecenas non tellus.  
	      Praesent sed arcu.  Donec at neque.
	
}

The webpage before the '=' sign is the name of the filled template. The name of the template itself is written after the '=' sign. Parameters are put between "{" and "}", making it clear where a template begins and where it ends. Notice that parameters are enumerated in a bulleted list: each parameter starts on a new line and is prefixed with the bullet sign '-'.

More complex pages are built by combining multiple templates. Consider for example the following contact page.


In order to create the above page we use the template regularpage. This template consists of four parameters: a title, a header, a left and a right parameter. For the parameter right we need to refer to an existing page. In this example, we simply fill the template photohorizontal. For conciseness reasons, the remaining parameters header and left simply refer to a blanc page.
contact.html = regularpage.html {
	- title = My website
	- header = blanc.html
	- left = blanc.html
	- right = photohorizontal.html {
		- image = me.jpg
 		- caption = Thomas Cleenewerck
	}
}

Examples

 Google Maps Webservice

In the first example, a google map is showing the location of the Atomium in Brussel. The above website is created using a single template googlemap.html. The map is setup using an address, the city and a zipcode.
index.html = googlemap.html {
   - address = Atomiumsquare
   - city = Laken
   - zipcode = 1020	
}
In the second example, the google maps webservice is used to browse through a list of locations on a map.

The above website is constructed using three templates: vsplit.html, googlemultimap.html, and article.html. The page is divided into a left and a right section. The google map resides in the left section and is initialized with a couple of locations. Each location is a point and is defined as a latitude and longitude. The map will automatically be zoomed and centered so that all locations are visible. A set of urls define which information pages must be displayed when a location is clicked on the map. The information pages are shown on the right hand side of the main page and are defined as articles.

index.html = vsplit.html {
   - left = 
      googlemultimap.html {
         - locations = point {
               - latitude = 50.820985 
               - longitude = 4.39299
         }
         point {
               - latitude = 50.895175
               - longitude = 4.3419
         }
         - urls = work.html to content
                  atomium.html to content	
      } 
   - right is content = info.html
}
atomium.html = article.html {	
   - title = Atomium
   - content = I can see the atomium when I look 
               through the window of my desk.
}
work.html = article.html {
   - title = Work
   - content = This is where I work.
}
info.html = article.html {
   - title = Info
   - content = Click on the googlemap markers to browse
               through my locations.
}

 Menu

WASATemplates script on the right composes the menu.html template to construct the collapsable menu shown on the left.
index.html = list.html {
  - items = 	
      menu.html {
        - name = Baby
        - items = 
            menu.html {
              - name = Birth
              - items = blanc.html
            }
            menu.html {
              - name = 1 year
              - items = blanc.html
            }
      }
      menu.html {
        - name = Home
        - items = blanc.html
      }
}

 Photo Series

In the following example website a series of 3 photo albums are shown. Albums can be navigated by pressing the next and previous links below the page.

The above website is constructed using two templates: nextprevious.html, and photogrid.html. The script below shows how to compose these two templates to yield our example website.

index.html = nextprevious.html {
  - items = 
      photogrid.html {
        - images = ../images/1.jpg
                   ../images/2.jpg
                   ../images/3.jpg
      }
      photogrid.html {
        - images = ../images/13.jpg
                   ../images/14.jpg
      }
      photogrid.html {
        - images = ../images/19.jpg
                   ../images/20.jpg
                   ../images/21.jpg
      }
}

 Linked Menu

In the following example website a list of 2 photo albums are shown. Albums can be displayed in on the right side of the page by clicking on the links.

The above website is constructed using two key templates: hsplit.html, and linkedlistitem.html. hsplit.html divides the screen into two parts, a left and right part. linkedlistitem.html shows a list item as a link. In lines (*) after the url (name of a html page) of the two linked list items, the to keyword states the location content where the given page should be shown. In line (**) after the template parameter right, the as keyword defines the location content.

index.html = hsplit.html {
  - left = 
      list.html {
        - items = 
            linkedlistitem.html {
              - title = FotoList1
              - url = fotolist1.html to content  (*)
            }
            linkedlistitem.html {
              - title = FotoList2
              - url = fotolist2.html to content  (*)
            }
      }
  - right is content = blanc.html (**)
}
fotolist1.html =  photogrid.html {
  - images = ../images/13.jpg
             ../images/14.jpg
}
fotolist2.html = photogrid.html {
  - images = ../images/19.jpg
             ../images/20.jpg
             ../images/21.jpg
}

 Layouts

In the following example a same template is used three times, each time with a different layout.

The above website is constructed using two key templates: list.html, and article.html. article.html shows an article as a title and a text fragment, supporting three different example layouts: classic, modern, kids. The layout can be changed by specifying an optional style parameter. The first article is displayed using a modern style, the second one relies on the classical default style, and the third one is meant for children.

index.html = list.html {
  - items = 
    article.html {
      - title = WASATemplates for end-users
      - style = modern
      - content = Template parameters can be used to 
                  specify the layout to be used by a 
                  template. In this example template, 
                  articles can be formated using 3 
                  styles: classic, modern and kids.   
    }
    article.html {
      - title = WASATemplates for developers
      - content = Like any other web technology, style 
                  sheets (css) can be used within the 
                  templates. Using enumerable types, 
                  users are offered a choice between a 
                  fixed list of supported layouts.
    }
    article.html {
      - title = WASATemplates for kids
      - style = kids
      - content = Creating and editing websites is child's
                  play. Stimulate creativity by sharing  
                  this experience.
  }
}

Editor

WASATemplates development made easy:
  • You do not have to type the WASATemplates script, it suffices to browse through the list of templates, select the right one, look at the information in the code example pane, and double click to insert the code.
  • The index of all your html pages allows you to navigate easily through your website.
  • Quick view your images and your whole website using the HTML viewer and Image viewer

User group

The WASATemplates user group is a virtual meeting place where users and developers can exchange information, discuss issues and problems, announce new solutions and new versions. In order to ensure the quality of the group, and avoid spam. This group is only accessible through invitation. Send an email to tcleenewerck@gmail.com and get invited.

Group home page: http://groups.google.com/group/wasatemplates

Browser Support

WASA templates are 100% functional and compatible with the state of the art browsers like Internet Explorer, Firefox and Safari. A runtime cross-browser template engine in javascript ensures this.

Deploying your website

Websites can be deployed locally and on a server using WASATemplates with a simple click. Currently, only FTP servers are supported. The deployment information such as the output direcorty, server, username and target directory has to be specified in the beginning of a WASATemplates website specification. In the example below, my album website is being stored locally in /Users/thomas/Sites/me/album, me is my username to access the ftp.server.be such that htcl can upload my site to the directory www/album.
templatedir /Users/thomas/Sites/me/templates
outputdir   /Users/thomas/Sites/me/album
user        me
server      ftp.server.be
targetdir   www/album 

Platforms

WASATemplates are platform independent. It runs on Mac OS X and Windows. Files are can be specified using any platform notation, they are automatically transformed into the right notation for the OS you are running.

Text

Fragments of text may appear freely in WASATemplates (no delimiters), able consuming multiple lines. Depending on the specification of the template, it is either treated as one single text fragment or it is treated as distinct multiple text lines. In the following fragment, the caption is a single text fragment.
index.html = photohorizontal.html {
  - image = intro.jpg
  - caption = Lorem ipsum dolor sit amet, consectetur 
	      adipiscing elit. Vestibulum adipiscing. Nullam
	      turpis urna, volutpat vitae, mollis sed,
	      lacinia pretium, ligula. Duis purus. In congue
	      dui nec metus. Maecenas non tellus.  
	      Praesent sed arcu.  Donec at neque.
}
In this fragment, each line of the caption corresponds to a different image.
family.html = photos.html {
  - images = me.jpg
             son.jpg
  - caption = Thomas Cleenewerck
              Seppe Cleenewerck
}

Images

Images can be included in the page by using a relative or fixed path to the image or to an image directory. Images are automatically resized to fit the web. On MacOSX, the images are furthermore automatically rotated according the image meta-data (preview rotates images by changing the image meta-data). As operations on images may be time consuming, rapid website development is ensured. WASATemplates keep track of changes to the images. Only when an image has been changed or added, it is processed.
fotolist1.html =  photogrid.html {
  - images = ../images/13.jpg
             /User/me/Pictures/Trip/14.jpg
}

Optional Template Parameters

Not all parameters are mandatory. Some parameters are optional and may thus be omitted. In the following example below, images are displayed using the photo template. A caption can be provided, but is not obligatory. If omitted, the picture is denoted with the standard caption defined by the template i.e. unknown item.
photo.html {
  - image = ../images/21.jpg
}
photo.html {
  - image = ../images/20.jpg
  - caption = celery
}
Full example

Enumerable Template Parameters

Some parameters do not accept just any value but require a specific value chosen from a predefined list of values. In the following example below, three different specific layouts are supported by the article template. It is thus desirable that users specify a layout which is indeed supported.
article.html {
  - title = WASATemplates for kids
  - style = kids
  - content = Creating and editing websites is child's. 
              play. Stimulate creativity by sharing 
              this experience.
}
Full example

Links

Other pages can be linked to by simply passing the name of the page. In the example below, a link Fotolist1 is created to the page fotolist1.html.
linkedlistitem.html {
	- title = FotoList1
	- url = fotolist1.html
}

Links for dynamic content

As the user navigates through you website, areas of your website can be changed with other content by simply loading another page into the area.

In the example below, two templates are used: hsplit.html, and linkedlistitem.html. hsplit.html divides the screen into two parts, a left and right part. linkedlistitem.html shows a list item as a link. In line (*) after the url, the to keyword states the location content where the given page should be shown. In line (**) after the template parameter right, the as keyword defines the location content.

index.html = hsplit.html {
  - left = 
      linkedlistitem.html {
         - title = FotoList1
         - url = fotolist1.html to content  (*)
      }
  - right is content = blanc.html (**)
}
fotolist1.html =  photogrid.html {
  - images = ../images/13.jpg
}
Full example

Multiple Links

Links can consists of multiple pages. As such multiple updates can be specified when clicking on a link. Each with its proper target. In the example below, fotolist1 and fotolist2 are shown when clicked.
multiplelink.html {
  - title = Show fotolist1 and fotolist2
  - url = fotolist1.html to left
		  fotolist2.html to right
}
Full example

Layouting via stylesheets

Like any other web technology, style sheets can be used within templates. Template parameters can specify the layout to be used by a template. Using enumerable types, users can choose from a fixed list of supported style sheets of a template. In the example below, the article template is layouted using the modern style.
article.html {
  - title = WASATemplates for end-users
  - style = modern
  - content = Template parameters can be used...   
}
Full example

www.SteenhouwerBert.be

Steenhouwer Bert is a flemish stonemasonry. His website needs to be regularly updated with new events, new stone cutting tools and techniques, and new projects. Especially events need to published quickly and efficiently before and certainly after the event takes place. Bert is running his own one-man company and due to his busy schedule he doesn't find the time nor budget to purchase a website maintained by professionals. Building a website from scratch with the risk of ending up a poorly designed website is not an option either. Not only does he lack the necessary expertise, but for a professional stonemason like himself an esthetic and professionally designed website is of the utmost importance. Instead, Bert wants to maintain his current website himself. With WASATemplates Bert is able to do just that. For his website the following templates have been defined:
  • page.html: describes the overall structure of the different webpages. It consists of 4 template parameters: a title, a heading, a left and right part.
  • head.html: contains the reccuring header. It can contain an arbitrary number of menu items.
  • selectedmenuitem.html: presents a selected menu item. It simply consists of a name.
  • photohorizontal.html: describes a page consisting of a picture, centrered in the middle of the page, and below it some text that serves as a caption. The template thus consist of a two parameters: an image and a caption.
  • lijst1.html: describes a simple list containing a arbitrary number of list items.
  • lijstitem1.html: describes a element from a list. It contains a links and a description.
Using these templates the first page of his website can be constructed like:


It is defined by the following script:
index.html = page.html {
   - title = Steenhouwer Bert
   - header = head.html {
      - menuitems =
         selectedmenuitem.html { - name = home }
         menuitem.html { - name = atelier } 
         menuitem.html { - name = thema } 
         menuitem.html { - name = foto's }
         menuitem.html { - name = contact } 
   }	
   - left = agenda.html
   - right = photohorizontal.html {
         - image = ../images/home.jpg
         - caption = 
             ...mijn fascinatie voor natuurlijke materialen 
                was altijd al aanwezig...luisteren naar het 
                verhaal van de steen en zo zijn karakter 
                blootleggen...met de wensen van de klant in 
                gedachte leg ik gevoel in mijn steen...hand
                matig en stap voor stap vloeien onze 
                karakters ineen...
	}
}
agenda.html = lijst1.html {
   - title = Agenda 	
   - items = 
      lijstitem1.html { 
         - title = Tuin en Design
         - content = In het Kasteelpark te Esen (Diksmuide) 
      }
}
You can see the result of this script here.

Professional webpages

In our profession we need to construct quite a lot of websites. For one thing, websites give us the visibility we researchers need. As it is not our core business, it is always to much an endeavor to create one. Moreover, as our research evolves, we need to reflect this in our websites. The maintenance is a real hassle and to quickly we abandon it for more interesting activities.

"Constructing a website for project results is a hassle. For displaying code artificats, creating correct references, illustrating them and offering downloads we need intelligent formaters. WASATemplates allow us to create them as smart templates."
Denis Coppens, Bachelor of the Vrije Universiteit Leuven

"For years my website wasn't compatible with all browsers and didn't reflect all of my work. WASATemplates allow me to focus on what truly matters: nice looking content."

Personal webpages

People ranging from highly technical IT to end-user capabilities have endeavored making personal websites. Although they are quite successful in the beginning, their websites are either too difficult to maintain or are too limited in capabilities. Quickly visitors as well as authors loose interest.

"For years now I've been trying to build small websites that take a small amount of effort to maintain. For the first time, WASATemplates allow me to do just that. Even more complicated webdesigns remain simple to maintain."
Waldemar Cleenewerck, Web-developer

My online photo albums

There are plenty of online photo catalogs available, yet why do we need WASA to create photo catalogs?
  • First of all, contemporary photo catalogs are slow. They are slow to upload photos, slow to watch the photos and slow to navigate through the photos.
  • Second, in contemporary photo catalogs it is difficult or sometimes impossible to change, replace and delete photos. Ever faced the situation where your upload failed partially? Don't you recall the manual sifting through your photos checking which one hasn't been uploaded and the tedious reordering of your album?
  • Third, you cannot personalize albums. Of course you can change the background color and at best you can add a frame around a picture, but there is more to explore here. We want web albums to behave like presentations do or like hand-made albums did, while combining all of the advantages of the web. For example, ever desired to compose several pictures on single page in various ways, ever required adding a text message between photos to comment on the different locations and days of your photo shoot, ever yearned for a more professional looking style without the usual clutter.
  • Forth, once you've created your album with contemporary catalogs you can only watch it when you are online. You cannot store the album on a hard disk, backup it or simply share it with an usb stick.
Photo albums are created by composing a number of specifically designed templates. You start by choosing a template for an entry page for your album. These templates provide the basic layout and navigation between your pictures. The album is filled in by constructing a series of album pages using page templates. These allow you to, amongst others, display a single picture, compose several pictures according to different layouts, and adding other material like text. Every photo used in WASATemplates will be automatically converted to a smaller web format. Finally a catalog of your albums is created by enlisting each available album. The following lists a couple of the available templates:
  • Album entry pages:
    • album.html template displays each album page one by one on the screen. Album pages can be navigated by clicking on arrows left and right of the picture or by using the arrow keys on your keyboard. A list of thumbnails is automatically generated based on the content of the album pages, hence retaining a short description in WASA. A thumbnail template ensures the freedom to customize and personalize albums. Even if a page is showing more than one picture, all of them are included as thumbnails.
  • Album pages:
    • framedphoto.html template displays a single picture.
    • framedduophoto.html template displays two pictures next to one another.
    • framedtwodetailsphoto.html template displays a single picture accompanied by two more detailed or related pictures. These two pictures are resized to fit in a rectangular frame.
  • Album catalogs:
    • catalog.html template displays a series of album covers.
    • photocover.html template displays a cover using an image of an album, together with its name and date.
Examples
  • my public albums
    Code excerpt for a single album:
    index.html = album.html {
      - album = 2008-12-Brussel
      - owner = Thomas Cleenewerck
      - pictures = 
          framedphoto.html {
             - image = 2008-12 Brussel/DSC_8210.JPG
             - caption = Welcome to Brussels
          }	
          framedduophoto.html {
             - left = 2008-12 Brussel/DSC_8228.JPG
             - right = 2008-12 Brussel/DSC_8232.JPG
             - caption = Lady by the lake
          }				 
          framedtwodetailsphoto.html {
             - big = 2008-12 Brussel/DSC_8257.JPG
             - detail1 = 2008-12 Brussel/DSC_8259.JPG
             - detail2 = 2008-12 Brussel/DSC_8271.JPG
             - caption = House of Justice
          }
      - thumbnail = thumbnail.html
    }
    Code excerpt for a catalog:
    index.html = catalog.html {
      - owner = Thomas Cleenewerck
      - ownerlink = http://soft.vub.ac.be/~tcleenew/
      - albums = 
          photocover.html {
            - date = 2008-12
            - url = 200812Brussel/index.html
            - image = 2008-12 Brussel/DSC_8210.JPG 
            - caption = Trip to Brussels
          }
    }