Phoenix integration is provided by phoenix_slime.

Usage

  1. Add {:phoenix_slime, "~> 0.12.0"} to your deps in mix.exs.
  2. Add the following to your project's config/config.exs:
config :phoenix, :template_engines,
  slim: PhoenixSlime.Engine,
  slime: PhoenixSlime.Engine

Live Reload

In my_app/config/dev.exs, include the slim and slime extensions in the list of watched files:

# Watch static and templates for browser reloading.
config :my_app, MyApp.Endpoint,
  live_reload: [
    patterns: [
      ~r{priv/static/.*(js|css|png|jpeg|jpg|gif)$},
      ~r{web/views/.*(ex)$},
      ~r{web/templates/.*(eex|slim|slime)$}
    ]
  ]

Generators

This library also includes two mix tasks:

  • mix phx.gen.html.slime
  • mix phx.gen.layout.slime

The first task creates a html resource in the same way phoenix.gen.html does with the exception that all files are .slim files instead of .eex files.

The second task creates a new web/templates/layout/app.html.slim with the exact same content as the app.html.eex file. Do not forget to remove the old app.html.eex file.