def visit_problematic(self, node):
            # Don't insert hyperlinks to nowhere for e.g. unclosed asterisks
            if not self._is_text_wrapper(node):
                return HTMLTranslator.visit_problematic(self, node)

            directive, text = self._strip_markup(node.astext())
            if directive and directive[1:-1] in ('exc', 'class'):
                self.body.append(self.starttag(node, 'a', '', href='psi_element://#typename#' + text))
                self.body.append(text)
                self.body.append('</a>')
            else:
                self.body.append(text)
            raise nodes.SkipNode
Example #2
0
        def visit_problematic(self, node):
            # Don't insert hyperlinks to nowhere for e.g. unclosed asterisks
            if not self._is_text_wrapper(node):
                return HTMLTranslator.visit_problematic(self, node)

            directive, text = self._strip_markup(node.astext())
            if directive and directive[1:-1] in ('exc', 'class'):
                self.body.append(
                    self.starttag(node,
                                  'a',
                                  '',
                                  href='psi_element://#typename#' + text))
                self.body.append(text)
                self.body.append('</a>')
            else:
                self.body.append(text)
            raise nodes.SkipNode
    def visit_problematic(self, node):
        """Don't insert hyperlinks to nowhere for e.g. unclosed asterisks."""
        if not self._is_text_wrapper(node):
            return HTMLTranslator.visit_problematic(self, node)

        node_text = node.astext()
        m = re.match(r'(:\w+)?(:\S+:)?`(.+?)`', node_text)
        if m:
            _, directive, text = m.groups('')
            if directive[1:-1] == 'exc':
                self.body.append(self.starttag(node, 'a', '', href = 'psi_element://#typename#' + text))
                self.body.append(text)
                self.body.append('</a>')
            else:
                self.body.append(text)
        else:
            self.body.append(node_text)
        raise nodes.SkipNode