# encoding: utf-8 module Github class Markdown < API # Render an arbritrary Markdown document # # = Parameters # :text - Required string - The Markdown text to render # :mode - Optional string - The rendering mode # * markdown to render a document as plain Markdown, just # like README files are rendered. # * gfm to render a document as user-content, e.g. like user # comments or issues are rendered. In GFM mode, hard line breaks are # always taken into account, and issue and user mentions are # linked accordingly. # :context - Optional string - The repository context, only taken # into account when rendering as gfm # # = Examples # github = Github.new # github.markdown.render # "text": "Hello world github/linguist#1 **cool**, and #1!", # "mode": "gfm", # "context": "github/gollum" # def render(*args) params = args.extract_options! normalize! params assert_required_keys ['text'], params post_request("markdown", params, :raw => true) end # Render a Markdown document in raw mode # # = Input # The raw API it not JSON-based. It takes a Markdown document as plaintext # text/plain or text/x-markdown and renders it as plain # Markdown without a repository context (just like a README.md file is # rendered – this is the simplest way to preview a readme online) # # = Examples # github = Github.new # github.markdown.render_raw "Hello github/linguist#1 **cool**, and #1!", # "mime": "text/plain", # def render_raw(*args) params = args.extract_options! normalize! params mime_type, params['data'] = params['mime'], args.shift post_request("markdown/raw", params, :raw => true, :headers => {'Content-Type' => mime_type || 'text/plain'}) end end # Markdown end # Github