Start with manpage generation
This commit is contained in:
parent
8dbbcf48be
commit
d4c3a65fe3
@ -17,7 +17,9 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with qutebrowser. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
"""A vim like browser based on Qt."""
|
||||
# pylint: disable=line-too-long
|
||||
|
||||
"""A keyboard-driven, vim-like browser based on PyQt5 and QtWebKit."""
|
||||
|
||||
import os.path
|
||||
|
||||
@ -28,5 +30,6 @@ __maintainer__ = __author__
|
||||
__email__ = "mail@qutebrowser.org"
|
||||
__version_info__ = (0, 0, 0)
|
||||
__version__ = '.'.join(map(str, __version_info__))
|
||||
__description__ = "A keyboard-driven, vim-like browser based on PyQt5 and QtWebKit."
|
||||
|
||||
basedir = os.path.dirname(os.path.realpath(__file__))
|
||||
|
@ -20,18 +20,16 @@
|
||||
|
||||
from argparse import ArgumentParser
|
||||
|
||||
import qutebrowser
|
||||
from qutebrowser.utils.checkpyver import check_python_version
|
||||
check_python_version()
|
||||
import qutebrowser.utils.earlyinit as earlyinit
|
||||
|
||||
|
||||
def _parse_args():
|
||||
"""Parse command line options.
|
||||
|
||||
Return:
|
||||
Argument namespace from argparse.
|
||||
"""
|
||||
parser = ArgumentParser("usage: %(prog)s [options]")
|
||||
def get_argparser():
|
||||
"""Get the argparse parser."""
|
||||
parser = ArgumentParser("usage: qutebrowser",
|
||||
description=qutebrowser.__description__)
|
||||
parser.add_argument('-c', '--confdir', help="Set config directory (empty "
|
||||
"for no config storage)")
|
||||
parser.add_argument('-V', '--version', help="Show version and quit.",
|
||||
@ -75,13 +73,14 @@ def _parse_args():
|
||||
"startup.", metavar=':command')
|
||||
# URLs will actually be in command
|
||||
parser.add_argument('url', nargs='*', help="URLs to open on startup.")
|
||||
return parser.parse_args()
|
||||
return parser
|
||||
|
||||
|
||||
def main():
|
||||
"""Main entry point for qutebrowser."""
|
||||
earlyinit.init_faulthandler()
|
||||
args = _parse_args()
|
||||
parser = get_argparser()
|
||||
args = parser.parse_args()
|
||||
earlyinit.check_pyqt_core()
|
||||
# We do this import late as we need to do the version checking first.
|
||||
# Note we may not import webkit stuff yet as fix_harfbuzz didn't run.
|
||||
|
@ -28,6 +28,7 @@ from tempfile import mkstemp
|
||||
|
||||
sys.path.insert(0, os.getcwd())
|
||||
|
||||
import qutebrowser
|
||||
# We import qutebrowser.app so all @cmdutils-register decorators are run.
|
||||
import qutebrowser.app # pylint: disable=unused-import
|
||||
import qutebrowser.commands.utils as cmdutils
|
||||
@ -183,12 +184,33 @@ def _get_command_doc(name, cmd):
|
||||
return '\n'.join(output)
|
||||
|
||||
|
||||
def generate_header(f):
|
||||
"""Generate an asciidoc header."""
|
||||
f.write('= qutebrowser manpage\n')
|
||||
def generate_manpage_header(f):
|
||||
"""Generate an asciidoc header for the manpage."""
|
||||
f.write('= qutebrowser(1)\n')
|
||||
f.write('Florian Bruhin <mail@qutebrowser.org>\n')
|
||||
f.write(':doctype: manpage\n')
|
||||
f.write(':man source: qutebrowser\n')
|
||||
f.write(':man manual: qutebrowser manpage\n')
|
||||
f.write(':toc:\n')
|
||||
f.write(':homepage: http://www.qutebrowser.org/\n')
|
||||
f.write('\n')
|
||||
|
||||
|
||||
def generate_manpage_name(f):
|
||||
"""Generate the NAME-section of the manpage."""
|
||||
f.write('== NAME\n')
|
||||
f.write('qutebrowser - {}\n'.format(qutebrowser.__description__))
|
||||
f.write('\n')
|
||||
|
||||
|
||||
def generate_manpage_synopsis(f):
|
||||
"""Generate the SYNOPSIS-section of the manpage from an argparse parser.
|
||||
|
||||
TODO.
|
||||
"""
|
||||
f.write('== SYNOPSIS\n')
|
||||
f.write('FIXME\n')
|
||||
f.write('\n')
|
||||
|
||||
|
||||
def generate_commands(f):
|
||||
@ -291,8 +313,10 @@ def regenerate_authors(filename):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
with _open_file('doc/qutebrowser.asciidoc') as fobj:
|
||||
generate_header(fobj)
|
||||
with _open_file('doc/qutebrowser.1.asciidoc') as fobj:
|
||||
generate_manpage_header(fobj)
|
||||
generate_manpage_name(fobj)
|
||||
generate_manpage_synopsis(fobj)
|
||||
generate_settings(fobj)
|
||||
generate_commands(fobj)
|
||||
regenerate_authors('README.asciidoc')
|
||||
|
@ -92,8 +92,7 @@ def write_git_file():
|
||||
setupdata = {
|
||||
'name': 'qutebrowser',
|
||||
'version': '.'.join(map(str, _get_constant('version_info'))),
|
||||
'description': ("A keyboard-driven, vim-like browser based on PyQt5 and "
|
||||
"QtWebKit."),
|
||||
'description': _get_constant('description'),
|
||||
'long_description': read_file('README.asciidoc'),
|
||||
'url': 'http://www.qutebrowser.org/',
|
||||
'requires': ['rfc6266'],
|
||||
|
Loading…
Reference in New Issue
Block a user