An HTML Preprocessor for Web Typography, based on Typeset.js
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
demo
lib
test
.document
.gitignore
.travis.yml
Gemfile
LICENSE.txt
README.md
Rakefile
VERSION
index.html
rtypeset.gemspec

README.md

An HTML pre-processor for web typography

Gem Version Build Status Documentation Status Code Climate Test Coverage

A pure Ruby typographic pre-processor for HTML inspired by Typeset.js that gives you:

* Real hang­ing punc­tu­a­tion
* Soft hy­phen in­ser­tion
* Op­ti­cal mar­gin out­dents
* Small-caps conversion
* Punc­tu­a­tion sub­sti­tu­tion
* Space sub­sti­tu­tion

Installation

gem install rtypeset

Usage

Just require the typeset gem and then call #typeset to receive beautifully-formatted HTML:

require 'typeset'

raw_html = <<HTM
<p>Yjarni Sigurðardóttir spoke to NATO from Iceland yesterday:
"Light of my life, fire of my florins -- my sin, my soul.
The tip of the tongue taking a trip to 118° 19' 43.5".":</p>
HTM

# Output beautifully-formatted HTML
puts Typeset.typeset(raw_html)

Customisation

Want more control over your typesetting?

Disabling Features

You can selectively disable Typeset features by passing in an options hash to #typeset:

# Disable hyphenation and small caps conversion.
options = {:disable => [:hyphenate, :small-caps]}
Typeset.typeset(raw_html, options)

The full list of modules is: :quotes, :hanging_punctuation, :spaces, :small_caps, :hyphenate, :ligatures and :punctuation.

Hyphenation Language

If you're using hyphenation (it's on by default!) you may want to specify the language (the default is en_us):

Typeset.typeset(raw_html, {:language => "en_us"})