Latest updates

New jQuery plugin: CSS3 text-overflow

Posted on Sunday June 28 2009

This new jQuery plugin implements a simplified version of the CSS3 text-overflow property, which allows stylesheet authors to specify how and where text should be clipped. This is usually done by adding an ellipsis character "" or three dots at the point the text should be cut off. Unfortunately, not all browser support this CSS property, and this plugin was designed to simulate it when the property is not natively available. The plugin is basically a rewrite of an existing jQuery text-overflow plugin, with the goal of being faster and more reliable (for example, one of the optimizations is that it uses a binary search to find the correct clipping point, instead of a linear search.)

XSLTJSON Bug fix release

Posted on Sunday June 28 2009

Today sees a new release of XSLTJSON, bringing the version number up to 0.87. This new release contains several bug fixes for to recently introduced json:force-array feature. Upgrading from previous versions is recommended if you are using the force-array feature.

New jLayout release

Posted on Sunday May 31 2009

In a further step to compatibility with the jQuery UI guidelines, this new release reduces the number of methods added to the jQuery function namespace to exactly one. Additionally, each layout algorithm is now distributed as a separate file, which hopefully makes it easier to extend the library with other algorithms. The jLayout jQuery plugin page now features more examples (such as a toggle-able border layout, and a layout with scrolling content), and an updated FAQ section. I'm planning on soon releasing a new layout algorithm plus articles on how to extend jLayout with new algorithms, and how to use jLayout with the HTML5 canvas element.

New XSLTJSON version

Posted on Sunday May 31 2009

This new release includes better handling of native JSON data types such as booleans and numbers, and a new source attribute that instructs XSLTJSON to create arrays instead of objects.

Bug fix for jQuery column selector plugin

Posted on Sunday 17 May 2009

Version 0.13 of the column selector plugin has been released, and fixes the plugin inadvertently polluting the global namespace.

jQuery column selector plugin

Posted on Thursday 16 April 2009

New project time; I mentioned some time ago that I was close to finishing two new projects. Today I finally got around to releasing a new jQuery plugin for selecting table columns. The plugin adds a new selector to the jQuery selector API for retrieving table cells by their column index. It supports tables with column and row spans transparently, no matter how complex a table is. The syntax for selecting column cells is simple and similar to other jQuery selectors, so the learning curve should be very small.

jLayout updated & jQuery UI integration example

Posted on Wednesday 15 April 2009

The jLayout library has received an update; the new version is mostly a refactoring of the code and as a result the file size is slightly smaller than before (while keeping the same functionality.) It is also a first step towards integration with the jQuery UI framework. Also included in this update is a new example which demonstrates how to use the jQuery UI framework to make a full-screen resizable border layout. As a bonus, this version has been tested with jQuery 1.3.2, which works just fine.

Book Review: Object Oriented JavaScript

Posted on Tuesday 31 March 2009

A few weeks ago I was asked by Packt Publishing to review one of their titles “Object Oriented JavaScript: Create scalable, reusable high-quality JavaScript applications and libraries” by Stoyan Stefanov. As an avid reader and obsessed with all things JavaScript I couldn't say no, as you can see in my review of Object Oriented JavaScript.

New XSLTJSON version

Posted on Friday 27 February 2009

I've just uploaded a new XSLTJSON version, with exactly one new feature and two minor bug fixes. It is now possible to skip the root element of a XML document and only have the child elements returned using the skip-root parameter. The JSONP support has changed to not produce parentheses when it is turned off (invalidating the JSON), and the stylesheet now supports XML parsers that do not properly match entity encoded new line control characters (that's a mouthful, but what it comes down to is that running XSLTJSON on some XSLT processors generated JSON with unescaped newlines.)

Last update I mentioned two new projects that have kept me busy. I haven't finished either project yet, but I'll give some hints as to the nature of one of them: Canvas, JavaScript, chart, plotting, and almost finished. I hope you can figure it out from that.

jQuery 1.3 support for jLayout

Posted on Saturday 17 January 2009

Happy belated new year! It has been a while since I posted; moving twice, starting a new job, and writing your thesis simultaneously tends to do that. Things seem to be calming down now, and I hope to finish and release two new projects soon. In the meantime I've set up a support group for the jLayout library for general discussion and support. I have also tested both jLayout and JSizes with the new jQuery 1.3 release. Neither required any changes, so no new release. I did however remove the “experimental” warning on the jLayout plugin page, and consider it stable and reasonably well tested―it works in all major browsers including Internet Explorer 6.

Functional Pattern Matching in JavaScript

Posted on Sunday 05 October 2008

I've turned the articles on pattern matching in JavaScript into a library. The code is completely rewritten, shorter, more efficient, better tested and no longer depends on the Junify unification library. Please see the project page for details on the syntax, documentation and examples.

New jLayout algorithm & IE6 support

Posted on Saturday 04 October 2008

I've uploaded a new version of jLayout, with support for a new layout algorithm called ‘flex-grid’. The flex-grid algorithm allows you to lay out components in a grid with flexible column and row sizes. The jLayout jQuery plugin has also been updated and now supports Internet Explorer 6 (in standards mode). Support for IE6 brought up a small bug in the JSizes jQuery plugin, which has now been corrected as well.

Rayfish convention support for XSLTJSON

Posted on Wednesday 03 September 2008

The XSLTJSON project now supports Micheal Matthew's Rayfish convention for converting XML to JSON. The Rayfish convention creates highly structured JSON from your XML, and is a good choice when dealing with data centric XML files. Additionally I've created unit tests for all supported output formats and made sure that all are passing.

JavaScript Pattern Matching & JUnify, jLayout updates

Posted on Tuesday 12 August 2008

I've uploaded a new article on advanced functional pattern matching in JavaScript. The article introduces a simplified pattern matching syntax, and shows how to use it with algebraic data types. There are also new versions of the JUnify library and the jLayout library. The new JUnify version contains a small modification to work together with Sjoerd Visscher's algebraic data type library, and the jLayout library now includes support for Safari 3.

jLayout Layout Algorithms & jQuery plugin

Posted on Monday 4 August 2008

The jLayout JavaScript library provides layout algorithms for laying out components and containers. The library currently provides two layout algorithms: border, which lays out components in five different regions and grid, which lays out components in a user defined grid. An experimental jQuery plugin to lay out (X)HTML elements is also available.

JUnify unification library

Posted on Friday 1 August 2008

JUnify is a JavaScript library for performing unification on objects and arrays. Unification is an algorithm to determine the substitutions needed to make two expressions match. If the expressions contain variables, these will be bound to values in order for the match to succeed. If two expressions are not identical or the variables can not be bound, the match fails. Unification can, for example, be used to implement pattern matching, object property extraction, or an expert system.

JSizes jQuery plugin

Posted on Saturday 26 July 2008

JSizes is a small plugin for the jQuery JavaScript library which adds support for the CSS min-width, min-height, max-width, max-height, border-*-width, margin, and padding properties. Additionally it has one method for determining whether an element is visible. Because all the size methods return numbers, it is safe to use them in calculating DOM element dimensions.