Summary: The ShearerSite template system merges your HTML files
with global templates in order to add headers, footers, navigation
bars, and other repeating elements. It generates regular static
HTML files that you can still edit, and you can reapply the same
or different templates any number of times without ill effect.
- Templates and includes can be updated at any time. Click the
“Apply” button on the Web administration screen, and the dependent
pages will be updated too.
- Supports separate staging and production servers (though this
is not a requirement).
- Requires no special software or databases on the production
- Can be administered through the Web, normally using the staging
Web server. If your access privileges do not allow you to install
the software onto a Web server (for instance, you can only upload
files through FTP), you have two options. An internal personal web
server can run the entire Web interface, or a stripped-down command-line interface is available to
run the “apply template” feature directly on your own machine.
- Supports ASP, PHP, JSP, and SSI files in addition to plain
HTML, and takes extra care to be sure that the template does
not clobber or rearrange leading or trailing server-side scripts.
- Will work with your existing HTML files. When applying a new
template to a page, FrontPage shared borders will be removed
- Can embed consistent navigation controls (including a breadcrumb
trail and child links) into your pages automatically.
- Templates can be hierarchical (dependent on one another) and
can contain named placeholders that are each overridable
separately. At its simplest, a template is just an HTML page
containing a marker specifying where the main content goes.
- Templates and content pages can be created and edited with
WYSIWYG HTML editors.
- FrontPage integration: will parse FrontPage navigation data,
and will strip off FrontPage shared borders when applying a
new template. Coming in version 1.4 is a FrontPage menu item
that lets you jump directly to the Web administration screen
for the current subweb.
- Web browser integration: an icon you can place in your Web
browser’s toolbar called a bookmarklet allows you to edit, apply
templates, and replicate to the current page or folder.
- Metainformation: view keywords, description, title, and content
modification date for all pages in a folder.
- Online editing: For pages not needing
complex HTML markup in their content areas, a separate HTML
editing product isn’t needed at all. You can edit metainformation
and named content areas within a Web browser, using the Web
administration interface. This is ideal for highly structured
templates that must be filled in by many authors, such as standardized
department information pages, since the cost of distributing
a full-fledged HTML editor to all of the authors, training them,
and cleaning up their pages when they haven’t followed the template
properly, can be eliminated.
The system has been in use on a major company‣s web site since March 2001.
It's being used on the pages you're reading now. The navigation
links at left are made by the folder-based navigation generator.
It was written to solve a few major problems:
- The effort, knowledge, and time required to make a traditional
Web page that fits in with the rest of the site, including its
look and its navigation controls, often means that the page
won’t be created at all.
- Site navigation is hard to do well. Most of the current systems
aren’t flexible enough or are hard to maintain. Some don’t scale
well to large sites. Some use frames, which tend to create problems
for users following inbound or outbound links.
- Sites often contain recurring elements on every page, and
sometimes need to change all of them (say, to fix a link, or
to change the look of the site). There are several existing
methods for doing this, but each have different drawbacks that
led to the design of the new template system.
- Server-side includes (SSI), in .shtml files, are one method.
Advantages of ShearerSite-style includes over SSI:
- There will be less load on the Web server, because the
SSI interpreter doesn’t have to parse the main file and
read others, and the page can be served out of the static-file
- It will work with any server-side embedded scripting language
(ASP, PHP, JSP, etc.) without syntax changes.
- Existing URLs can be easily preserved, since extensions
don’t change from .htm or .html to .shtml
- The included files are well-formed HTML documents themselves,
openable with graphical editors and HTML syntax checkers,
instead of fragments without <html>, <head>,
or <body> tags. Many tools won’t work at all with
HTML fragments. FrontPage, for example, tends to add a <head>
element to fragments it opens, which leads to bad HTML code
with duplicate <head> tags being served to the browser.
- FrontPage-style includes don’t have the SSI problems listed
above, but haved traded them for different ones. ShearerSite
advantages over FrontPage includes:
- The included file is checked for tag imbalances that would
corrupt the finished document and make the template system
unable to determine the boundaries of the include area the
next time through. (FrontPage has been known to eliminate
the content of a document when faced with unbalanced tags
in its border files.)
- Documents be reliably updated through a Web interface.
FrontPage is supposed to update documents when an included
file is changed through FrontPage, but it doesn’t always
work. (And it never works if FrontPage didn’t see the change,
say, if the included file was edited from a network drive
with a text editor.)
- The number or type of tables used is completely up to
the template designer. FrontPage borders enclose all content
in an extra table, which can affect its appearance (since
the table width is always set to 100%, preventing content
from shrinking below the window width).
- Any Web authoring program can be used. Even remote Web
authors uploading through FTP can be supported.
- FrontPage includes don’t work outside of the current subweb,
requiring larger sites to duplicate recurring elements to
- And, of course, there are advantages over a static system,
where the Web author copies and pastes boilerplate HTML code:
- The correct template is applied automatically to the page
(using per-folder or per-hierarchy rules).
- The templates or includes can be modified at any time,
and rerunning the template system will update all dependent
- There are advantages over other content-management systems
that generate a separate copy of the HTML files for production.
- There only need to be one copy of the content, so you
don’t have to manage an "original" set and a "generated"
- After applying templates, the original content is editable,
WYSIWYG-style, inside the template.
- ... and many advantages over a database-based content-management
- Much less server load.
- Not locked in to proprietary software, database format,
or brittle, unfriendly URLs.
- Robust and resilient: a finished HTML page can be transferred
between systems or even through a Web downloader without
loss of information, still allowing the template to be changed
and re-applied. Apart from per-folder defaults and the _templates
folder itself, there are no hidden files that have to be
- Prevents linkicide and linkrot: Since the content
is in regular HTML with simple template markers, instead
of read out of a system-dependent database, it’s easy to
preserve existing links across system migrations and upgrades.
You could even switch to a different content-management
product with, at worst, a text search-and-replace. (This
type of technique would have prevented the well-documented
linkicide of the
Gillmor’s columns when his employer switched
content management systems.)
Also see the How to Use and Revision History pages.