Jab

Lightweight Multi-Tenant Blog Engine

Jab is a lightweight blog engine and CMS for Mono.

Motivation

The motivation for Jab originated when I purchased myself, my wife and two children a .me domain name each. I was looking for an easy way to setup and administer 4 blog sites.

I considered tumblr which I've used a number of times but it had just been down for a couple of days and I never really liked their comment system. I also looked at WordPress which I've never used but I also wanted something I could tweak myself and the thought of going back to PHP was not an attractive option.

Finally I realized I already had quite a few of the major parts I needed in C# (Markdown, DarkView and another simple blog engine), not to mention a fairly idle Linode server that I was already paying for.

So I decided to just start and see where it went. You can read the whole story starting here.

Intended Audience

Jab is definitely not intended as a be-all-end-all solution for everyone. The intended audience is someone who's technically knowledgable enough to setup a Linux server and database, and wants an easy way to administer several blog sites.

That said, the end users of Jab (the blog authors) need not have much technical knowledge at all - probably the most technical aspect would be using Markdown.

Download

Currently Jab is not available for public download. Eventually (if there's enough interest) I'll probably release it as open-source. If you're interested, please contact me.

Features

  • Serve multiple sites from a single server installation.
  • Multiple users per site and multiple sites per user.
  • Custom domain support (each site can have it's own domain)
  • MarkdownDeep based content editing with real-time preview.
  • Easy per site theme customization.
  • Support for draft articles.
  • Auto-save work in progress articles.
  • Static pages with a file like system stored in the database.
  • Comments with several forms of anti-spambot protection
  • Article categories
  • Import/Export in WordPress WXR format.
  • Easy backup/restore of an entire site to/from a single Zip file.
  • Client side resize of photo uploads.
  • RSS Feed
  • Some client side jQuery based helper routines that make photosets and audio players easy to embed.

Technical stuff

  • ASP.NET MVC 2.0
  • Runs under Windows/IIS or Linux/Mono
  • PetaPoco ORM
  • MySQL Database

Screenshots

These screenshots show Jab's authoring and management screens. The public view of the site is completely customizable. For an example of a site running on Jab, see http://bradr.me.

On login choose which site to work with, or create new one.

The article index shows all articles and comment counts.

The article editor has a MarkdownDeep based editor, real-time preview and photo upload.

Categories have configurable url slug and descriptions

File manager provides file management and text file editing.

Site settings allow for setting a custom domain + other RSS and comment moderation settings.

Links for editing the theme, custom CSS, reading the theme reference and custom theme settings

Themes are edited as per any other text file and use a very simple but powerful template language

User profile is used by all sites you create

Each site can have multiple users, invite others to contribute to your site!

Export to WordPress WXR format, or backup an entire site as a single zip archive.

Import WordPress WXR files or previously exported backup zip archives

Real Sites Running Jab?

My personal blog - http://bradr.me - runs under Jab as do my two teenage boy's websites. There are also several other users looking into setting up Jab based sites.

Update: and now this very site - toptensoftware.com - is running under Jab!

More Information

Want more details? Read some Blog Posts about Jab