Podziały linii Markdown w blokach kodu


Korzystanie z RedCarpet Kiedy włączę coś jak w mojej mocy, nie szanuje żadnych przerw w rzędów ani wcięć. Próbowałem dwóch przestrzeni na końcu rzędów. Dodatkowe linie między kodami. Wydaje się, że nic nie działa.
```xml
<?xml version="1.0" encoding="UTF-8"?>
<hash>
<money>3</money>
</hash>```

Widzę:
<?xml version="1.0" encoding="UTF-8"?> <hash> <money>3</money> </hash>

Oto parametry Redcarpet:
Redcarpet::Markdown.new(Redcarpet::Render::HTML, :autolink => true, :space_after_headers => true, :fenced_code_blocks => true, :no_intra_emphasis => true, :lax_html_blocks => true)

Co muszę zrobić, aby wiersze były poprawnie łamane i pozostawały wcięte, jak tutaj lub w serwisie GitHub?

Aktualizacja

- a źródło wygląda następująco:
[code]&<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&>
&<hash&>
&<money&>3&</money&>
&</hash&>
[/code]
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:


Spróbuj zawijaj wynik znaczenia w Asystent
Find_and_preserve
Haml
>
# Assuming a setup like this:
markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML)
code_snippet = " <xml>\n <tag/>\n </xml>"# This should prevent undesirable spaces within code blocks:
find_and_preserve(markdown.render(code_snippet)).html_safe

Kiedy zawijasz wywołanie renderowania za pomocą pomocnika Hamla
find_and_preserve
, wszystkie znaki nowej linii w tagach
& < pre & >
w danych wyjściowych znacznika są chronione przez równoważne encje HTML i automatyczne wcięcie Hamla ignoruje je.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wynik analizy zawiera znaki nowej linii w bloku
& < pre & >
:
require 'redcarpet'
md = Redcarpet::Markdown.new(Redcarpet::Render::HTML, fenced_code_blocks:true)puts md.render("```xml\n<foo>\n</foo>\n```")
#=> <code class="xml">&<foo&>
#=> &</foo&>
#=>
[/code]
  • Upewnij się, że widzisz podobne opakowanie w wyniku HTML
  • Ustaw CSS, aby używał wstępnego formatowania w blokach
    & < pre & >
    :
    pre { white-space:pre }
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Na Githubie wszystko, co musiałem zrobić, to otoczyć wcięcia/tekst sformatowany tagami
& < pre & >
i
& </pre & >
.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wypróbuj ten skrypt do izolowania, czy jest to coś w aplikacji lub Redcarpet.
Nie mogę odtworzyć problemu, z którym masz do czynienia (z klejnotem redcarpet-2.1.1). Umieść to w pliku, a następnie uruchom (
ruby ​​redcarpet_test.rb
):
require 'rubygems'
require 'redcarpet'md = %Q{...
```xml
<?xml version="1.0" encoding="UTF-8"?>
<hash>
<money>3</money>
</hash>
```...}r = Redcarpet::Markdown.new(Redcarpet::Render::HTML, :autolink => true, :space_after_headers => true, :fenced_code_blocks => true, :no_intra_emphasis => true, :lax_html_blocks => true)puts r.render md

Które odpowiednio wynika z:
...[code]xml
&<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&>
&<hash&>
&<money&>3&</money&>
&</hash&>
...[/code]

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się