def __init__(self, generator_settings, guide_settings, language_code, version, html_generator, html_templates, translations, regex_list, output_type=WEB, teacher_version_present=False): # Alert user of creation process print( 'Creating CSFG - Language: {lang} - Version: {version} - Format: {output_type}' .format(lang=language_code, version=version, output_type=output_type)) # Read settings self.guide_settings = guide_settings self.generator_settings = generator_settings self.regex_list = regex_list self.translations = translations self.permissions_location = PERMISSIONS_LOCATION self.files_with_permissions = set() self.html_generator = html_generator self.html_templates = html_templates self.language_code = language_code self.language = self.parse_language() self.version = version self.teacher_version_present = teacher_version_present self.output_type = output_type self.setup_output_path() self.number_generator = NumberGenerator() self.glossary = Glossary(self) # Structure tree of guide self.structure = self.parse_structure() # Populates structure tree with markdown content self.traverse_files(self.structure, getattr(self, "read_content")) # Dictionary of sets for images, interactives, and other_files self.required_files = setup_required_files(self) # Process sections self.traverse_files(self.structure, getattr(self, "process_section")) if self.output_type == WEB: self.setup_html_output() self.traverse_files(self.structure, getattr(self, "write_html_file")) self.copy_required_files() elif self.output_type == PDF: self.pdf_html = '' self.traverse_files(self.structure, getattr(self, "add_to_pdf_html")) self.generate_pdf() #TODO: implement generate_pdf()
def __init__(self, title, markdown_text, file_path, guide, structure_node): self.guide = guide self.structure_node = structure_node self.title = title self.markdown_text = markdown_text self.file_path = file_path self.page_header_numbered = False self.html_content = [] self.regex_functions = self.create_regex_functions() self.permalinks = set() # Dictionary of sets for images, interactives, and other_files self.required_files = setup_required_files(guide) self.mathjax_required = False self.section_header_created = False
def __init__(self, generator_settings, language_code, version, html_generator, html_templates, regex_list, output_type=WEB, teacher_version_present=False, pdf_version_present=False): # Alert user of creation process print('Creating CSFG - Language: {lang} - Version: {version} - Format: {output_type}'.format(lang=language_code, version=version, output_type=output_type)) # Read settings self.generator_settings = generator_settings self.regex_list = regex_list self.permissions_location = PERMISSIONS_LOCATION self.files_with_permissions = set() self.html_generator = html_generator self.html_templates = html_templates self.language_code = language_code self.guide_settings = systemfunctions.read_settings(GUIDE_SETTINGS.format(language=self.language_code), 'yaml') self.language = self.guide_settings['language'] self.translations = Translations(self.language_code, self.guide_settings['text_values']) self.version = version self.teacher_version_present = teacher_version_present self.pdf_version_present = pdf_version_present self.output_type = output_type self.setup_output_path() self.number_generator = NumberGenerator() self.glossary = Glossary(self) # Structure tree of guide self.structure = self.parse_structure() # Populates structure tree with markdown content self.traverse_files(self.structure, getattr(self, "read_content")) # Dictionary of sets for images, interactives, and other_files self.required_files = setup_required_files(self) if self.output_type == PDF: self.print_renderer = print_media.PrintRenderer(self.generator_settings) # Process sections self.traverse_files(self.structure, getattr(self, "process_section")) if self.output_type == WEB: self.setup_html_output() self.traverse_files(self.structure, getattr(self, "write_html_file")) self.copy_required_files() elif self.output_type == PDF: self.print_settings = {} self.pdf_html = '' self.setup_pdf_output() self.traverse_files(self.structure, getattr(self, "add_to_pdf_html"), True) self.generate_pdf()
def __init__(self, file_node, markdown_text): self.file_node = file_node self.markdown_text = markdown_text self.original_text = markdown_text.split('\n') self.guide = self.file_node.guide self.heading = None # Set to first heading during markdown parsing self.current_heading = None # Pointer to current heading node self.title = None self.html_content = [] self.regex_functions = self.create_regex_functions() self.permalinks = set() # Dictionary of sets for images, interactives, and other_files self.required_files = setup_required_files(file_node.guide) self.page_scripts = [] self.mathjax_required = False self.sectioned = False self.html_path_to_guide_root = self.file_node.depth * '../'
def __init__(self): # Read settings self.guide_settings = self.read_settings(GUIDE_SETTINGS) self.generator_settings = self.read_settings(GENERATOR_SETTINGS) self.regex_list = self.read_settings(REGEX_LIST) self.language = self.parse_language() self.version = self.parse_version() # Structure tree of guide self.structure = self.parse_structure() # Populates structure tree self.read_content() # Dictionary of sets for images, interactives, and other_files self.required_files = setup_required_files(self) self.html_templates = self.read_html_templates() if self.html_templates: self.process_sections() self.write_html_files()