114 changed files with 549 additions and 122 deletions
@ -0,0 +1,80 @@
|
||||
import sphinx.builders.manpage |
||||
import sphinx.writers.manpage |
||||
from docutils.frontend import OptionParser |
||||
from sphinx.util.console import bold, darkgreen |
||||
from six import string_types |
||||
from docutils.io import FileOutput |
||||
from os import path |
||||
from sphinx.util.nodes import inline_all_toctrees |
||||
from sphinx import addnodes |
||||
|
||||
""" |
||||
Extension based on sphinx builtin manpage. |
||||
It does not write its own .SH NAME based on config, |
||||
but leaves everything to actual reStructuredText file content. |
||||
""" |
||||
|
||||
class ManualPageTranslator(sphinx.writers.manpage.ManualPageTranslator): |
||||
|
||||
def header(self): |
||||
tmpl = (".TH \"%(title_upper)s\" \"%(manual_section)s\"" |
||||
" \"%(date)s\" \"%(version)s\" \"%(manual_group)s\"\n") |
||||
return tmpl % self._docinfo |
||||
|
||||
|
||||
class ManualPageWriter(sphinx.writers.manpage.ManualPageWriter): |
||||
|
||||
def __init__(self, builder): |
||||
super().__init__(builder) |
||||
self.translator_class = ( |
||||
self.builder.translator_class or ManualPageTranslator) |
||||
|
||||