Introducing specter

Akshat Jiwan Sharma, Fri Jun 21 2013

A lot of bloggers implement google search into their blogs to allow discovery of old archives. While it works well the search results from google are hard to theme according to your blog design and worse google basically forces you to display advertisements on search results. Not cool. There should be an easy way to allow users to search though their content and on their terms. But searching through thousands on lines of text is not that easy. Usually this is achieved with the help of a full text search engine that indexes the contents of the database to allow search operations on it .For simple blogs however this is an overkill. I mean in the days of static site generators, which I myself enjoyed for quite a while by the way, this contrived way of implementing search is not acceptable.

Racking my brain trying to find a solution for the problem I had this wacky idea to build a blogging platform on top of elasticsearch. People have been using it as a primary data store so it could work. So I decided to give it a try. After three weeks of hard work I am pleased to announce specter, a simple blogging platform that is highly configurable, easily deploy able and supports full text search by default. Woot!

Specter for bloggers

All right so you are a regular blogger and you wonder why would you want to change from your blogging framework to specter. While building specter I have put in a lot of work in building a system that is easy to use. Here are some of it's features

  • A pleasant writing environment

Before I even started working on specter I made abstract . It is a minimalist markdwon based editor. There are no buttons just you and the stuff you want to write. A smart preview on demand window that switches the view to editing when you are typing and to preview when you change focus and save your progress automatically. Writing in abstract is very intuitive and I have got a good response from the people who have tried it. Coming back the editing tool in specter is based on abstract. It has all of the things that you like about it while adding some more

  • No more typing different sections of an article. Just write it in one go and specter will take care of analyzing it and displaying a summary.
  • The first image is automatically used as a cover on the index page.

You write you blog post and let specter worry about everything else.

  • URL based operations

There are no sessions in specter. Every action is url based. If you want to create an article point the browser to yourdomain/create.Similarly there are handles for yourdomain/your-post/edit and yourdomain/your-post/delete.

As an example here are the handlers for my blog

create , edit and delete

Don't fret though all of these actions require secret that is defined in your contributors file which is as easy as editing the file in the text editor of your choice and if you are still hesitant you can simply change the url to something absurd like yourdomain/jonnybravo for create :) Anything is possible.

  • Highly configurable

The example of url renaming that you saw is just a simple demonstration of how configurable it actually is. All of the fronted stuff in specter is built using twitter bootstrap so just by replacing the default css with one of the swatches you can quickly create beautiful blog designs. But remember nothing is stopping you from creating your own them from scratch as well. The views are just html, using mustache tempting engine, you can do anything to them that you would to a simple html page.

Besides views you can configure who are the users of your applications, what their roles are, how many pages to show on index page, how many search results to show when queried etc.

  • Search engine by default

Specter has a built in search engine that allows your users to quickly and efficiently search for post based on keywords. Everything builds towards keywords, from post tile to body and even image captions. So rest assured the user will find your content if it is there.

  • Easy to deploy

All this will be for naught if one could not deploy the application. Thankfully specter is easy to deploy. qbox provides free upto 1Gb of storage hosting for your database and heroku for your app. I am employing both of these services and am pretty satisfied with them. You don't need to spend a dime to host specter. Unless you application becomes crazy popular you can keep it hosted for free too.

Specter for hackers

  • It is open source YEAH!
  • Built on node js
  • Uses mustache for templating
  • Uses elastic search as backend

So give it a try. Let me know what you think. Raise issues if you find any and most of all have fun while blogging.


comments powered by Disqus