# encoding: utf-8 require_relative '../api' module Github class Client::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) arguments(args) do assert_required ['text'] end params = arguments.params params['raw'] = true post_request("markdown", arguments.params) 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!", # "accept": "text/plain", # def render_raw(*args) params = arguments(args).params params['data'] = args.shift params['raw'] = true params['accept'] = params.fetch('accept') { 'text/plain' } post_request("markdown/raw", params) end end # Markdown end # Github