2011-02-09 4 views
2

Я использую уценки фильтр Haml, как и это:подсветка синтаксиса в уценки фильтра Haml в

:markdown 
    This is markdown text, yay! 

, но я хочу сделать подсветку синтаксиса для кода внутри этого текста, что-то вроде:

:markdown 
    This is markdown text, yay! 
    <code lang="ruby"> 
    def hello(world) 
     puts "Hello #{world}" 
    end 
    </code> 

Есть идеи, как это сделать? Я знаю, как использовать CodeRay, но я не вижу, как захватить этот текст.

+0

подсветка синтаксиса в какой текстовый редактор/IDE? – Phrogz

+0

@Phrogz В выпуске HTML. – Pablo

+1

@ JPablo Прошу прощения, я до сих пор не понимаю ваш вопрос. Вы спрашиваете, какую HTML-разметку и JS-библиотеку вы должны использовать для автоматической раскраски синтаксиса в веб-браузере? Если это так, это не связано с Haml, Markdown или Rails. Ни Haml, ни Markdown автоматически не создают HTML или CSS, что дает подсветку синтаксиса для любого конкретного языка. – Phrogz

ответ

0

Markdown действительно поддерживает блоки кода из коробки, но не поддерживает подсветку синтаксиса.

см. http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#markdown-filter для каких библиотек уценки haml ищет для анализа вашей уценки.

Если вы хотите передать свой код фильтру, который подсвечивает его, вы можете написать собственное расширение фильтра для haml. На самом деле это довольно просто.

http://haml-lang.com/docs/yardoc/Haml/Filters/Base.html

Если бы я тебя, хотя, я бы просто поставить код в виде блока и использовать библиотеку JavaScript, как GeSHi, чтобы выделить код. http://qbnz.com/highlighter/index.php

Таким образом, вы можете сделать что-то вроде:

%pre.ruby 
    puts "this is now syntax highlighted" 

И если у вас есть Geshi включены, теперь подсвечивается.

Смежные вопросы