From 3af65a566c1dfbb675abdfbe2abe0e47362fd167 Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Fri, 30 Jan 2026 10:19:20 +0100 Subject: [PATCH 1/7] use lychee for link checking --- .DS_Store | Bin 0 -> 6148 bytes .github/workflows/link-check.yml | 19 +++++++ .lycheeignore | 16 ++++++ README.md | 14 ++--- azure-pipelines.yml | 29 ---------- doc/general/communication/communication.md | 16 +++--- .../images/Android_robot.svg.png | Bin 0 -> 4060 bytes .../images/C_Sharp_wordmark.svg.png | Bin 0 -> 5811 bytes .../communication/images/Java_cup.svg.png | Bin 0 -> 5792 bytes .../communication/images/Node.js_logo.svg.png | Bin 0 -> 3679 bytes .../communication/images/postman-logo.png | Bin 0 -> 4382 bytes .../operation-modes/operation-modes.md | 53 +++++++++--------- lychee.toml | 1 + 13 files changed, 77 insertions(+), 71 deletions(-) create mode 100644 .DS_Store create mode 100644 .github/workflows/link-check.yml create mode 100644 .lycheeignore delete mode 100644 azure-pipelines.yml create mode 100644 doc/general/communication/images/Android_robot.svg.png create mode 100644 doc/general/communication/images/C_Sharp_wordmark.svg.png create mode 100644 doc/general/communication/images/Java_cup.svg.png create mode 100644 doc/general/communication/images/Node.js_logo.svg.png create mode 100644 doc/general/communication/images/postman-logo.png create mode 100644 lychee.toml diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..78182bab42d045858baa5ce19b3a8832b1b5015f GIT binary patch literal 6148 zcmeHKu}%U(5S@ifL`@8Zh2>cp8zX;k5{QK*9TfrwNVpscP}~Y}O#BKP zKfuB_y93%_^blFeS(dffR39r{pV>gz!C z(8elDE>}bI`O?;q;l1ny-p~7mrKya(3H7}F4?ka4OfKhQ-x9ZBzruR?5>7|E(DsI6 zn$Vc8?Re_tE}h=4_sZ3=*xQ=*ay9+p>D5>2aD8gqQ2=)~TV>y&_Nss?pb9J%;PW9w zV~hk-hxX_|XP*GT0Mphm=C=gLgo2S^>JSXfxKN-AHS)wTE*$fr_(g)LLl;g)9v?NC literal 0 HcmV?d00001 diff --git a/.github/workflows/link-check.yml b/.github/workflows/link-check.yml new file mode 100644 index 00000000..a6b1c718 --- /dev/null +++ b/.github/workflows/link-check.yml @@ -0,0 +1,19 @@ +name: Check Links + +on: + pull_request_target: + types: [opened, synchronize, reopened] + +jobs: + check-links: + runs-on: ubuntu-latest + permissions: + pull-requests: write + contents: read + steps: + - uses: actions/checkout@v5 + + - uses: lycheeverse/lychee-action@v2 + id: lychee + with: + fail: true diff --git a/.lycheeignore b/.lycheeignore new file mode 100644 index 00000000..3f168da5 --- /dev/null +++ b/.lycheeignore @@ -0,0 +1,16 @@ +.*%7B.*%7D + +https?://receipts(-sandbox)?\.fiskaltrust\.cloud/.* +https?://pos-api(-sandbox)?\.fiskaltrust\.cloud/.* +https?://helipad(-sandbox)?\.fiskaltrust\.cloud/.* +https?://packages(-sandbox)?\.fiskaltrust\.cloud/.* +https?://signaturcloud(-sandbox)?\.fiskaltrust\.../.* +https?://rksv(-sandbox)?\.fiskaltrust\.at/.* +https?://signing(-sandbox)?\.fiskaltrust\.at/.* +# https?://portal(-sandbox)?\.fiskaltrust\... +# https?://portal(-sandbox)?\.fiskaltrust\... + +https?://github\.com/fiskaltrust/fiskaltrust-instore-app/ +https?://github\.com/fiskaltrust/service-possystem-api/ + +https?://next\.orderman\.com \ No newline at end of file diff --git a/README.md b/README.md index 31b0d94d..8057036e 100644 --- a/README.md +++ b/README.md @@ -32,11 +32,11 @@ Anchors can be created like this: `Referenced Item ### Tools -#### markdown-link-check -With [markdown-link-ckeck](https://www.npmjs.com/package/markdown-link-check) you can check a markdown file for incorrect links. +#### lychee +With [lychee](https://github.com/lycheeverse/lychee) you can check markdown files for broken links. usage: ``` -markdown-link-check ./general/general.md +lychee ./general/general.md ``` > Please note that this tool does not find dead references inside a file. Only dead references to nonexisting files / unreachable URLs. @@ -44,7 +44,7 @@ markdown-link-check ./general/general.md The following list shows further fiskaltrust repositories that are important for our customers. -| **Github repo** | **Goal/Purpose** | **Content** | -|---------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [fiskaltrust/productdescription-de-doc](https://github.com/fiskaltrust/productdescription-de-doc) | Goal of this repository is to help our customers to get familiar with our products and services for the german market. It should also help our customers apply the products and services described here. | The repository contains descriptions of the offered products and services by fiskaltrust for the german market. It also contains accompanying materials such as how-to guides, price lists, concepts, and presentations that help our customers integrate the offered products and services into their products and services. | -| [fiskaltrust/faq](https://github.com/fiskaltrust/faq) | The purpose of this repository is to provide information on our customers' frequent questions or concerns. | The repo contains unsorted but tagged question and answer sets. If the answer's content already exists in another public fiskaltrust repository, that content is linked in the solution. The content of this repo is also rendered and presented in the [docs.fiskaltrust](https://docs.fiskaltrust.cloud/doc/faq/qna/market-de.html) portal. | +| **Github repo** | **Goal/Purpose** | **Content** | +|---------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [fiskaltrust/productdescription-de-doc](https://github.com/fiskaltrust/productdescription-de-doc) | Goal of this repository is to help our customers to get familiar with our products and services for the german market. It should also help our customers apply the products and services described here. | The repository contains descriptions of the offered products and services by fiskaltrust for the german market. It also contains accompanying materials such as how-to guides, price lists, concepts, and presentations that help our customers integrate the offered products and services into their products and services. | +| [fiskaltrust/faq](https://github.com/fiskaltrust/faq) | The purpose of this repository is to provide information on our customers' frequent questions or concerns. | The repo contains unsorted but tagged question and answer sets. If the answer's content already exists in another public fiskaltrust repository, that content is linked in the solution. The content of this repo is also rendered and presented in the [docs.fiskaltrust](https://docs.fiskaltrust.cloud) portal. | diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 6347de97..00000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,29 +0,0 @@ -trigger: -- master - -pool: - vmImage: 'ubuntu-latest' - -steps: -- checkout: self - clean: true - -- task: NodeTool@0 - inputs: - checkLatest: true - versionSpec: '20.17.0' - displayName: 'Install Node.js' - -- script: 'npm install -g markdown-link-check@3.11.2' - displayName: 'Install markdown-link-check' - -- powershell: | - Get-ChildItem -Path "./doc/" -Filter "*.md" -Recurse | Where-Object { $_.FullName -inotmatch "i18n" } | ForEach-Object { - $path = Resolve-Path -Path $_.FullName -Relative - if(!($path -match "\\\.[^\.\\]+")) { - markdown-link-check -c ./markdown-link-check.config.json -q $path - } - } - failOnStderr: true - errorActionPreference: continue - displayName: 'Check links' diff --git a/doc/general/communication/communication.md b/doc/general/communication/communication.md index df6520ec..6e60168c 100644 --- a/doc/general/communication/communication.md +++ b/doc/general/communication/communication.md @@ -50,8 +50,8 @@ With the Middleware's _helper_ topology, it is possible to connect the Middlewar ### Summary The following table displays which protocols are currently available in which country: -| Communication service | AT | DE | FR |IT | -|-----------------------|----------------------------|---------------|----------------------------|----------------------------| +| Communication service | AT | DE | FR | IT | +|-----------------------|----------------------------|---------------|----------------------------|---------------| | **gRPC** | not yet supported | **supported** | not yet supported | **supported** | | **REST** | **supported (via helper)** | **supported** | **supported (via helper)** | **supported** | | **WCF** | **supported** | **supported** | **supported** | **supported** | @@ -61,12 +61,10 @@ As mentioned above, the Middleware versions will be unified in the upcoming vers ### Sample implementations Our latest samples, which demonstrate the communication protocols we recommend for the respective languages, are available here: -

- csharp            - java            - node            - android            - node -

+ +| C# | Java | Node.js | Android | Postman | +|---------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------| +| :--: | :----: | :-------: | :-------: | :-------: | +| [![C#](./images/C_Sharp_wordmark.svg.png)](https://github.com/fiskaltrust/middleware-demo-dotnet) | [![Java](./images/Java_cup.svg.png)](https://github.com/fiskaltrust/middleware-demo-java) | [![Node.js](./images/Node.js_logo.svg.png)](https://github.com/fiskaltrust/middleware-demo-node) | [![Android](./images/Android_robot.svg.png)](https://github.com/fiskaltrust/middleware-demo-android) | [![Postman](./images/postman-logo.png)](https://github.com/fiskaltrust/middleware-demo-postman) | Additionally, other samples (including legacy ones) can be found in our [demo repository](https://github.com/fiskaltrust/demo). diff --git a/doc/general/communication/images/Android_robot.svg.png b/doc/general/communication/images/Android_robot.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..1f63b4e32d83a0aaf8f385e470b5fa2a6ef0512a GIT binary patch literal 4060 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 IZRf}T1yfvry#N3J literal 0 HcmV?d00001 diff --git a/doc/general/communication/images/C_Sharp_wordmark.svg.png b/doc/general/communication/images/C_Sharp_wordmark.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..5a81e3f78f77b65daea9f81d03a8b085f314030f GIT binary patch literal 5811 zcmZ`-Wl)?=vwg6|g9LX%aDpsBv%xj^0>LG~5+rEw;O+!i++72UyC%2=f;+(p?#{>i z^ZvLsHPbacb-L?R_tdHCFjZw)Tr3JK00401<)om`*6qKI0eU`#%=jms4eDocC2;_# ziow4Bg!X)=GnIoX0e}Y+0Qd$1!0ofkcLxBRxdC9$7yyKm0f5v#y;%+N`~Wghkd*?S z{#)5?Me)xbbSHTwY4ja*JZ$DyEB5P_06^RzFD0(wHh+-e?n$Is-{;fN?4jVAINFX# z5i`*?p`+iY!vTvUiHn*2CP)_){K>?7+grr2CpcLAvzW{?#vwC0^aVH@&q>>9mcIIR zARjUz#&<;E7boF1O|7LH2JBsBuHF3776va7T9KT@if?7@&ZAA+%inAX?#VW|REKnw z*yvwtX3H@I=KKAAjS-rQs)mYzlr6Px1aKoGR6FHZO1rWt;2NsGd2#Hcp&rrLHi8lE z+^!e0lFj;2tf3|e^;`vHvVK*8zx}fF(E*u_I8=O(6sRLyb^leT@;?(vd3*%XX*84a zC>YOw!T~r$!{07ST?7!=@coSqrvS9z?cUa((hz9Ey z-0;>0JIQhw6) zK^H4a<7_DChoOEG)ceL8CH--?b6iH@ z;iJblHXJuU*{A}33>_*SweNRdBKGjEsqA~1bpp=$A71!PVDy=aE0JiHVg{&9qXi#% zf!sQaP~t8=4takFLe<(vrH^3K(jLS+l1txrX0W#Gf;yvoepsZ|2aGWSov5`=uzfvTV&Lc z-9)0`G5CU&3tR6;PX_1tj7pwiVfYVOx^#!3CB z3?}KXc0nnGSK~ceZ+U&p9J+)t25dE}gCh+}sMq&>Yl=$Vt3NytJ_*8Q`lItyPv{+X z$fr>-Q&IavaVXr^kH4bKkkMktN!qQ#}LfW>;RawDWWb}PJqH}5ilFCaEkp&}TS;lBF z!zX5LHV0I*Uw5^v{cI45ymn)X|T`}ygKT4uu z`*RMOR?u|Ky+>svgZo@nb5)^}2 z2ja8gtWrqjaMp#%lm4hz4IKkvHFkqkB^+_5YNOpBAW=OC!9T_q)ftsrSlOT2ktqu? zezHp%{i=ndi#Ll^f0A+XVSx=M+T@Ld^41;79)jKhoUPCOo8fQ4tn+Dh2ghDcTJi?R z=zaNcGR{VfJL!^Si#uedThG3^8I|+`R$MnZcViW$A21mz(#YPLw80g|P@X$z5~Cgm z>VwUpR6y7)snNpwfZ6}bYnL^w!ac`f>WSnk5p&YtaYg;k#vX3<6_?-WnnG`|KKFXd zLE9~2LC7!%>&;=y@_ z8)?fV^LRSiOY1;o0+~0jlKelkYm5gB#GfRo+4;fJ1#)duZA~^$uBsjvLCNklefXt1 zdp|(?9lE{`TG+=DU0}1G7u_`hi6&NqL<4VUuc*51pxSpOH?GJ?XFS`(FAFr3M4H++LdO zR_ffv!kF0OLV_xG`f2%vE9QvwOXFbZAjK!R9_kr4EA|2TJW5&LrsQZXAEEhjWY4$6 zza7|yPM8ghM5onyXZi&}wvljZ)L?EG&W*UoYAp(V?On=FRI-?ofZIF4yTnj(u?~CMr>3wo^GwZZwU0JdH&vs#sD&e4?-~oKjd}+ z-5ZIBa*|GFD`olS)^4u5CuGUL=8dR^j zkc*Y{kLzwfC_j*P4o6$fx|Et;Q+#~Sf}{Pj-yc)h(dNH5v#sOdC$6nIG`8D?tdp1elLTV3xTl#NzMC8M4{wcG@gP@tS_TV#qC zb~11U04-O&hQxRxYT**O8ftEhV@^eVhS!ITBeAmaSi(2fkYnr)L$6_)ARlXPEaT z7_bmF$rj~(Pcq}|9Ghqzs+%6P%ktkTh&%rdDt2SfLt%2Cf1gL3JYtmNsXkkV?`I zm)Wf+1G-IxO4~tCKt#uIt(ZK8_14G$RO6a?sZV&Rqu@)L(|V3!sx`Kq^ok02$&g+A zWz5o_jy7sT0M3a1o>6`U5Ru( zk~C!h?z;{+Rt{c9S>Tx|uiC2_ZCwgSuXl(}X7+`#T`A}k?A;1p&t%XH#WIl<%Hynr z1%h22Rh$<3hnQyVOK)q(4pkxr=f-7en;m8kZYbO_4yOy|Ebpt*`W{TLFmuTa@o5ns zE2JZZdrO{(^NePb9I8z*HcKA9Q>VeSrsw9r7S}AECRxXr0Q6G(WlUD-dJkoU*W`A? z&a!mxtd2j$Fvz_?xfeO=s-EEs?!I%Tg~;a*x>xAdHTBxL&J*;%m-t3kpTG#7Q=~Ca zR8IHGYMJB}goMV$ntWfGij*^4eQ>Wayfc$M)7N$4Ki=LY;({lXcE6-osmU-`4)|tlD70yW8K_3i!b;;^ z{zTu?kpu%G*3*M>s~gnr{)%GrIJ30Phe-CGVmC$r0s)w!x~XkTw4|ER6oliDb>5lp zOU0-jCDw7KZ7)Uk-#nagclcy3e4X}uVm)<%FizP}kdY_rR#oa+IzC!vOW8<>bxsY| z9i+w_V9yy;X$=l(@qo$I-&|@|3M|_1*?kKsYRtesVBaN8py5s-`o?~#fRzj*zXVAs zH@!VG*Pl$POYs~9bAV03kXvxcW}!$gP zvr?#V!9sC|rybUEK8+TGf@8k?>ICw}F-mh_vH(;eey)&JEWG=+#aO?g${XFY@Una; z{gvUWnsv#~8l8^1g{Q%snZ?UrxS{n%2PO)0{H@OCHXX~%jDkO<*qjTX`ioPF1J42^ z45!!|5)@+Qq$C(zQ1`6l)4!S>5q>SwS4PsH@(Rr_6Xqd(4&mzQaZNmOOf8HpmhViq z&BO2iD>%8!`WOY3u1{ICKfYZ9LeU%&-OE?@BLJx*zha&llNHTv_HnKeeX8HPxzUmt znIN3tUwHK`S=P8SUc%_}K^PySa^U3D0`nXJigBMZ>pqKoZ5DmjTBapu9{{Dj&-QL- z#ME|-cK>&PGYft#Da%htGC81%2!9!uyvyF=&_3D};bYm4?c&X;DmB_aE^unwlIWcB z7`I@n)F*$K$%J;D?}tWZS33bXu^IRg1s%itvLZ4XUYkzxJZsmIueJR}#D|8oJw07l zB+%$;wO+h0-NGlF>(x5ox3R=k127snAV{Yvv@qD-)%7nVorW?&5P1ym(Ln6RRQAlX zywssNs;vE=h5_vkoZ!tudS}k8k-C%a8L?RdQf1>+)K_q~#s^b2mPhNSGwyjs<(Tb@ zw2+zLCwgNNv7yKT#Da+TS^bqGf9C!d)By|L+dKaAbg0oHPBOMQhUS3AioE80!R?T? z%P}meZ#)0J{}^+{Mf2H8yu}86vM3#%uKQg_W73>VfJ$vxyq=^B)hb@#aVYYNiAbY) zCkYU$A)_$QdOJqj-YLsytxq!+J<{Fqr+!rcB}s6E;Zo+Wgh>_my4I|ysX*q~W5y6M z8Wp1kffebPu6x-Zn#$>TP_UqdJsrSArV1Z|`8zY~xn{&t3fXgrVi#hNEv>+F{9EndQyJFp(%)ND+cux} z>8j-qA0y{yKX9OU923Dq?kz|+)NGSzb`m)m-=qMJrGU;+e*3R#swIm5%nO<@tWGmV zef_?4cuM>G34EwGL8hW>e^MtoLm2zxa`=(;SoWf-pWctctYG$^If*5)#Y$pF$3zVx zt!*hp5aQ#xIp>CVf)Jcp*|I#uV@MR@*c=1i-L0ou*s)=E)>_~mlp$jS5~J)8Ev9+u z`Nb-_DE!pXUfi$J9Mco7W;b6aRuK1?^};dDYGRjEz*nSSo~2Nal(OBT>aCKG5^&t- zz-9AU?ED$=tTfz*5t!Ppwr%-e>jrU&SKX8+zF}rxR9OGuz8_kqZMbHoz!u{-KIjy< zNMBPknl4q5vKu~ndR=p^1=3ut6}>-_{J5X(l4h5A$|9h#`upPNta=sRT_w%2UUR6? zNFANoSA|IF3ZMos0q73aAODT`!}3LKaFN8v5Hvf5N)rA|G>*L@NO^wNzT@UnDUXDl zQ%0BWqw3j~V5E9IQu2AvmYg0-e2Fh`C^i7|kXmt#unvE~YHW&MS@|&$E%$jEXZKn` z+VCq<`;=sX1|}UL02MuK7H({}!z-%c!;tQ6{ev z4($>BVU2tnEMUKY)`(e+q@?iv%do*!bDSC#X6}j5M!-kupWw>MgPta5AQ0Y9wD6o) zg@>@91=XvXw|^s!s{4E^B`ywN3Ooj^kbZB6i1-}jz)N^x#-;uiuV3V_lwy3h);HV# zF5$kUoeM8Tk^(x@ZO%Y6jV{LT(WX#O5ZS6wjdUv78+xB$ZaG}w!kU?3vkyEGA&a`yepdNkYx;fHFc z^N>LN_W%R1pImRF{v03=^%s8rA0c|*Si<4f%Z<&tTx^z2Se z4DAZzo&v*%O^T5^B;ZuGyu}=e=I3lRh^2qjEf*E#A9Q?U7DGZ`{q?WE(_gibtny%eeS16|lOsgjUHZgdb#={Xhv&2KI#z|WsTa-$?4;%>-&pk) zt4}eX72JE;B%L=HTm7v&>3Fo=%Jdw^)MdxLB@eQ zv`$R}4D0F-OkYE%UA}9A+cSEv`NL??I*& z4m;dijmeaxsyn8SsI7;>dC=s=@;A3 zNEJz%I~<_c%NoVZ)v7A>8sD2Wh`G$DarRzuPq3g;6)dm>20JaYO1YKDhiZ9fxm8XSRiAR=M3PxZo4OPbM>Xjtit%=3 zZirU*rWWTIR1!Q-bs3$cwVlj9Il+WY9bwM~0CR)izTp;l!^5Y+!z0WqB+UDkots;j lo4XMz^7{V(Z0yV|&E5ZhzyMzG^F$c{h?LMfBm&Z_fEc8O(4~pes{{~`A{}V~BS8edfPhr#O%SDb2ugBut?vFb=yJz<~^UUtfoO7O;^U6?PlN!nn1pt6rTMPZ*+G4I}6omYG z74eXmzc!@Ks(PvbQ2Eb|b9=JuGu%PzfgS)nzXbqT8~~hNL)c#c;3o+H8+HJIOa%ZI zugoT+d)E%~$GVzm;Of7T(^~xI8lmvj)>EhWMNS1}l@)f)IRgNu0&TSF!@${XYnQ-B zlapc7O2)7B|qvt}QfEU%rlK}R|cs&w_ zqwxo&cHC_E4+fW#OEy%9ZY$6r5I`g|AlQM%6GrX$ZtjiT;Y6Vv2HDw8oJ-Vtf&8)i z(Ik@H5`tRZ5H>rs@Np@?2S@19AV{dhHWcuh;wE=-R1K%ZNxYwe|MeFB{&4(Dq)xb0fQgl2 zTLdAyj;%swDk`<|+2fqg_q9!QE+|xV%Id@KxVEiv(v2n%!bpeq?W3eGN292ed0(r& zie-p|(LeCqvQ^tl^e?VM4@u0!T#x*?c5#7+<2&SgW&Ze#k~j{O9x^_dvUJE`gk19D z8{@xHt28Zwk^ER0&i`sXE3?9oIh^nI zDChel<%+=tVV@_Fmg`5P3g*0Toy1PZzL7a*sQu-N=b&_v#K%wd3nL`Oqqhd3e$w$A zDA&XBcIU4aw04GTR=q!esTcmkz3uadC6ke7iZuao^M{3HPvz=@w{!1CPRqD6U5Mn9 zwSzbI+=`T$8og%f%V@EKd;e-_QLHFRcb27_(6xvM2IRA~j#f9UIjT*vtuKOpQ;+eP zs;H>Ub8zK{-SqLFR?ul}eK?n;6q_DSKB|5~!=f%BIPr`N~C*{mmQq07)~^9gx`Rm&zM|+Azf}{{@`&&|r}lGq%@c>=Ago?e6T{qm4l| zB+t0DP4Xp-m}YHN+ePmeG#5E$&?M&B^UKTg(L5J?6&&p*CJL;gC4S#S8t$?m;2x$^ zKBE&3;llEey4(F^+BPxm8TxMQ;@r!N@e?>q7K<`z-;%I?cAx%%dyxQJ%m_&S&aWGg zck!|Ryc4eukntCDeBsd29|$3ADzw}wloYQ0U1#W3iW5aFG~;P<>)ug#x$c>yoR_>T zeBET+BZ4klrYHXeaKlQwqWT+vXVUboJ?yba|c zgN=vDF#hT@x^djL(xBh;l})GAnJ$wGMPRD_6fC{LTs*I3Z}cTzfV=Zl^>=6ME`Ih5 z&xnx8Z4nL$HATMY+)5>LRG&{wc#C8p@^barm5!a86f_>cHss_&x%P~fjje(jWKK?m zk9$M~Ef=is*1jJ9NKrt-2A(kFc*8qXMd0Ht@YM>nnSIF~$cCju%Php|h_#j|==KH& zYy?dlK(Tu?61wN|t_f=+xlhfba5yh6DrzAr9dbiAK|j3!%qS<1hFJS{EEV*MbpwN= zLiq6%UxJr#OWuQ-(PYia+jX1{SKF$Cm;qRy5_1c^u#7NbI^fx9S;NrUibYC55Rk%2u;#$}TDA75FI_82FrMO#0y_o~{XRZ!=Y)T99u z*ptk9j5$$Hbs_Cg{gkR&6~>672JviFeP2jrnVRo%F~A-i~c$QrHXmykn z4^!y>cAf_!t_}zLQ_#8>M{~9`b7FTk=-*a(1VAbc22O`*H)SjX&Ybsn0(@q+ssHxn zU*7>2*0|s%w#75}-tB6;PPln1Iu9eoCD`L){K$;8LGMLY=3gb35s(glc;$XUY*Wv= zF&An}@R;=ohAe2Xv$#+cTKnF#C>#p%e}IATe2_9u)-lX5^Ctu5{6dGH1T^%@EZBXg-UEDX9hXVoCKz2>qF`LqO z9i?7l&r~hptZe8vAD-aBQJZJtc4Q1Jm@rQq)dmSMY-yXXlWW0lH;K_F{j{b*$iW@HWNuH!dG?Q*TOaBuoU6Wf4giN+3Et%#fRo}r--klr&+x~$jG+)1Pq|(Q8tECDG zn1X(JNN7IpT9~+c2C3BTkE}w0b`|IH8yk?yq2(WfS)N}G>6h32`SdL@Z35B#F45L7 zg_me723>&j6uW#}kb2!8Mxpxl42|X+Llg+;*bsZ4z1y@%>sow&`+>UxG{bsF0mKPW z>Upb3gHYsOaWzYDP@JyQiZMKJ8%!GCo>LG!E+YYxXFyIxe^TQKy!<^9LT(_ONa4F0 zcZ3j==;p}lXHM%%ctZZ0q)kK!m^iagTNoHyqSS@60`Rqu^QtGQ%jQ@v2yJ z#9t5j&qiqy&*YcxBXb#kXpp-@mu;1; zG8O)PGS8oWHRf^Q8Yl9Z!E&52->OZ@!al~(L*>iflupc?NtKL`dppc~Tuq(Xsz}*}_(j`hA@0*nrxq%iU<1=J7ab|_0<_nXlGp2j1g_#nO z2fbv$0a20r2?@qez*Qv|(NOm|k+$QMv3%*^;yIfnK5-G2u|Sg9qM|1qEdA1L$5#W+ zA#yMY0~GqXPxI}Ss%9vjBPEu}eM_P(;B$Mh@cJa35!pWV(KH?F*A1_7Rt*~LjHW2U z*vHgH>t|YpC^X{SUrlxO=u0|f=n7X^VrWcpbfOU|KF^B^{x1;A`-yBhGSSieBUfe8 za>XEpRQo*aXeBB#jrX5aLhM%Zu8Kt{6~BCpcF=5by6xrW*bEcN{I_wBV0hI6lk7t) zBp2a_jst{oT$_!?o0K#k==S&Cl#5wT5*?Zg{LSqAgMV}kVVp2B%A4KlJoQ#n21ALF z?N|iF76Gcu5IU!Zb(F?%zc;|6xhBA#TAuUK$DNO9jxGRh1*lweAOi0k-L%q;} z??=o$r=qNfc|d=XMo)LDf?o-+2@vFo;hDr74Y-YJ*T-2(D9y#9cKsYlKZoHQYa8#n zkOBizVKk-ER$H@c?1S}J&2lw4(E-sW*PR%>p?*b8Vkrb;vq|0uB&uR_Y$aDdMORV( z*n-K5ff%$cYB_^?1(-gW0hH%Ye5{ZC4uNmvKS@*;Zcc3S4>*NPvOEx;NXUxQwm4fZ zNjkON$!g^wasoa@%gk}cHEntw=I~)sNp7MxqKNw*(8jk{2yO!$1sIj7+#uiUE;~5> z9A{+rFX7Y_OD3aVY8?;T_=u;7X6;MOs=qTB5RdUhjeDuYO+?zqBo@4U1?B@MLc)=z z0a$s{=1K)lm4_VTusyP-Gu3dEPAQ2QuZmcNFl-W5%Jd703c@v^jD=xN+aI3w1j=Ph z-@&2lbJFLGoK}wLeWH#Vo{4jdq$XO+SaqLrZYT0Wg0`a^%?;|#P4tbAXp_tW@*Rp| z3_5R8T;&e=T|;=^^33k|MafFW<<+CrNq6Rv*f4JNN=#$vnx6b_^O1 zE5f9UVZ(;otKMFlWEa_}aPmDRU{V0e_IBPpbz^F04T<1wZ?Ie4T4LB$igZce*pBKj z03W*-)%ES~}{X)B+F9>Ed<*f*ow6`Ogyebta1Z_oADlHjA~j>@>>!=MkNA)VkG|m_^fXc!!b!LOnpW`|_s@mKmQvIgEU&T)ivylw!}$5B)cN zsA#58Juqlz!&7)e02E6T$hh#bx2yDQa#oWk>udhX>{7`s4C1!!-e>t8>u z92#OUu*m%Qb(C8*m%(n$ckbw?P}*#@-Yj5&$%};Q+@(v=yg9xOb+IuZt!Lb7oGowj zy2&u7jrvCrTq9?fS8x*uA>X^58=|qKXtc5YiHkD(x9^94#}raDHCev~8J^H)#Om=M zkNld{N&y9k>tAb+tPHn2SyNE?gU^r$0!D=LngT-tu50lq+O1f@6(mD(>57=6)gtQ+ z#m)+hGBMVEUmMR>Y`#}E_-skuYl+yg|1vhS^Q-BqQsS?gZb10x)hYws{?XBRZKo{o zPQ)DPlc3gR|9dkktF%!>08>YvL_IUvza zxsKHKc7}ROJm9A_*rN=n6SsW4FT^qNuh*9C(9EP_ju3adVFudXf%y$_S_v!Y{}`gKYt zWDE*p!MCS3(sqmFE%QA7q4%+3{?GB*PWk2=dyiRUmx8NpCI`Le*BCjp`jeMVy7|li zBeks_#w@6p)TBNQ_OUItrjCULvn_v}{)5&*5rS#ddr(fBw|kKXGIol7`pa$8D6s+o z#%mdtXHOEdC_9uBZ~r^a-K;NN#nTAMO94(y%JzbIqM4$`bl(Z3KB5GA^ew-0M0K;O z{Zfq@QzjueXAoTKKWIOp^0c6~vj~pU+u+F-G{U#O>N_;a(*H0Gz;o{e1Y96c;_W_1 z)9i6YEMJ3QDBh5raOBYU7k{VD@dhbQ4$Ly1lqFGVJp)dD88kXTyY9V;%1aWMb*SyX zB6N-IGsV+)-6pa!E{v;g7#JHetY1BzLjy5HC#;Vyw5sk~U6u4|#U(On;qhS~GxjZ6 zh)K=qT1QE%Cq7+lQ6f(HDj}hN4f%T18N4BiU8HL80#t6SII^F<`^j%Eag4dVh2Of0 z3jLV>dc-Lp0tvQ6e~Mei=j|ojsQBlq3KO+v=5g@9pM;k2pjf-eq?3q3fTr5A8=zTV zg|u|YFnkxOtL!eJ@j5Y~dV@Q=he<4d7*QP%W6oH(ar6}GiEI5ZJf909io==_-}ocv zFB_~M(m&AFD&%O>sjR6tYTS@x!fN#V$nv4IUQ&O z1CR`{2NThTiD1Qf{Xkb)xWtXWEe}rrI;RZJdRTrrIp$;r?J=P6GQGj;_~7aR1o-Ku<2o&J}R@5;q zAK!f>EfmnRB-!L4Kp@MR0k^f4+O4iBrk7?Em0nI}%G{^RrygL{`ytr=?fq9kGuJaR zi^6;L6UUN2@LlKxm$&#&&79@5M23-H0l)rG=yJ#dYlwT2@mJtLKLttvgnO zsb^kItkSWDLhvzA5jar;u6J&`bf1C{IjYsPPWFl85(91q0@0ZITYn&XK`%b~2YWV# z-x{&>YZ~ZWu?UQ-xhOx$5Z}&V)*@nU1iC96rSCdV!dI%uD`&Wz1-U3n%v?XKvT9!a zG%g2Qv&S-OZPp$S*KyXcFPQNXRJ=iVOFEE(cOgqajZz7wCbs^&}b{;3)UyGWKztX&tS1+D>WXzYyMdN^v|<#10Ho*WVNQ0`@4KqVWhoY zfGu#sX%Tvh{Etj-=}pE1CqJj7hMr{d8(nCEMlTGe2IpKA0C?>r{^W2H?g-9_E^8=M z{0VzQAP(mVFxgvlcDy!#w4}6*n53MTl=MR>Nu;z4Quelpq$E;OGSK<_=>HJhJuxm$LH|F25{cHn PCIH&%`sfOjUF81&PvE0+ literal 0 HcmV?d00001 diff --git a/doc/general/communication/images/Node.js_logo.svg.png b/doc/general/communication/images/Node.js_logo.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..9c2abbf740b5d17a6c690a6f5badd476f16fc67e GIT binary patch literal 3679 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 literal 0 HcmV?d00001 diff --git a/doc/general/communication/images/postman-logo.png b/doc/general/communication/images/postman-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..70d4009873d18cd648a0a7696e9cc5426ac2ed2b GIT binary patch literal 4382 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 Y{}*=F7EJGIrT_o{07*qoM6N<$f`vnd<^TWy literal 0 HcmV?d00001 diff --git a/doc/general/operation-modes/operation-modes.md b/doc/general/operation-modes/operation-modes.md index 8af0e47b..ce67546e 100644 --- a/doc/general/operation-modes/operation-modes.md +++ b/doc/general/operation-modes/operation-modes.md @@ -12,19 +12,19 @@ The fiskaltrust.Middleware can be operated in following operational environments Identification of the operational environment from the perspective of a POS operator: -| hosted in-house | hosted in a different building | dedicated hardware resource | privately shared (hardware) resource | operational environment | -| --------------- | -------------------------------------- | ------------------------------------------------------------ | ------------------------------------------- | ----------------------- | +| hosted in-house | hosted in a different building | dedicated hardware resource | privately shared (hardware) resource | operational environment | +|-----------------|----------------------------------------|------------------------------------------------------------------|---------------------------------------------|-------------------------| | **yes** | no | **yes**
*(e.g. on a cash register or local network server)* | no | **on-premise** | -| no | **yes**
*(e.g. in a data center)* | **yes**
*(e.g. dedicated server)* | no | **off-premise** | -| no | **yes** | no | **yes**
*(e.g. virtualised resources)* | **private cloud** | +| no | **yes**
*(e.g. in a data center)* | **yes**
*(e.g. dedicated server)* | no | **off-premise** | +| no | **yes** | no | **yes**
*(e.g. virtualised resources)* | **private cloud** | Availability of supported operational environments is dependent on the market as shown in the following table: -| operation mode | AT | DE | FR | IT | -| ------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| **on- & off-premise** | **available** | **available** | **available** | **available** | -| **private Cloud**
*operated by a 3rd party* | **available** | **available** | not available
*generally supported, but not offered* | **available** | -| **private Cloud**
*operated by fiskaltrust* | **available**
*(by the fiskaltrust product SignatureCloud)* | not available
*due to legal restrictions* * | **available**
*(by the fiskaltrust product ChaîneCloud)* | **available** | +| operation mode | AT | DE | FR | IT | +|--------------------------------------------------|------------------------------------------------------------------|--------------------------------------------------|---------------------------------------------------------------|---------------| +| **on- & off-premise** | **available** | **available** | **available** | **available** | +| **private Cloud**
*operated by a 3rd party* | **available** | **available** | not available
*generally supported, but not offered* | **available** | +| **private Cloud**
*operated by fiskaltrust* | **available**
*(by the fiskaltrust product SignatureCloud)* | not available
*due to legal restrictions* * | **available**
*(by the fiskaltrust product ChaîneCloud)* | **available** | *In Germany, the fiskaltrust.Middleware must always be operated as a local component of the electronic recording system. For example, if the electronic recording system runs on a local Windows based cash register, the fiskaltrust.Middleware has to be operated on the same operational environment (this could be the same machine, or a local network server). If the electronic recording system is a SaaS solution operated in the Cloud, the fiskaltrust.Middleware has to be operated in the same data center. @@ -76,21 +76,21 @@ The Helipad Helper is used to support updates and configurations. For the operation of the installed components of the fiskaltrust.Middleware following minimum hardware requirements are recommended: -| Hardware | Minimum requirements | -| --------------------------------- | ------------------------------------------------------------ | -| **General hardware requirements** | The fiskaltrust.Middleware can be generally operated on a [Raspberry PI 2](https://www.raspberrypi.com/products/raspberry-pi-2-model-b/). | -| **Local storage** | Around 500 MB (200 MB for the Middleware components + 200 MB reserved for update-packages); optional: storage for SQLite db (around 8-10Kb/receipt) | -| **Hardware connectivity** | For the German market: USB, SD, Micro-SD or COM port for a local hardware-based security device (Technische Sicherheitseinrichtung, TSE).
For the Austrian market: USB port
|For the French market: not required | -| **Internet connectivity** | Optional, but strongly recommended: (WIFI)modem for Internet connectivity to use software-security-, data as a service-, backup,- or configuration-/update services. | +| Hardware | Minimum requirements | | +|-----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------| +| **General hardware requirements** | The fiskaltrust.Middleware can be generally operated on a [Raspberry PI 2](https://www.raspberrypi.com/products/raspberry-pi-2-model-b/). | | +| **Local storage** | Around 500 MB (200 MB for the Middleware components + 200 MB reserved for update-packages); optional: storage for SQLite db (around 8-10Kb/receipt) | | +| **Hardware connectivity** | For the German market: USB, SD, Micro-SD or COM port for a local hardware-based security device (Technische Sicherheitseinrichtung, TSE).
For the Austrian market: USB port
| For the French market: not required | +| **Internet connectivity** | Optional, but strongly recommended: (WIFI)modem for Internet connectivity to use software-security-, data as a service-, backup,- or configuration-/update services. | | #### Supported software platforms For detailed information on supported platforms and its restrictions, please refer to the linked appendices of the applicable markets in the table below: -| Platform | AT | DE | FR | IT | -| --------------- | ------------- | ------------------------------------------------------------ | ------------- |------------- | -| **Android** | not supported | [**supported**](../../middleware-de-kassensichv/operation-modes/on-premise-platforms/android.md) | not supported | [**supported**](../../middleware-it-registratore-telematico/operation-modes/on-premise-platforms/android.md) | -| **Linux/macOS** | **supported** | [**supported**](../../middleware-de-kassensichv/operation-modes/on-premise-platforms/linux.md) | **supported** | [**supported**](../../middleware-it-registratore-telematico/operation-modes/on-premise-platforms/linux.md) | +| Platform | AT | DE | FR | IT | +|-----------------|---------------|--------------------------------------------------------------------------------------------------|---------------|--------------------------------------------------------------------------------------------------------------| +| **Android** | not supported | [**supported**](../../middleware-de-kassensichv/operation-modes/on-premise-platforms/android.md) | not supported | [**supported**](../../middleware-it-registratore-telematico/operation-modes/on-premise-platforms/android.md) | +| **Linux/macOS** | **supported** | [**supported**](../../middleware-de-kassensichv/operation-modes/on-premise-platforms/linux.md) | **supported** | [**supported**](../../middleware-it-registratore-telematico/operation-modes/on-premise-platforms/linux.md) | | **Windows** | **supported** | [**supported**](../../middleware-de-kassensichv/operation-modes/on-premise-platforms/windows.md) | **supported** | [**supported**](../../middleware-it-registratore-telematico/operation-modes/on-premise-platforms/windows.md) | #### ARM Processor @@ -99,13 +99,14 @@ From version 1.3.39 it is now possible to run the the fiskaltrust.Middleware on SCU | ARM 64 bit | ARM 32 bit | | --------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -| **A-Trust Cloud TSE** | supported but not tested |supported but not tested | -| **Deutsche Fiskal Cloud-TSE** | supported but not tested | supported but not tested | -| **Diebold-Nixdorf Hardware-TSE** | not supported| not supported | -| **Epson Hardware-TSE** |not supported | not supported | -| **fiskaly Cloud-TSE** | supported but not tested |supported but not tested | -| **Swissbit Cloud-TSE** |supported and tested | supported and tested| -| **Swissbit Hardware-TSE** | unsupported | supported and tested | +|-----------------------------------|--------------------------------------------------------------|--------------------------------------------------------------| +| **A-Trust Cloud TSE** | supported but not tested | supported but not tested | +| **Deutsche Fiskal Cloud-TSE** | supported but not tested | supported but not tested | +| **Diebold-Nixdorf Hardware-TSE** | not supported | not supported | +| **Epson Hardware-TSE** | not supported | not supported | +| **fiskaly Cloud-TSE** | supported but not tested | supported but not tested | +| **Swissbit Cloud-TSE** | supported and tested | supported and tested | +| **Swissbit Hardware-TSE** | unsupported | supported and tested | #### Launcher diff --git a/lychee.toml b/lychee.toml new file mode 100644 index 00000000..6119a25e --- /dev/null +++ b/lychee.toml @@ -0,0 +1 @@ +extensions = ["md", "mdx"] From 3da49925451d08a6d9303efd39d951252198fbb6 Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Fri, 30 Jan 2026 10:19:51 +0100 Subject: [PATCH 2/7] test --- .github/workflows/link-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/link-check.yml b/.github/workflows/link-check.yml index a6b1c718..ecba2e28 100644 --- a/.github/workflows/link-check.yml +++ b/.github/workflows/link-check.yml @@ -1,7 +1,7 @@ name: Check Links on: - pull_request_target: + pull_request: types: [opened, synchronize, reopened] jobs: From c12d72c4573a490e56775057a4bd4d93ee79ce3b Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Fri, 30 Jan 2026 10:22:31 +0100 Subject: [PATCH 3/7] remove old stuff --- cover.html | 57 --------------------------- docfx.json | 70 --------------------------------- markdown-link-check.config.json | 21 ---------- set-chapter-numbers.ps1 | 9 ----- style.xsl | 70 --------------------------------- 5 files changed, 227 deletions(-) delete mode 100644 cover.html delete mode 100644 docfx.json delete mode 100644 markdown-link-check.config.json delete mode 100644 set-chapter-numbers.ps1 delete mode 100644 style.xsl diff --git a/cover.html b/cover.html deleted file mode 100644 index 1ac2625d..00000000 --- a/cover.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - -

fiskaltrust.POS

-

Interface Description

-

Version [[VERSION]], updated on [[TODAY]]

-
- -

- Alpenstraße 99
- 5020 Salzburg
- www.fiskaltrust.at
- info@fiskaltrust.at
-

-
- - - \ No newline at end of file diff --git a/docfx.json b/docfx.json deleted file mode 100644 index effb8f24..00000000 --- a/docfx.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "metadata": [ - { - "src": [ - { - "files": [ - "**/*.sln", - "src/DotnetNew/*.csproj" - ], - "exclude": [ - "**/bin/**", - "**/obj/**" - ], - "src": "src" - } - ], - "dest": "obj/api" - } - ], - "pdf": { - "keepRawFiles": true, - "wkhtmltopdf": { - "additionalArguments": "--dpi 200 --zoom 0.78 --footer-center [page] --margin-top 25 --margin-bottom 25 --margin-left 30 --margin-right 30 cover cover.html toc --xsl-style-sheet style.xsl" - }, - "content": [ - { - "files": [ - "doc/**/*.md", - "*.md", - "pdf/toc.yml" - ], - "exclude": [ - "**/bin/**", - "**/obj/**", - "_site_pdf/**", - "**/toc.yml", - "**/toc.md" - ] - }, - { - "files": [ - "doc/toc.md" - ] - } - ], - "resource": [ - { - "files": [ - "doc/**/images/**" - ], - "exclude": [ - "**/bin/**", - "**/obj/**", - "_site_pdf/**" - ] - } - ], - "template": [ - "pdf.default", - "templates/fiskaltrust.pdf", - "./DocFx.Plugins.PlantUml/template" - ], - "markdownEngineProperties": { - "plantUml.outputFormat":"Svg", - "plantUml.remoteUrl":"http://www.plantuml.com/plantuml/", - "plantUml.renderingMode":"remote" - }, - "dest": "_site_pdf" - } -} \ No newline at end of file diff --git a/markdown-link-check.config.json b/markdown-link-check.config.json deleted file mode 100644 index a16d56dd..00000000 --- a/markdown-link-check.config.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "ignorePatterns": [ - { "pattern": "^https?://signaturcloud\\.fiskaltrust\\.at/?$" }, - { "pattern": "^https?://signaturcloud\\.fiskaltrust\\.fr/?$" }, - { "pattern": "^https?://signing\\.fiskaltrust\\.at.*" }, - { "pattern": "^https?://signing-sandbox\\.fiskaltrust\\.at.*" }, - { "pattern": "^https?://rksv\\.fiskaltrust\\.at.*" }, - { "pattern": "^https?://rksv-sandbox\\.fiskaltrust\\.at.*" }, - { "pattern": "^https?://helipad\\.fiskaltrust\\.cloud/?$" }, - { "pattern": "^https?://packages\\.fiskaltrust\\.cloud/?$" }, - { "pattern": "^https?://pos-api\\.fiskaltrust\\.cloud.*" }, - { "pattern": "^https?://pos-api-sandbox\\.fiskaltrust\\.cloud.*" }, - { "pattern": "^https?://receipts\\.fiskaltrust\\.cloud.*" }, - { "pattern": "^https?://receipts-sandbox\\.fiskaltrust\\.cloud.*" }, - { "pattern": "^https?://eur-lex\\.europa\\.eu.*" }, - { "pattern": "^https?://www.bundesfinanzministerium\\.de.*" }, - { "pattern": "^https?://bofip\\.impots\\.gouv\\.fr.*" }, - { "pattern": "^https?://install\\.appcenter\\.ms.*" }, - { "pattern": "^https?://play\\.google\\.com.*" } - ] -} diff --git a/set-chapter-numbers.ps1 b/set-chapter-numbers.ps1 deleted file mode 100644 index ad26aa93..00000000 --- a/set-chapter-numbers.ps1 +++ /dev/null @@ -1,9 +0,0 @@ -[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 - -# Get chapter numbering tool from GitHub -New-Item -Name "tools" -ItemType Directory -Force -Invoke-WebRequest -Uri https://github.com/TSchmiedlechner/DocFxChapterNumbers/releases/download/v1.0.2/DocFxChapterNumbers-v1.0.2.zip -OutFile "./tools/DocFxChapterNumbers.zip" -Expand-Archive "./tools/DocFxChapterNumbers.zip" -DestinationPath "./tools/DocFxChapterNumbers" -Force - -Rename-Item ./doc ./doc_prev -./tools/DocFxChapterNumbers/DocFxChapterNumbers.exe ./doc_prev/toc.md ./doc --force \ No newline at end of file diff --git a/style.xsl b/style.xsl deleted file mode 100644 index 14e5ebe2..00000000 --- a/style.xsl +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - Table of Contents - - - - -

Table of Contents

-
    - -
- - -
- - -
  • - - - -
      - added to prevent self-closing tags in QtXmlPatterns - -
    -
  • -
    -
    -
    - From af0d15231d05a99d149604ae8d2fb8bad438288a Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Fri, 30 Jan 2026 10:22:39 +0100 Subject: [PATCH 4/7] update ignored links --- .lycheeignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.lycheeignore b/.lycheeignore index 3f168da5..8d0e73f7 100644 --- a/.lycheeignore +++ b/.lycheeignore @@ -13,4 +13,6 @@ https?://signing(-sandbox)?\.fiskaltrust\.at/.* https?://github\.com/fiskaltrust/fiskaltrust-instore-app/ https?://github\.com/fiskaltrust/service-possystem-api/ -https?://next\.orderman\.com \ No newline at end of file +https?://next\.orderman\.com +https://www.raspberrypi.com/products/raspberry-pi-2-model-b/ +https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000044983827#:~:text=La%20taxe%20est%20exigible%20%3A,%C3%A0%20concurrence%20du%20montant%20encaiss%C3%A9. \ No newline at end of file From 2b10d6e19d999a1a239edd1973f00b948702df97 Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Fri, 30 Jan 2026 10:54:49 +0100 Subject: [PATCH 5/7] update ignored links --- .lycheeignore | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.lycheeignore b/.lycheeignore index 8d0e73f7..7f8e2501 100644 --- a/.lycheeignore +++ b/.lycheeignore @@ -7,12 +7,10 @@ https?://packages(-sandbox)?\.fiskaltrust\.cloud/.* https?://signaturcloud(-sandbox)?\.fiskaltrust\.../.* https?://rksv(-sandbox)?\.fiskaltrust\.at/.* https?://signing(-sandbox)?\.fiskaltrust\.at/.* -# https?://portal(-sandbox)?\.fiskaltrust\... -# https?://portal(-sandbox)?\.fiskaltrust\... -https?://github\.com/fiskaltrust/fiskaltrust-instore-app/ -https?://github\.com/fiskaltrust/service-possystem-api/ +https?://github\.com/fiskaltrust/fiskaltrust-instore-app +https?://github\.com/fiskaltrust/service-possystem-api https?://next\.orderman\.com -https://www.raspberrypi.com/products/raspberry-pi-2-model-b/ +https://www.raspberrypi.com/products/raspberry-pi-2-model-b https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000044983827#:~:text=La%20taxe%20est%20exigible%20%3A,%C3%A0%20concurrence%20du%20montant%20encaiss%C3%A9. \ No newline at end of file From d2c69163eafb6e418c09a877f38306c54592f04f Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Fri, 30 Jan 2026 10:57:18 +0100 Subject: [PATCH 6/7] set to pr target --- .github/workflows/link-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/link-check.yml b/.github/workflows/link-check.yml index ecba2e28..a6b1c718 100644 --- a/.github/workflows/link-check.yml +++ b/.github/workflows/link-check.yml @@ -1,7 +1,7 @@ name: Check Links on: - pull_request: + pull_request_target: types: [opened, synchronize, reopened] jobs: From be4dae8365cba66ed4301555df3ef975bcb1d438 Mon Sep 17 00:00:00 2001 From: Paul Volavsek <24523184+volllly@users.noreply.github.com> Date: Mon, 2 Feb 2026 11:15:08 +0100 Subject: [PATCH 7/7] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 8057036e..0c898de9 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,6 @@ usage: ``` lychee ./general/general.md ``` -> Please note that this tool does not find dead references inside a file. Only dead references to nonexisting files / unreachable URLs. ## Further public fiskaltrust repositories