diff --git a/nbconvert.py b/nbconvert.py index 7177508..9934e43 100755 --- a/nbconvert.py +++ b/nbconvert.py @@ -475,9 +475,12 @@ def highlight(src, lang='python'): class ConverterMarkdown(Converter): extension = 'md' - def __init__(self, infile, highlight_source=False): + def __init__(self, infile, highlight_source=True, show_prompts=False, + inline_prompt=False): super(ConverterMarkdown, self).__init__(infile) self.highlight_source = highlight_source + self.show_prompts = show_prompts + self.inline_prompt = inline_prompt @DocInherit def render_heading(self, cell): @@ -488,13 +491,18 @@ class ConverterMarkdown(Converter): if not cell.input: return [] lines = [] - #lines.append('----') - lines.extend(['*In[%s]:*' % cell.prompt_number, '']) - src = highlight(cell.input) if self.highlight_source else \ - indent(cell.input) + if self.show_prompts and not self.inline_prompt: + lines.extend(['*In[%s]:*' % cell.prompt_number, '']) + if self.show_prompts and self.inline_prompt: + prompt = 'In[%s]: ' % cell.prompt_number + input_lines = cell.input.split('\n') + src = prompt + input_lines[0] + '\n' + indent('\n'.join(input_lines[1:]), nspaces=len(prompt)) + else: + src = cell.input + src = highlight(src) if self.highlight_source else indent(src) lines.extend([src, '']) - if cell.outputs: - lines.extend(['==>', '']) + if cell.outputs and self.show_prompts and not self.inline_prompt: + lines.extend(['*Out[%s]:*' % cell.prompt_number, '']) for output in cell.outputs: conv_fn = self.dispatch(output.output_type) lines.extend(conv_fn(output)) @@ -538,7 +546,7 @@ class ConverterMarkdown(Converter): @DocInherit def _img_lines(self, img_file): - return ['', '![image](%s)' % img_file, ''] + return ['', '![](%s)' % img_file, ''] @DocInherit def render_display_format_text(self, output):