diff --git a/liquid_tags/include_code.py b/liquid_tags/include_code.py index 0d6b822..e39825f 100644 --- a/liquid_tags/include_code.py +++ b/liquid_tags/include_code.py @@ -8,8 +8,11 @@ Syntax ------ {% include_code path/to/code [Title text] %} -The "path to code" is relative to the code subdirectory of -the content directory (TODO: allow this to be set in configs). +The "path to code" is specified relative to the ``code`` subdirectory of +the content directory Optionally, this subdirectory can be specified in the +config file: + + CODE_DIR = 'code' Example ------- @@ -52,8 +55,7 @@ def include_code(preprocessor, tag, markup): raise ValueError("Error processing input, " "expected syntax: {0}".format(SYNTAX)) - # TODO: make this directory a configurable setting - code_dir = 'code' + code_dir = preprocessor.configs.config['code_dir'] code_path = os.path.join('content', code_dir, src) if not os.path.exists(code_path): diff --git a/liquid_tags/liquid_tags.py b/liquid_tags/liquid_tags.py index 881d8ea..d6e2457 100644 --- a/liquid_tags/liquid_tags.py +++ b/liquid_tags/liquid_tags.py @@ -8,7 +8,10 @@ def addLiquidTags(gen): gen.settings['MD_EXTENSIONS'] = MDReader.default_extensions if LiquidTags not in gen.settings['MD_EXTENSIONS']: - gen.settings['MD_EXTENSIONS'].append(LiquidTags()) + configs = dict(code_dir=gen.settings.get('CODE_DIR', 'code'), + notebook_dir=gen.settings.get('NOTEBOOK_DIR', + 'notebooks')) + gen.settings['MD_EXTENSIONS'].append(LiquidTags(configs)) def register(): signals.initialized.connect(addLiquidTags) diff --git a/liquid_tags/notebook.py b/liquid_tags/notebook.py index 3d37f05..3582d0e 100644 --- a/liquid_tags/notebook.py +++ b/liquid_tags/notebook.py @@ -8,9 +8,11 @@ Syntax ------ {% notebook filename.ipynb %} -The file should be specified relative to the ``notebook`` subdirectory of the -content directory. [TODO: make this configurable]. -This will include the IPython notebook in the file. +The file should be specified relative to the ``notebooks`` subdirectory of the +content directory. Optionally, this subdirectory can be specified in the +config file: + + NOTEBOOK_DIR = 'notebooks' Details ------- @@ -109,8 +111,7 @@ def notebook(preprocessor, tag, markup): raise ValueError("Error processing input, " "expected syntax: {0}".format(SYNTAX)) - # TODO: make the notebook directory a configurable setting - nb_dir = 'notebooks' + nb_dir = preprocessor.configs.config['notebook_dir'] nb_path = os.path.join('content', nb_dir, src) url = '/{0}/{1}/{2}'.format('static', nb_dir, src)