meta-tags 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +2 -1
 - data/README.rdoc +19 -5
 - data/Rakefile +26 -17
 - data/VERSION.yml +2 -1
 - data/lib/meta_tags/view_helper.rb +5 -1
 - data/meta-tags.gemspec +2 -2
 - data/spec/meta_tags_spec.rb +15 -0
 - metadata +2 -2
 
    
        data/.gitignore
    CHANGED
    
    
    
        data/README.rdoc
    CHANGED
    
    | 
         @@ -58,8 +58,8 @@ Recommended keywords tag length: up to <b>255 characters</b>, <b>20 words</b>. 
     | 
|
| 
       58 
58 
     | 
    
         
             
            By using the noindex meta tag, you can signal to search engines to not 
         
     | 
| 
       59 
59 
     | 
    
         
             
            include specific pages in their indexes.
         
     | 
| 
       60 
60 
     | 
    
         | 
| 
       61 
     | 
    
         
            -
              <meta name="robots" content="noindex" 
     | 
| 
       62 
     | 
    
         
            -
              <meta name="googlebot" content="noindex" 
     | 
| 
      
 61 
     | 
    
         
            +
              <meta name="robots" content="noindex" />
         
     | 
| 
      
 62 
     | 
    
         
            +
              <meta name="googlebot" content="noindex" />
         
     | 
| 
       63 
63 
     | 
    
         | 
| 
       64 
64 
     | 
    
         
             
            This is useful for pages like login, password reset, privacy policy, etc.  
         
     | 
| 
       65 
65 
     | 
    
         | 
| 
         @@ -74,13 +74,25 @@ page. It's entirely likely that a robot might find the same links on some 
     | 
|
| 
       74 
74 
     | 
    
         
             
            other page without a nofollow (perhaps on some other site), and so
         
     | 
| 
       75 
75 
     | 
    
         
             
            still arrives at your undesired page.
         
     | 
| 
       76 
76 
     | 
    
         | 
| 
       77 
     | 
    
         
            -
              <meta name="robots" content="nofollow" 
     | 
| 
       78 
     | 
    
         
            -
              <meta name="googlebot" content="nofollow" 
     | 
| 
      
 77 
     | 
    
         
            +
              <meta name="robots" content="nofollow" />
         
     | 
| 
      
 78 
     | 
    
         
            +
              <meta name="googlebot" content="nofollow" />
         
     | 
| 
       79 
79 
     | 
    
         | 
| 
       80 
80 
     | 
    
         
             
            Further reading:
         
     | 
| 
       81 
81 
     | 
    
         
             
            * About rel="nofollow" http://www.google.com/support/webmasters/bin/answer.py?answer=96569
         
     | 
| 
       82 
82 
     | 
    
         
             
            * Meta tags http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=79812
         
     | 
| 
       83 
83 
     | 
    
         | 
| 
      
 84 
     | 
    
         
            +
            == Canonical URL
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
            Canonical link element tells a search engine what is the canonical or main URL
         
     | 
| 
      
 87 
     | 
    
         
            +
            for a content which have multiple URLs. The search engine will always return
         
     | 
| 
      
 88 
     | 
    
         
            +
            that URL, and link popularity and authority will be applied to that URL.
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
              <link rel="canonical" href="http://yoursite.com/canonical/url" />
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
            Further reading:
         
     | 
| 
      
 93 
     | 
    
         
            +
            * About rel="canonical" http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=139394
         
     | 
| 
      
 94 
     | 
    
         
            +
            * Canonicalization http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=139066
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
       84 
96 
     | 
    
         
             
            == MetaTags Usage
         
     | 
| 
       85 
97 
     | 
    
         | 
| 
       86 
98 
     | 
    
         
             
            First, add this code to your main layout:
         
     | 
| 
         @@ -157,7 +169,8 @@ Use these options to customize the title format: 
     | 
|
| 
       157 
169 
     | 
    
         
             
            * <tt>:lowercase</tt> -- when true, the page name will be lowercase;
         
     | 
| 
       158 
170 
     | 
    
         
             
            * <tt>:reverse</tt> -- when true, the page and site names will be reversed;
         
     | 
| 
       159 
171 
     | 
    
         
             
            * <tt>:noindex</tt> -- add noindex meta tag; when true, 'robots' will be used, otherwise the string will be used;
         
     | 
| 
       160 
     | 
    
         
            -
            * <tt>:nofollow</tt> -- add nofollow meta tag; when true, 'robots' will be used, otherwise the string will be used 
     | 
| 
      
 172 
     | 
    
         
            +
            * <tt>:nofollow</tt> -- add nofollow meta tag; when true, 'robots' will be used, otherwise the string will be used;
         
     | 
| 
      
 173 
     | 
    
         
            +
            * <tt>:canonical</tt> -- add canonical link tag.
         
     | 
| 
       161 
174 
     | 
    
         | 
| 
       162 
175 
     | 
    
         
             
            And here are a few examples to give you ideas.
         
     | 
| 
       163 
176 
     | 
    
         | 
| 
         @@ -193,3 +206,4 @@ There are several plugins influenced me to create this one: 
     | 
|
| 
       193 
206 
     | 
    
         | 
| 
       194 
207 
     | 
    
         
             
            * Dmytro Shteflyuk (author) <kpumuk@kpumuk.info> http://kpumuk.info
         
     | 
| 
       195 
208 
     | 
    
         
             
            * Morgan Roderick (contributor) <morgan@roderick.dk> http://roderick.dk
         
     | 
| 
      
 209 
     | 
    
         
            +
            * Sergio Cambra (contributor) <sergio@entrecables.com>
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -1,6 +1,4 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'rake'
         
     | 
| 
       2 
     | 
    
         
            -
            require 'spec/rake/spectask'
         
     | 
| 
       3 
     | 
    
         
            -
            require 'rake/rdoctask'
         
     | 
| 
       4 
2 
     | 
    
         | 
| 
       5 
3 
     | 
    
         
             
            begin
         
     | 
| 
       6 
4 
     | 
    
         
             
              require 'jeweler'
         
     | 
| 
         @@ -17,22 +15,33 @@ rescue LoadError 
     | 
|
| 
       17 
15 
     | 
    
         
             
              puts 'Jeweler not available. Install it with: sudo gem install jeweler'
         
     | 
| 
       18 
16 
     | 
    
         
             
            end
         
     | 
| 
       19 
17 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
      
 18 
     | 
    
         
            +
            begin
         
     | 
| 
      
 19 
     | 
    
         
            +
              require 'spec/rake/spectask'
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
              desc 'Default: run specs'
         
     | 
| 
      
 22 
     | 
    
         
            +
              task :default => :spec
         
     | 
| 
       22 
23 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
            desc 'Test the  
     | 
| 
       24 
     | 
    
         
            -
            Spec::Rake::SpecTask.new 
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
      
 24 
     | 
    
         
            +
              desc 'Test the sphinx plugin'
         
     | 
| 
      
 25 
     | 
    
         
            +
              Spec::Rake::SpecTask.new do |t|
         
     | 
| 
      
 26 
     | 
    
         
            +
                t.libs << 'lib'
         
     | 
| 
      
 27 
     | 
    
         
            +
                t.pattern = 'spec/*_spec.rb'
         
     | 
| 
      
 28 
     | 
    
         
            +
                t.verbose = true
         
     | 
| 
      
 29 
     | 
    
         
            +
                t.spec_opts = ['-cfs']
         
     | 
| 
      
 30 
     | 
    
         
            +
              end
         
     | 
| 
      
 31 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 32 
     | 
    
         
            +
              puts 'RSpec not available. Install it with: sudo gem install rspec'
         
     | 
| 
       29 
33 
     | 
    
         
             
            end
         
     | 
| 
       30 
34 
     | 
    
         | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
               
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
      
 35 
     | 
    
         
            +
            begin
         
     | 
| 
      
 36 
     | 
    
         
            +
              require 'yard'
         
     | 
| 
      
 37 
     | 
    
         
            +
              YARD::Rake::YardocTask.new(:yard) do |t|
         
     | 
| 
      
 38 
     | 
    
         
            +
                t.options = ['--title', 'MetaTags Documentation']
         
     | 
| 
      
 39 
     | 
    
         
            +
                if ENV['PRIVATE']
         
     | 
| 
      
 40 
     | 
    
         
            +
                  t.options.concat ['--protected', '--private']
         
     | 
| 
      
 41 
     | 
    
         
            +
                else
         
     | 
| 
      
 42 
     | 
    
         
            +
                  t.options << '--no-private' 
         
     | 
| 
      
 43 
     | 
    
         
            +
                end
         
     | 
| 
      
 44 
     | 
    
         
            +
              end
         
     | 
| 
      
 45 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 46 
     | 
    
         
            +
              puts 'Yard not available. Install it with: sudo gem install yard'
         
     | 
| 
       38 
47 
     | 
    
         
             
            end
         
     | 
    
        data/VERSION.yml
    CHANGED
    
    
| 
         @@ -107,7 +107,8 @@ module MetaTags 
     | 
|
| 
       107 
107 
     | 
    
         
             
                # * <tt>:lowercase</tt> -- when true, the page name will be lowercase;
         
     | 
| 
       108 
108 
     | 
    
         
             
                # * <tt>:reverse</tt> -- when true, the page and site names will be reversed;
         
     | 
| 
       109 
109 
     | 
    
         
             
                # * <tt>:noindex</tt> -- add noindex meta tag; when true, 'robots' will be used, otherwise the string will be used;
         
     | 
| 
       110 
     | 
    
         
            -
                # * <tt>:nofollow</tt> -- add nofollow meta tag; when true, 'robots' will be used, otherwise the string will be used 
     | 
| 
      
 110 
     | 
    
         
            +
                # * <tt>:nofollow</tt> -- add nofollow meta tag; when true, 'robots' will be used, otherwise the string will be used;
         
     | 
| 
      
 111 
     | 
    
         
            +
                # * <tt>:canonical</tt> -- add canonical link tag.
         
     | 
| 
       111 
112 
     | 
    
         
             
                def display_meta_tags(default = {})
         
     | 
| 
       112 
113 
     | 
    
         
             
                  meta_tags = (default || {}).merge(@meta_tags || {})
         
     | 
| 
       113 
114 
     | 
    
         | 
| 
         @@ -173,6 +174,9 @@ module MetaTags 
     | 
|
| 
       173 
174 
     | 
    
         
             
                    result << "\n" + tag(:meta, :name => nofollow_name, :content => 'nofollow') if meta_tags[:nofollow]
         
     | 
| 
       174 
175 
     | 
    
         
             
                  end
         
     | 
| 
       175 
176 
     | 
    
         | 
| 
      
 177 
     | 
    
         
            +
                  # canonical
         
     | 
| 
      
 178 
     | 
    
         
            +
                  result << "\n" + tag(:link, :rel => :canonical, :href => meta_tags[:canonical]) unless meta_tags[:canonical].blank?
         
     | 
| 
      
 179 
     | 
    
         
            +
             
     | 
| 
       176 
180 
     | 
    
         
             
                  return result
         
     | 
| 
       177 
181 
     | 
    
         
             
                end
         
     | 
| 
       178 
182 
     | 
    
         | 
    
        data/meta-tags.gemspec
    CHANGED
    
    | 
         @@ -5,11 +5,11 @@ 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       7 
7 
     | 
    
         
             
              s.name = %q{meta-tags}
         
     | 
| 
       8 
     | 
    
         
            -
              s.version = "1.1. 
     | 
| 
      
 8 
     | 
    
         
            +
              s.version = "1.1.1"
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         
     | 
| 
       11 
11 
     | 
    
         
             
              s.authors = ["Dmytro Shteflyuk"]
         
     | 
| 
       12 
     | 
    
         
            -
              s.date = %q{2009-11- 
     | 
| 
      
 12 
     | 
    
         
            +
              s.date = %q{2009-11-21}
         
     | 
| 
       13 
13 
     | 
    
         
             
              s.description = %q{Search Engine Optimization (SEO) plugin for Ruby on Rails applications.}
         
     | 
| 
       14 
14 
     | 
    
         
             
              s.email = %q{kpumuk@kpumuk.info}
         
     | 
| 
       15 
15 
     | 
    
         
             
              s.extra_rdoc_files = [
         
     | 
    
        data/spec/meta_tags_spec.rb
    CHANGED
    
    | 
         @@ -275,4 +275,19 @@ describe MetaTags::ViewHelper do 
     | 
|
| 
       275 
275 
     | 
    
         
             
                  content.should include('<meta content="nofollow" name="some-nofollow" />')
         
     | 
| 
       276 
276 
     | 
    
         
             
                end
         
     | 
| 
       277 
277 
     | 
    
         
             
              end
         
     | 
| 
      
 278 
     | 
    
         
            +
             
     | 
| 
      
 279 
     | 
    
         
            +
              context 'displaying canonical url' do
         
     | 
| 
      
 280 
     | 
    
         
            +
                it 'should not display canonical url by default' do
         
     | 
| 
      
 281 
     | 
    
         
            +
                  @view.display_meta_tags(:site => 'someSite').should_not include('<link href="http://example.com/base/url" rel="canonical" />')
         
     | 
| 
      
 282 
     | 
    
         
            +
                end
         
     | 
| 
      
 283 
     | 
    
         
            +
             
     | 
| 
      
 284 
     | 
    
         
            +
                it 'should display canonical url when "set_meta_tags" used' do
         
     | 
| 
      
 285 
     | 
    
         
            +
                  @view.set_meta_tags(:canonical => 'http://example.com/base/url')
         
     | 
| 
      
 286 
     | 
    
         
            +
                  @view.display_meta_tags(:site => 'someSite').should include('<link href="http://example.com/base/url" rel="canonical" />')
         
     | 
| 
      
 287 
     | 
    
         
            +
                end
         
     | 
| 
      
 288 
     | 
    
         
            +
             
     | 
| 
      
 289 
     | 
    
         
            +
                it 'should display default canonical url' do
         
     | 
| 
      
 290 
     | 
    
         
            +
                  @view.display_meta_tags(:site => 'someSite', :canonical => 'http://example.com/base/url').should include('<link href="http://example.com/base/url" rel="canonical" />')
         
     | 
| 
      
 291 
     | 
    
         
            +
                end
         
     | 
| 
      
 292 
     | 
    
         
            +
              end
         
     | 
| 
       278 
293 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: meta-tags
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.1.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors: 
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Dmytro Shteflyuk
         
     | 
| 
         @@ -9,7 +9,7 @@ autorequire: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
            date: 2009-11- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2009-11-21 00:00:00 +02:00
         
     | 
| 
       13 
13 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       15 
15 
     | 
    
         |