47 lines
1.3 KiB
Ruby
47 lines
1.3 KiB
Ruby
module MarkdownHelper
|
|
|
|
def markdown(content)
|
|
md = Redcarpet::Markdown.new(FlavoredMarkdown, MARKDOWN_OPTS)
|
|
Sanitize.fragment(md.render(content), EVIL_TAGS).html_safe
|
|
end
|
|
|
|
def strip_markdown(content)
|
|
md = Redcarpet::Markdown.new(Redcarpet::Render::StripDown, MARKDOWN_OPTS)
|
|
CGI.unescape_html(Sanitize.fragment(md.render(content), EVIL_TAGS)).strip
|
|
end
|
|
|
|
def twitter_markdown(content)
|
|
md = Redcarpet::Markdown.new(TwitteredMarkdown, MARKDOWN_OPTS)
|
|
CGI.unescape_html(Sanitize.fragment(md.render(content), EVIL_TAGS)).strip
|
|
end
|
|
|
|
def raw_markdown(content)
|
|
md = Redcarpet::Markdown.new(Redcarpet::Render::HTML, RAW_MARKDOWN_OPTS)
|
|
raw md.render content
|
|
end
|
|
|
|
def get_markdown(path, relative_to = Rails.root)
|
|
begin
|
|
File.read relative_to.join(path)
|
|
rescue Errno::ENOENT
|
|
"# Error reading #{relative_to.join(path)}"
|
|
end
|
|
end
|
|
|
|
def markdown_io(path, relative_to = Rails.root)
|
|
markdown get_markdown path, relative_to
|
|
end
|
|
|
|
def strip_markdown_io(path, relative_to = Rails.root)
|
|
strip_markdown get_markdown path, relative_to
|
|
end
|
|
|
|
def twitter_markdown_io(path, relative_to = Rails.root)
|
|
twitter_markdown get_markdown path, relative_to
|
|
end
|
|
|
|
def raw_markdown_io(path, relative_to = Rails.root)
|
|
raw_markdown get_markdown path, relative_to
|
|
end
|
|
end
|