Blogging with SquareSpace

ThreadHunter is now running on SquareSpace after about six months of being built as a static site using Hugo. My decision was based primarily on two factors. The first factor was my positive experience building FuzzPage on SquareSpace. The second factor was that the overhead involved in generating and uploading the static site was discouraging me from posting. SquareSpace provides everything I need in one place, easily accessible via a browser. This includes things like comments, metrics, and site search that require external services when building a static site. With SquareSpace I can spend more time blogging and less time building and maintaining a static site. For me, the benefits of a static site, primarily speed, security, and cost, are outweighed by the ease of use and functionality provided by SquareSpace. 

ThreadHunter is a small blog site so the process of migrating it to SquareSpace was relatively painless. After selecting a template, I started by cutting and pasting each post into a SquareSpace blog post. Links and code snippets were handled fine but images had to be copied over individually. Next, I set the slugs and publish dates of each post to match the originals and added categories and tags. Then I set the blog page to the home page in SquareSpace so that the posts were available from '/blog/...' and '/...' to match the existing URLs. Finally, I went into the SquareSpace settings to connect the site to my existing domain. After a few minutes the site was up and running smoothly with a nice new mobile friendly layout and, for the first time, site search.

Building a static website with Hugo

I had two basic requirements when choosing a tool to build this site:

  1. I wanted to build a static website so that I had the freedom to host the site anywhere without having to install, configure, or maintain any server software.
  2. I wanted to be able to write my posts in Markdown. With Markdown, I can write posts with simple formatting both offline and online, on any computer, and with any editor. I didn’t want my posts to be tied to any particular blogging software or CMS.

After some research on Hacker News, StaticGen, and GitHub along with some experimentation, I decided to go with Hugo. I choose Hugo because it was easy to install and run, the Hugo website and documentation was well done, and because it seems to be fast and flexible.

Installing Hugo is as simple as downloading the binary from GitHub and copying it to /usr/local/bin. The following steps illustrate how easy it is to create a new site, add some content, and start a local server:

$ hugo new site /path/to/site
$ cd path/to/site
$ hugo new post/first.md
$ hugo server --theme=lanyon-custom --watch --buildDrafts

Hugo is fast and if you use --watch it rebuilds and reloads content automatically. For a small site like ThreadHunter, Markdown changes are reflected almost instantly in the browser.

My first impressions of Hugo are that it is fast and easy to use locally but I’ve run into issues with broken urls when publishing the site. I’m not sure if this is a problem with Hugo, the Lanyon theme I’m using, or my server configuration.

Look for future posts on Hugo as I add content and work on customizing the site.