Imvertor / Imvertor-Maven

Mavenized version of Imvertor
http://www.imvertor.org
9 stars 12 forks source link

Correct uitlezen (volgens opgegeven formaat) van notes fields #522

Open ArjanLoeffen opened 1 month ago

ArjanLoeffen commented 1 month ago

De inhoud van het notes veld wordt "geparsed" op basis van het opgegeven formaat. Bijvoorbeeld Markdown. Dat geef je op in de notes-rules, dwz. middels

<notes-format>markdown</notes-format>

Echter, notes fields worden in EA opgeslagen als een soort XHTML (het notes veld kun je vrij bewerken met een ingebouwde WYSIWYG editor). Het is dus XHTML plus markdown, mediawiki of plain formaat.

Wat er gebeurt is: Neem alle constructies over die in de XHTML zitten, en zet ze om naar markdown. Zet dat formaat om naar XHTML.

Bijvoorbeeld, een mix van WYSIWYG opmaak en Markdown: image

wordt eerst omgezet naar pure markdown:

Een **baksteen** is een soort bouwmateriaal, *maar alleen als het uit klei is gemaakt door mensen*.

* eerste item
* tweede item
* derde item

maar ook

* vierde en
* vijfde item

en daarna terugvertaald naar XHTML wat als basis vormt voor verdere verwerking:

<imvert:tagged-value origin="notes" id="CFG-TV-DESCRIPTION">
   <imvert:name original="Toelichting">TOELICHTING</imvert:name>
   <imvert:value format="markdown">
      <body xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml">
         <p>Een <strong>baksteen</strong> is een soort bouwmateriaal, <em>maar alleen als het uit klei is gemaakt door mensen</em>.</p>
         <ul>
            <li>eerste item</li>
            <li>tweede item</li>
            <li>derde item</li>
         </ul>
         <p>maar ook</p>
         <ul>
            <li>vierde en</li>
            <li>vijfde item</li>
         </ul>
      </body>
   </imvert:value>
</imvert:tagged-value>

Er is op dit moment nog geen mogelijkheid om géén markdown constructies te herkennen in het notes veld. Dus bijvoorbeeld een ster aan het begin van de regel wordt altijd opgevat als lijst item.

wilkoquak commented 1 month ago

Ik ben wel blij met de huidige functionaliteit en zou die dan bijvoorbeeld 'xhtml+markdown' willen noemen. Of het altijd fijn is dat de markdown constructies worden herkend in het notes veld? Pas had ik een definitie waar twee keer een underscore in zat wat verrassend voor mij een stukje italics opleverde. Maar dat bleek met een backslash keurig te escapen.

Op korte termijn is voor mij als opmaakt 'xhtml+markdown' prima. Op termijn kan ik me ook andere combinaties voorstellen: