def run(self): # check if there are spaces in the notebook name md_path = self.arguments[0] if ' ' in md_path: raise ValueError( "Due to issues with docutils stripping spaces from links, white " "space is not allowed in notebook filenames '{0}'".format( md_path)) # check if raw html is supported if not self.state.document.settings.raw_enabled: raise self.warning('"%s" directive disabled.' % self.name) # get path to markdown file md_filename = self.arguments[0] md_dir = os.path.join(setup.confdir, '..') md_abs_path = os.path.abspath(os.path.join(md_dir, md_filename)) with open(md_abs_path) as file: source = file.read() ptype = self.pandoc_from if 'from' in self.options: ptype = self.options['from'] if ptype is '': ptype = 'markdown' # if ptype != '': # arglist = ['pandoc', '--from=' + ptype, '--to=rst', md_abs_path] # else: # arglist = ['pandoc', '--to=rst', md_abs_path] # # p = subprocess.Popen(arglist, # stdout=subprocess.PIPE, # stderr=subprocess.PIPE # ) # # out, err = p.communicate() # # print(out) out = pandoc(source, ptype, 'rst') settings = OptionParser(components=(Parser, )).get_default_values() parser = Parser() document = new_document('DOC', settings) parser.parse(out, document) return [node for node in document]
def run(self): # check if there are spaces in the notebook name md_path = self.arguments[0] if ' ' in md_path: raise ValueError( "Due to issues with docutils stripping spaces from links, white " "space is not allowed in notebook filenames '{0}'".format(md_path)) # check if raw html is supported if not self.state.document.settings.raw_enabled: raise self.warning('"%s" directive disabled.' % self.name) # get path to markdown file md_filename = self.arguments[0] md_dir = os.path.join(setup.confdir, '..') md_abs_path = os.path.abspath(os.path.join(md_dir, md_filename)) with open(md_abs_path) as file: source = file.read() ptype = self.pandoc_from if 'from' in self.options: ptype = self.options['from'] if ptype is '': ptype = 'markdown' # if ptype != '': # arglist = ['pandoc', '--from=' + ptype, '--to=rst', md_abs_path] # else: # arglist = ['pandoc', '--to=rst', md_abs_path] # # p = subprocess.Popen(arglist, # stdout=subprocess.PIPE, # stderr=subprocess.PIPE # ) # # out, err = p.communicate() # # print(out) out = pandoc(source, ptype, 'rst') settings = OptionParser(components=(Parser,)).get_default_values() parser = Parser() document = new_document('DOC', settings) parser.parse(out, document) return [node for node in document]
def markdown2rst(source): """Convert a markdown string to LaTeX via pandoc. This function will raise an error if pandoc is not installed. Any error messages generated by pandoc are printed to stderr. Parameters ---------- source : string Input string, assumed to be valid markdown. Returns ------- out : string Output as returned by pandoc. """ return pandoc(source, 'markdown', 'rst')
def markdown2rst(source, extra_args=None): """Convert a markdown string to ReST via pandoc. This function will raise an error if pandoc is not installed. Any error messages generated by pandoc are printed to stderr. Parameters ---------- source : string Input string, assumed to be valid markdown. Returns ------- out : string Output as returned by pandoc. """ return pandoc(source, "markdown", "rst", extra_args=extra_args)
def markdown2latex(source, markup="markdown", extra_args=None): """Convert a markdown string to LaTeX via pandoc. This function will raise an error if pandoc is not installed. Any error messages generated by pandoc are printed to stderr. Parameters ---------- source : string Input string, assumed to be valid markdown. markup : string Markup used by pandoc's reader default : pandoc extended markdown (see http://johnmacfarlane.net/pandoc/README.html#pandocs-markdown) Returns ------- out : string Output as returned by pandoc. """ return pandoc(source, markup, "latex", extra_args=extra_args)
def markdown2latex(source, markup='markdown', extra_args=None): """Convert a markdown string to LaTeX via pandoc. This function will raise an error if pandoc is not installed. Any error messages generated by pandoc are printed to stderr. Parameters ---------- source : string Input string, assumed to be valid markdown. markup : string Markup used by pandoc's reader default : pandoc extended markdown (see http://johnmacfarlane.net/pandoc/README.html#pandocs-markdown) Returns ------- out : string Output as returned by pandoc. """ return pandoc(source, markup, 'latex', extra_args=extra_args)
def markdown2html(source): """Convert a markdown string to HTML via pandoc""" return pandoc(source, 'markdown', 'html', extra_args=['--mathjax'])
def markdown2html_pandoc(source): """Convert a markdown string to HTML via pandoc""" return pandoc(source, 'markdown', 'html', extra_args=['--mathjax'])
def markdown2html_pandoc(source, extra_args=None): """Convert a markdown string to HTML via pandoc""" extra_args = extra_args or ['--mathjax'] return pandoc(source, 'markdown', 'html', extra_args=extra_args)
def markdown2html_pandoc(source, extra_args=None): """Convert a markdown string to HTML via pandoc""" extra_args = extra_args or ["--mathjax"] return pandoc(source, "markdown", "html", extra_args=extra_args)
def markdown2latex(source): """Custom markdown2latex converter with additional options.""" args = ['--chapter', '--natbib'] return pandoc(source, 'markdown', 'latex', args)
def markdown2html(source): """Convert a markdown string to HTML via pandoc""" return pandoc(source, 'markdown', 'html')