diff --git a/blag/blag.py b/blag/blag.py index e9c6ec8..32ce497 100644 --- a/blag/blag.py +++ b/blag/blag.py @@ -289,7 +289,7 @@ def process_markdown(convertibles, input_dir, output_dir, articles.append((dst, context)) result = article_template.render(context) else: - pages.append((dst, content)) + pages.append((dst, context)) result = page_template.render(context) with open(f'{output_dir}/{dst}', 'w') as fh_dest: fh_dest.write(result) diff --git a/tests/test_blag.py b/tests/test_blag.py index ba5ef78..dfc75b5 100644 --- a/tests/test_blag.py +++ b/tests/test_blag.py @@ -177,3 +177,59 @@ def test_environment_factory(): env = blag.environment_factory(globals_=globals_) assert env.globals['foo'] == 'bar' assert env.globals['test'] == 'me' + + +def test_process_markdown(tempdir, page_template, article_template): + inputdir = f'{tempdir}/content' + outdir = f'{tempdir}/build' + page1 = """\ +title: some page + +some text +foo bar + """ + + article1 = """\ +title: some article1 +date: 2020-01-01 + +some text +foo bar + """ + + article2 = """\ +title: some article2 +date: 2021-01-01 + +some text +foo bar + """ + + convertibles = [] + for i, txt in enumerate((page1, article1, article2)): + i = str(i) + with open(f'{inputdir}/{i}', 'w') as fh: + fh.write(txt) + convertibles.append([i, i]) + + articles, pages = blag.process_markdown( + convertibles, + inputdir, + outdir, + page_template, + article_template + ) + + assert isinstance(articles, list) + assert len(articles) == 2 + for dst, context in articles: + assert isinstance(dst, str) + assert isinstance(context, dict) + assert 'content' in context + + assert isinstance(pages, list) + assert len(pages) == 1 + for dst, context in pages: + assert isinstance(dst, str) + assert isinstance(context, dict) + assert 'content' in context