New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
markdown: setBreaksEnabled( ) einstellbar machen #3885
Conversation
Statt setBreaksEnabled fix auf TRUE einzustellen, kann man nun über `rex::setProperty('rex_markdown_setBreaksEnabled',false)` den Default-Wert (true) überschreiben.
Einen globalen Schalter dafür einzuführen, finde ich nicht sinnvoll. Dann kann man sich als Addon-Ersteller ja nicht mehr darauf verlassen, wie die Markdown-Dateien des Addons bei anderen gerendert werden. Ich hatte die Option damals aktiviert, weil ich ein möglichst gleiches Rendering haben wollte wie Markdown hier auf Github. Da es in REDAXO aber gerade ja um die Readmes geht, habe ich das Gegenteil meiner Intention erreicht. |
Bin mir nicht sicher, ob ich alles verstanden habe.
Was wäre auch was. Soll ich den PR anpassen? |
Ja genau so meine ich es. Also für die Markdown-Pages im Backend wäre es also ein kleiner BC-Break. Allerdings geht es ja nur um die Darstellung, genauer um die Zeilenumbrüche. Das ist verkraftbar, denke ich. Vor allem da Readmes, die auf das alte Verhalten gesetzt haben, ja jetzt schon auf Github dann falsch dargestellt wurden. Es wäre also sowieso sinnvoll die betroffenen Readmes anzupassen. Pr gerne so anpassen. Oder hat jemand anderes eine abweichende Meinung? |
Zwei Konstanten SET_BREAKS_ENABLED und SET_BREAKS_DISABLED, die beim Aufruf des Parsers übergeben werdern können. Vorbelegung ist SET_BREAKS_ENABLED, so dass das gewohnte Verhalten weiter besteht, wenn nicht ausdrücklich beim Parser-Aufruf geändert.
Hab es mal bei mir eingebaut und getestet. Sieht gut aus; hab es also in den PR übertragen. Du musst aber wohl noch mal nacharbeiten. Ich verstehe nicht was diese ganzen automatischen Tests anmeckern. |
@christophboecker lass dich nicht irritieren von phpstan/psalm oder php-cs-fixer errors.. das bekommen wir einfach behoben, wenn das feature steht. |
ausgenommen du willst es für dich lernen und machst es zur fortbildung :) |
|
hmm ist das normal? klingt komisch.. 2 leerzeichen am ende? |
Das ist Standard-Markdown:
https://daringfireball.net/projects/markdown/syntax#p Ist hier auf Github in den Markdown-Dateien wie gesagt auch so, nur hier in Markdown-Kommentaren ist der andere Modus aktiv, wo Zeilenumbrüche direkt zu Habe ich so auch schon öfters deswegen in der editorconfig gesehen, zum Beispiel bei Laravel: |
Ok mal sehen wie es funktioniert |
Ich hoffe das ein Umbruch in den Dateien als Umbruch ausgegeben wird. |
Findest du nicht, dass wir uns möglichst gleich verhalten sollten zur Darstellung der Markdown-Dateien auf Github? |
aber auf github werden umbrüche doch auch als umbrüche dargestellt, oder? |
Wie oben erläutert nur hier in den Kommentaren, nicht auf Dateiebene. |
Ok, jetzt versteh ich es. Wir reden von Dann hab ich bisher nicht umbrüche (also BRs) gemacht und habe sie nie vermisst. Daher kenn ich das mit den 2 spaces nicht. Kurzum: kann wg. mir so gemacht werden |
Mercie. |
Danke Dir! |
Der Markdown-Parser fasst im Normalbetrieb aufeinanderfolgende Zeilen zu einem Block zusammen und setzt sie in einen P-Tag. Falls das nicht gewünscht ist. kann mit
$parser->setBreaksEnabled(true)
das Verhalten geändert werden. Dann wird jeder Zeilenumbruch im Quelltext zu einem<br>
. Und so ist aktuell Markdown in REX eingestellt. Und das kann bisher an keiner Stelle rückgängig gemacht werden.Für die Texterfassung bedeutet es, dass man in der Ausgabe mehrzeiligen Fließtext bei der Erfassung immer als eine Zeile schreiben muss, um auch bei verschiedenen Anzeigebreiten einen guten Umbruch zu erhalten. Manche empfinden das als unübersichtlich.
Erfasst man den Text anders, kann es jedoch seltsam werden ... Hier mal ein Beispiel; das Zeilenende des erfassten Textes ist mit
∞
kenntlich gemacht:Ausgabe mit der Einstellung TRUE-> kein Fließtext
Ausgabe mit der Einstellung TRUE in einem schmalen DIV -> nur Fließtext für die dritte Zeile
Ausgabe mit der Einstellung FALSE als Fließtext:
Der PR hier würde den fixen Wert TRUE durch den aktuellen Wert der Property 'rex_markdown_setBreaksEnabled' ersetzen, wobei zur Vermeidung eines BC TRUE der Defaultwert bei nicht gesetzter Property ist. Mit
kann der REDAXO-Default
true
überschrieben werden.