standalone.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # $Id: standalone.py 8979 2022-01-26 19:05:07Z milde $
  2. # Author: David Goodger <goodger@python.org>
  3. # Copyright: This module has been placed in the public domain.
  4. """
  5. Standalone file Reader for the reStructuredText markup syntax.
  6. """
  7. __docformat__ = 'reStructuredText'
  8. from docutils import frontend, readers
  9. from docutils.transforms import frontmatter, references, misc
  10. class Reader(readers.Reader):
  11. supported = ('standalone',)
  12. """Contexts this reader supports."""
  13. document = None
  14. """A single document tree."""
  15. settings_spec = (
  16. 'Standalone Reader Options',
  17. None,
  18. (('Disable the promotion of a lone top-level section title to '
  19. 'document title (and subsequent section title to document '
  20. 'subtitle promotion; enabled by default).',
  21. ['--no-doc-title'],
  22. {'dest': 'doctitle_xform', 'action': 'store_false', 'default': 1,
  23. 'validator': frontend.validate_boolean}),
  24. ('Disable the bibliographic field list transform (enabled by '
  25. 'default).',
  26. ['--no-doc-info'],
  27. {'dest': 'docinfo_xform', 'action': 'store_false', 'default': 1,
  28. 'validator': frontend.validate_boolean}),
  29. ('Activate the promotion of lone subsection titles to '
  30. 'section subtitles (disabled by default).',
  31. ['--section-subtitles'],
  32. {'dest': 'sectsubtitle_xform', 'action': 'store_true', 'default': 0,
  33. 'validator': frontend.validate_boolean}),
  34. ('Deactivate the promotion of lone subsection titles.',
  35. ['--no-section-subtitles'],
  36. {'dest': 'sectsubtitle_xform', 'action': 'store_false'}),
  37. ))
  38. config_section = 'standalone reader'
  39. config_section_dependencies = ('readers',)
  40. def get_transforms(self):
  41. return readers.Reader.get_transforms(self) + [
  42. references.Substitutions,
  43. references.PropagateTargets,
  44. frontmatter.DocTitle,
  45. frontmatter.SectionSubTitle,
  46. frontmatter.DocInfo,
  47. references.AnonymousHyperlinks,
  48. references.IndirectHyperlinks,
  49. references.Footnotes,
  50. references.ExternalTargets,
  51. references.InternalTargets,
  52. references.DanglingReferences,
  53. misc.Transitions,
  54. ]