My previous blog was run on Orchard CMS, since I was working on dot net at work. However I never really did anything with it. With some time to spare over Christmas, I took a look at it. It had a few short commings that needed to be addressed.
- Links were broken all over the place
- Blog spam was rampent
- I've no means to work on it at home
- The design was very basic and I could'nt face updating it
Having looked at updating it, I felt it better to just start off from scratch. While it would have been simple to find an alternative OS blog engine. I thought it a good opportunity to write my own solution.
Having previously thrown up a site for a friends new business on Google App Engine, I wanted to use that as a host platform. The idea being that I could (in future), add a CMS for him to update the content.
From previous research I wanted to experiment using the Python Flask framework. So used that as a benchmark.
For the design and HTML of the site I knew I would be using Bootstrap as the starting point. Since I did'nt fancy spending all my time working on a design I would'nt be happy with, I went looking for a template, and found one I liked on https://wrapbootstrap.com/
Current Tech stack
- DIsqus (for comments)
- Google App Engine
Current features of engine
- CMS for blog posts
- CMS for content pages
- View for post dates
- View by tags
- Uploading and manage images
Outstanding / ToDo
- Import comments from previous blog
- Allow settings for posts and pages to be visible / hidden, public / private
- Change font size of editor
- Fix tag rendering issues
- Export of sitemap
- Produce RSS feeds
- Allow templates to be edited
All in all I'm very happy with what I've managed to acomplish. This is the time I've written anything substantial with Flask and Appengine. The code is farly typical of somebody learning a new stack, but the site runs well. It was also very easy (once I understood the concepts) to impliment what I wanted.
It was also nice to stumble on Disqus. I planned to add in a comment system myself in the future, but there means of adding a commenting system was too easy to do and feature rich that I could'nt avoid putting it on.