Class: Nanoc::Filters::Slim Private

Inherits:
Nanoc::Filter show all
Defined in:
lib/nanoc/filters/slim.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Since:

  • 3.2.0

Constant Summary

Constants inherited from Nanoc::Filter

Nanoc::Filter::TMP_BINARY_ITEMS_DIR

Instance Attribute Summary

Attributes inherited from Nanoc::Filter

#assigns

Instance Method Summary collapse

Methods inherited from Nanoc::Filter

#depend_on, #filename, from_binary?, #initialize, #output_filename, requires, setup, #setup_and_run, to_binary?, type

Methods included from Int::PluginRegistry::PluginMethods

#all, #identifier, #identifiers, #named, #register

Methods inherited from Int::Context

#get_binding, #initialize

Constructor Details

This class inherits a constructor from Nanoc::Filter

Instance Method Details

#run(content, params = {}) ⇒ String

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Runs the content through [Slim](slim-lang.com/). This method takes no options.

Parameters:

  • content (String)

    The content to filter

Returns:

  • (String)

    The filtered content

Since:

  • 3.2.0



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/nanoc/filters/slim.rb', line 14

def run(content, params = {})
  params = {
    disable_capture: true, # Capture managed by Nanoc
    buffer: '_erbout', # Force slim to output to the buffer used by Nanoc
  }.merge params

  # Create context
  context = ::Nanoc::Int::Context.new(assigns)

  ::Slim::Template.new(params) { content }.render(context) { assigns[:content] }
end