08 apr

Eenvoudig TYPO3 content opmaken in Markdown?

Veel platformen waar source code wordt gemaakt en/of beheerd (zoals Github), of een vraag en antwoord platform (zoals StackOverflow), bieden de mogelijkheid om tekst in te voeren als Markdown. Markdown is een lichtgewicht opmaaktaal die gebruikt wordt voor het opmaken van README bestanden, het schrijven van berichten in fora en het opmaken van 'rich text' met een gewone editor.

Markdown zag het licht op 10 maart 2004. Dat is op het moment van schrijven alweer 12 jaar geleden! De makers zijn John Gruber (die je misschien wel kent van de Daring Fireball) en Aaron Swartz. Veel programmeurs hebben zich Markdown al eigen gemaakt en verwachten ondersteuning voor Markdown in de pakketten waar ze mee werken.

De Atlassian Suite (Jira, Confluence etc.) ondersteunt gedeeltelijk Markdown in BitBucket. Ik hoop nog steeds dat ze het gaan ondersteunen in HipChat en het verder consistent doorvoeren in de hele suite. In TYPO3 kon je via enkele extensies ook al gebruik maken van Markdown. Er zijn een aantal extensies die een Markdown content element beschikbaar maken in de backend. Maar geen van deze extensies heeft een 'live-preview' mogelijkheid. Daarom besloot ik er zelf een Markdown extensie te schrijven. Deze maakt gebruik van de Parsedown PHP library. Deze library interpreteert de Markdown regel voor regel, hetgeen een grote snelheidswinst oplevert bij het parsen van Markdown.

Je kunt met dit content element in de backend direct een voorbeeld zien van je Markdown. De voorbeeld weergave wordt na tien karakters of twee seconden bijgewerkt. Dit ziet er zo uit:

Je kunt de extensie eenvoudig installeren met composer require typo3-ter/parsedown of de extensie 'parsedown' opzoeken in de TYPO3 Extension Repository. Na installatie heb je de beschikking over een extra content element met de naam 'Markdown'.

Dit artikel is geschreven met het Markdown content element. Enkele gebruikers hebben al voorgesteld om een 'distraction-free' mode in te bouwen in de extensie. Met een speciale wizard knop zou je de Markdown editor dan over de TYPO3 backend heen kunnen leggen. Je zou dan een interface krijgen als bij StackEdit. Dat lijkt mij ook wel een mooie feature.

Veel schrijfplezier!

Geschreven door: