class Rack::RackSeo::Document
Attributes
desc[RW]
This is a wrapper for the Nokogiri parsed page Provides some convenience methods for working with seo meta tags
keywords[RW]
This is a wrapper for the Nokogiri parsed page Provides some convenience methods for working with seo meta tags
title[RW]
This is a wrapper for the Nokogiri parsed page Provides some convenience methods for working with seo meta tags
Public Class Methods
new(*args)
click to toggle source
# File lib/rack-seo/document.rb, line 8 def new(*args) doc = parse(args.first) setup_meta_tags(doc) end
parse(string_or_io, url = nil, encoding = 'utf-8', options = Nokogiri::XML::ParseOptions::RECOVER)
click to toggle source
Calls superclass method
# File lib/rack-seo/document.rb, line 13 def parse(string_or_io, url = nil, encoding = 'utf-8', options = Nokogiri::XML::ParseOptions::RECOVER) super(string_or_io, url, encoding, options) end
Private Class Methods
create_doc_head(document)
click to toggle source
# File lib/rack-seo/document.rb, line 72 def create_doc_head(document) doc_head = Nokogiri::XML::Element.new('head', document) document.root.children.first.before doc_head end
create_html_root_node(document)
click to toggle source
# File lib/rack-seo/document.rb, line 68 def create_html_root_node(document) document.root.wrap('<html></html>') end
create_meta_desc(document)
click to toggle source
# File lib/rack-seo/document.rb, line 82 def create_meta_desc(document) meta_desc = Nokogiri::XML::Element.new('meta', document) meta_desc['name'] = "description" meta_desc['content'] ||= "" document.at('head').children.first.after meta_desc end
create_meta_desc_content(document)
click to toggle source
# File lib/rack-seo/document.rb, line 96 def create_meta_desc_content(document) meta_desc = document.description_tag meta_desc['content'] ||= "" end
create_meta_keywords(document)
click to toggle source
# File lib/rack-seo/document.rb, line 89 def create_meta_keywords(document) meta_keywords = Nokogiri::XML::Element.new('meta', document) meta_keywords['name'] = "keywords" meta_keywords['content'] ||= "" document.at('head').children.last.after meta_keywords end
create_meta_keywords_content(document)
click to toggle source
# File lib/rack-seo/document.rb, line 101 def create_meta_keywords_content(document) meta_keywords = document.keywords_tag meta_keywords['content'] ||= "" end
create_meta_title(document)
click to toggle source
# File lib/rack-seo/document.rb, line 77 def create_meta_title(document) meta_title = Nokogiri::XML::Element.new('title', document) document.at('head').add_child meta_title end
Public Instance Methods
description_content()
click to toggle source
# File lib/rack-seo/document.rb, line 34 def description_content self.description_tag.attr('content') unless description_tag.nil? end
description_content=(content)
click to toggle source
# File lib/rack-seo/document.rb, line 30 def description_content=(content) self.description_tag['content'] = content unless description_tag.nil? end
description_tag()
click to toggle source
# File lib/rack-seo/document.rb, line 38 def description_tag self.at_css("meta[name='description']") end
keywords_content()
click to toggle source
# File lib/rack-seo/document.rb, line 46 def keywords_content keywords_tag.attr('content') unless keywords_tag.nil? end
keywords_content=(content)
click to toggle source
# File lib/rack-seo/document.rb, line 42 def keywords_content=(content) keywords_tag['content'] = content unless keywords_tag.nil? end
keywords_tag()
click to toggle source
# File lib/rack-seo/document.rb, line 50 def keywords_tag self.at_css("meta[name='keywords']") end
title_content()
click to toggle source
# File lib/rack-seo/document.rb, line 18 def title_content self.title_tag.text end
title_content=(content)
click to toggle source
# File lib/rack-seo/document.rb, line 22 def title_content=(content) title_tag.content = content end
title_tag()
click to toggle source
# File lib/rack-seo/document.rb, line 26 def title_tag self.at('title') end