Contemplate™ Web Templating System  


Latest release

Contemplate 2.0.2
16 Nov 2011
download now!

Featured site


How does Contemplate compare to other website management tools?

Many software developers have offered solutions for separating website content from code. We like Contemplate because it can work seamlessly with just about any development tool or technology. However, its functionality is focused on separating content from code, not on editing content or writing code. If you're dealing with any of the following problems, Contemplate can help:

Repeating content or design updates in multiple files

If you have to repeat an edit to a menu or footer more than once, your current website does not adequately share its content and design elements. Contemplate lets you set up sitewide templates, used by multiple pages, so you can edit all pages from a single source; and it lets you embed the same content on different pages if needed, without actually repeating that content.

Sifting through HTML in order to find your PHP code

If you have PHP code embedded among your HTML, it can be needlessly difficult to make functionality changes. Contemplate lets you store your code in a separate file and merge it with your content using an embed tag. This allows you to edit your HTML and your functionality independently of each other.

Sifting through PHP in order to find your HTML code

If you have PHP code that processes data and outputs it with HTML formatting, it can be needlessly difficult to make design changes. Contemplate lets you store your HTML in a separate file and merge it with your data using loop and merge functionality. This allows you to edit your HTML and your functionality independently of each other.

Learning nonstandard syntax or an unfamiliar approach to programming

Contemplate doesn't dictate any programming approach or methodology—it leaves that completely up to the programmer, who can use normal PHP code. Contemplate only provides a convenience, moving design and content into separate files and letting a programmer focus on functionality.

Here's how Contemplate compares to other web development tools you might be considering:

Templating systems

e.g., Smarty, Savant
Contemplate's functionality is more focused than most other systems, so it tends to have a shorter learning curve. And since its content and templates work as standalone HTML files, it's less of a commitment to build a site using Contemplate. Another templating system would only be better if you need a particular feature that Contemplate doesn't offer.

Development frameworks

e.g., Zend, PEAR
You can think of Contemplate as a framework that's focused on the task of combining content, front-end code and back-end code, while offering great flexibility on how you build those individual elements. This means class-based frameworks that provide other functionality generally work well in conjunction with Contemplate. For example, you might write a script that loads a Zend class to perform a file upload. You could then use Contemplate to combine your script with a front-end page layout and HTML content.

Content management systems

e.g., Wordpress, Drupal
Besides delivering pages to end users, a CMS offers administrators an interface for editing content, managing website navigation and uploading website files. This makes the CMS a comprehensive site management tool; it also makes it difficult to add custom functionality or move your design and content to a different system. Contemplate does not offer content editing or site management functionality, but its sister product, the Meditate™ Web Content Editor, adds a content editing interface that is completely separate from assembly and delivery, ensuring maximum flexibility and independence for your site.

Here are a few additional advantages to using Contemplate and Meditate compared to a typical CMS:

Use your favorite tools: Content and templates are standard HTML and can be edited in any text or HTML editor. You're not limited to editing content in a browser-based form or in a proprietary application.

Edit content in human-sized pieces: Contemplate doesn't force you to split content into paragraph-sized or smaller pieces, so content editors can do their work naturally without the burden of an arbitrary delineation between pieces.

Create any layout you like: Contemplate is not based on predefined layouts such as "press release," "news," etc. You can use any HTML file as a Contemplate template and embed as many pieces of content as you need.

Re-use the same content in multiple pages: A "page" is a non-exclusive collection of content pieces, so you can easily display content on multiple pages without duplication.

Deploy on a variety of servers: Contemplate is compatible with any web server that can run PHP, and no database is required.

Contemplate is developed by Arlo Leach.