jekyll-eztags 0.0.9 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4df55ad3e9aa76071404c6cb22bc1679a3f08f22
4
- data.tar.gz: 2b12030c0bdef38544bf0b3ec856ff8c5d9a1145
3
+ metadata.gz: 72420636307f77d8118f25b14fca38473204f12f
4
+ data.tar.gz: 5ab68c2a45b22bed368c6e1f1c7db506b7b00fd3
5
5
  SHA512:
6
- metadata.gz: 394cca9d66cd87bbfb7fc097fe7bb83801e20bf69dfddaf9a7a2b223025cc2365d509975cd595c305523192931c79a4faee3e2a839d172c21fa8409453df9891
7
- data.tar.gz: c3140ea9a3c9f6395644723c86eae31b9933a82c9230cd193688d84afbb9999108157f7287829747f6b4a41530d1f5ec4336011c8e5c2b056f52a31c0f858dac
6
+ metadata.gz: 710ab634d74fb27228eb1ecf2377413872734ffd7ebf9f7f5dab67dd4db5eec876ef52088f3a091717cbcb58d185c97c4d317e7edfdd4f71f586b4103cbede2a
7
+ data.tar.gz: c2686361ee5b0b94f739ac7786cc316022605ee63b8136180d3c652789959d1fb2542992574adc01c30afa979a46310a51309da1af20afedbd7f9d8429ffa116
data/lib/jekyll/eztags.rb CHANGED
@@ -1,103 +1,68 @@
1
- require 'nuggets/range/quantile'
2
- require 'erb'
1
+ #require 'erb'
3
2
  require "jekyll/eztags/version"
4
3
 
5
4
  module Jekyll
6
5
  module Eztags
7
- # Your code goes here...
8
- end
9
- class Tagger < Generator
10
-
11
- safe true
12
-
13
- attr_accessor :site
14
-
15
- @types = [:page, :feed]
16
-
17
- class << self; attr_accessor :types, :site; end
18
-
19
- def generate(site)
20
- self.class.site = self.site = site
21
-
22
- generate_tag_pages
23
- end
24
-
25
- private
26
-
27
- # Generates a page per tag and adds them to all the pages of +site+.
28
- # A <tt>tag_page_layout</tt> have to be defined in your <tt>_config.yml</tt>
29
- # to use this.
30
- def generate_tag_pages
31
- active_tags.each { |tag, posts| new_tag(tag, posts) }
32
- end
33
-
34
- def new_tag(tag, posts)
35
- self.class.types.each { |type|
36
- if layout = site.config["tag_#{type}_layout"]
37
- data = { 'layout' => layout, 'posts' => posts.sort.reverse! }
38
-
39
- name = yield data if block_given?
40
-
41
- puts "HERE WITH: "
42
- puts "#{name || tag}#{site.layouts[data['layout']].ext}"
43
-
44
- site.pages << TagPage.new(
45
- site, site.source, site.config["tag_#{type}_dir"],
46
- "#{name || tag}#{site.layouts[data['layout']].ext}", data
47
- )
48
- end
49
- }
50
- end
51
6
 
52
- def active_tags
53
- return site.tags unless site.config["ignored_tags"]
54
- site.tags.reject { |t| site.config["ignored_tags"].include? t[0] }
55
- end
7
+ class Tagger < Generator
8
+
9
+ safe true
10
+
11
+ attr_accessor :site
12
+ @types = [:page, :feed]
13
+ class << self; attr_accessor :types, :site; end
14
+
15
+ def generate(site)
16
+ self.class.site = self.site = site
17
+ generate_tag_pages
18
+ end
19
+
20
+ private
21
+
22
+ # Generates a page per tag and adds them to all the pages of +site+.
23
+ # A <tt>tag_page_layout</tt> have to be defined in your <tt>_config.yml</tt>
24
+ # to use this.
25
+ def generate_tag_pages
26
+ active_tags.each { |tag, posts| new_tag(tag, posts) }
27
+ end
28
+
29
+ def new_tag(tag, posts)
30
+ self.class.types.each { |type|
31
+ if layout = site.config["tag_#{type}_layout"]
32
+ data = { 'layout' => layout, 'posts' => posts.sort.reverse! }
33
+ name = yield data if block_given?
34
+ site.pages << TagPage.new(
35
+ site, site.source, site.config["tag_#{type}_dir"],
36
+ "#{name || tag}", data, "#{site.layouts[data['layout']].ext}"
37
+ )
38
+ end
39
+ }
40
+ end
56
41
 
42
+ def active_tags
43
+ return site.tags unless site.config["ignored_tags"]
44
+ site.tags.reject { |t| site.config["ignored_tags"].include? t[0] }
45
+ end
57
46
 
58
- end
59
-
60
- class TagPage < Page
61
-
62
- def initialize(site, base, dir, name, data = {})
63
- self.content = data.delete('content') || ''
64
- self.data = data
65
-
66
- super(site, base, dir[-1, 1] == '/' ? dir : '/' + dir, name)
67
-
68
- data['tag'] ||= basename
69
47
  end
70
48
 
71
- def read_yaml(*)
72
- # Do nothing
73
- end
74
-
75
- end
49
+ class TagPage < Page
76
50
 
77
- module Filters
51
+ def initialize(site, base, dir, name, data = {}, extension)
52
+ self.content = data.delete('content') || ''
53
+ self.data = data
54
+ filename = "#{name.downcase.gsub(/[^0-9a-z]/i, '-')}#{extension}"
55
+
56
+ super(site, base, dir[-1, 1] == '/' ? dir : '/' + dir, filename)
78
57
 
79
- def tag_link(tag, url = tag_url(tag), html_opts = nil)
80
- html_opts &&= ' ' << html_opts.map { |k, v| %Q{#{k}="#{v}"} }.join(' ')
81
- %Q{<a href="#{url}"#{html_opts}>#{tag}</a>}
82
- end
58
+ data['tag'] = name
59
+ end
83
60
 
84
- def tag_url(tag, type = :page, site = Tagger.site)
85
- url = File.join('', site.config["tag_#{type}_dir"], ERB::Util.u(tag))
86
- puts "HERE IS URL"
87
- puts url
88
- site.permalink_style == :pretty ? url : url << '.html'
89
- end
61
+ def read_yaml(*)
62
+ # Do nothing
63
+ end
90
64
 
91
- def tags(obj)
92
- tags = obj['tags'].dup
93
- tags.map! { |t| t.first } if tags.first.is_a?(Array)
94
- tags.map! { |t| tag_link(t, tag_url(t), :rel => 'tag') if t.is_a?(String) }.compact!
95
- tags.join(', ')
96
65
  end
97
66
 
98
- def active_tag_data(site = Tagger.site)
99
- return site.config['tag_data'] unless site.config["ignored_tags"]
100
- site.config["tag_data"].reject { |tag, set| site.config["ignored_tags"].include? tag }
101
- end
102
67
  end
103
68
  end
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module Eztags
3
- VERSION = "0.0.9"
3
+ VERSION = "0.0.11"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-eztags
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jerzy J. Gangi