Module: TopHat::MetaHelper

Defined in:
lib/tophat/meta.rb

Instance Method Summary collapse

Instance Method Details

#description(options = nil) ⇒ Object

page descriptions <meta name=“description” content=“Description goes here.” />



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/tophat/meta.rb', line 16

def description(options=nil)
  if options.is_a? String
    @tophat_description = options
    
  else
    options ||= {}
    options.merge!(:name => 'description')

    if @tophat_description.blank?
      options.merge!(:content => options.delete(:default))
      
    else
      options.merge!(:content => @tophat_description) 
    end

    meta_tag(options) if options[:content]
  end    
end

#keywords(options = nil) ⇒ Object

keywords <meta name=“keywords” content=“Keywords go here.” />



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/tophat/meta.rb', line 37

def keywords(options=nil)        
  if options.is_a?(String)
    @tophat_keywords = options
    
  elsif options.is_a?(Array)
    @tophat_keywods = options.join(', ')
    
  else
    options ||= {}
    options.merge!(:name => 'keywords')

    default_keywords = options.delete(:default) || []
    display_keywords = @tophat_keywords.blank? ? default_keywords : @tophat_keywords
    
    # normalize the keywords
    default_keywords = default_keywords.is_a?(String) ? default_keywords.split(', ') : default_keywords
    display_keywords = display_keywords.is_a?(String) ? display_keywords.split(', ') : display_keywords        
    
    # merge keyword arrays if merge is set to true
    display_keywords += default_keywords if options.delete(:merge_default) == true

    options.merge!(:content => display_keywords.uniq.join(', '))
    meta_tag(options) if display_keywords.any?
  end    
end

#meta_tag(options = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'lib/tophat/meta.rb', line 4

def meta_tag(options={})
  # tag :meta, :name => options[:name], :content => options[:content]    
  if options[:content] && (options[:name] || options[:http_equiv])
    t = "<meta "
    t << "name=\"#{options[:name]}\"" if options[:name]
    t << "http-equiv=\"#{options[:http_equiv]}\"" if options[:http_equiv]
    t << " content=\"#{options[:content]}\" />" 
  end
end