mkdocstrings-github 0.5.1__tar.gz → 0.6.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/.github/workflows/example_workflow.yml +11 -10
  2. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/.github/workflows/qualify.yaml +2 -2
  3. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/PKG-INFO +5 -4
  4. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/README.md +1 -0
  5. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/action.yaml +12 -12
  6. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/changelog.md +57 -0
  7. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/index.md +1 -0
  8. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/usage/parameters.md +54 -0
  9. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/mkdocs.yml +16 -7
  10. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/pyproject.toml +8 -8
  11. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/config.py +26 -0
  12. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/handler.py +1 -0
  13. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/objects.py +30 -53
  14. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/rendering.py +17 -0
  15. mkdocstrings_github-0.6.1/src/mkdocstrings_handlers/github/templates/material/_macros.html.jinja +38 -0
  16. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/inputs.html.jinja +13 -20
  17. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/outputs.html.jinja +14 -14
  18. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/secrets.html.jinja +14 -15
  19. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/style.css +19 -0
  20. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/helpers.py +2 -0
  21. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/__init__.py +159 -39
  22. mkdocstrings_github-0.5.1/test/snapshots/external/dbb6b804e35c3cf48b6ea556486a82cf6f34af4d7cc455bfc02995969f45d09f.html → mkdocstrings_github-0.6.1/test/snapshots/external/074e6b0350e6835d8a5461f936fc6ff8a0c46dc4c80c5ad5cd0b835cae19e2cd.html +0 -1
  23. mkdocstrings_github-0.6.1/test/snapshots/external/0bed6d92c16c4e133ffbed2d273614bca1be0d8a22afed48b36bd244e7eb261b.html +285 -0
  24. mkdocstrings_github-0.5.1/test/snapshots/external/0ef4f0725dafdff18802cd0dd8839c35562755c90458f0dd3ef7743e87efdd89.html → mkdocstrings_github-0.6.1/test/snapshots/external/0d0e2427b85f5904c7c3970d7b411e0f2337a3c91a25beb18348e6d4a51e48ec.html +0 -4
  25. mkdocstrings_github-0.6.1/test/snapshots/external/0de8e0706404a3d84a59420f94558fc0687324dad2f1340cec32bd4368626262.html +213 -0
  26. mkdocstrings_github-0.5.1/test/snapshots/external/27b0437dc257c9970044eb25da334453829a4ae0450e98cf7a965aff5ad7fcba.html → mkdocstrings_github-0.6.1/test/snapshots/external/1efa0765882b4ea1a66fc91ef88418634786028dfcec5879aed9c268749de63c.html +1 -1
  27. mkdocstrings_github-0.5.1/test/snapshots/external/572198cee6d40e3c875970ee6b4c654b3edae54c5a00ee4792df2b0d5a161796.html → mkdocstrings_github-0.6.1/test/snapshots/external/1f92a9273cccc3fc7a358dfeca8bb2cbb5ede804ff490106eb2322cddd78f256.html +8 -8
  28. mkdocstrings_github-0.5.1/test/snapshots/external/de1ce14a6155d8b1e4185e0eed7490872ef3af13b459ce5430ee5fc070f549d5.html → mkdocstrings_github-0.6.1/test/snapshots/external/24b2b02efe6eb2db3069c3d1717c3f7ad9bc47321acfd63979748b0a8378b169.html +63 -63
  29. mkdocstrings_github-0.5.1/test/snapshots/external/f64c666c9ace98f632d96aea732c4da55112d9c496baef00eb997c68c2c09264.html → mkdocstrings_github-0.6.1/test/snapshots/external/27af0061b4353d60bc86fadef002e4cad8d8774c06c3a720050c2b8b6726feae.html +0 -4
  30. mkdocstrings_github-0.5.1/test/snapshots/external/78f74a133e98bd757a1bd1c4667dc3a5d7cc40cc78daf596187999cb083ec6c4.html → mkdocstrings_github-0.6.1/test/snapshots/external/361203a8fe1654bbfd22dcf01308d9b587b187f72c45754e2e35d1638696c35d.html +11 -11
  31. mkdocstrings_github-0.6.1/test/snapshots/external/43ad574e6f4bd9d7c1e5b41f74e890f314d86accf94396a2266e8736f8baf07a.html +212 -0
  32. mkdocstrings_github-0.6.1/test/snapshots/external/47004f712909b0981384b3b51f7395939ee5ed669d38f620cc8275e700925371.html +280 -0
  33. mkdocstrings_github-0.5.1/test/snapshots/external/f0d6c0adbfcc02896663bc47e38910252279cabfe89c8c196c23f02b7d65d77d.html → mkdocstrings_github-0.6.1/test/snapshots/external/5508680ad1969ec83c9f6986137cca92bace28f3c5c75a67337753ee384c6783.html +0 -1
  34. mkdocstrings_github-0.6.1/test/snapshots/external/5d0abaf6f1a04083e3236ea03d57897ba0d03c9fe047738d0d9b065c8b45eff5.html +318 -0
  35. mkdocstrings_github-0.6.1/test/snapshots/external/5e3b7eb70931d08e482575fcc2a24460f6a47c5ab58ffe37125d139a56cc5a0d.html +185 -0
  36. mkdocstrings_github-0.5.1/test/snapshots/external/c3d75cc820623b26630624895fbc53ff7ea764ede141a2751387fca0bddb0c42.html → mkdocstrings_github-0.6.1/test/snapshots/external/62bff06eac186bef15cc125315a29901d284d4e1b9b2e8ee7890ad1296cd8342.html +1 -1
  37. mkdocstrings_github-0.6.1/test/snapshots/external/66a319534331c51a39c04e1c278747db6e1bb3ce99877c91e9af556da2de3182.html +243 -0
  38. mkdocstrings_github-0.5.1/test/snapshots/external/f575eacc0b72560cfc4e759f838f4ba8fc6ad1ee88d56fa707a1a840baf3e679.html → mkdocstrings_github-0.6.1/test/snapshots/external/6962c89022a7a9efbb57250e05f28f5375d5012b6a7d974040affe180c6fff0f.html +32 -32
  39. mkdocstrings_github-0.5.1/test/snapshots/external/5a75c7bf0d0c9f0d6e193263fe59288ec69ef2d93ec6f8bab8e240b2b58b3dd3.html → mkdocstrings_github-0.6.1/test/snapshots/external/699c6bcc632255eb0d6715e054b5fb1a9328e5abc414a3f2b3605514eb440247.html +1 -1
  40. mkdocstrings_github-0.5.1/test/snapshots/external/459e6df9404add89f3e159d2b0fdfc81e7f0545da8efaa690de8c06aebd1d2bf.html → mkdocstrings_github-0.6.1/test/snapshots/external/6af63bf65a648dc8a89b9fd67e7c2434ce2d004b54d21db2310f38de4c6a2038.html +63 -63
  41. mkdocstrings_github-0.6.1/test/snapshots/external/72b55cb37adc5eeaaeedc47e092dce6ada6193137372da90d471284b95714a24.html +185 -0
  42. mkdocstrings_github-0.5.1/test/snapshots/external/5f0693318b13614e630f852af6ad9165a3793e2e011d4de786b84e178eb411bc.html → mkdocstrings_github-0.6.1/test/snapshots/external/7a54a2a8729f165bbdb1980498724d4de8e886d849b7407b4969bde8d14a7b88.html +8 -8
  43. mkdocstrings_github-0.6.1/test/snapshots/external/81baa4bca07bde66951a18c2e99f3d86c4263bf01f054876225398e257390f00.html +212 -0
  44. mkdocstrings_github-0.5.1/test/snapshots/external/98ed5c777c164326632ca657e3cb87ae3f9b75bf9793ab2db4ab90ee7874621c.html → mkdocstrings_github-0.6.1/test/snapshots/external/8476f864e849f8e154b4144e873fbc540fb8e88c8ad095eb66925afe67c3fcac.html +11 -11
  45. mkdocstrings_github-0.6.1/test/snapshots/external/8b65d193fe31a661d1aa1b882b5d6cee96dcaaa4d28b057cdde5ccec660e9cb1.html +236 -0
  46. mkdocstrings_github-0.5.1/test/snapshots/external/84f918940f7b729b21a97d971a27bf994b2deb8ee5d9909481d98f702dfec96a.html → mkdocstrings_github-0.6.1/test/snapshots/external/8bedbe96ebb5c09a621a72f4cf16b73cf538cd5bfb3549a99e3283f5bd97ef08.html +1 -1
  47. mkdocstrings_github-0.6.1/test/snapshots/external/a34a87167e37faaf559d506c0c2a72913d0a225c06784d9ad71d91ffd97c1f42.html +216 -0
  48. mkdocstrings_github-0.5.1/test/snapshots/external/24dfcb59a486346316de8203f742d4f3dd9129f9a57252c37741ad27d0eaddd7.html → mkdocstrings_github-0.6.1/test/snapshots/external/a683a1d590ea2a074bc13a38c02f9b708290f8de5ebd660c73edaaabe695bc32.html +0 -4
  49. mkdocstrings_github-0.6.1/test/snapshots/external/d3695fdb74725542e432d0cd239481b0e3ea11b671395255f6ad25875830324c.html +288 -0
  50. mkdocstrings_github-0.6.1/test/snapshots/external/db0c43c8233d3c9719119d9e20bb483c48c42a01e488b7441664bdae58568d9f.html +280 -0
  51. mkdocstrings_github-0.6.1/test/snapshots/external/dbdc3c6e76833bb444a7d291266713ec6cf3f196ddf27e2e30eb94da9efc2c1f.html +243 -0
  52. mkdocstrings_github-0.5.1/test/snapshots/external/293f8ca976970a4fb9549b1bd3b6f6be8a13bd86d9c34bb98813def62a5777aa.html → mkdocstrings_github-0.6.1/test/snapshots/external/e728a11685286456b1d4c90386923bfd08af1311c7de06966affd011abde3be6.html +32 -32
  53. mkdocstrings_github-0.6.1/test/snapshots/external/ebb0bfe46e02e0e3fec3ac5a3bc44cddcab4d0f12871b708469db393e029b1e7.html +213 -0
  54. mkdocstrings_github-0.5.1/test/snapshots/external/df4a79ccbc4e4aa4c1a3135f1b42ce67cbebdf65acec195630d961605206c078.html → mkdocstrings_github-0.6.1/test/snapshots/external/ecf772312e7e697bab6126468a698dc8184b2ff78361cf71e3fdc35157e7d542.html +0 -4
  55. mkdocstrings_github-0.6.1/test/snapshots/external/ffc40bfdc5e916d73943cd9bae0a3e893664bab1c10fc25a30f8243852022efb.html +285 -0
  56. mkdocstrings_github-0.6.1/test/test_coverage.py +356 -0
  57. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/test_render_action.py +22 -0
  58. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/test_render_workflow.py +23 -0
  59. mkdocstrings_github-0.6.1/test/test_signature_ref.py +51 -0
  60. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/.github/CODEOWNERS +0 -0
  61. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/.github/CONTRIBUTING.md +0 -0
  62. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/.github/FUNDING.yml +0 -0
  63. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/.github/renovate.json5 +0 -0
  64. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/.github/workflows/docs.yaml +0 -0
  65. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/.github/workflows/release.yaml +0 -0
  66. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/.gitignore +0 -0
  67. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/.gitmodules +0 -0
  68. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/.pre-commit-config.yaml +0 -0
  69. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/LICENSE +0 -0
  70. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/contributing.md +0 -0
  71. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/credits.md +0 -0
  72. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/favicon.png +0 -0
  73. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/img/example_dark.png +0 -0
  74. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/img/example_light.png +0 -0
  75. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/img/logo.png +0 -0
  76. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/license-page.md +0 -0
  77. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/overrides/main.html +0 -0
  78. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/overrides/partials/toc-item.html +0 -0
  79. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/stylesheets/extra.css +0 -0
  80. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/usage/general.md +0 -0
  81. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/usage/headings.md +0 -0
  82. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/usage/index.md +0 -0
  83. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/docs/usage/signatures.md +0 -0
  84. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/__init__.py +0 -0
  85. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/py.typed +0 -0
  86. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/action.html.jinja +0 -0
  87. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/heading.html.jinja +0 -0
  88. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/workflow.html.jinja +0 -0
  89. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/__init__.py +0 -0
  90. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/conftest.py +0 -0
  91. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/docs/.gitkeep +0 -0
  92. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/.gitignore +0 -0
  93. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/06f909d26ca3c2008ca57aeae14dc63fb04ade05997b8aed6ae1573bf42b5841.html +0 -0
  94. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/0a37a4286738a72a224871dbd1bcd3c662e768f800a8e2b92c410d672c1d19fc.html +0 -0
  95. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/1322d6390dbc167e4d2734b6ff7ac30265a52feb242ece864fd08dd36a88214a.html +0 -0
  96. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/22929d6c2b70b481583d7b07fd7bff72dba985a465d42ad4ee5a7f557429102f.html +0 -0
  97. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/23cc1367f9dd06c1d51e4b1c8a5a2ea807f32a78de9c061438f4d2315bcc3d0e.html +0 -0
  98. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/2500c66e16468b20050dd9b8b152a48644d008c0316e444f47afc7bc5117e004.html +0 -0
  99. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/28df0ab9fe5662687b72cbb8b2c8e2e18b98beb5a114a505ad845c91b8955a2e.html +0 -0
  100. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/2eb63f18b2d0aaf8000ffcc081c80067937fc7cacea496c2871198aa3bc12a14.html +0 -0
  101. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/36d5597971381260ce0cd98b6ba1c3973134add32288bf34f47290fdbe55b0ec.html +0 -0
  102. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/3cb099624d882a4cde3ef6fdbea56c9aced9331dca1e19c7bc311c2611782e0d.html +0 -0
  103. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/50af1499553795c8cd859a1c9aa5ba162ef1c3dd9fa466668fc2da5bb002a61c.html +0 -0
  104. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/5a2f11e94bc00c7a5122364dcffcdc9bd5c514a773fbf4d1b04fa7e96ba2cfa5.html +0 -0
  105. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/6d20fba34c55a0c3c25d29a29470de573812305d70dabac3104a7d18d92b2b86.html +0 -0
  106. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/757b79d7975f29e7b7eeda8c910578cb858a867dc4c647c4b5bc9a4c45dbf62e.html +0 -0
  107. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/78feb92e4171bf067dd1615523e5c9cac0de998bb7102ee70da2e145d1262339.html +0 -0
  108. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/856a4ff20ee15b09367d852d57cdb6a3376b799760365dbf7677c216156a7b4d.html +0 -0
  109. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/8bacb89d75273f2bfee27f0d86fd49def327fd3e33ba7595aac8058ab214181d.html +0 -0
  110. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/93bf082d40ca4b6730a503aa4d265901a8cfed7ed1a6e9bb6e584c2c3ebd18af.html +0 -0
  111. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/94b8c0c6610d32e8a877cb18b47ff8b072203c6a1e8fddc67be1d7e5b963c385.html +0 -0
  112. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/98e4b6474a6f67576ae40a75e152e6bd8c3e743259ad7f1d08890def2ff858d1.html +0 -0
  113. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/9cc6f18114bfd48128d8cc74d40d4f19911408af280ba1866f07209ae80d5e42.html +0 -0
  114. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/ac47b3b933709154de762d06903d78925cea9f1ec93865386d669680cf17e4a8.html +0 -0
  115. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/ace14d7e4e53515a281c109aca1d7b5bccb1259ff0c3e0c28a8e09908e4f2f26.html +0 -0
  116. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/b6163f7b64f009d0f8992a0ccb4da0af6b02b5411dceb42cb0816b5721ebade0.html +0 -0
  117. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/b972a05ffc5672d471d5b1e84b01470a3363a25f9d9adbc8d82f4b9fd21a94a1.html +0 -0
  118. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/bbea0ecf08aec9444ed75cbffd5424aa19e285ac64a53d1bb50f6130230b3c97.html +0 -0
  119. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/c2181f9e06dd6b7437f14e815c4fd32ec304e4474c93e86c02b43f41367a79ff.html +0 -0
  120. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/c50b7f91aafff5caf0fe0ff96a922b499617966705cde0d3622191f51f523b38.html +0 -0
  121. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/c8c895c400f0532aa3afe641f79ed14bc399b504169242c0a9f77572c185def2.html +0 -0
  122. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/cdad9a8909ec6448ff4392f523d4c7d41dcba61fc635e7e744026f901df04913.html +0 -0
  123. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/d0d656ae32436d7b190665f98f3fe2d7a6250ee7ff4e1fb1bcd9a1364d3da2cb.html +0 -0
  124. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/e567efbdae19280c4c56a70a27de39e0efdc422d99c9d497629128fd3ec553d5.html +0 -0
  125. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/snapshots/external/f90542b4e3cbaf7e9820cdad6bbe707e3210983c911f11584cfae580e5cf6a04.html +0 -0
  126. {mkdocstrings_github-0.5.1 → mkdocstrings_github-0.6.1}/test/test_handler.py +0 -0
@@ -4,7 +4,7 @@ description: "This key is illegal but will still be parsed"
4
4
  on:
5
5
  workflow_call:
6
6
  inputs:
7
- environment:
7
+ environment: # group: environment
8
8
  description: |
9
9
  Environment to deploy to. Must be one of
10
10
 
@@ -13,6 +13,11 @@ on:
13
13
  - `production`
14
14
  required: true
15
15
  type: string
16
+ configuration: # group: environment
17
+ description: 'JSON configuration object'
18
+ required: false
19
+ type: string
20
+ default: '{}'
16
21
  version:
17
22
  description: 'Version to deploy'
18
23
  required: false
@@ -28,26 +33,22 @@ on:
28
33
  required: false
29
34
  type: number
30
35
  default: 1
31
- configuration:
32
- description: 'JSON configuration object'
33
- required: false
34
- type: string
35
- default: '{}'
36
+
36
37
  secrets:
37
- API_KEY:
38
+ API_KEY: # group: environment
38
39
  description: 'API key for external service'
39
40
  required: true
40
- DATABASE_URL:
41
+ DATABASE_URL: # group: environment
41
42
  description: 'Database connection string'
42
43
  required: false
43
44
  SLACK_WEBHOOK:
44
45
  description: 'Slack webhook URL for notifications'
45
46
  required: false
46
47
  outputs:
47
- deployment-id:
48
+ deployment-id: # group: deployment
48
49
  description: 'ID of the created deployment'
49
50
  value: ${{ jobs.deploy.outputs.deployment-id }}
50
- deployment-url:
51
+ deployment-url: # group: deployment
51
52
  description: 'URL of the deployment'
52
53
  value: ${{ jobs.deploy.outputs.deployment-url }}
53
54
  success:
@@ -127,7 +127,7 @@ jobs:
127
127
 
128
128
  - name: Upload Test Results
129
129
  if: (!cancelled())
130
- uses: actions/upload-artifact@v4
130
+ uses: actions/upload-artifact@v5
131
131
  with:
132
132
  name: python${{ matrix.python-version }}
133
133
  path: "*.xml"
@@ -148,7 +148,7 @@ jobs:
148
148
  fetch-depth: 2
149
149
 
150
150
  - name: Download Artifacts
151
- uses: actions/download-artifact@v5
151
+ uses: actions/download-artifact@v6
152
152
  with:
153
153
  path: results
154
154
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mkdocstrings-github
3
- Version: 0.5.1
3
+ Version: 0.6.1
4
4
  Summary: A GitHub Action handler for mkdocstrings
5
5
  Author-email: Mark Hu <watermarkhu@gmail.com>
6
6
  License: MIT
@@ -21,9 +21,9 @@ Classifier: Topic :: Software Development :: Documentation
21
21
  Classifier: Topic :: Utilities
22
22
  Classifier: Typing :: Typed
23
23
  Requires-Python: <3.15,>=3.10
24
- Requires-Dist: gitpython~=3.1.45
25
- Requires-Dist: mkdocstrings~=0.29
26
- Requires-Dist: packaging~=25.0
24
+ Requires-Dist: gitpython<4,>=3.1.45
25
+ Requires-Dist: mkdocstrings<1,>=0.29
26
+ Requires-Dist: ruamel-yaml<1,>=0.18.16
27
27
  Requires-Dist: typing-extensions>=4.0; python_version < '3.11'
28
28
  Description-Content-Type: text/markdown
29
29
 
@@ -83,5 +83,6 @@ after which the generated documentation can be inserted in the markdown page wit
83
83
  - 🧩 **Individual Parameter Hyperlinks**: Each action or workflow parameter—including inputs, outputs, and secrets—receives a unique HTML id, facilitating direct linking to specific parameter documentation.
84
84
  - 🔒 **Automated Permission Aggregation**: For reusable workflows, if permissions are specified at the job level rather than the workflow level, the required final permissions are automatically determined and displayed in the signature.
85
85
  - 🔗 **Parameter cross-linking**: Link to other parameters of the action or workflow via a simple Markdown syntax.
86
+ - 🧑‍🤝‍🧑 **Parameter grouping**: Organize related inputs, outputs, and secrets into visual groups using inline YAML comments for clearer documentation structure.
86
87
 
87
88
  <!-- --8<-- [end:footer] -->
@@ -54,5 +54,6 @@ after which the generated documentation can be inserted in the markdown page wit
54
54
  - 🧩 **Individual Parameter Hyperlinks**: Each action or workflow parameter—including inputs, outputs, and secrets—receives a unique HTML id, facilitating direct linking to specific parameter documentation.
55
55
  - 🔒 **Automated Permission Aggregation**: For reusable workflows, if permissions are specified at the job level rather than the workflow level, the required final permissions are automatically determined and displayed in the signature.
56
56
  - 🔗 **Parameter cross-linking**: Link to other parameters of the action or workflow via a simple Markdown syntax.
57
+ - 🧑‍🤝‍🧑 **Parameter grouping**: Organize related inputs, outputs, and secrets into visual groups using inline YAML comments for clearer documentation structure.
57
58
 
58
59
  <!-- --8<-- [end:footer] -->
@@ -6,15 +6,15 @@ branding:
6
6
  color: 'blue'
7
7
 
8
8
  inputs:
9
- repository:
9
+ repository: # group: Repository Options
10
10
  description: 'Repository name with owner. For example, actions/checkout'
11
11
  default: ${{ github.repository }}
12
- ref:
12
+ ref: # group: Repository Options
13
13
  description: >
14
14
  The branch, tag or SHA to checkout. When checking out the repository that
15
15
  triggered a workflow, this defaults to the reference or SHA for that
16
16
  event. Otherwise, uses the default branch.
17
- token:
17
+ token: # group: Authentication
18
18
  description: >
19
19
  Personal access token (PAT) used to fetch the repository. The PAT is configured
20
20
  with the local git config, which enables your scripts to run authenticated git
@@ -27,7 +27,7 @@ inputs:
27
27
 
28
28
  [Learn more about creating and using encrypted secrets](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)
29
29
  default: ${{ github.token }}
30
- ssh-key:
30
+ ssh-key: # group: Authentication
31
31
  description: >
32
32
  SSH key used to fetch the repository. The SSH key is configured with the local
33
33
  git config, which enables your scripts to run authenticated git commands.
@@ -39,35 +39,35 @@ inputs:
39
39
 
40
40
  [Learn more about creating and using
41
41
  encrypted secrets](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)
42
- ssh-known-hosts:
42
+ ssh-known-hosts: # group: Authentication
43
43
  description: >
44
44
  Known hosts in addition to the user and global host key database. The public
45
45
  SSH keys for a host may be obtained using the utility `ssh-keyscan`. For example,
46
46
  `ssh-keyscan github.com`. The public key for github.com is always implicitly added.
47
- ssh-strict:
47
+ ssh-strict: # group: Authentication
48
48
  description: >
49
49
  Whether to perform strict host key checking. When true, adds the options `StrictHostKeyChecking=yes`
50
50
  and `CheckHostIP=no` to the SSH command line. Use the input `ssh-known-hosts` to
51
51
  configure additional hosts.
52
52
  default: true
53
- ssh-user:
53
+ ssh-user: # group: Authentication
54
54
  description: >
55
55
  The user to use when connecting to the remote SSH host. By default 'git' is used.
56
56
  default: git
57
- persist-credentials:
57
+ persist-credentials: # group: Authentication
58
58
  description: 'Whether to configure the token or SSH key with the local git config'
59
59
  default: true
60
- path:
60
+ path: # group: Repository Options
61
61
  description: 'Relative path under $GITHUB_WORKSPACE to place the repository'
62
- clean:
62
+ clean: # group: Repository Options
63
63
  description: 'Whether to execute `git clean -ffdx && git reset --hard HEAD` before fetching'
64
64
  default: true
65
- filter:
65
+ filter: # group: Repository Options
66
66
  description: >
67
67
  Partially clone against a given filter.
68
68
  Overrides sparse-checkout if set.
69
69
  default: null
70
- sparse-checkout:
70
+ sparse-checkout: # group: Repository Options
71
71
  description: >
72
72
  Do a sparse checkout on given patterns.
73
73
  Each pattern should be separated with new lines.
@@ -2,6 +2,63 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v0.6.1 (2025-11-10)
6
+
7
+ ### Build System
8
+
9
+ - **deps**: Update dependency inline-snapshot to ~=0.31.0
10
+ ([#38](https://github.com/watermarkhu/mkdocstrings-github/pull/38),
11
+ [`df160a0`](https://github.com/watermarkhu/mkdocstrings-github/commit/df160a0f10f19d0ac589d2a4e13d9260d4b93fe0))
12
+
13
+ - **deps**: Update dependency pytest to v9
14
+ ([#40](https://github.com/watermarkhu/mkdocstrings-github/pull/40),
15
+ [`f338dbc`](https://github.com/watermarkhu/mkdocstrings-github/commit/f338dbcbf70dd89a1559ead510896816a0ed1ce0))
16
+
17
+ - **deps**: Update dependency python-semantic-release to ~=10.5.0
18
+ ([#41](https://github.com/watermarkhu/mkdocstrings-github/pull/41),
19
+ [`e1a78c7`](https://github.com/watermarkhu/mkdocstrings-github/commit/e1a78c753faa67b937737fc22e4826ba609bcc70))
20
+
21
+ ### Chores
22
+
23
+ - **deps**: Update dependency mkdocstrings-python to ~=1.19.0
24
+ ([#42](https://github.com/watermarkhu/mkdocstrings-github/pull/42),
25
+ [`7f92d5d`](https://github.com/watermarkhu/mkdocstrings-github/commit/7f92d5d0613007a7f1cc0cde76ba2159d8f30efd))
26
+
27
+ ### Testing
28
+
29
+ - Fix test_get_repository_name_no_remotes for CI environment
30
+ ([#39](https://github.com/watermarkhu/mkdocstrings-github/pull/39),
31
+ [`a04e7c7`](https://github.com/watermarkhu/mkdocstrings-github/commit/a04e7c78b7b2caf91b48f8d257b84c3e3e549bf3))
32
+
33
+ - Improve test coverage to 99% ([#39](https://github.com/watermarkhu/mkdocstrings-github/pull/39),
34
+ [`a04e7c7`](https://github.com/watermarkhu/mkdocstrings-github/commit/a04e7c78b7b2caf91b48f8d257b84c3e3e549bf3))
35
+
36
+
37
+ ## v0.6.0 (2025-10-27)
38
+
39
+ ### Build System
40
+
41
+ - **deps**: Update dependency inline-snapshot to ~=0.30.0
42
+ ([#35](https://github.com/watermarkhu/mkdocstrings-github/pull/35),
43
+ [`8e8214d`](https://github.com/watermarkhu/mkdocstrings-github/commit/8e8214d31f875a2921fa007248153e71179d0407))
44
+
45
+ ### Continuous Integration
46
+
47
+ - **deps**: Update group-github-actions
48
+ ([#36](https://github.com/watermarkhu/mkdocstrings-github/pull/36),
49
+ [`1e13659`](https://github.com/watermarkhu/mkdocstrings-github/commit/1e13659585994c534f817e76bd530ec96e134bc3))
50
+
51
+ - **deps**: Update group-github-actions (major)
52
+ ([#36](https://github.com/watermarkhu/mkdocstrings-github/pull/36),
53
+ [`1e13659`](https://github.com/watermarkhu/mkdocstrings-github/commit/1e13659585994c534f817e76bd530ec96e134bc3))
54
+
55
+ ### Features
56
+
57
+ - Add parameter grouping, ruamel.yaml
58
+ ([#37](https://github.com/watermarkhu/mkdocstrings-github/pull/37),
59
+ [`c6d8681`](https://github.com/watermarkhu/mkdocstrings-github/commit/c6d8681281adefe935f6abfb009257301fc6537f))
60
+
61
+
5
62
  ## v0.5.1 (2025-10-14)
6
63
 
7
64
  ### Bug Fixes
@@ -32,5 +32,6 @@ hide:
32
32
  signature_version: string
33
33
  signature_version_string: v5
34
34
  signature_repository: actions/checkout
35
+ parameters_groups: true
35
36
  show_source: false
36
37
  </div>
@@ -133,6 +133,60 @@
133
133
  options:
134
134
  parameters_section_style: 'list'
135
135
 
136
+ ::: mkdocstrings_handlers.github.config.GitHubOptions.parameters_groups
137
+ handler: python
138
+
139
+ ??? preview
140
+
141
+ === "`parameters_groups: true` (table)"
142
+
143
+ ::: .github/workflows/example_workflow.yml
144
+ options:
145
+ parameters_groups: true
146
+ parameters_section_style: 'table'
147
+
148
+ === "`parameters_groups: false` (table)"
149
+
150
+ ::: .github/workflows/example_workflow.yml
151
+ options:
152
+ parameters_groups: false
153
+ parameters_section_style: 'table'
154
+
155
+ === "`parameters_groups: true` (list)"
156
+
157
+ ::: .github/workflows/example_workflow.yml
158
+ options:
159
+ parameters_groups: true
160
+ parameters_section_style: 'list'
161
+
162
+ === "`parameters_groups: false` (list)"
163
+
164
+ ::: .github/workflows/example_workflow.yml
165
+ options:
166
+ parameters_groups: false
167
+ parameters_section_style: 'list'
168
+
169
+ ::: mkdocstrings_handlers.github.config.GitHubOptions.parameters_group_title_row
170
+ handler: python
171
+
172
+ ??? preview
173
+
174
+ === "`parameters_group_title_row: true`"
175
+
176
+ ::: .github/workflows/example_workflow.yml
177
+ options:
178
+ parameters_groups: true
179
+ parameters_group_title_row: true
180
+ parameters_section_style: 'table'
181
+
182
+ === "`parameters_group_title_row: false`"
183
+
184
+ ::: .github/workflows/example_workflow.yml
185
+ options:
186
+ parameters_groups: true
187
+ parameters_group_title_row: false
188
+ parameters_section_style: 'table'
189
+
136
190
  ::: mkdocstrings_handlers.github.config.GitHubOptions.parameters_anchors
137
191
  handler: python
138
192
 
@@ -1,12 +1,18 @@
1
- site_name: "mkdocstrings-github"
2
- site_description: "A MATLAB handler for mkdocstrings."
3
- site_url: "https://watermarkhu.nl/mkdocstrings-github"
4
- repo_url: "https://github.com/watermarkhu/mkdocstrings-github"
5
- repo_name: "watermarkhu/mkdocstrings-github"
6
- watch: [mkdocs.yml, README.md, src/mkdocstrings_handlers]
1
+ site_name: mkdocstrings-github
2
+ site_description: A MATLAB handler for mkdocstrings.
3
+ site_url: https://watermarkhu.nl/mkdocstrings-github
4
+ repo_url: https://github.com/watermarkhu/mkdocstrings-github
5
+ repo_name: watermarkhu/mkdocstrings-github
7
6
  copyright: Copyright &copy; 2025 Mark Shui Hu
8
7
  edit_uri: edit/main/docs/
9
8
 
9
+ watch:
10
+ - mkdocs.yml
11
+ - README.md
12
+ - src/mkdocstrings_handlers
13
+ - action.yaml
14
+ - .github
15
+
10
16
  validation:
11
17
  omitted_files: warn
12
18
  absolute_links: warn
@@ -108,7 +114,7 @@ markdown_extensions:
108
114
  - pymdownx.tasklist:
109
115
  custom_checkbox: true
110
116
  - toc:
111
- permalink: "¤"
117
+ permalink: ¤
112
118
  toc_depth: 2
113
119
 
114
120
  plugins:
@@ -124,8 +130,11 @@ plugins:
124
130
  show_toc_entry: false
125
131
  heading_level: 3
126
132
  parameters_anchors: false
133
+ parameters_groups: false
134
+ parameters_group_title_row: true
127
135
  signature_version: string
128
136
  signature_version_string: v1
137
+
129
138
  python:
130
139
  paths: [src]
131
140
  options:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mkdocstrings-github"
3
- version = "0.5.1"
3
+ version = "0.6.1"
4
4
  description = "A GitHub Action handler for mkdocstrings"
5
5
  authors = [
6
6
  { name = "Mark Hu", email = "watermarkhu@gmail.com" }
@@ -27,9 +27,9 @@ classifiers = [
27
27
  ]
28
28
 
29
29
  dependencies = [
30
- "gitpython~=3.1.45",
31
- "mkdocstrings~=0.29",
32
- "packaging~=25.0",
30
+ "gitpython>=3.1.45,<4",
31
+ "mkdocstrings>=0.29,<1",
32
+ "ruamel.yaml>=0.18.16,<1",
33
33
  "typing-extensions>=4.0; python_version < '3.11'",
34
34
  ]
35
35
 
@@ -39,18 +39,18 @@ dev = [
39
39
  "ruff~=0.14.0",
40
40
  "prek>=0.2.1",
41
41
  "pydantic~=2.12",
42
- "pytest~=8.4.1",
42
+ "pytest~=9.0.0",
43
43
  "pytest-cov~=7.0.0",
44
44
  "beautifulsoup4>=4.13.3",
45
- "inline-snapshot~=0.29.0",
46
- "python-semantic-release~=10.4.1",
45
+ "inline-snapshot~=0.31.0",
46
+ "python-semantic-release~=10.5.0",
47
47
  ]
48
48
  docs = [
49
49
  "mkdocs-material~=9.5",
50
50
  "mkdocs-callouts~=1.15",
51
51
  "mkdocs-git-revision-date-localized-plugin~=1.3",
52
52
  "mkdocs-minify-plugin~=0.8",
53
- "mkdocstrings-python~=1.18.2",
53
+ "mkdocstrings-python~=1.19.0",
54
54
  "mike~=2.1",
55
55
  "griffe-pydantic~=1.1.7",
56
56
  ]
@@ -170,6 +170,32 @@ class GitHubOptions(BaseModel):
170
170
  """,
171
171
  )
172
172
 
173
+ parameters_groups: bool = Field(
174
+ default=True,
175
+ description="""Whether to group parameters by their group in the documentation.
176
+
177
+ This is done by adding a comment `# group: <group name>` directly after the parameter definition in the action/workflow file.
178
+ This can be done for inputs, outputs and secrets. E.g.:
179
+
180
+ ```yaml
181
+ inputs:
182
+ my_input: # group: Example Group
183
+ description: "An example input"
184
+ required: true
185
+ ```
186
+
187
+ This has no effect if there are no groups defined for any parameter.
188
+ """,
189
+ )
190
+
191
+ parameters_group_title_row: bool = Field(
192
+ default=True,
193
+ description="""Whether to add a title row for each parameter group in the documentation.
194
+ This only has an effect if [`parameters_groups`][mkdocstrings_handlers.github.config.GitHubOptions.parameters_groups] is set to `true`,
195
+ and if the [`parameters_section_style`][mkdocstrings_handlers.github.config.GitHubOptions.parameters_section_style] is set to `table`.
196
+ """,
197
+ )
198
+
173
199
  parameters_anchors: bool = Field(
174
200
  default=True,
175
201
  description="Whether to add anchors to parameters in the documentation.",
@@ -170,6 +170,7 @@ class GitHubHandler(BaseHandler):
170
170
  self.env.filters["format_action_signature"] = rendering.format_action_signature
171
171
  self.env.filters["order_parameters"] = rendering.order_parameters
172
172
  self.env.filters["filter_parameters"] = rendering.filter_parameters
173
+ self.env.filters["group_parameters"] = rendering.group_parameters
173
174
  self.env.filters["anchor_id"] = rendering.anchor_id
174
175
  self.env.filters["as_string"] = rendering.as_string
175
176
  self.env.globals["semver_tag"] = self.semver
@@ -1,10 +1,28 @@
1
- from collections import OrderedDict
1
+ import re
2
2
  from dataclasses import dataclass, field
3
3
  from enum import Enum
4
4
  from os import PathLike
5
5
  from typing import Any, Literal, Optional
6
6
 
7
- import yaml
7
+ from ruamel.yaml import YAML
8
+ from ruamel.yaml.comments import CommentedMap
9
+
10
+ yaml = YAML()
11
+
12
+
13
+ GROUP_PATTERN = r"#\s*group:\s*(.+)$"
14
+
15
+
16
+ def group_from_map(map: CommentedMap) -> str:
17
+ """Extract group string from a comment line if it matches the group pattern."""
18
+ if map.ca.comment:
19
+ for comment in map.ca.comment:
20
+ if comment is not None:
21
+ group_matches = re.finditer(GROUP_PATTERN, comment.value)
22
+ group_string = next((m.group(1).strip() for m in group_matches), "")
23
+ if group_string:
24
+ return group_string
25
+ return ""
8
26
 
9
27
 
10
28
  @dataclass
@@ -15,28 +33,15 @@ class Input:
15
33
  type: Literal["boolean", "number", "string"] = "string"
16
34
  default: bool | float | int | str | None = None
17
35
  deprecationMessage: Optional[str] = None
18
-
19
- @staticmethod
20
- def from_data(
21
- name: str,
22
- description: str = "",
23
- required: bool = False,
24
- type: Literal["boolean", "number", "string"] = "string",
25
- default: bool | float | int | str | None = None,
26
- deprecationMessage: Optional[str] = None,
27
- **kwargs,
28
- ) -> "Input":
29
- return Input(name, description, required, type, default, deprecationMessage)
36
+ group: str = ""
30
37
 
31
38
 
32
39
  @dataclass
33
40
  class Output:
34
41
  name: str
35
42
  description: str = ""
36
-
37
- @staticmethod
38
- def from_data(name: str, description: str = "", **kwargs) -> "Output":
39
- return Output(name, description)
43
+ value: str = ""
44
+ group: str = ""
40
45
 
41
46
 
42
47
  @dataclass
@@ -44,10 +49,7 @@ class Secret:
44
49
  name: str
45
50
  description: str = ""
46
51
  required: bool = False
47
-
48
- @staticmethod
49
- def from_data(name: str, description: str = "", required: bool = False, **kwargs) -> "Secret":
50
- return Secret(name, description, required)
52
+ group: str = ""
51
53
 
52
54
 
53
55
  def _get_member(d: dict, key: str, error_message: str = "", default: Any = None) -> Any:
@@ -58,36 +60,11 @@ def _get_member(d: dict, key: str, error_message: str = "", default: Any = None)
58
60
  return d[key]
59
61
 
60
62
 
61
- class _OrderedLoader(yaml.Loader):
62
- pass
63
-
64
-
65
- # Remove boolean resolver for "on", "off", "yes", "no" (and case variants)
66
- for ch in "yYnNoO":
67
- if ch in _OrderedLoader.yaml_implicit_resolvers:
68
- _OrderedLoader.yaml_implicit_resolvers[ch] = [
69
- res
70
- for res in _OrderedLoader.yaml_implicit_resolvers[ch]
71
- if res[0] != "tag:yaml.org,2002:bool"
72
- ]
73
-
74
-
75
- def _construct_mapping(loader, node):
76
- loader.flatten_mapping(node)
77
- return OrderedDict(loader.construct_pairs(node))
78
-
79
-
80
- _OrderedLoader.add_constructor(
81
- yaml.SafeLoader.DEFAULT_MAPPING_TAG,
82
- _construct_mapping,
83
- )
84
-
85
-
86
63
  def _read_file(file: PathLike) -> tuple[str, dict]:
87
64
  with open(file, "r", encoding="utf-8") as f:
88
65
  source = f.read()
89
66
  f.seek(0)
90
- data = yaml.load(f, Loader=_OrderedLoader)
67
+ data = yaml.load(f)
91
68
  return source, data
92
69
 
93
70
 
@@ -121,9 +98,9 @@ class Action:
121
98
  branding=_get_member(data, "branding", default={}),
122
99
  )
123
100
  for key, value in data.get("inputs", {}).items():
124
- action.inputs.append(Input.from_data(key, **value))
101
+ action.inputs.append(Input(name=key, **value, group=group_from_map(value)))
125
102
  for key, value in data.get("outputs", {}).items():
126
- action.outputs.append(Output.from_data(key, **value))
103
+ action.outputs.append(Output(name=key, **value, group=group_from_map(value)))
127
104
  return action
128
105
 
129
106
 
@@ -218,11 +195,11 @@ class Workflow:
218
195
  call = data["on"]["workflow_call"]
219
196
  if call:
220
197
  for key, value in call.get("inputs", {}).items():
221
- workflow.inputs.append(Input.from_data(key, **value))
198
+ workflow.inputs.append(Input(name=key, **value, group=group_from_map(value)))
222
199
  for key, value in call.get("outputs", {}).items():
223
- workflow.outputs.append(Output.from_data(key, **value))
200
+ workflow.outputs.append(Output(name=key, **value, group=group_from_map(value)))
224
201
  for key, value in call.get("secrets", {}).items():
225
- workflow.secrets.append(Secret.from_data(key, **value))
202
+ workflow.secrets.append(Secret(name=key, **value, group=group_from_map(value)))
226
203
 
227
204
  def set_all_permissions(level: str):
228
205
  if level == "read-all":
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import os
4
+ from collections import OrderedDict
4
5
  from typing import TYPE_CHECKING, Sequence
5
6
 
6
7
  from jinja2 import pass_context
@@ -40,6 +41,22 @@ def format_action_signature(context: Context, id: str, repo: str, options: GitHu
40
41
  return f"{name}@{version}"
41
42
 
42
43
 
44
+ def group_parameters(
45
+ parameters: Sequence[Input | Output | Secret],
46
+ do_group: bool,
47
+ ) -> OrderedDict[str, list[Input | Output | Secret]]:
48
+ grouped: OrderedDict[str, list[Input | Output | Secret]] = OrderedDict()
49
+ if not do_group:
50
+ grouped[""] = list(parameters)
51
+ return grouped
52
+ for parameter in parameters:
53
+ group = getattr(parameter, "group", "")
54
+ if group not in grouped:
55
+ grouped[group] = []
56
+ grouped[group].append(parameter)
57
+ return grouped
58
+
59
+
43
60
  def order_parameters(
44
61
  parameters: Sequence[Input | Output | Secret], parameters_order: PARAMETERS_ORDER
45
62
  ):
@@ -0,0 +1,38 @@
1
+ {#- Shared macros for rendering parameters in different styles -#}
2
+
3
+ {#- Macro to render a single parameter item in list style -#}
4
+ {% macro render_parameter_item(item, item_type, options, data) %}
5
+ {% set anchor_id = item.name | anchor_id(item_type, data.id) %}
6
+ <li class="doc-section-item field-body">
7
+ <b><code>{{ item.name }}</code></b>
8
+ {%- if item.required is defined and item.required %} - <em>required</em>{% endif %}
9
+ {% if options.parameters_anchors %}
10
+ <a class="headerlink" href="#{{ anchor_id }}" title="Link to {{ item.name }}">¤</a>
11
+ {% endif %}
12
+ <div class="doc-md-description">
13
+ {{ item.description | convert_markdown(options.heading_level, data.id) }}
14
+ </div>
15
+ {% if item.default is defined and item.default is not none %}
16
+ <div class="doc-md-description">
17
+ <code>{{ item.default | as_string }}</code>
18
+ </div>
19
+ {% endif %}
20
+ </li>
21
+ {% endmacro %}
22
+
23
+ {#- Macro to render grouped parameters in list style -#}
24
+ {% macro render_grouped_list(items, item_type, options, data) %}
25
+ {% set grouped_items = items | group_parameters(options.parameters_groups) %}
26
+ {% for group, group_items in grouped_items.items() %}
27
+ {% if group %}
28
+ <li class="gh-group-item">
29
+ <em>{{ group }}:</em>
30
+ <ul>
31
+ {% for item in group_items %}{{ render_parameter_item(item, item_type, options, data) }}{% endfor %}
32
+ </ul>
33
+ </li>
34
+ {% else %}
35
+ {% for item in group_items %}{{ render_parameter_item(item, item_type, options, data) }}{% endfor %}
36
+ {% endif %}
37
+ {% endfor %}
38
+ {% endmacro %}