No description
Find a file
Jerome Gravel-Niquet f31dad17d7 Initial commit
2016-02-14 13:05:54 -05:00
spec Initial commit 2016-02-14 13:05:54 -05:00
src Initial commit 2016-02-14 13:05:54 -05:00
.gitignore Initial commit 2016-02-14 13:05:54 -05:00
.travis.yml Initial commit 2016-02-14 13:05:54 -05:00
LICENSE Initial commit 2016-02-14 13:05:54 -05:00
README.md Initial commit 2016-02-14 13:05:54 -05:00
shard.yml Initial commit 2016-02-14 13:05:54 -05:00

Kilt

Generic templating interface for Crystal.

Goal

Simplify developers' lives by abstracting template rendering for multiple template languages.

Supported

Language File extensions Required libraries
ECR .ecr none
Slang .slang slang

Installation

Add this to your application's shard.yml:

dependencies:
  kilt:
    github: jeromegn/kilt
  
  # Any other template languages Crystal shard

Usage

Add template language dependencies, as listed in the support table above.

require "kilt"
require "slang" # if you want to use Slang templates, for instance

# With a Class

class YourView
  Kilt.file("path/to/template.ecr") # Adds a to_s method
end
puts YourView.new.to_s # => <compiled template>


# Embedded

str = String.build do |str|
  Kilt.embed "path/to/template.slang", "str"
end

puts str # => <compiled template>

Contributing

Please contribute your own "adapter" if you create a template language for Crystal that's not yet supported here!

  1. Fork it ( https://github.com/jeromegn/kilt/fork )
  2. Create your feature branch (git checkout -b my-awesome-template-language)
  3. Commit your changes (git commit -am 'Add my-awesome-template-language')
  4. Push to the branch (git push origin my-awesome-template-language)
  5. Create a new Pull Request

Contributors

  • jeromegn Jerome Gravel-Niquet - creator, maintainer