From 1d4c4261790b3fdea571a66c87265d3a7766125d Mon Sep 17 00:00:00 2001 From: Michael Schletz Date: Fri, 29 Nov 2024 19:46:00 +0100 Subject: [PATCH] Add processor in shellskript --- 07 Asciidoctor/03_preprocessor.adoc | 21 +++++++++++++++++---- 07 Asciidoctor/03_preprocessor.pdf | Bin 153612 -> 158866 bytes 07 Asciidoctor/convert_adoc.cmd | 1 + 07 Asciidoctor/convert_adoc.sh | 20 ++++++++++++++++++++ 4 files changed, 38 insertions(+), 4 deletions(-) diff --git a/07 Asciidoctor/03_preprocessor.adoc b/07 Asciidoctor/03_preprocessor.adoc index f4d6995..4d8d39a 100644 --- a/07 Asciidoctor/03_preprocessor.adoc +++ b/07 Asciidoctor/03_preprocessor.adoc @@ -109,14 +109,25 @@ Ein Dictionary, in dem alle globalen Variablen (z. B. `:author: value`) abrufbar === Aufruf +IMPORTANT: Um den Preprocessor zu verwenden, benötigst du die .NET 8 SDK. +Du kannst dies mit dem Befehl `dotnet --list-sdks` überprüfen. + Erstelle in einem Verzeichnis eine AsciiDoc Datei. Kopiere dann das Verzeichnis _Preprocessor_ in dieses Verzeichnis. +Du kannst das Verzeichnis _Preprocessor_ auch in ein globales Verzeichnis kopieren. Mit dem _convert_adoc.cmd_ Skript kannst du den Parameter _--processor_ übergeben, der den Pfad zur Preprocessor Anwendung angibt. +.Windows ---- convert_adoc.cmd my_file.adoc my_file.pdf --processor Preprocessor ---- +.macOS +---- +./convert_adoc.sh my_file.adoc my_file.pdf --processor Preprocessor +---- + + In _my_file.processed.adoc_ findest du die Ausgabe des Preprocessors. Diese Datei wird dann den nachfolgenden Befehlen übergeben. @@ -177,7 +188,7 @@ resolve_links=true:: Mit dieser Option fordert das C# Programm über die Klasse `HttpClient` die Inhalte an, löscht die HTML Syntaxelemente und ersetzt den Link durch den Text, bevor er an ChatGPT gesendet wird. Dies funktioniert nur für Links, die Textdokumente zurückgeben. NOTE: Schreibe die Links in eine eigene Zeile und ohne Punkt (.) am Ende. -Alles von _http(s)?:// bis zur nächsten Leerstelle wird als Link interpretiert. +Alles von `http(s)?://` bis zur nächsten Leerstelle wird als Link interpretiert. save_message=true:: Die API ist _stateless_, das bedeutet dass der Prompt nicht das Ergebnis der vorigen Prompts zur Verarbeitung einschließt. @@ -205,7 +216,9 @@ Falls du Prompts mit der Option _save_message_ änderst, oder nicht erwartete An ==== Beispiele -Um die Verwendung zu demonstrieren, gibt es folgende Beispiele: +Um die Verwendung zu demonstrieren, gibt es folgende Beispiele. + +NOTE: Achte darauf, dass sich die Datei _chatgpt_key.txt_ im Verzeichnis des AsciiDoc Dokumentes befindet. [link:preprocessor_simple_test.adoc[preprocessor_simple_test.adoc]]:: Ruft das vordefinierte Makro example_macro im Preprocessor Programm auf. @@ -226,7 +239,7 @@ Aufruf: convert_adoc.cmd preprocessor_test.adoc preprocessor_test.pdf --processor Preprocessor ---- + -Die Zwischendatei ist in preprocessor_test.processed.adoc_ zu finden. +Die Zwischendatei ist in _preprocessor_test.processed.adoc_ zu finden. [link:kommentar.adoc[kommentar.adoc]]:: Verwendet das ChatGPT Makro, um einen Kommentar auf Basis der URL eines Artikels zu verfassen. @@ -237,4 +250,4 @@ Aufruf: convert_adoc.cmd kommentar.adoc kommentar.pdf --processor Preprocessor ---- + -Die Zwischendatei ist in kommentar.processed.adoc_ zu finden. +Die Zwischendatei ist in _kommentar.processed.adoc_ zu finden. diff --git a/07 Asciidoctor/03_preprocessor.pdf b/07 Asciidoctor/03_preprocessor.pdf index e3085f56aefe15e02330a0f76418abe55871767b..062186ddc9d62a8adc4d1615f0bce7ba86b803c3 100644 GIT binary patch delta 29982 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 delta 27932 zcmeFZcRZHi`#0_~vqJVJvd6ve+sq0nTeA0_nI&{5J1cIvC?g6LLPWAFMF`m=BvQ$q zm3XdO^Yi)s@q0agJkRf+=T(24$8jC!d7bP1K1Nq}+9-8m1@*PB6mTpOfk@pGqJ$bq z7>XbY7_lPd1YiP2G_nTvuFj|J9h|)a1W;%~GH@M06NE{{t4v5;Yyd2w-Y$Xwca&g3 zBYv8j_@41`cl32~7C^%Z7wv~A5snTxIXHM<8jvAHqX<3q;w)&)|FA_9o;e^WQE+D$ zG@9_;0Zod=9hhQZ|HD*{;Opo^cwH~Sf}7h`b0?0yX@(38jeUxp|-gbW6T`}OXF$*=Xe@%)z+ z8k!mG&jju10A|AF7Bxa|DX|VF)~QBfHw^q zg*@o|Q}%*nG_+bdI5gf*)$h^aC>b=GsQ;rt5Jzx?dK|nSjYG;{-~z-Ee#vkd6by#L zKplP$iN?wiZJ>AJi7)*nLPH>kJN!$8Mu5q{kOw_~+W$NNH179+zvY7$I{rQ%_`!U< z{)m6(`+KzC3nIRZ>euoJ-n9R3FMjO>$Z#5vCiEInQljOMGH3*WDT$e|GEkbq0tgf8 zM~_gV(P$YA3XC`lLEz)4?=Km;maGK-v5eo34-g_WzCwXU%E{met*=-K(i7LI&@kv6 z5Ew$oL>lw2wt$HfjjSegn+4!Fa9RNx_4_0%!AnY&&@;_MMZ6LyECNiS1=tCPCOaq~ zK?X)xDPSXfnT&y8fAENtkUUlOTVNwtOeg;qI0@wM{3uXpj0}Rv1gwOVcX5;lB9R7| z39y-K|2`d?@n=P$U@|B;gbFz90P{#3G&xXS9nhgf!65!X5fa<12^Dh;1c6y9N)!Sm zgE{~&8$p4Go?tNh@we_^i;U-jf60W1a#q6ZTr3$1h64o|05-7B88|}7`0yDT7bkU+_78ELgxf0)P7Q>M50hK2sv=| zC}2&n`piawL}O*(U@9%Z3SJTdC<$qw^M2|4M4`PnwSfO?!b4bCD5gN7;4;XcJ5~Ax zPlklafvT(!foU#g;1SS;z#{+B#V`3^y7;B~g?@w_Tt*K04_zQ|a>Nn-&;oGH0xg3A z?dYH&DP)(43=+X|E`Y7-_O2K}35Ps221V%mf&AT!C}$z??OpjT5;?7Y&-1rP#Bc3M z2|`{U4LRh7a0J!bgGo^k1q?wopPBG--<%A(rqFa{3Hv`NAlD1_@d9ku{eWP|;gW-; zE&vv^HV3q;qSk`}Ledjj*5BOsGbYl604spNf_l;b7Z)6&z5}(gG7a=sR@KMHH!wiJ z5+YE&&C|k`2qf{TfUKFh1=K)8Oawy<_yl=*S<^WCIQcqw&>+AmOF)V6U`vq=g~36g zivS8@Gl*``IH-k$NYU2{;37p}3GeI#DX};V${t5}vZ+9dJqZ0caQ`Fp!ybgB1g7mY zb`%2Q3TPY@Mg}H_lEVm~kdSM@fak0LPQu_e8v`5xBhEV@(BIkKo5qiDu9BM|*r)`q zm;&U4ib^Vi?hYrRw-OD80st!o7NQq9;#ncV98!RRxT^>h*k=Q9fm;C3LNo?@NP!wM zEEWgCYymXbNCuHudkatP5*Yyf!D0}ETdgpHiWe0r29cowaMYflfF4j_Ax1}oJ%<3J zpH1Rz0{5r@%HJXfE4W4pT%p9maWXg<*n0>tB*ntPUQGc0%Z~VfNTe(v?;)U!0s{qa zFi?;SFrqwYBEUW>07(Y5!B%aE*#oG7Ym^u)G30@0pCzpp1sc)-tiMzTHx|r=6l9PM zp>m%Cd`$y1{q4X8-lYYqC^690M`4K8S`-Iu$d9rRy#_NlKnE;RV4$!Ka{vt$FG?~< z0$~8a4ze5uE>dEk!;$;Bl;3UQ6e$k$e_R41sLcSxQD7jq4F9zpV)N&6eyNE8G#J7N z)Ka3cI2k00xINHD9yFmLQNNmy$7cg4n1GiQXbACWqRS^Pd-Vu(vk#Eivs{DQP3TOoHy~jf47O7 z^t(-T;9xu_Kp;aww3B)mFeQT+g9!VBTXCR;963Aqf(u9?M-sz4%$4^f~LKR{0lB_hPI2b%1GD`tTL z8Xl004=Da+N>IJY3bye9;S~Sa?59(JcKpyOA#sqyL=iU*1(FK@%w&*)NUof~b&^{8mYwrgo86*+8mJRF|1nSt3P;e(l%m{wRKE&`}4pe}GABf*&;8Jf`{RH+DGwwBM4qgmkO*K$iGZRTD7-wFeWM6;SAHp=v)}>OM4+4fOCe|m9Zsw$ zbW?sRh~X8;D+Y{EBA}=TcK{m%C?yWvoCC!HcIpkGyX-9ve4{|1h;igEo+g8&1EMBK zP4I#P5`Zg#u}zc*fq=rsefRZ{hiwk+Xsk(tz1P9uFnJ2c?F;wF4XyWS0Si zS)fBi{!8ODel!r9$pF&eWduOUhl8PIaB{?`@L>8_VhD=Gp|L-=i6GFZ3@TxvWniIT z5QYVzWw3!hSl|aW7P^NJrlEK>5C`m0W1;*H21CM8V5l50NsWa=QLP*bjRo!Gfh*L| zg_40GA(4Fds zJf;m$0C+S6XsFr&9nYVv|F7!bNdB+(cPbC%{wNG|XuorRG?Z)q9O_RzPmD1j?|g9h zzq+9?M5>oVArC45_@7k;6bALn?pNjEufmZAgFS%39}_Pc3`Fz?rGUR?zbNw0;J@YH z?}vstAkn{*goZ)N$Pz0Ie-`p*+`o(c`SL$96zcQg|4a9Od*|>!x9387!HIVl0(XYq zzZx(`52*RqpqdTzasd>HK{z!E;)tK5P}zt0EByneKNf$$#0?sl0n}i&0bui=Jxr*P z5J?|!1VO(T4kj4_tbbKtge~9(G8qAnsgckE4p`$4(*9_E@(755dVNr z0?L))ugqWV?-CUZTK&IZLqM+l=TLvZ2FF4{F#JEf8XSv);`#sbYH+AD`P1&#mHDgq z4Yt3Uf57%v`4e1!2mdYqe*bT<{hj0=up#~|cA;?T_v+*#4^iPww1* zfbH)N{9oI-zhL{{*}0!!Bjy2!f5FBNsyP9T)NrWCh&;H??=o3IE@uEvs03NS9%n%8 z2-*dDk3AIR!Y~+&9L5>Sao|Ux42@V3s)Z^-nE-f58W16b+tGq5mH-D-Co;DL1jz)D zI55}}5Tk|?sh@#0c*hbDp~fJP5H6rg3HDk73Eaf%jKvY}C<2P`V9>v!p& z2KfXEz-VOkoG%bAiq^V6rDPLXZcPT#R}FB4C9F^nk+~5Cq*I-QoY}ivX>?p`dz$_~N_X zfIHEIk?QBTNa8atsJ1|?rGblH03Yb;0~j2(CT2jtifT|vX21u4c(Ru99KZlTsnqX= zT&Jv?40b6?`L#-^2JMH^z86yG zPE4*!bUuW?cqlD9O)q;{klan@kcd-Vdek*5HD7&AyLBKK0dbEo-y0lCHXq&e~dw@}>PmCriwo#^p=;TiM9%QwfhazEWVm!PWQlGs&ka*W+ zW4<1ZLkwiqwfHWjkaM>LI0Q`(SG4b0BX>`4_AB&_5POSB)C~%H- zJaa^bQhs)rirQkhHKHl{?QKAhF5OZ5otUOuB4 zTiD*Gz}LmIKWOjepZ|2eKxa~{uZ|!{o`!w~BQwnoQ=|67bp) zO_9RYtO-x-#LUIXypw-0>>k<>=x~pxnC6*elFW@bx-+$o`1YHsmCFDghb}&kPYUVBi;T1?MF{(z3pN}(H8P#7(M->&US&{ zjtjsa4pNsRb>?{GBSxB@WAGtUK9CPT85>b_iu6VXOTOk3gPZA^OauEZE6pU>a_K-c zSC;;*OJh_ZuUe83y85_k{{;F1NZLTV>DR1&FKt<%%;}mo;|c#M)u67Rjl=1bThWC* zb?R=69~VaT?e>nV+*4J^x+#|Dso@e&^C>GfHH*{g8}Ihffo;J@U+k+-rd`GO;a$a= zZY0{5-_qFIBO;4e}wO&6)brg)~rf)L})s0Q2zF70I@EqY{6c!c= zziRI&Vde_ecaAb6TwR_UHdfH=l(+L7>-DYspKn|?_sAb8yIGg3$mJG< z^w=HG-aC676IxvIwr^Qb# z=Tv?Y%`LuR`m<{`6P@FYXX<0-7aOmuEIVkQi#B*ijd8h^&?;y^A93USZCD7C zZ?%JkJ!Xtn7NO0jS+x1^Vtr`KIDTU0;o18^PxKr$%dl2=?^xfxlD45E*?`bV;}{FG1j^m6_9oby{)aPFg?9{yE{{>FQ1h1j6w^7nRge7-RT?%PGo z_czNV*9Xe=;v0`Ns!h)ySFhlC*TY{H{rCstJ)2d|qk|HR%e!IMTh4ZGzpj_X%kq9< zz7P$=!%=~k-W)!n*)78n6!PhjqlfQcWRA^=Wthx{Y|Z^gliY(3+vc1%&g@oj3#?d5 ze54tWcb-S+t%E^AjO1}-PWSs$qxtK-)WdsM_`LkSjwyaNZjSQ$u%Rd0f9m3-)l$5V zs1g+zY8tambF2FsX1D?DA3l627=LXQUb}6_KhhsuK%@GOe&4E$`Ge5)U6BCMwz-Is zu?VI~$&)~3%iR{hPTZ-z;R@#I@$JUF(im!^^weDupq)`ZxOH-2|1Fw_iu{6OOs&Y< z;)}7Jo+VLNyBCL3e>fCzYCaBCJt1`6B;2M7_UR1uoa8rQuTiZrtH3yX=2`richS0I z$6tBYoK4FL`L0-5wqGj3a7BbcX+)0BqLkgjs{Cl@8!GmI3!AmlVpKt?2Qi1i2SDXHmZFfiUdMYL)m&>nQHL#)6FF!3CTR<{rAO>GpbC`@CbmQb6 zSt(iz)-U8wsUBv$&e&ga*StvNnC>lO!`nkapTqbaDaqb8;2k&wMQQGuFF9;7qDfwm zaMB$0PZ2Vjv%aGBktHUiylnKukmhrB^b9-YV2W*dGP;b!J|gql;U^%s20nB0eqhk8 zbB%-5jc-cLhpp=;x_dgKztx1OS*PLiVdQS7!#Q8PuPjrAqN~j$c}kE zw}|swSyx+ZY3ThRQ8dEny;ZWER(I4;>B0GQZlu7Zdt^>@>k~p&jw89$J_S7xQ5_ z8i7=juWX9&i^*2X6niDIRqrIrRPc2R!3$vq^%%~V?7@2H{6JlF^masE@R7R5W zyU&Z&bPvTu)1xhsrsRt7{yqw5toaefbOM>mdv!pJ#HDvJxo(3|6Mrw0^aDmFmvDzOK>ii z;-dwY1irJ1%3pU{U)C{haJ0X_Gb0S0iSUwAyl=LZe8-5MgWIa;Y7O(0{A!BmgWPF8 z<<*V&ZT$&cWuThc*y;Ws7i!=-3S@1t)Z>OqtuNj`-l8`=Wx-i{=Q=6(6xUM_oUB&D zaqyTHZe}W-{&3lQ`U{?9oL0R?^;5(V=XfuWWSpmhzm?CF=RPTx%k$rJ%?e(WmpRxkKwf2t} z_1CH@@aoE{7xfpXmdAW_yy(KV;_BiWTIAOg$RHqe!LH>>ECaLH&c_zn2rsfQc>$%I z>0-jCq7DX<{^I;Q%=q5Gi#%y*UN^FF4)5svPp-Wlle%6K>Gj<{Dx>|R)*ab9SAfg?8Wh0M9`Day>|bI%Z_DlL%op5u%pDkM!fvw1wT#EtI_^A zm!*X%F%(oTrwVMKRNiOJ=sixa)YQWoXMa+qj8B(zgEU&V;4p6C!Hn(N5K0*AVb>MaSqDTB!=-P|PypPG=(`ksVx&5Qdd?|q1 z!6eb@ewyZ~X4xO&RrtKDYbTwr+fkg&WY0vlus^r7ieH@gKB0A5hVV+U$I51`Zb0;F z(yYkQc^Kcz47 zW479sg;a&j>Cv4Rom`!o(?mPYckF91G7m6r81ybjo@pIz?QT`Vw}NU%)w$GP$L?ZK z(i^r?3Ki2#)TfeRH$wA<&0waj)wUyMb`MEys1<|{E3RJAu?~c zzrGi<9FQrX>y>xVj|{4s{qVeCKzvia(C1pWISTnc0WVq?Sn?p{JIl(Yha2KenyU`) z65Z`7FfU)3Jw%_bmcVB-rJe2y5xBXfh3GH>_FE`&SE@bkT% z_d(63p6AOspV9cj$~u>wOvyrdKkJc}RBY^Q+TFI{6Vh#uF6W&wv~qK_PCu-*U?zB# zMQ~UxA$m}?QiE2ii9r+-$B(Eh7BaKioz)*bpSQ3o_?JyF{Fe-RyjoJO zG6y)wDxZ4Ab1Cp}9^*^xEN0O-CT)Z5H(GB>()e5b#x7qqVD=Ci+bTm1H~Yuykoihh z>yj|I?ztQT+>xSmAU`-}sG6AeDakjI!sW)V*e?7;>z-xcW@3<(Q_en)@Ls(CAe!lOQn$cjqV|!33R-t}7v*dk*x4HQ^pV=3Z zsD}@mudHx3K5KO|ZD^a&a^x*Fe)e4RCWoEko2%=$pP5^+JC7gt-=(6Wp=H>e-f6#N z$r2E_{Bqc)W|Jj5oMFKxoYfQmHBhy7aeRLZo`2?W^^G6Zc8f7q^mt~@GKZ&?Qp2xi z!VR6bNy~DEno^S1MW+`v}c7JCt)Rp$4m#ppWYMtkjJGfa|yP%8L zWDQyb^kuN3DRCV9`aW{Ki=X08>YThf+7K_>J~Ayet}sy)y!N(DBB)wI@QkHX656yE zZLtzm6f;T{997^S)W?Pw;j%p*ej`RQkmSpE#xCY)gFX39<%-Gs+f(+v90g6;?onv6 zMYG=Z37)-AOR`S+1D9Ge9&0p9M+B-es<3^3PRsnReKX_fF}B5!kfq5}RTLCe=+Tn_+%O-XJ_a?Hc?l}wH`{lH7F>Q5;Ky{}77 zp7+U?-(0QR+6v(RJ`_wIwrkzN{XA5vE|AX|Cn;Qb8KYBqf||ho?xUnu^pV?R2F{Xw z9JG%L2fZ`2mJ+bn50SmL^R^cO38QAWq&w1Heh%0i_bqm1^N7re+Jg1&F%G$GeT}7C zxU6j898@>*N=8;pzC{{uR^AbG>x5zo-bF$$KBFV2m6pNLbwQ)hC9+Vw{JxNak#DDo zrDDovy?%<%jEg7Vg`L3S3u4OBwzt`P6k}4nL%*y<+%NDB4zF=+5H|6IvxIy$s*+zW z^n6SI(B*QTd6M!%oWt#f1{f)W|-!Yeajxi?(__vz>~KdqWV{P{_9Q&YL|R9lRzcp3lw7``TjX&mTiij$31lKzT2(oHFSp zaeW#mdA-j{C(c8*Px;5k zk4JT2?Slo?8jfbFm++6tXS=uVCJhO1&b*J-h)B@Ns#}gPxNd(eTgs+*cs+k+d}ny4 zkJiN5B#WKrOFeB;|BmDPkFy#skL!9()40W77=B%}`gUmJE8>;)b$+HBU5teZN9aUM zdn*Ur&NeujyWqv%_NAxx$)CxouM-oJD9H{H91(X_pD_yY8@rW*fBR;?JG4aduvKo3 z{3jh5>ER47UPg<<^_E*G?pb@95L|%nuHnf4etw(XP%3+IE!X>`alTLI^Tv&{ z6m}kYPg(ZhF44@3`rgcx>{t{#sZ%nVQ8M7X@Q}w;Fm$}36MlRU?`YN#G>=*Qept=_ zuopb*;$tbEF1Sk@*Lo#|rx_lJ6>Up2XU0TTAxvX?P?QvBN4g#EsuD8pBt7-bYdfos z6?S$TNLbF?rs%NjS*_DCH#w~~3*VL9VK|=YA>XotAH8zPhTwassOe#xn8m|RYFGI)K^xU9RL%b4=()kS>JCZA`6uWj^&z}Niz z;AU;96Mmp)*sj^)M<}TzZ-{?;!E32gqZRI_+PaXDMP2X8mrL`4&pelO^w;XqS6cnv z>>I4OT{o+BWiYj{bFc&v`nh|tXA&2_G29b;%q2r4`i>jD^xUTkx#zpjLP{@&W`901 zDEp`srNl`#8F|rq|CJrX#)$F4}iL-y10yII*zuea9^0 zEsHGm6w{^eMqx(rCv~^-FX-_#C}k$-$|B?0S6({I3cPDSmK%(xJT}Wcn&N(eS-<|! z-pqHh&h@RQ4Ni}u9wK0A4{ma~P}~qsGnJXt5-p_N(&ch3?Mg?%Sj`D8bcSGhjR}sdOB@$m2Z$)^MY5$3_wK}G=E%J6At_sVP!tsSmDa`&~QTK>VgjD=iA&y4wN z=61;q&Xyf#pK^X!Dme7i^SWSsdW7l=n8UZIyJtDq2zLtX&yehh?vV0CPua|MbKa@B z<9DW3Io<2=kM|0umqHU2{La6%rrJYjE1x@Gvm$@*+)MUUecqY-c>9^RU7>dhTsUZE zb1g=~Vv{EKxI(?o(AG*b>KC_8ZJ(U{+B3hI7M>iCr}*_tvFpv7J(FQu9VtC>KKoB` zD;om?{XaN4f8dX!gN7WfZVqcTKXQC|y`^FAgb?`k4?p20_b+~CbU%9uRkK-gm~8Y*GR1>Nx0$Y%4BA*s!u&mBL@_;rlh>}@D7UcEfs&h9A}+gsY0k*3tnh?Fr&Tx;)7Cm8NUCKdwQ#{!Z}Y6JapB-{g*mrZ{gbuB%d+Q&Oh3}+IBqLg zt&cx6_VRwQcD1YQk%%=u9$D+;8Ghnn(_mF|$B*Y*VGiT>_IR`e<|ol=!eM;_ppVt3 z%&(kqxAmEDm!l7A6OYA+$&h2p)Sc#y3e9w<_MhE9?x*nSK|IwDg=3pS(j%*!nUce@ zpu+71>qsBmvt5^^?q_Er1iK$PbO&OYtG(E~YgD?Nq^K|p|kED*Q z#i}!x_|#z3uIzXlg&Trm&30XtS2XH~F1o8{1XqQh zIZ3&Ap1ijE1fzbhUHe+OTJ+>yS>cLW&Y=Bqf z$t=%cd36fUtwp0(>cV(6s0?a(nQ@dpjPTG?l=X^$@MO;MCGo@~N$;3qqCoRH6SWJE z-FrC*Xr`I3oinFqwwopS=qIl^kzNY8JZ1Ok{EY6aIFn7?j_Byyk>zKHmBxF%P!GDz zM2gv-H0@k8@|jwE=J|E1ZgV`Sduq{DGz`x4x^Y6Fv5Yd8?DfnOymQIB`)nF9NONNo z9**|K6mwxyj#FXMTUu#NjF+v7s0YySLROfFSu*Si~1Bh`D)CBM$xkgj<(y45wc|LJRQ z(kAZF`SBM|7Mk>B&t! zxjpAw)=SoWar*q>Svw8qlG=Dm)fyQ^i8Dr7CN7l^H)15GZ>iuud|0bJJ}3V9trZJ% zhLnw|!D_@b>xJZq6vdi~{MwQAfvvF0yCJc~cQb>0lrO!pI$%kS#&Ki=A@+g_3# zxz?X!Co~h>$u-6Pv;k!*ge1@yap|(&CiNGOeB5 zm!@@7Bw}cfJvF@A)7I{o5SG@_xlUby6G?aG^jOqU6fMFmi;?*y)tGE#2!DB^=NvF< zrC;dpVD3N4DZZJ??lx5>t$b3Kg-uVn_Wk_+yZ2z@VgEGdlkbG@ou*2xh&p>h*dEQa zfbwdIPpLe;NZWcmsT1!$tZy}8xz*S6y(f`fT0U!_oA9X4@-yZ{jBoo#`KOoGKA)1_ z-u^IQa~D7R_L*4%q4c{=)B=xdhvV-e`AtP@y6n~}AGc>T7F<002@ ztfgcv*MRMMhjKR9{Dk}Ew;uv6RBz&qHNNiVIDI*3B!iVwMyql$@$=>t9Z4*bep!>& zB7XK*39I2rm(AsRh8q0G&L#Z(Nb|m>MNsXri$diO&p3~Cb0b3e{T4iR9v(f4abZ8^ zo^&HFy2`IDGU+{oLfSxGQU-rfZF}eup zG_%|u^SXLTO>fRwu5}$#yP#n~HXb@R_nkU@*XE1kGQ&Hyj$)vKaucM2@za~7-$i7ESKj>K- zvq(+fq@Pc^Gt`sZ!;+HwW#GiDLPB+Vd~?D;(aW|%Lft2Yw32#!_@%w;aDwI3>PNA9 zaP2bpQs#Iue|dV?%UDwVgi@(*58TW3oq^)h_Y&)(uGa|#yF1KR-ya&CI z^~JDr85GTD!mG371ee@`}vD-b_Hdv5f;@iSJCFG ze{B)oXmZxJ;NHYs2>w01@q3DGn9{YiGEe0bj21Viy*@^n4g0Z=CvGlVcP`hD&s)>g zoL_bI$cIU1+z^#9rt*};*1Ec!_m+t_^6<2fM{+Ow-Po<+_H;jXHm?%szA8=O2NZSj z+`6yOd=JAKoZ~?oGG*Ump6pj*#zoS;FlpT6FddjPAzJbJN;Cf9>*j|%a}PBNAKUPD zoy7*ZJmUF?dP&-kSUov|KQm5)4WsTq537&CPVKpoPabU-2PDIWSDVT{B>Sc(=7po) zy*;}HrgQ|r&5SD@*FP-I#ozG%HUy(w4PUK2!|-E+X~b^k%gb^l#O92b-|CkHV`JIV z>}-0?Dj$s1t@0xAUkkJ|>XhN;-L4MP&(q_UKa+MIakQ}kv!~T1-II8}@G37@3-U2& zmb+lT$PUemJ3Lzx$??3ZqpO$R?A)bKw`P6GZ~UHt?WU-lNpMAmWJLy#$qD2s+oeMa z`ZjyK)S7!Y!p?`s_&Kk3=sdk6`{N0+qxU`6vBt!s@h@g(Z{ShtCWdJ<`YcS`*I zrN&GM1oLbouK~@DlT$@10lTU93N_qHKdjUBEpC1qe7j^5x%1*`N}&3r@#`Q$Y4EY* zbQOu4S_|o$q6>I-?DBc%`}8l`GqZy|n;Z!u!N#`M{a)%id(-N?j|lYQH%rEAXH~Ay z#~6(wjPtA>|G1-*GnEG3=!u=%G%3Dc_2r)U*R0V7gQ4jMce%=R`^>(GQ?RNV`*F5) z#OP+dh`O`(LfLXXHzTQ~-2Ri$2hNkMb@~J9LtKl)*gHDC_$!2)$8LPkgeRK%&OLkc zaBYT5)HAAhBj=>rlLD&PtJraCe|Hdt(k>_&UvRK-8$2W~q)S_skR%kYGDUakEBAxs z5B3XHLoJ#0nvPb=gK<0Z8jTmV&Iflk>fP4YV(v5d9@05~FNTL;*Atc(v%4ORzQ1tYTIGcP|s`8pbPw%XhWIHE|uXJi> zO7t-=13$z`uL8`j#yNu%&g7Sz$$nt8c9#}rB=cuWyC(zXkuT{ zzGNUgtKJ{aj%FVbnjPoiKTfCih9QFA-(lU)4PFm zPcC$JT(V-f)fkOJHaowg`0!SUmOZRNKBr^!RhQZ7mC3B-h*)PdfemXxH=14tQYqS!dOesI$KMCU6V7q8FMOHwt&UwRJP(EWa~*p=$2j zW%ngtCTM!hBrEgWF(PLlD|E0*ZxT?jjN~*#)!ZCNw35i2iNrqV8|Ay%Vl(to?b@mK zldO2rC9&83@{;Nfk2rVd_@mZNUQyGI8g!Quf6TP~fenw#QGJ!!`_W`?jrq!;FFzv{ z!?TMt9oXy2pJGp4*8jFR`4+`^OJ=De-Rhpk)#ImY&OGwYn>r%5J7Ts-xq9wGgADKU z{nP=AqqG;LtV)vK-4Tr0xvgraZuH=_E8F}x{&B9*=&8BmlO1=ie6Pto8d@0Z7tT`hIiaQYRt%!&w?0;vUyfUQhc5^?IsCTkD<0< ze|gwWU{B%75&qr%o#}yj@rI{VQ?rC+k}X6mE@rnrZ8Ho1QN^QM#a`9c+QP!xR`s2V zuEaX>WxDn4N_{yVg%Z?_`#F1NYs~k!9`&2Ca_F7)PpZ$}aJcu%^k^v~B8m_^7UiU`l zU~R{WB?`K4a^vem(`eS$Pz{grYrEvl>ifb=CA}RN&y6lF&8a(dyzU==*b!rg#1lI! zV>PpkdHILw&$zCPB}VmTzd=hEBxy|4uGI#7n6uRU-0yb8%}q%DK0sSnu9clBx=2o3uIzQl}I;+bn-D$mT!zRAVO zmHVy=S@rPi=lJ-1Lk3%gN#B`HO|7q{Z_wSf7mJjP>lMk0Uc_fnH+3V?h>_2nH+X~e zy>mJ8GP7<*2|6z2r>+W4wwKS84rS-w`;;2*r`(yIg$LhGovjd;%n5wpkaT+8=aS1S zrD@Ip{l#ffN;300$24?{PR~YrFK&6|@k@!fNS{j=oWdy0HlHbxg-!7^Us0S^&jpD+fbIDKnUTIRf_omacJq9}hT{W= z$|RafD+%T0-lbjBNK>EjT5HIG8))=-v0 z#*@<6PkZ-LJF?vSH`?#IJ9xBDm<*Emg^=nN$f2S&Tkx@cbTfvSS5Z>Z+#Z9_uV$={!-b*}r;D`tcG?;k6Js>+QrDMzGM z)Ml4%l?WO=DA+-osB1h#szhs#RTabIM$2 zqVeh6Lk8_6?QgvV5_C5AqpN^#x%t6^R94+PU)TEr`(2OhsB#a6au0-<=#AewvGeir z4Kl=xNV^eFwKZkU6itt&+wf5Z-f?n9zJ?0wTh{|Mq|3g4yMMPFU7&YiSe>C&uv)3* zy1u+|^&=`_dwI{b z{@w{DWl`~1N0W?BuB@$2-XIMN_0IQIzL%UtQ&pJ1dRCeznpgXJSG4-c zB!5waW5MW2uDa9dwT2f6=)qy!YXd5T2{CiSZ*kh&Q)coGvHIvliwDUQ3~NSvz4t`zl)OdJ2s|k3%5% z+{dxQVJ4CEg9Y-vc(NbkYa*Go6s1M!*p3;;&~U_eX{ph1Sf;lPL*!n*B$qGN18&kQyBC|pw*w84&3&Tx9ofM!lkc8r!EWv-FI#br2PpXQsK176_cVX>Oo;-f6fB%%0-xN_Xr-I@zM2_=MA%38+n8AEdS zH(ZnM;MH>%t{pzfbs{_Lu!8|lLm$`( zQ|+(mbmku$I7NMz_Hf*Fqjdzr;+}3xt{HIW2Qc7C_k~hVO=xDWOL;gl2q^_n)3=)O z4__vKptQzSt1Yh~6m?IPn&ega=JWzXZXE2(W|oMC8YV;|nZ?g|rdZ_ksnbRxB?C9o z2dXzdA*->s60@creBYnH2dfz?V+%MHVC?wp73*eD(bybXQ$6U6^NFty3!P7~$y%5_ zx#cuDfiHM^Wp}hrZnP>&%G%|LhNYs*L2<%W0nRtMD{DKrW2)4$ZG zI47Yp<0S}7bd`O^V&}rm&hV_@rslv^ubRG3M{eF&)QmJO_LOeN#>ZcYIGpbxVU&J0 zfkq;2`$&JE!13(;iIyB8oq>1lr_NE!%uCd_%iAxJc=B+Jh>Og}2areN=7;uAQ}w)c zXtIM{#fNBkgm*s9{Z=ATDb{I9v)eL%Xo5*5JMXmL3$Zn?x%s%uXvWEi2(E~7&U17) zt)rF-yCmUjn_)h4f^!uw%YR8(*RMe@9UVdw6U29e;8`gqr9`SAt0F%(=aXfRFnyOuit zLer?!$!TGveJ3!MWV94JPNg9;K6@mQ@x5yC<40tl-RVz8-(q2w^$dD?St85UWI!h* zq~g`=+FF4W)lO2RrMZTwH3b1arC7a2XEz6P;MY&3;S%s zqmaG%m`ew;b1d|RvS?x0GhaY_CI|3tFjvtZ_@-Y0g2 zL94-KdZljBe(ya;>cA`X}5skerb=_^Mom`RcVc)Er|mYzp$ zEv--fnHBts!wEvpj^1)-!uvQSj*^AIF2c0-mGl8H<u|i?u4v3~ zP+pPt#TTs*oTS)wK@&CML;8$I?@?UCy((9-i0Czye`QG8rl18YsD2FR(##P$onFLq z8?N%cpqfTUh`~wxEg3xK$9Q|a_9e`ti_WanA4wR2etm#Idr^PRZXw(c~4gx5$}gMVKk_qTdBNwYm2etL2e4Qktg% zW9lmiGkO+QgWM}@w^iRbe6S-o*McPn-z~T$?x4id$}M!klw49MQHM?^30lHqULqz7g;RLFZ+_@TQFJx(l0t%9*|4nsVx!-B&W!Yk6d<@FgTgur?_D( z*27XwVMD1Kv2dE%O0Fz3GPlt2i)zEix>s43bD}}jxn5MD6EMVc?zj%a@v63XMVPuse_?6{>IMc{iC7FYK@qLBd> zu>3M<8$WX=^qg&^Jd)1$LGwWKM9=G%PeY$RYZqNfaC&9`t^e%>;Wex1BFRe@x<&Qv z-CaRv9&bG{qc>G0cQq+Za4Yj@d?i5^#B*2Ip|*nE942zC(d9we(;+9v&a$K-9%_T^Sd?$Yrg8h+7{rk$NVyvt*wjCtH3=gDE0XuP?AF&X>Ka`%amg5A$4YLi<>7 zRXE4{dW-XP^!fJ_FZwl&%E%)u7EZ8}u#%6^Tt+zJSkF9)QOiHa7k*AmHcE}-P>2}I zZAK%OD>8TuO2atVHBpwsvERRq0TJvLZy4Rf!$a~1^BDu9ViRWz%VWM>_na=8BB}j? z8W2^G3UyzTPAO66s;13v|Jpu1$R>DFDCmdnq{#ahm*@MaHzdAAJ;hYhgc$ITX)gD> zPS3OL2=<%|WV7M^tOisI$umjjfB8P`Iuk&XquH#9e`{jO-W9&fJy5Hzx1B$AJ7vZC zJ&L{eo9Z{lu!L~Ne!-VnZVb^b23d#9AF#G{MHcZpr3TNm?NfiiJ*+rSQca~<&_n&$ z)j6X2;))}KnMy9n6Kb@z(1!U2$5`T!-hhZg*qn0uk*|{Saa*@j%R@FK_R^Ayd)Ge- zFD_0WJBt6B(Ukb`9Oz7U+kSS<>+An&>&)Y!-u^${d?NdjUG^XgI{%-F~e9bL(Mysow@2q?@?0LdWV*aq@C^`j zInf!$vvMAL3fwHbFn`xKZ&|4`t(bd7dN=2^eN^4ERS#nKogCVr1g8+9a&%#pNq!6A z0Sk{(r6U8U`0bz=+}j^WawVNI?HKminfz;CqAKpEy24MQq$*vD%Z)gX{zT#mRI=%7 zANj7fzs%}S`8FeU!c^+S$&alKdGZ%-5mW6{o4>Khzc~sr{B@P8u41vMLHl_=X604T zBWz?$Y|$lg+?e>{d_(p%VbcMn>Q~JUg*M7~0sEz(^jG;oZlgRo?)Yo)vsQ=ql*q7_ zWC3hVrbqQwjg95biI#k4`M~tdW<99XNVLPyiKimB*K^~;d3f*mj&7i8;G}Brz3oEN zMMd*_`jsQ!K;4B+Zr|9&Y3ra9yL!X^SBzrghr;|P-#i5oJ)B5cJ0W;IqfTnI5h6@c zGIK7CqF zU$8Yr^Lm*x8YV_wgD>gKP2#vGM#fEZNZf4JG?4NzM^Z{U^%noKMcn7LLa~h8;gn}h zBd3kDKl7n)&fj`vcGoZelsE5=%|*hiimOx`5h7!@$uXxH2n*SKspCm9!B^|+lx`Zz z<3%jR38474h{~Kl!!Qya+C;%xn6+7D%hE35aJC7G0}zMfW71_Ko86^D@)2 zgWvE1n0JeMe~C)UqE4kM)z=**zL_FY>dXk!Z5Id8Z|cyp4W2!9bvpG)&vmvoPS*Yt zj67QAof&~dpH^aU#f<{X>;cYGHx|w7Z}(Zg@!3w;%?k9c`oZ&KjdgKiT+hv56pX>v zNrF&?jirbTGeRzx8X!RT+GQTKqWBa6xzHg_)?L|T7se^`2y8RFTc++ zZ(l6#?Q#u?3=fNx4^7Zq9K);2j)d(sZYNCLSRc#PPIF)_DK}r$pB~rYGV^6giNG!{ zf|`H5E~v7W57?V^9L+aq%cU==R}!&w7Wm8cX`pS( z39M$sZrFoJksk}ye#O_MTufY2^T@@x+za4ZjxIU1V|uv&Hr13kNms>!-r_J~)|Kc_ zhFchXd+(aSMiYEn4FCOj-&y~Og=}%8GpIV&+?XF+dqcNKY=oQf;>5+Osr%E{ zDY2{O{Xgs_FtWKU|$NFbq?TAY2=ti)> z&G%h$?^3EFjriKQ15-9{`YLykW!hYHf2d%>#fY|}E~|}&R0VvA@mZgu)%H5I$y;c* z2~x49SJXZELl(HXbPxs^fnmK0n=&RJY!LMXR}W*56JvQQ;fQ&2=)c{))6y5oX+FZ$zFeu|9Q3y=8GdFTED2reEqfbD)w~oc!l7vZW(J0^8KA|+xBk*hUlJB= zyfCnXzw~^~t^Rze<*`?d4;sj8C&9!@{6t4hpzgi#hr8c}Z%d9R$MSUikS|!MNnFV| znx->oVi39{r&4<%s9jp?WcpC))~jHVFT@E#%jINTPpSV0rHU_bC&C*!4xN$ggdqP} zTR{T`$B%4JLWYR;aNpQdo7 z$Lv7AwX+e-`98IlFS^9TXTM)nsDJzRV%i6WBI`GKHD6-qtXCXJSE zu1#v*JgLN%eyN`0SEd_0YH;%o_YecMNI4zrC#Kr$S$C{T=SG%gF4b1OKkiG=bcr3w zUF~5oOBr64%FFX$K$C6Uk`e&-WZy;I7c@=d6=83_6x|>nC`(wGDzw)zzK3>qzZ}Y) z|2mzGHlbEhQ3yMH<-@b`DHnyXF$-iTax0C6>NB71CwCXja;5l4uCk+l{^YFLr6Wrm zdz#uuk8S5uYpmQ-w>{F@{g|Vp{+n3hJ8o@_Ot^U@(|Pof_D2a7O*Z7CU>a}qJI|6S z?)Z1cgxHN~4(>$i?h*J6u{L4Q{E-KccDvc-e&qa08%IX8gEYh4y-3exp3vb3VQ>y1 zx}vyuwAwa~jW%rkrQTPhqe=(qpyqpq6yfF}vkunsZDqxzc9E zqPr=5{`rNv%wj^Cld|_>a&9}Ni z{q2HOn)E1Fx<04cq!MnxedSgwBG~#qYP-6AK2sI70vq+*R(n|1IpamKSptnnPyA=o ztr2#6tE2WUGcS%ffK~z^)>hK}1oxWXS_n$PLmnG+A@2d|LD|nj?XuR4&WWp~eMn1* z9laC@i4;1veNCNO|ybpLrQzDx^&PFqq}6RbRY9 zNpXN2AM`5o;dHkb$NJ$K3Or0!fNud7amWTG+Gw5(r^^-Qos$o`eiC|$4yGFHbAB6D-;}w3I zQCg+y-=E7bZN6(T;7J6w{FOIe{d<#2JA!1j-}AF8Bv*;jxAA z_>B`UI0dVLEser{l-BncEvD}wUNy(=YvybzzwA)omVRDJUn0g`CMDLZHFC;az#+|F z_N_wUWAwXdkOu|3s#GjdQqSxOUh4ykY!e=w|tBz2K zw&o=lhbdJZe~hO*Pjl1hRI?0IOk*c&J1Dgt@hrRuoXXW7=*HKs^!GEoQo4S|y5q_0 zb-F!NY2acYWk{oN8LTRw)o3K}p{SBy1N!z3b)bP-QYT?iZD6kmd%Q;ZpXAS4`$HzVsoW(;2!9(^AtSA1t z0!WSqXp;#xZ2PbN*~x!#@o^UxV7$;#$K)obGoRW%8^I z{ollhO&S1#NFaew2q3%9i_jv+eV_p-E59EFVh%$P&HX!r$~&yUA{~U(|MzYJS0Drk zKp!$90ahGA2yle}6@U9;g&^PTlfdo6021@Jv!VnLN(qzxpYuEd5ZeC~@(#tFlmM72 zbCG}u3|EJMe7jLV{9)W(BxLnC4V)tT&y5JKMHx5+K`hplfe1*Iz!qSxOi%$JxMqej z#BZYQ7C?tNpqWdA;-1f`=;VmwX0lHNfr2^>k4}gY%0U5+sz5Z$lkizB7xd? z?4z&*l{-5LKLvgiBuu-9rydf&%g}W}SJU{>5#(2IMV&DZRZ(XSgGYL<{XLp(6Lp99 zr!s&Ee8SA0$3$(o3G(_k zX%*b_qr6j()l38?iWI+k(K;%W+^&L`SUL68nNmaL7|vaVacoA5X3^U&h|KBrJEl+> z?m@{{ACaDQ25PCDk5pm6R3ac$7r&f1J&SXTasMl zGxZow#`K)OanZEp2V1P(6N_2gJ?O`kEE>ktMJI`wPdVZyUr=@mt0jw;;TvB@7#T4k z@{^yb`M$i{P%2OmEa$yLrI>};vU!TU*8$qg;5(d;+FRWY4~w@!-%ZOlNV-_im;6HJ zRE4)JTQw(jltnphKmgH2{}83_a-1Gz90gq)(0;?~IzVx!Ow5DPYdP|*02)T5;f`>e zqzSolCp?=>DN_9AsbxwsEfa#_xn$drX4|+9$_$l{PJW$a2@g#L=t8LOMN5^C8GZ*J zyp@q_nSt6`RUz$-LAGfMI|d!SF<@F_3shzgE}-z_@36 zj(#ZaUi#^yk)GF{u-KdDJLY|A*Gad?2VXSr(+H10UPl}EwJ1U`n4+nD+U}91SkD7& z+KQLdy9(kO8B(G#D<)(G^Mm^G1(@N|*&V z4({OH$@DCYo_ClnA#8`GP@yRHzJ>TK%CK^iMLx)lSBU&X%>3kP`_GehZmgg-y0o9} z)9Zu*$>Af8efV$I<&G->MAcA3C-te1S{4z{$5{8qck`Z{Y}YJ*U>uxTqEjWZ(hDy7q3|JfuQeh%K? zh6(sEd;JOT07}ld+=P#q{$@f5VN&h-4U2rYC)mT+(|-NQANQ}nDAuTd4`H@{5Y@Or zZ9o`0g?F`qa2%Tkz)Z#u@tFR;GrfFX(YZmIaco`OO*fK%D9;BTc~_D*EwySFR_fzL zUM~FcI{}D zd~S7a;9Y;(KAgH}tgJx^otNLJ?e!;rQ z_p#p>D_eB|OXw-13XtRIGyp1Ghz@ixD;oki^bjlk_Y;HO2H=5sPtdLPZ2&F%>+o)~ z0k~i=xyrA$!2SJ44QLNof)LSZzwo>9LpRvJ3UXg-X21N$hJoOkf7)c^WFhGfQX2&N zK48NjN!ycw(4GJIg1>{vKoly{&OpdU@P_huaYQOv^1_u3S zd!V#51bmbxb%scmkPgG2&X5ibigd&fWm*oBy!j&t1Yei=e{B2eH-FSa!ZFeakklvx zNd+CWAxQ%xA=*Ca=#UVy^`H#}@!&}U%V73FUcWj6{yXm|BpgnfRur@p{;l}GddLIw zj)rK^f2I`@dO$%8d6K}8ZC@bhSKxoz1EGqD1A);fB!)B#5E1RbT0oD-X`Vq_0Y6B+}-*$&i0 zqJIw#{Ab&tF&G4C`Y{-Y=SJd;fkZccJOAwqmxkcLBD0kNI0T<1 z86Bi>geE-$;BYwv$# zMoBv&i-BaMNb6ysHBDlJP7^e#uN)jMO*(DR{y_hodGPlFghSvy(tQotPzP!Vjz$Ifz63NA_%`r6E!|5)yp)vq6M31ff4*Ly~S+I6@i&|BtVa nmo4<8DKBaT1%4@Gr$BptGy-Ss0-T_ML)(yAL`2;{gZlpfyJ-HI diff --git a/07 Asciidoctor/convert_adoc.cmd b/07 Asciidoctor/convert_adoc.cmd index e717023..81d6315 100644 --- a/07 Asciidoctor/convert_adoc.cmd +++ b/07 Asciidoctor/convert_adoc.cmd @@ -75,6 +75,7 @@ if exist "%BASENAME%.yml" ( REM Wurde ein Processor angegeben, rufen wir ihn auf if not "%PROCESSOR_DIR%"=="" ( echo [INFO] Führe Processor aus... + dotnet restore "%PROCESSOR_DIR%" --no-cache dotnet run --project "%PROCESSOR_DIR%" -- "%INPUT_FILE%" > "%BASENAME%.processed.adoc" if %ERRORLEVEL% neq 0 ( echo [ERROR] Fehler beim Ausführen des Processors. diff --git a/07 Asciidoctor/convert_adoc.sh b/07 Asciidoctor/convert_adoc.sh index 3b900b4..65f1e52 100755 --- a/07 Asciidoctor/convert_adoc.sh +++ b/07 Asciidoctor/convert_adoc.sh @@ -42,6 +42,15 @@ if [ -z "$2" ]; then exit 1 fi +if [ "$3" == "--processor" ]; then + if [ ! -d "$4" ]; then + echo "[ERROR] Das Verzeichnis $4 existiert nicht." + exit 1 + else + PROCESSOR_DIR="$4" + fi +fi + # Parameter setzen INPUT_FILE="$1" OUTPUT_FILE="$2" @@ -57,6 +66,17 @@ else THEME_OPTION="" fi +# Wurde ein Processor angegeben, rufen wir ihn auf +if [ -n "$PROCESSOR_DIR" ]; then + echo "[INFO] Führe Processor aus..." + dotnet restore "$PROCESSOR_DIR" --no-cache + if ! dotnet run --project "$PROCESSOR_DIR" -- "$INPUT_FILE" > "${BASENAME}.processed.adoc"; then + echo "[ERROR] Fehler beim Ausführen des Processors." + exit 1 + fi + INPUT_FILE="${BASENAME}.processed.adoc" +fi + # Entscheidung basierend auf der Erweiterung case "$EXT" in pdf)