Closed esoadamo closed 1 year ago
Parsovacie funkcie máme momentálne iba pre <ksi-collapsible>
a <ksi-pseudocode>
. Tie sa volajú pred konvertovaním tasku cez pandoc. Tie parsery sú príliš komplexné, toto by bolo super naplánovať na Hackathon so spoločným effortom s frontendom.
Já se teď na to dívám a vypadá to, že pokud pandoc dostane div
, tak to funguje správně. Staré parsery zatím asi modifikovat nebudu, zkusím ale pro ksi-tip
(a případné další) vytvořit funkci, která to převede na <div class="ksi-custom ksi-tip">
. Vůči tomu by měla být poté úprava FE minimální a mohlo by to fungovat
Ak by to pomohlo, ja som si včera napísal takúto expression (?<=<ksi-tip[^>]*>)(?:\n)*|(?:\n)+(?=<\/ksi-tip>)
, ktorá by mala byť schopná vybrať prázdne riadky hneď za opening tagom a hneď pred closing tagom ksi-tip
-u. Problém však je, že re
nepodporuje look-behind ( ?<=
v (?<=<ksi-tip[^>]*>)
), ktorý má variabilnú dĺžku ( [^>]*
v (?<=<ksi-tip[^>]*>)
). Ak by sa ti to pozdávalo, možno to vieš prepísať.
Super, díky! Já teď testuju na kyzikosu fix, vypadá to, že hloupé nahrazení za div
-y na BE a pak na FE zase zpět funguje krásně a nic se nerozbíjí :slightly_smiling_face:
https://github.com/fi-ksi/web-backend/commit/517328eaa3a5347b3534b7d50e6d979e4e66add6 Funguje pro samotné ksi-tip, pro ksi-tip vnořené do collapsible bloku se ještě dějí nepravosti někde jinde.
TIL: U re.replace
je třetí parametr count
, ne flags
. Takže když napíšete
source = re.sub(fr'<{tag_escaped}(.*?)>', fr'<div class="ksi-custom {tag}"\1>', source, re.IGNORECASE)
tak to nahradí jen první dva výskyty, jelikož re.IGNORECASE == 2
.
Každopádně od https://github.com/fi-ksi/web-backend/commit/58ff788e94141ecc78b9fcff0a14f0cbd4462e1a funguje i v collapsible blocích, zavírám tuhle issue jako vyřešenou
Parsování asi není opravené správně, nyní nefunguje author
, pokud celý blok není uzavřený do ```{=html}
.
Ukázkou je následující commit v rámci úlohy, kterou jsem odkazoval výše.
https://github.com/fi-naskoc/seminar/pull/32/commits/a86725e15afdb9650ed8cb690e3b74e4deb7e619
Testováno 12.07.2022 16:15 CEST na FE verzi 220712.120930.
To je zvláštní, z nějakého důvodu ten atribut něco (asi Pandoc?) přejmenuje. Udělám fix na FE.
<div class="ksi-custom ksi-tip" title="Mějte kreditovou rezervu" data-author="4">
<p>V každém semestru (a obzvláště v tom prvním) si doporučuji zapsat dostatek předmětů, abyste zvládli postoupit do dalšího semestru (>= 20 kreditů) i v případě, že jeden z předmětů nedáte.</p>
</div>
@BorysekOndrej mělo by to být OK ve verzi "220712.164758" -- prosím, zkus odstranit {=html}
a pokud to bude fungovat, zavři tuto issue
https://github.com/fi-ksi/web-frontend-angular/commit/c41015474e7f120b1cff1ce6091af09dff51c47f
Vypadá, že funguje. Díky!
Viz https://github.com/fi-ksi/web-frontend-angular/issues/40