Markdown kullanarak blog yazmaya çalışıyorum ve redcarpet gem yüklemeye karar verdim. Her şey iyi görünüyor, pygments.rb sözdizimi vurgulama, AMA ile büyük bir iş yapıyor, sorun ne zaman ben ```
kullanarak kod bloğu koymak çalıştığınızda 6 satırları tarafından girintilen tüm satırları (ilk hariç) olsun. Bundan nasıl kurtuluruz?Redcarpet gem (Ruby on Rails) kullanarak ek alanlardan kurtulmak için
application_helper.rb
module ApplicationHelper
class HTMLwithPygments < Redcarpet::Render::HTML
def block_code(code, language)
Pygments.highlight(code, lexer: language)
end
end
def markdown(content)
renderer = HTMLwithPygments.new(hard_wrap: true, filter_html: true)
options = {
autolink: true,
no_intra_emphasis: true,
disable_indented_code_blocks: true,
fenced_code_blocks: true,
lax_html_blocks: true,
strikethrough: true,
superscript: true
}
Redcarpet::Markdown.new(renderer, options).render(content).html_safe
end
end
Yayın görüntüleme - show.html.haml
.container
.show.title
= @post.title
.show.header
= @post.header
.show.created_at
= @post.created_at
.show.content
= markdown @post.content
Bu kod nasıl göründüğünü yüce olduğu gibi:
Ben 2 alanlarda girinti ile SublimeText3 kullanıyorum, görünümler html.haml biçimindedir:
Bu içeriği yayınlama kopyalanıp yapıştırılan aynı kodla nasıl göründüğünü render yazıdır.
```ruby
module ApplicationHelper
class HTMLwithPygments < Redcarpet::Render::HTML
def block_code(code, language)
Pygments.highlight(code, lexer: language)
end
end
def markdown(content)
renderer = HTMLwithPygments.new(hard_wrap: true, filter_html: true)
options = {
autolink: true,
no_intra_emphasis: true,
disable_indented_code_blocks: true,
fenced_code_blocks: true,
lax_html_blocks: true,
strikethrough: true,
superscript: true
}
Redcarpet::Markdown.new(renderer, options).render(content).html_safe
end
end
Her iki yol da benim için çalışıyor, teşekkürler! – weezing