- WEBSITE ORGANIZATION
- KONSTRUKT TAG SYNTAX
- SEE ALSO
Konstrukt::Doc::Basics - General website organization and tag syntax
You create websites as simple as you would do with plain HTML: Each page is defined as a file in your document root and may contain any HTML tags and Konstrukt tags.
A typical organization would look like this:
cache/ #the directory where the objects get cached \- ... logs/ #your apache logs might be stored here |- access.log \- error.log page/ #the document root: all your pages and \ |- blog/ #templates are stored here | \- index.html | |- guestbook/ | \- index.html | | ... | \- templates/ #all templates are stored in docroot/templates |- blog/ #blog templates | |- layout/ | | \- ... | | | \- messages/ | \- ... | |- guestbook/ #guestbook templates | \- ... | \- layout.template #the global layout template
All static content (page definitions, templates, images, stylesheets) will be stored in files in your directory structure. All dynamic content, which is accessed by plugins like
guestbook, will usually be stored in a database.
The HTML files are augmented with some special Konstrukt tags.
Most important are plugin tags. They start with
<& and end with
<& some_plugin &>some content<& / &>
This will call the plugin
some_plugin, which will process the encapsulated content
some content. The tag and the content will be replaced by the plugins result.
<& upcase &> foo bar baz <& / &>
FOO BAR BAZ
You can also define tag attributes as you can for HTML tags:
<& some_plugin attribute="value" &>
Each opening tag must be closed with
<& / &>. You can also specify singleton tags without a content as you can do in XML/XHTML:
<& some_plugin / &>
which is identical to
<& some_plugin &><& / &>
You can can nest the tags/plugins.
<& upcase &> <& sortlines &> foo bar baz <& / &> <& / &>
BAR BAZ FOO
You can even nest tags inside other tag definitions:
<& some_plugin attribute="<& other_plugin / &>" / &>
Comments will be defined just as in HTML:
<!-- <& this_plugin wont="be executed" / &> -->
If you want to remove content/text from the page, so that the client will not see it, you can use the kill plugin:
<& kill &>this text won't be delivered to the client<& / &>
Of course there can be other tags as well. For example the template plugin uses additional tag types to define variable fields, lists and values:
<& template src="..." &> <$ some_var $>some value<$ / $> <& / &>
These additional tags, if exist, will be described in the documentation of each plugin.
Copyright 2006 Thomas Wittek (mail at gedankenkonstrukt dot de). All rights reserved.
This document is free software. It is distributed under the same terms as Perl itself.