/slimi

Yet another implementation for Slim template language.

Primary LanguageRubyMIT LicenseMIT

Slimi

test

Yet another implementation for Slim template language.

Introduction

Slimi provides almost the same functionality as Slim, with a few additional useful features, such as generating AST with detailed location information about embedded Ruby codes.

Originally, Slimi was developed for Slimcop, a RuboCop runner for Slim template. It uses Slimi to apply rubocop --auto-correct to embedded Ruby codes in Slim template.

Usage

Rails

Add this line to your application's Gemfile.

gem 'slimi'

This will cause app/views/**/*.slim files to be rendered by Slimi.

CLI

Slimi can be tested from command line by slimi executable. This takes Slim code from STDIN and converts it into another form.

$ slimi --help
Commands:
  slimi compile         # Convert Slim into Ruby
  slimi erb             # Convert Slim into ERB
  slimi help [COMMAND]  # Describe available commands or one specific command
  slimi parse           # Convert Slim into Temple expression
  slimi render          # Convert Slim into HTML

Compatibility

  • Line indicators
    • Vebatim text
    • Inline HTML
    • Control
    • Output
    • HTML comment
    • Code comment
    • IE conditional comment
  • Tags
    • Doctype declaration
    • Closed tags
    • Trailing and leading white space
    • Inline tags
    • Text content
    • Dynamic content
    • Tag shortcuts
    • Dynamic tags
  • Attributes
    • Attributes wrapper
    • Quoted attributes
    • Ruby attributes
    • Boolean attributes
    • Attribute merging
    • Attribute shortcuts
    • Splat attributes
  • Plugins
    • Include partials
    • Translator/I18n
    • Logic-less mode
    • Smart text mode
  • CLI
    • Convert Slim to Ruby
    • Convert Slim to HTML
    • Convert Slim to ERB
  • Slimi-only features
    • Embedded Ruby code location
    • Support for annotate_rendered_view_with_filenames
    • Convert Slim to Temple expression by CLI