Added reStructuredText domain with rst:directive and rst:role directive.

This commit is contained in:
Leontius Adhika Pradhana 2010-04-14 23:12:40 +08:00
parent 0544108c57
commit 94cec11884
2 changed files with 56 additions and 0 deletions

View File

@ -242,6 +242,7 @@ from sphinx.domains.cpp import CPPDomain
from sphinx.domains.std import StandardDomain
from sphinx.domains.python import PythonDomain
from sphinx.domains.javascript import JavaScriptDomain
from sphinx.domains.rst import ReSTDomain
BUILTIN_DOMAINS = {
'std': StandardDomain,
@ -249,4 +250,5 @@ BUILTIN_DOMAINS = {
'c': CDomain,
'cpp': CPPDomain,
'js': JavaScriptDomain,
'rst': ReSTDomain
}

54
sphinx/domains/rst.py Normal file
View File

@ -0,0 +1,54 @@
# -*- coding: utf-8 -*-
"""
sphinx.domains.rst
~~~~~~~~~~~~~~~~~~
The reStructuredText domain.
:copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
import re
from sphinx import addnodes
from sphinx.domains import Domain, ObjType
from sphinx.locale import l_, _
from sphinx.directives import ObjectDescription
from sphinx.domains.python import py_paramlist_re as js_paramlist_re
from sphinx.roles import XRefRole
from sphinx.util.nodes import make_refnode
from sphinx.util.docfields import Field, GroupedField, TypedField
class ReSTDirective(ObjectDescription):
pass
class ReSTRole(ObjectDescription):
pass
class ReSTXRefRole(XRefRole):
pass
class ReSTDomain(Domain):
"""ReStructuredText domain."""
name = 'rst'
label = 'reStructuredText'
object_types = {
'directive': ObjType(l_('reStructuredText directive'), 'dir'),
'role': ObjType(l_('reStructuredText role'), 'role'),
}
directives = {
'directive': ReSTDirective,
'role': ReSTRole,
}
roles = {
'dir': ReSTXRefRole(),
'role': ReSTXRefRole(),
}