Maruku analyse syntaxique de manière incorrecte deuxième ligne de blocs de code?
Question
J'utilise Maruku (Ruby) pour analyser un texte Markdown formaté. J'ai un problème en essayant de mettre en forme un bloc de code
comme par exemple:
This is a normal line
# pretend this line is empty
printf("First line of code is OK");
printf("Second line of code (or any line thereafter) appears indented by an extra level, which is incorrect!");
Ma première ligne de code (que je suis en retrait dans mon dossier par 4 espaces md (ou un onglet), rend tout comme je pense. Cependant, ma deuxième ligne de code (par indenté exactement le même nombre des espaces) finit par être en retrait par un supplément de 4 espaces où est généré le code HTML.
Les regards de sortie comme ceci:
This is a normal line
<pre><code>printf("First line of code is OK");
printf("Second line of code (or any line thereafter) appears indented by an extra level, which is incorrect!");</code></pre>
Je l'ai testé mon entrée Markdown « Dingus » Gruber, et il rend que je pense (qui est, les deux lignes de code dans un seul bloc, à la fois en retrait au même niveau). Mais avec Maruku, il est superposé.
J'ai aussi essayé avec RDiscount, mais je reçois le même effet. J'utilise Maruku parce que je besoin des listes de définition.
Comment SO formate:
Ceci est une ligne normale
printf("First line of code is OK\n");
printf("Second line of code (or any line thereafter) appears indented by an extra level, which is incorrect!");
La solution
Il se trouve cela n'a pas été un problème Maruku mais un problème de HAML.
HAML est difficile en matière d'espaces et à le conserver. La solution a été besoin d'utiliser = preserve @my_html_string
lors du rendu il.
Par exemple, layout.haml
donné:
!!! 5
%html
%body
= yield
et index.haml
%article
= preserve @my_html_fragment_with_pre_and_code
Ensuite, il viderait correctement pour moi.