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.std import StandardDomain
from sphinx.domains.python import PythonDomain from sphinx.domains.python import PythonDomain
from sphinx.domains.javascript import JavaScriptDomain from sphinx.domains.javascript import JavaScriptDomain
from sphinx.domains.rst import ReSTDomain
BUILTIN_DOMAINS = { BUILTIN_DOMAINS = {
'std': StandardDomain, 'std': StandardDomain,
@ -249,4 +250,5 @@ BUILTIN_DOMAINS = {
'c': CDomain, 'c': CDomain,
'cpp': CPPDomain, 'cpp': CPPDomain,
'js': JavaScriptDomain, '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(),
}