Clean Blog is a Serendipity blog theme built on the Twitter Bootstrap framework and inspired by startbootstrap. This theme offers the following features:

  • Fully responsive, mobile first
  • Modern design with a subtle splash of color (which is easy to customize, especially with LESS!)
  • Distraction free blog text optimized for legibility
  • A menu bar interface that conveniently appears when you scroll up!
  • Footer with social links and copyright information
  • LESS files included for deeper customization options
  • Custom header image for different page types
  • Custom archive page, configurable to also show categories and tags
  • Many configuration options - tweak the theme just the way you want it!
  • Multilingual: English & German. Additional translations welcome
  • Requires Serendipity 2.0 or newer

A key distinction in this theme is the default method of showing an entry title, subtitle and author information on the landing page.  The full blog post and comment form are shown when a visitor clicks on the entry title.  The theme can, however, be configured to always show the entry body if you prefer.

This theme requires Serendipity 2.0, but is also dependent on the event plugin nl2br. The event plugin nl2br is not required with Serendipity 2.0.2 and newer.


When Clean Blog has been installed, click on the configuration button to reveal the configuration options.  Each group of options is initially collapsed.   Click on each configuration group title to reveal the individual options for that group.

Read Me

The readme configuration item is an explanation of the clean blog theme.  It explains the theme's dependency on the event plugin, "extended properties for entries".  This plugin is installed by default in serendipity, so you most likely will not install it yourself unless you have previously disabled the plugin.  The readme also briefly explains how to use subtitles, and how to configure certain plugins for use with this theme.

Header Images

Clean Blog features the ability to change header images for various page types.  Default images are included.  If you wish to change each header image, simply select a replacement from the media library.

If no image is provided for any of the specific header image types, this theme will automatically use the default images.

Clean Blog features the following header image types:

Default Header Image

This is the image used for any page view that does not define its own image.

Header Image for Entries

This is the image used for entries that do not define their own image.  Each entry has an input field where you can select a unique header image that will override this default entry header image.

Header Image for Static Pages

This is the image used for static pages that likewise do not define their own image.  Each static page has an input field where you can select a unique header image that will override this default staticpage header image.

Header Image for Contact Form

This is the image that will be used on your contact form(s) if you have installed the contact form plugin (serendipity_event_contactform).

Header Image for Archive Page

This is the image that will be used on your archive page.


Page Options

Use Google webfonts?

This theme was designed to use the Google webfonts OpenSans and Lora. You can choose not to use these fonts by disabling this option.

Home link text

Home link is the link that appears in the upper left side of the navbar.  The default value of the home link is your blog name, but you can use anything you prefer.  This field can also use a Font Awesome icon.  To change this from text to a "home" icon , use this for your home link text: <i class="fa fa-home"></i><span class="sr-only">Home</span>

Entry Date Format (

The default format for the entry date is Day is %A, %B %e. %Y, which means full day name, full month name, day of month, four digit year.  You can change this format to anything.  See for more information.

Comment and trackback time format

The default value for this option is "Words", which means to format comments and trackbacks stated as the relative time in words since the comment was made.  Examples include "about an hour ago", "2 days ago", "about a year ago".  Comments and trackback timestamps will follow the entry date format if this option is set to "Timestamp". 

Display first 70 characters of entry body as entry subtitle if actual entry subtitle field is blank?

As stated earlier, this theme has an additional field for an entry subtitle.  This configuration option will allow the theme to use the first 70 characters of the entry body as a subtitle for any entry that does not provide a entry-specific subtitle.

Show entry body on single entry page view only

This theme was developed specifically to use this feature, so the default value of this option is "yes".  This demo also has this option set to "yes".  The author believes that not showing the entry/post text on the home page results in a much cleaner look compared to a typical blog view.  However, for maximum flexibility, you can set this option to "no" for a more traditional blog appearance.

Show link to entry's comments

A link to entry's comments can be shown after the entry's author name and post date. This option is disabled by default.

Show categories on archive page

A traditional place to show categories is in a blog's sidebar, which this theme does not use.  You can show your list of categories on your archive page by enabling this option.  The sidebar categories plugin (serendipity_plugin_categories) must be installed and the option "Enable Smarty-Templates?" must be activated to view categories on the archive page in addition to activating this configuration option.

Show tags on archive page

This option exists for the same reason the option above exists.   The show tagged entries plugin (serendipity_plugin_freetag) must be installed and the sidebar template option must be set to "archive_freetag.tpl" to view tags on the archive page.  Also remember to configure the plugin option "Extended Smarty = yes" for a nicer display of tags in the entry footer


The default value of this is your blog's name, the current year the template was configured, and a link to serendipity's adminstration.  You can change this to anything, or nothing at all.


Social Links

Clean Blog comes with configuration items for the following social networks and information sharing services:

  • Twitter  
  • Facebook  
  • rss  
  • GitHUB  
  • Instagram  
  • Pinterest  

Providing a full url for each option makes that icon appear at the bottom of the page.  This demo is showing all icons merely because most values are set to '#'.

Navigation Options

Clean Blog uses serendipity's global navigation.  If you have previously configured a different theme that also used global navigation, those links will be included within Clean Blog.  If you have never previously configured global navigation links, specify the number of links you wish as well as the link text and url for each link.

3 Trackbacks

Trackback specific URI for this entry

  • *
    Optional Necessity 
    Clean Blog - A New Serendipity Theme
    Click image to view fullsizeClean Blog is a Serendipity Theme designed specifically for Serendipity 2.0 and newer. This Serendipity theme is built up the Twitter Bootstrap Framework and features a unique, clean appearance by default, only showing the ...
  • *
    Nur ein Blog 
    "clean blog" Theme für S9y
    Gerade bei mark entdeckt: Das “clean blog” Theme (Siehe Demo-Site) von Don Chambers. Dieser hat das Theme schon im März vorgestellt und seither weiter entwickelt. “clean blog” hat einige sehr nette Features, wie man am besten in d ...
  • *
    Lars Frantzen 
    New Blog Theme
    Finally I found some time to update my blog engine Serendipity to the latest version. I am still a huge fan of this reliable and accessible blogging software! I took the chance to also change my theme to the Clean Theme, which I really like. Hope you do ...



  • *
    Woudl it be possible to display sidebar plug-ins (like MyCalendar) in teh footer or header area? This could come in handy. Of course, I can edit index.tpl, yet then I might have to check it after updates. Also have to try whether user.css is supported ... Thanks!
  • *
    Is there a way to allow the social links to open in a new tab? I tried the traditional html linking but no luck.
    • *
      Don Chambers  
      Modify each social media link in index.tpl. Append target="_blank" attribute to these links as follows: a href="{$template_option.twitter_url}" target="_blank".

Add Comment

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.

Pavatar, Gravatar, MyBlogLog, Favatar, Twitter author images supported.