The nthWave Elements website-building application enables web developers to build and maintain sites efficiently and intelligently by separating a site into distinct components or "atomic elements". The Elements application applies a template to each content file, incorporates specified elements, processes any scripts, and writes the results to a new file in a corresponding destination directory.
The Elements application is easy to use. It uses the file system to maintain its data; you use your choice of html and image editors to develop the content. Existing web sites can begin using Elements immediately.
The Elements application enables site builders to create elements out of any block of code or content. This enables even non-technical people to easily edit content. Separating a site's structure into elements speeds building and maintenance by eliminating the need to edit any block of the site in more than one place. Editors can edit copy while coders build code and no one needs to make any edit in more than one file.
Elements can be defined anywhere in the site heirarchy. Any site element may be defined uniquely for a single page, one or more site sub-directories and site-wide. As the Elements application processes a site, the element definition heirarchically "closest" to the page is the element definition which will appear in the page. An element defined at the top of the file system directory heirarchy applies to all pages in the site but an identically named element defined lower in the heirarchy overrides the top level element.
Building a site in Elements doesn't commit you to keeping it there—Elements produces html that any html editor can use. You can pull your site out of the Elements build/maintain process whenever you wish (but why would you?).
Elements exposes the full power of Python—the excellent Open Source language—to every page and directory. Easy string manipulation, regex, xml, urllib, file system access, image library and much more. Create static sites in a dynamic fashion.
Elements can easily make use of XML data and Python's XML tools to build pages. See the XML sample page displaying processed XML.
Elements makes each page's information available to Python scripts, which makes for an "Intelligent Page". Using information such as the name of the file, the name of its parent directory, etc., pages in Elements can build cookie crumbs, place a particular graphic or element on the page, and do just about any kind of processing a page could require.
To run Elements, you need a short list of easy to install software:
1) the three files of the Elements application and
2) the Python installation
See the overview page to get started.
Elements is DonorWare. Support the good work. You are free to use it as you wish and encouraged to express your appreciation when moved.