class Hamlit::Compiler::CommentCompiler

Public Instance Methods

compile(node, &block) click to toggle source
# File lib/hamlit/compiler/comment_compiler.rb, line 4
def compile(node, &block)
  if node.value[:conditional]
    compile_conditional_comment(node, &block)
  else
    compile_html_comment(node, &block)
  end
end

Private Instance Methods

compile_conditional_comment(node) { |node| ... } click to toggle source
# File lib/hamlit/compiler/comment_compiler.rb, line 22
def compile_conditional_comment(node, &block)
  condition = node.value[:conditional]
  if node.value[:conditional] =~ /\A\[(\[*[^\[\]]+\]*)\]/
    condition = $1
  end

  if node.children.empty?
    [:html, :condcomment, condition, [:static, " #{node.value[:text]} "]]
  else
    [:html, :condcomment, condition, yield(node)]
  end
end
compile_html_comment(node) { |node| ... } click to toggle source
# File lib/hamlit/compiler/comment_compiler.rb, line 14
def compile_html_comment(node, &block)
  if node.children.empty?
    [:html, :comment, [:static, " #{node.value[:text]} "]]
  else
    [:html, :comment, yield(node)]
  end
end