dbwebb-se / mvc

Course repo for the mvc and object orientation in frameworks course - mvc.
Other
1 stars 4 forks source link

Markdown i Symfony #44

Open tomas-zw opened 2 years ago

tomas-zw commented 2 years ago

Vilket är det rekomenderade sättet att använda markdown i Symfony? Jag har hittat lite info om Parsedown och om jag har förstått det rätt så kan jag då omvandla till html i controllern -> skicka till vyn och där bara presentera den som vilken annan variabel som helst. Kan ha missförstått men verkar väldigt smidigt iaf. https://ourcodeworld.com/articles/read/375/how-to-convert-markdown-to-html-in-symfony-3

mosbth commented 2 years ago

Du verkar ha koll på hur det funkar.

Det finns många olika moduler som kan parsa Markdown till HTML och man kan installera dem med composer. De har lite olika "flavour" och stöd för saker bortom själva Markdown.

En variant är att man sparar Markdown-filerna i tex content/kmom01.md och läser in filens innehåll till en variabel i en controller metod. Sedan parsar man markdown-texten till html och bifogar med $data som skickas till templatefilen för rendering.

På det sättet kan man bygga både enkla och mer avancerade webbplatser som bygger på Markdown.

En variant vi använde i tidigare kurser byggde på denna artikeln.

Den bygger i sin tur på följande Markdown parser.

Men det är rimligt att kika lite olika Markdown parsers innan man väljer.

Via Packagist kan man se vilken parser som laddats ned flest gånger, det är ju någon form av populatritetskoll.

mosbth commented 2 years ago

En annan variant är att använda ett filter som är inbyggt i templatemotorn Twig. Det gör det enkelt att komma igång.

Man installerar en modul för markdown-filtret och väljer en markdown-parser med composer.

composer require twig/markdown-extra league/commonmark

Sedan kan man skriva markdown direkt i sin twig template, ungefär så här.

{% apply markdown_to_html %}
Report
======

This is the reports from each kmom.
{% endapply %}

{{ include('report/kmom01.markdown.twig')|markdown_to_html }}
{{ include('report/kmom02.markdown.twig')|markdown_to_html }}

Det finns en del i en zoom som visar hur man bygger en report-sida med Markdown enligt ovan.

tomas-zw commented 2 years ago

Tack för dom utförliga svaren.