diff options
author | David Luevano Alvarado <david@luevano.xyz> | 2022-04-20 23:08:10 -0600 |
---|---|---|
committer | David Luevano Alvarado <david@luevano.xyz> | 2022-04-20 23:08:10 -0600 |
commit | cbcf4f6f2c2264cff9e52ebb1cfd654a302d74f0 (patch) | |
tree | fde5b33c65d0394541872e690f0a34b890299415 /src/pyssg/builder.py | |
parent | 9bfb9dd2e8fa187a36c4ef98a491b9c2944bbd11 (diff) |
minor refactoring
Diffstat (limited to 'src/pyssg/builder.py')
-rw-r--r-- | src/pyssg/builder.py | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/pyssg/builder.py b/src/pyssg/builder.py index e7a49fe..35502b0 100644 --- a/src/pyssg/builder.py +++ b/src/pyssg/builder.py @@ -1,32 +1,34 @@ import os -import shutil from copy import deepcopy from operator import itemgetter -from jinja2 import Environment, Template -from markdown import Markdown from configparser import ConfigParser -import logging -from logging import Logger +from logging import Logger, getLogger -from .utils import create_dir, copy_file +from jinja2 import Environment, Template, FileSystemLoader as FSLoader + +from .utils import get_file_list, get_dir_structure, create_dir, copy_file from .database import Database from .md_parser import MDParser from .page import Page -from .discovery import get_file_list, get_dir_structure -log: Logger = logging.getLogger(__name__) +log: Logger = getLogger(__name__) class Builder: def __init__(self, config: ConfigParser, - env: Environment, - db: Database, - md: Markdown): + db: Database): log.debug('initializing site builder') self.config: ConfigParser = config - self.env: Environment = env self.db: Database = db - self.md: Markdown = md + + # the autoescape option could be a security risk if used in a dynamic + # website, as far as i can tell + log.debug('initializing the jinja environment') + self.__loader: FSLoader = FSLoader(self.config.get('path', 'plt')) + self.env: Environment = Environment(loader=self.__loader, + autoescape=False, + trim_blocks=True, + lstrip_blocks=True) self.dirs: list[str] = None self.md_files: list[str] = None @@ -55,8 +57,7 @@ class Builder: parser: MDParser = MDParser(self.md_files, self.config, - self.db, - self.md) + self.db) parser.parse_files() # just so i don't have to pass these vars to all the functions |