def setUpClass(cls): config = MooseDocs.load_config( os.path.join(MooseDocs.MOOSE_DIR, 'docs', 'moosedocs.yml')) options = config['markdown_extensions'][6][ 'MooseDocs.extensions.MooseMarkdown'] cls.database = MooseDocs.MooseLinkDatabase(**options)
def extendMarkdown(self, md, md_globals): """ Builds the extensions for MOOSE flavored markdown. """ md.registerExtension(self) # Create a config object config = self.getConfigs() # Extract YAML exe_yaml = self.execute(config.pop('executable', None)) # Generate YAML data from application # Populate the database for input file and children objects log.info('Creating input file and source code use database.') database = MooseDocs.MooseLinkDatabase(**config) # Populate the syntax self.syntax = dict() for key, value in config['locations'].iteritems(): if 'hide' in value: value['hide'] += config['hide'] else: value['hide'] = config['hide'] self.syntax[key] = MooseDocs.MooseApplicationSyntax(exe_yaml, **value) # Preprocessors md.preprocessors.add('moose_bibtex', MooseBibtex(markdown_instance=md, **config), '_end') if config['slides']: md.preprocessors.add('moose_slides', MooseSlidePreprocessor(markdown_instance=md), '_end') # Block processors md.parser.blockprocessors.add('diagrams', MooseDiagram(md.parser, **config), '_begin') md.parser.blockprocessors.add('slideshow', MooseSlider(md.parser, **config), '_begin') md.parser.blockprocessors.add('css', MooseCSS(md.parser, **config), '_begin') # Inline Patterns object_markdown = MooseObjectSyntax(markdown_instance=md, yaml=exe_yaml, syntax=self.syntax, database=database, **config) md.inlinePatterns.add('moose_object_syntax', object_markdown, '_begin') system_markdown = MooseSystemSyntax(markdown_instance=md, yaml=exe_yaml, syntax=self.syntax, **config) md.inlinePatterns.add('moose_system_syntax', system_markdown, '_begin') md.inlinePatterns.add('moose_input_block', MooseInputBlock(markdown_instance=md, **config), '<image_link') md.inlinePatterns.add('moose_cpp_method', MooseCppMethod(markdown_instance=md, **config), '<image_link') md.inlinePatterns.add('moose_text', MooseTextFile(markdown_instance=md, **config), '<image_link') md.inlinePatterns.add('moose_image', MooseImageFile(markdown_instance=md, **config), '<image_link') md.inlinePatterns.add('moose_build_status', MooseBuildStatus(markdown_instance=md, **config), '_begin') if config['package']: md.inlinePatterns.add('moose_package_parser', MoosePackageParser(markdown_instance=md, **config), '_end')
def extendMarkdown(self, md, md_globals): """ Builds the extensions for MOOSE flavored markdown. """ md.registerExtension(self) # Create a config object config = self.getConfigs() # Extract YAML exe_yaml = self.execute() # Generate YAML data from application # Populate the database for input file and children objects log.debug('Creating input file and source code use database.') database = MooseDocs.MooseLinkDatabase(**config) # Populate the syntax self.syntax = collections.OrderedDict() for item in config['locations']: key = item.keys()[0] options = item.values()[0] options.setdefault('group', key) options.setdefault('name', key.replace('_', ' ').title()) options.setdefault('install', config['install']) self.syntax[key] = MooseDocs.MooseApplicationSyntax( exe_yaml, **options) # Replace the InlineTreeprocessor with the MooseInlineProcessor, this allows # for an initialize() method to be called prior to the convert for re-setting state. md.treeprocessors['inline'] = MooseInlineProcessor( markdown_instance=md, **config) # Preprocessors md.preprocessors.add('moose_bibtex', MooseBibtex(markdown_instance=md, **config), '_end') if config['slides']: md.preprocessors.add('moose_slides', MooseSlidePreprocessor(markdown_instance=md), '_end') # Block processors md.parser.blockprocessors.add('diagrams', MooseDiagram(md.parser, **config), '_begin') md.parser.blockprocessors.add('slider', MooseSlider(md.parser, **config), '_begin') md.parser.blockprocessors.add('css', MooseCSS(md.parser, **config), '_begin') # Inline Patterns params = MooseParameters(markdown_instance=md, syntax=self.syntax, **config) md.inlinePatterns.add('moose_parameters', params, '_begin') desc = MooseDescription(markdown_instance=md, syntax=self.syntax, **config) md.inlinePatterns.add('moose_description', desc, '_begin') object_markdown = MooseObjectSyntax(markdown_instance=md, syntax=self.syntax, database=database, **config) md.inlinePatterns.add('moose_object_syntax', object_markdown, '_begin') system_markdown = MooseActionSyntax(markdown_instance=md, syntax=self.syntax, **config) md.inlinePatterns.add('moose_system_syntax', system_markdown, '_begin') system_list = MooseActionList(markdown_instance=md, yaml=exe_yaml, syntax=self.syntax, **config) md.inlinePatterns.add('moose_system_list', system_list, '_begin') md.inlinePatterns.add('moose_input_block', MooseInputBlock(markdown_instance=md, **config), '_begin') md.inlinePatterns.add('moose_cpp_method', MooseCppMethod(markdown_instance=md, **config), '_begin') md.inlinePatterns.add('moose_text', MooseTextFile(markdown_instance=md, **config), '_begin') md.inlinePatterns.add('moose_image', MooseImageFile(markdown_instance=md, **config), '_begin') md.inlinePatterns.add('moose_figure', MooseFigure(markdown_instance=md, **config), '_begin') md.inlinePatterns.add( 'moose_figure_reference', MooseFigureReference(markdown_instance=md, **config), '>moose_figure') md.inlinePatterns.add( 'moose_equation_reference', MooseEquationReference(markdown_instance=md, **config), '<moose_figure_reference') md.inlinePatterns.add('moose_build_status', MooseBuildStatus(markdown_instance=md, **config), '_begin') if config['package']: md.inlinePatterns.add( 'moose_package_parser', MoosePackageParser(markdown_instance=md, **config), '_end')