I thought I would describe how we constructed this site. There are a lot of useful site-construction tools out there, and it’s always useful to see what works for a particular site.
We used the wonderful WordPress publishing platform to build this site. In case you are unfamiliar with WordPress, let me include a shameless plug for it here. WordPress is a well-architected, extremely flexible, extensible, pluggable, developer-friendly publishing platform. WordPress originated primarily as a blogging platform, but has since evolved to become more like a general Content Management System (CMS). However, it is nowhere near as complex as some of the “enterprise” CMS platforms out there, and for small-to-medium sized websites, WordPress provides an excellent combination of ease-of-use and extensibility.
One of the strengths of WordPress is its well-designed, pluggable architecture, under which additional functionality and skinning can be added via plug-ins and themes developed by the third-party WordPress community. And this community is very active! There are literally thousands of third-party plug-ins and themes available for WordPress, providing everything from sophisticated, snazzy user-experiences, to enhanced editors, automatic formatters, shopping carts, bulletin-boards, and beyond. If you can imagine it, then there is likely a WordPress plug-in available for it. And if that is not enough, should you need to uniquely customize your site, with a little PHP coding it is a fairly straightforward exercise to write your own plug-in.
On top of the core WordPress environment, this site uses the Atahualpa visual theme, which we’ve found (and you can hopefully see) provides a clean, well-laid-out, professional look. The Atahualpa theme supports widgets and an incredibly diverse number of layout and formatting options.
Like any site based on WordPress, we make use of several plug-ins to enhance this site with useful functionality, and we’ve even developed our own plug-in to provide features and capabilities that we found were unique to our site. Here is a list of the WordPress plug-ins in use on this site:
- Akismet is a popular anti-spam filter for article comments. It uses a centralized web repository of templates and known spam structures to identify potential spam in article comments. Akismet is bundled with WordPress.
- NoSpamNX is another anti-spam comment filter that uses invisible fields that are blindly filled out by spam-bots, but not by human users.
- Spam Stopper is yet another anti-spam comment filter that uses a simple challenge-response question to prove that the user really is a human being. However, since this adds a minor inconvenience for users who fill out comments, we have decided to keep this plug-in disabled until we determine it to be necessary to bolster the other anti-spam methods.
- Configurable Tag Cloud is a widget that displays a cloud of topics linked to articles. The font size and color of each topic is proportional to the number of articles that are identified by that topic.
- TinyMCE Advanced is a visual WYSIWYG editor for writing articles and pages. It adds a number of editing features to the base WordPress visual editor, including tables and superior font styling.
- Syntax Highlighter Evolved is a syntax formatter for source code samples contained in some of the articles. It formats source code text in a mono-spaced font as it would appear in a source code editor, including highlighting programming language keywords, and optional line numbering.
- WordPress Download Monitor keeps track of how many times any downloadable file on the site has been downloaded, and can tally the results by week or month.
- After the Deadline is a better spell/grammar checker for the WordPress visual editor.
- Author Information Widget displays the picture, bio, and optional contact info about the author of an article.
- WP Super Cache generates static HTML files from the dynamic WordPress pages. After the static file is generated, the web server will serve it instead of repeatedly processing the comparatively heavier and more expensive WordPress PHP scripts.
- IE6 Upgrade Option sits and waits for a user to come along who is still using a version of Internet Explorer at version 6 or lower as their web browser. It then displays a slick pop-up warning to the user, explaining that IE 6 suffers from poor security and stability, and may not support some of the features of this (or frankly any modern) web site, and presents the user several links to download a more modern browser.
- Brenwill Add-ons is a bespoke plug-in designed and developed here at The Brenwill Workshop to provide specific customized functionality for our website. This includes the download and PayPal donation components seen in some of the articles, as well as a wrapper that floats other components on the left or right of an article.
Costs and Attribution
All of the components listed above are available for free on the web. Much good, competent effort has gone into creating these components by their respective developers. We here at The Brenwill Workshop continue to recognize and appreciate their efforts. In addition to the attributions above, wherever possible we support this work by making a financial donation to each developer. We encourage you to do the same with any components that you use.