From cbcf4f6f2c2264cff9e52ebb1cfd654a302d74f0 Mon Sep 17 00:00:00 2001 From: David Luevano Alvarado Date: Wed, 20 Apr 2022 23:08:10 -0600 Subject: minor refactoring --- src/pyssg/builder.py | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) (limited to 'src/pyssg/builder.py') 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 -- cgit v1.2.3-54-g00ecf