mirror of
https://github.com/haml/haml.git
synced 2022-11-09 12:33:31 -05:00
Support scss
This commit is contained in:
parent
ac04b4a415
commit
3969733ca8
5 changed files with 19 additions and 7 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -7,3 +7,4 @@
|
|||
/pkg/
|
||||
/spec/reports/
|
||||
/tmp/
|
||||
.sass-cache
|
||||
|
|
|
@ -31,6 +31,7 @@ Gem::Specification.new do |spec|
|
|||
spec.add_development_dependency 'rails', '>= 4.0.0'
|
||||
spec.add_development_dependency 'rake', '~> 10.0'
|
||||
spec.add_development_dependency 'redcarpet'
|
||||
spec.add_development_dependency 'sass'
|
||||
spec.add_development_dependency 'therubyracer'
|
||||
spec.add_development_dependency 'thor', '~> 0.19'
|
||||
spec.add_development_dependency 'unindent'
|
||||
|
|
|
@ -10,6 +10,7 @@ require 'hamlit/filters/markdown'
|
|||
require 'hamlit/filters/plain'
|
||||
require 'hamlit/filters/preserve'
|
||||
require 'hamlit/filters/ruby'
|
||||
require 'hamlit/filters/scss'
|
||||
|
||||
module Hamlit
|
||||
class Filters
|
||||
|
@ -36,9 +37,11 @@ module Hamlit
|
|||
register :plain, Plain
|
||||
register :preserve, Preserve
|
||||
register :ruby, Ruby
|
||||
register :scss, Scss
|
||||
|
||||
def initialize(options = {})
|
||||
@options = options
|
||||
@compilers = {}
|
||||
end
|
||||
|
||||
def compile(node)
|
||||
|
@ -52,11 +55,7 @@ module Hamlit
|
|||
compiler = Filters.registered[name]
|
||||
raise NotFound.new("FilterCompiler for '#{name}' was not found") unless compiler
|
||||
|
||||
compilers[name] ||= compiler.new(@options)
|
||||
end
|
||||
|
||||
def compilers
|
||||
@compilers ||= {}
|
||||
@compilers[name] ||= compiler.new(@options)
|
||||
end
|
||||
|
||||
class NotFound < RuntimeError
|
||||
|
|
13
lib/hamlit/filters/scss.rb
Normal file
13
lib/hamlit/filters/scss.rb
Normal file
|
@ -0,0 +1,13 @@
|
|||
module Hamlit
|
||||
class Filters
|
||||
class Scss < TiltBase
|
||||
def compile(node)
|
||||
temple = [:multi]
|
||||
temple << [:static, "<style>\n".freeze]
|
||||
temple << compile_with_tilt(node, 'scss', indent_width: 2)
|
||||
temple << [:static, "</style>".freeze]
|
||||
temple
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -3,7 +3,6 @@ describe Hamlit::Filters do
|
|||
|
||||
describe '#compile' do
|
||||
it 'renders scss filter' do
|
||||
skip
|
||||
assert_render(<<-HAML, <<-HTML)
|
||||
:scss
|
||||
.users_controller {
|
||||
|
@ -22,7 +21,6 @@ describe Hamlit::Filters do
|
|||
end
|
||||
|
||||
it 'parses string interpolation' do
|
||||
skip
|
||||
assert_render(<<-'HAML', <<-HTML)
|
||||
:scss
|
||||
.users_controller {
|
||||
|
|
Loading…
Add table
Reference in a new issue