First Crack's Complete Overhaul

Early Friday morning I started redesigning this site’s layout. I wanted to create a better reading experience and place more emphasis on my content, with particular attention paid to the latest articles. Two days later, in the wee hours of Sunday morning, I closed my computer having not only accomplished my initial goals, but also after successfully completing a long-overdue complete overhaul of the content mangement system I drive this site with, First Crack. For those unfamiliar with my work on this Markdown-based content management system, check out Introducing First Crack and First Crack in Practice.

In addition to eliminating nearly 100 lines of code, I have also greatly optimized the latest iteration of First Crack. For example, whereas the previous version opened and parsed each content file multiple times to build the home page, RSS feed, and article page, First Crack now reads and parses each line of each file only once. I did not only make performance improvements server-side in the Python script though, but also client-side with the removal of my dependancy on jQuery and an accompanying Javascript file to correctly display my site, along with a simplification of my site’s structure as well as CSS. All in all this is a huge step forward not only for First Crack, but for this site as well.

Along with the aforementioned improvements to First Crack, the CMS now supports a number of new features:

  • New command line parameter: The latest version of First Crack brings with it a new option in its “Authoring” mode: "-u” for uploading a single file. Combined with the "-r” parameter used to rebuild a single structure file, these two options make minor fixes a breeze.
  • A more responsive design: Another goal I had when I set out to redesign my site last week was to build a more responsive design, a design that would not only be readable on a computer, but on a mobile device as well. While I still have some kinks to work out, this design is one step closer to providing the best possible experience regardless of the device my site is viewed through.

Due to little interest in the GitHub repo, I have ceased updating it; however, although First Crack’s GitHub page has stagnated, I still intend to open source First Crack upon its completion.