import os import re from pathlib import Path import nbformat from nbconvert.exporters import MarkdownExporter from nbconvert.preprocessors import Preprocessor class EscapePreprocessor(Preprocessor): def preprocess_cell(self, cell, resources, cell_index): if cell.cell_type == "markdown": # rewrite markdown links to html links (excluding image links) cell.source = re.sub( r"(?\1', cell.source, ) # Fix image paths in tags cell.source = re.sub( r' Path: with open(notebook_path) as f: nb = nbformat.read(f, as_version=4) body, _ = exporter.from_notebook_node(nb) return body