class PublifyApp::Textfilter::Markdown

Public Class Methods

filtertext(text) click to toggle source
# File lib/publify_textfilter_markdown.rb, line 48
def self.filtertext(text)
  # FIXME: Workaround for BlueCloth not interpreting <publify:foo> as an
  # HTML tag. See <http://deveiate.org/projects/BlueCloth/ticket/70>.
  escaped_macros = text.gsub(%r{(</?publify):}, '\1X')
  html = BlueCloth.new(escaped_macros).to_html.gsub(%r{</?notextile>}, "")
  html.gsub(%r{(</?publify)X}, '\1:')
end
help_text() click to toggle source
# File lib/publify_textfilter_markdown.rb, line 14
      def self.help_text
        <<~TXT
          [Markdown](http://daringfireball.net/projects/markdown/) is a simple
          text-to-HTML converter that turns common text idioms into HTML.  The
          [full syntax](http://daringfireball.net/projects/markdown/syntax) is
          available from the author's site, but here's a short summary:

          * **Paragraphs**: Start a new paragraph by skipping a line.
          * **Italics**: Put text in *italics* by enclosing it in either \* or
            \_: `*italics*` turns into *italics*.
          * **Bold**: Put text in **bold** by enclosing it in two \*s:
            `**bold**` turns into **bold**.
          * **Pre-formatted text**: Enclosing a short block of text in
            backquotes (&#96;) displays it in a monospaced font and converts HTML
            metacharacters so they display correctly.  Example:
            &#96;`<img src="foo"/>`&#96; displays as `<img src="foo"/>`. Also,
            any paragraph indented 4 or more spaces is treated as pre-formatted
            text.
          * **Block quotes**: Any paragraph (or line) that starts with a `>` is
            treated as a blockquote.
          * **Hyperlinks**: You can create links like this:
            `[amazon's web site](http://www.amazon.com)`. That produces
            "[amazon's web site](http://www.amazon.com)".
          * **Lists**: You can create numbered or bulleted lists by ending a
            paragraph with a colon (:), skipping a line, and then using asterisks
            (*, for bullets) or numbers (for numbered lists).  See the
            [Markdown syntax page](http://daringfireball.net/projects/markdown/syntax)
            for examples.
          * **Raw HTML**: Markdown will pass raw HTML through unchanged, so you
            can use HTML's syntax whenever Markdown doesn't provide a reasonable
            alternative.
        TXT
      end