Class: Nanoc3::Filters::AsciiDoc

Inherits:
Nanoc3::Filter show all
Defined in:
lib/nanoc3/filters/asciidoc.rb

Overview

Since:

  • 3.2.0

Constant Summary

Constants inherited from Nanoc3::Filter

Nanoc3::Filter::TMP_BINARY_ITEMS_DIR

Instance Attribute Summary

Attributes inherited from Nanoc3::Filter

#assigns

Instance Method Summary collapse

Methods inherited from Nanoc3::Filter

#depend_on, #filename, from_binary?, #initialize, #output_filename, to_binary?, type

Methods included from PluginRegistry::PluginMethods

#identifier, #identifiers, #named, #register

Methods inherited from Context

#get_binding, #initialize

Constructor Details

This class inherits a constructor from Nanoc3::Filter

Instance Method Details

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

Runs the content through [AsciiDoc](www.methods.co.nz/asciidoc/). This method takes no options.

Parameters:

  • content (String)

    The content to filter

Returns:

  • (String)

    The filtered content

Since:

  • 3.2.0



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/nanoc3/filters/asciidoc.rb', line 16

def run(content, params={})
  # Run command
  stdout = ''
  stderr = ''
  status = systemu(
    [ 'asciidoc', '-o', '-', '-' ],
    'stdin'  => content,
    'stdout' => stdout,
    'stderr' => stderr)

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

  # Get result
  stdout
end