From 393822b8b65c2333cfcc728bbd01ba1915fbbb58 Mon Sep 17 00:00:00 2001 From: dw-0 Date: Fri, 29 Aug 2025 13:34:26 +0200 Subject: [PATCH] feat(docs): add MkDocs documentation setup with Docker support and restructure markdown files Signed-off-by: Dominik Willner --- .editorconfig | 2 +- .github/workflows/deploy-docs.yml | 31 +++++++ Dockerfile | 6 ++ docker-compose.yml | 8 ++ .../assets/configuration.md | 0 docs/assets/logo-large.png | Bin 0 -> 22100 bytes .../kiauh.png => docs/assets/logo.png | Bin docs/{ => development}/changelog.md | 2 +- .../development/contributing.md | 0 .../gcode-shell-command.md} | 0 .../__init__.py => docs/extensions/index.md | 0 docs/index.md | 20 +++++ .../menus/__init__.py => docs/installation.md | 0 mkdocs.yml | 82 ++++++++++++++++++ requirements.txt | 4 + 15 files changed, 153 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/deploy-docs.yml create mode 100644 Dockerfile create mode 100644 docker-compose.yml rename kiauh/components/__init__.py => docs/assets/configuration.md (100%) create mode 100644 docs/assets/logo-large.png rename resources/screenshots/kiauh.png => docs/assets/logo.png (100%) rename docs/{ => development}/changelog.md (99%) rename kiauh/components/klipper/menus/__init__.py => docs/development/contributing.md (100%) rename docs/{gcode_shell_command.md => extensions/gcode-shell-command.md} (100%) rename kiauh/components/klipper/services/__init__.py => docs/extensions/index.md (100%) create mode 100644 docs/index.md rename kiauh/components/moonraker/menus/__init__.py => docs/installation.md (100%) create mode 100644 mkdocs.yml create mode 100644 requirements.txt diff --git a/.editorconfig b/.editorconfig index b3230cc..bb9afe1 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,5 +11,5 @@ end_of_line = lf [*.py] max_line_length = 88 -[*.{sh,yml,yaml,json}] +[*.{sh,yml,yaml,json,md}] indent_size = 2 \ No newline at end of file diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml new file mode 100644 index 0000000..4a9a0d9 --- /dev/null +++ b/.github/workflows/deploy-docs.yml @@ -0,0 +1,31 @@ +name: Deploy Documentation +on: + workflow_dispatch: + push: + branches: + - docs +permissions: + contents: write +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Configure Git Credentials + run: | + git config user.name github-actions[bot] + git config user.email 41898282+github-actions[bot]@users.noreply.github.com + - uses: actions/setup-python@v5 + with: + python-version: 3.x + - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV + - uses: actions/cache@v4 + with: + key: mkdocs-material-${{ env.cache_id }} + path: .cache + restore-keys: | + mkdocs-material- + - name: Install dependencies + run: pip install -r requirements.txt + - name: Build and deploy documentation + run: mkdocs gh-deploy --force diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b9e998a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,6 @@ +FROM squidfunk/mkdocs-material:latest + +# Install additional plugins required by our mkdocs configuration +RUN pip install \ + mkdocs-git-revision-date-localized-plugin \ + mkdocstrings[python] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..de98507 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,8 @@ +services: + mkdocs: + build: . + ports: + - "8000:8000" + volumes: + - ./:/docs + command: serve --dev-addr=0.0.0.0:8000 diff --git a/kiauh/components/__init__.py b/docs/assets/configuration.md similarity index 100% rename from kiauh/components/__init__.py rename to docs/assets/configuration.md diff --git a/docs/assets/logo-large.png b/docs/assets/logo-large.png new file mode 100644 index 0000000000000000000000000000000000000000..0135a87f27e5b5b95fdbd4078529b2a7a4d80526 GIT binary patch literal 22100 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%0DSS6;p4;`=$1@d(@IMW+sr-R z!2@EM8>0FB`upcPm0BOb<0QF^wkjTD{8U?T{?^`{IXu5B>`%{JZ=<1i#dO9OktG7= zW7lnV*)56Q91HBv^_M{crLuLiP@wc0`1nm#KqhKsPnXf7;FIWlrgMl5eQ`w9%;G0D z%@y)2j`8u|sQv+^aTA>l)23BxsU_cJjtcJz1se5568xJg8Amck0-i>HO$7XZ9j{ZB+)xW8SY@ zXQIai_Z?3rG?gm1^oG5e7n%`#X_#L!WYfv)2qOKt;~B7u*lFeE6j_o3S}=5T(dvSp z5slMrS^PRqdtyqBMOS;`)G8xq+KMzkbXkyJjJ~L=g%Bl z2MpU6tXq5htQ+4)$p!s=8rQIR+1Tf8uCe9sb`4msM!x6yqVaw3nfb1=*JXD3RV8dk z4SKM=6KAYf<=>4Wqh}tL5ruu#y%aQ6(;TA{H~U^>ZtK=km8w5x5ejVcrMfQ(Ca=({ zXdNm7XHDUCD{A5ySA)^!T;3qKV>eLq`Hd|*P-`cdnR7xRc$11>syQ)=mUIjfs(;wl z_+rj=PtC(e+N4jgIZKv4CT=oH02@BOYM)Yz3>~M$a6*X|WFtBAyGy>NY-asQXjA2W zgF3!nH?2t_RMM&xJqs|l!T=HB^xn23T2d=g`ZSHL=Y{gpQPCSo(dqD_K0+=m`UmOu zxNpw$#y@=jQ~T=MVWlsANm-@B&QH zd~Tj@-ok$R^X)Hl%CD(k_}}3AkbY0_YM1LH4bE*cGSVwaE(41fpIG(r+5X-EGue-! zG%m6!ltJE^w;kJQ=6{d9?RRzbLV8_(n$9#fDag~kHPmUP(cnrXD|smKvbr_>;(O({ zx`%CK;>UFb1#2En*A>W~%%JFWA3^A%_joL+xYVPE_z~0FkzZ$y?Y<5n=e`+>7Q7?P zm-c9lD0*W(W`+E2B64NGcApD9d8=5509;WdHbZ+wMqLzt`Ss{l#iKZgQt-QTp)4PQ zlC|bu8yoLax#p_O@Qd5zdruz2+tDZV;<;=iivl9=Lx%)xp~LUghH>Se{!}}xgpZ9Jep`Zlit01z#ZalM9>SNUA;1zX!U0) zTMmC~KW(OXT4el%J-FOG*RnCm&&C(WI^q&(s#2o+6%Cu7inIhRYk*24jo;Ii5q$sR z*_O#VI_X$uj>8_$pAXNIT4la_r|q8LIjomhI83+@;Sj{G9wJ+jl=pE(Sl4AgO)@+` zBp-+iPinp8XH;ejy~K!ViDyQ;?Hk}IGG|!#M*qARm$)81s8nSzQY6SN4T~`PSe~HW z9)Y=NGn3yLL&AOu_b2q6iU^L*S3H3d1AvjvmKG4lIE7Kz*xbYIMX%%=m%R~6GFl|h zx;5Eh3$v4hW6mbUE)(Y}-(W`B!+|TfE2_8Z4* zRHz0zh}AAfAVUVO>|U0~nf~Ua-D|-Y*(EYfoo3rA=Ksv?SQ>2K(r@f;*u#=B@h9X? z4LHGlgP({*-%l&@hSPze=k<5p>+owc+A<5YHGRVBM>rQZ9z7J20 z=X=;5-D&ZlCO&-+7aXWA?uh}5QR(2|T^xJxg&Sp0eozz`MDFBXRLT2;F7|5mI|vG7 zDx?vrY+J#CSBZs!z`vGvxRS{f#j`l+U`uPi=vg@lsPRfec~*JX*}C@7$nq8QStt2M zOI!_s@A5Tjw0)M|$hofk;}}_#eU2(}Ga`!KijwxLA}l*w--p=0Qlc#P9~1b}tcsZM z8uVi^lpvO+ysurFvy1zPg(QKS0uTI{tuUBtyOYXh3cK!gfmNPU_?m{rkNDe;)|z&^ zWm!eX-xYtn{ihq9>t=hsqd8J~?~hV_#7ZSg7-M%1TQQ9gfB-lfqN{;_p>k>7G0`eh z$2n*lE6b26`pUOTO!WuttIEEukA2mQY`5t*_Tv@~_T{0=B*&^?#c)MKNS>RgHldU0 zq4#+y%XCcySpA-QSdvR!R`XzzS6AKS%SjQPa(Q|kE`0>HH>qWcS^NO&_dw0~a z;ek@UFJtghNMKwksK-g(#hOX7ACY09?!JVOvp$F^w_ zh+(#g435J~LWOp|NT3D{#0c^{jn@9}Hjk4MF6}fB-iZ(0M7t6$J`s*+090Lm!3&XI z{{%r$;*0$IK%}hG^zLVjpb(A~TyL;@RW^W%!qzQD9)GgzJnrh=%$|;90PxM#tVw73 ztklxtOUoTaow&04IU$!`Vb4f?MrdQ++Wu3yKn>3Eifh$54=PB_68~<{QXKDyN@DnN zj4@i-u$0;P@6*$}0_>SA%v~oD*~%UAaEnhRsUETdNykq467rT*Kh$YvW#;t!wd6-Z zaDrY>3zqu-?XeglLO?v_+$iv+&$qSKdp!KQ12}?meAd z>4iLPF#zC30BK!r_r$r71$U_4Ipu-RRmHe<#E;$rl;$|3>jz7AOE$eiId|WX0dbwU z@pt#B=O3$ajh|>)-tH9pI)MYT*&JrQ1aVpoc+{94$=(8dLXm3eQOt(N zooV%gXutI0^)_>#o1qHUKU=gRM^5?9<=TM*K{_2?8@ce()^)!xKw?V%a8F>@yWrn5 zr1M0hOZ)2>2>`GuQy2{wU3MwmOVu^Lktm^`CoT1r?sKSx{C-Hwb>@j>W32CU41dfT zev0^L%-(73E~2ggP`0SDy4Jx9kUp2>=;>-F?AX=j zmhSijpQp?=dv zlRr5;nJt^2X)er8J#{T@N<|YmWD8?; z*I>r!h@JEAX)Ve!`=7?DKZ46+yRbfw^#(q;NVc^}~<5xPF;>S3xmh4$2R@$3vAJqrhmBqo0sK33jVoSo* z*&+Qx^$Vc)PF-Q6@urLt5!|c+QoRKfzeZ0gE3O)}9bKHai4q(<)=23Q=~7?Q(8I+$ z__0%L1@+`#;x;T7HrsaMoZMA8+^EpkexSCO%ZL*uo$$N0(DiuYca-zEUsipeZ43o= zQuU$;z>6rV6VFEVL>RB}HTMpMW+PlNxgWXvm-H)pg|&KMkqJBE=qk95+t^4-IkJ9u z#_2s|n+4IVSu^p_V@mT&U)k<1@W0PG30<(*6SPKvYI+e@CwW7fhK_1kuHw0~5H2h_`AY->Z_vV| z+e4ZWao(QRx(YQQaDtdED@jmDDD-sp4sA(Gh?pIhf`CB8c_fX+Mb~FCuC9l$ z)MwLM6n*<17Bs*y@s(v%icCGC=Oi>~-Rs z`+`^cC*EyFZmLg?&MP>!02L+hsC*E9(l*MIhwz;*NK}qoi#PaN+wlBvJSFU^uo(#` zGr6U+gB8UrYWd^dxERmQcpJ7Vu^9o@buzm_kG*{vwCtpCbntmcv!avON4Vwj zJda|DrOG6JK5gg6GQw6l#fFF)LVuf?Yhka|hNtp6xS|MQhDkYecJQvM%1TyUYeRkX z#zJFr52-y>BR?ek6w}Pa4sZsS-#+YH_%Kxt7(x25%AZ8Fv%j(Mh5`P(=K?<_p%}T!Y|8> z>gM87c^EhMv!4YCyAEwTNp3z4=At7gq0Gl|9m{wI3p!479X{O*m0&R3EdCA3Xqh+D zXmrp0m2VRhkZk7$QZBB8{Re&Yh0V)TluLW-EDy|ajK0305QHgMVlR}R?a@!UJQR9i3J z9F79kQA+m~Yi-_wuX1l?+-9%rSHAquPz)GOn@N{MyD=jJe~@0D)NrC){MOd|G@7o< z=$atOrNjDwH@fGg-xTHCQhwF#Yv@k$az@*L=`b-jhR12NH9bo>o*DUw}mtwabQ=dyG zj?3D7b_Vg@4_lU)WbW~Df^PYzytW{ukHj4YVYFG_dN@Wa`=Eo%r=|QC(s8bmySQa6 z7tIR*AjKN;f8G8(Z#MI0&*%*atXOWpb7$HaKl>s}{5?Zi2Be)zb?$=fq4F;oa_N9y zotV8lJ?nept}kPOjQBP(Sqh5zmPuX>B;_u!j1OgD8P@W5w6p-Vt(jKuv!QzljPL;- zcau5Z&4mI2a&-q~CqoVZRTDI-1uYidP-yA7;)TZ#pxcIyZh+hXt2q9*_bcnjs}Psr zmOm_pfcOeNTA+l7wJa8jna>t133Kb?-Y-1MX_>0(6;ybQR`;$cwJ`PArE6_@&uzngjNJq)abn zi2*_;T#;JsR3%qSBJP&+fXQSivc6x-QL#zyXEb_-EjQ!;i)E!z|EH9$`ObE|w;t2= zCi)7VK6U}#I~|V2;R{EenVh1(_=E$Izm@cZxAs(aC%%B>#p5al^`t+C$GCUlU5?{J zSRp`UOtpWWXSiq(!{mLg>1; zH~wK&eiZfYc7EO0l8))~?AWfG|1}RFn}e6PhrVfWINVFpE!|LGmifp6iuIF_8v>+S zy(x5Tz^wxQ*>+?Y2P{ge$JyVJLuaSui>vIbo%hM4GSJPLp8xPuhiJ{-DtKn<1BDv* zR8CnD?omEp4OjYgeaWvEez8P$3a%&Kf@wm_fMdn?dAz^}L4mGV_U8-<2+?Qsbd!R> z)oDfWupDE;U_&sS|5mN8nQ7g{HahM^KFJ7XE3=ec0E#`^6(zG-`ct$Yu3bX)?St)f zt0Rk7bSm=&_P4Y0R=hum+&Og~6*bAU{rE6w+t`^hs-7N1uzvo140G>rzRzt-cs$>5 z&CF^-VjyiH1(}ZV$<2y*EB*IQTP%ZD2&o=X%^QaWRSw-M^pP+4*IjE3xB2})_8WKZ zFxcaiYpT{ri)l_`xjtC1n}+A4Xy7l2$uPPh<}cn;jkNCLP?@5$H>82Hm_(ZSZS#!t zEo;Dle%W$*=nqPjm~Vn#`w2td*FT8Idj_(1V zNwfAvTElQ)*guei^8A;floMA3qS9ErOQ6w@+0V?CGF{tFS=t|155i01N>tydR67Aa z1=$yEe&c&(h>H6hj#y84iXgdy7_A6k$2Ek!;H+bh@XB3RJ00CC5CU$=Tor) zGI}q@1ZC`~rh|g;(Y*@Uo7n`$q1J6QHPZReA4@j#OZ&f<#sjvJ+0{rFF(+5bMh`KM z7zW5&l6CYA&Zeu_1M`&cHTmTjaFgwHGrlMg!`YT8(njSN)$1tP;mT zI|k$XlCcYskt!&Cm~6fB9wO#c|C+g4QeWlY{noOSj=Q1O0YFTg^gHuU(?S84x5sO+ zYbwLIfU2eA959QFmQLV6)@a1iXoSOU#Hz!m9U7|&R~V4+dgKKeDApbaKA>*hyv&=nGw3_|8~<}; zw(9T;V=9_3-af@+Wk`_n#d;l`tli?>BYt$jfi__LByHs!c*lRN$?QhcSzy}61V242#9d#snlUquCtI^q zg4{}mgcsp>Q3$Wh^^k=-9z!X+v3-;t0w~T98?9$AWG&yl`pxxDw)!!EyDtr0N| z1~@MZQhY&qtxuWX9+%9dOAE>$K6gc2mSrWuy;HCyOJhuz9|Va&$skn!1kUz;Cg{*_ zk(NAwk18EvMnypMm_lWHutEajNd!6t9SY#DM7kdp{u1VpevJGqBl9WvEQ#`4_N!kj zGEvQ2iqJd%+#JK<-7co?>mzgMqf6NlP>KwNnY4B{UPSxA;}IM4?jr|N!2&?+>|yVY zPE3Zm)){gd2kC`CezQi%eyM)QY>m=&bt1pBbTJM4`IHw{PAum5TGzwgSTim$KDH~> zC+g=p?MZ{S5{P9n_WGZ)qsf3vPTab}dyz>f5E%P`iUL57sFuInMHZ!35@SyEBz~p8 z8qT{~zQU$t4C1H7JUg1E$+*>O6x18nlb%5-X_(1m(e}U6mMDt}oJJkPDX&+Dh+K)GNh* zN*TWZz#|4GA(&+4)H4<}(;@mc@z*~9dd3yF-EAkL`za#N@^1`A6XN$EwH?e}mkF_vvVcGfiBsEw1)B<6yyJpQZZF&m7D4Gt zwrTHnGJ+CdF}?|UxHcYFHkWGwVGber5^9d}y%4GR!De)KE1 zw^~ip4JZkR@57)5V%gby;;E~GYYQAd+a;|2 zdm)wx9;V~-GwuD?xv2u*1l^e3TAxal&?rBp3m#b)@4M8zQG*F*X;D_k@{xj9LYDqO zb3wqIg|#Q!@U#`38=1V`OhQUYw>LYjZX`I5eBH!b=ZYibe_L>UbtP>$Mb;7v@+<=G zftSoBOP|Q`e8@H&ej5DLD1@0z|1B8f5M^51eHSRyQ|U9xw{~}t;*;cvMoDcNY3Ehm zecAxidaax)b(E*8L*++R00_FvU{2&ErFZQRxew1^=S$1co>e|}dxs2O3owJQ@G?W7 z4yj_169F*fvA18uF$pK%$$wy3Biy3%mdRjgI7D}4PFN-1*sKEOnU0)rDP?){HKvtf z>I3f^G|W0O73>W^l6tOb83K`2I=Ya+*j3qNz&+s{X3zw3M*gf4Kci?qQ0DXgO zJrdNR#Ez~}y}RTbs<~>qU&OUEitxhv2}2=jEoa-rIK;>G02I1~<8B4*KShYjt;7LjT{|&qSI#WCR22j; z3yaGr%tU$D<&(fCkOYXio`2)A4t0!ov`M^g2qt;{MgP{)34=RyAl%h9V032Us z3;4nb(77cYKdglm8T|#=w}@$fsyqz~0Oe<&`UjzJP>OvCZ47CNXW4g)&HVZj&ho8Z zh*Vn5D1d8aS%genX0(rbIv=NRHA2~6f_D-EC}?nWvg$4V@ih=_y-M)`jBi=Rf(>N-1vcgn z#GKJC_;G7<9QS^jAskzVCDc_$w>90$=fDGQD%Yy=HDUjPY8V^td?n|zGR+&Tm3Vlu;< zF%pR4wXWf^XtngLRVO*qvG*rL-YRrfHfuU=Jx5tb6j(DdHTo* zhN4IRY(Fz*zLeh$qK=6>PFIW^?{FKGP(5|=iqeJb{at#nVoSeim9>iII}q{m7$xKm znCjlbTo8i_lX|zGCrk~=(MJOthZ15bm$;NFBtGl+=b&-X}kFA z(fi0l2SNB&P1~G9j+#3Xq^JE0h4f{7qby&`@*R1mpU&!4Z1_OY{;>y<|DmbVpoQA!enXa$xfvcH z61k#0cu94qBiD6TBZ`DY}h^*F_Xy;`S-^%(=pImzQaxA2m3<0 z#M=$pkgJ)=fy}uTG;8aQxocm2g?IiauKr6L{lv0(v4g|vnc>fL|Xr!i1( z8Q2=}vMy)te*DT})O}ph`F3TnSNh5abz#|q7;qFwg8C&wKTwZXJTV9dV%m;z_`79$ z^n(<>N{86=%_<41ShA71+-HaJ=?&HIKRm@>O7((r=kihoIbh=HFHD_4k!T1&(+kuV zFCsKi;y*;pk*k!~;mDboQX=txL)``+f@Fn2a8~SzOpN+$LiJBmhfUR=+TN4)rSI!` z$A3)bf;3I`_x(YgtmL&wG2SAl z+eZn&x%{Vt3Z-EZ7JI9*k}j}7*~S7u7;Qgo;eZAfy0ZN6ou8(lE97lQY(1QxFtFl; z-12#gx)8Uv&ZK+NU(ThSQ`1^OQtg@L$z=fE$f-zArnyG{iJi<-!#Q}l{JEv5Si)Gk z=L}$IfJx*O->ci#^1nqTgVsG8;-2oBz8h1YA@yXX*+z&(`zIY_YTGLp4$vay z?BjIC^9ACi^u(B7t$xT(NxmUAB=-mE!?8>1@Y45980=8)BJhvQAVzT@@ z18u9ae445xgbcAAamgfZ(fQ1*PpSz3KypcXi#5=!ViCi9bqsuW`KCI!{8%w|APPA zI@?&!rd!{>xtv_mja6WIQWVp)puO#Tvx=3XO{v=55}h_8dL%y|!1kpf>nI9@XRIlB z{*dwtre)fq_@i!GUf9*}> zT>O|k995JXC5wfRW$gV)L@EN>ro0|FKqn%!>H|8{8dW-IAs}vG)NrZ2Epp|~hT+7l zGvt%)A%4sSZGohkZM=OAFEVz5q1FV4UvSK{Qm*s(H4hrTR&Dlh#YN&ogB z>fai!jR{)3w@W-zgjiwyJi>Epvbul-HV|}gJa5+ih_&GMC*w&__hyJj{^^DT+A#9? z$uJ@ibYVKpk!h@@9xu|IKe!fy(iPNz>1+8+>LTEkG7$XT*S=JJ)d!U-(4v(viQx+R zigS_U4h04-%Xl`CM#@F5F`6=m)>MPbS?0zbw*1qJfS2NCY&NhSj=Dd^XZKeQBLiC( z=KAG|3J@>G;>*{OtlKepKlkR!5>F#7;)IV80A2IK#^Jpr7t|u7ZZBC*4-2LZrz;-G z&04l)kG>)JTyDm?>eSE@CR6T;AiUSvr8Y{g zv)JFpZd`r<-|-q+8b_W4CemXwq_=*{s_=M_dEUHpTAk43BTk#Izn6s8LR?>1dxL&N zD1-Z9^0IdJ z^m2m4Zv+I&n65?g2BAkad2`gFiqwK^9=KrRp&-D{@uKOp9h|h0r;FcV9Zu zJb+eZtF5+T|FH8LK)YA%#R~6yAo{&8>ry55r=7{jfT2OwbGN*L!kA388Tjhc8&v?o zo)&GoCae7x_pRIihT(#(usO~lDhItRm22I1=dD$%i`MUgqXRTZmuZ?R?B31x2X}#p zXAbSs7AK7fy`ctNda)OM1$4>9yDApHiNC##4H|6V%uX>)5yMuCmJr_4U;; zQBbOQn5+ia&Ky>V<(pv5ODHS?P{Ox4Z~;KJy!_|Abv}U#PhLnBOhS13kDfeD<+wro zF+Kpd85uM_hIj}2DbHg~bhh9^Vy-^lWLV5!X3*x^#ZM|};Gb_Zd9N0SqjGE0&$SRT zklmykNo#{fG-N#k=C!zbTTlVyXhMa9DfPU(41c4aK!LX%@FgDz;^u!s41EV+l^A%B zn`q6&*y)7a-|&R`EY&>;kPEPss~bv`-S&-;-f7JqgF1|=a65G@V_5gm%VO7^GoHZ5 z#rd2&=$08>9zJ0UHNXCHsB?ok{rI3L&g0Co)Qk{hZa_3$i)JS6XnSYzf#^%7Wv6r@ zUkzISgA{_VLfdg~ga2X(NGGjl30(1rVW{=kd?Mb|9ddwx?DjijMN2<;%D;g?N8eZN zdbvAAGgMI6{rCr7@bSu5E)8sx;T3--H7KP`x7aR{3Wen=GD6RZrw! zgl&*EJMewjlsP|Md8!d+U}o+KMOzzvN4ZBI!ObkLqepEV?@d0Rli@cqP~70tI@idjb5kab;a6$bfQ&3j6wF|XJ{RbBykXq2L0$TF#gvtLZGAV zi~&8za-%o#Jg2tY4G~!aI|FqFCw0!mN^_7a2lMSj1MX(#K;QalgG^8h_z1 z`XSYhi310igvDVr&~8fxZE5`Q5&oms>!oU3heu;V&>kc%FUAM!N2be!W?3vi<713@ zVGG*-^%7^M0((#%a2;+0n1SmxKJa>a`pn_R3_?I4r63+4Xh89mR*3$kh+aQA@#9~G zgU8i3046qE;O#ClMPF}@5jm|rICNr?cu$Yo(J{5{75Kldah*;oe&Nu||8~phIH$`D+&gLl_R9uy8BU0$uJwkNSoZ=Y zlu0WJbdpH9ye#9bBmhlvNPy`gSVF;&?E-T!Dko05CvsP%-HkxDF0=Yq-Uqr8Z!pJH zbYh_8?Gg9KK%fC!$I#3V>S_2_Zcw3jgqdiiY?3qh1`ZtX4<<8+qjC!!5#bc5K-f4K zLWYP_&_V(`y69z0o+L^ekoG(qnhyQiVD4&5(u5WyL(f$JfCd%dj;yJQi&?wIa4!_- zkVKAT+iA7FCc}#|KN66h#r)KN`0P7kn~R~I23l2-ObK^hI_YLxM&E@Hc&BX`-% zA^*wz(Z7$pKyUTGF~0P#%gu9$c*24g*z8XCA@E*Uy+ z0$!Xw|3AY)U>sGe+C2JSlSagXUTW3za^~jdBGr4)0V4^ERZ5TlBLV+|@hrKS>Q#01 zkj}N=XWyXrr^?LAg83M*7{B0(mRVF(wmjgX{MX@)arry2TA0HPVA0!_3!su|m z7U>zRRK27G_89az<69kT@(x?r&S2ot;nr4zduG>WQ%d-I)ECovZ#BOkL`Xf7-j5VsB`~SWG8uMSB*E?nO5S^Qw>l+=FmXbmk zGWUD)N#fU%eL_Nl;oaq7VQDF6Lz?}td9~5y!CYToA8P~7o`i`BrADdN$Gtu4rK2Qn zKKQwbYL`X>P0hL@SZU4g_)AjX+qL?0;(hcB(bLmYs$NVqnac+EsQF4CY8z+X-B;0_HPW=ATxX(ImA876h#57BUNfKYBhPVjqo1} znW)v8cX?7*n4rUJuP^0%occBK|}XE zQ*`|79GPNIOF?dd)qRIbC7)|DOHa4&)H zgCUgCF;J!1I`vR8FmP}oqADydmaCpG=lgD6>mA4qT{naRW~06t0pbEY7cg|9Q^KrrW&|AjG7JXS4qOw(t{M zL$tlo)zK383>K&~T)%*>Jzl{ABh%u=q+S%@z}(1>BsFySo2!6lEE^{s24 zXwz3MpU3sY5WfioI*xwa`qVO3=EBd?bOLM8*?~gr#;_kD#l^)ZW71^1bpfRxEV!nHDlt5rtFsbsn#TxQdt=8h z%;@x8hjug?o+Bv12xXx2yB)N}knl&@hlJCaUR+#gHMkUw*(n9TzTKpY5PDDCn{QAxU3oZiClG2(+}W{Q^f?=5 zO_EPuvFUS1Wb+9%nnk+-e(xXWtEulv&D^j<@sG90(_rB;X$RA*=HmlviAzWbE>bNZ zTtWyTXJA0xPIFJszpCug{_LcmoPV`bzJAw3&OBoUJQ*yUB@zNUY1CWhUtLhoKrE?T zX*otgMNLfr?!#)-@vQK*!DC~wY&?yXwy>ENrnE48Zj3x|vHz``D}RT&YvW^!EXfic z8J;IgD5kPDGuFqR7)xj}MTkOKNA{&C#VDfeG>XY%?7JDfswsnEtkXPFNrP!h28H51 z^IY#=@c#5(?{&=&bH3-k&$;jWd!NsJ&hytkeF2#lsm?-R>bC z`uYxJfE%-W6~LXKr`LX$-g*)2vAxUeo}bZVBXINOtT@ita;soJT}H|fC0L@zm8?8x zSo#zH@>gY{s@NYIJ9@(>cJ-(zndr>jqs3y&JLZRMFnyXDMGB8`E>gDMmQpJzd7}ky zG1S(Ug+&b2B!;#VreL5+Ti^Pb^mpXf>130*xw%`_(`;55tCOYJ@7-1olSP%o5s2vd zY@;_gKK+(2U#?o?dt#bArZF+49Fdy-l9Q29>yw_shP#8oMDY-;>g~hC256-&$~+O> zcrl$LVm=TY8u|n|S<~5h77B&7`Bm76$sH95*(m93?7L)?rog1hi`F=ES&>e{VJF|k zG#b{`)s;BN@&o#v)M4Dn-W|+_uUzPYX0{5j1xag$@`0eX$I zNOYao(bY7#plG_KPxCAx!l(IQ>ba;;+Zr*Tg;O@Ug5V!rx%1-j*7kNNr6%}^tG$ej z49}QOZ`}rl+x&Ry@KwR_5VH$lUn;%4i!bOHMn$ja117DL9xA}FBiA(`%BZ1O#g#I&!LJGyP^veP= z+Dx70Re%wc}Qh}qekoHagD^4e&II! z&5`*twPw&za{o*(_qxMe+(DYd-E^Hgc2fbhPW_I6Kd zfzJ5yWNp5k+60|`5g~_~);N6ljP64NB=WBt!jgci$gNE^-J=pUI-g@k?EXqVcUMlQ z2`W4{5REA{iTCKna_FO@_wF0m<^{IIj3>AF&t5z!W!mx1b&y3J+==nJ5wF*VpO6p@ zl0eejwDVoH^P8YTkY^s6vTH97UYo(CQr+V&cq}EJWgg$}s+1-Sfuy*|q5!3sf;FGe z|4GAz$+vvg%`MNP4*g`Z)-$+2P3R6~zD<=cy3SpjfYJ;K3bG@SNDfb2L9EfXwzqhj zT1-5r^^VnyN_gig(pgniHSR0vyZ*6bJ|VNk#l`D+pDr1k#5EeQ^VzZRPhD?fc6vCP z(Kqh?CfH_wa9}Foo~5MeR-Ah5GH4-@WEcBAo#J&s z`T9FPrc_GCfoz-Txy0`boRlbFNo#`g8F+O@1XRF&m+mnp*vkV1Ys+=UU@&NMLMI38 z<+?d-%&d}KIqY3|SR0VO{o*3JBh1%_%Q7$!GVGQb!l!Kg%VTvZC|}U^MlZ)x z4|Q9ic%p%kQ7s-nfEAwz+WEPeI!sQZ>P~(X6|I4VsFxGFmbIBukbkI@c!*b5H;fe= zN}HOR0?6WK9t_r=d1*z;mOH^c#1>KkgAHaE`faBRm{F+mX1^u#ATuj#20-Rd-Kl3N zP1JcypNNPP4GdOn!o*DuOHyc}8gHAkS|#BHR@TJa+%<#^CKBWMAE2}#??+IidW%Z% zM}AoHt!q7`F1@<1%0sZa>T27C2nIH*D`xehJrDIPD=WNppcaCGTP(MC5(?V>`CHAS9DlN`EZei~MvGHHrOGcU3hJARxmow7{ zB2n?)UHbs($A`O$Dk|+zby?HRk1`u-(~V$Du?ODU>n)dqD@0hNeoyB|KPg4TTmb|y zpZ5xhYvnt{y-$~KN#0EY>E#y^;;54JqmqY^WU^`E)>3sU@%TclLxDpoQOe`SLX*v+ zFqk*+-LTQzgqyR;6L;+ZkoxE{)>2=pK-}j>3ZU{+VSv=HCv7OQ(xwU%OzQzQ9%S&X z_OI#3ThxBEe`8<}fUuc;r^mUZS?G9W{OM_Q&-F$RqBns^)HOY{|B(=jR_+NeodQQx zfkeDDzPPA}p66^z0LKbKZ7mh6u4It^CB&b;9BRYs8#C7m6?jOHAyPN9M8t2s10~W&R!9~gppA?9 zf7S5GK+xpniY^^fBO0PY0KT6>j+Iq@OE=^E0E?hPpnAc?-S2=PzR`RdLiO$ zF1U5qc6D}883pOMS;K)qP&Dk>@j@{wsF-iWgc{1=wzn0}VK75z9<3;Z2b zK++I$1b6Ln<~}e(%FB1gPA5JXJLPbG2fab!xcN0Jy}}`a)uH>jEyzV7%=DS$yRMCC%GF4Uu2@pO`+iO72?iX2rsoQ~_YYy?FcF!}b>rj4mxLvDCAf4uas} zXi?DR%bS#R7+Jdl@Jya$8;^)#Pw>WgUdCp#x3Ac;j7$?|!%KSY27k-pX*9rR>Gaj< z`nl1yb=XLm$+;}bJU%xmKwl1+WBEF~dXkiQe%E?$H<|0{U#g^CsKXZko_9y z@3(L)h6Sej|nZ7G5 W8N9(x#A`JG35dP5lNHg@C+**$Q=f + KIAUH - Klipper Installation And Update Helper + + +

+ KIAUH logo +

+

+ A handy installation script that makes installing Klipper (and more) a breeze! +

+ + +## Features + +- Easy installation of Klipper and related components +- Support for multiple instances +- Extension system for additional functionality +- Configuration management +- And more! + diff --git a/kiauh/components/moonraker/menus/__init__.py b/docs/installation.md similarity index 100% rename from kiauh/components/moonraker/menus/__init__.py rename to docs/installation.md diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..347b552 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,82 @@ +site_name: KIAUH Documentation +site_description: Documentation for the Klipper Installation And Update Helper +repo_url: https://github.com/dw-0/kiauh +repo_name: dw-0/kiauh +edit_uri: edit/master/docs + +copyright: Copyright © 2025 Dominik Willner + +theme: + name: material + logo: assets/logo.png + favicon: assets/logo.png + icon: + repo: fontawesome/brands/github + palette: + - media: "(prefers-color-scheme: light)" + scheme: default + primary: blue-grey + accent: cyan + toggle: + icon: material/weather-night + name: Switch to dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + primary: blue-grey + accent: cyan + toggle: + icon: material/weather-sunny + name: Switch to light mode + features: + - navigation.instant + - navigation.tracking + - navigation.sections + - navigation.expand + - navigation.indexes + - navigation.top + - toc.follow + - content.code.copy + +plugins: + - search + - git-revision-date-localized: + enable_creation_date: true + - mkdocstrings: + handlers: + python: + paths: [.] + options: + docstring_style: google + +markdown_extensions: + - admonition + - pymdownx.details + - pymdownx.superfences + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences + - tables + - attr_list + - md_in_html + +nav: + - Home: index.md + - Installation: installation.md + - Configuration: configuration.md + - Extensions: + - extensions/index.md + - extensions/gcode-shell-command.md + - Development: + - development/contributing.md + - development/changelog.md + +extra: + social: + - icon: simple/github + link: https://github.com/dw-0 + - icon: simple/kofi + link: https://ko-fi.com/dw__0 + - icon: simple/paypal + link: https://www.paypal.com/paypalme/dwillner0 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..d7b7fdf --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +mkdocs-material +mkdocs +mkdocstrings[python] +mkdocs-git-revision-date-localized-plugin \ No newline at end of file