Web Content Reuser UtilityDesign-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. Web site owners use DSI to reuse snippets of HTML code while still realizing the benefits of deploying static web pages.
UpdatesMay 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
November 2005 -- Version 1.5 adds support for
October 2005 -- Version 1.4 adds support for international characters with UTF-8 encoding.
BackgroundAny web site 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 web site'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.
Run-time processing for regular web content that's not truly dynamic is:
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.
DSIDesign-Side Includes (DSI) is a web content reuser utility intended for owners of web sites 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".