2016-12-26 5 views
3

Я написал в текстовое поле:Как определить язык кода для уценки?

```ruby 
puts 'hello word!' 
``` 

Я не буду:

<pre lang='ruby'><code>puts hello word!</code></pre> 

Вместо этого я получил:

<code>puts hello word!</code> 

Я пробовал разные атрибуты. Мой помощник:

def markdown(text) 
    renderer = Redcarpet::Render::HTML.new(
              hard_wrap:   true, 
              fenced_code_block: true, 
              no_intra_emphasis: true, 
              filter_html:  true 
              ) 
    markdown = 
     Redcarpet::Markdown.new(
           renderer, 
           fenced_code_block: true, 
           no_intra_emphasis: true, 
           fenced_code:  true, 
           gh_blockcode:  true, 
           autolink:   true, 
           hard_wrap:   true, 
           filter_html:  true 
          ) 

     markdown.render(text).html_safe 
    end 

Почему? Как я могу определить язык кода?

ответ

1

Опция, которую вы хотите, это fenced_code_blocks, с s. Вы также, кажется, смешиваете средства визуализации и расширения. Попробуйте следующее:

renderer = Redcarpet::Render::HTML.new(hard_wrap: true, 
             filter_html: true) 

markdown = Redcarpet::Markdown.new(renderer, 
            fenced_code_blocks: true, 
            no_intra_emphasis: true, 
            autolink:   true) 

markdown.render(text).html_safe