Пример #1
0
    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)
Пример #2
0
  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')
Пример #3
0
    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')