from setuptools import setup, find_packages


def parse_requirements(requirements):
    with open(requirements) as f:
        return [l.strip('\n') for l in f if l.strip('\n') and not l.startswith('#')]


requirements = parse_requirements('requirements.txt')

# Taken from option 3 of https://packaging.python.org/guides/single-sourcing-package-version/
version = {}
with open('mfr/version.py') as fp:
    exec(fp.read(), version)

setup(
    name='mfr',
    version=version['__version__'],
    namespace_packages=['mfr', 'mfr.extensions', 'mfr.providers'],
    description='Modular File Renderer',
    author='Center for Open Science',
    author_email='contact@cos.io',
    url='https://github.com/CenterForOpenScience/modular-file-renderer',
    packages=find_packages(exclude=("tests*", )),
    package_dir={'mfr': 'mfr'},
    include_package_data=True,
    # install_requires=requirements,
    zip_safe=False,
    classifiers=[
        'Natural Language :: English',
        'Intended Audience :: Developers',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.5',
        'Development Status :: 5 - Production/Stable',
        'License :: OSI Approved :: Apache Software License',
    ],
    provides=[
        'mfr.extensions',
        'mfr.providers',
    ],
    entry_points={
        'mfr.providers': [
            'http = mfr.providers.http:HttpProvider',
            'osf = mfr.providers.osf:OsfProvider',
        ],
        'mfr.exporters': [
            # google docs
            '.gdraw = mfr.extensions.image:ImageExporter',
            '.gdoc = mfr.extensions.unoconv:UnoconvExporter',
            '.gsheet = mfr.extensions.unoconv:UnoconvExporter',
            '.gslides = mfr.extensions.unoconv:UnoconvExporter',

            # image
            '.jpg = mfr.extensions.image:ImageExporter',
            '.jpeg = mfr.extensions.image:ImageExporter',
            '.png = mfr.extensions.image:ImageExporter',
            '.bmp = mfr.extensions.image:ImageExporter',
            '.gif = mfr.extensions.image:ImageExporter',
            '.psd = mfr.extensions.image:ImageExporter',
            '.tif = mfr.extensions.pdf:PdfExporter',
            '.tiff = mfr.extensions.pdf:PdfExporter',

            # jsc3d
            '.stp = mfr.extensions.jsc3d:JSC3DExporter',
            '.step = mfr.extensions.jsc3d:JSC3DExporter',

            # unoconv
            # '.bib = mfr.extensions.unoconv:UnoconvExporter',
            # '.bmp = mfr.extensions.unoconv:UnoconvExporter',
            # '.csv = mfr.extensions.unoconv:UnoconvExporter',
            '.dbf = mfr.extensions.unoconv:UnoconvExporter',
            '.dif = mfr.extensions.unoconv:UnoconvExporter',
            '.doc = mfr.extensions.unoconv:UnoconvExporter',
            '.docx = mfr.extensions.unoconv:UnoconvExporter',
            '.emf = mfr.extensions.unoconv:UnoconvExporter',
            '.eps = mfr.extensions.unoconv:UnoconvExporter',
            '.fodg = mfr.extensions.unoconv:UnoconvExporter',
            '.fodp = mfr.extensions.unoconv:UnoconvExporter',
            '.fods = mfr.extensions.unoconv:UnoconvExporter',
            '.fodt = mfr.extensions.unoconv:UnoconvExporter',
            # '.gif = mfr.extensions.unoconv:UnoconvExporter',
            # '.html = mfr.extensions.unoconv:UnoconvExporter',
            # '.jpg = mfr.extensions.unoconv:UnoconvExporter',
            # '.ltx = mfr.extensions.unoconv:UnoconvExporter',
            '.met = mfr.extensions.unoconv:UnoconvExporter',
            '.odd = mfr.extensions.unoconv:UnoconvExporter',
            '.odg = mfr.extensions.unoconv:UnoconvExporter',
            '.odp = mfr.extensions.unoconv:UnoconvExporter',
            '.ods = mfr.extensions.unoconv:UnoconvExporter',
            '.odt = mfr.extensions.unoconv:UnoconvExporter',
            '.otg = mfr.extensions.unoconv:UnoconvExporter',
            '.otp = mfr.extensions.unoconv:UnoconvExporter',
            '.ots = mfr.extensions.unoconv:UnoconvExporter',
            '.ott = mfr.extensions.unoconv:UnoconvExporter',
            '.pbm = mfr.extensions.unoconv:UnoconvExporter',
            '.pct = mfr.extensions.unoconv:UnoconvExporter',
            # '.pdb = mfr.extensions.unoconv:UnoconvExporter',
            # '.pdf = mfr.extensions.unoconv:UnoconvExporter',
            '.pgm = mfr.extensions.unoconv:UnoconvExporter',
            # '.png = mfr.extensions.unoconv:UnoconvExporter',
            '.pot = mfr.extensions.unoconv:UnoconvExporter',
            '.potm = mfr.extensions.unoconv:UnoconvExporter',
            '.ppm = mfr.extensions.unoconv:UnoconvExporter',
            '.pps = mfr.extensions.unoconv:UnoconvExporter',
            '.ppt = mfr.extensions.unoconv:UnoconvExporter',
            '.pptx = mfr.extensions.unoconv:UnoconvExporter',
            '.psw = mfr.extensions.unoconv:UnoconvExporter',
            '.pwp = mfr.extensions.unoconv:UnoconvExporter',
            '.pxl = mfr.extensions.unoconv:UnoconvExporter',
            '.ras = mfr.extensions.unoconv:UnoconvExporter',
            '.rtf = mfr.extensions.unoconv:UnoconvExporter',
            '.sda = mfr.extensions.unoconv:UnoconvExporter',
            '.sdc = mfr.extensions.unoconv:UnoconvExporter',
            '.sdd = mfr.extensions.unoconv:UnoconvExporter',
            '.sdw = mfr.extensions.unoconv:UnoconvExporter',
            '.slk = mfr.extensions.unoconv:UnoconvExporter',
            '.stc = mfr.extensions.unoconv:UnoconvExporter',
            '.std = mfr.extensions.unoconv:UnoconvExporter',
            '.sti = mfr.extensions.unoconv:UnoconvExporter',
            '.stw = mfr.extensions.unoconv:UnoconvExporter',
            '.svg = mfr.extensions.unoconv:UnoconvExporter',
            '.svm = mfr.extensions.unoconv:UnoconvExporter',
            # Renders junk at the moment
            # '.swf = mfr.extensions.unoconv:UnoconvExporter',
            '.sxc = mfr.extensions.unoconv:UnoconvExporter',
            '.sxd = mfr.extensions.unoconv:UnoconvExporter',
            '.sxi = mfr.extensions.unoconv:UnoconvExporter',
            '.sxw = mfr.extensions.unoconv:UnoconvExporter',
            # '.tiff = mfr.extensions.unoconv:UnoconvExporter',
            # '.txt = mfr.extensions.unoconv:UnoconvExporter',
            '.uop = mfr.extensions.unoconv:UnoconvExporter',
            '.uos = mfr.extensions.unoconv:UnoconvExporter',
            '.uot = mfr.extensions.unoconv:UnoconvExporter',
            '.vor = mfr.extensions.unoconv:UnoconvExporter',
            '.wmf = mfr.extensions.unoconv:UnoconvExporter',
            '.wps = mfr.extensions.unoconv:UnoconvExporter',
            # '.xhtml = mfr.extensions.unoconv:UnoconvExporter',
            # '.xls = mfr.extensions.unoconv:UnoconvExporter',
            # '.xlsx = mfr.extensions.unoconv:UnoconvExporter',
            '.xlt = mfr.extensions.unoconv:UnoconvExporter',
            # '.xml = mfr.extensions.unoconv:UnoconvExporter',
            '.xpm = mfr.extensions.unoconv:UnoconvExporter',
        ],
        'mfr.renderers': [
            # audio
            '.mp3 = mfr.extensions.audio:AudioRenderer',
            '.ogg = mfr.extensions.audio:AudioRenderer',
            '.wav = mfr.extensions.audio:AudioRenderer',

            # code pygments
            'none = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.1 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.2 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.3 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.4 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.5 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.6 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.6pm = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.6pl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.7 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.abap = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ada = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.adb = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ads = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.agda = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ahk = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ahkl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.aj = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.als = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.amw = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.anl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.apl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.applescript = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.arexx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.as = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.asax = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ascx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ashx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.asm = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.asmx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.aspx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.asy = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.at = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.au3 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.aux = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.awk = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.axd = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.b = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.bas = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.bash = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.bat = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.bb = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.bed = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.befunge = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.bf = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.bib = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.bmx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.boo = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.boxs = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.bro = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.bst = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.bug = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.c = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.c++ = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.c++-objdump = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.c-objdump = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cbl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cdf = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cmdi = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ceylon = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cf = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cfc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cfg = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cfm = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cfml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.chai = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.chpl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cirru = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.clay = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.clj = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cljs = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cls = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cmake = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cmd = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cob = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.coffee = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cpp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cpp-objdump = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cpy = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.croc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cry = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cs = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.csh = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.csl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.css = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.css.in = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cu = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cuh = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cw = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cxx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cxx-objdump = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cyp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.cypher = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.d = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.d-objdump = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.darcspatch = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.dart = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.decls = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.def = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.dg = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.di = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.diff = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.docker = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.dpatch = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.dtd = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.duby = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.duel = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.dyl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.dylan = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.dylan-console = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.e = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.eaf = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ebnf = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ebuild = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ec = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ecl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.eclass = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.eh = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.el = mfr.extensions.codepygments:CodePygmentsRenderer',
            # '.eps = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.eqn = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.erl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.erl-sh = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.es = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.escript = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.evoque = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ex = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.exs = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.f = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.f90 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.factor = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.fan = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.fancypack = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.fas = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.fasta = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.feature = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.fhtml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.flx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.flxh = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.frag = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.fs = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.fsi = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.fun = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.fy = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.g = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.gap = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.gd = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.gdc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.gdt = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.gemspec = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.geo = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.gi = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.go = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.golo = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.groovy = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.gs = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.gsp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.gst = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.gsx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.h = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.h++ = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.haml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.handlebars = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.hbs = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.hdp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.hh = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.hpp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.hrl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.hs = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.htm = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.html = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.hx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.hxml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.hxsl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.hxx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.hy = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.hyb = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.i = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.i6t = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.i7x = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.idc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.idr = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ijm = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ik = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.inc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.inf = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ini = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ino = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.inp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.intr = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.io = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ipf = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.iqx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.j = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.jade = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.jag = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.java = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.jbst = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.jl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.js = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.js.in = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.json = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.jsonld = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.jsp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.jst = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.jsx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.kal = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.kid = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.kk = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.kki = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ksh = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.kt = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lagda = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lasso = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lasso[89] = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lcry = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lean = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lgs = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lgt = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lhs = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lid = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lidr = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.liquid = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lisp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.list = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ll = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.log = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.logtalk = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ls = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lsl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lsp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lss = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lst = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ltx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lua = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.lyx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.m = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ma = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mak = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.man = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mao = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.maql = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mask = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mdp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mhtml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mi = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mk = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mli = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mll = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mly = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mm = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mo = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mod = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.monkey = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.moo = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.moon = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mq4 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mq5 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mqh = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.msc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mu = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.mxml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.myt = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.n = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.nb = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.nbp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.nc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.nex = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ni = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.nim = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.nimrod = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.nit = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.nix = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.nl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.nlogo = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.nqp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ns2 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.nsh = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.nsi = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.objdump = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.objdump-intel = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ooc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.opa = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.opensesame = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.org = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.p = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.p6 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.p6l = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.p6m = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pan = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pas = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.patch = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.php = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.php[345] = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.phtml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pig = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pike = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pl6 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.plot = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.plt = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pm = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pm6 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pmod = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.po = mfr.extensions.codepygments:CodePygmentsRenderer',
            # '.pot = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pov = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.praat = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.prg = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.prj = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pro = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.prolog = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.properties = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.proto = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ps = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.psydat = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.psyexp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ps1 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.psm1 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pwn = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pxd = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pxi = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.py = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.py3tb = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pypylog = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pytb = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pyw = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pyx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.pzfx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.qml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.qsf = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.r = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.r3 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rake = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rb = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rbw = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rbx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rd = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rdf = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.reb = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.red = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.reds = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.reg = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rest = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rex = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rexx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rhtml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ris = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rkt = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rktd = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rktl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rm5 = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rnw = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.robot = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rout = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rpf = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rq = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rql = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rs = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rsl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rss = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rvt = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rx = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.s = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sage = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sass = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.scad = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.scala = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.scaml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sce = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sci = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sch = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.scm = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.scss = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sdf = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sh = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sh-session = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.shell-session = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sig = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.slim = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sls = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.smali = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.smcl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.snobol = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sparql = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.spec = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.spt = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sql = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sqlite3-console = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ss = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ssp = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.st = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.stan = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sty = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sv = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.svh = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.swg = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.swift = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.t = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.tab = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.tac = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.tcl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.tcsh = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.tea = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.tem = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.tex = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.textgrid = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.thy = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.tmpl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.toc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.todotxt = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.tpl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.tre = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.treetop = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ts = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.tst = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.tt = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.ttl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.twig = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.txt = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rmd = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.do = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sas = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.sps = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.u = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.umbrella = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.v = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.vala = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.vapi = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.vark = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.vb = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.vert = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.vhd = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.vhdl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.vim = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.vm = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.vmrk = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.vtk = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.vtt = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.weechatlog = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.wlua = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.wndpos = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.wsdl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.wsf = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.x = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xhtml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xi = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xm = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xmi = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xpl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xq = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xql = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xqm = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xquery = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xqy = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xsd = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xsl = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xslt = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xtend = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.xul.in = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.yaml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.yml = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.zep = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.*config.in* = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.renviron = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rhistory = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.rprofile = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.bash_* = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.bashrc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.exrc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.gvimrc = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.htaccess = mfr.extensions.codepygments:CodePygmentsRenderer',
            '.vimrc = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.cmakelists.txt = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.dockerfile = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.gnumakefile = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.kconfig = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.makefile = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.makefile.* = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.pkgbuild = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.rakefile = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.sconscript = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.sconstruct = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'._exrc = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'._gvimrc = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'._vimrc = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.apache.conf = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.apache2.conf = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.autodelegate = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.autohandler = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.bash_* = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.bashrc = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.control = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.dhandler = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.external.in* = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.gvimrc = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.makefile = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.sources.list = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.squid.conf = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.standard-modules.in = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.todo.txt = mfr.extensions.codepygments:CodePygmentsRenderer',
            #'.vimrc' = mfr.extensions.codepygments:CodePygmentsRenderer',

            # docx
            # '.docx = mfr.extensions.docx:DocxRenderer',

            # google docs
            '.gdraw = mfr.extensions.image:ImageRenderer',
            '.gdoc = mfr.extensions.unoconv:UnoconvRenderer',
            '.gsheet = mfr.extensions.tabular:TabularRenderer',
            '.gslides = mfr.extensions.unoconv:UnoconvRenderer',

            # image
            '.bmp = mfr.extensions.image:ImageRenderer',
            '.jpg = mfr.extensions.image:ImageRenderer',
            '.jpeg = mfr.extensions.image:ImageRenderer',
            '.gif = mfr.extensions.image:ImageRenderer',
            '.ico = mfr.extensions.image:ImageRenderer',
            '.png = mfr.extensions.image:ImageRenderer',
            '.psd = mfr.extensions.image:ImageRenderer',
            '.tif = mfr.extensions.pdf:PdfRenderer',
            '.tiff = mfr.extensions.pdf:PdfRenderer',

            # ipynb
            '.ipynb = mfr.extensions.ipynb:IpynbRenderer',

            # md
            '.md = mfr.extensions.md:MdRenderer',
            '.markdown = mfr.extensions.md:MdRenderer',

            # jsc3d
            '.3ds = mfr.extensions.jsc3d:JSC3DRenderer',
            '.ctm = mfr.extensions.jsc3d:JSC3DRenderer',
            '.obj = mfr.extensions.jsc3d:JSC3DRenderer',
            '.stl = mfr.extensions.jsc3d:JSC3DRenderer',
            '.stp = mfr.extensions.jsc3d:JSC3DRenderer',
            '.step = mfr.extensions.jsc3d:JSC3DRenderer',


            # pdb
            '.pdb = mfr.extensions.pdb:PdbRenderer',

            # pdf
            '.pdf = mfr.extensions.pdf:PdfRenderer',

            # rst
            '.rst = mfr.extensions.rst:RstRenderer',

            # svg
            # '.svg = mfr.extensions.svg:SvgRenderer',

            # tabular
            '.csv = mfr.extensions.tabular:TabularRenderer',
            '.tsv = mfr.extensions.tabular:TabularRenderer',
            '.xls = mfr.extensions.tabular:TabularRenderer',
            '.xlsx = mfr.extensions.tabular:TabularRenderer',
            '.dta = mfr.extensions.tabular:TabularRenderer',
            '.mat = mfr.extensions.tabular:TabularRenderer',
            '.sav = mfr.extensions.tabular:TabularRenderer',
            #'.ods = mfr.extensions.tabular:TabularRenderer',

            # unoconv
            # '.bib = mfr.extensions.unoconv:UnoconvRenderer',
            # '.bmp = mfr.extensions.unoconv:UnoconvRenderer',
            # '.csv = mfr.extensions.unoconv:UnoconvRenderer',
            '.dbf = mfr.extensions.unoconv:UnoconvRenderer',
            '.dif = mfr.extensions.unoconv:UnoconvRenderer',
            '.doc = mfr.extensions.unoconv:UnoconvRenderer',
            '.docx = mfr.extensions.unoconv:UnoconvRenderer',
            '.emf = mfr.extensions.unoconv:UnoconvRenderer',
            '.eps = mfr.extensions.unoconv:UnoconvRenderer',
            '.fodg = mfr.extensions.unoconv:UnoconvRenderer',
            '.fodp = mfr.extensions.unoconv:UnoconvRenderer',
            '.fods = mfr.extensions.unoconv:UnoconvRenderer',
            '.fodt = mfr.extensions.unoconv:UnoconvRenderer',
            # '.gif = mfr.extensions.unoconv:UnoconvRenderer',
            # '.html = mfr.extensions.unoconv:UnoconvRenderer',
            # '.jpg = mfr.extensions.unoconv:UnoconvRenderer',
            # '.ltx = mfr.extensions.unoconv:UnoconvRenderer',
            '.met = mfr.extensions.unoconv:UnoconvRenderer',
            '.odd = mfr.extensions.unoconv:UnoconvRenderer',
            '.odg = mfr.extensions.unoconv:UnoconvRenderer',
            '.odp = mfr.extensions.unoconv:UnoconvRenderer',
            '.ods = mfr.extensions.unoconv:UnoconvRenderer',
            '.odt = mfr.extensions.unoconv:UnoconvRenderer',
            '.otg = mfr.extensions.unoconv:UnoconvRenderer',
            '.otp = mfr.extensions.unoconv:UnoconvRenderer',
            '.ots = mfr.extensions.unoconv:UnoconvRenderer',
            '.ott = mfr.extensions.unoconv:UnoconvRenderer',
            '.pbm = mfr.extensions.unoconv:UnoconvRenderer',
            '.pct = mfr.extensions.unoconv:UnoconvRenderer',
            # '.pdb = mfr.extensions.unoconv:UnoconvRenderer',
            # '.pdf = mfr.extensions.unoconv:UnoconvRenderer',
            '.pgm = mfr.extensions.unoconv:UnoconvRenderer',
            # '.png = mfr.extensions.unoconv:UnoconvRenderer',
            '.pot = mfr.extensions.unoconv:UnoconvRenderer',
            '.potm = mfr.extensions.unoconv:UnoconvRenderer',
            '.ppm = mfr.extensions.unoconv:UnoconvRenderer',
            '.pps = mfr.extensions.unoconv:UnoconvRenderer',
            '.ppt = mfr.extensions.unoconv:UnoconvRenderer',
            '.pptx = mfr.extensions.unoconv:UnoconvRenderer',
            '.psw = mfr.extensions.unoconv:UnoconvRenderer',
            '.pwp = mfr.extensions.unoconv:UnoconvRenderer',
            '.pxl = mfr.extensions.unoconv:UnoconvRenderer',
            '.ras = mfr.extensions.unoconv:UnoconvRenderer',
            '.rtf = mfr.extensions.unoconv:UnoconvRenderer',
            '.sda = mfr.extensions.unoconv:UnoconvRenderer',
            '.sdc = mfr.extensions.unoconv:UnoconvRenderer',
            '.sdd = mfr.extensions.unoconv:UnoconvRenderer',
            '.sdw = mfr.extensions.unoconv:UnoconvRenderer',
            '.slk = mfr.extensions.unoconv:UnoconvRenderer',
            '.stc = mfr.extensions.unoconv:UnoconvRenderer',
            '.std = mfr.extensions.unoconv:UnoconvRenderer',
            '.sti = mfr.extensions.unoconv:UnoconvRenderer',
            '.stw = mfr.extensions.unoconv:UnoconvRenderer',
            '.svg = mfr.extensions.unoconv:UnoconvRenderer',
            '.svm = mfr.extensions.unoconv:UnoconvRenderer',
            # Renders junk at the moment
            # '.swf = mfr.extensions.unoconv:UnoconvRenderer',
            '.sxc = mfr.extensions.unoconv:UnoconvRenderer',
            '.sxd = mfr.extensions.unoconv:UnoconvRenderer',
            '.sxi = mfr.extensions.unoconv:UnoconvRenderer',
            '.sxw = mfr.extensions.unoconv:UnoconvRenderer',
            # '.tiff = mfr.extensions.unoconv:UnoconvRenderer',
            # '.txt = mfr.extensions.unoconv:UnoconvRenderer',
            '.uop = mfr.extensions.unoconv:UnoconvRenderer',
            '.uos = mfr.extensions.unoconv:UnoconvRenderer',
            '.uot = mfr.extensions.unoconv:UnoconvRenderer',
            '.vor = mfr.extensions.unoconv:UnoconvRenderer',
            '.wmf = mfr.extensions.unoconv:UnoconvRenderer',
            '.wps = mfr.extensions.unoconv:UnoconvRenderer',
            # '.xhtml = mfr.extensions.unoconv:UnoconvRenderer',
            # '.xls = mfr.extensions.unoconv:UnoconvRenderer',
            # '.xlsx = mfr.extensions.unoconv:UnoconvRenderer',
            '.xlt = mfr.extensions.unoconv:UnoconvRenderer',
            # '.xml = mfr.extensions.unoconv:UnoconvRenderer',
            '.xpm = mfr.extensions.unoconv:UnoconvRenderer',

            # video
            '.mp4 = mfr.extensions.video:VideoRenderer',
            '.m4v = mfr.extensions.video:VideoRenderer',
            # Unable to support at this time
            #'.avi = mfr.extensions.video:VideoRenderer',
            '.ogv = mfr.extensions.video:VideoRenderer',
            #'.wmv = mfr.extensions.video:VideoRenderer',
            '.webm = mfr.extensions.video:VideoRenderer',

            # jamovi
            '.omv = mfr.extensions.jamovi:JamoviRenderer',

            # JASP
            '.jasp = mfr.extensions.jasp:JASPRenderer',

            # Zip
            '.zip = mfr.extensions.zip:ZipRenderer'
        ]
    },
)
