Sha256: 3ed6cb8375f5748b4442f321bbaafc7eac6dd688c08be55a6eb474b47d8e0c76

Contents?: true

Size: 772 Bytes

Versions: 1

Compression:

Stored size: 772 Bytes

Contents

# encoding: utf-8

module Nanoc::Filters

  # @since 3.2.0
  class AsciiDoc < Nanoc::Filter

    requires 'systemu'

    # Runs the content through [AsciiDoc](http://www.methods.co.nz/asciidoc/).
    # This method takes no options.
    #
    # @param [String] content The content to filter
    #
    # @return [String] The filtered content
    def run(content, params = {})
      # Run command
      stdout = ''
      stderr = ''
      status = systemu(
        %w( asciidoc -o - - ),
        'stdin'  => content,
        'stdout' => stdout,
        'stderr' => stderr)

      # Show errors
      unless status.success?
        $stderr.puts stderr
        raise "AsciiDoc filter failed with status #{status}"
      end

      # Get result
      stdout
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nanoc-3.6.8 lib/nanoc/filters/asciidoc.rb