From c8eb3be09ec2bda9494e2e62791f3fb6fe222dd9 Mon Sep 17 00:00:00 2001
From: rockon999 '),
+ ('html_code_end', r'
'),
+ ('markdown_code_toggle', r'\`'),
+ ('markdown_attr_start', r'\{'),
+ ('markdown_attr_end', r'\}'),
('property', r'#< block we must stop escaping text.
+ #
+ # TODO: Convert to markdown extensions.
+
+ def _process_markdown_code_toggle(self, node, match, props):
+ self._processing_code = not self._processing_code
+ return match
+
+ def _process_markdown_attr_start(self, node, match, props):
+ if not self._processing_code:
+ self._processing_attr = True
+ return match
+
+ def _process_markdown_attr_end(self, node, match, props):
+ if not self._processing_code:
+ self._processing_attr = False
+ return match
+
+ def _process_html_code_start(self, node, match, props):
+ self._processing_code = True
+ return match
+
+ def _process_html_code_end(self, node, match, props):
+ self._processing_code = False
+ return match
def _process_code_start(self, node, match, props):
self._processing_code = True
- return '
\n ' + return '\n```\n' def _process_code_start_with_language(self, node, match, props): self._processing_code = True try: - mime = language_mimes[props["language_name"].lower()] - return '\n ' + return '\n```' + props["language_name"].lower() + '\n' except KeyError: - return '\n ' + return '\n```\n' def _process_code_end(self, node, match, props): self._processing_code = False - return '\n' + return '\n```\n
' def _process_new_line(self, node, match, props): if self._processing_code: - return '\n ' + return '\n' return '\n' def _process_new_paragraph(self, node, match, props): if self._processing_code: - return '\n\n ' + return '\n\n' return "
" def _process_token(self, node, tok): @@ -395,6 +442,11 @@ class DocFormatter(object): 'code_start': self._process_code_start, 'code_start_with_language': self._process_code_start_with_language, 'code_end': self._process_code_end, + 'html_code_start': self._process_html_code_start, + 'html_code_end': self._process_html_code_end, + 'markdown_code_toggle': self._process_markdown_code_toggle, + 'markdown_attr_start': self._process_markdown_attr_start, + 'markdown_attr_end': self._process_markdown_attr_end, 'new_line': self._process_new_line, 'new_paragraph': self._process_new_paragraph, } @@ -1053,6 +1105,9 @@ class DocFormatterGjs(DocFormatterIntrospectableBase): class DevDocsFormatterGjs(DocFormatterGjs): + output_format = "devdocs" + output_extension = ".html" + def _is_static_method(self, node): if not hasattr(node.parent, "static_methods"): return False @@ -1112,7 +1167,13 @@ class DevDocsFormatterGjs(DocFormatterGjs): return '' cleaned_up_gtkdoc = super(DevDocsFormatterGjs, self).format_inline(node, doc) - return markdown.markdown(cleaned_up_gtkdoc) + return markdown.markdown(cleaned_up_gtkdoc, extensions=[ + InlineMarkdown(), + 'markdown.extensions.fenced_code', + 'markdown.extensions.nl2br', + 'markdown.extensions.attr_list', + HeaderIdExtension(forceid=False) + ]) def format_function_name(self, func): name = func.name @@ -1194,7 +1255,13 @@ class DevDocsFormatterGjs(DocFormatterGjs): if para is None: return '' cleaned_up_gtkdoc = super(DevDocsFormatterGjs, self).format_inline(node, para) - return markdown.markdown(cleaned_up_gtkdoc, extensions=[InlineMarkdown()]) + return markdown.markdown(cleaned_up_gtkdoc, extensions=[ + InlineMarkdown(), + 'markdown.extensions.fenced_code', + 'markdown.extensions.nl2br', + 'markdown.extensions.attr_list', + HeaderIdExtension(forceid=False) + ]) def format_in_parameters(self, node): return ', '.join(p.argname for p in self.get_in_parameters(node)) -- cgit v1.2.1