Маруку неправильно анализирует вторую строку кодовых блоков?

StackOverflow https://stackoverflow.com/questions/6325416

Вопрос

Я использую Maruku (Ruby), чтобы проанализировать несколько форматированных текстов. У меня есть проблема при попытке отформатировать блок code Как таковые:

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!");

Итак, моя первая строка кода (которую я отступил в своем MD -файле по 4 пространствам (или вкладке), рендерирует так же, как я ожидал. Однако моя вторая строка кода (отступая точно одинаковое количество пробелов) в конечном итоге оказался с отступом дополнительными 4 пространствами, когда генерируется HTML.

Вывод выглядит так:

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>

Я проверил свой ввод Marckdown с «Dingus» Грубера, и он воспроизводит, как я ожидал (то есть обе строки кода в одном блоке, обе отступы на одном уровне). Но с Маруку это койка.

Я также пытался с RDiscount, но я получаю тот же эффект. Я использую Maruku, потому что мне нужны списки определений.

Как это форматирует:

Это нормальная линия

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!");
Это было полезно?

Решение

Оказывается, это была не проблема Маруку, а проблема с ХАМП.

Хэмл суетлив, когда дело доходит до пробела и сохраняет его. Решение было необходимо использовать = preserve @my_html_string При его рендеринге.

Например, приведено layout.haml:

!!! 5
%html
    %body
        = yield

а также index.haml

%article
    = preserve @my_html_fragment_with_pre_and_code

Тогда это будет правильно для меня.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top