Screenshot

Design-Side Includes

Web Content Reuser Utility

Design-Side Includes (DSI) is an open source (free) command-line utility for inserting common sections of HTML code into multiple web pages at design-time.  DSI is written in Java and runs on Apple Mac OS X, Linux, Unix (Solaris), and Windows.  Website owners use DSI to reuse snippets of HTML code while still realizing the benefits of deploying static web pages.

Updates
May 2009 -- Release 2.0 has been upgraded to Java 5, and the project wiki pages now have contriubtor instructions for both Mac OS X and Microsoft Windows.

January 2007 -- DSI is now Open Source and has a project home on SourceForge.net.  The project is currently just a placeholder, but it will very soon be setup and needing contributors.

December 2006 -- Version 1.6 adds support for escaped quotes in variable values, so that value="Review \"Pulp Fiction\"" in the set command equates to Review "Pulp Fiction".

November 2005 -- Version 1.5 adds support for include statements within if blocks.

October 2005 -- Version 1.4 adds support for international characters with UTF-8 encoding.

Background

Any website of significance typically has headers, footers, navigation bars, or other sections of content that are repeated on multiple web pages.  Updating such reused content can be a real headache.  If a website's overall content is dynamic, there are a number of technologies that can be used to insert common chunks of HTML into multiple web pages.

Possibilities include:
  • SSI (Server-Side Includes)
  • JSP (JavaServer Pages)
  • PHP (Hypertext Processor)
  • ColdFusion
  • ASP (ActiveVirus Server Pages)
  • JavaScript
However, such solutions rely on run-time processing to dynamically build web pages as they are displayed.

Run-time processing for regular web content that's not truly dynamic is:
  1. Inefficient and delays page loading,
  2. Cumbersome to manage, and
  3. Dependent on which services are offered by your web hosting company.
Just like there's a better way to kill a fly than smashing it with a sledge hammer, there's a better way to reuse HTML sections across multiple web pages.

Why the Name DSI?
All other good names in the universe were taken.  Well, not exactly.  DSI (Design-Side Includes) is essentially SSI (Server-Side Includes) for your local machine.  While SSI executes on the server at run-time, DSI executes locally at design-time.  Note that DSI implements a subset of the SSI features.

DSI

Design-Side Includes (DSI) is a web content reuser utility intended for owners of websites with little dynamic content who desire posting regular HTML web pages requiring no server or client processing.

DSI inserts HTML fragments into base HTML files to produce finished HTML files.  For example, the base files "index.bhtml" and "about.bhtml" might both include the fragment file "copyright.fhtml".  DSI would combine the files and generate the files "index.html" and "about.html" which you would then upload to your web server.  In addition to support for "includes", DSI supports "if" statements based on file names and also the file name "variable".