diff options
author | David Luevano Alvarado <david@luevano.xyz> | 2023-04-25 04:03:48 -0600 |
---|---|---|
committer | David Luevano Alvarado <david@luevano.xyz> | 2023-04-25 04:03:48 -0600 |
commit | 1b2d6aff6ccf72fdb292a1f05bb41bf9633a8f55 (patch) | |
tree | 435d5752fc5c50a3453e550c7f95f85b70d8ad2a /src/pyssg/md_parser.py | |
parent | 42a135329e69360745294e7bcdd4261318aeafc0 (diff) |
refactor tests and add more typing
Diffstat (limited to 'src/pyssg/md_parser.py')
-rw-r--r-- | src/pyssg/md_parser.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/pyssg/md_parser.py b/src/pyssg/md_parser.py index 3ef297d..3b62985 100644 --- a/src/pyssg/md_parser.py +++ b/src/pyssg/md_parser.py @@ -4,6 +4,7 @@ from logging import Logger, getLogger from markdown import Markdown from yafg import YafgExtension +from pymdvar import VariableExtension from markdown_checklist.extension import ChecklistExtension from .database import Database @@ -12,13 +13,17 @@ from .page import Page log: Logger = getLogger(__name__) -def _get_md_obj() -> Markdown: +# TODO: add configuration testing for extensions config (pymdvar for ex) +def get_md_obj(variables: dict[str, str] = dict(), + enable_env: bool = False) -> Markdown: exts: list = ['extra', 'meta', 'sane_lists', 'smarty', 'toc', 'wikilinks', + VariableExtension(variables=variables, + enable_env=enable_env), # stripTitle generates an error when True, # if there is no title attr YafgExtension(stripTitle=False, @@ -50,7 +55,7 @@ class MDParser: self.config: dict = config self.dir_config: dict = dir_config self.db: Database = db - self.md: Markdown = _get_md_obj() + self.md: Markdown = get_md_obj() self.all_files: list[Page] = [] self.all_tags: list[tuple[str, str]] = [] @@ -65,7 +70,8 @@ class MDParser: log.debug('parsing md into html') content: str = self.md.reset().convert(open(src_file).read()) - # ignoring md.Meta type as it is not yet defined (because it is from an extension) + # ignoring md.Meta type as it is not yet defined + # (because it is from an extension) page: Page = Page(f, self.db.e[f].ctimestamp, self.db.e[f].mtimestamp, |