Disqus

Software Discourse.

The Disqus Engineering Website

Posted by Jeff Pollard on

At the end of September, the entirety of the Disqus product development organization stopped normal project work and participated in a Hackathon.

Please check out our blog post covering the Hackathon, but for today wanted to launch my Hackathon project early - this very website you’re reading now! This post will introduce the new Disqus Engineering website, the engineering blog and what to excpect in the future.

Disqus Engineering

For a while, all of us at Disqus have talked about wanting a public face for Disqus Engineering, showcasing all of the great open source contributions and learnings we’ve achieved over the years. It was always one of those projects where we said, “we should do that,” but never did. So I figured the Hackathon was a great time to do that.

Technologies

Starting out, I decided to leverage Github Pages and build an organization page for our Disqus Github organization. Doing so allowed us to leverage a few good things:

  1. Github Pages is free web hosting, which means less operational overhead for us.
  2. We get a cool https://disqus.github.io URL.
  3. All our public projects can have their project pages hosted on Github Pages, at URLs like https://disqus.github.io/project. See https://disqus.github.io/gutter as a good example.
  4. Github pages supports the Jekyll static site generator, offering powerful static website authoring tools for free, rather than having to roll our own.

After many hours slaving away during the Hackathon, everything came together, forming the website you see here. All in all, I ended up using the following technologies:

I didn’t win the Hackathon, but I’m very happy with how things turned out - especially now that we’re using the results of my project in an official capacity.

Why Jekyll

Aside from being great at generating static content, Jekyll is also “blog aware.” This means that it has a reasonably powerful blogging engine you can use to author and host blog posts on your site. Now, Jekyll may not have the adoption or complete functionality of other blogging platforms like Wordpress or Tumblr, but that doesn’t bother us. Jekyll has other great advantages which fit better in our engineering organization:

  1. In Jekyll you write your posts as plain text files in some sort of markup language (like Markdown or Textile. This fits in nicely for engineers who already spend their entire day inside their editor.
  2. Additionally, since posts are plain text, we can use our existing source control and code review tools to author, review, record and publish blog posts just like any other code diff we would write.
  3. We get easy Disqus embed integration since all we need to do is just drop in the Embed javascript and we’re good to go.
  4. Jekyll is conceptually very simple, and we don’t need a lot of functionality that the other blogging platforms offer - such as a WYSIWYG editor, customizable templates, analytics, etc. This should help streamline work and get out of our way most of the time.
  5. Jekyll is open source, so if we do end up needing any more advanced features we can easily extend Jekyll to add them in.

In the future

In the coming weeks, expect to see blog posts by members of the Disqus engineering team on a variety of subjects. We’re still figuring out the exact topics we’ll write about, but expect to see posts about wrangling software complexity of running production applications, leveraging Varnish or Go to allow Disqus to scale further and how we manage our stats and big data.

comments powered by Disqus