What is Bloak?
Bloak is a Ruby on Rails engine to provide the functionality of a micro-blog with articles written in Markdown. It includes an attractive admin UI that makes managing and writing new blog articles a breeze. Bloak is lightning-fast, and optimized for SEO, accessibility and supports open-graph meta-tags for rich social media sharing. Easy customization and styling makes Bloak a joy to integrate into your existing web-application and match the host application's look and feel.
Table of Contents
Why we built Bloak
When there are so many great existing solutions to blogging out there, from the classic Wordpress over static generators such as Hugo and Ghost, to hosted publishing platforms like Medium, you have to ask: are we suffering from yet another case of the "not-invented-here" syndrome?
We don't think so. Here is why.
Solving a common problem in a re-usable way
Working with our startup clients over the years, we have encountered the same progression of innovation and steps to launch, from initial innovation, product idea brainstorming, over prototype implementations to MVP and product launch. Each time, as their products evolved, so did the clients and with that the need for an amplified public presence, usually front-faced through a website, or product landing page. In that evolution cycle there always came a point where marketing would ask for a "Blog" - even if called by a different name, but in essence a functionality that would allow a person dedicated to publishing outward facing content to contribute information to the website or landing page in a neatly chunked way.
Each time, we found ourselves solving the same problem over and over again. Sometimes with large variations as new blogging platforms, front-end frameworks and design styles popped up over time, but commonly with a core set of requirements that would never change - and always with a load of headaches in navigating the quirks of each platform and framework to bend it to our wills. And so we found ourselves in that same position again, when we launched our updated KUY.io website. This time, instead of building yet another one-off custom solution that we'd have to maintain as a software snowflake, we took our learnings from building previous blogs and extracted the common functionality and requirements into a reusable library for our preferred web-framework called Ruby on Rails
, and so Bloak
was born.
Exactly what we need, not more, not less
A Blog, at it's core is a very simple thing: self-contained pieces of quality content, written by an author, and published at a pre-defined time, together with some metadata describing and enrichening each piece of content. Perhaps add a system for the audience to interact with each piece of content - maybe by allowing them to publish their thoughts on the content through comments, or sharing the content on social media, but one may argue that is an orthogonal concern and should be implemented as a completely separate system, apart from the actual Blog itself.
And yet, a lot of the existing Blog engines out there are incredibly complex, with advanced identity-and-access-management and permission systems, plugins, and boat-loads of extra functionality that's outright overkill for most people (yes, I'm looking at you Sharepoint!).
We believed it was time to concentrate on the basics again - on the essence of what makes a Blog a Blog if you will. And then take that and do it really well. Since we love Ruby
and we build practically everything in Rails
, it made perfect sense to materialize this essence in the form of a library, distributed as a Ruby gem
and implemented as a Rails engine
under the hood.
We had a pretty good idea of what we wanted from that library:
- Blog posts or articles, as self-standing pieces of information, together with meaningful metadata surrounding that post or article
- Content described by a lightweight markup language that can we written using any plain-text editor to break down the barriers of content creation
- A beautiful interface and gorgeous presentation of the content that looks great on any screen, and device
- Blazing fast rendering and page loads, and content optimized for mobile devices first
- Great SEO and strong intra-linking for search engine discoverability
- Straight-forward and as effortless as possible to integrate into any existing Rails application
- Self-contained so it can even be used as a standalone blog application
- Easy to extend and customize to match a broad range of looks and presentation of content
Never again hosted by someone else
While off-loading the engineering effort to a hosted platform like Wordpress, Wix, or Medium makes for fast iteration cycles, it also comes with a number of issues that may not be worth that trade-off.
- You don't own your content. If you are old enough to remember Blogger, Tripod, MySpace, Angelfire, or GeoCities, you know what happens when a hosted content platform disappears, becomes uncool, or decides to lock away content behind a pay-wall.
- It's bad for SEO. Every SEO consultant would tell you that should move your
blog.company.com
blogging application that you deployed alongside your main application or website to a subdirectory under the same domain, e.g.,mycompany.com/blog
if you want to get proper ranking for your blog, and your main website. Publishing platforms are a completely separate site - even if you purchase a dedicated domain, and diminish your search engine ranking and visibility potential otherwise created by your blog articles. - Social Traffic vs. Organic Traffic. A good chunk of page views on hosted publishing platforms come from social traffic as opposed to organic (search) traffic. While that may lead to more views of your articles, we'd argue that ephemeral social traffic is less meaningful and more diffuse when your goal is to using your content for generating high quality inbound leads.
Fast, reliable and SEO optimized
The web is constantly evolving and so are search engines, together with their algorithms that discover, index, and rank pages to present to users searching for a specific word or phrase. In the past two years, we have seen a significant shift away from keyword padding, towards Core Web Signals for search engine ranking. So we designed Bloak with the explicit goal for optimizing user and page experience, especially for mobile devices: that meant optimizing for page load times, content shift, but also proper surfacing of page metadata to allow search engines to create rich datapoints from every piece of content.
Feature Highlights
- Responsive and mobile friendly: we designed Bloak to look amazing out of the box on all devices and screen sizes. Bloak is powered by the amazing Bootstrap framework and includes core JS technologies like Turbo to dramatically improve page experience, render and load times.
- Google Lighthouse score of 90+ on all categories: with core web vitals taking such a high stake not only in user and page experience, but also in search engine ranking, we made sure that Bloak out of the box would be optimized for hitting the highest LightHouse scores across all categories.
- SimpleDME markdown editor integration: a feature-rich Markdown editor, directly integrated into the admin interface, let's you write Blog posts even on your tablet or mobile phone without breaking a sweat.
- Full-text search for posts: so your readers have all the content they care about at their fingertips.
- Open-Graph meta tags: for rich sharing of posts on Twitter, Facebook, Linked-In
- Full SEO meta tags for blog posts: so search engines can properly understand your content and optimize for organic search traffic
- Reading time estimation for articles: so your busy reader can know whether an article fits into their lunch break or is better bookmarked for evening reading.
- Pin featured articles that to the top: so you can highlight your most important news.
- Extensible and customizable view templates and styles: for easy integration into an existing application and look-and-feel.
- Admin Interface with authentication for management of content and media.
Getting Started
Interested in giving Bloak
a try for your next Rails project?
Head on over to our public Github repository for Bloak. The repository contains the most recent installation and configuration instructions to get you up and running in no time.
How Can we Help?
If you are interested in adding a Blog to your Rails application but don't know where to start - or simply learning more about KUY.io you can contact us at any time!
Cheers,
Nicolas Bettenburg CEO and Founder of KUY.io