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.render('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.



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

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

Instance Method Details

#callObject

Convert AsciiDoc to HTML using Asciidoctor



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

def call
  Asciidoctor.render @text, :attributes => 'showtitle idprefix idseparator=- env=github env-github source-highlighter=html-pipeline'
end