MultiTypograf Build Status Dependency Status Code Climate

There are lot of Ruby libraries for typographing text. Instead of choosing a single implementation and forcing users of your library to be stuck with it, you can use MultiTypograf instead, which will simply choose the best available tipographer. Here's how to use it:

require 'multi_typograf'

MultiTypograf.process('тест') #=> 'тест'

The use method, which sets the MultiTypograf adapter, takes either a symbol or a class (to allow for custom CSS minifier) that responds to .process at the class level.

MultiTypograf tries to have intelligent defaulting. That is, if you have any of the supported engines already loaded, it will utilize them before attempting to load any. It will load libraries in following order:

If no other library is available, MultiTypograf falls back to typograf wrapper for http://www.typograf.ru/.

HTML::Pipeline

pipeline = HTML::Pipeline.new [
  MultiTypograf::Filter
]
pipeline.call('тест') #=> 'тест'

TODO

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request