# File lib/nanoc/helpers/filtering.rb, line 31
    def filter(filter_name, arguments={}, &block)
      # Capture block
      data = capture(&block)

      # Find filter
      klass = Nanoc::Filter.named(filter_name)
      raise Nanoc::Errors::UnknownFilter.new(filter_name) if klass.nil?
      filter = klass.new(@item_rep.assigns)

      # Filter captured data
      Nanoc::NotificationCenter.post(:filtering_started, @item_rep, filter_name)
      filtered_data = filter.setup_and_run(data, arguments)
      Nanoc::NotificationCenter.post(:filtering_ended, @item_rep, filter_name)

      # Append filtered data to buffer
      buffer = eval('_erbout', block.binding)
      buffer << filtered_data
    end