Recreating BlogPad

My journey through recreating the blogging platform that wasn't.


From April-October 2013 I was indulged in developing BlogPad — a new blogging platform written in PHP, similar to that of WordPress and Anchor CMS. It was going great: the API mirrored that of Anchor CMS and WordPress and I was close to beginning work on the admin side of things.

Then in early October I decided to say “fuck it”. The problem was that I was trying too hard to replicate WordPress’s code base. One thing I realised now is that WordPress’s source code isn’t the cleanest thing in the world, and that was exactly what I was doing. Overtime I knew that the project and its code would become unsustainable, and therefore before any major calamities, I decided to just end the project for good.

Well, over two months later I’m back to developing BlogPad. However, this time I’m sticking to its purpose — developing BlogPad so that it’s more of a toolkit rather than a fully featured web application.

When I first started BlogPad, I intended it to be shipped with its own templating engine, which I aptly titled ‘Zynamo’. Of course, now that is the name of my desired programming language. The new templating engine that the new BlogPad will hopefully ship with is called ‘BlogPad’. No bullshit. The templating engine is named after its parent. You could call it BlogPad Jr. if you may.

There are only three file extensions in place for BlogPad templates, which are:

  • .bp — General templates, i.e. to display the contents of a post, or the homepage of a blog.
  • .bpd — Stands for BlogPad Definitions, which would be used to define certain elements of a blog, e.g. the structure of URL’s.
  • .bpp — Stands for BlogPad Post, which is used to denote a static post that BlogPad also supports in line with posts from the connected database.

The market I am to target with this new BlogPad is that of a web-dev-who-cannot-be-arsed-to-code-too-much.

In my opinion, the following .bp template code for retrieving posts:

{- BEGIN POST -}
<h1>{- title -}</h1>
<p>{- post -}</p>
<p>Posted on: {- date: %date% -} of {- date: %month% -}</p>
{- END POST -}

Is better than:

<?php while( have_posts() ): the_post(); ?>
<h1><?php the_title(); ?></h1>
<p><?php the_content(); ?></p>
<p>Posted on: <?php the_date('jS');?> of <?php the_date('F');?></p>
<?php endwhile;?>

Considering that they both do exactly the same thing — retrieve a post.

Email me when Sharikul Islam publishes or recommends stories