From db8ac250cd7602f7d9d7edaaa06b0050a28b6e37 Mon Sep 17 00:00:00 2001 From: hay-kot Date: Sun, 28 Mar 2021 16:37:59 -0800 Subject: [PATCH] generate API docs with make file --- docs/docs/overrides/api.html | 19 +++++------ makefile | 1 + mealie/utils/api_docs.py | 61 +++++++++++++++++++----------------- 3 files changed, 44 insertions(+), 37 deletions(-) diff --git a/docs/docs/overrides/api.html b/docs/docs/overrides/api.html index fefa395b0..9cb8e1822 100644 --- a/docs/docs/overrides/api.html +++ b/docs/docs/overrides/api.html @@ -1,5 +1,4 @@ - {% extends "main.html" %} {% block tabs %} {{ super() }} @@ -10,14 +9,16 @@ padding: 0; } - -
- - + + +
+ + + {% endblock %} {% block content %}{% endblock %} -{% block footer %}{% endblock %} \ No newline at end of file +{% block footer %}{% endblock %} diff --git a/makefile b/makefile index 57c18530d..e08d4e3fb 100644 --- a/makefile +++ b/makefile @@ -14,6 +14,7 @@ frontend: .PHONY: docs docs: + poetry run python mealie/utils/api_docs.py && \ cd docs && poetry run python -m mkdocs serve docker-dev: diff --git a/mealie/utils/api_docs.py b/mealie/utils/api_docs.py index 636b52a7d..fb5300306 100644 --- a/mealie/utils/api_docs.py +++ b/mealie/utils/api_docs.py @@ -1,39 +1,44 @@ import json +from mealie.app import app from mealie.core.config import DATA_DIR """Script to export the ReDoc documentation page into a standalone HTML file.""" -HTML_TEMPLATE = """ - - - - My Project - ReDoc - - - - - - - -
- - - - +HTML_TEMPLATE = """ +{% extends "main.html" %} +{% block tabs %} +{{ super() }} + + + + +
+ + + + +{% endblock %} +{% block content %}{% endblock %} +{% block footer %}{% endblock %} """ -HTML_PATH = DATA_DIR.parent.joinpath("docs/docs/html/api.html") +HTML_PATH = DATA_DIR.parent.parent.joinpath("docs/docs/overrides/api.html") -def generate_api_docs(app): +def generate_api_docs(my_app): with open(HTML_PATH, "w") as fd: - print(HTML_TEMPLATE % json.dumps(app.openapi()), file=fd) + text = HTML_TEMPLATE.replace("MY_SPECIFIC_TEXT", json.dumps(my_app.openapi())) + fd.write(text) + + +if __name__ == "__main__": + generate_api_docs(app)