Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/straight-shoota/sass.cr
Compile Sass/SCSS to CSS in Crystal (libsass binding)
https://github.com/straight-shoota/sass.cr
crystal libsass-wrapper sass scss
Last synced: about 2 months ago
JSON representation
Compile Sass/SCSS to CSS in Crystal (libsass binding)
- Host: GitHub
- URL: https://github.com/straight-shoota/sass.cr
- Owner: straight-shoota
- License: mit
- Created: 2017-07-13T16:53:37.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2021-07-04T15:56:00.000Z (almost 3 years ago)
- Last Synced: 2024-05-01T22:17:58.805Z (about 2 months ago)
- Topics: crystal, libsass-wrapper, sass, scss
- Language: Crystal
- Homepage:
- Size: 153 KB
- Stars: 35
- Watchers: 4
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Lists
- awesome-crystal - sass.cr - Compile SASS/SCSS to CSS ([libsass](https://github.com/sass/libsass/) binding) (Converters)
- awesome-crystal - sass.cr - Compile SASS/SCSS to CSS ([libsass](https://github.com/sass/libsass/) binding) (Converters)
- awesome-crystal - sass.cr - Compile SASS/SCSS to CSS ([libsass](https://github.com/sass/libsass/) binding) (Converters)
README
# sass.cr
[![Build Status](https://travis-ci.org/straight-shoota/sass.cr.svg?branch=master)](https://travis-ci.org/straight-shoota/sass.cr)
[![Dependency Status](https://shards.rocks/badge/github/straight-shoota/crinja/status.svg)](https://shards.rocks/github/straight-shoota/crinja)
[![devDependency Status](https://shards.rocks/badge/github/straight-shoota/crinja/dev_status.svg)](https://shards.rocks/github/straight-shoota/crinja)**sass.cr** provides a Sass/SCSS to CSS compiler for [Crystal](https://crystal-lang.org) through bindings to [`libsass`](https://github.com/sass/libsass/).
**[API Documentation](https://straight-shoota.github.io/sass.cr/api/latest/)** ·
**[GitHub Repo](https://github.com/straight-shoota/sass.cr)**## Installation
Add this to your application's `shard.yml`:
```yaml
dependencies:
sass:
github: straight-shoota/sass.cr
```### Installing `libsass`
This shard requires the `libsass` library. It is available in many package managers as `libsass-dev` or `libsass`.
If you can't find a binary distribution of `libsass`, you need to build it yourself (see [Building instructions for `libsass`](https://github.com/sass/libsass/blob/master/docs/build.md)).
The included [Makefile](https://github.com/straight-shoota/sass.cr/blob/master/Makefile) contains a target `install-libsass` to install `libsass` in a global path (usually `/usr/local/lib`).
You can also run `make dep` to install `libsass` in a local path specified by `$LOCAL_LD_PATH` (by default this is `./dynlib`).These bindings have been tested with version `3.4.5` and `3.5.0.beta.3` of `libsass`.
## Usage
```crystal
require "sass"# Compile a Sass/SCSS file:
css = Sass.compile_file("application.scss")# Compile a Sass/SCSS file with options:
css = Sass.compile_file("application.sass", include_path: "includes")# Compile a Sass/SCSS string:
css = Sass.compile("body { div { color: red; } }")# Re-use compiler with options:
compiler = Sass.new(include_path: "includes", precision: 4)
compiler.include_path += ":other_includes"
css_application = compiler.compile_file("application.scss")
css_layout = compiler.compile(%(@import "layout";))
```## Contributing
1. Fork it ( https://github.com/straight-shoota/sass.cr/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
- [Johannes Müller](https://github.com/straight-shoota) - creator, maintainer