101: def content_tag_with_haml(name, *args, &block)
102: return content_tag_without_haml(name, *args, &block) unless is_haml?
103:
104: preserve = haml_buffer.options[:preserve].include?(name.to_s)
105:
106: if block_given? && block_is_haml?(block) && preserve
107: return content_tag_without_haml(name, *args) {preserve(&block)}
108: end
109:
110: returning content_tag_without_haml(name, *args, &block) do |content|
111: return Haml::Helpers.preserve(content) if preserve && content
112: end
113: end