Content deleted Content added
m →Mass-production: Well-designed website represents your business easily.so it’s very important in ourslife. Call to action is a very important step for your website. Tag: Reverted |
→Overview: clarification: similar visual format |
||
(48 intermediate revisions by 31 users not shown) | |||
Line 1:
{{Short description|System in web publishing
{{Multiple issues|
{{more citations needed|date=June 2008}}
Line 5:
{{Cleanup|date=April 2011}}
}}
{{Data transformation}}
[[File:TempEngWeb016.svg|thumb|The basic process for a server-side '''web templating system''': content (from a [[database]]), and "presentation specifications" (in a '''web template'''), are combined (through the [[template processor|template engine]]) to mass-produce web documents.]]
A '''web template system''' in [[web publishing]]
Web templates support static content, providing basic structure and appearance. Developers can implement templates from [[content management system]]s, [[web application framework]]s, and [[HTML editor]]s.
Line 16 ⟶ 17:
* ''[[Template resource]]'': ''web template''s specified according to a [[template language]];
The template and content resources are processed and combined by the template engine to mass-produce web documents, each with a similar visual format. For purposes of this article, web documents include any of various output formats for transmission over the web via [[Hypertext Transfer Protocol|HTTP]], [[HTTPS]], or another [[Internet Protocol|Internet protocol]].
===Template engine===
{{Excerpt|Template processor}}
== Example ==
With the model typically held in a relational database, the remaining components of the [[model–view–controller|MVC]] architecture are the control and view. In the simplest of systems these two are not separated.
For example, the view template may look like this:
<syntaxhighlight lang="
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
Line 125 ⟶ 56:
A web browser and web server are a [[client–server]] architecture. Sites often also use a [[web cache]] to improve performance. Five templating system types are classified based on when they replace placeholders with real content and assemble pages.
* Server-side
* Client-side
* Edge-side
* Outside server
* Distributed
Template languages may be:
Line 138 ⟶ 69:
The source code of the [[Template engine (web)|template engine]] can be proprietary or [[open source]].
Many template systems are a component of a larger programming platform or framework. They are referred to as the "platform's template system".
===Language support===
[[Programming languages]] such as [[Perl]], [[Ruby (programming language)|Ruby]], [[C (programming language)|C]], and [[Java (programming language)|Java]] support template processing either natively, or through add-on libraries and modules. [[JavaServer Pages]] (JSP), [[PHP]], and [[Active Server Pages]] (ASP with [[VBScript]], [[JScript]] or other languages) are examples, themselves, of web template engines. These technologies are typically used in server-side templating systems, but could be adapted for use on an "edge-side" proxy or for static page generation.
===Static site generators===
{{Main|Static site generator}}
Static site generators are engines that use flat text input files like [[markdown]] and [[asciidoc]] to generate a [[static web page]]. Examples of this include [[Jekyll (software)|Jekyll]] (Liquid, [[Ruby (programming language)|Ruby]]), [[Hugo (software)|Hugo]] ([[Go (programming language)|Go]] templates), and Pelican ([[Jinja (template engine)|Jinja2]], [[Python (software)|Python]]).
===Static HTML Editors===
[[File:StaticTemplates.gif|thumb|right|Outside server template system architecture.]]
[[HTML editor]]s often use web template systems to produce only [[static web page]]s.
[[Microsoft FrontPage|FrontPage]] and [[Macromedia Dreamweaver|Dreamweaver]] were once the most popular editors with template sub-systems.
Many ''server-side template systems'' have an option to publish output pages on the server, where the published pages are [[static web page|static]]. This is common on [[content management system]]s, like [[Vignette (software)|Vignette]], but is not considered out-server generation. In the majority of cases, this "publish option" doesn't interfere with the ''template system'', and it can be made by external software, as [[Wget]].
Line 187 ⟶ 89:
=== Server-side systems ===
[[File:ServerSideTemplates.gif|thumb|right|Server-side template system]]
People began to use [[
Many ''template systems'' are typically used as ''server-side template systems'':
Line 206 ⟶ 108:
| [[Python (programming language)|Python]]
| Use the "Django template language".
|-
| EJS (Embedded JavaScript)
| [[JavaScript]]
| Public. [[Web template#Template languages|Embedded complex language]].
|-
| [[FreeMarker]]
Line 212 ⟶ 118:
|-
| [[Facelets]]
| [[
| Public. Part of [[
|-
| [[Genshi (Templating Language)|Genshi]]
Line 237 ⟶ 143:
| [[Lasso programming language|Lasso]]
| [http://www.lassosoft.com/ LassoSoft, LLC]
| Proprietary.
|-
| [[Mustache (template system)|Mustache]]
Line 267 ⟶ 173:
| Public.
|-
|
| [[Python (programming language)|Python]]
| Public. ''"As of 2008-02-20, this project is no longer under active development."''<ref>{{cite web|last=jodyburns|title=Topsite Templating System|url=
|-
| [[Twig (template engine)|Twig]]
| [[PHP]]
|
|-
| [[Standard PHP Library#PHPlib|PHPlib]]
Line 287 ⟶ 193:
| Use the [[WebObjects#Core frameworks|WebObjects Builder]] as engine.
|-
| [[Apache Velocity|Velocity
| [[Java platform|Java]]
| Public. Use VTL - [
|-
| [[Vignette (software)|Vignette]]
Line 316 ⟶ 222:
|-
| [[ColdFusion Markup Language]] (CFM)
| Public ([[Lucee]], [[Railo]],
|-
| [[
| Public, [[
|-
| [[Perl|Active Perl]]
Line 350 ⟶ 256:
===Client-side systems===
[[File:ClientSideTemplates.gif|thumb|right|Client-side and [[Distributed computing|distributed]] (decentralized) template system.]]
{{see also|JavaScript templating}}
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.<br />
Other systems implement template functionality in the browser using [[JavaScript]] or another [[client-side scripting]] language, including:
Line 394 ⟶ 301:
9. [https://www.mgtechnologies.co.in/category/ecommerce-website-templates Free ecommerce website themes] MG Technologies Blogs and Information Portal of Website Themes.
==External links==
* [http://psionides.eu/2009/06/15/javascript-template-libraries/ JavaScript template libraries] comparison from 2009
|