jekyll-eztags 0.0.9 → 0.0.11

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.
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