| This article is part of a series on |
| Web template systems |
|---|
The basic process: content (from a database), and "presentation specifications" (in a web template), are combined (through the template engine) to mass-produce web documents.
|
|
A Web template system describes the software and methodologies used to produce web pages and for deployment on websites and delivery over the Internet. Such systems process web templates, using a template engine. It is a web publishing tool present in content management systems, software frameworks, HTML editors, and many other contexts.
A web template system is composed of:
The template and content resources are processed and combined by the template engine to mass-produce web documents. For purposes of this article, web documents include any of various output formats for transmission over the web via HTTP, or another internet protocol.
Various agencies and organizations use web template systems for mass-production of content when slower production alternatives prove unfeasible.
For an introductory overview, a news website is used as example. Consider a "static website", where all web pages are static, built by a web designer, and that needs to add and update pages every day. A typical strategy to automate the web-designer's "repetitive work" is:
For the web designer, when each web page comes from a web template, they can think about a modular web page structured with components that can be modified independently of each other. These components may include a header, footer, global navigation bar (GNB), local navigation bar, and content well.
For programmers the template language offers a more restricted logic, only for presentation adaptations and decisions, not for complex (business model) algorithms.
For other members of the "site team", a template system frees webmasters to focus on technical maintenance, content suppliers to focus on content, and for all of them more reliability.
Moreover, it has the following advantages to its use:
There are many public software and commercial packages promoted as being web templates and template engines, but there is a great diversity of solutions. To select and group them in a systematic way, the first step is to characterize them as template systems.
A second step is to group and identify main properties of each characterized system:
Many template systems are a component of a platform or framework. They are referred to as the "platform's template system".
Many template systems have options for change (plug) the template language or for change the template engine.
Web templates in this context produce only static web pages, and can be viewed as a ready-made web design, used to mass-produce "cookie-cutter" websites for rapid deployment.
HTML editors are the typical systems using outside server subsystems. They also commonly include themes in place of CSS styles. In general the template language is to be used only with the editor's software.
FrontPage and Dreamweaver are the most popular editors with template sub-system. A Flash web template uses Macromedia Flash to create visually appealing sites.
| System label/name | Platform/editor | Notes |
|---|---|---|
| Dreamweaver | Macromedia | HTML authoring. Embedded iterable language. |
| Flash | Macromedia | Flash authoring. |
| FrontPage | Microsoft | HTML authoring. Embedded iterable language. |
| Nvu | Linux/Nvu | HTML authoring. |
Many server-side template systems have the option to publish the output pages on the server, where the published pages will be static. It is a common feature on content management systems, like Vignette. But this does not have to be considered an out-server generation.
In the majority of the cases, this "publish option" doesn't interferes with the template system, and it can be made by external software, as Wget.
Server-side dynamic pages began to be generated by templates with pre-existent software adapted for this task. This early software was the preprocessors and macro languages, adapted for the web use, running on CGI. Next, a simple but relevant technology was the direct execution made on extension modules, started with SSI.
Many template systems are typically used as server-side template systems:
| System label/name | Platform/framework | Notes |
|---|---|---|
| Amrita Template Library | Ruby | Public. Embedded complex language. |
| Teng | C++, Python, PHP | Public. Opensource project, written in C++. High performance. Embedded complex language. |
| CheetahTemplate | Python | Public. Embedded complex language. |
| Chip | PHP | Public. |
| ClearSilver | C, Java, Perl, Python, Ruby | Public. Embedded complex language. |
| Closure Templates | Java, JavaScript | Public. Embedded complex language |
| Dermis | Classic ASP/VBScript | Port of the Smarty template system to Classic ASP/VBScript. Public. Embedded complex language. |
| Django | Python | Use the "Django template language". |
| Evoque Templating | Python including Python 3.0 | Embedded simple language. |
| FreeMarker | Java | Public. |
| Facelets | Java EE | Public. Part of JavaServer Faces |
| FigDice | PHP | Public. XML-based template directives. |
| Genshi | Python | Public |
| Grantlee Template system | C++, Qt (toolkit) | Port of the Django template system to Qt. |
| Haml | Ruby or Other | Public. |
| Hamlets | Java | Public. |
| jin-template | Java, PHP | Public. |
| Jinja2 | Python | Public. Embedded complex language. |
| JScore | PHP + JS | Proprietary. Dependency-Driven programmable language. Along with HTML output, generates JS that dynamically manipulates DOM structure on the client side when variables are changed. |
| HTML::Template | Perl | Public. |
| Kid | Python | |
| Lasso | LassoSoft, LLC | Proprietary. Interpreted Programming Language and Server |
| Mustache | ActionScript, C++, Clojure, CoffeeScript, ColdFusion, D, Erlang, Fantom, Go, Java, server-side JavaScript, Lua, .NET, Objective-C, Perl, PHP, Python, Ruby, Scala | Public. |
| Basic Server Side Includes (SSI) | The basic directives fix a "standard". | Embedded simple language, if exclude exec directive. |
| Smarty | PHP | Public. Embedded complex language. |
| ATal | PHP | Public. Embedded complex language. Smarty/TAL hybrid |
| Template Alloy | Perl | Public. Embedded complex language. Supports various languages including Template::Toolkit, HTML::Template, Text::Tmpl, as well as Velocity Template Language |
| Template Power | PHP | Public. Embedded complex language. |
| Template Toolkit | Perl | Public. Embedded complex language. |
| StringTemplate | Java, C#, Python | Public. Embedded iterable language. |
| Template Attribute Language (TAL) | Zope, Python, Java, Perl, PHP, XSLT | Public; a.k.a. Zope Page Templates (ZPT); see also TAL Expression Syntax (TALES), Macro Expansion TAL (METAL) |
| Thymeleaf | Java | Public. |
| Topsite | Python | Public. "As of 2008-02-20, this project is no longer under active development." |
| PHPlib | PHPlib | Public. Embedded iterable language. |
| Psttt! template engine | PHP | Public. External selector value css like file. |
| WebMacro | Java | Public. Embedded iterable language. |
| WebObjects | Java | Use the WebObjects Builder as engine. |
| Velocity (Jakarta/Apache) | Java | Public. Use VTL - Velocity Template Language. |
| Vignette | Proprietary. | Commercial solution. Embedded complex language. |
| VlibTemplate | PHP | Public. |
| XSLT (standard language) | Any with an XSLT parser | Standard. Event-driven programmable language. |
| XQuery (standard language) | Any with an XQuery parser | Standard. Embedded programmable language. |
| Merge On Browse | AJAX compatible browser | Public. Cross browser, client side templating language which uses AJAX and DHTML to pull together dynamic content and static document structure |
Technically, the methodology of embedding programming languages within HTML (or XML, etc.), used in many "server-side included script languages" are also templates. All of them are Embedded complex languages.
| System label/name | Notes |
|---|---|
| Active Server Pages (ASP) | Proprietary (Microsoft platform). See also: VBScript, Javascript, PerlScript, etc. extensions for ASP. |
| eRuby | Public (Ruby). |
| ColdFusion Markup Language (CFM) | Public (Railo, OpenBD). Proprietary (Adobe ColdFusion). |
| JavaServer Pages (JSP) | Public, Java platform. |
| Active Perl | Public. |
| PHP | Public. |
| OpenACS | Public (Tcl). |
There are also preprocessors used as server-side template engines. Examples:
| Preprocessor | Notes |
|---|---|
| C preprocessor | Public. Embedded iterable language. |
| M4 | Public. Embedded complex language. |
Edge-Side template and inclusion systems. “Edge-side” refers to web servers that reside in the space between the client (browser) and the originating server. They are often referred to as “reverse-proxy” servers. These servers are generally tasked with reducing the load and traffic on originating servers by caching content such as images and page fragments, and delivering this to the browser in an efficient manner.
Basic Edge Side Includes (ESI) is an SSI-like language. ESI has been implemented for content delivery networks. The ESI template language may also be implemented in web browsers using JavaScript and Ajax, or via a browser "plug-in".
Many web browsers can apply an XSLT stylesheet to XML data that transforms the data into an XHTML document, thereby providing template functionality in the browser itself.
Other systems implement template functionality in the browser using JavaScript or another client-side scripting language, including:
The most simple form is transclusions (HTML frames). In other cases dynamic web pages are needed.
Examples:
HOT DESIGNS ▪ Premium designs ▪ Designs by country ▪ Designs by U.S. state ▪ Most popular designs ▪ Newest, last added designs ▪ Unique designs ▪ Cheap, budget designs ▪ Design super sale DESIGNS BY THEME ▪ Accounting, audit designs ▪ Adult, sex designs ▪ African designs ▪ American, U.S. designs ▪ Animals, birds, pets designs ▪ Agricultural, farming designs ▪ Architecture, building designs ▪ Army, navy, military designs ▪ Audio & video designs ▪ Automobiles, car designs ▪ Books, e-book designs ▪ Beauty salon, SPA designs ▪ Black, dark designs ▪ Business, corporate designs ▪ Charity, donation designs ▪ Cinema, movie, film designs ▪ Computer, hardware designs ▪ Celebrity, star fan designs ▪ Children, family designs ▪ Christmas, New Year's designs ▪ Green, St. Patrick designs ▪ Dating, matchmaking designs ▪ Design studio, creative designs ▪ Educational, student designs ▪ Electronics designs ▪ Entertainment, fun designs ▪ Fashion, wear designs ▪ Finance, financial designs ▪ Fishing & hunting designs ▪ Flowers, floral shop designs ▪ Food, nutrition designs ▪ Football, soccer designs ▪ Gambling, casino designs ▪ Games, gaming designs ▪ Gifts, gift designs ▪ Halloween, carnival designs ▪ Hotel, resort designs ▪ Industry, industrial designs ▪ Insurance, insurer designs ▪ Interior, furniture designs ▪ International designs ▪ Internet technology designs ▪ Jewelry, jewellery designs ▪ Job & employment designs ▪ Landscaping, garden designs ▪ Law, juridical, legal designs ▪ Love, romantic designs ▪ Marketing designs ▪ Media, radio, TV designs ▪ Medicine, health care designs ▪ Mortgage, loan designs ▪ Music, musical designs ▪ Night club, dancing designs ▪ Photography, photo designs ▪ Personal, individual designs ▪ Politics, political designs ▪ Real estate, realty designs ▪ Religious, church designs ▪ Restaurant, cafe designs ▪ Retirement, pension designs ▪ Science, scientific designs ▪ Sea, ocean, river designs ▪ Security, protection designs ▪ Social, cultural designs ▪ Spirit, meditational designs ▪ Software designs ▪ Sports, sporting designs ▪ Telecommunication designs ▪ Travel, vacation designs ▪ Transport, logistic designs ▪ Web hosting designs ▪ Wedding, marriage designs ▪ White, light designs E-COMMERCE DESIGNS ▪ Magento store designs ▪ OpenCart store designs ▪ PrestaShop store designs ▪ CRE Loaded store designs ▪ Jigoshop store designs ▪ VirtueMart store designs ▪ osCommerce store designs ▪ Zen Cart store designs CMS DESIGNS ▪ Flash CMS designs ▪ Joomla CMS designs ▪ Mambo CMS designs ▪ Drupal CMS designs ▪ WordPress blog designs ▪ Forum designs ▪ phpBB forum designs ▪ PHP-Nuke portal designs ANIMATED WEBSITE DESIGNS ▪ Flash CMS designs ▪ Silverlight animated designs ▪ Silverlight intro designs ▪ Flash animated designs ▪ Flash intro designs ▪ XML Flash designs ▪ Flash 8 animated designs ▪ Dynamic Flash designs ▪ Flash animated photo albums ▪ Dynamic Swish designs ▪ Swish animated designs ▪ jQuery animated designs WEBSITE DESIGNS ▪ WebMatrix Razor designs ▪ HTML 5 designs ▪ Web 2.0 designs ▪ 3-color variation designs ▪ 3D, three-dimensional designs ▪ Artwork, illustrated designs ▪ Clean, simple designs ▪ CSS based website designs ▪ Full design packages ▪ Full ready websites ▪ Portal designs ▪ Stretched, full screen designs ▪ Universal, neutral designs CORPORATE ID DESIGNS ▪ Corporate identity sets ▪ Logo layouts, logo designs ▪ Logotype sets, logo packs ▪ PowerPoint, PTT designs ▪ Facebook themes VIDEO, SOUND & MUSIC ▪ Video e-cards ▪ After Effects video intros ▪ Special video effects ▪ Music tracks, music loops ▪ Stock music bank GRAPHICS & CLIPART ▪ Pro clipart & illustrations, $19/year ▪ 5,000+ icons by subscription ▪ Icons, pictograms |
| Super Offers |
| Super Offers |
| Custom Logo Design $149 ▪ Web Programming ▪ ID Card Printing ▪ Best Web Hosting ▪ eCommerce Software ▪ Add Your Link |
| © 1996-2013 MAGIA Internet Studio ▪ About ▪ Portfolio ▪ Photo on Demand ▪ Hosting ▪ Advertise ▪ Sitemap ▪ Privacy ▪ Maria Online |