diff --git a/lib/python/qmk/cli/xap/generate_docs.py b/lib/python/qmk/cli/xap/generate_docs.py index bf2fdb86bb..d77a418bf7 100755 --- a/lib/python/qmk/cli/xap/generate_docs.py +++ b/lib/python/qmk/cli/xap/generate_docs.py @@ -1,11 +1,39 @@ """This script generates the XAP protocol documentation. """ +import hjson +from qmk.constants import QMK_FIRMWARE +from qmk.xap.common import get_xap_definition_files, update_xap_definitions, render_xap_output from milc import cli -from qmk.xap.gen_docs.generator import generate_docs @cli.subcommand('Generates the XAP protocol documentation.', hidden=False if cli.config.user.developer else True) def xap_generate_docs(cli): """Generates the XAP protocol documentation by merging the definitions files, and producing the corresponding Markdown document under `/docs/`. """ - generate_docs() \ No newline at end of file + docs_list = [] + + overall = None + for file in get_xap_definition_files(): + overall = update_xap_definitions(overall, hjson.load(file.open(encoding='utf-8'))) + + # Inject dummy bits for unspecified response flags + for n in range(0, 8): + if str(n) not in overall['response_flags']['bits']: + overall['response_flags']['bits'][str(n)] = {'name': '', 'description': '', 'define': '-'} + + output_doc = QMK_FIRMWARE / "docs" / f"{file.stem}.md" + docs_list.append(output_doc) + output = render_xap_output('docs', 'docs.md.j2', overall) + with open(output_doc, "w", encoding='utf-8') as out_file: + out_file.write(output) + + output_doc = QMK_FIRMWARE / "docs" / f"xap_protocol.md" + with open(output_doc, "w", encoding='utf-8') as out_file: + out_file.write('''\ +# XAP Protocol Reference + +''') + + for file in reversed(sorted(docs_list)): + ver = file.stem[4:] + out_file.write(f'* [XAP Version {ver}]({file.name})\n') diff --git a/lib/python/qmk/xap/gen_docs/__init__.py b/lib/python/qmk/xap/gen_docs/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lib/python/qmk/xap/gen_docs/generator.py b/lib/python/qmk/xap/gen_docs/generator.py deleted file mode 100755 index bcb90351e9..0000000000 --- a/lib/python/qmk/xap/gen_docs/generator.py +++ /dev/null @@ -1,37 +0,0 @@ -"""This script generates the XAP protocol documentation. -""" -import hjson -from qmk.constants import QMK_FIRMWARE -from qmk.xap.common import get_xap_definition_files, update_xap_definitions, render_xap_output - - -def generate_docs(): - """Generates the XAP protocol documentation by merging the definitions files, and producing the corresponding Markdown document under `/docs/`. - """ - docs_list = [] - - overall = None - for file in get_xap_definition_files(): - overall = update_xap_definitions(overall, hjson.load(file.open(encoding='utf-8'))) - - # Inject dummy bits for unspecified response flags - for n in range(0, 8): - if str(n) not in overall['response_flags']['bits']: - overall['response_flags']['bits'][str(n)] = {'name': '', 'description': '', 'define': '-'} - - output_doc = QMK_FIRMWARE / "docs" / f"{file.stem}.md" - docs_list.append(output_doc) - output = render_xap_output('docs', 'docs.md.j2', overall) - with open(output_doc, "w", encoding='utf-8') as out_file: - out_file.write(output) - - output_doc = QMK_FIRMWARE / "docs" / f"xap_protocol.md" - with open(output_doc, "w", encoding='utf-8') as out_file: - out_file.write('''\ -# XAP Protocol Reference - -''') - - for file in reversed(sorted(docs_list)): - ver = file.stem[4:] - out_file.write(f'* [XAP Version {ver}]({file.name})\n')