[Docs] CLI command to serve docs locally (#6956)
* CLI command to serve docs locally * Document it * Default port * Use `with` and subclass `SimpleHTTPRequestHandler` to set working dir * Apply suggestions from code review Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com> * Update docs/cli.mdbetter_chibios_wait 0.7.35
parent
e7d95701bf
commit
2707652c98
@ -0,0 +1,22 @@ |
|||||||
|
"""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) |
||||||
|
|
||||||
|
|
||||||
|
@cli.argument('-p', '--port', default=8936, type=int, help='Port number to use.') |
||||||
|
@cli.subcommand('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.") |
||||||
|
|
||||||
|
httpd.serve_forever() |
Loading…
Reference in new issue