Luke Page

Luke Page


Aurelia, less2css and bundling

on 29 Jun 2015

In the second post of my series on the Aurelia framework I walkthrough bundling the less2css project. The result of which significantly reduced the load time, but did uncover a few aspects of the Aurelia bundling process that do not yet feel fully formed.

Creating less2css using Aurelia

on 19 Jun 2015

This post gives a walkthrough of a project that makes use of the new Aurelia framework. It also take a look at how it compares to Angular 2.0, which is still in development.

Learn ES6 from Airbnb's coding standards

on 10 Jun 2015

Airbnb's JavaScript coding standards are now based around ES6 and contain many guidelines to help you take advantage of its features. In this blog post I'll present some resources I created to help you learn ES6 through their guidelines.

var, multi-var or anywhere var?

on 25 Mar 2015

When it comes to coding style in JavaScript, what makes most sense - one var declaration, multiple at the start or scoped?

State of localisation on the web

on 06 Mar 2015

Localising a web application to a high standard is difficult. Why is that? Consider the following differently formatted numbers… -1,23,45,678.99 12.345.678,99- (12 345 678.99) ١٢,٣٤٥,٦٧٨.٩٩ There are several differences between them: The location and type of the negative sign - it can be brackets (though...

Making a RTL plugin in less

on 19 Feb 2015

I mentioned in the previous post that I would create a plugin for less which converted from LTR to RTL. Here is a tutorial post on creating that plugin. Setting the project up I know we want to modify the AST (abstract syntax tree), so we will need a...

RTL Support in Web Applications

on 13 Feb 2015

Some languages of the world (Arabic, Hebrew etc.) are RTL, meaning they are read right-to-left, instead of left-to-right. Typically in web applications supporting one of these languages, everything is reversed, meaning scroll bars, progress indicators, buttons etc. I recently took part in a discussion with the jQuery UI team...

Why should a project have automated tests?

on 08 Jan 2015

It has become generally accepted that a good project has a set of automated tests behind it - whether they be unit tests, integration tests or end-to-end tests. However I don’t often hear people talking about the benefits vs cost and how much should be spent on particular projects. I...

Less vs Sass vs Stylus

on 08 Mar 2013

First off, this is a biased blog post as I am heavily involved in less.js at the moment. I have been inspired to write this because of the popular sass vs less post and because although it is very accurate (at the time it was written) it doesn't...

Extends in less

on 08 Mar 2013

For a long time now, extends in less have been bubbling away. When I joined the less team in September last year it was one of the highest asked for feature requests. We decided that 1.3.x releases would fix bugs and implement minor feature requests and that 1.4.0 would include...

Headless testing in less.js with PhantomJS

on 21 Dec 2012

Introduction Less.js can be run in two ways, firstly through node and secondly in the browser. A great deal of the code is shared, but not all of it - particularly the way it deals with imports, paths and url's differs. Whilst typing "make test" in the node less.js repository...

The world of LESS

on 16 Nov 2012

Luke Page, one of the project leads, gives an introduction to less.

Text Overflow Ellipsis - FF, IE7 and background colours

on 24 Jun 2011

Introduction This post is inspired by the news that text overflow ellipsis capabilities have reached the mozilla code base trunk (see bug). This should be in Firefox 7, which thanks to the new 6 week release cycles, won't be long. So, what is text overflow and why do I...

JSLint Changes

on 20 Jun 2011

At the weekend I released a new version of my JSLint for visual studio plugin. There have been some big changes made by Douglas Crockford in the last month, so given the lack of an official JSLint blog (most major updates are announced by Douglas Crockford on the

JSLint vs JSHint

on 28 Mar 2011

In January of this year Douglas Crockford decided that some of the options in JSLint were generally accepted and should always be on. One of those options was eqeqeq, the option to show an error if just two equals was used. For some time JSLint has complained about double equal...

CSS Performance Part 3 - Updating Nodes

on 16 Feb 2011

Introduction In the first two parts I looked at different ways of performing dom manipulation tasks like adding rows to a table and sorting rows in a table. These tend to be quite common since we display data in a table and a dynamic website may wish to show live...

CSS 3 Transitions vs jQuery

on 23 Dec 2010

Introduction This post is me taking a break from the CSS Performance series. I have the next post almost written though... I was reading an article on CSS 3 transitions that was very interesting, but as I was reading, it seemed like the feature was designed for CSS designers...

Css Performance - Part 2

on 09 Dec 2010

Introduction In the first part I created a simple speed test harness and found the best way of creating 100 rows in a large table, regardless of the CSS conditions. Now I'm going to do the same for sorting. This isn't a look at sort algorithms, because that has nothing...

Css Performance - Part 1

on 30 Nov 2010

Introduction Over the last month or so, I've been interested in website performance. There are a lot of useful tools that exist to help you get the most out the HTML/JavaScript/CSS Technologies - One resource in particular I've used is Google Page Speed. Among the recommendation is one to...

Implementing eqeq in JavaScript using eqeqeq

on 26 Oct 2010

Introduction So, in a previous post I pointed out some == coercing that was far from obvious. But despite gradually picking up edge cases, I've never had a true understanding of the various cases where x == y. So, prompted by Jonathan's link to the specification explanation and figuring...

JSLint in Visual Studio Part 2

on 25 Oct 2010

A while ago I blogged about creating an extension in visual studio 2010 that ran JSLint on files. I started by getting a JavaScript interpreter based on the V8 engine to run JSLint and then just before publishing I discovered someone else had already started an extension. Luckily, that...

JSLinting existing JavaScript and eqeqeq

on 27 Sep 2010

Introduction As I've previously mentioned JSLint is a tool by Douglas Crockford that checks code against various rules in order to find code that could potentially be buggy or ambiguous. One such rule is that users should not use two equals (==) but should use three (===). There is an...

JSLint in Visual Studio Part 1

on 20 Sep 2010

Introduction Js Lint is a tool created by Douglas Crockford to parse JavaScript, report errors and ensure good coding practices. If you write JavaScript, it's a good idea to at least have read and understood the rules - quite often they are because something that is common in a...

VS 2010, vs-doc and Javascript Intellisense

on 27 Aug 2010

Recently I read Scott Guthrie's post on improved JavaScript Intellisense in Visual Studio 2010. Whilst the post is very impressive, showing off Visual Studio's ability to parse the JavaScript in order to provide intelligent Intellisense, when I came to apply it to more real world examples and use vs-doc...