A template engine is software that is designed to process templates and content information to produce output documents.
A template engine is software that is designed to process templates and content information to produce output documents, for example:
Paul Sweatte, in an answer to a now-deleted question, provided the following resources on the evolution of separating content from presentation and insights on the historical evolution of template engines:
The W3 Word Processor Filters page is essential reading that should cover most of the basics. For more details, here some resources on the evolution of separating content from presentation:
- Groff Mission Statement (pdf)
- The Roots of SGML -- A Personal Recollection * Java FAQ * Charles Goldfarb—the Godfather of Markup Languages
- Markup Language Family Tree * Typesetting with Linux
- A Triumph of Simplicity: James Clark on Markup Languages and XML
- Markup and Style: History and Philosophy
- Catalog of compilers, interpreters, and other language tools * Understanding the Taxonomy of Languages: Chapter 8 - Minilanguages
- SGML: In Memory of William W. Tunnicliffe * A Companion to Digital Humanities: Allen H. Renear - Text Encoding
- Drawing inferences on the basis of markup
- Rabbit/duck grammars: a validation method for overlapping structures
- Markup Languages and (Non-) Hierarchies
Markup and typesetting languages are the earliest examples of templating.
Here is the Wikipedia definition:
A markup language is a modern system for annotating a document in a way that is syntactically distinguishable from the text. The idea and terminology evolved from the "marking up" of manuscripts, i.e., the revision instructions by editors, traditionally written with a blue pencil on authors' manuscripts. Examples are typesetting instructions such as those found in troff and LaTeX, or structural markers such as XML tags.
Here is a diagram:
RUNOFF "Generic Coding" "Editorial Structure Tags"
(Jerome Saltzer, 1964) (William Tunnicliffe, 1967) (Stanley Rice, pre-1970)
| | |
| | |
TeX roff - nroff - troff |-------------------------------------| (Don Knuth, 1977) (Josef Osanna, 1973) |
GML
(Charles Goldfarb, 1969)
| SCRIBE
| (Brian Reid, 1980)
| |
|--------------------------|
SGML
(Standard, 1980)
| |
| |
HTML XML
(Berners-Lee, 1990) (Standard, 1998)
As far as web site templating, SSI is the mother of them all.