Trim postów psuje markdown

Trim postów psuje markdown
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 8 godzin
  • Lokalizacja:Laska, z Polski
  • Postów:10074
1

Jeśli napiszę post zaczynający się od czterech spacji, to w Markdown to oznacza "indented code block", wcięty block.

Wiem że coyote robi trima na postach, ale to psuje Markdown.

Taka treść, cztery spacje, powinna zostać tak jak jest.

Kopiuj
    code

Również nowa linia oraz 4 spacje.

Kopiuj

    code

Jeśli chcemy trimować posty, to trzeba to zrobić mądrze, czyli usunąć wszystkie nowe linie, oprócz grupy spacji $\s*\n?( ), jeśli istnieje. Tak żeby zamieniło post "\n \n \n \n \n    code" na "    code".

edytowany 3x, ostatnio: Riddle
Marooned
Dodaj kropkę na początku posta ;-)
Adam Boduch
Administrator
  • Rejestracja:około 23 lata
  • Ostatnio:około 12 godzin
  • Postów:11948
0

Wydaje mi się że trim jest robiony przez sam framework jeszcze przed procesem walidacji żądania. :|

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 8 godzin
  • Lokalizacja:Laska, z Polski
  • Postów:10074
0
Adam Boduch napisał(a):

Wydaje mi się że trim jest robiony przez sam framework jeszcze przed procesem walidacji żądania. :|

Jak ja lubię jak frameworki coś magicznie same robią.

Ehh. Ale zależy nam na tym żeby posty były trimowane zanim wejdą do CommonMark?

Marooned
Trimowanie user data to dość standardowa praktyka generalnie.
Riddle
No, w 95% przypadków ma sens. Ale jak widać czasem powoduje problemy, np z Markdown.
Adam Boduch
Administrator
  • Rejestracja:około 23 lata
  • Ostatnio:około 12 godzin
  • Postów:11948
0

@TomRiddle: Trim można wyłączyć dla wybranych pól w middleware TrimString jak coś. Wyłączone jest chociażby dla pól zawierających hasło. Możesz dodać do listy pole text i wówczas powinno działać.  

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 8 godzin
  • Lokalizacja:Laska, z Polski
  • Postów:10074
0
Adam Boduch napisał(a):

@TomRiddle: Trim można wyłączyć dla wybranych pól w middleware TrimString jak coś. Wyłączone jest chociażby dla pól zawierających hasło. Możesz dodać do listy pole text i wówczas powinno działać.  

Na pewno jesteśmy ok z nietrimowaniem całego contentu?

Adam Boduch
Administrator
  • Rejestracja:około 23 lata
  • Ostatnio:około 12 godzin
  • Postów:11948
0

Tzn. tylko pól o nazwie text. Wszystkie pozostałe będą ucinane tak jak dotychczas.

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 8 godzin
  • Lokalizacja:Laska, z Polski
  • Postów:10074
0
Adam Boduch napisał(a):

Tzn. tylko pól o nazwie text. Wszystkie pozostałe będą ucinane tak jak dotychczas.

No tak, tak. Miałem na myśli cały content posta.

Ja to tym zrobił rtrim(), żeby uciąć wszystko z prawej chociaż. Nie wiem czy się da jakoś łatwo?

A lewą można albo zostawić, albo dopisać sprytnego regexpa, pytanie co wolisz.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.