From 7697a015cb9115f3b61b3f1bba5e8e405fcd5af1 Mon Sep 17 00:00:00 2001 From: Peter Feerick <5500713+pfeerick@users.noreply.github.com> Date: Fri, 23 Oct 2026 19:26:44 +1000 Subject: [PATCH] chore: convert 2.11 docs from GitBook to MkDocs Replace the GitBook tree with the MkDocs source the published 2.11 site is already built from: the page content (converted by tools/import_legacy_gitbook.py on edgetx_2.12) in website/md-docs/, a mkdocs.yml for this version, and the uv project files. The branch now builds itself: the publish workflow deploys it as "2.11" on push, and pull requests get a Cloudflare preview. "Edit this page" is enabled and opens this branch. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/preview-docs.yml | 121 ++ .github/workflows/publish-versioned-docs.yml | 118 ++ .gitignore | 10 + README.md | 44 +- SUMMARY.md | 254 ---- mkdocs.yml | 348 ++++++ pyproject.toml | 15 + uv.lock | 627 ++++++++++ .../api-reference}/audio-sound/flushaudio.md | 0 .../api-reference/audio-sound/index.md | 1 - .../audio-sound/playduration.md | 0 .../api-reference}/audio-sound/playfile.md | 0 .../api-reference}/audio-sound/playhaptic.md | 0 .../api-reference}/audio-sound/playnumber.md | 0 .../api-reference}/audio-sound/playtone.md | 0 .../api-reference/bitmap/bitmap-resize.md | 0 .../api-reference/bitmap/bitmap-tomask.md | 0 .../md-docs/api-reference}/bitmap/getsize.md | 0 .../md-docs/api-reference/bitmap/index.md | 1 - .../md-docs/api-reference}/bitmap/open.md | 0 .../constants/color-constants.md | 0 .../constants/flags-and-pattern-constants.md | 0 .../md-docs/api-reference/constants/index.md | 0 .../constants/key-event-constants.md | 1 - .../logical-switch-function-constants.md | 0 .../constants/screen-constants.md | 0 .../constants/special-character-constants.md | 0 .../constants/special-function-constants.md | 0 .../constants/touch-event-constants.md | 0 .../md-docs/api-reference}/constants/units.md | 0 .../constants/widget-options.md | 14 +- .../api-reference}/display-lcd/clear.md | 22 +- .../api-reference}/display-lcd/drawannulus.md | 6 +- .../api-reference}/display-lcd/drawarc.md | 6 +- .../api-reference}/display-lcd/drawbitmap.md | 26 +- .../api-reference}/display-lcd/drawchannel.md | 17 +- .../api-reference}/display-lcd/drawcircle.md | 7 +- .../display-lcd/drawcombobox.md | 0 .../display-lcd/drawfilledcircle.md | 6 +- .../display-lcd/drawfilledrectangle.md | 0 .../display-lcd/drawfilledtriangle.md | 7 +- .../api-reference}/display-lcd/drawgauge.md | 0 .../display-lcd/drawhudrectangle.md | 6 +- .../api-reference}/display-lcd/drawline.md | 0 .../display-lcd/drawlinewithclipping.md | 0 .../api-reference}/display-lcd/drawnumber.md | 0 .../api-reference}/display-lcd/drawpie.md | 0 .../api-reference}/display-lcd/drawpixmap.md | 30 +- .../api-reference}/display-lcd/drawpoint.md | 0 .../display-lcd/drawrectangle.md | 0 .../display-lcd/drawscreentitle.md | 7 +- .../api-reference}/display-lcd/drawsource.md | 0 .../api-reference}/display-lcd/drawswitch.md | 0 .../api-reference}/display-lcd/drawtext.md | 0 .../api-reference}/display-lcd/drawtimer.md | 0 .../display-lcd/drawtriangle.md | 7 +- .../api-reference}/display-lcd/getcolor.md | 0 .../display-lcd/getlastleftpos.md | 0 .../api-reference}/display-lcd/getlastpos.md | 0 .../display-lcd/getlastrightpos.md | 0 .../api-reference}/display-lcd/grey.md | 0 .../api-reference/display-lcd/index.md | 1 - .../display-lcd/lcd-drawbitmappattern.md | 0 .../display-lcd/lcd-drawbitmappatternpie.md | 0 .../display-lcd/lcd-drawtextlines.md | 15 +- .../display-lcd/lcd-exitfullscreen.md | 0 .../display-lcd/lcd-functions-overview.md | 0 .../display-lcd/lcd-invertrect.md | 0 .../display-lcd/popupconfirmation.md | 0 .../api-reference}/display-lcd/popupinput.md | 0 .../display-lcd/popupwarning.md | 0 .../api-reference}/display-lcd/refresh.md | 0 .../display-lcd/resetbacklighttimeout.md | 0 .../md-docs/api-reference}/display-lcd/rgb.md | 22 +- .../api-reference}/display-lcd/setcolor.md | 0 .../api-reference}/display-lcd/sizetext.md | 0 .../api-reference}/filesystem/chdir.md | 0 .../md-docs/api-reference}/filesystem/del.md | 0 .../md-docs/api-reference}/filesystem/dir.md | 0 .../api-reference}/filesystem/fstat.md | 0 .../md-docs/api-reference/filesystem/index.md | 1 - .../md-docs/api-reference}/gps/gettxgps.md | 0 .../md-docs/api-reference/gps/index.md | 1 - .../md-docs/api-reference/index.md | 0 .../key-inputs/getrotencmode.md | 0 .../key-inputs/getrotencspeed.md | 0 .../md-docs/api-reference/key-inputs/index.md | 1 - .../api-reference}/key-inputs/killevents.md | 0 .../lua-scripts/getavailablememory.md | 0 .../api-reference}/lua-scripts/getusage.md | 0 .../api-reference/lua-scripts/index.md | 1 - .../api-reference}/lua-scripts/loadscript.md | 0 .../api-reference}/lvgl-for-lua/api.md | 0 .../api-reference}/lvgl-for-lua/constants.md | 0 .../api-reference}/lvgl-for-lua/examples.md | 4 +- .../api-reference/lvgl-for-lua/index.md | 0 .../api-reference/lvgl-for-lua/lvgl-align.md | 0 .../api-reference/lvgl-for-lua/lvgl-arc.md | 0 .../api-reference/lvgl-for-lua/lvgl-box.md | 0 .../api-reference/lvgl-for-lua/lvgl-build.md | 0 .../api-reference/lvgl-for-lua/lvgl-button.md | 0 .../api-reference/lvgl-for-lua/lvgl-choice.md | 0 .../api-reference/lvgl-for-lua/lvgl-circle.md | 0 .../api-reference/lvgl-for-lua/lvgl-clear.md | 0 .../api-reference/lvgl-for-lua/lvgl-color.md | 0 .../lvgl-for-lua/lvgl-confirm.md | 0 .../api-reference/lvgl-for-lua/lvgl-dialog.md | 0 .../lvgl-for-lua/lvgl-exitfullscreen.md | 0 .../api-reference/lvgl-for-lua/lvgl-file.md | 0 .../api-reference/lvgl-for-lua/lvgl-font.md | 0 .../lvgl-for-lua/lvgl-getcontext.md | 0 .../lvgl-for-lua/lvgl-getscrollpos.md | 0 .../api-reference/lvgl-for-lua/lvgl-hide.md | 0 .../api-reference/lvgl-for-lua/lvgl-hline.md | 0 .../api-reference/lvgl-for-lua/lvgl-image.md | 0 .../lvgl-for-lua/lvgl-isappmode.md | 0 .../lvgl-for-lua/lvgl-isfullscreen.md | 0 .../api-reference/lvgl-for-lua/lvgl-label.md | 0 .../api-reference/lvgl-for-lua/lvgl-line.md | 0 .../api-reference/lvgl-for-lua/lvgl-menu.md | 0 .../lvgl-for-lua/lvgl-message.md | 0 .../lvgl-for-lua/lvgl-momentarybutton.md | 0 .../lvgl-for-lua/lvgl-numberedit.md | 0 .../api-reference/lvgl-for-lua/lvgl-page.md | 0 .../api-reference/lvgl-for-lua/lvgl-qrcode.md | 0 .../lvgl-for-lua/lvgl-rectangle.md | 0 .../api-reference/lvgl-for-lua/lvgl-set.md | 0 .../lvgl-for-lua/lvgl-setting.md | 0 .../api-reference/lvgl-for-lua/lvgl-show.md | 0 .../api-reference/lvgl-for-lua/lvgl-slider.md | 0 .../api-reference/lvgl-for-lua/lvgl-source.md | 0 .../api-reference/lvgl-for-lua/lvgl-switch.md | 0 .../lvgl-for-lua/lvgl-textedit.md | 0 .../api-reference/lvgl-for-lua/lvgl-timer.md | 0 .../api-reference/lvgl-for-lua/lvgl-toggle.md | 0 .../lvgl-for-lua/lvgl-triangle.md | 0 .../lvgl-for-lua/lvgl-verticalslider.md | 0 .../api-reference/lvgl-for-lua/lvgl-vline.md | 0 .../api-reference}/lvgl-for-lua/overview.md | 0 .../api-reference}/model/defaultinputs.md | 0 .../api-reference}/model/deleteflightmodes.md | 0 .../api-reference}/model/deleteinput.md | 0 .../api-reference}/model/deleteinputs.md | 0 .../md-docs/api-reference}/model/deletemix.md | 0 .../api-reference}/model/deletemixes.md | 0 .../md-docs/api-reference}/model/getcurve.md | 0 .../api-reference}/model/getcustomfunction.md | 0 .../api-reference}/model/getflightmode.md | 0 .../api-reference}/model/getglobalvariable.md | 0 .../md-docs/api-reference}/model/getinfo.md | 6 +- .../md-docs/api-reference}/model/getinput.md | 0 .../api-reference}/model/getinputscount.md | 0 .../api-reference}/model/getlogicalswitch.md | 0 .../md-docs/api-reference}/model/getmix.md | 0 .../api-reference}/model/getmixescount.md | 0 .../md-docs/api-reference}/model/getmodule.md | 0 .../md-docs/api-reference}/model/getoutput.md | 0 .../md-docs/api-reference}/model/getsensor.md | 0 .../md-docs/api-reference}/model/gettimer.md | 0 .../md-docs/api-reference/model/index.md | 1 - .../api-reference}/model/insertinput.md | 0 .../md-docs/api-reference}/model/insertmix.md | 0 .../api-reference/model/model-getswashring.md | 0 .../model/model-setswashring-params.md | 2 +- .../api-reference}/model/resetsensor.md | 0 .../api-reference}/model/resettimer.md | 0 .../md-docs/api-reference}/model/setcurve.md | 0 .../api-reference}/model/setcustomfunction.md | 0 .../api-reference}/model/setflightmode.md | 0 .../api-reference}/model/setglobalvariable.md | 0 .../md-docs/api-reference}/model/setinfo.md | 0 .../api-reference}/model/setlogicalswitch.md | 0 .../md-docs/api-reference}/model/setmodule.md | 0 .../md-docs/api-reference}/model/setoutput.md | 0 .../md-docs/api-reference}/model/settimer.md | 0 .../rf-module/accesstelemetrypush.md | 0 .../rf-module/crossfiretelemetrypop.md | 0 .../rf-module/crossfiretelemetrypush.md | 0 .../api-reference}/rf-module/getras.md | 1 - .../rf-module/ghosttelemetrypop.md | 0 .../rf-module/ghosttelemetrypush.md | 0 .../md-docs/api-reference/rf-module/index.md | 1 - .../rf-module/multibuffer-address-value.md | 1 - .../rf-module/sporttelemetrypop.md | 0 .../rf-module/sporttelemetrypush.md | 0 .../api-reference/serial-ports/index.md | 1 - .../serial-ports/serialgetpower.md | 0 .../api-reference}/serial-ports/serialread.md | 0 .../serial-ports/serialsetpower.md | 0 .../serial-ports/serialwrite.md | 0 .../serial-ports/setserialbaudrate.md | 0 .../api-reference}/system/defaultchannel.md | 0 .../api-reference}/system/defaultstick.md | 0 .../system/getgeneralsettings.md | 0 .../api-reference}/system/getversion.md | 0 .../md-docs/api-reference/system/index.md | 1 - .../md-docs/api-reference}/system/rgb.md | 15 +- .../api-reference}/telemetry/getrssi.md | 1 - .../md-docs/api-reference/telemetry/index.md | 1 - .../api-reference}/time/getdatetime.md | 0 .../api-reference}/time/getglobaltimer.md | 0 .../md-docs/api-reference}/time/getrtctime.md | 0 .../md-docs/api-reference}/time/gettime.md | 0 .../md-docs/api-reference/time/index.md | 1 - .../api-reference}/time/resetglobaltimer.md | 0 .../api-reference}/variables/getfieldinfo.md | 0 .../api-reference}/variables/getflightmode.md | 0 .../variables/getlogicalswitchvalue.md | 0 .../variables/getoutputvalue.md | 0 .../api-reference}/variables/getshmvar.md | 0 .../variables/getsourceindex.md | 0 .../api-reference}/variables/getsourcename.md | 0 .../variables/getsourcevalue.md | 0 .../variables/getswitchindex.md | 0 .../api-reference}/variables/getswitchname.md | 0 .../variables/getswitchvalue.md | 0 .../api-reference}/variables/getvalue.md | 0 .../md-docs/api-reference/variables/index.md | 1 - .../api-reference}/variables/setshmvar.md | 0 .../variables/setstickyswitch.md | 0 .../api-reference}/variables/sources.md | 0 .../api-reference}/variables/switches.md | 0 .../md-docs/appendix}/fonts.md | 0 .../md-docs/appendix/index.md | 0 website/md-docs/assets/edgetx-logo.svg | 143 +++ website/md-docs/assets/fonts/Roboto-Bold.ttf | Bin 0 -> 170760 bytes .../md-docs/assets/fonts/Roboto-Regular.ttf | Bin 0 -> 171676 bytes ... 2025-04-07 at 10.02.29\342\200\257AM.png" | Bin ...t 2025-12-04 at 1.49.43\342\200\257pm.png" | Bin .../md-docs/assets/legacy-2.11}/flags (1).png | Bin .../screenshot_tx16s_24-08-08_19-41-54.png | Bin .../screenshot_tx16s_24-08-08_19-42-01.png | Bin website/md-docs/assets/luals/Bitmap.d.lua | 59 + website/md-docs/assets/luals/lcd.d.lua | 353 ++++++ website/md-docs/assets/luals/lvgl.d.lua | 326 ++++++ website/md-docs/assets/luals/model.d.lua | 259 +++++ website/md-docs/assets/luals/runtime.d.lua | 514 ++++++++ .../radios/betafpv-literadio-3-pro-500.png | Bin 0 -> 100764 bytes .../md-docs/assets/radios/fatfish-f16-500.png | Bin 0 -> 121337 bytes .../md-docs/assets/radios/flysky-el18-500.png | Bin 0 -> 218941 bytes .../md-docs/assets/radios/flysky-nb4-500.png | Bin 0 -> 123489 bytes .../md-docs/assets/radios/flysky-nv14-500.png | Bin 0 -> 161038 bytes .../md-docs/assets/radios/flysky-pa01-500.png | Bin 0 -> 146235 bytes .../md-docs/assets/radios/flysky-pl18-500.png | Bin 0 -> 219929 bytes .../assets/radios/flysky-pl18u-500.png | Bin 0 -> 164938 bytes .../md-docs/assets/radios/flysky-st16-500.png | Bin 0 -> 143490 bytes .../md-docs/assets/radios/frsky-qx7-500.png | Bin 0 -> 111729 bytes .../md-docs/assets/radios/frsky-x10-500.png | Bin 0 -> 153253 bytes .../md-docs/assets/radios/frsky-x12s-500.png | Bin 0 -> 178610 bytes .../assets/radios/frsky-x9-lite-500.png | Bin 0 -> 123386 bytes .../assets/radios/frsky-x9d-2019-500.png | Bin 0 -> 223608 bytes .../md-docs/assets/radios/frsky-x9d-500.png | Bin 0 -> 151369 bytes .../md-docs/assets/radios/frsky-x9e-500.png | Bin 0 -> 149213 bytes .../assets/radios/frsky-xlite-pro-500.png | Bin 0 -> 83074 bytes website/md-docs/assets/radios/hrs-v12-500.png | Bin 0 -> 193501 bytes website/md-docs/assets/radios/hrs-v14-500.png | Bin 0 -> 189150 bytes website/md-docs/assets/radios/hrs-v16-500.png | Bin 0 -> 179588 bytes .../assets/radios/iflight-commando-14-500.png | Bin 0 -> 71755 bytes .../assets/radios/iflight-commando-8-500.png | Bin 0 -> 114800 bytes .../assets/radios/jumper-bumblebee-500.png | Bin 0 -> 98557 bytes .../assets/radios/jumper-t-lite-500.png | Bin 0 -> 75869 bytes .../md-docs/assets/radios/jumper-t12-500.png | Bin 0 -> 208098 bytes .../md-docs/assets/radios/jumper-t14-500.png | Bin 0 -> 128690 bytes .../md-docs/assets/radios/jumper-t15-500.png | Bin 0 -> 183289 bytes .../assets/radios/jumper-t15-pro-500.png | Bin 0 -> 147219 bytes .../md-docs/assets/radios/jumper-t16-500.png | Bin 0 -> 152429 bytes .../md-docs/assets/radios/jumper-t18-500.png | Bin 0 -> 128266 bytes .../md-docs/assets/radios/jumper-t20-500.png | Bin 0 -> 115090 bytes .../md-docs/assets/radios/jumper-tpro-500.png | Bin 0 -> 113184 bytes .../assets/radios/radiomaster-boxer-500.png | Bin 0 -> 121444 bytes .../assets/radios/radiomaster-gx12-500.png | Bin 0 -> 126900 bytes .../assets/radios/radiomaster-mt12-500.png | Bin 0 -> 114640 bytes .../assets/radios/radiomaster-pocket-500.png | Bin 0 -> 117037 bytes .../assets/radios/radiomaster-t8pro-500.png | Bin 0 -> 135912 bytes .../assets/radios/radiomaster-tx12-500.png | Bin 0 -> 111596 bytes .../assets/radios/radiomaster-tx15-500.png | Bin 0 -> 135918 bytes .../radios/radiomaster-tx16s-max-500.png | Bin 0 -> 276495 bytes .../radios/radiomaster-tx16s-mk3-max-500.png | Bin 0 -> 214044 bytes .../assets/radios/radiomaster-zorro-500.png | Bin 0 -> 126746 bytes website/md-docs/index.md | 36 + .../javascripts/legacy-version-banner.js | 117 ++ .../md-docs/javascripts/mobile-nav-inline.js | 265 +++++ .../md-docs/javascripts/review-workbench.js | 206 ++++ website/md-docs/javascripts/toc-visibility.js | 17 + .../md-docs/overview/index.md | 0 .../overview/internal-indexes/index.md | 1 - .../overview}/internal-indexes/source-list.md | 13 +- .../internal-indexes/switch-positions-id.md | 1 - .../md-docs/overview}/lua-basics.md | 0 .../md-docs/overview}/radios/betafpv.md | 1 - .../md-docs/overview}/radios/flysky.md | 1 - .../md-docs/overview}/radios/frsky.md | 1 - .../md-docs/overview/radios/index.md | 0 .../md-docs/overview}/radios/jumper.md | 1 - .../overview/radios/radiomaster/index.md | 1 - .../overview}/radios/radiomaster/tx16s.md | 0 .../script-types/function-scripts.md | 12 +- .../md-docs/overview/script-types/index.md | 1 - .../overview}/script-types/mixes-scripts.md | 48 +- .../script-types/one-time-scripts.md | 32 +- .../script-types/telemetry-scripts.md | 14 +- .../overview}/script-types/widget-scripts.md | 74 +- .../overview/version-libraries/index.md | 0 .../overview}/version-libraries/io-library.md | 0 .../advanced-topics/debugging-techniques.md | 0 .../programming/advanced-topics/index.md | 0 .../lua-data-sharing-across-scripts.md | 0 .../advanced-topics/optimization-tricks.md | 0 ...ta-exchange-with-the-edgetx-model-setup.md | 0 .../programming}/drawing-flags-and-colors.md | 6 +- .../md-docs/programming/index.md | 0 .../programming}/init-function-syntax.md | 0 .../programming}/input-table-syntax.md | 0 .../loading-code-modules-dynamically.md | 0 .../programming}/output-table-syntax.md | 0 .../programming}/return-statement-syntax.md | 0 .../programming}/run-function-syntax.md | 0 .../md-docs/programming}/saving-memory.md | 0 .../using-key-and-touch-events.md | 0 website/md-docs/stylesheets/extra-live-v2.css | 1031 +++++++++++++++++ website/md-docs/stylesheets/extra.css | 768 ++++++++++++ wrangler.jsonc | 14 + 322 files changed, 5567 insertions(+), 528 deletions(-) create mode 100644 .github/workflows/preview-docs.yml create mode 100644 .github/workflows/publish-versioned-docs.yml create mode 100644 .gitignore delete mode 100644 SUMMARY.md create mode 100644 mkdocs.yml create mode 100644 pyproject.toml create mode 100644 uv.lock rename {lua-api-reference => website/md-docs/api-reference}/audio-sound/flushaudio.md (100%) rename lua-api-reference/audio-sound/README.md => website/md-docs/api-reference/audio-sound/index.md (93%) rename {lua-api-reference => website/md-docs/api-reference}/audio-sound/playduration.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/audio-sound/playfile.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/audio-sound/playhaptic.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/audio-sound/playnumber.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/audio-sound/playtone.md (100%) rename lua-api-reference/bitmap/bitmap.resize.md => website/md-docs/api-reference/bitmap/bitmap-resize.md (100%) rename lua-api-reference/bitmap/bitmap.tomask.md => website/md-docs/api-reference/bitmap/bitmap-tomask.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/bitmap/getsize.md (100%) rename lua-api-reference/bitmap/README.md => website/md-docs/api-reference/bitmap/index.md (95%) rename {lua-api-reference => website/md-docs/api-reference}/bitmap/open.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/constants/color-constants.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/constants/flags-and-pattern-constants.md (100%) rename lua-api-reference/constants/README.md => website/md-docs/api-reference/constants/index.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/constants/key-event-constants.md (95%) rename {lua-api-reference => website/md-docs/api-reference}/constants/logical-switch-function-constants.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/constants/screen-constants.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/constants/special-character-constants.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/constants/special-function-constants.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/constants/touch-event-constants.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/constants/units.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/constants/widget-options.md (88%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/clear.md (68%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawannulus.md (70%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawarc.md (68%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawbitmap.md (72%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawchannel.md (83%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawcircle.md (66%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawcombobox.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawfilledcircle.md (67%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawfilledrectangle.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawfilledtriangle.md (66%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawgauge.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawhudrectangle.md (70%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawline.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawlinewithclipping.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawnumber.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawpie.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawpixmap.md (64%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawpoint.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawrectangle.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawscreentitle.md (65%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawsource.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawswitch.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawtext.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawtimer.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/drawtriangle.md (66%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/getcolor.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/getlastleftpos.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/getlastpos.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/getlastrightpos.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/grey.md (100%) rename lua-api-reference/display-lcd/README.md => website/md-docs/api-reference/display-lcd/index.md (93%) rename lua-api-reference/display-lcd/lcd.drawbitmappattern.md => website/md-docs/api-reference/display-lcd/lcd-drawbitmappattern.md (100%) rename lua-api-reference/display-lcd/lcd.drawbitmappatternpie.md => website/md-docs/api-reference/display-lcd/lcd-drawbitmappatternpie.md (100%) rename lua-api-reference/display-lcd/lcd.drawtextlines.md => website/md-docs/api-reference/display-lcd/lcd-drawtextlines.md (76%) rename lua-api-reference/display-lcd/lcd.exitfullscreen.md => website/md-docs/api-reference/display-lcd/lcd-exitfullscreen.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/lcd-functions-overview.md (100%) rename lua-api-reference/display-lcd/lcd.invertrect.md => website/md-docs/api-reference/display-lcd/lcd-invertrect.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/popupconfirmation.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/popupinput.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/popupwarning.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/refresh.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/resetbacklighttimeout.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/rgb.md (76%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/setcolor.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/display-lcd/sizetext.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/filesystem/chdir.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/filesystem/del.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/filesystem/dir.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/filesystem/fstat.md (100%) rename lua-api-reference/filesystem/README.md => website/md-docs/api-reference/filesystem/index.md (92%) rename {lua-api-reference => website/md-docs/api-reference}/gps/gettxgps.md (100%) rename lua-api-reference/gps/README.md => website/md-docs/api-reference/gps/index.md (85%) rename lua-api-reference/README.md => website/md-docs/api-reference/index.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/key-inputs/getrotencmode.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/key-inputs/getrotencspeed.md (100%) rename lua-api-reference/key-inputs/README.md => website/md-docs/api-reference/key-inputs/index.md (92%) rename {lua-api-reference => website/md-docs/api-reference}/key-inputs/killevents.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/lua-scripts/getavailablememory.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/lua-scripts/getusage.md (100%) rename lua-api-reference/lua-scripts/README.md => website/md-docs/api-reference/lua-scripts/index.md (93%) rename {lua-api-reference => website/md-docs/api-reference}/lua-scripts/loadscript.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/lvgl-for-lua/api.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/lvgl-for-lua/constants.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/lvgl-for-lua/examples.md (93%) rename lua-api-reference/lvgl-for-lua/README.md => website/md-docs/api-reference/lvgl-for-lua/index.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.align.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-align.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.arc.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-arc.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.box.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-box.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.build.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-build.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.button.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-button.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.choice.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-choice.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.circle.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-circle.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.clear.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-clear.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.color.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-color.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.confirm.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-confirm.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.dialog.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-dialog.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.exitfullscreen.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-exitfullscreen.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.file.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-file.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.font.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-font.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.getcontext.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-getcontext.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.getscrollpos.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-getscrollpos.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.hide.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-hide.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.hline.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-hline.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.image.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-image.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.isappmode.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-isappmode.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.isfullscreen.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-isfullscreen.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.label.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-label.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.line.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-line.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.menu.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-menu.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.message.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-message.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.momentarybutton.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-momentarybutton.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.numberedit.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-numberedit.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.page.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-page.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.qrcode.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-qrcode.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.rectangle.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-rectangle.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.set.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-set.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.setting.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-setting.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.show.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-show.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.slider.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-slider.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.source.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-source.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.switch.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-switch.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.textedit.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-textedit.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.timer.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-timer.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.toggle.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-toggle.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.triangle.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-triangle.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.verticalslider.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-verticalslider.md (100%) rename lua-api-reference/lvgl-for-lua/lvgl.vline.md => website/md-docs/api-reference/lvgl-for-lua/lvgl-vline.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/lvgl-for-lua/overview.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/defaultinputs.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/deleteflightmodes.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/deleteinput.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/deleteinputs.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/deletemix.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/deletemixes.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/getcurve.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/getcustomfunction.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/getflightmode.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/getglobalvariable.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/getinfo.md (97%) rename {lua-api-reference => website/md-docs/api-reference}/model/getinput.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/getinputscount.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/getlogicalswitch.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/getmix.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/getmixescount.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/getmodule.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/getoutput.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/getsensor.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/gettimer.md (100%) rename lua-api-reference/model/README.md => website/md-docs/api-reference/model/index.md (94%) rename {lua-api-reference => website/md-docs/api-reference}/model/insertinput.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/insertmix.md (100%) rename lua-api-reference/model/model.getswashring.md => website/md-docs/api-reference/model/model-getswashring.md (100%) rename lua-api-reference/model/model.setswashring-params.md => website/md-docs/api-reference/model/model-setswashring-params.md (86%) rename {lua-api-reference => website/md-docs/api-reference}/model/resetsensor.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/resettimer.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/setcurve.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/setcustomfunction.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/setflightmode.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/setglobalvariable.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/setinfo.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/setlogicalswitch.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/setmodule.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/setoutput.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/model/settimer.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/rf-module/accesstelemetrypush.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/rf-module/crossfiretelemetrypop.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/rf-module/crossfiretelemetrypush.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/rf-module/getras.md (91%) rename {lua-api-reference => website/md-docs/api-reference}/rf-module/ghosttelemetrypop.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/rf-module/ghosttelemetrypush.md (100%) rename lua-api-reference/rf-module/README.md => website/md-docs/api-reference/rf-module/index.md (92%) rename {lua-api-reference => website/md-docs/api-reference}/rf-module/multibuffer-address-value.md (96%) rename {lua-api-reference => website/md-docs/api-reference}/rf-module/sporttelemetrypop.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/rf-module/sporttelemetrypush.md (100%) rename lua-api-reference/serial-ports/README.md => website/md-docs/api-reference/serial-ports/index.md (93%) rename {lua-api-reference => website/md-docs/api-reference}/serial-ports/serialgetpower.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/serial-ports/serialread.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/serial-ports/serialsetpower.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/serial-ports/serialwrite.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/serial-ports/setserialbaudrate.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/system/defaultchannel.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/system/defaultstick.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/system/getgeneralsettings.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/system/getversion.md (100%) rename lua-api-reference/system/README.md => website/md-docs/api-reference/system/index.md (90%) rename {lua-api-reference => website/md-docs/api-reference}/system/rgb.md (63%) rename {lua-api-reference => website/md-docs/api-reference}/telemetry/getrssi.md (92%) rename lua-api-reference/telemetry/README.md => website/md-docs/api-reference/telemetry/index.md (92%) rename {lua-api-reference => website/md-docs/api-reference}/time/getdatetime.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/time/getglobaltimer.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/time/getrtctime.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/time/gettime.md (100%) rename lua-api-reference/time/README.md => website/md-docs/api-reference/time/index.md (87%) rename {lua-api-reference => website/md-docs/api-reference}/time/resetglobaltimer.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/getfieldinfo.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/getflightmode.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/getlogicalswitchvalue.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/getoutputvalue.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/getshmvar.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/getsourceindex.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/getsourcename.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/getsourcevalue.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/getswitchindex.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/getswitchname.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/getswitchvalue.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/getvalue.md (100%) rename lua-api-reference/variables/README.md => website/md-docs/api-reference/variables/index.md (92%) rename {lua-api-reference => website/md-docs/api-reference}/variables/setshmvar.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/setstickyswitch.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/sources.md (100%) rename {lua-api-reference => website/md-docs/api-reference}/variables/switches.md (100%) rename {appendix => website/md-docs/appendix}/fonts.md (100%) rename appendix/README.md => website/md-docs/appendix/index.md (100%) create mode 100644 website/md-docs/assets/edgetx-logo.svg create mode 100644 website/md-docs/assets/fonts/Roboto-Bold.ttf create mode 100644 website/md-docs/assets/fonts/Roboto-Regular.ttf rename ".gitbook/assets/Screenshot 2025-04-07 at 10.02.29\342\200\257AM.png" => "website/md-docs/assets/legacy-2.11/Screenshot 2025-04-07 at 10.02.29\342\200\257AM.png" (100%) rename ".gitbook/assets/Screenshot 2025-12-04 at 1.49.43\342\200\257pm.png" => "website/md-docs/assets/legacy-2.11/Screenshot 2025-12-04 at 1.49.43\342\200\257pm.png" (100%) rename {.gitbook/assets => website/md-docs/assets/legacy-2.11}/flags (1).png (100%) rename {.gitbook/assets => website/md-docs/assets/legacy-2.11}/screenshot_tx16s_24-08-08_19-41-54.png (100%) rename {.gitbook/assets => website/md-docs/assets/legacy-2.11}/screenshot_tx16s_24-08-08_19-42-01.png (100%) create mode 100644 website/md-docs/assets/luals/Bitmap.d.lua create mode 100644 website/md-docs/assets/luals/lcd.d.lua create mode 100644 website/md-docs/assets/luals/lvgl.d.lua create mode 100644 website/md-docs/assets/luals/model.d.lua create mode 100644 website/md-docs/assets/luals/runtime.d.lua create mode 100644 website/md-docs/assets/radios/betafpv-literadio-3-pro-500.png create mode 100644 website/md-docs/assets/radios/fatfish-f16-500.png create mode 100644 website/md-docs/assets/radios/flysky-el18-500.png create mode 100644 website/md-docs/assets/radios/flysky-nb4-500.png create mode 100644 website/md-docs/assets/radios/flysky-nv14-500.png create mode 100644 website/md-docs/assets/radios/flysky-pa01-500.png create mode 100644 website/md-docs/assets/radios/flysky-pl18-500.png create mode 100644 website/md-docs/assets/radios/flysky-pl18u-500.png create mode 100644 website/md-docs/assets/radios/flysky-st16-500.png create mode 100644 website/md-docs/assets/radios/frsky-qx7-500.png create mode 100644 website/md-docs/assets/radios/frsky-x10-500.png create mode 100644 website/md-docs/assets/radios/frsky-x12s-500.png create mode 100644 website/md-docs/assets/radios/frsky-x9-lite-500.png create mode 100644 website/md-docs/assets/radios/frsky-x9d-2019-500.png create mode 100644 website/md-docs/assets/radios/frsky-x9d-500.png create mode 100644 website/md-docs/assets/radios/frsky-x9e-500.png create mode 100644 website/md-docs/assets/radios/frsky-xlite-pro-500.png create mode 100644 website/md-docs/assets/radios/hrs-v12-500.png create mode 100644 website/md-docs/assets/radios/hrs-v14-500.png create mode 100644 website/md-docs/assets/radios/hrs-v16-500.png create mode 100644 website/md-docs/assets/radios/iflight-commando-14-500.png create mode 100644 website/md-docs/assets/radios/iflight-commando-8-500.png create mode 100644 website/md-docs/assets/radios/jumper-bumblebee-500.png create mode 100644 website/md-docs/assets/radios/jumper-t-lite-500.png create mode 100644 website/md-docs/assets/radios/jumper-t12-500.png create mode 100644 website/md-docs/assets/radios/jumper-t14-500.png create mode 100644 website/md-docs/assets/radios/jumper-t15-500.png create mode 100644 website/md-docs/assets/radios/jumper-t15-pro-500.png create mode 100644 website/md-docs/assets/radios/jumper-t16-500.png create mode 100644 website/md-docs/assets/radios/jumper-t18-500.png create mode 100644 website/md-docs/assets/radios/jumper-t20-500.png create mode 100644 website/md-docs/assets/radios/jumper-tpro-500.png create mode 100644 website/md-docs/assets/radios/radiomaster-boxer-500.png create mode 100644 website/md-docs/assets/radios/radiomaster-gx12-500.png create mode 100644 website/md-docs/assets/radios/radiomaster-mt12-500.png create mode 100644 website/md-docs/assets/radios/radiomaster-pocket-500.png create mode 100644 website/md-docs/assets/radios/radiomaster-t8pro-500.png create mode 100644 website/md-docs/assets/radios/radiomaster-tx12-500.png create mode 100644 website/md-docs/assets/radios/radiomaster-tx15-500.png create mode 100644 website/md-docs/assets/radios/radiomaster-tx16s-max-500.png create mode 100644 website/md-docs/assets/radios/radiomaster-tx16s-mk3-max-500.png create mode 100644 website/md-docs/assets/radios/radiomaster-zorro-500.png create mode 100644 website/md-docs/index.md create mode 100644 website/md-docs/javascripts/legacy-version-banner.js create mode 100644 website/md-docs/javascripts/mobile-nav-inline.js create mode 100644 website/md-docs/javascripts/review-workbench.js create mode 100644 website/md-docs/javascripts/toc-visibility.js rename overview/README.md => website/md-docs/overview/index.md (100%) rename overview/internal-indexes/README.md => website/md-docs/overview/internal-indexes/index.md (95%) rename {overview => website/md-docs/overview}/internal-indexes/source-list.md (85%) rename {overview => website/md-docs/overview}/internal-indexes/switch-positions-id.md (96%) rename {overview => website/md-docs/overview}/lua-basics.md (100%) rename {overview => website/md-docs/overview}/radios/betafpv.md (90%) rename {overview => website/md-docs/overview}/radios/flysky.md (90%) rename {overview => website/md-docs/overview}/radios/frsky.md (88%) rename overview/radios/README.md => website/md-docs/overview/radios/index.md (100%) rename {overview => website/md-docs/overview}/radios/jumper.md (90%) rename overview/radios/radiomaster/README.md => website/md-docs/overview/radios/radiomaster/index.md (93%) rename {overview => website/md-docs/overview}/radios/radiomaster/tx16s.md (100%) rename {overview => website/md-docs/overview}/script-types/function-scripts.md (92%) rename overview/script-types/README.md => website/md-docs/overview/script-types/index.md (99%) rename {overview => website/md-docs/overview}/script-types/mixes-scripts.md (72%) rename {overview => website/md-docs/overview}/script-types/one-time-scripts.md (76%) rename {overview => website/md-docs/overview}/script-types/telemetry-scripts.md (88%) rename {overview => website/md-docs/overview}/script-types/widget-scripts.md (80%) rename overview/version-libraries/README.md => website/md-docs/overview/version-libraries/index.md (100%) rename {overview => website/md-docs/overview}/version-libraries/io-library.md (100%) rename {lua-api-programming => website/md-docs/programming}/advanced-topics/debugging-techniques.md (100%) rename lua-api-programming/advanced-topics/README.md => website/md-docs/programming/advanced-topics/index.md (100%) rename {lua-api-programming => website/md-docs/programming}/advanced-topics/lua-data-sharing-across-scripts.md (100%) rename {lua-api-programming => website/md-docs/programming}/advanced-topics/optimization-tricks.md (100%) rename {lua-api-programming => website/md-docs/programming}/data-exchange-with-the-edgetx-model-setup.md (100%) rename {lua-api-programming => website/md-docs/programming}/drawing-flags-and-colors.md (92%) rename lua-api-programming/README.md => website/md-docs/programming/index.md (100%) rename {lua-api-programming => website/md-docs/programming}/init-function-syntax.md (100%) rename {lua-api-programming => website/md-docs/programming}/input-table-syntax.md (100%) rename {lua-api-programming => website/md-docs/programming}/loading-code-modules-dynamically.md (100%) rename {lua-api-programming => website/md-docs/programming}/output-table-syntax.md (100%) rename {lua-api-programming => website/md-docs/programming}/return-statement-syntax.md (100%) rename {lua-api-programming => website/md-docs/programming}/run-function-syntax.md (100%) rename {lua-api-programming => website/md-docs/programming}/saving-memory.md (100%) rename {lua-api-programming => website/md-docs/programming}/using-key-and-touch-events.md (100%) create mode 100644 website/md-docs/stylesheets/extra-live-v2.css create mode 100644 website/md-docs/stylesheets/extra.css create mode 100644 wrangler.jsonc diff --git a/.github/workflows/preview-docs.yml b/.github/workflows/preview-docs.yml new file mode 100644 index 000000000..6fbadf3ca --- /dev/null +++ b/.github/workflows/preview-docs.yml @@ -0,0 +1,121 @@ +# Builds a preview of the docs for each pull request and uploads it to +# Cloudflare as a Worker *version* with a preview alias. Production keeps +# serving the deployed version; the preview is only reachable at +# https://pr--edgetx-lua-reference-guide.edgetx.workers.dev/ +# +# The PR is built as the version its base branch publishes (main -> "dev", +# edgetx_ -> "", plus "latest" for the latest release branch) on +# top of the current gh-pages tree, so the preview is the whole site with +# that one version replaced. Nothing is pushed to gh-pages. +# +# Only runs for PRs from branches in this repo: fork PRs don't get the +# Cloudflare secrets, and building untrusted code with them available +# would be unsafe anyway. +name: Preview Docs + +on: + pull_request: + branches: + - main + - "edgetx_*" + +permissions: + contents: read + pull-requests: write + +concurrency: + group: preview-docs-${{ github.event.pull_request.number }} + cancel-in-progress: true + +jobs: + preview: + if: github.event.pull_request.head.repo.full_name == github.repository + runs-on: ubuntu-latest + + steps: + - name: Check out source + uses: actions/checkout@v7 + with: + fetch-depth: 0 + + - name: Resolve version metadata + id: version + shell: bash + env: + LATEST_BRANCH: ${{ vars.DOCS_LATEST_BRANCH || 'edgetx_2.12' }} + run: | + case "${GITHUB_BASE_REF}" in + main) + version_id="dev" + title="Dev" + ;; + edgetx_[0-9]*.[0-9]*) + version_id="${GITHUB_BASE_REF#edgetx_}" + title="${version_id}" + ;; + *) + echo "Unsupported base branch: ${GITHUB_BASE_REF}" >&2 + exit 1 + ;; + esac + + if [[ "${GITHUB_BASE_REF}" == "${LATEST_BRANCH}" ]]; then + aliases="${version_id} latest" + else + aliases="${version_id}" + fi + + { + echo "version_id=${version_id}" + echo "title=${title}" + echo "aliases=${aliases}" + echo "alias=pr-${{ github.event.pull_request.number }}" + } >> "${GITHUB_OUTPUT}" + + - name: Install uv + uses: astral-sh/setup-uv@v10.3.2 + + - name: Set up Python + uses: actions/setup-python@v7 + with: + python-version: "3.11" + + - name: Sync docs dependencies + run: uv sync + + - name: Configure git author + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + + - name: Build preview into local gh-pages + env: + DOCS_EDIT_URI: edit/${{ github.head_ref }}/website/md-docs/ + run: | + git branch -f gh-pages origin/gh-pages + uv run mike deploy --update-aliases --title "${{ steps.version.outputs.title }}" ${{ steps.version.outputs.aliases }} + + - name: Export gh-pages tree for Cloudflare + run: | + rm -rf .site-publish + mkdir .site-publish + git archive gh-pages | tar -x -C .site-publish + + - name: Upload preview version to Cloudflare Workers + uses: cloudflare/wrangler-action@v4 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + command: versions upload --preview-alias ${{ steps.version.outputs.alias }} --message "PR #${{ github.event.pull_request.number }} @ ${{ github.event.pull_request.head.sha }}" + + - name: Comment preview link on the PR + env: + GH_TOKEN: ${{ github.token }} + PR_NUMBER: ${{ github.event.pull_request.number }} + HEAD_SHA: ${{ github.event.pull_request.head.sha }} + run: | + url="https://${{ steps.version.outputs.alias }}-edgetx-lua-reference-guide.edgetx.workers.dev/${{ steps.version.outputs.version_id }}/" + body="📖 **Docs preview:** ${url} + + Built from ${HEAD_SHA::7} as the \`${{ steps.version.outputs.version_id }}\` version, on top of the currently published site." + gh pr comment "${PR_NUMBER}" --edit-last --create-if-none --body "${body}" diff --git a/.github/workflows/publish-versioned-docs.yml b/.github/workflows/publish-versioned-docs.yml new file mode 100644 index 000000000..c5f946502 --- /dev/null +++ b/.github/workflows/publish-versioned-docs.yml @@ -0,0 +1,118 @@ +# Publishes each docs branch via `mike deploy` on every push: +# main -> "dev" +# edgetx_ -> "", plus "latest" for the latest release branch +# +# Every branch carries its own MkDocs site (mkdocs.yml + website/md-docs/) +# and an identical copy of this workflow, so a push builds the branch it +# came from. The latest release branch comes from the DOCS_LATEST_BRANCH +# repository variable (falling back to edgetx_2.12), so moving "latest" to +# a new release is a settings change rather than an edit on every branch. +# +# mike keeps the accumulated versioned site on the gh-pages branch; after +# each deploy, the full gh-pages tree is published to Cloudflare Workers +# (static assets, see wrangler.jsonc). Requires the CLOUDFLARE_API_TOKEN and +# CLOUDFLARE_ACCOUNT_ID repository secrets. +name: Publish Versioned Docs + +on: + push: + branches: + - main + - "edgetx_*" + workflow_dispatch: + +permissions: + contents: write + +# Every run rewrites gh-pages and then uploads the whole tree, so run them +# one at a time to avoid racing mike or publishing a stale snapshot. +concurrency: + group: publish-versioned-docs + cancel-in-progress: false + +jobs: + publish: + runs-on: ubuntu-latest + + steps: + - name: Check out source + uses: actions/checkout@v7 + with: + fetch-depth: 0 + + - name: Install uv + uses: astral-sh/setup-uv@v10.3.2 + + - name: Set up Python + uses: actions/setup-python@v7 + with: + python-version: "3.11" + + - name: Resolve version metadata + id: version + shell: bash + env: + LATEST_BRANCH: ${{ vars.DOCS_LATEST_BRANCH || 'edgetx_2.12' }} + run: | + branch="${GITHUB_REF_NAME}" + + case "${branch}" in + main) + version_id="dev" + title="Dev" + ;; + edgetx_[0-9]*.[0-9]*) + version_id="${branch#edgetx_}" + title="${version_id}" + ;; + *) + echo "Unsupported branch: ${branch}" >&2 + exit 1 + ;; + esac + + if [[ "${branch}" == "${LATEST_BRANCH}" ]]; then + aliases="${version_id} latest" + is_latest="true" + else + aliases="${version_id}" + is_latest="false" + fi + + { + echo "version_id=${version_id}" + echo "title=${title}" + echo "aliases=${aliases}" + echo "is_latest=${is_latest}" + } >> "${GITHUB_OUTPUT}" + + - name: Sync docs dependencies + run: uv sync + + - name: Configure git author + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + + - name: Publish docs with mike + env: + # "Edit this page" should open the branch this version is built from. + DOCS_EDIT_URI: edit/${{ github.ref_name }}/website/md-docs/ + run: uv run mike deploy --push --update-aliases --title "${{ steps.version.outputs.title }}" ${{ steps.version.outputs.aliases }} + + - name: Set default docs version + if: steps.version.outputs.is_latest == 'true' + run: uv run mike set-default --push latest + + - name: Export gh-pages tree for Cloudflare + run: | + rm -rf .site-publish + mkdir .site-publish + git archive gh-pages | tar -x -C .site-publish + + - name: Deploy to Cloudflare Workers + uses: cloudflare/wrangler-action@v4 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + command: deploy diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..f0ad59430 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +/_book/ +/node_modules/ +/book.pdf +/site/ +/.site-legacy-generated/ +/site-legacy/ +.tmp/ +.venv/ +__pycache__/ +/.site-publish/ diff --git a/README.md b/README.md index 3cc56e3f9..0ab4a6521 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,18 @@ -# EdgeTX LUA Reference Guide +# EdgeTX 2.11 Lua Reference Guide -This guide covers the development of user-written scripts for R/C transmitters running the EdgeTX operating system with Lua support. Readers should be familiar with EdgeTX, the EdgeTX Companion, and know how to transfer files the SD card in the transmitter. +Source for the EdgeTX 2.11 version of the Lua Reference Guide, published at +. -{% hint style="info" %} -The latest version of this guide will always be available [here](https://luadoc.edgetx.org). At the top of the left sidebar there is a version option if you are running an older version of EdgeTX and need the docs for that specific version. -{% endhint %} +This content was converted from the original GitBook branch to MkDocs. It is +kept for reference, so it may not include corrections made in later versions. +The page content lives in `website/md-docs/`; edit it there. -## Sections +## Local preview -| Chapter | Content | -| ------------------------------------------- | ----------------------------------------------------------------------------- | -| [Overview](overview/) | Covers various topics of LUA implementation in EdgeTX operating system system | -| [LUA API Reference](lua-api-reference/) | Reference of all constants and functions available in EdgeTX LUA API | -| [LUA API Programming](lua-api-programming/) | EdgeTX LUA programming guide that covers coding techniques with examples. | -| [Appendixes](appendix/) | | +```sh +uv run mkdocs serve -a 127.0.0.1:8014 +``` -## EdgeTX LUA development support - -Quickest way to get support from seasoned EdgeTX LUA developers is to join our Discord server and ask on dedicated #lua channel - -[Join the chat on Discord](https://discord.gg/DrHkAn28sq) - -## LUA Reference guide collaboration - -Please feel free to make suggestions or corrections to the documentation. - -* Preferred method of editing is to use [GitBook](https://www.gitbook.com), as it uses WYSWIG editor allowing two-stage publication. If you want to change or add whole page or become collaborator _\_. - -## Project support - -The EdgeTX team has no intention of making a profit from their work - EdgeTX is free and open source and will remain free and open source. However, the project is more expensive to maintain than most open source projects. This in mainly because there is a never ending flood of hardware to integrate and maintain code for. Hardware that costs. In addition, in order to develop for this hardware, certain specalised test and measurement equipment is also required. - -In order to support this, EdgeTX has chosen to use OpenCollective to allow for donations from the community, as well as funding from manufacturers who choose to partner with and sponsor the project. This also allows for transparent accounting of what the funds are spent on. - -Please visit [our OpenCollective page](https://opencollective.com/edgetx) if you would like to financially help support the project! +Pushes to `edgetx_2.11` are published automatically by +`.github/workflows/publish-versioned-docs.yml`, and pull requests get a +preview deployment from `.github/workflows/preview-docs.yml`. diff --git a/SUMMARY.md b/SUMMARY.md deleted file mode 100644 index 5a07d0cfb..000000000 --- a/SUMMARY.md +++ /dev/null @@ -1,254 +0,0 @@ -# Table of contents - -* [EdgeTX LUA Reference Guide](README.md) -* [Overview](overview/README.md) - * [Lua Basics](overview/lua-basics.md) - * [LUA version and included libraries](overview/version-libraries/README.md) - * [io Library](overview/version-libraries/io-library.md) - * [Script Types](overview/script-types/README.md) - * [One-Time Scripts](overview/script-types/one-time-scripts.md) - * [Telemetry Scripts](overview/script-types/telemetry-scripts.md) - * [Widget Scripts](overview/script-types/widget-scripts.md) - * [Function Scripts](overview/script-types/function-scripts.md) - * [Mixes Scripts](overview/script-types/mixes-scripts.md) - * [Radios](overview/radios/README.md) - * [BetaFPV](overview/radios/betafpv.md) - * [FlySky](overview/radios/flysky.md) - * [FrSky](overview/radios/frsky.md) - * [Jumper](overview/radios/jumper.md) - * [Radiomaster](overview/radios/radiomaster/README.md) - * [TX16S](overview/radios/radiomaster/tx16s.md) - * [Internal indexes](overview/internal-indexes/README.md) - * [Source List](overview/internal-indexes/source-list.md) - * [Switch Positions List](overview/internal-indexes/switch-positions-id.md) -* [LUA API Reference](lua-api-reference/README.md) - * [Constants](lua-api-reference/constants/README.md) - * [Color Constants](lua-api-reference/constants/color-constants.md) - * [Flags and Pattern Constants](lua-api-reference/constants/flags-and-pattern-constants.md) - * [Key Event Constants](lua-api-reference/constants/key-event-constants.md) - * [Logical Switch Function Constants](lua-api-reference/constants/logical-switch-function-constants.md) - * [Screen Constants](lua-api-reference/constants/screen-constants.md) - * [Special Character Constants](lua-api-reference/constants/special-character-constants.md) - * [Special Function Constants](lua-api-reference/constants/special-function-constants.md) - * [Touch Event Constants](lua-api-reference/constants/touch-event-constants.md) - * [Widget Options Constants](lua-api-reference/constants/widget-options.md) - * [Units](lua-api-reference/constants/units.md) - * [Display LCD](lua-api-reference/display-lcd/README.md) - * [Lcd Functions Overview](lua-api-reference/display-lcd/lcd-functions-overview.md) - * [lcd.clear](lua-api-reference/display-lcd/clear.md) - * [lcd.drawBitmap](lua-api-reference/display-lcd/drawbitmap.md) - * [lcd.drawChannel](lua-api-reference/display-lcd/drawchannel.md) - * [lcd.drawCombobox(x, y, w, list, idx \[, flags\])](lua-api-reference/display-lcd/drawcombobox.md) - * [lcd.drawFilledRectangle(x, y, w, h \[, flags\])](lua-api-reference/display-lcd/drawfilledrectangle.md) - * [lcd.drawGauge(x, y, w, h, fill, maxfill \[, flags\])](lua-api-reference/display-lcd/drawgauge.md) - * [lcd.drawLine(x1, y1, x2, y2, pattern, flags)](lua-api-reference/display-lcd/drawline.md) - * [lcd.drawNumber(x, y, value \[, flags\])](lua-api-reference/display-lcd/drawnumber.md) - * [lcd.drawPixmap](lua-api-reference/display-lcd/drawpixmap.md) - * [lcd.drawPoint(x, y)](lua-api-reference/display-lcd/drawpoint.md) - * [lcd.drawRectangle(x, y, w, h \[, flags \[, t\]\])](lua-api-reference/display-lcd/drawrectangle.md) - * [lcd.drawScreenTitle(title, page, pages)](lua-api-reference/display-lcd/drawscreentitle.md) - * [lcd.drawSource(x, y, source \[, flags\])](lua-api-reference/display-lcd/drawsource.md) - * [lcd.drawSwitch(x, y, switch, flags)](lua-api-reference/display-lcd/drawswitch.md) - * [lcd.drawText(x, y, text \[, flags\])](lua-api-reference/display-lcd/drawtext.md) - * [lcd.drawTimer(x, y, value \[, flags\])](lua-api-reference/display-lcd/drawtimer.md) - * [lcd.drawAnnulus(x, y, r1, r2, start, end \[, flags\])](lua-api-reference/display-lcd/drawannulus.md) - * [lcd.drawArc(x, y, r, start, end \[, flags\])](lua-api-reference/display-lcd/drawarc.md) - * [lcd.drawCircle(x, y, r \[, flags\])](lua-api-reference/display-lcd/drawcircle.md) - * [lcd.drawFilledCircle(x, y, r \[, flags\])](lua-api-reference/display-lcd/drawfilledcircle.md) - * [lcd.drawFilledTriangle(x1, y1, x2, y2, x3, y3 \[, flags\])](lua-api-reference/display-lcd/drawfilledtriangle.md) - * [lcd.drawHudRectangle(pitch, roll, xmin, xmax, ymin, ymax \[, flags\])](lua-api-reference/display-lcd/drawhudrectangle.md) - * [lcd.drawLineWithClipping(x1, y1, x2, y2, xmin, xmax, ymin, ymax, pattern \[, flags\])](lua-api-reference/display-lcd/drawlinewithclipping.md) - * [lcd.drawPie(x, y, r, start, end \[, flags\])](lua-api-reference/display-lcd/drawpie.md) - * [lcd.drawTriangle(x1, y1, x2, y2, x3, y3 \[, flags\])](lua-api-reference/display-lcd/drawtriangle.md) - * [lcd.getColor(area)](lua-api-reference/display-lcd/getcolor.md) - * [lcd.getLastLeftPos()](lua-api-reference/display-lcd/getlastleftpos.md) - * [lcd.getLastPos()](lua-api-reference/display-lcd/getlastpos.md) - * [lcd.getLastRightPos()](lua-api-reference/display-lcd/getlastrightpos.md) - * [lcd.drawBitmapPattern(bitmap, x, y \[, flags\])](lua-api-reference/display-lcd/lcd.drawbitmappattern.md) - * [lcd.drawBitmapPatternPie(bitmap, x, y, startAngle, endAngle \[, flags\])](lua-api-reference/display-lcd/lcd.drawbitmappatternpie.md) - * [lcd.drawTextLines(x, y, w, h, text \[, flags\])](lua-api-reference/display-lcd/lcd.drawtextlines.md) - * [lcd.exitFullScreen()](lua-api-reference/display-lcd/lcd.exitfullscreen.md) - * [lcd.invertRect(x, y, w, h \[, flags\])](lua-api-reference/display-lcd/lcd.invertrect.md) - * [lcd.refresh()](lua-api-reference/display-lcd/refresh.md) - * [lcd.RGB](lua-api-reference/display-lcd/rgb.md) - * [lcd.resetBacklightTimeout()](lua-api-reference/display-lcd/resetbacklighttimeout.md) - * [lcd.setColor(area, color)](lua-api-reference/display-lcd/setcolor.md) - * [lcd.sizeText(text \[, flags\])](lua-api-reference/display-lcd/sizetext.md) - * [popupConfirmation(title, message, event)](lua-api-reference/display-lcd/popupconfirmation.md) - * [popupInput(title, event, input, min, max)](lua-api-reference/display-lcd/popupinput.md) - * [popupWarning(title, event)](lua-api-reference/display-lcd/popupwarning.md) - * [GREY()](lua-api-reference/display-lcd/grey.md) - * [LVGL for Lua](lua-api-reference/lvgl-for-lua/README.md) - * [Overview](lua-api-reference/lvgl-for-lua/overview.md) - * [Examples](lua-api-reference/lvgl-for-lua/examples.md) - * [Constants](lua-api-reference/lvgl-for-lua/constants.md) - * [API](lua-api-reference/lvgl-for-lua/api.md) - * [lvgl.align](lua-api-reference/lvgl-for-lua/lvgl.align.md) - * [lvgl.arc](lua-api-reference/lvgl-for-lua/lvgl.arc.md) - * [lvgl.box](lua-api-reference/lvgl-for-lua/lvgl.box.md) - * [lvgl.build](lua-api-reference/lvgl-for-lua/lvgl.build.md) - * [lvgl.button](lua-api-reference/lvgl-for-lua/lvgl.button.md) - * [lvgl.choice](lua-api-reference/lvgl-for-lua/lvgl.choice.md) - * [lvgl.file](lua-api-reference/lvgl-for-lua/lvgl.file.md) - * [lvgl.circle](lua-api-reference/lvgl-for-lua/lvgl.circle.md) - * [lvgl.clear](lua-api-reference/lvgl-for-lua/lvgl.clear.md) - * [lvgl.color](lua-api-reference/lvgl-for-lua/lvgl.color.md) - * [lvgl.confirm](lua-api-reference/lvgl-for-lua/lvgl.confirm.md) - * [lvgl.dialog](lua-api-reference/lvgl-for-lua/lvgl.dialog.md) - * [lvgl.isAppMode](lua-api-reference/lvgl-for-lua/lvgl.isappmode.md) - * [lvgl.isFullScreen](lua-api-reference/lvgl-for-lua/lvgl.isfullscreen.md) - * [lvgl.exitFullScreen](lua-api-reference/lvgl-for-lua/lvgl.exitfullscreen.md) - * [lvgl.font](lua-api-reference/lvgl-for-lua/lvgl.font.md) - * [lvgl.getContext](lua-api-reference/lvgl-for-lua/lvgl.getcontext.md) - * [lvgl.getScrollPos](lua-api-reference/lvgl-for-lua/lvgl.getscrollpos.md) - * [lvgl.hide](lua-api-reference/lvgl-for-lua/lvgl.hide.md) - * [lvgl.hline](lua-api-reference/lvgl-for-lua/lvgl.hline.md) - * [lvgl.image](lua-api-reference/lvgl-for-lua/lvgl.image.md) - * [lvgl.label](lua-api-reference/lvgl-for-lua/lvgl.label.md) - * [lvgl.line](lua-api-reference/lvgl-for-lua/lvgl.line.md) - * [lvgl.menu](lua-api-reference/lvgl-for-lua/lvgl.menu.md) - * [lvgl.message](lua-api-reference/lvgl-for-lua/lvgl.message.md) - * [lvgl.momentaryButton](lua-api-reference/lvgl-for-lua/lvgl.momentarybutton.md) - * [lvgl.numberEdit](lua-api-reference/lvgl-for-lua/lvgl.numberedit.md) - * [lvgl.page](lua-api-reference/lvgl-for-lua/lvgl.page.md) - * [lvgl.qrcode](lua-api-reference/lvgl-for-lua/lvgl.qrcode.md) - * [lvgl.rectangle](lua-api-reference/lvgl-for-lua/lvgl.rectangle.md) - * [lvgl.set](lua-api-reference/lvgl-for-lua/lvgl.set.md) - * [lvgl.setting](lua-api-reference/lvgl-for-lua/lvgl.setting.md) - * [lvgl.show](lua-api-reference/lvgl-for-lua/lvgl.show.md) - * [lvgl.slider](lua-api-reference/lvgl-for-lua/lvgl.slider.md) - * [lvgl.verticalSlider](lua-api-reference/lvgl-for-lua/lvgl.verticalslider.md) - * [lvgl.source](lua-api-reference/lvgl-for-lua/lvgl.source.md) - * [lvgl.switch](lua-api-reference/lvgl-for-lua/lvgl.switch.md) - * [lvgl.textEdit](lua-api-reference/lvgl-for-lua/lvgl.textedit.md) - * [lvgl.timer](lua-api-reference/lvgl-for-lua/lvgl.timer.md) - * [lvgl.toggle](lua-api-reference/lvgl-for-lua/lvgl.toggle.md) - * [lvgl.triangle](lua-api-reference/lvgl-for-lua/lvgl.triangle.md) - * [lvgl.vline](lua-api-reference/lvgl-for-lua/lvgl.vline.md) - * [Model Functions](lua-api-reference/model/README.md) - * [model.defaultInputs](lua-api-reference/model/defaultinputs.md) - * [model.deleteFlightModes](lua-api-reference/model/deleteflightmodes.md) - * [model.deleteInput](lua-api-reference/model/deleteinput.md) - * [model.deleteInputs](lua-api-reference/model/deleteinputs.md) - * [model.deleteMix](lua-api-reference/model/deletemix.md) - * [model.deleteMixes](lua-api-reference/model/deletemixes.md) - * [model.getCurve](lua-api-reference/model/getcurve.md) - * [model.getCustomFunction(function)](lua-api-reference/model/getcustomfunction.md) - * [model.getFlightMode(index)](lua-api-reference/model/getflightmode.md) - * [model.getGlobalVariable(index, flight\_mode)](lua-api-reference/model/getglobalvariable.md) - * [model.getInfo](lua-api-reference/model/getinfo.md) - * [model.getInput(input, line)](lua-api-reference/model/getinput.md) - * [model.getInputsCount(input)](lua-api-reference/model/getinputscount.md) - * [model.getLogicalSwitch(switch)](lua-api-reference/model/getlogicalswitch.md) - * [model.getMix(channel, line)](lua-api-reference/model/getmix.md) - * [model.getMixesCount(channel)](lua-api-reference/model/getmixescount.md) - * [model.getModule(index)](lua-api-reference/model/getmodule.md) - * [model.getOutput(index)](lua-api-reference/model/getoutput.md) - * [model.getSensor(sensor)](lua-api-reference/model/getsensor.md) - * [model.getTimer(timer)](lua-api-reference/model/gettimer.md) - * [model.insertInput(input, line, value)](lua-api-reference/model/insertinput.md) - * [model.insertMix(channel, line, value)](lua-api-reference/model/insertmix.md) - * [model.getSwashRing()](lua-api-reference/model/model.getswashring.md) - * [model.setSwashRing(params)](lua-api-reference/model/model.setswashring-params.md) - * [model.resetSensor(sensor)](lua-api-reference/model/resetsensor.md) - * [model.resetTimer(timer)](lua-api-reference/model/resettimer.md) - * [model.setCurve(curve, params)](lua-api-reference/model/setcurve.md) - * [model.setCustomFunction(function, value)](lua-api-reference/model/setcustomfunction.md) - * [model.setFlightMode(index, params)](lua-api-reference/model/setflightmode.md) - * [model.setGlobalVariable(index, flight\_mode, value)](lua-api-reference/model/setglobalvariable.md) - * [model.setInfo(value)](lua-api-reference/model/setinfo.md) - * [model.setLogicalSwitch(switch, value)](lua-api-reference/model/setlogicalswitch.md) - * [model.setModule(index, value)](lua-api-reference/model/setmodule.md) - * [model.setOutput(index, value)](lua-api-reference/model/setoutput.md) - * [model.setTimer(timer, value)](lua-api-reference/model/settimer.md) - * [Bitmap Functions](lua-api-reference/bitmap/README.md) - * [Bitmap.resize(bitmap, width, height)](lua-api-reference/bitmap/bitmap.resize.md) - * [Bitmap.toMask(bitmap)](lua-api-reference/bitmap/bitmap.tomask.md) - * [Bitmap.getSize(name)](lua-api-reference/bitmap/getsize.md) - * [Bitmap.open(name)](lua-api-reference/bitmap/open.md) - * [Filesystem](lua-api-reference/filesystem/README.md) - * [chdir(directory)](lua-api-reference/filesystem/chdir.md) - * [del(file or directory)](lua-api-reference/filesystem/del.md) - * [dir(directory)](lua-api-reference/filesystem/dir.md) - * [fstat(path)](lua-api-reference/filesystem/fstat.md) - * [Serial Ports](lua-api-reference/serial-ports/README.md) - * [serialGetPower(port\_nr)](lua-api-reference/serial-ports/serialgetpower.md) - * [serialRead(\[num\])](lua-api-reference/serial-ports/serialread.md) - * [serialSetPower(port\_nr, value)](lua-api-reference/serial-ports/serialsetpower.md) - * [serialWrite(str)](lua-api-reference/serial-ports/serialwrite.md) - * [setSerialBaudrate(baudrate)](lua-api-reference/serial-ports/setserialbaudrate.md) - * [System](lua-api-reference/system/README.md) - * [defaultChannel(stick)](lua-api-reference/system/defaultchannel.md) - * [defaultStick(channel)](lua-api-reference/system/defaultstick.md) - * [getGeneralSettings()](lua-api-reference/system/getgeneralsettings.md) - * [getVersion()](lua-api-reference/system/getversion.md) - * [screenshot()](lua-api-reference/system/rgb.md) - * [Key Inputs](lua-api-reference/key-inputs/README.md) - * [getRotEncMode()](lua-api-reference/key-inputs/getrotencmode.md) - * [getRotEncSpeed()](lua-api-reference/key-inputs/getrotencspeed.md) - * [killEvents(key)](lua-api-reference/key-inputs/killevents.md) - * [LUA Scripts](lua-api-reference/lua-scripts/README.md) - * [getAvailableMemory()](lua-api-reference/lua-scripts/getavailablememory.md) - * [getUsage()](lua-api-reference/lua-scripts/getusage.md) - * [loadScript(file \[, mode\], \[,env\])](lua-api-reference/lua-scripts/loadscript.md) - * [Time](lua-api-reference/time/README.md) - * [getDateTime()](lua-api-reference/time/getdatetime.md) - * [getGlobalTimer()](lua-api-reference/time/getglobaltimer.md) - * [getRtcTime()](lua-api-reference/time/getrtctime.md) - * [getTime()](lua-api-reference/time/gettime.md) - * [resetGlobalTimer(\[type\])](lua-api-reference/time/resetglobaltimer.md) - * [Audio-Sound](lua-api-reference/audio-sound/README.md) - * [playDuration(duration \[, hourFormat\])](lua-api-reference/audio-sound/playduration.md) - * [playFile(name)](lua-api-reference/audio-sound/playfile.md) - * [playHaptic(duration, pause \[, flags\])](lua-api-reference/audio-sound/playhaptic.md) - * [playNumber(value, unit \[, attributes\])](lua-api-reference/audio-sound/playnumber.md) - * [playTone(frequency, duration, pause \[, flags \[, freqIncr\]\])](lua-api-reference/audio-sound/playtone.md) - * [flushAudio()](lua-api-reference/audio-sound/flushaudio.md) - * [Telemetry](lua-api-reference/telemetry/README.md) - * [getRSSI()](lua-api-reference/telemetry/getrssi.md) - * [RF module](lua-api-reference/rf-module/README.md) - * [accessTelemetryPush()](lua-api-reference/rf-module/accesstelemetrypush.md) - * [crossfireTelemetryPop()](lua-api-reference/rf-module/crossfiretelemetrypop.md) - * [crossfireTelemetryPush()](lua-api-reference/rf-module/crossfiretelemetrypush.md) - * [ghostTelemetryPop()](lua-api-reference/rf-module/ghosttelemetrypop.md) - * [ghostTelemetryPush()](lua-api-reference/rf-module/ghosttelemetrypush.md) - * [sportTelemetryPop()](lua-api-reference/rf-module/sporttelemetrypop.md) - * [sportTelemetryPush()](lua-api-reference/rf-module/sporttelemetrypush.md) - * [getRAS()](lua-api-reference/rf-module/getras.md) - * [multiBuffer(address\[,value\])](lua-api-reference/rf-module/multibuffer-address-value.md) - * [GPS](lua-api-reference/gps/README.md) - * [getTxGPS()](lua-api-reference/gps/gettxgps.md) - * [Variables](lua-api-reference/variables/README.md) - * [getFieldInfo(source)](lua-api-reference/variables/getfieldinfo.md) - * [getFlightMode(mode)](lua-api-reference/variables/getflightmode.md) - * [getLogicalSwitchValue(id)](lua-api-reference/variables/getlogicalswitchvalue.md) - * [getOutputValue(outputIndex)](lua-api-reference/variables/getoutputvalue.md) - * [getShmVar(id)](lua-api-reference/variables/getshmvar.md) - * [getSourceIndex(sourceName)](lua-api-reference/variables/getsourceindex.md) - * [getSourceName(sourceIndex)](lua-api-reference/variables/getsourcename.md) - * [getSourceValue(source)](lua-api-reference/variables/getsourcevalue.md) - * [getSwitchIndex(positionName)](lua-api-reference/variables/getswitchindex.md) - * [getSwitchName(switchIndex)](lua-api-reference/variables/getswitchname.md) - * [getSwitchValue(switchIndex)](lua-api-reference/variables/getswitchvalue.md) - * [getValue(source)](lua-api-reference/variables/getvalue.md) - * [setShmVar(id, value)](lua-api-reference/variables/setshmvar.md) - * [setStickySwitch(id, value)](lua-api-reference/variables/setstickyswitch.md) - * [sources(\[first\[, last\]\])](lua-api-reference/variables/sources.md) - * [switches(\[first\[, last\]\])](lua-api-reference/variables/switches.md) -* [LUA API Programming](lua-api-programming/README.md) - * [Data Exchange with the EdgeTX Model Setup](lua-api-programming/data-exchange-with-the-edgetx-model-setup.md) - * [Drawing Flags and Colors](lua-api-programming/drawing-flags-and-colors.md) - * [Init Function Syntax](lua-api-programming/init-function-syntax.md) - * [Input Table Syntax](lua-api-programming/input-table-syntax.md) - * [Loading Code Modules Dynamically](lua-api-programming/loading-code-modules-dynamically.md) - * [Output Table Syntax](lua-api-programming/output-table-syntax.md) - * [Return Statement Syntax](lua-api-programming/return-statement-syntax.md) - * [Run Function Syntax](lua-api-programming/run-function-syntax.md) - * [Saving Memory](lua-api-programming/saving-memory.md) - * [Using Key and Touch Events](lua-api-programming/using-key-and-touch-events.md) - * [Advanced Topics](lua-api-programming/advanced-topics/README.md) - * [Debugging techniques](lua-api-programming/advanced-topics/debugging-techniques.md) - * [Lua data sharing across scripts](lua-api-programming/advanced-topics/lua-data-sharing-across-scripts.md) - * [Speed/memory optimizaton tricks](lua-api-programming/advanced-topics/optimization-tricks.md) -* [Appendixes](appendix/README.md) - * [Fonts](appendix/fonts.md) diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 000000000..ba842c57a --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,348 @@ +site_name: EdgeTX Lua Reference Guide +site_description: EdgeTX 2.11 Lua documentation +site_url: https://luadoc.edgetx.org/ +repo_url: https://github.com/EdgeTX/lua-reference-guide +repo_name: EdgeTX/lua-reference-guide +# The publish workflow sets DOCS_EDIT_URI to the branch being built. +edit_uri: !ENV [DOCS_EDIT_URI, "edit/edgetx_2.11/website/md-docs/"] +docs_dir: website/md-docs +site_dir: site +theme: + name: material + logo: assets/edgetx-logo.svg + favicon: assets/edgetx-logo.svg + font: false + palette: + - media: '(prefers-color-scheme: light)' + scheme: default + primary: custom + accent: custom + toggle: + icon: material/brightness-7 + name: Switch to dark mode + - media: '(prefers-color-scheme: dark)' + scheme: slate + primary: custom + accent: custom + toggle: + icon: material/brightness-4 + name: Switch to light mode + features: + - navigation.indexes + - navigation.path + - navigation.top + - toc.follow + - search.suggest + - search.highlight + - content.code.copy + - content.action.edit +plugins: +- search: + separator: '[\s\-\.]+' +- minify: + minify_html: true +extra_css: +- stylesheets/extra-live-v2.css +extra_javascript: +- javascripts/mobile-nav-inline.js +- javascripts/legacy-version-banner.js +extra: + version: + provider: mike + default: latest + alias: true +markdown_extensions: +- tables +- admonition +- pymdownx.details +- pymdownx.superfences +- pymdownx.highlight: + anchor_linenums: true +- pymdownx.inlinehilite +- pymdownx.snippets +- pymdownx.tabbed: + alternate_style: true +- pymdownx.tilde +- attr_list +- md_in_html +- toc: + permalink: true +nav: +- EdgeTX Lua Reference Guide: index.md +- Overview: + - Overview: overview/index.md + - Lua Basics: overview/lua-basics.md + - LUA version and included libraries: + - LUA version and included libraries: overview/version-libraries/index.md + - io Library: overview/version-libraries/io-library.md + - Script Types: + - Script Types: overview/script-types/index.md + - One-Time Scripts: overview/script-types/one-time-scripts.md + - Telemetry Scripts: overview/script-types/telemetry-scripts.md + - Widget Scripts: overview/script-types/widget-scripts.md + - Function Scripts: overview/script-types/function-scripts.md + - Mixes Scripts: overview/script-types/mixes-scripts.md + - Radios: + - Radios: overview/radios/index.md + - BetaFPV: overview/radios/betafpv.md + - FlySky: overview/radios/flysky.md + - FrSky: overview/radios/frsky.md + - Jumper: overview/radios/jumper.md + - Radiomaster: + - Radiomaster: overview/radios/radiomaster/index.md + - TX16S: overview/radios/radiomaster/tx16s.md + - Internal indexes: + - Internal indexes: overview/internal-indexes/index.md + - Source List: overview/internal-indexes/source-list.md + - Switch Positions List: overview/internal-indexes/switch-positions-id.md +- LUA API Reference: + - LUA API Reference: api-reference/index.md + - Constants: + - Constants: api-reference/constants/index.md + - Color Constants: api-reference/constants/color-constants.md + - Flags and Pattern Constants: api-reference/constants/flags-and-pattern-constants.md + - Key Event Constants: api-reference/constants/key-event-constants.md + - Logical Switch Function Constants: api-reference/constants/logical-switch-function-constants.md + - Screen Constants: api-reference/constants/screen-constants.md + - Special Character Constants: api-reference/constants/special-character-constants.md + - Special Function Constants: api-reference/constants/special-function-constants.md + - Touch Event Constants: api-reference/constants/touch-event-constants.md + - Widget Options Constants: api-reference/constants/widget-options.md + - Units: api-reference/constants/units.md + - Display LCD: + - Display LCD: api-reference/display-lcd/index.md + - Lcd Functions Overview: api-reference/display-lcd/lcd-functions-overview.md + - lcd.clear: api-reference/display-lcd/clear.md + - lcd.drawBitmap: api-reference/display-lcd/drawbitmap.md + - lcd.drawChannel: api-reference/display-lcd/drawchannel.md + - lcd.drawCombobox(x, y, w, list, idx \[, flags\]): api-reference/display-lcd/drawcombobox.md + - lcd.drawFilledRectangle(x, y, w, h \[, flags\]): api-reference/display-lcd/drawfilledrectangle.md + - lcd.drawGauge(x, y, w, h, fill, maxfill \[, flags\]): api-reference/display-lcd/drawgauge.md + - lcd.drawLine(x1, y1, x2, y2, pattern, flags): api-reference/display-lcd/drawline.md + - lcd.drawNumber(x, y, value \[, flags\]): api-reference/display-lcd/drawnumber.md + - lcd.drawPixmap: api-reference/display-lcd/drawpixmap.md + - lcd.drawPoint(x, y): api-reference/display-lcd/drawpoint.md + - lcd.drawRectangle(x, y, w, h \[, flags \[, t\]\]): api-reference/display-lcd/drawrectangle.md + - lcd.drawScreenTitle(title, page, pages): api-reference/display-lcd/drawscreentitle.md + - lcd.drawSource(x, y, source \[, flags\]): api-reference/display-lcd/drawsource.md + - lcd.drawSwitch(x, y, switch, flags): api-reference/display-lcd/drawswitch.md + - lcd.drawText(x, y, text \[, flags\]): api-reference/display-lcd/drawtext.md + - lcd.drawTimer(x, y, value \[, flags\]): api-reference/display-lcd/drawtimer.md + - lcd.drawAnnulus(x, y, r1, r2, start, end \[, flags\]): api-reference/display-lcd/drawannulus.md + - lcd.drawArc(x, y, r, start, end \[, flags\]): api-reference/display-lcd/drawarc.md + - lcd.drawCircle(x, y, r \[, flags\]): api-reference/display-lcd/drawcircle.md + - lcd.drawFilledCircle(x, y, r \[, flags\]): api-reference/display-lcd/drawfilledcircle.md + - lcd.drawFilledTriangle(x1, y1, x2, y2, x3, y3 \[, flags\]): api-reference/display-lcd/drawfilledtriangle.md + - lcd.drawHudRectangle(pitch, roll, xmin, xmax, ymin, ymax \[, flags\]): api-reference/display-lcd/drawhudrectangle.md + - lcd.drawLineWithClipping(x1, y1, x2, y2, xmin, xmax, ymin, ymax, pattern \[, flags\]): api-reference/display-lcd/drawlinewithclipping.md + - lcd.drawPie(x, y, r, start, end \[, flags\]): api-reference/display-lcd/drawpie.md + - lcd.drawTriangle(x1, y1, x2, y2, x3, y3 \[, flags\]): api-reference/display-lcd/drawtriangle.md + - lcd.getColor(area): api-reference/display-lcd/getcolor.md + - lcd.getLastLeftPos(): api-reference/display-lcd/getlastleftpos.md + - lcd.getLastPos(): api-reference/display-lcd/getlastpos.md + - lcd.getLastRightPos(): api-reference/display-lcd/getlastrightpos.md + - lcd.drawBitmapPattern(bitmap, x, y \[, flags\]): api-reference/display-lcd/lcd-drawbitmappattern.md + - lcd.drawBitmapPatternPie(bitmap, x, y, startAngle, endAngle \[, flags\]): api-reference/display-lcd/lcd-drawbitmappatternpie.md + - lcd.drawTextLines(x, y, w, h, text \[, flags\]): api-reference/display-lcd/lcd-drawtextlines.md + - lcd.exitFullScreen(): api-reference/display-lcd/lcd-exitfullscreen.md + - lcd.invertRect(x, y, w, h \[, flags\]): api-reference/display-lcd/lcd-invertrect.md + - lcd.refresh(): api-reference/display-lcd/refresh.md + - lcd.RGB: api-reference/display-lcd/rgb.md + - lcd.resetBacklightTimeout(): api-reference/display-lcd/resetbacklighttimeout.md + - lcd.setColor(area, color): api-reference/display-lcd/setcolor.md + - lcd.sizeText(text \[, flags\]): api-reference/display-lcd/sizetext.md + - popupConfirmation(title, message, event): api-reference/display-lcd/popupconfirmation.md + - popupInput(title, event, input, min, max): api-reference/display-lcd/popupinput.md + - popupWarning(title, event): api-reference/display-lcd/popupwarning.md + - GREY(): api-reference/display-lcd/grey.md + - LVGL for Lua: + - LVGL for Lua: api-reference/lvgl-for-lua/index.md + - Overview: api-reference/lvgl-for-lua/overview.md + - Examples: api-reference/lvgl-for-lua/examples.md + - Constants: api-reference/lvgl-for-lua/constants.md + - API: api-reference/lvgl-for-lua/api.md + - lvgl.align: api-reference/lvgl-for-lua/lvgl-align.md + - lvgl.arc: api-reference/lvgl-for-lua/lvgl-arc.md + - lvgl.box: api-reference/lvgl-for-lua/lvgl-box.md + - lvgl.build: api-reference/lvgl-for-lua/lvgl-build.md + - lvgl.button: api-reference/lvgl-for-lua/lvgl-button.md + - lvgl.choice: api-reference/lvgl-for-lua/lvgl-choice.md + - lvgl.file: api-reference/lvgl-for-lua/lvgl-file.md + - lvgl.circle: api-reference/lvgl-for-lua/lvgl-circle.md + - lvgl.clear: api-reference/lvgl-for-lua/lvgl-clear.md + - lvgl.color: api-reference/lvgl-for-lua/lvgl-color.md + - lvgl.confirm: api-reference/lvgl-for-lua/lvgl-confirm.md + - lvgl.dialog: api-reference/lvgl-for-lua/lvgl-dialog.md + - lvgl.isAppMode: api-reference/lvgl-for-lua/lvgl-isappmode.md + - lvgl.isFullScreen: api-reference/lvgl-for-lua/lvgl-isfullscreen.md + - lvgl.exitFullScreen: api-reference/lvgl-for-lua/lvgl-exitfullscreen.md + - lvgl.font: api-reference/lvgl-for-lua/lvgl-font.md + - lvgl.getContext: api-reference/lvgl-for-lua/lvgl-getcontext.md + - lvgl.getScrollPos: api-reference/lvgl-for-lua/lvgl-getscrollpos.md + - lvgl.hide: api-reference/lvgl-for-lua/lvgl-hide.md + - lvgl.hline: api-reference/lvgl-for-lua/lvgl-hline.md + - lvgl.image: api-reference/lvgl-for-lua/lvgl-image.md + - lvgl.label: api-reference/lvgl-for-lua/lvgl-label.md + - lvgl.line: api-reference/lvgl-for-lua/lvgl-line.md + - lvgl.menu: api-reference/lvgl-for-lua/lvgl-menu.md + - lvgl.message: api-reference/lvgl-for-lua/lvgl-message.md + - lvgl.momentaryButton: api-reference/lvgl-for-lua/lvgl-momentarybutton.md + - lvgl.numberEdit: api-reference/lvgl-for-lua/lvgl-numberedit.md + - lvgl.page: api-reference/lvgl-for-lua/lvgl-page.md + - lvgl.qrcode: api-reference/lvgl-for-lua/lvgl-qrcode.md + - lvgl.rectangle: api-reference/lvgl-for-lua/lvgl-rectangle.md + - lvgl.set: api-reference/lvgl-for-lua/lvgl-set.md + - lvgl.setting: api-reference/lvgl-for-lua/lvgl-setting.md + - lvgl.show: api-reference/lvgl-for-lua/lvgl-show.md + - lvgl.slider: api-reference/lvgl-for-lua/lvgl-slider.md + - lvgl.verticalSlider: api-reference/lvgl-for-lua/lvgl-verticalslider.md + - lvgl.source: api-reference/lvgl-for-lua/lvgl-source.md + - lvgl.switch: api-reference/lvgl-for-lua/lvgl-switch.md + - lvgl.textEdit: api-reference/lvgl-for-lua/lvgl-textedit.md + - lvgl.timer: api-reference/lvgl-for-lua/lvgl-timer.md + - lvgl.toggle: api-reference/lvgl-for-lua/lvgl-toggle.md + - lvgl.triangle: api-reference/lvgl-for-lua/lvgl-triangle.md + - lvgl.vline: api-reference/lvgl-for-lua/lvgl-vline.md + - Model Functions: + - Model Functions: api-reference/model/index.md + - model.defaultInputs: api-reference/model/defaultinputs.md + - model.deleteFlightModes: api-reference/model/deleteflightmodes.md + - model.deleteInput: api-reference/model/deleteinput.md + - model.deleteInputs: api-reference/model/deleteinputs.md + - model.deleteMix: api-reference/model/deletemix.md + - model.deleteMixes: api-reference/model/deletemixes.md + - model.getCurve: api-reference/model/getcurve.md + - model.getCustomFunction(function): api-reference/model/getcustomfunction.md + - model.getFlightMode(index): api-reference/model/getflightmode.md + - model.getGlobalVariable(index, flight\_mode): api-reference/model/getglobalvariable.md + - model.getInfo: api-reference/model/getinfo.md + - model.getInput(input, line): api-reference/model/getinput.md + - model.getInputsCount(input): api-reference/model/getinputscount.md + - model.getLogicalSwitch(switch): api-reference/model/getlogicalswitch.md + - model.getMix(channel, line): api-reference/model/getmix.md + - model.getMixesCount(channel): api-reference/model/getmixescount.md + - model.getModule(index): api-reference/model/getmodule.md + - model.getOutput(index): api-reference/model/getoutput.md + - model.getSensor(sensor): api-reference/model/getsensor.md + - model.getTimer(timer): api-reference/model/gettimer.md + - model.insertInput(input, line, value): api-reference/model/insertinput.md + - model.insertMix(channel, line, value): api-reference/model/insertmix.md + - model.getSwashRing(): api-reference/model/model-getswashring.md + - model.setSwashRing(params): api-reference/model/model-setswashring-params.md + - model.resetSensor(sensor): api-reference/model/resetsensor.md + - model.resetTimer(timer): api-reference/model/resettimer.md + - model.setCurve(curve, params): api-reference/model/setcurve.md + - model.setCustomFunction(function, value): api-reference/model/setcustomfunction.md + - model.setFlightMode(index, params): api-reference/model/setflightmode.md + - model.setGlobalVariable(index, flight\_mode, value): api-reference/model/setglobalvariable.md + - model.setInfo(value): api-reference/model/setinfo.md + - model.setLogicalSwitch(switch, value): api-reference/model/setlogicalswitch.md + - model.setModule(index, value): api-reference/model/setmodule.md + - model.setOutput(index, value): api-reference/model/setoutput.md + - model.setTimer(timer, value): api-reference/model/settimer.md + - Bitmap Functions: + - Bitmap Functions: api-reference/bitmap/index.md + - Bitmap.resize(bitmap, width, height): api-reference/bitmap/bitmap-resize.md + - Bitmap.toMask(bitmap): api-reference/bitmap/bitmap-tomask.md + - Bitmap.getSize(name): api-reference/bitmap/getsize.md + - Bitmap.open(name): api-reference/bitmap/open.md + - Filesystem: + - Filesystem: api-reference/filesystem/index.md + - chdir(directory): api-reference/filesystem/chdir.md + - del(file or directory): api-reference/filesystem/del.md + - dir(directory): api-reference/filesystem/dir.md + - fstat(path): api-reference/filesystem/fstat.md + - Serial Ports: + - Serial Ports: api-reference/serial-ports/index.md + - serialGetPower(port\_nr): api-reference/serial-ports/serialgetpower.md + - serialRead(\[num\]): api-reference/serial-ports/serialread.md + - serialSetPower(port\_nr, value): api-reference/serial-ports/serialsetpower.md + - serialWrite(str): api-reference/serial-ports/serialwrite.md + - setSerialBaudrate(baudrate): api-reference/serial-ports/setserialbaudrate.md + - System: + - System: api-reference/system/index.md + - defaultChannel(stick): api-reference/system/defaultchannel.md + - defaultStick(channel): api-reference/system/defaultstick.md + - getGeneralSettings(): api-reference/system/getgeneralsettings.md + - getVersion(): api-reference/system/getversion.md + - screenshot(): api-reference/system/rgb.md + - Key Inputs: + - Key Inputs: api-reference/key-inputs/index.md + - getRotEncMode(): api-reference/key-inputs/getrotencmode.md + - getRotEncSpeed(): api-reference/key-inputs/getrotencspeed.md + - killEvents(key): api-reference/key-inputs/killevents.md + - LUA Scripts: + - LUA Scripts: api-reference/lua-scripts/index.md + - getAvailableMemory(): api-reference/lua-scripts/getavailablememory.md + - getUsage(): api-reference/lua-scripts/getusage.md + - loadScript(file \[, mode\], \[,env\]): api-reference/lua-scripts/loadscript.md + - Time: + - Time: api-reference/time/index.md + - getDateTime(): api-reference/time/getdatetime.md + - getGlobalTimer(): api-reference/time/getglobaltimer.md + - getRtcTime(): api-reference/time/getrtctime.md + - getTime(): api-reference/time/gettime.md + - resetGlobalTimer(\[type\]): api-reference/time/resetglobaltimer.md + - Audio-Sound: + - Audio-Sound: api-reference/audio-sound/index.md + - playDuration(duration \[, hourFormat\]): api-reference/audio-sound/playduration.md + - playFile(name): api-reference/audio-sound/playfile.md + - playHaptic(duration, pause \[, flags\]): api-reference/audio-sound/playhaptic.md + - playNumber(value, unit \[, attributes\]): api-reference/audio-sound/playnumber.md + - playTone(frequency, duration, pause \[, flags \[, freqIncr\]\]): api-reference/audio-sound/playtone.md + - flushAudio(): api-reference/audio-sound/flushaudio.md + - Telemetry: + - Telemetry: api-reference/telemetry/index.md + - getRSSI(): api-reference/telemetry/getrssi.md + - RF module: + - RF module: api-reference/rf-module/index.md + - accessTelemetryPush(): api-reference/rf-module/accesstelemetrypush.md + - crossfireTelemetryPop(): api-reference/rf-module/crossfiretelemetrypop.md + - crossfireTelemetryPush(): api-reference/rf-module/crossfiretelemetrypush.md + - ghostTelemetryPop(): api-reference/rf-module/ghosttelemetrypop.md + - ghostTelemetryPush(): api-reference/rf-module/ghosttelemetrypush.md + - sportTelemetryPop(): api-reference/rf-module/sporttelemetrypop.md + - sportTelemetryPush(): api-reference/rf-module/sporttelemetrypush.md + - getRAS(): api-reference/rf-module/getras.md + - multiBuffer(address\[,value\]): api-reference/rf-module/multibuffer-address-value.md + - GPS: + - GPS: api-reference/gps/index.md + - getTxGPS(): api-reference/gps/gettxgps.md + - Variables: + - Variables: api-reference/variables/index.md + - getFieldInfo(source): api-reference/variables/getfieldinfo.md + - getFlightMode(mode): api-reference/variables/getflightmode.md + - getLogicalSwitchValue(id): api-reference/variables/getlogicalswitchvalue.md + - getOutputValue(outputIndex): api-reference/variables/getoutputvalue.md + - getShmVar(id): api-reference/variables/getshmvar.md + - getSourceIndex(sourceName): api-reference/variables/getsourceindex.md + - getSourceName(sourceIndex): api-reference/variables/getsourcename.md + - getSourceValue(source): api-reference/variables/getsourcevalue.md + - getSwitchIndex(positionName): api-reference/variables/getswitchindex.md + - getSwitchName(switchIndex): api-reference/variables/getswitchname.md + - getSwitchValue(switchIndex): api-reference/variables/getswitchvalue.md + - getValue(source): api-reference/variables/getvalue.md + - setShmVar(id, value): api-reference/variables/setshmvar.md + - setStickySwitch(id, value): api-reference/variables/setstickyswitch.md + - sources(\[first\[, last\]\]): api-reference/variables/sources.md + - switches(\[first\[, last\]\]): api-reference/variables/switches.md +- LUA API Programming: + - LUA API Programming: programming/index.md + - Data Exchange with the EdgeTX Model Setup: programming/data-exchange-with-the-edgetx-model-setup.md + - Drawing Flags and Colors: programming/drawing-flags-and-colors.md + - Init Function Syntax: programming/init-function-syntax.md + - Input Table Syntax: programming/input-table-syntax.md + - Loading Code Modules Dynamically: programming/loading-code-modules-dynamically.md + - Output Table Syntax: programming/output-table-syntax.md + - Return Statement Syntax: programming/return-statement-syntax.md + - Run Function Syntax: programming/run-function-syntax.md + - Saving Memory: programming/saving-memory.md + - Using Key and Touch Events: programming/using-key-and-touch-events.md + - Advanced Topics: + - Advanced Topics: programming/advanced-topics/index.md + - Debugging techniques: programming/advanced-topics/debugging-techniques.md + - Lua data sharing across scripts: programming/advanced-topics/lua-data-sharing-across-scripts.md + - Speed/memory optimizaton tricks: programming/advanced-topics/optimization-tricks.md +- Appendixes: + - Appendixes: appendix/index.md + - Fonts: appendix/fonts.md diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..b49058885 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,15 @@ +[project] +name = "lua-reference-guide-docs" +version = "0.1.0" +description = "Docs tooling for the EdgeTX Lua Reference Guide migration" +requires-python = ">=3.11" +dependencies = [ + "mkdocs>=1.6,<2.0", + "mkdocs-material>=9.5,<10.0", + "mike>=2,<3", + "mkdocs-minify-plugin>=0.8,<1.0", + "markdown>=3.6,<4.0", +] + +[tool.uv] +package = false diff --git a/uv.lock b/uv.lock new file mode 100644 index 000000000..019bbe245 --- /dev/null +++ b/uv.lock @@ -0,0 +1,627 @@ +version = 1 +revision = 3 +requires-python = ">=3.11" + +[[package]] +name = "babel" +version = "2.18.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz", hash = "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d", size = 9959554, upload-time = "2026-02-01T12:30:56.078Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35", size = 10196845, upload-time = "2026-02-01T12:30:53.445Z" }, +] + +[[package]] +name = "backrefs" +version = "6.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4e/a6/e325ec73b638d3ede4421b5445d4a0b8b219481826cc079d510100af356c/backrefs-6.2.tar.gz", hash = "sha256:f44ff4d48808b243b6c0cdc6231e22195c32f77046018141556c66f8bab72a49", size = 7012303, upload-time = "2026-02-16T19:10:15.828Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/39/3765df263e08a4df37f4f43cb5aa3c6c17a4bdd42ecfe841e04c26037171/backrefs-6.2-py310-none-any.whl", hash = "sha256:0fdc7b012420b6b144410342caeb8adc54c6866cf12064abc9bb211302e496f8", size = 381075, upload-time = "2026-02-16T19:10:04.322Z" }, + { url = "https://files.pythonhosted.org/packages/0f/f0/35240571e1b67ffb19dafb29ab34150b6f59f93f717b041082cdb1bfceb1/backrefs-6.2-py311-none-any.whl", hash = "sha256:08aa7fae530c6b2361d7bdcbda1a7c454e330cc9dbcd03f5c23205e430e5c3be", size = 392874, upload-time = "2026-02-16T19:10:06.314Z" }, + { url = "https://files.pythonhosted.org/packages/e3/63/77e8c9745b4d227cce9f5e0a6f68041278c5f9b18588b35905f5f19c1beb/backrefs-6.2-py312-none-any.whl", hash = "sha256:c3f4b9cb2af8cda0d87ab4f57800b57b95428488477be164dd2b47be54db0c90", size = 398787, upload-time = "2026-02-16T19:10:08.274Z" }, + { url = "https://files.pythonhosted.org/packages/c5/71/c754b1737ad99102e03fa3235acb6cb6d3ac9d6f596cbc3e5f236705abd8/backrefs-6.2-py313-none-any.whl", hash = "sha256:12df81596ab511f783b7d87c043ce26bc5b0288cf3bb03610fe76b8189282b2b", size = 400747, upload-time = "2026-02-16T19:10:09.791Z" }, + { url = "https://files.pythonhosted.org/packages/af/75/be12ba31a6eb20dccef2320cd8ccb3f7d9013b68ba4c70156259fee9e409/backrefs-6.2-py314-none-any.whl", hash = "sha256:e5f805ae09819caa1aa0623b4a83790e7028604aa2b8c73ba602c4454e665de7", size = 412602, upload-time = "2026-02-16T19:10:12.317Z" }, + { url = "https://files.pythonhosted.org/packages/21/f8/d02f650c47d05034dcd6f9c8cf94f39598b7a89c00ecda0ecb2911bc27e9/backrefs-6.2-py39-none-any.whl", hash = "sha256:664e33cd88c6840b7625b826ecf2555f32d491800900f5a541f772c485f7cda7", size = 381077, upload-time = "2026-02-16T19:10:13.74Z" }, +] + +[[package]] +name = "certifi" +version = "2026.2.25" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz", hash = "sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7", size = 155029, upload-time = "2026-02-25T02:54:17.342Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/3c/c17fb3ca2d9c3acff52e30b309f538586f9f5b9c9cf454f3845fc9af4881/certifi-2026.2.25-py3-none-any.whl", hash = "sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa", size = 153684, upload-time = "2026-02-25T02:54:15.766Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/60/e3bec1881450851b087e301bedc3daa9377a4d45f1c26aa90b0b235e38aa/charset_normalizer-3.4.6.tar.gz", hash = "sha256:1ae6b62897110aa7c79ea2f5dd38d1abca6db663687c0b1ad9aed6f6bae3d9d6", size = 143363, upload-time = "2026-03-15T18:53:25.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/28/ff6f234e628a2de61c458be2779cb182bc03f6eec12200d4a525bbfc9741/charset_normalizer-3.4.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:82060f995ab5003a2d6e0f4ad29065b7672b6593c8c63559beefe5b443242c3e", size = 293582, upload-time = "2026-03-15T18:50:25.454Z" }, + { url = "https://files.pythonhosted.org/packages/1c/b7/b1a117e5385cbdb3205f6055403c2a2a220c5ea80b8716c324eaf75c5c95/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:60c74963d8350241a79cb8feea80e54d518f72c26db618862a8f53e5023deaf9", size = 197240, upload-time = "2026-03-15T18:50:27.196Z" }, + { url = "https://files.pythonhosted.org/packages/a1/5f/2574f0f09f3c3bc1b2f992e20bce6546cb1f17e111c5be07308dc5427956/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6e4333fb15c83f7d1482a76d45a0818897b3d33f00efd215528ff7c51b8e35d", size = 217363, upload-time = "2026-03-15T18:50:28.601Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d1/0ae20ad77bc949ddd39b51bf383b6ca932f2916074c95cad34ae465ab71f/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bc72863f4d9aba2e8fd9085e63548a324ba706d2ea2c83b260da08a59b9482de", size = 212994, upload-time = "2026-03-15T18:50:30.102Z" }, + { url = "https://files.pythonhosted.org/packages/60/ac/3233d262a310c1b12633536a07cde5ddd16985e6e7e238e9f3f9423d8eb9/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9cc4fc6c196d6a8b76629a70ddfcd4635a6898756e2d9cac5565cf0654605d73", size = 204697, upload-time = "2026-03-15T18:50:31.654Z" }, + { url = "https://files.pythonhosted.org/packages/25/3c/8a18fc411f085b82303cfb7154eed5bd49c77035eb7608d049468b53f87c/charset_normalizer-3.4.6-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:0c173ce3a681f309f31b87125fecec7a5d1347261ea11ebbb856fa6006b23c8c", size = 191673, upload-time = "2026-03-15T18:50:33.433Z" }, + { url = "https://files.pythonhosted.org/packages/ff/a7/11cfe61d6c5c5c7438d6ba40919d0306ed83c9ab957f3d4da2277ff67836/charset_normalizer-3.4.6-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c907cdc8109f6c619e6254212e794d6548373cc40e1ec75e6e3823d9135d29cc", size = 201120, upload-time = "2026-03-15T18:50:35.105Z" }, + { url = "https://files.pythonhosted.org/packages/b5/10/cf491fa1abd47c02f69687046b896c950b92b6cd7337a27e6548adbec8e4/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:404a1e552cf5b675a87f0651f8b79f5f1e6fd100ee88dc612f89aa16abd4486f", size = 200911, upload-time = "2026-03-15T18:50:36.819Z" }, + { url = "https://files.pythonhosted.org/packages/28/70/039796160b48b18ed466fde0af84c1b090c4e288fae26cd674ad04a2d703/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:e3c701e954abf6fc03a49f7c579cc80c2c6cc52525340ca3186c41d3f33482ef", size = 192516, upload-time = "2026-03-15T18:50:38.228Z" }, + { url = "https://files.pythonhosted.org/packages/ff/34/c56f3223393d6ff3124b9e78f7de738047c2d6bc40a4f16ac0c9d7a1cb3c/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7a6967aaf043bceabab5412ed6bd6bd26603dae84d5cb75bf8d9a74a4959d398", size = 218795, upload-time = "2026-03-15T18:50:39.664Z" }, + { url = "https://files.pythonhosted.org/packages/e8/3b/ce2d4f86c5282191a041fdc5a4ce18f1c6bd40a5bd1f74cf8625f08d51c1/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:5feb91325bbceade6afab43eb3b508c63ee53579fe896c77137ded51c6b6958e", size = 201833, upload-time = "2026-03-15T18:50:41.552Z" }, + { url = "https://files.pythonhosted.org/packages/3b/9b/b6a9f76b0fd7c5b5ec58b228ff7e85095370282150f0bd50b3126f5506d6/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:f820f24b09e3e779fe84c3c456cb4108a7aa639b0d1f02c28046e11bfcd088ed", size = 213920, upload-time = "2026-03-15T18:50:43.33Z" }, + { url = "https://files.pythonhosted.org/packages/ae/98/7bc23513a33d8172365ed30ee3a3b3fe1ece14a395e5fc94129541fc6003/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b35b200d6a71b9839a46b9b7fff66b6638bb52fc9658aa58796b0326595d3021", size = 206951, upload-time = "2026-03-15T18:50:44.789Z" }, + { url = "https://files.pythonhosted.org/packages/32/73/c0b86f3d1458468e11aec870e6b3feac931facbe105a894b552b0e518e79/charset_normalizer-3.4.6-cp311-cp311-win32.whl", hash = "sha256:9ca4c0b502ab399ef89248a2c84c54954f77a070f28e546a85e91da627d1301e", size = 143703, upload-time = "2026-03-15T18:50:46.103Z" }, + { url = "https://files.pythonhosted.org/packages/c6/e3/76f2facfe8eddee0bbd38d2594e709033338eae44ebf1738bcefe0a06185/charset_normalizer-3.4.6-cp311-cp311-win_amd64.whl", hash = "sha256:a9e68c9d88823b274cf1e72f28cb5dc89c990edf430b0bfd3e2fb0785bfeabf4", size = 153857, upload-time = "2026-03-15T18:50:47.563Z" }, + { url = "https://files.pythonhosted.org/packages/e2/dc/9abe19c9b27e6cd3636036b9d1b387b78c40dedbf0b47f9366737684b4b0/charset_normalizer-3.4.6-cp311-cp311-win_arm64.whl", hash = "sha256:97d0235baafca5f2b09cf332cc275f021e694e8362c6bb9c96fc9a0eb74fc316", size = 142751, upload-time = "2026-03-15T18:50:49.234Z" }, + { url = "https://files.pythonhosted.org/packages/e5/62/c0815c992c9545347aeea7859b50dc9044d147e2e7278329c6e02ac9a616/charset_normalizer-3.4.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2ef7fedc7a6ecbe99969cd09632516738a97eeb8bd7258bf8a0f23114c057dab", size = 295154, upload-time = "2026-03-15T18:50:50.88Z" }, + { url = "https://files.pythonhosted.org/packages/a8/37/bdca6613c2e3c58c7421891d80cc3efa1d32e882f7c4a7ee6039c3fc951a/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a4ea868bc28109052790eb2b52a9ab33f3aa7adc02f96673526ff47419490e21", size = 199191, upload-time = "2026-03-15T18:50:52.658Z" }, + { url = "https://files.pythonhosted.org/packages/6c/92/9934d1bbd69f7f398b38c5dae1cbf9cc672e7c34a4adf7b17c0a9c17d15d/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:836ab36280f21fc1a03c99cd05c6b7af70d2697e374c7af0b61ed271401a72a2", size = 218674, upload-time = "2026-03-15T18:50:54.102Z" }, + { url = "https://files.pythonhosted.org/packages/af/90/25f6ab406659286be929fd89ab0e78e38aa183fc374e03aa3c12d730af8a/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f1ce721c8a7dfec21fcbdfe04e8f68174183cf4e8188e0645e92aa23985c57ff", size = 215259, upload-time = "2026-03-15T18:50:55.616Z" }, + { url = "https://files.pythonhosted.org/packages/4e/ef/79a463eb0fff7f96afa04c1d4c51f8fc85426f918db467854bfb6a569ce3/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e28d62a8fc7a1fa411c43bd65e346f3bce9716dc51b897fbe930c5987b402d5", size = 207276, upload-time = "2026-03-15T18:50:57.054Z" }, + { url = "https://files.pythonhosted.org/packages/f7/72/d0426afec4b71dc159fa6b4e68f868cd5a3ecd918fec5813a15d292a7d10/charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:530d548084c4a9f7a16ed4a294d459b4f229db50df689bfe92027452452943a0", size = 195161, upload-time = "2026-03-15T18:50:58.686Z" }, + { url = "https://files.pythonhosted.org/packages/bf/18/c82b06a68bfcb6ce55e508225d210c7e6a4ea122bfc0748892f3dc4e8e11/charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:30f445ae60aad5e1f8bdbb3108e39f6fbc09f4ea16c815c66578878325f8f15a", size = 203452, upload-time = "2026-03-15T18:51:00.196Z" }, + { url = "https://files.pythonhosted.org/packages/44/d6/0c25979b92f8adafdbb946160348d8d44aa60ce99afdc27df524379875cb/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ac2393c73378fea4e52aa56285a3d64be50f1a12395afef9cce47772f60334c2", size = 202272, upload-time = "2026-03-15T18:51:01.703Z" }, + { url = "https://files.pythonhosted.org/packages/2e/3d/7fea3e8fe84136bebbac715dd1221cc25c173c57a699c030ab9b8900cbb7/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:90ca27cd8da8118b18a52d5f547859cc1f8354a00cd1e8e5120df3e30d6279e5", size = 195622, upload-time = "2026-03-15T18:51:03.526Z" }, + { url = "https://files.pythonhosted.org/packages/57/8a/d6f7fd5cb96c58ef2f681424fbca01264461336d2a7fc875e4446b1f1346/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e5a94886bedca0f9b78fecd6afb6629142fd2605aa70a125d49f4edc6037ee6", size = 220056, upload-time = "2026-03-15T18:51:05.269Z" }, + { url = "https://files.pythonhosted.org/packages/16/50/478cdda782c8c9c3fb5da3cc72dd7f331f031e7f1363a893cdd6ca0f8de0/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:695f5c2823691a25f17bc5d5ffe79fa90972cc34b002ac6c843bb8a1720e950d", size = 203751, upload-time = "2026-03-15T18:51:06.858Z" }, + { url = "https://files.pythonhosted.org/packages/75/fc/cc2fcac943939c8e4d8791abfa139f685e5150cae9f94b60f12520feaa9b/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:231d4da14bcd9301310faf492051bee27df11f2bc7549bc0bb41fef11b82daa2", size = 216563, upload-time = "2026-03-15T18:51:08.564Z" }, + { url = "https://files.pythonhosted.org/packages/a8/b7/a4add1d9a5f68f3d037261aecca83abdb0ab15960a3591d340e829b37298/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a056d1ad2633548ca18ffa2f85c202cfb48b68615129143915b8dc72a806a923", size = 209265, upload-time = "2026-03-15T18:51:10.312Z" }, + { url = "https://files.pythonhosted.org/packages/6c/18/c094561b5d64a24277707698e54b7f67bd17a4f857bbfbb1072bba07c8bf/charset_normalizer-3.4.6-cp312-cp312-win32.whl", hash = "sha256:c2274ca724536f173122f36c98ce188fd24ce3dad886ec2b7af859518ce008a4", size = 144229, upload-time = "2026-03-15T18:51:11.694Z" }, + { url = "https://files.pythonhosted.org/packages/ab/20/0567efb3a8fd481b8f34f739ebddc098ed062a59fed41a8d193a61939e8f/charset_normalizer-3.4.6-cp312-cp312-win_amd64.whl", hash = "sha256:c8ae56368f8cc97c7e40a7ee18e1cedaf8e780cd8bc5ed5ac8b81f238614facb", size = 154277, upload-time = "2026-03-15T18:51:13.004Z" }, + { url = "https://files.pythonhosted.org/packages/15/57/28d79b44b51933119e21f65479d0864a8d5893e494cf5daab15df0247c17/charset_normalizer-3.4.6-cp312-cp312-win_arm64.whl", hash = "sha256:899d28f422116b08be5118ef350c292b36fc15ec2daeb9ea987c89281c7bb5c4", size = 142817, upload-time = "2026-03-15T18:51:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/1e/1d/4fdabeef4e231153b6ed7567602f3b68265ec4e5b76d6024cf647d43d981/charset_normalizer-3.4.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:11afb56037cbc4b1555a34dd69151e8e069bee82e613a73bef6e714ce733585f", size = 294823, upload-time = "2026-03-15T18:51:15.755Z" }, + { url = "https://files.pythonhosted.org/packages/47/7b/20e809b89c69d37be748d98e84dce6820bf663cf19cf6b942c951a3e8f41/charset_normalizer-3.4.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:423fb7e748a08f854a08a222b983f4df1912b1daedce51a72bd24fe8f26a1843", size = 198527, upload-time = "2026-03-15T18:51:17.177Z" }, + { url = "https://files.pythonhosted.org/packages/37/a6/4f8d27527d59c039dce6f7622593cdcd3d70a8504d87d09eb11e9fdc6062/charset_normalizer-3.4.6-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d73beaac5e90173ac3deb9928a74763a6d230f494e4bfb422c217a0ad8e629bf", size = 218388, upload-time = "2026-03-15T18:51:18.934Z" }, + { url = "https://files.pythonhosted.org/packages/f6/9b/4770ccb3e491a9bacf1c46cc8b812214fe367c86a96353ccc6daf87b01ec/charset_normalizer-3.4.6-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d60377dce4511655582e300dc1e5a5f24ba0cb229005a1d5c8d0cb72bb758ab8", size = 214563, upload-time = "2026-03-15T18:51:20.374Z" }, + { url = "https://files.pythonhosted.org/packages/2b/58/a199d245894b12db0b957d627516c78e055adc3a0d978bc7f65ddaf7c399/charset_normalizer-3.4.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:530e8cebeea0d76bdcf93357aa5e41336f48c3dc709ac52da2bb167c5b8271d9", size = 206587, upload-time = "2026-03-15T18:51:21.807Z" }, + { url = "https://files.pythonhosted.org/packages/7e/70/3def227f1ec56f5c69dfc8392b8bd63b11a18ca8178d9211d7cc5e5e4f27/charset_normalizer-3.4.6-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:a26611d9987b230566f24a0a125f17fe0de6a6aff9f25c9f564aaa2721a5fb88", size = 194724, upload-time = "2026-03-15T18:51:23.508Z" }, + { url = "https://files.pythonhosted.org/packages/58/ab/9318352e220c05efd31c2779a23b50969dc94b985a2efa643ed9077bfca5/charset_normalizer-3.4.6-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:34315ff4fc374b285ad7f4a0bf7dcbfe769e1b104230d40f49f700d4ab6bbd84", size = 202956, upload-time = "2026-03-15T18:51:25.239Z" }, + { url = "https://files.pythonhosted.org/packages/75/13/f3550a3ac25b70f87ac98c40d3199a8503676c2f1620efbf8d42095cfc40/charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5f8ddd609f9e1af8c7bd6e2aca279c931aefecd148a14402d4e368f3171769fd", size = 201923, upload-time = "2026-03-15T18:51:26.682Z" }, + { url = "https://files.pythonhosted.org/packages/1b/db/c5c643b912740b45e8eec21de1bbab8e7fc085944d37e1e709d3dcd9d72f/charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:80d0a5615143c0b3225e5e3ef22c8d5d51f3f72ce0ea6fb84c943546c7b25b6c", size = 195366, upload-time = "2026-03-15T18:51:28.129Z" }, + { url = "https://files.pythonhosted.org/packages/5a/67/3b1c62744f9b2448443e0eb160d8b001c849ec3fef591e012eda6484787c/charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:92734d4d8d187a354a556626c221cd1a892a4e0802ccb2af432a1d85ec012194", size = 219752, upload-time = "2026-03-15T18:51:29.556Z" }, + { url = "https://files.pythonhosted.org/packages/f6/98/32ffbaf7f0366ffb0445930b87d103f6b406bc2c271563644bde8a2b1093/charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:613f19aa6e082cf96e17e3ffd89383343d0d589abda756b7764cf78361fd41dc", size = 203296, upload-time = "2026-03-15T18:51:30.921Z" }, + { url = "https://files.pythonhosted.org/packages/41/12/5d308c1bbe60cabb0c5ef511574a647067e2a1f631bc8634fcafaccd8293/charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:2b1a63e8224e401cafe7739f77efd3f9e7f5f2026bda4aead8e59afab537784f", size = 215956, upload-time = "2026-03-15T18:51:32.399Z" }, + { url = "https://files.pythonhosted.org/packages/53/e9/5f85f6c5e20669dbe56b165c67b0260547dea97dba7e187938833d791687/charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6cceb5473417d28edd20c6c984ab6fee6c6267d38d906823ebfe20b03d607dc2", size = 208652, upload-time = "2026-03-15T18:51:34.214Z" }, + { url = "https://files.pythonhosted.org/packages/f1/11/897052ea6af56df3eef3ca94edafee410ca699ca0c7b87960ad19932c55e/charset_normalizer-3.4.6-cp313-cp313-win32.whl", hash = "sha256:d7de2637729c67d67cf87614b566626057e95c303bc0a55ffe391f5205e7003d", size = 143940, upload-time = "2026-03-15T18:51:36.15Z" }, + { url = "https://files.pythonhosted.org/packages/a1/5c/724b6b363603e419829f561c854b87ed7c7e31231a7908708ac086cdf3e2/charset_normalizer-3.4.6-cp313-cp313-win_amd64.whl", hash = "sha256:572d7c822caf521f0525ba1bce1a622a0b85cf47ffbdae6c9c19e3b5ac3c4389", size = 154101, upload-time = "2026-03-15T18:51:37.876Z" }, + { url = "https://files.pythonhosted.org/packages/01/a5/7abf15b4c0968e47020f9ca0935fb3274deb87cb288cd187cad92e8cdffd/charset_normalizer-3.4.6-cp313-cp313-win_arm64.whl", hash = "sha256:a4474d924a47185a06411e0064b803c68be044be2d60e50e8bddcc2649957c1f", size = 143109, upload-time = "2026-03-15T18:51:39.565Z" }, + { url = "https://files.pythonhosted.org/packages/25/6f/ffe1e1259f384594063ea1869bfb6be5cdb8bc81020fc36c3636bc8302a1/charset_normalizer-3.4.6-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:9cc6e6d9e571d2f863fa77700701dae73ed5f78881efc8b3f9a4398772ff53e8", size = 294458, upload-time = "2026-03-15T18:51:41.134Z" }, + { url = "https://files.pythonhosted.org/packages/56/60/09bb6c13a8c1016c2ed5c6a6488e4ffef506461aa5161662bd7636936fb1/charset_normalizer-3.4.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef5960d965e67165d75b7c7ffc60a83ec5abfc5c11b764ec13ea54fbef8b4421", size = 199277, upload-time = "2026-03-15T18:51:42.953Z" }, + { url = "https://files.pythonhosted.org/packages/00/50/dcfbb72a5138bbefdc3332e8d81a23494bf67998b4b100703fd15fa52d81/charset_normalizer-3.4.6-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b3694e3f87f8ac7ce279d4355645b3c878d24d1424581b46282f24b92f5a4ae2", size = 218758, upload-time = "2026-03-15T18:51:44.339Z" }, + { url = "https://files.pythonhosted.org/packages/03/b3/d79a9a191bb75f5aa81f3aaaa387ef29ce7cb7a9e5074ba8ea095cc073c2/charset_normalizer-3.4.6-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5d11595abf8dd942a77883a39d81433739b287b6aa71620f15164f8096221b30", size = 215299, upload-time = "2026-03-15T18:51:45.871Z" }, + { url = "https://files.pythonhosted.org/packages/76/7e/bc8911719f7084f72fd545f647601ea3532363927f807d296a8c88a62c0d/charset_normalizer-3.4.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7bda6eebafd42133efdca535b04ccb338ab29467b3f7bf79569883676fc628db", size = 206811, upload-time = "2026-03-15T18:51:47.308Z" }, + { url = "https://files.pythonhosted.org/packages/e2/40/c430b969d41dda0c465aa36cc7c2c068afb67177bef50905ac371b28ccc7/charset_normalizer-3.4.6-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:bbc8c8650c6e51041ad1be191742b8b421d05bbd3410f43fa2a00c8db87678e8", size = 193706, upload-time = "2026-03-15T18:51:48.849Z" }, + { url = "https://files.pythonhosted.org/packages/48/15/e35e0590af254f7df984de1323640ef375df5761f615b6225ba8deb9799a/charset_normalizer-3.4.6-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:22c6f0c2fbc31e76c3b8a86fba1a56eda6166e238c29cdd3d14befdb4a4e4815", size = 202706, upload-time = "2026-03-15T18:51:50.257Z" }, + { url = "https://files.pythonhosted.org/packages/5e/bd/f736f7b9cc5e93a18b794a50346bb16fbfd6b37f99e8f306f7951d27c17c/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7edbed096e4a4798710ed6bc75dcaa2a21b68b6c356553ac4823c3658d53743a", size = 202497, upload-time = "2026-03-15T18:51:52.012Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ba/2cc9e3e7dfdf7760a6ed8da7446d22536f3d0ce114ac63dee2a5a3599e62/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:7f9019c9cb613f084481bd6a100b12e1547cf2efe362d873c2e31e4035a6fa43", size = 193511, upload-time = "2026-03-15T18:51:53.723Z" }, + { url = "https://files.pythonhosted.org/packages/9e/cb/5be49b5f776e5613be07298c80e1b02a2d900f7a7de807230595c85a8b2e/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:58c948d0d086229efc484fe2f30c2d382c86720f55cd9bc33591774348ad44e0", size = 220133, upload-time = "2026-03-15T18:51:55.333Z" }, + { url = "https://files.pythonhosted.org/packages/83/43/99f1b5dad345accb322c80c7821071554f791a95ee50c1c90041c157ae99/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:419a9d91bd238052642a51938af8ac05da5b3343becde08d5cdeab9046df9ee1", size = 203035, upload-time = "2026-03-15T18:51:56.736Z" }, + { url = "https://files.pythonhosted.org/packages/87/9a/62c2cb6a531483b55dddff1a68b3d891a8b498f3ca555fbcf2978e804d9d/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5273b9f0b5835ff0350c0828faea623c68bfa65b792720c453e22b25cc72930f", size = 216321, upload-time = "2026-03-15T18:51:58.17Z" }, + { url = "https://files.pythonhosted.org/packages/6e/79/94a010ff81e3aec7c293eb82c28f930918e517bc144c9906a060844462eb/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:0e901eb1049fdb80f5bd11ed5ea1e498ec423102f7a9b9e4645d5b8204ff2815", size = 208973, upload-time = "2026-03-15T18:51:59.998Z" }, + { url = "https://files.pythonhosted.org/packages/2a/57/4ecff6d4ec8585342f0c71bc03efaa99cb7468f7c91a57b105bcd561cea8/charset_normalizer-3.4.6-cp314-cp314-win32.whl", hash = "sha256:b4ff1d35e8c5bd078be89349b6f3a845128e685e751b6ea1169cf2160b344c4d", size = 144610, upload-time = "2026-03-15T18:52:02.213Z" }, + { url = "https://files.pythonhosted.org/packages/80/94/8434a02d9d7f168c25767c64671fead8d599744a05d6a6c877144c754246/charset_normalizer-3.4.6-cp314-cp314-win_amd64.whl", hash = "sha256:74119174722c4349af9708993118581686f343adc1c8c9c007d59be90d077f3f", size = 154962, upload-time = "2026-03-15T18:52:03.658Z" }, + { url = "https://files.pythonhosted.org/packages/46/4c/48f2cdbfd923026503dfd67ccea45c94fd8fe988d9056b468579c66ed62b/charset_normalizer-3.4.6-cp314-cp314-win_arm64.whl", hash = "sha256:e5bcc1a1ae744e0bb59641171ae53743760130600da8db48cbb6e4918e186e4e", size = 143595, upload-time = "2026-03-15T18:52:05.123Z" }, + { url = "https://files.pythonhosted.org/packages/31/93/8878be7569f87b14f1d52032946131bcb6ebbd8af3e20446bc04053dc3f1/charset_normalizer-3.4.6-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ad8faf8df23f0378c6d527d8b0b15ea4a2e23c89376877c598c4870d1b2c7866", size = 314828, upload-time = "2026-03-15T18:52:06.831Z" }, + { url = "https://files.pythonhosted.org/packages/06/b6/fae511ca98aac69ecc35cde828b0a3d146325dd03d99655ad38fc2cc3293/charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f5ea69428fa1b49573eef0cc44a1d43bebd45ad0c611eb7d7eac760c7ae771bc", size = 208138, upload-time = "2026-03-15T18:52:08.239Z" }, + { url = "https://files.pythonhosted.org/packages/54/57/64caf6e1bf07274a1e0b7c160a55ee9e8c9ec32c46846ce59b9c333f7008/charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:06a7e86163334edfc5d20fe104db92fcd666e5a5df0977cb5680a506fe26cc8e", size = 224679, upload-time = "2026-03-15T18:52:10.043Z" }, + { url = "https://files.pythonhosted.org/packages/aa/cb/9ff5a25b9273ef160861b41f6937f86fae18b0792fe0a8e75e06acb08f1d/charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e1f6e2f00a6b8edb562826e4632e26d063ac10307e80f7461f7de3ad8ef3f077", size = 223475, upload-time = "2026-03-15T18:52:11.854Z" }, + { url = "https://files.pythonhosted.org/packages/fc/97/440635fc093b8d7347502a377031f9605a1039c958f3cd18dcacffb37743/charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95b52c68d64c1878818687a473a10547b3292e82b6f6fe483808fb1468e2f52f", size = 215230, upload-time = "2026-03-15T18:52:13.325Z" }, + { url = "https://files.pythonhosted.org/packages/cd/24/afff630feb571a13f07c8539fbb502d2ab494019492aaffc78ef41f1d1d0/charset_normalizer-3.4.6-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:7504e9b7dc05f99a9bbb4525c67a2c155073b44d720470a148b34166a69c054e", size = 199045, upload-time = "2026-03-15T18:52:14.752Z" }, + { url = "https://files.pythonhosted.org/packages/e5/17/d1399ecdaf7e0498c327433e7eefdd862b41236a7e484355b8e0e5ebd64b/charset_normalizer-3.4.6-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:172985e4ff804a7ad08eebec0a1640ece87ba5041d565fff23c8f99c1f389484", size = 211658, upload-time = "2026-03-15T18:52:16.278Z" }, + { url = "https://files.pythonhosted.org/packages/b5/38/16baa0affb957b3d880e5ac2144caf3f9d7de7bc4a91842e447fbb5e8b67/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:4be9f4830ba8741527693848403e2c457c16e499100963ec711b1c6f2049b7c7", size = 210769, upload-time = "2026-03-15T18:52:17.782Z" }, + { url = "https://files.pythonhosted.org/packages/05/34/c531bc6ac4c21da9ddfddb3107be2287188b3ea4b53b70fc58f2a77ac8d8/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:79090741d842f564b1b2827c0b82d846405b744d31e84f18d7a7b41c20e473ff", size = 201328, upload-time = "2026-03-15T18:52:19.553Z" }, + { url = "https://files.pythonhosted.org/packages/fa/73/a5a1e9ca5f234519c1953608a03fe109c306b97fdfb25f09182babad51a7/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:87725cfb1a4f1f8c2fc9890ae2f42094120f4b44db9360be5d99a4c6b0e03a9e", size = 225302, upload-time = "2026-03-15T18:52:21.043Z" }, + { url = "https://files.pythonhosted.org/packages/ba/f6/cd782923d112d296294dea4bcc7af5a7ae0f86ab79f8fefbda5526b6cfc0/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:fcce033e4021347d80ed9c66dcf1e7b1546319834b74445f561d2e2221de5659", size = 211127, upload-time = "2026-03-15T18:52:22.491Z" }, + { url = "https://files.pythonhosted.org/packages/0e/c5/0b6898950627af7d6103a449b22320372c24c6feda91aa24e201a478d161/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:ca0276464d148c72defa8bb4390cce01b4a0e425f3b50d1435aa6d7a18107602", size = 222840, upload-time = "2026-03-15T18:52:24.113Z" }, + { url = "https://files.pythonhosted.org/packages/7d/25/c4bba773bef442cbdc06111d40daa3de5050a676fa26e85090fc54dd12f0/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:197c1a244a274bb016dd8b79204850144ef77fe81c5b797dc389327adb552407", size = 216890, upload-time = "2026-03-15T18:52:25.541Z" }, + { url = "https://files.pythonhosted.org/packages/35/1a/05dacadb0978da72ee287b0143097db12f2e7e8d3ffc4647da07a383b0b7/charset_normalizer-3.4.6-cp314-cp314t-win32.whl", hash = "sha256:2a24157fa36980478dd1770b585c0f30d19e18f4fb0c47c13aa568f871718579", size = 155379, upload-time = "2026-03-15T18:52:27.05Z" }, + { url = "https://files.pythonhosted.org/packages/5d/7a/d269d834cb3a76291651256f3b9a5945e81d0a49ab9f4a498964e83c0416/charset_normalizer-3.4.6-cp314-cp314t-win_amd64.whl", hash = "sha256:cd5e2801c89992ed8c0a3f0293ae83c159a60d9a5d685005383ef4caca77f2c4", size = 169043, upload-time = "2026-03-15T18:52:28.502Z" }, + { url = "https://files.pythonhosted.org/packages/23/06/28b29fba521a37a8932c6a84192175c34d49f84a6d4773fa63d05f9aff22/charset_normalizer-3.4.6-cp314-cp314t-win_arm64.whl", hash = "sha256:47955475ac79cc504ef2704b192364e51d0d473ad452caedd0002605f780101c", size = 148523, upload-time = "2026-03-15T18:52:29.956Z" }, + { url = "https://files.pythonhosted.org/packages/2a/68/687187c7e26cb24ccbd88e5069f5ef00eba804d36dde11d99aad0838ab45/charset_normalizer-3.4.6-py3-none-any.whl", hash = "sha256:947cf925bc916d90adba35a64c82aace04fa39b46b52d4630ece166655905a69", size = 61455, upload-time = "2026-03-15T18:53:23.833Z" }, +] + +[[package]] +name = "click" +version = "8.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "csscompressor" +version = "0.9.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/2a/8c3ac3d8bc94e6de8d7ae270bb5bc437b210bb9d6d9e46630c98f4abd20c/csscompressor-0.9.5.tar.gz", hash = "sha256:afa22badbcf3120a4f392e4d22f9fff485c044a1feda4a950ecc5eba9dd31a05", size = 237808, upload-time = "2017-11-26T21:13:08.238Z" } + +[[package]] +name = "ghp-import" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943, upload-time = "2022-05-02T15:47:16.11Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" }, +] + +[[package]] +name = "htmlmin2" +version = "0.1.13" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/31/a76f4bfa885f93b8167cb4c85cf32b54d1f64384d0b897d45bc6d19b7b45/htmlmin2-0.1.13-py3-none-any.whl", hash = "sha256:75609f2a42e64f7ce57dbff28a39890363bde9e7e5885db633317efbdf8c79a2", size = 34486, upload-time = "2023-03-14T21:28:30.388Z" }, +] + +[[package]] +name = "idna" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "jsmin" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/73/e01e4c5e11ad0494f4407a3f623ad4d87714909f50b17a06ed121034ff6e/jsmin-3.0.1.tar.gz", hash = "sha256:c0959a121ef94542e807a674142606f7e90214a2b3d1eb17300244bbb5cc2bfc", size = 13925, upload-time = "2022-01-16T20:35:59.13Z" } + +[[package]] +name = "lua-reference-guide-docs" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "markdown" }, + { name = "mike" }, + { name = "mkdocs" }, + { name = "mkdocs-material" }, + { name = "mkdocs-minify-plugin" }, +] + +[package.metadata] +requires-dist = [ + { name = "markdown", specifier = ">=3.6,<4.0" }, + { name = "mike", specifier = ">=2,<3" }, + { name = "mkdocs", specifier = ">=1.6,<2.0" }, + { name = "mkdocs-material", specifier = ">=9.5,<10.0" }, + { name = "mkdocs-minify-plugin", specifier = ">=0.8,<1.0" }, +] + +[[package]] +name = "markdown" +version = "3.10.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2b/f4/69fa6ed85ae003c2378ffa8f6d2e3234662abd02c10d216c0ba96081a238/markdown-3.10.2.tar.gz", hash = "sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950", size = 368805, upload-time = "2026-02-09T14:57:26.942Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl", hash = "sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36", size = 108180, upload-time = "2026-02-09T14:57:25.787Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631, upload-time = "2025-09-27T18:36:18.185Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058, upload-time = "2025-09-27T18:36:19.444Z" }, + { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287, upload-time = "2025-09-27T18:36:20.768Z" }, + { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940, upload-time = "2025-09-27T18:36:22.249Z" }, + { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887, upload-time = "2025-09-27T18:36:23.535Z" }, + { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692, upload-time = "2025-09-27T18:36:24.823Z" }, + { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471, upload-time = "2025-09-27T18:36:25.95Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923, upload-time = "2025-09-27T18:36:27.109Z" }, + { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572, upload-time = "2025-09-27T18:36:28.045Z" }, + { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077, upload-time = "2025-09-27T18:36:29.025Z" }, + { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876, upload-time = "2025-09-27T18:36:29.954Z" }, + { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" }, + { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" }, + { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" }, + { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" }, + { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" }, + { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" }, + { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" }, + { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" }, + { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" }, + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + +[[package]] +name = "mergedeep" +version = "1.3.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661, upload-time = "2021-02-05T18:55:30.623Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354, upload-time = "2021-02-05T18:55:29.583Z" }, +] + +[[package]] +name = "mike" +version = "2.1.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jinja2" }, + { name = "mkdocs" }, + { name = "pyparsing" }, + { name = "pyyaml" }, + { name = "pyyaml-env-tag" }, + { name = "verspec" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ec/09/de1cab0018eb5f1fbd9dcc26b6e61f9453c5ec2eb790949d6ed75e1ffe55/mike-2.1.4.tar.gz", hash = "sha256:75d549420b134603805a65fc67f7dcd9fcd0ad1454fb2c893d9e844cba1aa6e4", size = 38190, upload-time = "2026-03-08T02:46:29.187Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/f7/10f5e101db25741b91e4f4792c5d97b4fa834ead5cf509ae91097d939424/mike-2.1.4-py3-none-any.whl", hash = "sha256:39933e992e155dd70f2297e749a0ed78d8fd7942bc33a3666195d177758a280e", size = 33820, upload-time = "2026-03-08T02:46:28.149Z" }, +] + +[[package]] +name = "mkdocs" +version = "1.6.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "ghp-import" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "markupsafe" }, + { name = "mergedeep" }, + { name = "mkdocs-get-deps" }, + { name = "packaging" }, + { name = "pathspec" }, + { name = "pyyaml" }, + { name = "pyyaml-env-tag" }, + { name = "watchdog" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451, upload-time = "2024-08-30T12:24:05.054Z" }, +] + +[[package]] +name = "mkdocs-get-deps" +version = "0.2.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mergedeep" }, + { name = "platformdirs" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ce/25/b3cccb187655b9393572bde9b09261d267c3bf2f2cdabe347673be5976a6/mkdocs_get_deps-0.2.2.tar.gz", hash = "sha256:8ee8d5f316cdbbb2834bc1df6e69c08fe769a83e040060de26d3c19fad3599a1", size = 11047, upload-time = "2026-03-10T02:46:33.632Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/29/744136411e785c4b0b744d5413e56555265939ab3a104c6a4b719dad33fd/mkdocs_get_deps-0.2.2-py3-none-any.whl", hash = "sha256:e7878cbeac04860b8b5e0ca31d3abad3df9411a75a32cde82f8e44b6c16ff650", size = 9555, upload-time = "2026-03-10T02:46:32.256Z" }, +] + +[[package]] +name = "mkdocs-material" +version = "9.7.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "backrefs" }, + { name = "colorama" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "mkdocs" }, + { name = "mkdocs-material-extensions" }, + { name = "paginate" }, + { name = "pygments" }, + { name = "pymdown-extensions" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/45/29/6d2bcf41ae40802c4beda2432396fff97b8456fb496371d1bc7aad6512ec/mkdocs_material-9.7.6.tar.gz", hash = "sha256:00bdde50574f776d328b1862fe65daeaf581ec309bd150f7bff345a098c64a69", size = 4097959, upload-time = "2026-03-19T15:41:58.161Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/01/bc663630c510822c95c47a66af9fa7a443c295b47d5f041e5e6ae62ef659/mkdocs_material-9.7.6-py3-none-any.whl", hash = "sha256:71b84353921b8ea1ba84fe11c50912cc512da8fe0881038fcc9a0761c0e635ba", size = 9305470, upload-time = "2026-03-19T15:41:55.217Z" }, +] + +[[package]] +name = "mkdocs-material-extensions" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847, upload-time = "2023-11-22T19:09:45.208Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728, upload-time = "2023-11-22T19:09:43.465Z" }, +] + +[[package]] +name = "mkdocs-minify-plugin" +version = "0.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "csscompressor" }, + { name = "htmlmin2" }, + { name = "jsmin" }, + { name = "mkdocs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/52/67/fe4b77e7a8ae7628392e28b14122588beaf6078b53eb91c7ed000fd158ac/mkdocs-minify-plugin-0.8.0.tar.gz", hash = "sha256:bc11b78b8120d79e817308e2b11539d790d21445eb63df831e393f76e52e753d", size = 8366, upload-time = "2024-01-29T16:11:32.982Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/cd/2e8d0d92421916e2ea4ff97f10a544a9bd5588eb747556701c983581df13/mkdocs_minify_plugin-0.8.0-py3-none-any.whl", hash = "sha256:5fba1a3f7bd9a2142c9954a6559a57e946587b21f133165ece30ea145c66aee6", size = 6723, upload-time = "2024-01-29T16:11:31.851Z" }, +] + +[[package]] +name = "packaging" +version = "26.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", size = 143416, upload-time = "2026-01-21T20:50:39.064Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366, upload-time = "2026-01-21T20:50:37.788Z" }, +] + +[[package]] +name = "paginate" +version = "0.5.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252, upload-time = "2024-08-25T14:17:24.139Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746, upload-time = "2024-08-25T14:17:22.55Z" }, +] + +[[package]] +name = "pathspec" +version = "1.0.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fa/36/e27608899f9b8d4dff0617b2d9ab17ca5608956ca44461ac14ac48b44015/pathspec-1.0.4.tar.gz", hash = "sha256:0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645", size = 131200, upload-time = "2026-01-27T03:59:46.938Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl", hash = "sha256:fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723", size = 55206, upload-time = "2026-01-27T03:59:45.137Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.9.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz", hash = "sha256:1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934", size = 28737, upload-time = "2026-03-05T18:34:13.271Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/63/d7/97f7e3a6abb67d8080dd406fd4df842c2be0efaf712d1c899c32a075027c/platformdirs-4.9.4-py3-none-any.whl", hash = "sha256:68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868", size = 21216, upload-time = "2026-03-05T18:34:12.172Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "pymdown-extensions" +version = "10.21" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ba/63/06673d1eb6d8f83c0ea1f677d770e12565fb516928b4109c9e2055656a9e/pymdown_extensions-10.21.tar.gz", hash = "sha256:39f4a020f40773f6b2ff31d2cd2546c2c04d0a6498c31d9c688d2be07e1767d5", size = 853363, upload-time = "2026-02-15T20:44:06.748Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6f/2c/5b079febdc65e1c3fb2729bf958d18b45be7113828528e8a0b5850dd819a/pymdown_extensions-10.21-py3-none-any.whl", hash = "sha256:91b879f9f864d49794c2d9534372b10150e6141096c3908a455e45ca72ad9d3f", size = 268877, upload-time = "2026-02-15T20:44:05.464Z" }, +] + +[[package]] +name = "pyparsing" +version = "3.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", size = 6851574, upload-time = "2026-01-21T03:57:59.36Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826, upload-time = "2025-09-25T21:31:58.655Z" }, + { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577, upload-time = "2025-09-25T21:32:00.088Z" }, + { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556, upload-time = "2025-09-25T21:32:01.31Z" }, + { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114, upload-time = "2025-09-25T21:32:03.376Z" }, + { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638, upload-time = "2025-09-25T21:32:04.553Z" }, + { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463, upload-time = "2025-09-25T21:32:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986, upload-time = "2025-09-25T21:32:07.367Z" }, + { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543, upload-time = "2025-09-25T21:32:08.95Z" }, + { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763, upload-time = "2025-09-25T21:32:09.96Z" }, + { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" }, + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, + { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" }, + { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, + { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" }, + { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" }, + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "pyyaml-env-tag" +version = "1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/2e/79c822141bfd05a853236b504869ebc6b70159afc570e1d5a20641782eaa/pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff", size = 5737, upload-time = "2025-05-13T15:24:01.64Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl", hash = "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04", size = 4722, upload-time = "2025-05-13T15:23:59.629Z" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "urllib3" +version = "2.6.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, +] + +[[package]] +name = "verspec" +version = "0.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/44/8126f9f0c44319b2efc65feaad589cadef4d77ece200ae3c9133d58464d0/verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e", size = 27123, upload-time = "2020-11-30T02:24:09.646Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/ce/3b6fee91c85626eaf769d617f1be9d2e15c1cca027bbdeb2e0d751469355/verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31", size = 19640, upload-time = "2020-11-30T02:24:08.387Z" }, +] + +[[package]] +name = "watchdog" +version = "6.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393, upload-time = "2024-11-01T14:06:31.756Z" }, + { url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392, upload-time = "2024-11-01T14:06:32.99Z" }, + { url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019, upload-time = "2024-11-01T14:06:34.963Z" }, + { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471, upload-time = "2024-11-01T14:06:37.745Z" }, + { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449, upload-time = "2024-11-01T14:06:39.748Z" }, + { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054, upload-time = "2024-11-01T14:06:41.009Z" }, + { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, + { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, + { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, + { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, + { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, + { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, + { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, + { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, +] diff --git a/lua-api-reference/audio-sound/flushaudio.md b/website/md-docs/api-reference/audio-sound/flushaudio.md similarity index 100% rename from lua-api-reference/audio-sound/flushaudio.md rename to website/md-docs/api-reference/audio-sound/flushaudio.md diff --git a/lua-api-reference/audio-sound/README.md b/website/md-docs/api-reference/audio-sound/index.md similarity index 93% rename from lua-api-reference/audio-sound/README.md rename to website/md-docs/api-reference/audio-sound/index.md index 52002aafa..ef880923f 100644 --- a/lua-api-reference/audio-sound/README.md +++ b/website/md-docs/api-reference/audio-sound/index.md @@ -1,2 +1 @@ # Audio-Sound - diff --git a/lua-api-reference/audio-sound/playduration.md b/website/md-docs/api-reference/audio-sound/playduration.md similarity index 100% rename from lua-api-reference/audio-sound/playduration.md rename to website/md-docs/api-reference/audio-sound/playduration.md diff --git a/lua-api-reference/audio-sound/playfile.md b/website/md-docs/api-reference/audio-sound/playfile.md similarity index 100% rename from lua-api-reference/audio-sound/playfile.md rename to website/md-docs/api-reference/audio-sound/playfile.md diff --git a/lua-api-reference/audio-sound/playhaptic.md b/website/md-docs/api-reference/audio-sound/playhaptic.md similarity index 100% rename from lua-api-reference/audio-sound/playhaptic.md rename to website/md-docs/api-reference/audio-sound/playhaptic.md diff --git a/lua-api-reference/audio-sound/playnumber.md b/website/md-docs/api-reference/audio-sound/playnumber.md similarity index 100% rename from lua-api-reference/audio-sound/playnumber.md rename to website/md-docs/api-reference/audio-sound/playnumber.md diff --git a/lua-api-reference/audio-sound/playtone.md b/website/md-docs/api-reference/audio-sound/playtone.md similarity index 100% rename from lua-api-reference/audio-sound/playtone.md rename to website/md-docs/api-reference/audio-sound/playtone.md diff --git a/lua-api-reference/bitmap/bitmap.resize.md b/website/md-docs/api-reference/bitmap/bitmap-resize.md similarity index 100% rename from lua-api-reference/bitmap/bitmap.resize.md rename to website/md-docs/api-reference/bitmap/bitmap-resize.md diff --git a/lua-api-reference/bitmap/bitmap.tomask.md b/website/md-docs/api-reference/bitmap/bitmap-tomask.md similarity index 100% rename from lua-api-reference/bitmap/bitmap.tomask.md rename to website/md-docs/api-reference/bitmap/bitmap-tomask.md diff --git a/lua-api-reference/bitmap/getsize.md b/website/md-docs/api-reference/bitmap/getsize.md similarity index 100% rename from lua-api-reference/bitmap/getsize.md rename to website/md-docs/api-reference/bitmap/getsize.md diff --git a/lua-api-reference/bitmap/README.md b/website/md-docs/api-reference/bitmap/index.md similarity index 95% rename from lua-api-reference/bitmap/README.md rename to website/md-docs/api-reference/bitmap/index.md index 751cdaae0..26b19d9bb 100644 --- a/lua-api-reference/bitmap/README.md +++ b/website/md-docs/api-reference/bitmap/index.md @@ -1,2 +1 @@ # Bitmap Functions - diff --git a/lua-api-reference/bitmap/open.md b/website/md-docs/api-reference/bitmap/open.md similarity index 100% rename from lua-api-reference/bitmap/open.md rename to website/md-docs/api-reference/bitmap/open.md diff --git a/lua-api-reference/constants/color-constants.md b/website/md-docs/api-reference/constants/color-constants.md similarity index 100% rename from lua-api-reference/constants/color-constants.md rename to website/md-docs/api-reference/constants/color-constants.md diff --git a/lua-api-reference/constants/flags-and-pattern-constants.md b/website/md-docs/api-reference/constants/flags-and-pattern-constants.md similarity index 100% rename from lua-api-reference/constants/flags-and-pattern-constants.md rename to website/md-docs/api-reference/constants/flags-and-pattern-constants.md diff --git a/lua-api-reference/constants/README.md b/website/md-docs/api-reference/constants/index.md similarity index 100% rename from lua-api-reference/constants/README.md rename to website/md-docs/api-reference/constants/index.md diff --git a/lua-api-reference/constants/key-event-constants.md b/website/md-docs/api-reference/constants/key-event-constants.md similarity index 95% rename from lua-api-reference/constants/key-event-constants.md rename to website/md-docs/api-reference/constants/key-event-constants.md index 194db2098..f8f0137d9 100644 --- a/lua-api-reference/constants/key-event-constants.md +++ b/website/md-docs/api-reference/constants/key-event-constants.md @@ -1,2 +1 @@ # Key Event Constants - diff --git a/lua-api-reference/constants/logical-switch-function-constants.md b/website/md-docs/api-reference/constants/logical-switch-function-constants.md similarity index 100% rename from lua-api-reference/constants/logical-switch-function-constants.md rename to website/md-docs/api-reference/constants/logical-switch-function-constants.md diff --git a/lua-api-reference/constants/screen-constants.md b/website/md-docs/api-reference/constants/screen-constants.md similarity index 100% rename from lua-api-reference/constants/screen-constants.md rename to website/md-docs/api-reference/constants/screen-constants.md diff --git a/lua-api-reference/constants/special-character-constants.md b/website/md-docs/api-reference/constants/special-character-constants.md similarity index 100% rename from lua-api-reference/constants/special-character-constants.md rename to website/md-docs/api-reference/constants/special-character-constants.md diff --git a/lua-api-reference/constants/special-function-constants.md b/website/md-docs/api-reference/constants/special-function-constants.md similarity index 100% rename from lua-api-reference/constants/special-function-constants.md rename to website/md-docs/api-reference/constants/special-function-constants.md diff --git a/lua-api-reference/constants/touch-event-constants.md b/website/md-docs/api-reference/constants/touch-event-constants.md similarity index 100% rename from lua-api-reference/constants/touch-event-constants.md rename to website/md-docs/api-reference/constants/touch-event-constants.md diff --git a/lua-api-reference/constants/units.md b/website/md-docs/api-reference/constants/units.md similarity index 100% rename from lua-api-reference/constants/units.md rename to website/md-docs/api-reference/constants/units.md diff --git a/lua-api-reference/constants/widget-options.md b/website/md-docs/api-reference/constants/widget-options.md similarity index 88% rename from lua-api-reference/constants/widget-options.md rename to website/md-docs/api-reference/constants/widget-options.md index d054dbad7..be2e669af 100644 --- a/lua-api-reference/constants/widget-options.md +++ b/website/md-docs/api-reference/constants/widget-options.md @@ -4,15 +4,15 @@ There are several option types that can be specified in the widget options table
TypeDescription
COLORDisplays a color picker, returns a color flag value
BOOLDisplays a toggle/checkbox, value toggles between 0 and 1
STRINGText input option, limited to 8 characters in 2.10 or earlier, 12 characters in 2.11.
TIMERChoice option, lets you pick from available timers
SOURCEChoice option, lets you pick from available sources (i.e. sticks, switches, LS)
SWITCHChoice option to select from available switches.
VALUENumerical input option, can specify default, min and max value
TEXT_SIZEChoice option, lets you pick from the available text sizes (i.e. small, large)
ALIGNMENTChoice option, lets you pick from available alignment options (i.e. left, center, right)
SLIDERSelect numerical value using a slider control (available in 2.11)
CHOICESelect numerical value using a custom popup list (available in 2.11)
FILESelect a file from SD card / internal storage (available in 2.11). Filename is limited to 12 characters maximum.
-{% hint style="warning" %} -Maximum five`options` are allowed. +!!! warning + Maximum five`options` are allowed. -Note: from 2.11 ten options are allowed per widget. -{% endhint %} + Note: from 2.11 ten options are allowed per widget. + + +!!! warning + Option variable name's length **must be 10 characters or less and no spaces.** -{% hint style="warning" %} -Option variable name's length **must be 10 characters or less and no spaces.** -{% endhint %} ## Example diff --git a/lua-api-reference/display-lcd/clear.md b/website/md-docs/api-reference/display-lcd/clear.md similarity index 68% rename from lua-api-reference/display-lcd/clear.md rename to website/md-docs/api-reference/display-lcd/clear.md index c6f276b98..702d0f148 100644 --- a/lua-api-reference/display-lcd/clear.md +++ b/website/md-docs/api-reference/display-lcd/clear.md @@ -16,13 +16,13 @@ none ### Notes -This function works only in stand-alone and telemetry & widget scripts. See [script types](../../overview/script-types/). +This function works only in stand-alone and telemetry & widget scripts. See [script types](../../overview/script-types/index.md). ### Available on -* [x] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [x] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [x] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [x] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [x] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [x] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status @@ -30,24 +30,24 @@ This function works only in stand-alone and telemetry & widget scripts. See [scr ### Examples -{% tabs %} -{% tab title="Example 1" %} +#### Example 1 + ```lua -- clearing lcd with system default color lcd.clear() ``` -{% endtab %} -{% tab title="Example 2" %} + +#### Example 2 + ```lua -- clearing lcd screen to dark red local darkred = lcd.RGB(20,0,0) -- create color_flag for color lcd.clear(darkred) ``` -{% endtab %} -{% endtabs %} + ### Related topics -* [Drawing flag](../../lua-api-programming/drawing-flags-and-colors.md) +* [Drawing flag](../../programming/drawing-flags-and-colors.md) * [Color constants](../constants/color-constants.md) diff --git a/lua-api-reference/display-lcd/drawannulus.md b/website/md-docs/api-reference/display-lcd/drawannulus.md similarity index 70% rename from lua-api-reference/display-lcd/drawannulus.md rename to website/md-docs/api-reference/display-lcd/drawannulus.md index 946779fa6..b1f4a5ead 100644 --- a/lua-api-reference/display-lcd/drawannulus.md +++ b/website/md-docs/api-reference/display-lcd/drawannulus.md @@ -15,9 +15,9 @@ none ### Available on -* [ ] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [ ] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [x] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [ ] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [ ] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [x] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status diff --git a/lua-api-reference/display-lcd/drawarc.md b/website/md-docs/api-reference/display-lcd/drawarc.md similarity index 68% rename from lua-api-reference/display-lcd/drawarc.md rename to website/md-docs/api-reference/display-lcd/drawarc.md index 428a417ec..8a8fe4c63 100644 --- a/lua-api-reference/display-lcd/drawarc.md +++ b/website/md-docs/api-reference/display-lcd/drawarc.md @@ -15,9 +15,9 @@ none ### Available on -* [ ] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [ ] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [x] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [ ] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [ ] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [x] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status diff --git a/lua-api-reference/display-lcd/drawbitmap.md b/website/md-docs/api-reference/display-lcd/drawbitmap.md similarity index 72% rename from lua-api-reference/display-lcd/drawbitmap.md rename to website/md-docs/api-reference/display-lcd/drawbitmap.md index 5fec6b778..9c68185cd 100644 --- a/lua-api-reference/display-lcd/drawbitmap.md +++ b/website/md-docs/api-reference/display-lcd/drawbitmap.md @@ -16,15 +16,15 @@ none ### Notes -{% hint style="info" %} -Omitting scale draws image in 1:1 scale and is faster than specifying 100 for scale parameter. -{% endhint %} +!!! info + Omitting scale draws image in 1:1 scale and is faster than specifying 100 for scale parameter. + ### Available on -* [ ] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [ ] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [x] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [ ] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [ ] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [x] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status @@ -32,26 +32,26 @@ Omitting scale draws image in 1:1 scale and is faster than specifying 100 for sc ### Examples -{% tabs %} -{% tab title="Example 1" %} +#### Example 1 + ```lua -- drawing bitmap stored on sd card root folder with original size local myLogo = Bitmap.open("/logo.png") lcd.drawBitmap(myLogo,10,10) ``` -{% endtab %} -{% tab title="Example 2" %} + +#### Example 2 + ```lua -- drawing bitmap stored on sd card root folder doubling its size local myLogo = Bitmap.open("/logo.png") lcd.drawBitmap(myLogo,10,10,200) ``` -{% endtab %} -{% endtabs %} + ### Related topics -* [Drawing flag](../../lua-api-programming/drawing-flags-and-colors.md) +* [Drawing flag](../../programming/drawing-flags-and-colors.md) * [Color constants](../constants/color-constants.md) * [Bitmap.open](../bitmap/open.md) diff --git a/lua-api-reference/display-lcd/drawchannel.md b/website/md-docs/api-reference/display-lcd/drawchannel.md similarity index 83% rename from lua-api-reference/display-lcd/drawchannel.md rename to website/md-docs/api-reference/display-lcd/drawchannel.md index 8145b9a05..959ee32e1 100644 --- a/lua-api-reference/display-lcd/drawchannel.md +++ b/website/md-docs/api-reference/display-lcd/drawchannel.md @@ -18,9 +18,9 @@ none ### Available on -* [x] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [x] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [x] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [x] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [x] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [x] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status @@ -28,16 +28,15 @@ none ### Examples -{% tabs %} -{% tab title="Example 1" %} +#### Example 1 + ```lua -- example ``` -{% endtab %} -{% tab title="Example 2" %} + +#### Example 2 + ```lua -- example ``` -{% endtab %} -{% endtabs %} diff --git a/lua-api-reference/display-lcd/drawcircle.md b/website/md-docs/api-reference/display-lcd/drawcircle.md similarity index 66% rename from lua-api-reference/display-lcd/drawcircle.md rename to website/md-docs/api-reference/display-lcd/drawcircle.md index 8f8c3bb62..69c0691bd 100644 --- a/lua-api-reference/display-lcd/drawcircle.md +++ b/website/md-docs/api-reference/display-lcd/drawcircle.md @@ -14,11 +14,10 @@ none ### Available on -* [ ] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [ ] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [x] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [ ] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [ ] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [x] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status
EdgeTX versionAction
2.4.0Introduced
- diff --git a/lua-api-reference/display-lcd/drawcombobox.md b/website/md-docs/api-reference/display-lcd/drawcombobox.md similarity index 100% rename from lua-api-reference/display-lcd/drawcombobox.md rename to website/md-docs/api-reference/display-lcd/drawcombobox.md diff --git a/lua-api-reference/display-lcd/drawfilledcircle.md b/website/md-docs/api-reference/display-lcd/drawfilledcircle.md similarity index 67% rename from lua-api-reference/display-lcd/drawfilledcircle.md rename to website/md-docs/api-reference/display-lcd/drawfilledcircle.md index 21047eb2a..b60dff4d9 100644 --- a/lua-api-reference/display-lcd/drawfilledcircle.md +++ b/website/md-docs/api-reference/display-lcd/drawfilledcircle.md @@ -14,9 +14,9 @@ none ### Available on -* [ ] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [ ] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [x] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [ ] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [ ] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [x] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status diff --git a/lua-api-reference/display-lcd/drawfilledrectangle.md b/website/md-docs/api-reference/display-lcd/drawfilledrectangle.md similarity index 100% rename from lua-api-reference/display-lcd/drawfilledrectangle.md rename to website/md-docs/api-reference/display-lcd/drawfilledrectangle.md diff --git a/lua-api-reference/display-lcd/drawfilledtriangle.md b/website/md-docs/api-reference/display-lcd/drawfilledtriangle.md similarity index 66% rename from lua-api-reference/display-lcd/drawfilledtriangle.md rename to website/md-docs/api-reference/display-lcd/drawfilledtriangle.md index d8b8ad89c..f5f02efb6 100644 --- a/lua-api-reference/display-lcd/drawfilledtriangle.md +++ b/website/md-docs/api-reference/display-lcd/drawfilledtriangle.md @@ -13,11 +13,10 @@ none ### Available on -* [ ] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [ ] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [x] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [ ] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [ ] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [x] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status
EdgeTX versionAction
2.4.0Introduced
- diff --git a/lua-api-reference/display-lcd/drawgauge.md b/website/md-docs/api-reference/display-lcd/drawgauge.md similarity index 100% rename from lua-api-reference/display-lcd/drawgauge.md rename to website/md-docs/api-reference/display-lcd/drawgauge.md diff --git a/lua-api-reference/display-lcd/drawhudrectangle.md b/website/md-docs/api-reference/display-lcd/drawhudrectangle.md similarity index 70% rename from lua-api-reference/display-lcd/drawhudrectangle.md rename to website/md-docs/api-reference/display-lcd/drawhudrectangle.md index 3663a9c16..f77e169df 100644 --- a/lua-api-reference/display-lcd/drawhudrectangle.md +++ b/website/md-docs/api-reference/display-lcd/drawhudrectangle.md @@ -14,9 +14,9 @@ none ### Available on -* [ ] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [ ] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [x] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [ ] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [ ] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [x] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status diff --git a/lua-api-reference/display-lcd/drawline.md b/website/md-docs/api-reference/display-lcd/drawline.md similarity index 100% rename from lua-api-reference/display-lcd/drawline.md rename to website/md-docs/api-reference/display-lcd/drawline.md diff --git a/lua-api-reference/display-lcd/drawlinewithclipping.md b/website/md-docs/api-reference/display-lcd/drawlinewithclipping.md similarity index 100% rename from lua-api-reference/display-lcd/drawlinewithclipping.md rename to website/md-docs/api-reference/display-lcd/drawlinewithclipping.md diff --git a/lua-api-reference/display-lcd/drawnumber.md b/website/md-docs/api-reference/display-lcd/drawnumber.md similarity index 100% rename from lua-api-reference/display-lcd/drawnumber.md rename to website/md-docs/api-reference/display-lcd/drawnumber.md diff --git a/lua-api-reference/display-lcd/drawpie.md b/website/md-docs/api-reference/display-lcd/drawpie.md similarity index 100% rename from lua-api-reference/display-lcd/drawpie.md rename to website/md-docs/api-reference/display-lcd/drawpie.md diff --git a/lua-api-reference/display-lcd/drawpixmap.md b/website/md-docs/api-reference/display-lcd/drawpixmap.md similarity index 64% rename from lua-api-reference/display-lcd/drawpixmap.md rename to website/md-docs/api-reference/display-lcd/drawpixmap.md index ab8b88f4d..b49b70b06 100644 --- a/lua-api-reference/display-lcd/drawpixmap.md +++ b/website/md-docs/api-reference/display-lcd/drawpixmap.md @@ -16,19 +16,19 @@ none ### Notes -{% hint style="info" %} -Maximum image size is `[LCD_W / 2] x [LCD_H]` pixels. -{% endhint %} +!!! info + Maximum image size is `[LCD_W / 2] x [LCD_H]` pixels. + + +!!! info + If you draw the same image repeatedly, prefer loading it once with [`Bitmap.open`](../bitmap/open.md) and then drawing it with [`lcd.drawBitmap`](drawbitmap.md). -{% hint style="info" %} -If you draw the same image repeatedly, prefer loading it once with [`Bitmap.open`](../bitmap/open.md) and then drawing it with [`lcd.drawBitmap`](drawbitmap.md). -{% endhint %} ### Available on -* [ ] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [x] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [ ] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [ ] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [x] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [ ] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status @@ -36,21 +36,21 @@ If you draw the same image repeatedly, prefer loading it once with [`Bitmap.open ### Examples -{% tabs %} -{% tab title="Example 1" %} +#### Example 1 + ```lua -- draw bitmap file stored on the SD card lcd.drawPixmap(10, 10, "/IMAGES/test.bmp") ``` -{% endtab %} -{% tab title="Example 2" %} + +#### Example 2 + ```lua -- draw at the top-left corner lcd.drawPixmap(0, 0, "/IMAGES/test.bmp") ``` -{% endtab %} -{% endtabs %} + ### Related topics diff --git a/lua-api-reference/display-lcd/drawpoint.md b/website/md-docs/api-reference/display-lcd/drawpoint.md similarity index 100% rename from lua-api-reference/display-lcd/drawpoint.md rename to website/md-docs/api-reference/display-lcd/drawpoint.md diff --git a/lua-api-reference/display-lcd/drawrectangle.md b/website/md-docs/api-reference/display-lcd/drawrectangle.md similarity index 100% rename from lua-api-reference/display-lcd/drawrectangle.md rename to website/md-docs/api-reference/display-lcd/drawrectangle.md diff --git a/lua-api-reference/display-lcd/drawscreentitle.md b/website/md-docs/api-reference/display-lcd/drawscreentitle.md similarity index 65% rename from lua-api-reference/display-lcd/drawscreentitle.md rename to website/md-docs/api-reference/display-lcd/drawscreentitle.md index 81032bdeb..34cbed211 100644 --- a/lua-api-reference/display-lcd/drawscreentitle.md +++ b/website/md-docs/api-reference/display-lcd/drawscreentitle.md @@ -14,11 +14,10 @@ none ### Available on -* [x] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [x] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [ ] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [x] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [x] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [ ] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status
EdgeTX versionAction
2.0.0Introduced
- diff --git a/lua-api-reference/display-lcd/drawsource.md b/website/md-docs/api-reference/display-lcd/drawsource.md similarity index 100% rename from lua-api-reference/display-lcd/drawsource.md rename to website/md-docs/api-reference/display-lcd/drawsource.md diff --git a/lua-api-reference/display-lcd/drawswitch.md b/website/md-docs/api-reference/display-lcd/drawswitch.md similarity index 100% rename from lua-api-reference/display-lcd/drawswitch.md rename to website/md-docs/api-reference/display-lcd/drawswitch.md diff --git a/lua-api-reference/display-lcd/drawtext.md b/website/md-docs/api-reference/display-lcd/drawtext.md similarity index 100% rename from lua-api-reference/display-lcd/drawtext.md rename to website/md-docs/api-reference/display-lcd/drawtext.md diff --git a/lua-api-reference/display-lcd/drawtimer.md b/website/md-docs/api-reference/display-lcd/drawtimer.md similarity index 100% rename from lua-api-reference/display-lcd/drawtimer.md rename to website/md-docs/api-reference/display-lcd/drawtimer.md diff --git a/lua-api-reference/display-lcd/drawtriangle.md b/website/md-docs/api-reference/display-lcd/drawtriangle.md similarity index 66% rename from lua-api-reference/display-lcd/drawtriangle.md rename to website/md-docs/api-reference/display-lcd/drawtriangle.md index 1487ac8c7..a42a5f91b 100644 --- a/lua-api-reference/display-lcd/drawtriangle.md +++ b/website/md-docs/api-reference/display-lcd/drawtriangle.md @@ -13,11 +13,10 @@ none ### Available on -* [ ] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [ ] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [x] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [ ] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [ ] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [x] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status
EdgeTX versionAction
2.4.0Introduced
- diff --git a/lua-api-reference/display-lcd/getcolor.md b/website/md-docs/api-reference/display-lcd/getcolor.md similarity index 100% rename from lua-api-reference/display-lcd/getcolor.md rename to website/md-docs/api-reference/display-lcd/getcolor.md diff --git a/lua-api-reference/display-lcd/getlastleftpos.md b/website/md-docs/api-reference/display-lcd/getlastleftpos.md similarity index 100% rename from lua-api-reference/display-lcd/getlastleftpos.md rename to website/md-docs/api-reference/display-lcd/getlastleftpos.md diff --git a/lua-api-reference/display-lcd/getlastpos.md b/website/md-docs/api-reference/display-lcd/getlastpos.md similarity index 100% rename from lua-api-reference/display-lcd/getlastpos.md rename to website/md-docs/api-reference/display-lcd/getlastpos.md diff --git a/lua-api-reference/display-lcd/getlastrightpos.md b/website/md-docs/api-reference/display-lcd/getlastrightpos.md similarity index 100% rename from lua-api-reference/display-lcd/getlastrightpos.md rename to website/md-docs/api-reference/display-lcd/getlastrightpos.md diff --git a/lua-api-reference/display-lcd/grey.md b/website/md-docs/api-reference/display-lcd/grey.md similarity index 100% rename from lua-api-reference/display-lcd/grey.md rename to website/md-docs/api-reference/display-lcd/grey.md diff --git a/lua-api-reference/display-lcd/README.md b/website/md-docs/api-reference/display-lcd/index.md similarity index 93% rename from lua-api-reference/display-lcd/README.md rename to website/md-docs/api-reference/display-lcd/index.md index b5daed04e..29d9a5ba5 100644 --- a/lua-api-reference/display-lcd/README.md +++ b/website/md-docs/api-reference/display-lcd/index.md @@ -1,2 +1 @@ # Display LCD - diff --git a/lua-api-reference/display-lcd/lcd.drawbitmappattern.md b/website/md-docs/api-reference/display-lcd/lcd-drawbitmappattern.md similarity index 100% rename from lua-api-reference/display-lcd/lcd.drawbitmappattern.md rename to website/md-docs/api-reference/display-lcd/lcd-drawbitmappattern.md diff --git a/lua-api-reference/display-lcd/lcd.drawbitmappatternpie.md b/website/md-docs/api-reference/display-lcd/lcd-drawbitmappatternpie.md similarity index 100% rename from lua-api-reference/display-lcd/lcd.drawbitmappatternpie.md rename to website/md-docs/api-reference/display-lcd/lcd-drawbitmappatternpie.md diff --git a/lua-api-reference/display-lcd/lcd.drawtextlines.md b/website/md-docs/api-reference/display-lcd/lcd-drawtextlines.md similarity index 76% rename from lua-api-reference/display-lcd/lcd.drawtextlines.md rename to website/md-docs/api-reference/display-lcd/lcd-drawtextlines.md index f1e9eb474..0a81990bf 100644 --- a/lua-api-reference/display-lcd/lcd.drawtextlines.md +++ b/website/md-docs/api-reference/display-lcd/lcd-drawtextlines.md @@ -17,9 +17,9 @@ Draw text inside rectangle (x,y,w,h) with line breaks ### Available on -* [ ] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [ ] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [x] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [ ] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [ ] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [x] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status @@ -27,17 +27,14 @@ Draw text inside rectangle (x,y,w,h) with line breaks ### Examples -{% tabs %} -{% tab title="Example 1" %} +#### Example 1 + ```lua local y _, y = lcd.drawTextLines(1, 0, 100, 40, "No TxGPS detected!", LEFT + TEXT_COLOR) lcd.drawTextLines(1, y, 100, 100, "Make sure your firmware has GPS support enabled", LEFT + TEXT_COLOR) ``` -{% endtab %} -{% tab title="Example 2" %} -{% endtab %} -{% endtabs %} +#### Example 2 diff --git a/lua-api-reference/display-lcd/lcd.exitfullscreen.md b/website/md-docs/api-reference/display-lcd/lcd-exitfullscreen.md similarity index 100% rename from lua-api-reference/display-lcd/lcd.exitfullscreen.md rename to website/md-docs/api-reference/display-lcd/lcd-exitfullscreen.md diff --git a/lua-api-reference/display-lcd/lcd-functions-overview.md b/website/md-docs/api-reference/display-lcd/lcd-functions-overview.md similarity index 100% rename from lua-api-reference/display-lcd/lcd-functions-overview.md rename to website/md-docs/api-reference/display-lcd/lcd-functions-overview.md diff --git a/lua-api-reference/display-lcd/lcd.invertrect.md b/website/md-docs/api-reference/display-lcd/lcd-invertrect.md similarity index 100% rename from lua-api-reference/display-lcd/lcd.invertrect.md rename to website/md-docs/api-reference/display-lcd/lcd-invertrect.md diff --git a/lua-api-reference/display-lcd/popupconfirmation.md b/website/md-docs/api-reference/display-lcd/popupconfirmation.md similarity index 100% rename from lua-api-reference/display-lcd/popupconfirmation.md rename to website/md-docs/api-reference/display-lcd/popupconfirmation.md diff --git a/lua-api-reference/display-lcd/popupinput.md b/website/md-docs/api-reference/display-lcd/popupinput.md similarity index 100% rename from lua-api-reference/display-lcd/popupinput.md rename to website/md-docs/api-reference/display-lcd/popupinput.md diff --git a/lua-api-reference/display-lcd/popupwarning.md b/website/md-docs/api-reference/display-lcd/popupwarning.md similarity index 100% rename from lua-api-reference/display-lcd/popupwarning.md rename to website/md-docs/api-reference/display-lcd/popupwarning.md diff --git a/lua-api-reference/display-lcd/refresh.md b/website/md-docs/api-reference/display-lcd/refresh.md similarity index 100% rename from lua-api-reference/display-lcd/refresh.md rename to website/md-docs/api-reference/display-lcd/refresh.md diff --git a/lua-api-reference/display-lcd/resetbacklighttimeout.md b/website/md-docs/api-reference/display-lcd/resetbacklighttimeout.md similarity index 100% rename from lua-api-reference/display-lcd/resetbacklighttimeout.md rename to website/md-docs/api-reference/display-lcd/resetbacklighttimeout.md diff --git a/lua-api-reference/display-lcd/rgb.md b/website/md-docs/api-reference/display-lcd/rgb.md similarity index 76% rename from lua-api-reference/display-lcd/rgb.md rename to website/md-docs/api-reference/display-lcd/rgb.md index d79af06e6..8e9d2e414 100644 --- a/lua-api-reference/display-lcd/rgb.md +++ b/website/md-docs/api-reference/display-lcd/rgb.md @@ -16,15 +16,15 @@ or ### Returns -* `color_flag`. See [Drawing Flags](../../lua-api-programming/drawing-flags-and-colors.md) +* `color_flag`. See [Drawing Flags](../../programming/drawing-flags-and-colors.md) ### Notes ### Available on -* [ ] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [ ] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [x] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [ ] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [ ] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [x] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status @@ -32,25 +32,25 @@ or ### Examples -{% tabs %} -{% tab title="Example 1" %} +#### Example 1 + ```lua -- RGB numeric parameters local darkred = lcd.RGB(20,0,0) -- create color_flag for color lcd.drawText(0,0,"Very dark red text", darkred) ``` -{% endtab %} -{% tab title="Example 2" %} + +#### Example 2 + ```lua -- RGB hex parameter local mygrey = lcd.RGB(0xAEAEAE) -- create color_flag for color lcd.drawText(0,20,"My grey color", mygrey) ``` -{% endtab %} -{% endtabs %} + ### Related topics -* [Drawing flag](../../lua-api-programming/drawing-flags-and-colors.md) +* [Drawing flag](../../programming/drawing-flags-and-colors.md) * [Color constants](../constants/color-constants.md) diff --git a/lua-api-reference/display-lcd/setcolor.md b/website/md-docs/api-reference/display-lcd/setcolor.md similarity index 100% rename from lua-api-reference/display-lcd/setcolor.md rename to website/md-docs/api-reference/display-lcd/setcolor.md diff --git a/lua-api-reference/display-lcd/sizetext.md b/website/md-docs/api-reference/display-lcd/sizetext.md similarity index 100% rename from lua-api-reference/display-lcd/sizetext.md rename to website/md-docs/api-reference/display-lcd/sizetext.md diff --git a/lua-api-reference/filesystem/chdir.md b/website/md-docs/api-reference/filesystem/chdir.md similarity index 100% rename from lua-api-reference/filesystem/chdir.md rename to website/md-docs/api-reference/filesystem/chdir.md diff --git a/lua-api-reference/filesystem/del.md b/website/md-docs/api-reference/filesystem/del.md similarity index 100% rename from lua-api-reference/filesystem/del.md rename to website/md-docs/api-reference/filesystem/del.md diff --git a/lua-api-reference/filesystem/dir.md b/website/md-docs/api-reference/filesystem/dir.md similarity index 100% rename from lua-api-reference/filesystem/dir.md rename to website/md-docs/api-reference/filesystem/dir.md diff --git a/lua-api-reference/filesystem/fstat.md b/website/md-docs/api-reference/filesystem/fstat.md similarity index 100% rename from lua-api-reference/filesystem/fstat.md rename to website/md-docs/api-reference/filesystem/fstat.md diff --git a/lua-api-reference/filesystem/README.md b/website/md-docs/api-reference/filesystem/index.md similarity index 92% rename from lua-api-reference/filesystem/README.md rename to website/md-docs/api-reference/filesystem/index.md index 7a2370799..6d41ab86f 100644 --- a/lua-api-reference/filesystem/README.md +++ b/website/md-docs/api-reference/filesystem/index.md @@ -1,2 +1 @@ # Filesystem - diff --git a/lua-api-reference/gps/gettxgps.md b/website/md-docs/api-reference/gps/gettxgps.md similarity index 100% rename from lua-api-reference/gps/gettxgps.md rename to website/md-docs/api-reference/gps/gettxgps.md diff --git a/lua-api-reference/gps/README.md b/website/md-docs/api-reference/gps/index.md similarity index 85% rename from lua-api-reference/gps/README.md rename to website/md-docs/api-reference/gps/index.md index 577230547..59b2faf37 100644 --- a/lua-api-reference/gps/README.md +++ b/website/md-docs/api-reference/gps/index.md @@ -1,2 +1 @@ # GPS - diff --git a/lua-api-reference/README.md b/website/md-docs/api-reference/index.md similarity index 100% rename from lua-api-reference/README.md rename to website/md-docs/api-reference/index.md diff --git a/lua-api-reference/key-inputs/getrotencmode.md b/website/md-docs/api-reference/key-inputs/getrotencmode.md similarity index 100% rename from lua-api-reference/key-inputs/getrotencmode.md rename to website/md-docs/api-reference/key-inputs/getrotencmode.md diff --git a/lua-api-reference/key-inputs/getrotencspeed.md b/website/md-docs/api-reference/key-inputs/getrotencspeed.md similarity index 100% rename from lua-api-reference/key-inputs/getrotencspeed.md rename to website/md-docs/api-reference/key-inputs/getrotencspeed.md diff --git a/lua-api-reference/key-inputs/README.md b/website/md-docs/api-reference/key-inputs/index.md similarity index 92% rename from lua-api-reference/key-inputs/README.md rename to website/md-docs/api-reference/key-inputs/index.md index e57d99adc..95ad5c48c 100644 --- a/lua-api-reference/key-inputs/README.md +++ b/website/md-docs/api-reference/key-inputs/index.md @@ -1,2 +1 @@ # Key Inputs - diff --git a/lua-api-reference/key-inputs/killevents.md b/website/md-docs/api-reference/key-inputs/killevents.md similarity index 100% rename from lua-api-reference/key-inputs/killevents.md rename to website/md-docs/api-reference/key-inputs/killevents.md diff --git a/lua-api-reference/lua-scripts/getavailablememory.md b/website/md-docs/api-reference/lua-scripts/getavailablememory.md similarity index 100% rename from lua-api-reference/lua-scripts/getavailablememory.md rename to website/md-docs/api-reference/lua-scripts/getavailablememory.md diff --git a/lua-api-reference/lua-scripts/getusage.md b/website/md-docs/api-reference/lua-scripts/getusage.md similarity index 100% rename from lua-api-reference/lua-scripts/getusage.md rename to website/md-docs/api-reference/lua-scripts/getusage.md diff --git a/lua-api-reference/lua-scripts/README.md b/website/md-docs/api-reference/lua-scripts/index.md similarity index 93% rename from lua-api-reference/lua-scripts/README.md rename to website/md-docs/api-reference/lua-scripts/index.md index 5d57d5429..f4080c50f 100644 --- a/lua-api-reference/lua-scripts/README.md +++ b/website/md-docs/api-reference/lua-scripts/index.md @@ -1,2 +1 @@ # LUA Scripts - diff --git a/lua-api-reference/lua-scripts/loadscript.md b/website/md-docs/api-reference/lua-scripts/loadscript.md similarity index 100% rename from lua-api-reference/lua-scripts/loadscript.md rename to website/md-docs/api-reference/lua-scripts/loadscript.md diff --git a/lua-api-reference/lvgl-for-lua/api.md b/website/md-docs/api-reference/lvgl-for-lua/api.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/api.md rename to website/md-docs/api-reference/lvgl-for-lua/api.md diff --git a/lua-api-reference/lvgl-for-lua/constants.md b/website/md-docs/api-reference/lvgl-for-lua/constants.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/constants.md rename to website/md-docs/api-reference/lvgl-for-lua/constants.md diff --git a/lua-api-reference/lvgl-for-lua/examples.md b/website/md-docs/api-reference/lvgl-for-lua/examples.md similarity index 93% rename from lua-api-reference/lvgl-for-lua/examples.md rename to website/md-docs/api-reference/lvgl-for-lua/examples.md index b5b58d47e..65ef3ede2 100644 --- a/lua-api-reference/lvgl-for-lua/examples.md +++ b/website/md-docs/api-reference/lvgl-for-lua/examples.md @@ -40,11 +40,11 @@ return {init = init, run = run, useLvgl=true} When run this produces the page shown below. -![](../../.gitbook/assets/screenshot_tx16s_24-08-08_19-41-54.png) +![](../../assets/legacy-2.11/screenshot_tx16s_24-08-08_19-41-54.png) The user can exit the script by tapping the 'CLOSE' button or tapping the 'EdgeTX' button in the top-left corner. In both cases a popup dialog will be shown - if the user selects 'Yes' the script will close. -![](../../.gitbook/assets/screenshot_tx16s_24-08-08_19-42-01.png) +![](../../assets/legacy-2.11/screenshot_tx16s_24-08-08_19-42-01.png) ### Widget script diff --git a/lua-api-reference/lvgl-for-lua/README.md b/website/md-docs/api-reference/lvgl-for-lua/index.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/README.md rename to website/md-docs/api-reference/lvgl-for-lua/index.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.align.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-align.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.align.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-align.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.arc.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-arc.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.arc.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-arc.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.box.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-box.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.box.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-box.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.build.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-build.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.build.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-build.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.button.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-button.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.button.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-button.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.choice.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-choice.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.choice.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-choice.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.circle.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-circle.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.circle.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-circle.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.clear.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-clear.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.clear.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-clear.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.color.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-color.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.color.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-color.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.confirm.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-confirm.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.confirm.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-confirm.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.dialog.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-dialog.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.dialog.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-dialog.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.exitfullscreen.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-exitfullscreen.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.exitfullscreen.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-exitfullscreen.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.file.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-file.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.file.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-file.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.font.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-font.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.font.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-font.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.getcontext.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-getcontext.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.getcontext.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-getcontext.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.getscrollpos.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-getscrollpos.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.getscrollpos.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-getscrollpos.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.hide.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-hide.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.hide.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-hide.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.hline.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-hline.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.hline.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-hline.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.image.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-image.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.image.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-image.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.isappmode.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-isappmode.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.isappmode.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-isappmode.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.isfullscreen.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-isfullscreen.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.isfullscreen.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-isfullscreen.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.label.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-label.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.label.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-label.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.line.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-line.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.line.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-line.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.menu.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-menu.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.menu.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-menu.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.message.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-message.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.message.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-message.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.momentarybutton.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-momentarybutton.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.momentarybutton.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-momentarybutton.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.numberedit.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-numberedit.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.numberedit.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-numberedit.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.page.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-page.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.page.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-page.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.qrcode.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-qrcode.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.qrcode.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-qrcode.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.rectangle.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-rectangle.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.rectangle.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-rectangle.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.set.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-set.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.set.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-set.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.setting.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-setting.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.setting.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-setting.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.show.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-show.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.show.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-show.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.slider.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-slider.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.slider.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-slider.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.source.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-source.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.source.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-source.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.switch.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-switch.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.switch.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-switch.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.textedit.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-textedit.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.textedit.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-textedit.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.timer.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-timer.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.timer.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-timer.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.toggle.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-toggle.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.toggle.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-toggle.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.triangle.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-triangle.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.triangle.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-triangle.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.verticalslider.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-verticalslider.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.verticalslider.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-verticalslider.md diff --git a/lua-api-reference/lvgl-for-lua/lvgl.vline.md b/website/md-docs/api-reference/lvgl-for-lua/lvgl-vline.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/lvgl.vline.md rename to website/md-docs/api-reference/lvgl-for-lua/lvgl-vline.md diff --git a/lua-api-reference/lvgl-for-lua/overview.md b/website/md-docs/api-reference/lvgl-for-lua/overview.md similarity index 100% rename from lua-api-reference/lvgl-for-lua/overview.md rename to website/md-docs/api-reference/lvgl-for-lua/overview.md diff --git a/lua-api-reference/model/defaultinputs.md b/website/md-docs/api-reference/model/defaultinputs.md similarity index 100% rename from lua-api-reference/model/defaultinputs.md rename to website/md-docs/api-reference/model/defaultinputs.md diff --git a/lua-api-reference/model/deleteflightmodes.md b/website/md-docs/api-reference/model/deleteflightmodes.md similarity index 100% rename from lua-api-reference/model/deleteflightmodes.md rename to website/md-docs/api-reference/model/deleteflightmodes.md diff --git a/lua-api-reference/model/deleteinput.md b/website/md-docs/api-reference/model/deleteinput.md similarity index 100% rename from lua-api-reference/model/deleteinput.md rename to website/md-docs/api-reference/model/deleteinput.md diff --git a/lua-api-reference/model/deleteinputs.md b/website/md-docs/api-reference/model/deleteinputs.md similarity index 100% rename from lua-api-reference/model/deleteinputs.md rename to website/md-docs/api-reference/model/deleteinputs.md diff --git a/lua-api-reference/model/deletemix.md b/website/md-docs/api-reference/model/deletemix.md similarity index 100% rename from lua-api-reference/model/deletemix.md rename to website/md-docs/api-reference/model/deletemix.md diff --git a/lua-api-reference/model/deletemixes.md b/website/md-docs/api-reference/model/deletemixes.md similarity index 100% rename from lua-api-reference/model/deletemixes.md rename to website/md-docs/api-reference/model/deletemixes.md diff --git a/lua-api-reference/model/getcurve.md b/website/md-docs/api-reference/model/getcurve.md similarity index 100% rename from lua-api-reference/model/getcurve.md rename to website/md-docs/api-reference/model/getcurve.md diff --git a/lua-api-reference/model/getcustomfunction.md b/website/md-docs/api-reference/model/getcustomfunction.md similarity index 100% rename from lua-api-reference/model/getcustomfunction.md rename to website/md-docs/api-reference/model/getcustomfunction.md diff --git a/lua-api-reference/model/getflightmode.md b/website/md-docs/api-reference/model/getflightmode.md similarity index 100% rename from lua-api-reference/model/getflightmode.md rename to website/md-docs/api-reference/model/getflightmode.md diff --git a/lua-api-reference/model/getglobalvariable.md b/website/md-docs/api-reference/model/getglobalvariable.md similarity index 100% rename from lua-api-reference/model/getglobalvariable.md rename to website/md-docs/api-reference/model/getglobalvariable.md diff --git a/lua-api-reference/model/getinfo.md b/website/md-docs/api-reference/model/getinfo.md similarity index 97% rename from lua-api-reference/model/getinfo.md rename to website/md-docs/api-reference/model/getinfo.md index bddda14de..2fd3c9bc5 100644 --- a/lua-api-reference/model/getinfo.md +++ b/website/md-docs/api-reference/model/getinfo.md @@ -16,9 +16,9 @@ none
FieldTypeDecription
namestringModel's name set.
filenamestringName of <???>
bitmapstringName of model's picture file located on SD Card in /IMAGES/ folder
extendedLimitsbooleantrue if extended limits are enabled otherwise false
jitterFilternumbermodel level ADC filter
-{% hint style="warning" %} -**bitmap** field is not available on BW radios -{% endhint %} +!!! warning + **bitmap** field is not available on BW radios + ## API Status diff --git a/lua-api-reference/model/getinput.md b/website/md-docs/api-reference/model/getinput.md similarity index 100% rename from lua-api-reference/model/getinput.md rename to website/md-docs/api-reference/model/getinput.md diff --git a/lua-api-reference/model/getinputscount.md b/website/md-docs/api-reference/model/getinputscount.md similarity index 100% rename from lua-api-reference/model/getinputscount.md rename to website/md-docs/api-reference/model/getinputscount.md diff --git a/lua-api-reference/model/getlogicalswitch.md b/website/md-docs/api-reference/model/getlogicalswitch.md similarity index 100% rename from lua-api-reference/model/getlogicalswitch.md rename to website/md-docs/api-reference/model/getlogicalswitch.md diff --git a/lua-api-reference/model/getmix.md b/website/md-docs/api-reference/model/getmix.md similarity index 100% rename from lua-api-reference/model/getmix.md rename to website/md-docs/api-reference/model/getmix.md diff --git a/lua-api-reference/model/getmixescount.md b/website/md-docs/api-reference/model/getmixescount.md similarity index 100% rename from lua-api-reference/model/getmixescount.md rename to website/md-docs/api-reference/model/getmixescount.md diff --git a/lua-api-reference/model/getmodule.md b/website/md-docs/api-reference/model/getmodule.md similarity index 100% rename from lua-api-reference/model/getmodule.md rename to website/md-docs/api-reference/model/getmodule.md diff --git a/lua-api-reference/model/getoutput.md b/website/md-docs/api-reference/model/getoutput.md similarity index 100% rename from lua-api-reference/model/getoutput.md rename to website/md-docs/api-reference/model/getoutput.md diff --git a/lua-api-reference/model/getsensor.md b/website/md-docs/api-reference/model/getsensor.md similarity index 100% rename from lua-api-reference/model/getsensor.md rename to website/md-docs/api-reference/model/getsensor.md diff --git a/lua-api-reference/model/gettimer.md b/website/md-docs/api-reference/model/gettimer.md similarity index 100% rename from lua-api-reference/model/gettimer.md rename to website/md-docs/api-reference/model/gettimer.md diff --git a/lua-api-reference/model/README.md b/website/md-docs/api-reference/model/index.md similarity index 94% rename from lua-api-reference/model/README.md rename to website/md-docs/api-reference/model/index.md index d92fe826b..3dca7cc69 100644 --- a/lua-api-reference/model/README.md +++ b/website/md-docs/api-reference/model/index.md @@ -1,2 +1 @@ # Model Functions - diff --git a/lua-api-reference/model/insertinput.md b/website/md-docs/api-reference/model/insertinput.md similarity index 100% rename from lua-api-reference/model/insertinput.md rename to website/md-docs/api-reference/model/insertinput.md diff --git a/lua-api-reference/model/insertmix.md b/website/md-docs/api-reference/model/insertmix.md similarity index 100% rename from lua-api-reference/model/insertmix.md rename to website/md-docs/api-reference/model/insertmix.md diff --git a/lua-api-reference/model/model.getswashring.md b/website/md-docs/api-reference/model/model-getswashring.md similarity index 100% rename from lua-api-reference/model/model.getswashring.md rename to website/md-docs/api-reference/model/model-getswashring.md diff --git a/lua-api-reference/model/model.setswashring-params.md b/website/md-docs/api-reference/model/model-setswashring-params.md similarity index 86% rename from lua-api-reference/model/model.setswashring-params.md rename to website/md-docs/api-reference/model/model-setswashring-params.md index 7d807055d..dadcc2947 100644 --- a/lua-api-reference/model/model.setswashring-params.md +++ b/website/md-docs/api-reference/model/model-setswashring-params.md @@ -6,7 +6,7 @@ Set heli swash parameters **Parameters** -* `value` (table) swash ring parameters, see [model.getSwashRing()](model.getswashring.md) for table format +* `value` (table) swash ring parameters, see [model.getSwashRing()](model-getswashring.md) for table format **Return value** diff --git a/lua-api-reference/model/resetsensor.md b/website/md-docs/api-reference/model/resetsensor.md similarity index 100% rename from lua-api-reference/model/resetsensor.md rename to website/md-docs/api-reference/model/resetsensor.md diff --git a/lua-api-reference/model/resettimer.md b/website/md-docs/api-reference/model/resettimer.md similarity index 100% rename from lua-api-reference/model/resettimer.md rename to website/md-docs/api-reference/model/resettimer.md diff --git a/lua-api-reference/model/setcurve.md b/website/md-docs/api-reference/model/setcurve.md similarity index 100% rename from lua-api-reference/model/setcurve.md rename to website/md-docs/api-reference/model/setcurve.md diff --git a/lua-api-reference/model/setcustomfunction.md b/website/md-docs/api-reference/model/setcustomfunction.md similarity index 100% rename from lua-api-reference/model/setcustomfunction.md rename to website/md-docs/api-reference/model/setcustomfunction.md diff --git a/lua-api-reference/model/setflightmode.md b/website/md-docs/api-reference/model/setflightmode.md similarity index 100% rename from lua-api-reference/model/setflightmode.md rename to website/md-docs/api-reference/model/setflightmode.md diff --git a/lua-api-reference/model/setglobalvariable.md b/website/md-docs/api-reference/model/setglobalvariable.md similarity index 100% rename from lua-api-reference/model/setglobalvariable.md rename to website/md-docs/api-reference/model/setglobalvariable.md diff --git a/lua-api-reference/model/setinfo.md b/website/md-docs/api-reference/model/setinfo.md similarity index 100% rename from lua-api-reference/model/setinfo.md rename to website/md-docs/api-reference/model/setinfo.md diff --git a/lua-api-reference/model/setlogicalswitch.md b/website/md-docs/api-reference/model/setlogicalswitch.md similarity index 100% rename from lua-api-reference/model/setlogicalswitch.md rename to website/md-docs/api-reference/model/setlogicalswitch.md diff --git a/lua-api-reference/model/setmodule.md b/website/md-docs/api-reference/model/setmodule.md similarity index 100% rename from lua-api-reference/model/setmodule.md rename to website/md-docs/api-reference/model/setmodule.md diff --git a/lua-api-reference/model/setoutput.md b/website/md-docs/api-reference/model/setoutput.md similarity index 100% rename from lua-api-reference/model/setoutput.md rename to website/md-docs/api-reference/model/setoutput.md diff --git a/lua-api-reference/model/settimer.md b/website/md-docs/api-reference/model/settimer.md similarity index 100% rename from lua-api-reference/model/settimer.md rename to website/md-docs/api-reference/model/settimer.md diff --git a/lua-api-reference/rf-module/accesstelemetrypush.md b/website/md-docs/api-reference/rf-module/accesstelemetrypush.md similarity index 100% rename from lua-api-reference/rf-module/accesstelemetrypush.md rename to website/md-docs/api-reference/rf-module/accesstelemetrypush.md diff --git a/lua-api-reference/rf-module/crossfiretelemetrypop.md b/website/md-docs/api-reference/rf-module/crossfiretelemetrypop.md similarity index 100% rename from lua-api-reference/rf-module/crossfiretelemetrypop.md rename to website/md-docs/api-reference/rf-module/crossfiretelemetrypop.md diff --git a/lua-api-reference/rf-module/crossfiretelemetrypush.md b/website/md-docs/api-reference/rf-module/crossfiretelemetrypush.md similarity index 100% rename from lua-api-reference/rf-module/crossfiretelemetrypush.md rename to website/md-docs/api-reference/rf-module/crossfiretelemetrypush.md diff --git a/lua-api-reference/rf-module/getras.md b/website/md-docs/api-reference/rf-module/getras.md similarity index 91% rename from lua-api-reference/rf-module/getras.md rename to website/md-docs/api-reference/rf-module/getras.md index 1745a36fd..92df59ee2 100644 --- a/lua-api-reference/rf-module/getras.md +++ b/website/md-docs/api-reference/rf-module/getras.md @@ -1,2 +1 @@ # getRAS() - diff --git a/lua-api-reference/rf-module/ghosttelemetrypop.md b/website/md-docs/api-reference/rf-module/ghosttelemetrypop.md similarity index 100% rename from lua-api-reference/rf-module/ghosttelemetrypop.md rename to website/md-docs/api-reference/rf-module/ghosttelemetrypop.md diff --git a/lua-api-reference/rf-module/ghosttelemetrypush.md b/website/md-docs/api-reference/rf-module/ghosttelemetrypush.md similarity index 100% rename from lua-api-reference/rf-module/ghosttelemetrypush.md rename to website/md-docs/api-reference/rf-module/ghosttelemetrypush.md diff --git a/lua-api-reference/rf-module/README.md b/website/md-docs/api-reference/rf-module/index.md similarity index 92% rename from lua-api-reference/rf-module/README.md rename to website/md-docs/api-reference/rf-module/index.md index a33fcc7f5..d8a9bb584 100644 --- a/lua-api-reference/rf-module/README.md +++ b/website/md-docs/api-reference/rf-module/index.md @@ -1,2 +1 @@ # RF module - diff --git a/lua-api-reference/rf-module/multibuffer-address-value.md b/website/md-docs/api-reference/rf-module/multibuffer-address-value.md similarity index 96% rename from lua-api-reference/rf-module/multibuffer-address-value.md rename to website/md-docs/api-reference/rf-module/multibuffer-address-value.md index 5be4c020e..def0401b3 100644 --- a/lua-api-reference/rf-module/multibuffer-address-value.md +++ b/website/md-docs/api-reference/rf-module/multibuffer-address-value.md @@ -1,2 +1 @@ # multiBuffer(address\[,value]) - diff --git a/lua-api-reference/rf-module/sporttelemetrypop.md b/website/md-docs/api-reference/rf-module/sporttelemetrypop.md similarity index 100% rename from lua-api-reference/rf-module/sporttelemetrypop.md rename to website/md-docs/api-reference/rf-module/sporttelemetrypop.md diff --git a/lua-api-reference/rf-module/sporttelemetrypush.md b/website/md-docs/api-reference/rf-module/sporttelemetrypush.md similarity index 100% rename from lua-api-reference/rf-module/sporttelemetrypush.md rename to website/md-docs/api-reference/rf-module/sporttelemetrypush.md diff --git a/lua-api-reference/serial-ports/README.md b/website/md-docs/api-reference/serial-ports/index.md similarity index 93% rename from lua-api-reference/serial-ports/README.md rename to website/md-docs/api-reference/serial-ports/index.md index 3f94014f5..a7e2fd53a 100644 --- a/lua-api-reference/serial-ports/README.md +++ b/website/md-docs/api-reference/serial-ports/index.md @@ -1,2 +1 @@ # Serial Ports - diff --git a/lua-api-reference/serial-ports/serialgetpower.md b/website/md-docs/api-reference/serial-ports/serialgetpower.md similarity index 100% rename from lua-api-reference/serial-ports/serialgetpower.md rename to website/md-docs/api-reference/serial-ports/serialgetpower.md diff --git a/lua-api-reference/serial-ports/serialread.md b/website/md-docs/api-reference/serial-ports/serialread.md similarity index 100% rename from lua-api-reference/serial-ports/serialread.md rename to website/md-docs/api-reference/serial-ports/serialread.md diff --git a/lua-api-reference/serial-ports/serialsetpower.md b/website/md-docs/api-reference/serial-ports/serialsetpower.md similarity index 100% rename from lua-api-reference/serial-ports/serialsetpower.md rename to website/md-docs/api-reference/serial-ports/serialsetpower.md diff --git a/lua-api-reference/serial-ports/serialwrite.md b/website/md-docs/api-reference/serial-ports/serialwrite.md similarity index 100% rename from lua-api-reference/serial-ports/serialwrite.md rename to website/md-docs/api-reference/serial-ports/serialwrite.md diff --git a/lua-api-reference/serial-ports/setserialbaudrate.md b/website/md-docs/api-reference/serial-ports/setserialbaudrate.md similarity index 100% rename from lua-api-reference/serial-ports/setserialbaudrate.md rename to website/md-docs/api-reference/serial-ports/setserialbaudrate.md diff --git a/lua-api-reference/system/defaultchannel.md b/website/md-docs/api-reference/system/defaultchannel.md similarity index 100% rename from lua-api-reference/system/defaultchannel.md rename to website/md-docs/api-reference/system/defaultchannel.md diff --git a/lua-api-reference/system/defaultstick.md b/website/md-docs/api-reference/system/defaultstick.md similarity index 100% rename from lua-api-reference/system/defaultstick.md rename to website/md-docs/api-reference/system/defaultstick.md diff --git a/lua-api-reference/system/getgeneralsettings.md b/website/md-docs/api-reference/system/getgeneralsettings.md similarity index 100% rename from lua-api-reference/system/getgeneralsettings.md rename to website/md-docs/api-reference/system/getgeneralsettings.md diff --git a/lua-api-reference/system/getversion.md b/website/md-docs/api-reference/system/getversion.md similarity index 100% rename from lua-api-reference/system/getversion.md rename to website/md-docs/api-reference/system/getversion.md diff --git a/lua-api-reference/system/README.md b/website/md-docs/api-reference/system/index.md similarity index 90% rename from lua-api-reference/system/README.md rename to website/md-docs/api-reference/system/index.md index 036fa78f9..35d37ed70 100644 --- a/lua-api-reference/system/README.md +++ b/website/md-docs/api-reference/system/index.md @@ -1,2 +1 @@ # System - diff --git a/lua-api-reference/system/rgb.md b/website/md-docs/api-reference/system/rgb.md similarity index 63% rename from lua-api-reference/system/rgb.md rename to website/md-docs/api-reference/system/rgb.md index e046249d1..beb394694 100644 --- a/lua-api-reference/system/rgb.md +++ b/website/md-docs/api-reference/system/rgb.md @@ -16,9 +16,9 @@ This command is currently not rate limited, so repeated frequent calls will slow ### Available on -* [x] [B\&W LCD radios](../../overview/radios/#radios-with-b-and-w-lcd-screen) -* [x] [Grayscale LCD radios](../../overview/radios/#radios-with-grayscale-lcd-screen) -* [x] [Color LCD radios](../../overview/radios/#radios-with-color-lcd-screen) +* [x] [B\&W LCD radios](../../overview/radios/index.md#radios-with-b-and-w-lcd-screen) +* [x] [Grayscale LCD radios](../../overview/radios/index.md#radios-with-grayscale-lcd-screen) +* [x] [Color LCD radios](../../overview/radios/index.md#radios-with-color-lcd-screen) ### API status @@ -26,16 +26,15 @@ This command is currently not rate limited, so repeated frequent calls will slow ### Examples -{% tabs %} -{% tab title="Example 1" %} +#### Example 1 + ```lua -- Take a screenshot screenshot() ``` -{% endtab %} -{% endtabs %} + ### Related topics -* [Drawing flag](../../lua-api-programming/drawing-flags-and-colors.md) +* [Drawing flag](../../programming/drawing-flags-and-colors.md) * [Color constants](../constants/color-constants.md) diff --git a/lua-api-reference/telemetry/getrssi.md b/website/md-docs/api-reference/telemetry/getrssi.md similarity index 92% rename from lua-api-reference/telemetry/getrssi.md rename to website/md-docs/api-reference/telemetry/getrssi.md index e6febf3ab..fcfcb0e71 100644 --- a/lua-api-reference/telemetry/getrssi.md +++ b/website/md-docs/api-reference/telemetry/getrssi.md @@ -1,2 +1 @@ # getRSSI() - diff --git a/lua-api-reference/telemetry/README.md b/website/md-docs/api-reference/telemetry/index.md similarity index 92% rename from lua-api-reference/telemetry/README.md rename to website/md-docs/api-reference/telemetry/index.md index 1a5e6d0a2..d7cadff76 100644 --- a/lua-api-reference/telemetry/README.md +++ b/website/md-docs/api-reference/telemetry/index.md @@ -1,2 +1 @@ # Telemetry - diff --git a/lua-api-reference/time/getdatetime.md b/website/md-docs/api-reference/time/getdatetime.md similarity index 100% rename from lua-api-reference/time/getdatetime.md rename to website/md-docs/api-reference/time/getdatetime.md diff --git a/lua-api-reference/time/getglobaltimer.md b/website/md-docs/api-reference/time/getglobaltimer.md similarity index 100% rename from lua-api-reference/time/getglobaltimer.md rename to website/md-docs/api-reference/time/getglobaltimer.md diff --git a/lua-api-reference/time/getrtctime.md b/website/md-docs/api-reference/time/getrtctime.md similarity index 100% rename from lua-api-reference/time/getrtctime.md rename to website/md-docs/api-reference/time/getrtctime.md diff --git a/lua-api-reference/time/gettime.md b/website/md-docs/api-reference/time/gettime.md similarity index 100% rename from lua-api-reference/time/gettime.md rename to website/md-docs/api-reference/time/gettime.md diff --git a/lua-api-reference/time/README.md b/website/md-docs/api-reference/time/index.md similarity index 87% rename from lua-api-reference/time/README.md rename to website/md-docs/api-reference/time/index.md index 4fabcd9b4..dc3a17f01 100644 --- a/lua-api-reference/time/README.md +++ b/website/md-docs/api-reference/time/index.md @@ -1,2 +1 @@ # Time - diff --git a/lua-api-reference/time/resetglobaltimer.md b/website/md-docs/api-reference/time/resetglobaltimer.md similarity index 100% rename from lua-api-reference/time/resetglobaltimer.md rename to website/md-docs/api-reference/time/resetglobaltimer.md diff --git a/lua-api-reference/variables/getfieldinfo.md b/website/md-docs/api-reference/variables/getfieldinfo.md similarity index 100% rename from lua-api-reference/variables/getfieldinfo.md rename to website/md-docs/api-reference/variables/getfieldinfo.md diff --git a/lua-api-reference/variables/getflightmode.md b/website/md-docs/api-reference/variables/getflightmode.md similarity index 100% rename from lua-api-reference/variables/getflightmode.md rename to website/md-docs/api-reference/variables/getflightmode.md diff --git a/lua-api-reference/variables/getlogicalswitchvalue.md b/website/md-docs/api-reference/variables/getlogicalswitchvalue.md similarity index 100% rename from lua-api-reference/variables/getlogicalswitchvalue.md rename to website/md-docs/api-reference/variables/getlogicalswitchvalue.md diff --git a/lua-api-reference/variables/getoutputvalue.md b/website/md-docs/api-reference/variables/getoutputvalue.md similarity index 100% rename from lua-api-reference/variables/getoutputvalue.md rename to website/md-docs/api-reference/variables/getoutputvalue.md diff --git a/lua-api-reference/variables/getshmvar.md b/website/md-docs/api-reference/variables/getshmvar.md similarity index 100% rename from lua-api-reference/variables/getshmvar.md rename to website/md-docs/api-reference/variables/getshmvar.md diff --git a/lua-api-reference/variables/getsourceindex.md b/website/md-docs/api-reference/variables/getsourceindex.md similarity index 100% rename from lua-api-reference/variables/getsourceindex.md rename to website/md-docs/api-reference/variables/getsourceindex.md diff --git a/lua-api-reference/variables/getsourcename.md b/website/md-docs/api-reference/variables/getsourcename.md similarity index 100% rename from lua-api-reference/variables/getsourcename.md rename to website/md-docs/api-reference/variables/getsourcename.md diff --git a/lua-api-reference/variables/getsourcevalue.md b/website/md-docs/api-reference/variables/getsourcevalue.md similarity index 100% rename from lua-api-reference/variables/getsourcevalue.md rename to website/md-docs/api-reference/variables/getsourcevalue.md diff --git a/lua-api-reference/variables/getswitchindex.md b/website/md-docs/api-reference/variables/getswitchindex.md similarity index 100% rename from lua-api-reference/variables/getswitchindex.md rename to website/md-docs/api-reference/variables/getswitchindex.md diff --git a/lua-api-reference/variables/getswitchname.md b/website/md-docs/api-reference/variables/getswitchname.md similarity index 100% rename from lua-api-reference/variables/getswitchname.md rename to website/md-docs/api-reference/variables/getswitchname.md diff --git a/lua-api-reference/variables/getswitchvalue.md b/website/md-docs/api-reference/variables/getswitchvalue.md similarity index 100% rename from lua-api-reference/variables/getswitchvalue.md rename to website/md-docs/api-reference/variables/getswitchvalue.md diff --git a/lua-api-reference/variables/getvalue.md b/website/md-docs/api-reference/variables/getvalue.md similarity index 100% rename from lua-api-reference/variables/getvalue.md rename to website/md-docs/api-reference/variables/getvalue.md diff --git a/lua-api-reference/variables/README.md b/website/md-docs/api-reference/variables/index.md similarity index 92% rename from lua-api-reference/variables/README.md rename to website/md-docs/api-reference/variables/index.md index 5df2cd1bd..ee1fba428 100644 --- a/lua-api-reference/variables/README.md +++ b/website/md-docs/api-reference/variables/index.md @@ -1,2 +1 @@ # Variables - diff --git a/lua-api-reference/variables/setshmvar.md b/website/md-docs/api-reference/variables/setshmvar.md similarity index 100% rename from lua-api-reference/variables/setshmvar.md rename to website/md-docs/api-reference/variables/setshmvar.md diff --git a/lua-api-reference/variables/setstickyswitch.md b/website/md-docs/api-reference/variables/setstickyswitch.md similarity index 100% rename from lua-api-reference/variables/setstickyswitch.md rename to website/md-docs/api-reference/variables/setstickyswitch.md diff --git a/lua-api-reference/variables/sources.md b/website/md-docs/api-reference/variables/sources.md similarity index 100% rename from lua-api-reference/variables/sources.md rename to website/md-docs/api-reference/variables/sources.md diff --git a/lua-api-reference/variables/switches.md b/website/md-docs/api-reference/variables/switches.md similarity index 100% rename from lua-api-reference/variables/switches.md rename to website/md-docs/api-reference/variables/switches.md diff --git a/appendix/fonts.md b/website/md-docs/appendix/fonts.md similarity index 100% rename from appendix/fonts.md rename to website/md-docs/appendix/fonts.md diff --git a/appendix/README.md b/website/md-docs/appendix/index.md similarity index 100% rename from appendix/README.md rename to website/md-docs/appendix/index.md diff --git a/website/md-docs/assets/edgetx-logo.svg b/website/md-docs/assets/edgetx-logo.svg new file mode 100644 index 000000000..2f0adba37 --- /dev/null +++ b/website/md-docs/assets/edgetx-logo.svg @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/md-docs/assets/fonts/Roboto-Bold.ttf b/website/md-docs/assets/fonts/Roboto-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d3f01ad245b628f386ac95786f53167038720eb2 GIT binary patch literal 170760 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�!3r53e9=KAt@g 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