Module: FriendlyMarkdown
- Defined in:
- lib/friendly_markdown.rb
Class Method Summary collapse
- .autolink(text) ⇒ Object
- .compile(input, mconfig: markdown_config, sconfig: sanitize_config) ⇒ Object
- .markdown(md, config = markdown_config) ⇒ Object
- .markdown_config ⇒ Object
- .sanitize(html, config = sanitize_config) ⇒ Object
- .sanitize_config ⇒ Object
Class Method Details
.autolink(text) ⇒ Object
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/friendly_markdown.rb', line 11 def autolink text text.gsub(%r{\<?\bhttps?://\S+[\b/]?}) do |m| if m =~ /\A<.+>\z$/ s = m[1..-2] %Q{<<a href="#{s}">#{s}</a>>} else %Q{<a href="#{m}">#{m}</a>} end end end |
.compile(input, mconfig: markdown_config, sconfig: sanitize_config) ⇒ Object
7 8 9 |
# File 'lib/friendly_markdown.rb', line 7 def compile input, mconfig: markdown_config, sconfig: sanitize_config sanitize(markdown(autolink(input.strip), mconfig), sconfig) end |
.markdown(md, config = markdown_config) ⇒ Object
22 23 24 |
# File 'lib/friendly_markdown.rb', line 22 def markdown md, config=markdown_config Kramdown::Document.new(md, config).to_html end |
.markdown_config ⇒ Object
30 31 32 |
# File 'lib/friendly_markdown.rb', line 30 def markdown_config {:input => 'GFM', :hard_wrap => true} end |
.sanitize(html, config = sanitize_config) ⇒ Object
26 27 28 |
# File 'lib/friendly_markdown.rb', line 26 def sanitize html, config=sanitize_config Sanitize.fragment(html, config) end |
.sanitize_config ⇒ Object
34 35 36 |
# File 'lib/friendly_markdown.rb', line 34 def sanitize_config Sanitize::Config::RELAXED end |