class Writeup::Document

Attributes

markdown[RW]

Public Class Methods

new(markdown) click to toggle source
# File lib/writeup/document.rb, line 4
def initialize(markdown)
  self.markdown = markdown
end

Public Instance Methods

html() click to toggle source
# File lib/writeup/document.rb, line 8
def html
  parsed[:output]
end
title() click to toggle source
# File lib/writeup/document.rb, line 16
def title
  parsed[:title]
end
toc() click to toggle source
# File lib/writeup/document.rb, line 12
def toc
  parsed[:toc]
end

Private Instance Methods

html_pipeline() click to toggle source
# File lib/writeup/document.rb, line 26
def html_pipeline
  @pipeline ||= HTML::Pipeline.new [
    HTML::Pipeline::MarkdownFilter,
    TaskList::Filter,
    HTML::Pipeline::SanitizationFilter,
    Writeup::Filters::TableOfContents,
    Writeup::Filters::Title,
    HTML::Pipeline::ImageMaxWidthFilter,
    HTML::Pipeline::SyntaxHighlightFilter,
    HTML::Pipeline::EmojiFilter,
    HTML::Pipeline::AbsoluteSourceFilter,
    Writeup::Filters::AbsoluteLinks,
    HTML::Pipeline::MentionFilter,
    HTML::Pipeline::AutolinkFilter
  ], {
    asset_root: "https://assets-cdn.github.com/images/icons",
  }
end
parsed() click to toggle source
# File lib/writeup/document.rb, line 22
def parsed
  @parsed ||= html_pipeline.call(markdown)
end