Typesetting & layout

Typeset: hyphenation & justification

Typeset is an implementation of the Knuth and Plass line breaking algorithm using JavaScript. The goal of this implementation is to optimally set justified text in browsers, and ultimately provide a library for various line breaking algorithms in JavaScript.

Treesaver

Treesaver® is an in-browser read­ing expe­ri­ence that dynam­i­cally adapts to a user’s device and screen size. Using web-stan­dard tech­nolo­gies present in HTML5, Treesaver enables inno­v­a­tive, visu­ally appeal­ing column-based page designs that don’t require any addi­tional down­loads: all you need is a modern web browser.

Hypher

Hypher is a fast and small hyphenation engine written in JavaScript. It works in both the browser and Node.js and comes with plugins for jQuery and Ender. It comes with a collection of hyphenation dictionaries for over 30 languages.

Fonzie

Fonzie is a tiny @font-face loader/monitor (only 3.9Kb, and 2.2Kb gzipped) compatible with any web-font service. It will monitor when an external font applied to the page and notify you by a callback. Fonzie does not limit you in any way in where, when, or how you load your fonts.

JavaScript Layout Algorithms

The jLayout JavaScript library provides layout algorithms for laying out components and containers. The library currently provides three layout algorithms: border, which lays out components in five different regions; grid, which lays out components in a user defined grid; and flex-grid which lays out components in a user defined grid with flexible column and row sizes. A jQuery plugin to lay out (X)HTML elements is also available.

jQuery

jQuery Text Alignment plugin

Imagine you have worked hard to make your tables look good, but one thing keeps bugging you; the alignment of the text in the cells. You would, for example, like to align the contents of each cell on the comma character. Unfortunately, no browser supports aligning table cells on characters. This is where the jQuery Text Alignment Plugin comes in; it adds support for aligning text based on characters to all browsers.

jQuery CSS3 text overflow plugin

This jQuery plugin implements a simplified version of the CSS property. The text-overflow property 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 not natively available.

jQuery column cell selector

This jQuery plugin adds a new selector to the 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. The selector can take several types of arguments for selecting columns, such as keywords, numeric indexes, and equations.

JSizes: jQuery CSS size properties plugin

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.

Other

knockout.selection

A selection binding for Knockout.js that handles multiple selections and keyboard navigation.

URL Template

This is a simple URI template implementation following the RFC 6570 URI Template specification. The implementation supports all levels defined in the specification and is extensively tested.

CharacterSet

CharacterSet is a library for creating and manipulating Unicode character sets in JavaScript. Its main purpose is to help in building regular expressions for validation and matching. It fully supports all Unicode characters and correctly handles surrogate pairs in JavaScript strings and regular expressions.

Unicode Tokenizer

This is a tokenizer that tokenizes text according to the line breaking classes defined by the Unicode Line Breaking algorithm (tr14). It also annotates each token with its line breaking action. This is useful when performing Natural Language Processing or doing manual line breaking.

Functional Pattern Matching in JavaScript

Pattern matching is a form of conditional branching which allows you to concisely match on data structure patterns and bind variables at the same time. Pattern matching is supported in some functional languages such as ML, Haskell, OCaml, and Erlang. This library implements pattern matching for the JavaScript language in an efficient and concise way.

JUnify: JavaScript Unification Library

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 or an expert system.

Calcdeps

A Node.js port of Google Closure library calcdeps.py. This lets you reduce your dependencies to the Closure Compiler and npm modules.

Closure Compiler @inline fork

This fork of the Google Closure compiler extends the annotations with an @inline annotation that overrides the cost estimation function that decides if a function gets inlined or not. This can be useful to avoid function call overhead on mobile devices at a slight increase in file size.

JavaScript Bit Arrays

This library implements bit arrays in JavaScript implementation of bit arrays. The library supports many methods to manipulate bit arrays, serialization to and from JSON and is runs in the browser, Node.js and Ender.js.

Closure Loader

Load code using the Closure library dependency syntax in Node.js. Using the loader you can import your client-side Closure Library code and run it on the server.

XSLTJSON: XML to JSON transformations

XSLTJSON is an XSLT 2.0 stylesheet to transform arbitrary XML to JSON. XSLTJSON supports several different JSON output formats, from a compact output format to support for the BadgerFish convention, which allows round-trips between XML and JSON.

Quake Menu Textures

A set of high resolution Quake1 menu textures for use with modern Quake1 engines such as Darkplaces. The design goal for these textures was to make them as close to the original textures as possible, but with a higher resolution.