diff options
author | William Chang <[email protected]> | 2019-11-20 22:17:07 -0800 |
---|---|---|
committer | William Chang <[email protected]> | 2019-11-20 22:17:07 -0800 |
commit | e7f4d56592b3975c38af329e77b4efd9108495e8 (patch) | |
tree | 0a416bccbf70bfdbdb9ffcdb3bf136b47378c014 /lib/python/qmk/cli/docs.py | |
parent | 71493b2f9bbd5f3d18373c518fa14ccafcbf48fc (diff) | |
parent | 8416a94ad27b3ff058576f09f35f0704a8b39ff3 (diff) | |
download | qmk_firmware-e7f4d56592b3975c38af329e77b4efd9108495e8.tar.gz qmk_firmware-e7f4d56592b3975c38af329e77b4efd9108495e8.zip |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'lib/python/qmk/cli/docs.py')
-rw-r--r-- | lib/python/qmk/cli/docs.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/python/qmk/cli/docs.py b/lib/python/qmk/cli/docs.py new file mode 100644 index 0000000000..b419891396 --- /dev/null +++ b/lib/python/qmk/cli/docs.py @@ -0,0 +1,27 @@ +"""Serve QMK documentation locally +""" +import http.server + +from milc import cli + + +class DocsHandler(http.server.SimpleHTTPRequestHandler): + def __init__(self, *args, **kwargs): + super().__init__(*args, directory='docs', **kwargs) + + [email protected]('-p', '--port', default=8936, type=int, help='Port number to use.') [email protected]('Run a local webserver for QMK documentation.') +def docs(cli): + """Spin up a local HTTPServer instance for the QMK docs. + """ + with http.server.HTTPServer(('', cli.config.docs.port), DocsHandler) as httpd: + cli.log.info("Serving QMK docs at http://localhost:%d/", cli.config.docs.port) + cli.log.info("Press Control+C to exit.") + + try: + httpd.serve_forever() + except KeyboardInterrupt: + cli.log.info("Stopping HTTP server...") + finally: + httpd.shutdown() |