Class: MetaTags::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/meta_tags/configuration.rb,
sig/lib/meta_tags/configuration.rbs

Overview

MetaTags configuration.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Initializes a new instance of Configuration class.



58
59
60
# File 'lib/meta_tags/configuration.rb', line 58

def initialize
  reset_defaults!
end

Instance Attribute Details

#description_limitInteger?

How many characters to truncate description to.

Returns:

  • (Integer, nil)


23
24
25
# File 'lib/meta_tags/configuration.rb', line 23

def description_limit
  @description_limit
end

#keywords_limitInteger

How many characters to truncate keywords to.

Returns:

  • (Integer)


26
27
28
# File 'lib/meta_tags/configuration.rb', line 26

def keywords_limit
  @keywords_limit
end

#keywords_lowercaseBoolean

Should keywords be forced into lowercase?

Returns:

  • (Boolean)


32
33
34
# File 'lib/meta_tags/configuration.rb', line 32

def keywords_lowercase
  @keywords_lowercase
end

#keywords_separatorString

Keywords separator - a string to join keywords with.

Returns:

  • (String)


29
30
31
# File 'lib/meta_tags/configuration.rb', line 29

def keywords_separator
  @keywords_separator
end

#minify_outputBoolean

When true, the output will not include new line characters between meta tags. Default is false.

Returns:

  • (Boolean)


40
41
42
# File 'lib/meta_tags/configuration.rb', line 40

def minify_output
  @minify_output
end

#open_meta_tagsBoolean

Switches between open (<meta ... >) and closed (<meta ... />) meta tags. Default is true, which means "open".

Returns:

  • (Boolean)


36
37
38
# File 'lib/meta_tags/configuration.rb', line 36

def open_meta_tags
  @open_meta_tags
end

#property_tagsArray[String | Symbol] (readonly)

Custom meta tags that should use the property attribute instead of name. An array of strings or symbols representing their names or name prefixes.

Returns:

  • (Array[String | Symbol])


48
49
50
# File 'lib/meta_tags/configuration.rb', line 48

def property_tags
  @property_tags
end

#resolve_symbolic_references_in_arraysBoolean

When true, Symbols inside nested meta tag arrays resolve as references to normalized top-level tags. Default is false until MetaTags 3.0.

Returns:

  • (Boolean)


44
45
46
# File 'lib/meta_tags/configuration.rb', line 44

def resolve_symbolic_references_in_arrays
  @resolve_symbolic_references_in_arrays
end

Configure whether MetaTags should skip canonical links on pages with noindex: true. John Mueller has noted that mixing noindex and rel=canonical sends contradictory signals. https://www.reddit.com/r/TechSEO/comments/8yahdr/2_questions_about_the_canonical_tag/e2dey9i/

Returns:

  • (Boolean)


55
56
57
# File 'lib/meta_tags/configuration.rb', line 55

def skip_canonical_links_on_noindex
  @skip_canonical_links_on_noindex
end

#title_limitInteger?

How many characters to truncate title to.

Returns:

  • (Integer, nil)


7
8
9
# File 'lib/meta_tags/configuration.rb', line 7

def title_limit
  @title_limit
end

#title_tag_attributesHash[html_tag_key, html_tag_value]?

HTML attributes for the title tag.

Returns:

  • (Hash[html_tag_key, html_tag_value], nil)


10
11
12
# File 'lib/meta_tags/configuration.rb', line 10

def title_tag_attributes
  @title_tag_attributes
end

#truncate_array_items_at_boundariesBoolean

When true, multi-item arrays stop at item boundaries instead of truncating the overflowing item.

Returns:

  • (Boolean)


20
21
22
# File 'lib/meta_tags/configuration.rb', line 20

def truncate_array_items_at_boundaries
  @truncate_array_items_at_boundaries
end

#truncate_on_natural_separatorString?, Regexp

A string or regexp separator to truncate text at a natural break.

Returns:

  • (String?, Regexp)


16
17
18
# File 'lib/meta_tags/configuration.rb', line 16

def truncate_on_natural_separator
  @truncate_on_natural_separator
end

#truncate_site_title_firstBoolean

Truncate site_title instead of title.

Returns:

  • (Boolean)


13
14
15
# File 'lib/meta_tags/configuration.rb', line 13

def truncate_site_title_first
  @truncate_site_title_first
end

Instance Method Details

#default_property_tagsArray<String>

Returns the default meta tag prefixes and names that use property.

Returns:

  • (Array<String>)

    default property tag names.



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/meta_tags/configuration.rb', line 65

def default_property_tags
  [
    # App Links metadata https://developers.facebook.com/docs/applinks/metadata-reference
    "al",
    # Open Graph Markup https://developers.facebook.com/docs/sharing/webmasters#markup
    "fb",
    "og",
    # Facebook Open Graph object types https://developers.facebook.com/docs/reference/opengraph
    # These tags are matched as exact property names or namespace prefixes, so e.g.
    # 'restaurant' affects 'restaurant:category', 'restaurant:price_rating', and other
    # properties under that namespace.
    "article",
    "book",
    "books",
    "business",
    "fitness",
    "game",
    "music",
    "place",
    "product",
    "profile",
    "restaurant",
    "video"
  ].freeze
end

#open_meta_tags?Boolean

Indicates whether meta tags should be rendered with open tag syntax.

Returns:

  • (Boolean)

    true when open meta tags are enabled.



94
95
96
# File 'lib/meta_tags/configuration.rb', line 94

def open_meta_tags?
  !!open_meta_tags
end

#reset_defaults!void

This method returns an undefined value.

Restores the default configuration values.



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/meta_tags/configuration.rb', line 101

def reset_defaults!
  @title_limit = 70
  @truncate_site_title_first = false
  @truncate_on_natural_separator = " "
  @truncate_array_items_at_boundaries = false
  @title_tag_attributes = {}
  @description_limit = 300
  @keywords_limit = 255
  @keywords_separator = ", "
  @keywords_lowercase = true
  @property_tags = default_property_tags.dup
  @open_meta_tags = true
  @minify_output = false
  @resolve_symbolic_references_in_arrays = false
  @skip_canonical_links_on_noindex = false
end