beautify

docs Build Status GitHub release

beautify embeds the js-beautify package with Crystal bindings via duktape.cr, inspired by html-minifier.

It can be used to beautify HTML, JS or CSS content.

Installation

  1. Add the dependency to your shard.yml:

    dependencies:
      beautify:
        github: Daniel-Worrall/beautify
        version: ~> 0.2.0
  2. Run shards install

Beautify

require "beautify"

Beautify.js(js_content)
Beautify.html(html_content)
Beautify.css(css_content)

By default, these run on a single runtime which lazily initialise each beautify package.

Runtimes can be created as needed and called in a similar fashion.

require "beautify"

runtime = Beautify::Runtime.new

runtime.js(js_content)
runtime.html(html_content)
runtime.css(css_content)

Runtimes are not parallel safe. A mutex around runtime calls are appropriate.

Contributing

There is a provided githook that will check code formatting and specs before commiting. You can run make init or git config core.hooksPath .githooks to use this.

  1. Fork it (https://github.com/Daniel-Worrall/beautify/fork)
  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 a new Pull Request

Contributors