jekyll-categorizer 0.1.0
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 +7 -0
- data/.gitignore +9 -0
- data/Gemfile +3 -0
- data/jekyll-categorizer.gemspec +28 -0
- data/lib/jekyll/categorizer.rb +52 -0
- data/lib/jekyll/categorizer/version.rb +5 -0
- metadata +106 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ccce1e5afaf3a8adfe5d3fc96ff21c07fd64551f
|
4
|
+
data.tar.gz: f980e82018fa566365a94dc5dd5d3e43f122defb
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 123097668fae678c793ce0118ccea82eead589858d33d3adba7e94824259c13e2fe5d5ab79b8cf595d33ec58ab95f6593931986a78ea5c43774afa34ba43f291
|
7
|
+
data.tar.gz: 739ed3172cc9162a47775609e561c793524f44971b84cd39b2e44ca76412748103e0a7aaa0f0e5c0f117e768d5eefe7a002e45a4dd855240b72af2b23185c6d4
|
data/.gitignore
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'jekyll/categorizer/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'jekyll-categorizer'
|
8
|
+
spec.version = Jekyll::Categorizer::VERSION
|
9
|
+
spec.authors = ['Ignacio Galindo']
|
10
|
+
spec.email = ['joiggama@gmail.com']
|
11
|
+
|
12
|
+
spec.summary = %q{ Generate simple category index pages with ease. }
|
13
|
+
spec.description = %q{ A Jekyll plugin to generate custom category index pages. Bring your own template. }
|
14
|
+
spec.homepage = 'https://github.com/joiggama/jekyll-categorizer'
|
15
|
+
spec.license = 'MIT'
|
16
|
+
|
17
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
|
+
spec.bindir = 'exe'
|
19
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
|
+
spec.require_paths = ['lib']
|
21
|
+
|
22
|
+
|
23
|
+
spec.add_development_dependency 'bundler', '~> 1.9'
|
24
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
25
|
+
spec.add_development_dependency 'pry-byebug', '~> 3.2.0'
|
26
|
+
|
27
|
+
spec.add_runtime_dependency 'jekyll', '~> 2.5.3'
|
28
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module Categorizer
|
3
|
+
|
4
|
+
class Builder < Jekyll::Generator
|
5
|
+
|
6
|
+
safe true
|
7
|
+
priority :low
|
8
|
+
|
9
|
+
def generate(site)
|
10
|
+
site.categories.keys.each do |category|
|
11
|
+
page = Page.new(site, category)
|
12
|
+
if page.render?
|
13
|
+
page.render(site.layouts, site.site_payload)
|
14
|
+
page.write(site.dest)
|
15
|
+
site.pages << page
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
class Page < Jekyll::Page
|
23
|
+
|
24
|
+
def initialize(site, category)
|
25
|
+
@site = site
|
26
|
+
@base = site.source
|
27
|
+
@dir = site.config['categorizer']['dir'].gsub(/^\/*(.*)\/*$/, '\1')
|
28
|
+
@name = "#{category}.html"
|
29
|
+
|
30
|
+
template_path = File.join(@base, '_layouts', "#{site.config['categorizer']['layout']}.html")
|
31
|
+
|
32
|
+
self.process(@name)
|
33
|
+
|
34
|
+
if File.exist?(template_path)
|
35
|
+
@perform_render = true
|
36
|
+
template_dir = File.dirname(template_path)
|
37
|
+
template = File.basename(template_path)
|
38
|
+
self.read_yaml(template_dir, template)
|
39
|
+
self.data['category'] = category
|
40
|
+
else
|
41
|
+
@perform_render = false
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def render?
|
46
|
+
@perform_render
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
end
|
metadata
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jekyll-categorizer
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ignacio Galindo
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-08-05 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.9'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.9'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: pry-byebug
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 3.2.0
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 3.2.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: jekyll
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 2.5.3
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 2.5.3
|
69
|
+
description: " A Jekyll plugin to generate custom category index pages. Bring your
|
70
|
+
own template. "
|
71
|
+
email:
|
72
|
+
- joiggama@gmail.com
|
73
|
+
executables: []
|
74
|
+
extensions: []
|
75
|
+
extra_rdoc_files: []
|
76
|
+
files:
|
77
|
+
- ".gitignore"
|
78
|
+
- Gemfile
|
79
|
+
- jekyll-categorizer.gemspec
|
80
|
+
- lib/jekyll/categorizer.rb
|
81
|
+
- lib/jekyll/categorizer/version.rb
|
82
|
+
homepage: https://github.com/joiggama/jekyll-categorizer
|
83
|
+
licenses:
|
84
|
+
- MIT
|
85
|
+
metadata: {}
|
86
|
+
post_install_message:
|
87
|
+
rdoc_options: []
|
88
|
+
require_paths:
|
89
|
+
- lib
|
90
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '0'
|
100
|
+
requirements: []
|
101
|
+
rubyforge_project:
|
102
|
+
rubygems_version: 2.4.5
|
103
|
+
signing_key:
|
104
|
+
specification_version: 4
|
105
|
+
summary: Generate simple category index pages with ease.
|
106
|
+
test_files: []
|