Welcome to the Vision web templating language! Vision is a lightweight interpreter for a small programming language that allows you to create templates for arbitrary dynamic XML documents, then have them automatically and dynamically filled in with content. It is especially useful in rapid development of Web sites, for avoiding the maintenance overhead of excessive code duplication, in situations where a fully fledged content management system or general-purpose-language-based solution is overkill, or when a high degree of control is required over the generated output.

If you have a Web project that meets any of these criteria, or even if you're just feeling adventurous, I strongly encourage you to give Vision a try!

Here's a real-world example. This site is built using Vision, using just one template (Page) plus a Vision script (cgi-bin/MainPage) and a content file (/MainPage) for each page. The content file is an HTML fragment that is included literally in the generated output; the script that controls it all looks like this:

@include Page;
Page { 'Home'; ../htdocs/MainPage }

That's it. Three lines that summon Vision, include a template file, and invoke the template defined therein. Plain and simple and fast.

To learn how to use Vision, read the tutorial. If you only want a quick refresher, see the reference.