##// END OF EJS Templates
Merge pull request #717 from stefanv/htmlnotebook_highlight_markdown...
Merge pull request #717 from stefanv/htmlnotebook_highlight_markdown Add source highlighting to markdown snippets, with a theme matching the CodeMirror one we use. This only highlights source code in blocks that are indented 4 spaces in markdown cells, leaving <pre> blocks alone. If highlight is desired in <pre> blocks, a further <code> block must be created. The visual theme matches the one used for CodeMirror as much as possible.

File last commit:

r4609:a661b7c0
r4658:9460984a merge
Show More
rwbase.py
47 lines | 1.4 KiB | text/x-python | PythonLexer
Brian E. Granger
More review changes....
r4609 """Base classes and function for readers and writers.
Authors:
* Brian Granger
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2011 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
Brian E. Granger
Full versioning added to nbformat.
r4406 from base64 import encodestring, decodestring
Brian E. Granger
More review changes....
r4609 #-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
Brian E. Granger
Full versioning added to nbformat.
r4406
class NotebookReader(object):
def reads(self, s, **kwargs):
"""Read a notebook from a string."""
raise NotImplementedError("loads must be implemented in a subclass")
def read(self, fp, **kwargs):
"""Read a notebook from a file like object"""
return self.reads(fp.read(), **kwargs)
class NotebookWriter(object):
def writes(self, nb, **kwargs):
"""Write a notebook to a string."""
raise NotImplementedError("loads must be implemented in a subclass")
def write(self, nb, fp, **kwargs):
"""Write a notebook to a file like object"""
return fp.write(self.writes(nb,**kwargs))