Add scss filter

This commit is contained in:
Takashi Kokubun 2015-03-30 17:20:54 +09:00
parent d2ed383d86
commit c3aea3755a
3 changed files with 35 additions and 0 deletions

View File

@ -7,6 +7,7 @@ require 'hamlit/filters/plain'
require 'hamlit/filters/preserve'
require 'hamlit/filters/ruby'
require 'hamlit/filters/sass'
require 'hamlit/filters/scss'
module Hamlit
module Compilers
@ -25,6 +26,7 @@ module Hamlit
register :preserve, Filters::Preserve
register :ruby, Filters::Ruby
register :sass, Filters::Sass
register :scss, Filters::Scss
end
def on_haml_filter(name, lines)

View File

@ -0,0 +1,12 @@
require 'hamlit/filters/tilt'
module Hamlit
module Filters
class Scss < Filters::Tilt
def compile(lines)
ast = [:html, :tag, 'style', [:html, :attrs]]
compile_with_tilt('scss', lines.join("\n"), ast)
end
end
end
end

View File

@ -0,0 +1,21 @@
describe Hamlit::Filters::Scss do
describe '#compile' do
it 'renders scss filter' do
assert_render(<<-HAML, <<-HTML)
:scss
.users_controller {
.show_action {
margin: 10px;
padding: 20px;
}
}
HAML
<style>
.users_controller .show_action {
margin: 10px;
padding: 20px; }
</style>
HTML
end
end
end