Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
) -> None:
"""Runs a development webserver enabling you to browse documentation locally.
- *directory*: The root folder of your project.
- *config_file*: The [TOML](https://github.com/toml-lang/toml#toml) formatted
config file you wish to use.
- *open_browser*: If true a browser will be opened pointing at the documentation server
- *port*: The port to expose your documentation on (defaults to: `8000`)
- *host*: The host to expose your documentation on (defaults to `"127.0.0.1"`)
- *modules*: One or more modules to render reference documentation for
"""
directory = directory if directory else os.getcwd()
api = hug.API("Doc Server")
project_config = project_configuration(directory, config_file, modules=modules)
with render.documentation_in_temp_folder(project_config) as doc_folder:
@hug.static("/", api=api)
def my_static_dirs(): # pragma: no cover
return (doc_folder,)
@hug.startup(api=api)
def custom_startup(*args, **kwargs): # pragma: no cover
print(logo.ascii_art)
if open_browser:
webbrowser.open_new(f"http://{project_config['host']}:{project_config['port']}")
api.http.serve(
host=host or project_config["host"],
port=port or project_config["port"],
no_documentation=True,
display_intro=False,