
Two Week Build
Two Week Build ź“ė Ø
ā ļø
This post was written 12 years ago!
Personal opinions and technical details may have changed since writing.
From concept to launch the new version of my website clocked just over two weeks of development time. This article documents assorted aspects of that process.
Initial Concept

What you see above is the extent of my āshopping for the new design. I probably wasted more time setting up those ridiculous guides than I did mocking up the visual concept. Still, for an afternoonās work I found it a worthwhile exercise. I had a checklist in my head of requirements I wanted the new site to address. Getting this far was enough to give me confidence in the design concept.
Rather than aspiring to produce a brand new design from nothing I consider my annual website update as an iteration on whatās worked before. Over the year Iāll make notes on things I should improve based on what is and isnāt performing.
Code and Content
Whether Iām in Photoshop or a code editor, I try to avoid placeholder content. Grammar and spelling arenāt that important at this stage, but rationale is paramount. If Iām designing with nonsense there is no reason for the choices I make.
I gave myself a head start using a stripped back version of my Tales theme (which itself is based of Origin). A quick exportā/āimport into a local WordPress install gave me a platform with real content to build and design upon.
Typography
My website is 90% blog which is why the new design is a single layout. Usually Iāll set-up a āstyle guideā page to visualise all typographic elements, but with hundreds of already published articles for reference, this step was unnecessary.
I spent a solid day tweaking CSS until I was happy with font sizes and vertical spacing. I revisited these styles many times later on. In fact, Iām not sure Iām finished yet! A bit of post-launch polish is always good.
Inspired by Marcin Wicharyās work at Medium, Iām using linear-gradient to give fine control over hyperlink underlines. Combined with text-shadow to clear descenders this is a very pretty technique:

The standard text-decoration: underline; is too obtrusive and border-bottom tends to sit too low when used with a generous line height.
In the past Iāve opted to scope typographic styles. Nowadays Iām in two minds as to whether the pros outweigh the cons. However, in developing this website Iāve found that only scoping advanced styles is a nice balance. This effect is applied after web fonts have loaded to ensure the background position is correct.
.wf-active .prose a {
text-shadow: 2px 0 0 #f2f0e6, -2px 0 0 #f2f0e6;
background-image: linear-gradient(to left, rgba(61, 156, 204, 0.5), rgba(61, 156, 204, 0.5));
background-position: 0 1.05882em;
background-repeat: repeat-x;
background-size: 1px 1px;
}
Thatās some verbose CSS required to restyle against varying background colours (not to mention font size). For this reason Iām using the technique sparingly. At smaller sizes, like the copyright notice, a standard underline suffices.
Droid Serif is a personal favourite. The font is free to self-host under the Apache License but Iām using Typekit for ease-of-use (and to justify my subscription). Fonts are loaded asynchronously because Iād rather have a flash of content than none at all.
Performance Budget
Speaking of web fonts, they account for almost 50% of my home page download. Sounds excessive, but at a grand total of 248kb my website is positively slim. Given the designās emphasis on typography I find these bytes are well spent.
A run through WebPageTest gives strong local results:

Aside from Varnish Cache on my server Iām not doing anything special. Typekit and Google Analyticsā expire headers are giving me a āCā at the end which isnāt too worrying. For a handful of small resources Iām not sure using a CDN[1] is worth the investment, or maybe it is⦠something I need to explore.
Inline SVG
Iāve built many websites with font icons, many others with SVG sprites, but Iām now a full convert to inline SVG using the <use> technique (see Codrops and CSS-Tricks for details). At least for icons that are used globally.
For example, I can reference my navigation icon:
<a class="nav-open" href="#nav">
<span>Menu</span>
<svg viewbox="0 0 35 35"><use xlink:href="#svg--nav"></use></svg>
</a>
And I can apply CSS like so:
.nav-open svg {
fill: #b3b0aa;
}
.no-inlinesvg .nav-open {
background-image: url("../img/nav.png");
}
With feature detection and automation it takes little effort to provide a fallback PNG.
jQuery Prototyping
Like Photoshop, my use of jQuery comes more from experience than necessity. Iām perfectly capable of writing JavaScript with no dependencies but Iām still quicker coding proof of concepts with a bit of assistance. For larger websites with a lot of interactive functionality ā andā/āor multiple developers ā I often prefer to stick with jQuery. In this case because the effects are minor and supplementary, once the design was finalised I rewrote everything without jQuery (saving 85kb).
Onwards
So thatās a little bit of what Iāve been up to this month. An efficient use of time Iād say. The benefits of moving into code almost immediately cannot be understated. Iām pleased with the results and feedback has been positive ā much appreciated!
Content Delivery Network ā©ļø