Class: HTML::Pipeline::AsciiDocFilter

Inherits:
TextFilter
  • Object
show all
Defined in:
lib/html/pipeline/asciidoc_filter.rb

Overview

HTML Filter that converts AsciiDoc text into HTML.

This filter is different from most in that it can take a non-HTML as input. It must be used as the first filter in a pipeline.

This filter does not write any additional information to the context hash.

Examples

require 'html/pipeline'
require 'html/pipeline/asciidoc_filter'

filters = [
  HTML::PipelineExt::AsciiDocFilter,
  HTML::Pipeline::SanitizationFilter,
  HTML::Pipeline::ImageMaxWidthFilter,
  HTML::Pipeline::EmojiFilter,
  HTML::Pipeline::MentionFilter,
  HTML::Pipeline::AutolinkFilter,
  HTML::Pipeline::TableOfContentsFilter,
  HTML::Pipeline::SyntaxHighlightFilter
]

context = {
  :asset_root => 'https://github.global.ssl.fastly.net/images/icons/emoji'
}

pipeline = HTML::Pipeline.new filters, context
pipeline.setup_instrumentation

input = <<EOS
= Sample Document
Author Name

Preamble paragraph.

== Sample Section

Section content.

.GitHub usernames
- @jch
- @jm
- @mojavelinux

[source,ruby]
--
require 'asciidoctor'
puts Asciidoctor.convert('This filter brought to you by http://asciidoctor.org[Asciidoctor].')
--

:shipit: 
EOS

puts pipeline.call(input)[:output]

Instance Method Summary collapse

Constructor Details

#initialize(text, context = nil, result = nil) ⇒ AsciiDocFilter

Returns a new instance of AsciiDocFilter.



65
66
67
# File 'lib/html/pipeline/asciidoc_filter.rb', line 65

def initialize(text, context = nil, result = nil)
  super text, context, result
end

Instance Method Details

#callObject

Convert AsciiDoc to HTML using Asciidoctor



70
71
72
# File 'lib/html/pipeline/asciidoc_filter.rb', line 70

def call
  Asciidoctor.convert @text, :safe => :secure, :attributes => %w(showtitle=@ idprefix= idseparator=- env=github env-github source-highlighter=html-pipeline)
end