remove old haml table helper
This commit is contained in:
parent
859b7f6d97
commit
6cefa401f9
2 changed files with 48 additions and 65 deletions
|
@ -6,36 +6,14 @@ module Middleman
|
|||
module Haml
|
||||
class << self
|
||||
def registered(app)
|
||||
app.helpers Middleman::Renderers::Haml::Helpers
|
||||
app.helpers Helpers
|
||||
end
|
||||
alias :included :registered
|
||||
end
|
||||
|
||||
module Helpers
|
||||
def haml_partial(name, options = {})
|
||||
partial(name, options)
|
||||
end
|
||||
end
|
||||
|
||||
module Table
|
||||
include ::Haml::Filters::Base
|
||||
|
||||
def render(text)
|
||||
output = '<div class="table"><table cellspacing="0" cellpadding="0">'
|
||||
line_num = 0
|
||||
text.each_line do |line|
|
||||
line_num += 1
|
||||
next if line.strip.empty?
|
||||
output << %Q{<tr class="#{(line_num % 2 == 0) ? "even" : "odd" }#{(line_num == 1) ? " first" : "" }">}
|
||||
|
||||
columns = line.split("|").map { |p| p.strip }
|
||||
columns.each_with_index do |col, i|
|
||||
output << %Q{<td class="col#{i+1}">#{col}</td>}
|
||||
end
|
||||
|
||||
output << "</tr>"
|
||||
end
|
||||
output + "</table></div>"
|
||||
render(name, options)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -9,17 +9,17 @@ module Middleman
|
|||
class << self
|
||||
def registered(app)
|
||||
app.after_feature_init do
|
||||
views_root = File.basename(self.views)
|
||||
views_root = File.basename(app.views)
|
||||
::Compass.configuration do |config|
|
||||
config.cache = false # For sassc files
|
||||
config.project_path = self.root
|
||||
config.sass_dir = File.join(views_root, self.css_dir)
|
||||
config.project_path = app.root
|
||||
config.sass_dir = File.join(views_root, app.css_dir)
|
||||
config.output_style = :nested
|
||||
config.fonts_dir = File.join(views_root, self.fonts_dir)
|
||||
config.css_dir = File.join(views_root, self.css_dir)
|
||||
config.images_dir = File.join(views_root, self.images_dir)
|
||||
config.http_images_path = self.http_images_path rescue File.join(self.http_prefix || "/", self.images_dir)
|
||||
config.http_stylesheets_path = self.http_css_path rescue File.join(self.http_prefix || "/", self.css_dir)
|
||||
config.fonts_dir = File.join(views_root, app.fonts_dir)
|
||||
config.css_dir = File.join(views_root, app.css_dir)
|
||||
config.images_dir = File.join(views_root, app.images_dir)
|
||||
config.http_images_path = app.http_images_path rescue File.join(app.http_prefix || "/", app.images_dir)
|
||||
config.http_stylesheets_path = app.http_css_path rescue File.join(app.http_prefix || "/", app.css_dir)
|
||||
config.asset_cache_buster :none
|
||||
|
||||
config.add_import_path(config.sass_dir)
|
||||
|
@ -36,48 +36,53 @@ module Middleman
|
|||
end
|
||||
alias :included :registered
|
||||
end
|
||||
|
||||
class SassPlusCSSFilenameTemplate < ::Tilt::SassTemplate
|
||||
def sass_options
|
||||
return super if basename.nil?
|
||||
|
||||
location_of_sass_file = Middleman::Server.environment == :build ?
|
||||
File.join(Middleman::Server.root, Middleman::Server.build_dir) :
|
||||
Middleman::Server.views
|
||||
|
||||
parts = basename.split('.')
|
||||
parts.pop
|
||||
css_filename = File.join(location_of_sass_file, Middleman::Server.css_dir, parts.join("."))
|
||||
super.merge(::Compass.configuration.to_sass_engine_options).merge(:css_filename => css_filename)
|
||||
end
|
||||
|
||||
def evaluate(scope, locals, &block)
|
||||
begin
|
||||
super
|
||||
rescue Sass::SyntaxError => e
|
||||
Sass::SyntaxError.exception_to_css(e, :full_exception => true)
|
||||
end
|
||||
end
|
||||
end
|
||||
::Tilt.register 'sass', SassPlusCSSFilenameTemplate
|
||||
::Tilt.prefer(SassPlusCSSFilenameTemplate)
|
||||
|
||||
class ScssPlusCSSFilenameTemplate < SassPlusCSSFilenameTemplate
|
||||
def sass_options
|
||||
super.merge(:syntax => :scss)
|
||||
end
|
||||
end
|
||||
::Tilt.register 'scss', ScssPlusCSSFilenameTemplate
|
||||
::Tilt.prefer(ScssPlusCSSFilenameTemplate)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class Tilt::SassPlusCSSFilenameTemplate < Tilt::SassTemplate
|
||||
def sass_options
|
||||
return super if basename.nil?
|
||||
|
||||
location_of_sass_file = Middleman::Server.environment == :build ?
|
||||
File.join(Middleman::Server.root, Middleman::Server.build_dir) :
|
||||
Middleman::Server.views
|
||||
|
||||
parts = basename.split('.')
|
||||
parts.pop
|
||||
css_filename = File.join(location_of_sass_file, Middleman::Server.css_dir, parts.join("."))
|
||||
super.merge(::Compass.configuration.to_sass_engine_options).merge(:css_filename => css_filename)
|
||||
end
|
||||
|
||||
def evaluate(scope, locals, &block)
|
||||
begin
|
||||
super
|
||||
rescue Sass::SyntaxError => e
|
||||
Sass::SyntaxError.exception_to_css(e, :full_exception => true)
|
||||
end
|
||||
end
|
||||
end
|
||||
Tilt.register 'sass', Tilt::SassPlusCSSFilenameTemplate
|
||||
|
||||
class Tilt::ScssPlusCSSFilenameTemplate < Tilt::SassPlusCSSFilenameTemplate
|
||||
def sass_options
|
||||
super.merge(:syntax => :scss)
|
||||
end
|
||||
end
|
||||
Tilt.register 'scss', Tilt::ScssPlusCSSFilenameTemplate
|
||||
|
||||
|
||||
# Use compass settings in Haml filters
|
||||
# Other, tilt-based filters (like those used in Slim) will
|
||||
# work automatically.
|
||||
module Middleman::Renderers::Haml
|
||||
module Sass
|
||||
include ::Haml::Filters::Base
|
||||
|
||||
def render(text)
|
||||
::Sass::Engine.new(text, ::Compass.configuration.to_sass_engine_options).render
|
||||
compass_options = ::Compass.configuration.to_sass_engine_options
|
||||
::Sass::Engine.new(text, compass_options).render
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue