typo_textfilter_markdown.rb
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:2k
源码类别:

Ajax

开发平台:

Others

  1. class Typo
  2.   class Textfilter
  3.     class Markdown < TextFilterPlugin::Markup
  4.       plugin_display_name "Markdown"
  5.       plugin_description 'Markdown markup language from <a href="http://daringfireball.com/">Daring Fireball</a>'
  6.       def self.help_text
  7.         %{
  8. [Markdown](http://daringfireball.net/projects/markdown/) is a simple text-to-HTML converter that
  9. turns common text idioms into HTML.  The [full syntax](http://daringfireball.net/projects/markdown/syntax)
  10. is available from the author's site, but here's a short summary:
  11. * **Paragraphs**: Start a new paragraph by skipping a line.
  12. * **Italics**: Put text in *italics* by enclosing it in either * or _: `*italics*` turns into *italics*.
  13. * **Bold**: Put text in **bold** by enclosing it in two *s: `**bold**` turns into **bold**.
  14. * **Pre-formatted text**: Enclosing a short block of text in backquotes (&#96;) displays it in a monospaced font
  15.   and converts HTML metacharacters so they display correctly.  Example: &#96;`<img src="foo"/>`&#96; displays as `<img src="foo"/>`.
  16.   Also, any paragraph indented 4 or more spaces is treated as pre-formatted text.
  17. * **Block quotes**: Any paragraph (or line) that starts with a `>` is treated as a blockquote.
  18. * **Hyperlinks**: You can create links like this: `[amazon's web site](http://www.amazon.com)`.  That produces
  19.   "[amazon's web site](http://www.amazon.com)".
  20. * **Lists**: You can create numbered or bulleted lists by ending a paragraph with a colon (:), skipping a line, and then using
  21.   asterisks (*, for bullets) or numbers (for numbered lists).  See the
  22.   [Markdown syntax page](http://daringfireball.net/projects/markdown/syntax) for examples.
  23. * **Raw HTML**: Markdown will pass raw HTML through unchanged, so you can use HTML's syntax whenever Markdown doesn't provide
  24.   a reasonable alternative.
  25.         }
  26.       end
  27.       def self.filtertext(blog,content,text,params)
  28.         BlueCloth.new(text.gsub(%r{</?notextile>}, '')).to_html
  29.       end
  30.     end
  31.   end
  32. end