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!");
Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top