radiant-navigation-extension 2.0.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/CHANGELOG +8 -0
- data/LICENSE +21 -0
- data/README +48 -0
- data/Rakefile +137 -0
- data/VERSION +1 -0
- data/lib/navigation/tags/core.rb +116 -0
- data/lib/navigation/tags/helpers.rb +46 -0
- data/lib/radiant-navigation-extension.rb +1 -0
- data/navigation_extension.rb +13 -0
- data/radiant-navigation-extension.gemspec +46 -0
- metadata +78 -0
data/CHANGELOG
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
[Tuesday; October 9, 2007]
|
2
|
+
|
3
|
+
Added 3 optional parameters; "root", "include_root" and "depth"
|
4
|
+
- By default, root is still "/", otherwise you can use this to build sub-nav's
|
5
|
+
- You can still include the root_page by setting include_root to true
|
6
|
+
- Default depth is 1, which means no sub-ul's
|
7
|
+
|
8
|
+
Thanks for the patch: Benny Degezelle
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
Copyright (c) 2007 Ryan Heneise (http://www.artofmission.com)
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
5
|
+
in the Software without restriction, including without limitation the rights
|
6
|
+
to use, copy, modify, merge, publish, distribute, sub-license, and/or sell
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
8
|
+
furnished to do so, subject to the following conditions:
|
9
|
+
|
10
|
+
The above copyright notice, and every other copyright notice found in this
|
11
|
+
software, and all the attributions in every file, and this permission notice
|
12
|
+
shall be included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
17
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20
|
+
THE SOFTWARE.
|
21
|
+
|
data/README
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
= Navigation Tags
|
2
|
+
|
3
|
+
Provides hierarchical tree navigation based on Radiant's site structure. Outputs navigation in the form of a -very flexible and CSS'able- unordered list. Also provides r:if_self and r:if_ancestor_or_self
|
4
|
+
|
5
|
+
== Usage
|
6
|
+
|
7
|
+
<r:nav [root="/"] [include_root="true"] [depth="2"] [expand_all="true"] [ids_for_lis="true"] />
|
8
|
+
|
9
|
+
Given this directory tree:
|
10
|
+
|
11
|
+
* Home
|
12
|
+
** About
|
13
|
+
*** Contact us
|
14
|
+
** Blog
|
15
|
+
*** First Article
|
16
|
+
*** Second Article
|
17
|
+
** Catalog
|
18
|
+
|
19
|
+
<r:nav /> would output a navigation list like:
|
20
|
+
|
21
|
+
<ul>
|
22
|
+
<li class="parent_of_current has_children"><a href="/about/">About</a>
|
23
|
+
<ul>
|
24
|
+
<li class="current"><a href="/about/contact">Contact Us</a></li>
|
25
|
+
</ul>
|
26
|
+
</li>
|
27
|
+
<li class="has_children"><a href="/blog/">Blog</a></li>
|
28
|
+
<li class="has_children"><a href="/catalogue">Catalogue</a></li>
|
29
|
+
</ul>
|
30
|
+
|
31
|
+
== Available tag attributes:
|
32
|
+
|
33
|
+
* ids_for_lis: defaults to false, enable this to give each li an id (it's slug)
|
34
|
+
* root: defaults to "/", which page to start building the navigation from
|
35
|
+
* include_root: defaults to false, set to true to include the root page (i.e. Home)
|
36
|
+
* depth: defaults to 2, which will print out the first two levels of pages.
|
37
|
+
* expand_all: defaults to false, enable this to have all li's create sub-ul's of their children, i.o. only the currently active li
|
38
|
+
* id, class, monkeyballs, ... will be used as html attributes for the ul
|
39
|
+
|
40
|
+
= NOTES
|
41
|
+
|
42
|
+
* This does not behave like the original extension and has been made to simply support calling the tag
|
43
|
+
|
44
|
+
= CREDITS
|
45
|
+
|
46
|
+
* Ryan Heneise
|
47
|
+
* Marty Haught
|
48
|
+
* Benny Degezelle
|
data/Rakefile
ADDED
@@ -0,0 +1,137 @@
|
|
1
|
+
begin
|
2
|
+
require 'jeweler'
|
3
|
+
Jeweler::Tasks.new do |gem|
|
4
|
+
gem.name = "radiant-navigation-extension"
|
5
|
+
gem.summary = %Q{Navigation Generation for Radiant CMS}
|
6
|
+
gem.description = %Q{Navigation provides a way to generate navigation (with useful classes)}
|
7
|
+
gem.email = "dk@dirkkelly.com"
|
8
|
+
gem.homepage = "http://github.com/dirkkelly/radiant-navigation-extension"
|
9
|
+
gem.authors = ["Phil Schilter", "Dirk Kelly"]
|
10
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
11
|
+
end
|
12
|
+
Jeweler::GemcutterTasks.new
|
13
|
+
rescue LoadError
|
14
|
+
puts "Jeweler (or a dependency) not available. This is only required if you plan to package navigation as a gem."
|
15
|
+
end
|
16
|
+
|
17
|
+
# In rails 1.2, plugins aren't available in the path until they're loaded.
|
18
|
+
# Check to see if the rspec plugin is installed first and require
|
19
|
+
# it if it is. If not, use the gem version.
|
20
|
+
|
21
|
+
# Determine where the RSpec plugin is by loading the boot
|
22
|
+
unless defined? RADIANT_ROOT
|
23
|
+
ENV["RAILS_ENV"] = "test"
|
24
|
+
case
|
25
|
+
when ENV["RADIANT_ENV_FILE"]
|
26
|
+
require File.dirname(ENV["RADIANT_ENV_FILE"]) + "/boot"
|
27
|
+
when File.dirname(__FILE__) =~ %r{vendor/radiant/vendor/extensions}
|
28
|
+
require "#{File.expand_path(File.dirname(__FILE__) + "/../../../../../")}/config/boot"
|
29
|
+
else
|
30
|
+
require "#{File.expand_path(File.dirname(__FILE__) + "/../../../")}/config/boot"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
require 'rake'
|
35
|
+
require 'rake/rdoctask'
|
36
|
+
require 'rake/testtask'
|
37
|
+
|
38
|
+
rspec_base = File.expand_path(RADIANT_ROOT + '/vendor/plugins/rspec/lib')
|
39
|
+
$LOAD_PATH.unshift(rspec_base) if File.exist?(rspec_base)
|
40
|
+
require 'spec/rake/spectask'
|
41
|
+
require 'cucumber'
|
42
|
+
require 'cucumber/rake/task'
|
43
|
+
|
44
|
+
# Cleanup the RADIANT_ROOT constant so specs will load the environment
|
45
|
+
Object.send(:remove_const, :RADIANT_ROOT)
|
46
|
+
|
47
|
+
extension_root = File.expand_path(File.dirname(__FILE__))
|
48
|
+
|
49
|
+
task :default => :spec
|
50
|
+
task :stats => "spec:statsetup"
|
51
|
+
|
52
|
+
desc "Run all specs in spec directory"
|
53
|
+
Spec::Rake::SpecTask.new(:spec) do |t|
|
54
|
+
t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
|
55
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
56
|
+
end
|
57
|
+
|
58
|
+
task :features => 'spec:integration'
|
59
|
+
|
60
|
+
namespace :spec do
|
61
|
+
desc "Run all specs in spec directory with RCov"
|
62
|
+
Spec::Rake::SpecTask.new(:rcov) do |t|
|
63
|
+
t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
|
64
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
65
|
+
t.rcov = true
|
66
|
+
t.rcov_opts = ['--exclude', 'spec', '--rails']
|
67
|
+
end
|
68
|
+
|
69
|
+
desc "Print Specdoc for all specs"
|
70
|
+
Spec::Rake::SpecTask.new(:doc) do |t|
|
71
|
+
t.spec_opts = ["--format", "specdoc", "--dry-run"]
|
72
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
73
|
+
end
|
74
|
+
|
75
|
+
[:models, :controllers, :views, :helpers].each do |sub|
|
76
|
+
desc "Run the specs under spec/#{sub}"
|
77
|
+
Spec::Rake::SpecTask.new(sub) do |t|
|
78
|
+
t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
|
79
|
+
t.spec_files = FileList["spec/#{sub}/**/*_spec.rb"]
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
desc "Run the Cucumber features"
|
84
|
+
Cucumber::Rake::Task.new(:integration) do |t|
|
85
|
+
t.fork = true
|
86
|
+
t.cucumber_opts = ['--format', (ENV['CUCUMBER_FORMAT'] || 'pretty')]
|
87
|
+
# t.feature_pattern = "#{extension_root}/features/**/*.feature"
|
88
|
+
t.profile = "default"
|
89
|
+
end
|
90
|
+
|
91
|
+
# Setup specs for stats
|
92
|
+
task :statsetup do
|
93
|
+
require 'code_statistics'
|
94
|
+
::STATS_DIRECTORIES << %w(Model\ specs spec/models)
|
95
|
+
::STATS_DIRECTORIES << %w(View\ specs spec/views)
|
96
|
+
::STATS_DIRECTORIES << %w(Controller\ specs spec/controllers)
|
97
|
+
::STATS_DIRECTORIES << %w(Helper\ specs spec/views)
|
98
|
+
::CodeStatistics::TEST_TYPES << "Model specs"
|
99
|
+
::CodeStatistics::TEST_TYPES << "View specs"
|
100
|
+
::CodeStatistics::TEST_TYPES << "Controller specs"
|
101
|
+
::CodeStatistics::TEST_TYPES << "Helper specs"
|
102
|
+
::STATS_DIRECTORIES.delete_if {|a| a[0] =~ /test/}
|
103
|
+
end
|
104
|
+
|
105
|
+
namespace :db do
|
106
|
+
namespace :fixtures do
|
107
|
+
desc "Load fixtures (from spec/fixtures) into the current environment's database. Load specific fixtures using FIXTURES=x,y"
|
108
|
+
task :load => :environment do
|
109
|
+
require 'active_record/fixtures'
|
110
|
+
ActiveRecord::Base.establish_connection(RAILS_ENV.to_sym)
|
111
|
+
(ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/) : Dir.glob(File.join(RAILS_ROOT, 'spec', 'fixtures', '*.{yml,csv}'))).each do |fixture_file|
|
112
|
+
Fixtures.create_fixtures('spec/fixtures', File.basename(fixture_file, '.*'))
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
desc 'Generate documentation for the navigation extension.'
|
120
|
+
Rake::RDocTask.new(:rdoc) do |rdoc|
|
121
|
+
rdoc.rdoc_dir = 'rdoc'
|
122
|
+
rdoc.title = 'NavigationExtension'
|
123
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
124
|
+
rdoc.rdoc_files.include('README')
|
125
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
126
|
+
end
|
127
|
+
|
128
|
+
# For extensions that are in transition
|
129
|
+
desc 'Test the navigation extension.'
|
130
|
+
Rake::TestTask.new(:test) do |t|
|
131
|
+
t.libs << 'lib'
|
132
|
+
t.pattern = 'test/**/*_test.rb'
|
133
|
+
t.verbose = true
|
134
|
+
end
|
135
|
+
|
136
|
+
# Load any custom rakefiles for extension
|
137
|
+
Dir[File.dirname(__FILE__) + '/tasks/*.rake'].sort.each { |f| require f }
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.0.1
|
@@ -0,0 +1,116 @@
|
|
1
|
+
module Navigation
|
2
|
+
module Tags
|
3
|
+
module Core
|
4
|
+
include Radiant::Taggable
|
5
|
+
include ActionView::Helpers::TagHelper
|
6
|
+
|
7
|
+
class NavTagError < StandardError; end
|
8
|
+
|
9
|
+
desc %{
|
10
|
+
Render a navigation menu. Walks down the directory tree, expanding the tree up to the current page.
|
11
|
+
|
12
|
+
*Usage:*
|
13
|
+
<pre><code><r:nav [id="subnav"] [root="/products"] [include_root="true"] [depth="2"] [expand_all="true"]
|
14
|
+
[only="^/(articles|notices)"] [except="\.(css|js|xml)/*$"] /></code></pre>
|
15
|
+
*Attributes:*
|
16
|
+
|
17
|
+
* @root@ defaults to "root page", where to start building the navigation from, you can i.e. use "sexy-dresses" to build a nav under sexy dresses
|
18
|
+
* @include_root@ defaults to false, set to true to include the root page (i.e. Home)
|
19
|
+
* @ids_for_lis@ defaults to false, enable this to give each li an id (it's slug prefixed with nav_)
|
20
|
+
* @ids_for_links@ defaults to false, enable this to give each link an id (it's slug prefixed with nav_)
|
21
|
+
|
22
|
+
* @depth@ defaults to 1, which means no sub-ul's, set to 2 or more for a nested list
|
23
|
+
* @expand_all@ defaults to false, enable this to have all li's create sub-ul's of their children, i.o. only the currently active li
|
24
|
+
|
25
|
+
* @only@ a string or regular expresssion. only pages whose urls match this are included
|
26
|
+
* @except@ a string or regular expresssion. pages whose urls match this are not shown. except will override only. use to eliminate non-content file-types
|
27
|
+
|
28
|
+
* @id@, @class@,..: go as html attributes of the outer ul
|
29
|
+
}
|
30
|
+
|
31
|
+
tag "nav" do |tag|
|
32
|
+
root_url = tag.attr.delete('root').to_s || "/"
|
33
|
+
root = Page.find_by_url(root_url)
|
34
|
+
depth = tag.attr.delete('depth').to_i || 1
|
35
|
+
tree = ""
|
36
|
+
|
37
|
+
raise NavTagError, "No page found at \"#{root_url}\" to build navigation from." if root.class_name.eql?('FileNotFoundPage')
|
38
|
+
|
39
|
+
if tag.attr['include_root']
|
40
|
+
css_class = [("current" if tag.locals.page == root), "first"].compact
|
41
|
+
first_set = true
|
42
|
+
|
43
|
+
tree << %{<li class="#{css_class.join(' ') unless css_class.empty?}" id="#{(root.slug == '/' ? 'home' : root.slug) if tag.attr['ids_for_lis']}">}
|
44
|
+
tree << %{<a href="#{root.url}" id="link_#{(child_page.slug == '/' ? 'home' : root.slug) if tag.attr['ids_for_links']}">}
|
45
|
+
tree << %{#{root.breadcrumb}}
|
46
|
+
tree << %{</a></li>}
|
47
|
+
end
|
48
|
+
|
49
|
+
for child in root.children
|
50
|
+
unless Helpers.not_allowed?(tag,child)
|
51
|
+
depth -= 1
|
52
|
+
tree << Helpers.sub_nav(tag, child, depth, first_set)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
if tag.attr
|
57
|
+
html_options = tag.attr.stringify_keys
|
58
|
+
tag_options = tag_options(html_options)
|
59
|
+
else
|
60
|
+
tag_options = nil
|
61
|
+
end
|
62
|
+
|
63
|
+
%{<ul#{tag_options}>
|
64
|
+
#{tree}
|
65
|
+
</ul>}
|
66
|
+
|
67
|
+
end
|
68
|
+
|
69
|
+
# Inspired by this thread:
|
70
|
+
# http://www.mail-archive.com/radiant@lists.radiantcms.org/msg03234.html
|
71
|
+
# Author: Marty Haught
|
72
|
+
desc %{
|
73
|
+
Renders the contained element if the current item is an ancestor of the current page or if it is the page itself.
|
74
|
+
}
|
75
|
+
tag "if_ancestor_or_self" do |tag|
|
76
|
+
if tag.globals.actual_page.url.starts_with?(tag.locals.page.url)
|
77
|
+
tag.expand
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
desc %{
|
82
|
+
Renders the contained element if the current item is also the current page.
|
83
|
+
}
|
84
|
+
tag "if_self" do |tag|
|
85
|
+
if tag.locals.page == tag.globals.page
|
86
|
+
tag.expand
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
desc %{
|
91
|
+
Renders the contained elements only if the current contextual page has children.
|
92
|
+
|
93
|
+
*Usage:*
|
94
|
+
<pre><code><r:if_children>...</r:if_children></code></pre>
|
95
|
+
}
|
96
|
+
tag "if_children" do |tag|
|
97
|
+
if tag.locals.page.children.present?
|
98
|
+
tag.expand
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
desc %{
|
103
|
+
Renders the contained elements unless the current contextual page has children.
|
104
|
+
|
105
|
+
*Usage:*
|
106
|
+
<pre><code><r:if_children>...</r:if_children></code></pre>
|
107
|
+
}
|
108
|
+
tag "unless_children" do |tag|
|
109
|
+
unless tag.locals.page.children.blank?
|
110
|
+
tag.expand
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Navigation
|
2
|
+
module Tags
|
3
|
+
class Helpers
|
4
|
+
class << self
|
5
|
+
|
6
|
+
def not_allowed?(tag,child_page)
|
7
|
+
(tag.attr['only'] and !child_page.url.match(tag.attr['only'])) or
|
8
|
+
(tag.attr['except'] and child_page.url.match(tag.attr['except'])) or
|
9
|
+
child_page.part("no-map") or child_page.virtual? or !child_page.published? or child_page.class_name.eql? "FileNotFoundPage"
|
10
|
+
end
|
11
|
+
|
12
|
+
def sub_nav(tag, child_page, depth, first_set = false)
|
13
|
+
current_page = tag.locals.page
|
14
|
+
|
15
|
+
css_class = []
|
16
|
+
css_class << 'first' unless first_set
|
17
|
+
css_class << "current" if current_page == child_page
|
18
|
+
css_class << "has_children" if child_page.children.present?
|
19
|
+
css_class << "parent_of_current" if current_page.url.starts_with?(child_page.url) and current_page != child_page
|
20
|
+
css_class.compact!
|
21
|
+
|
22
|
+
r = %{<li class="#{css_class.join(' ') unless css_class.empty?}" id="nav_#{child_page.slug if tag.attr['ids_for_lis']}">}
|
23
|
+
r << %{<a href="#{child_page.url}" id="link_#{(child_page.slug == '/' ? 'home' : child_page.slug) if tag.attr['ids_for_links']}">}
|
24
|
+
r << %{#{child_page.breadcrumb}}
|
25
|
+
r << %{</a>}
|
26
|
+
|
27
|
+
allowed_children = child_page.children.delete_if{ |c| not_allowed?(tag,c) }
|
28
|
+
|
29
|
+
if tag.attr['expand_all'] or current_page.url.starts_with?(child_page.url)
|
30
|
+
if allowed_children.present? and depth.present? and child_page.class_name != 'ArchivePage'
|
31
|
+
r << %{<ul>}
|
32
|
+
child_page.children.each do |child|
|
33
|
+
depth -= 1
|
34
|
+
r << sub_nav(tag,child,depth,first_set)
|
35
|
+
end
|
36
|
+
r << %{</ul>}
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
r << %{</li>}
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
# Nothing to see here
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# Uncomment this if you reference any of your controllers in activate
|
2
|
+
# require_dependency 'application'
|
3
|
+
|
4
|
+
class NavigationExtension < Radiant::Extension
|
5
|
+
version YAML::load_file(File.join(File.dirname(__FILE__), 'VERSION'))
|
6
|
+
description "Makes building navigations much easier."
|
7
|
+
url "http://github.com/dirkkelly/radiant-navigation-extension"
|
8
|
+
|
9
|
+
def activate
|
10
|
+
Page.send :include, Navigation::Tags::Core
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{radiant-navigation-extension}
|
8
|
+
s.version = "2.0.1"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Phil Schilter", "Dirk Kelly"]
|
12
|
+
s.date = %q{2010-11-28}
|
13
|
+
s.description = %q{Navigation provides a way to generate navigation (with useful classes)}
|
14
|
+
s.email = %q{dk@dirkkelly.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
"CHANGELOG",
|
21
|
+
"LICENSE",
|
22
|
+
"README",
|
23
|
+
"Rakefile",
|
24
|
+
"VERSION",
|
25
|
+
"lib/navigation/tags/core.rb",
|
26
|
+
"lib/navigation/tags/helpers.rb",
|
27
|
+
"lib/radiant-navigation-extension.rb",
|
28
|
+
"navigation_extension.rb",
|
29
|
+
"radiant-navigation-extension.gemspec"
|
30
|
+
]
|
31
|
+
s.homepage = %q{http://github.com/dirkkelly/radiant-navigation-extension}
|
32
|
+
s.require_paths = ["lib"]
|
33
|
+
s.rubygems_version = %q{1.3.7}
|
34
|
+
s.summary = %q{Navigation Generation for Radiant CMS}
|
35
|
+
|
36
|
+
if s.respond_to? :specification_version then
|
37
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
38
|
+
s.specification_version = 3
|
39
|
+
|
40
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
41
|
+
else
|
42
|
+
end
|
43
|
+
else
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
metadata
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: radiant-navigation-extension
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 13
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 2
|
8
|
+
- 0
|
9
|
+
- 1
|
10
|
+
version: 2.0.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Phil Schilter
|
14
|
+
- Dirk Kelly
|
15
|
+
autorequire:
|
16
|
+
bindir: bin
|
17
|
+
cert_chain: []
|
18
|
+
|
19
|
+
date: 2010-11-28 00:00:00 +08:00
|
20
|
+
default_executable:
|
21
|
+
dependencies: []
|
22
|
+
|
23
|
+
description: Navigation provides a way to generate navigation (with useful classes)
|
24
|
+
email: dk@dirkkelly.com
|
25
|
+
executables: []
|
26
|
+
|
27
|
+
extensions: []
|
28
|
+
|
29
|
+
extra_rdoc_files:
|
30
|
+
- LICENSE
|
31
|
+
- README
|
32
|
+
files:
|
33
|
+
- CHANGELOG
|
34
|
+
- LICENSE
|
35
|
+
- README
|
36
|
+
- Rakefile
|
37
|
+
- VERSION
|
38
|
+
- lib/navigation/tags/core.rb
|
39
|
+
- lib/navigation/tags/helpers.rb
|
40
|
+
- lib/radiant-navigation-extension.rb
|
41
|
+
- navigation_extension.rb
|
42
|
+
- radiant-navigation-extension.gemspec
|
43
|
+
has_rdoc: true
|
44
|
+
homepage: http://github.com/dirkkelly/radiant-navigation-extension
|
45
|
+
licenses: []
|
46
|
+
|
47
|
+
post_install_message:
|
48
|
+
rdoc_options: []
|
49
|
+
|
50
|
+
require_paths:
|
51
|
+
- lib
|
52
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
hash: 3
|
58
|
+
segments:
|
59
|
+
- 0
|
60
|
+
version: "0"
|
61
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
62
|
+
none: false
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
hash: 3
|
67
|
+
segments:
|
68
|
+
- 0
|
69
|
+
version: "0"
|
70
|
+
requirements: []
|
71
|
+
|
72
|
+
rubyforge_project:
|
73
|
+
rubygems_version: 1.3.7
|
74
|
+
signing_key:
|
75
|
+
specification_version: 3
|
76
|
+
summary: Navigation Generation for Radiant CMS
|
77
|
+
test_files: []
|
78
|
+
|