Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/daniel-worrall/beautify
Crystal binding for the JS-Beautify NPM Package via duktape.cr
https://github.com/daniel-worrall/beautify
beautify crystal duktape
Last synced: about 2 months ago
JSON representation
Crystal binding for the JS-Beautify NPM Package via duktape.cr
- Host: GitHub
- URL: https://github.com/daniel-worrall/beautify
- Owner: Daniel-Worrall
- License: mit
- Created: 2019-11-04T20:52:46.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-05-25T10:18:11.000Z (over 4 years ago)
- Last Synced: 2024-11-29T15:26:39.423Z (about 2 months ago)
- Topics: beautify, crystal, duktape
- Language: Crystal
- Homepage:
- Size: 53.7 KB
- Stars: 6
- Watchers: 2
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# beautify
[![docs](https://img.shields.io/badge/docs-latest-green.svg)](https://daniel-worrall.github.io/beautify/)
[![Build Status](https://travis-ci.org/Daniel-Worrall/beautify.svg?branch=master)](https://travis-ci.org/Daniel-Worrall/beautify)
[![GitHub release](https://img.shields.io/github/release/Daniel-Worrall/beautify.svg)](https://github.com/Daniel-Worrall/beautify/releases)beautify embeds the [js-beautify](https://github.com/beautify-web/js-beautify) package with [Crystal](http://crystal-lang.org) bindings via [duktape.cr](https://github.com/svaarala/duktape), inspired by [html-minifier](https://github.com/sam0x17/html-minifier).
It can be used to beautify HTML, JS or CSS content.
## Installation
1. Add the dependency to your `shard.yml`:
```yaml
dependencies:
beautify:
github: Daniel-Worrall/beautify
version: ~> 0.2.0
```2. Run `shards install`
## Beautify
```crystal
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.
```crystal
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](https://githooks.com/) 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 ()
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
- [Daniel Worrall](https://github.com/Daniel-Worrall) - creator and maintainer