Drupal minimalism
June 6, 2010
Update: As of August 2017, this site is no longer managed with Drupal.
It is instead a static HTML/CSS site updated by hand.
The reasons for this are explained in
About this site.
One of my goals for this site was to focus on content and avoid
getting tangled up in technical details. So I vowed to stick to the most
basic features of Drupal — those that would be sufficient to create a
blog plus platform for media downloads. (On previous Drupal projects I
was building multi-contibutor sites that required more detailed controls
on roles and workflows.) For the present, minimalist project, here is
what I came up with.
- Content types. I'm sticking with the basic Story type for blog posts
and basic Page type for fixed content, just as the Makers (Dries
Buytaert and all the generous contributors to the Drupal project) intended.
One of the very cool features of recent Drupal 6.x releases is the
ability to insert a "break" marker in a story or page to separate the
teaser from the rest of the body of the story. (Maybe you could always
do this by inserting a certain HTML comment? But having a button for
this on the Edit page really simplifies the work.) Anyway, the basic
Story and Page are perfect for my purposes. By default, all Story
content is displayed (in teaser form) on the site's home page, in
reverse chronological order. Because this is s single-contributor site,
it was not necessary to use the core Blog module (which is intended for
user blogs on a multi-contributor site) to set up the blog.
- Add-on modules I can't live without. (That's only a metaphor. I
would still be breathing if I didn't have these modules.) The Wysiwyg
module allows you to install a wysiwyg editor such as TinyMCE, which
really helps with composing HTML text. The Views module
allows you to dynamically organize content. For example, I used the
frontpage preset that comes with Views to set up the
paged view of my blog. I may use Views in the future to organize blog
content by topic, although the built-in Taxonomy module will also do
this. The Advanced Help module is very useful if you are just
getting started with Views.
- Menus. I'm sticking with Drupal's Navigation menu for links to the
site's main sections. I'm also showing the main sections in the Primary
Links menu (which is slightly duplicative, but hopefully won't confuse
the user.) The Secondary Links menu just shows "About this site" and
"Contact kalle", the site-wide contact form.
- URL paths. I have enabled this core module. Besides providing
"friendly" URLs to the user, this provides a way to control visibility
of certain blocks. For example, a music-related block can be configured
to show up on all paths of the form music* (where
* is a wildcard). If I get tired of creating paths manually, I may
decide to install the Pathauto module.
- Blocks. The left sidebar has a Search block and the Navigation menu.
The right sidebar will have blocks with links to off-site content
relevant to the particular page or section.
- Themes. The site quite obviously uses the default Garland theme,
customized with a site logo, color scheme, and favicon. This
is more than adequate for my purposes, given that I want to focus on
content and easy navigation. If I'm ever feeling particularly ambitious,
I might try a custom theme based on the Zen theme, easily findable in
Drupal's Themes project page.
- File uploads. Since I'm the admin of the site and have shell access
to the host server, I decided (for now) to create static directories at
the server's document root for media files. Drupal is pushed down one
level in the directory tree, and an Apache .htaccess
file is installed at the document root to redirect HTTP requests. I'm
not recommending this approach unless you have experience with Apache
and Unix. Contact me if you would like more
information.