j1-paginator 2020.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.
- checksums.yaml +7 -0
- data/CODE_OF_CONDUCT.md +86 -0
- data/Gemfile +14 -0
- data/LICENSE +22 -0
- data/README-AUTOPAGES.md +141 -0
- data/README-GENERATOR.md +708 -0
- data/README.md +74 -0
- data/Rakefile +16 -0
- data/j1-paginator.gemspec +34 -0
- data/lib/j1-paginator.rb +34 -0
- data/lib/j1-paginator/autopages/autoPages.rb +100 -0
- data/lib/j1-paginator/autopages/defaults.rb +40 -0
- data/lib/j1-paginator/autopages/pages/baseAutoPage.rb +60 -0
- data/lib/j1-paginator/autopages/pages/categoryAutoPage.rb +32 -0
- data/lib/j1-paginator/autopages/pages/collectionAutoPage.rb +31 -0
- data/lib/j1-paginator/autopages/pages/tagAutoPage.rb +32 -0
- data/lib/j1-paginator/autopages/utils.rb +76 -0
- data/lib/j1-paginator/generator/compatibilityUtils.rb +121 -0
- data/lib/j1-paginator/generator/defaults.rb +27 -0
- data/lib/j1-paginator/generator/paginationGenerator.rb +134 -0
- data/lib/j1-paginator/generator/paginationIndexer.rb +116 -0
- data/lib/j1-paginator/generator/paginationModel.rb +407 -0
- data/lib/j1-paginator/generator/paginationPage.rb +70 -0
- data/lib/j1-paginator/generator/paginator.rb +104 -0
- data/lib/j1-paginator/generator/utils.rb +176 -0
- data/lib/j1-paginator/version.rb +10 -0
- data/spec/generator/defaults_spec.rb +34 -0
- data/spec/generator/paginationPage_spec.rb +12 -0
- data/spec/generator/paginator_spec.rb +197 -0
- data/spec/generator/utils_spec.rb +67 -0
- data/spec/spec_helper.rb +13 -0
- metadata +144 -0
@@ -0,0 +1,67 @@
|
|
1
|
+
require_relative '../spec_helper.rb'
|
2
|
+
|
3
|
+
module Jekyll::J1Paginator::Generator
|
4
|
+
describe Utils do
|
5
|
+
|
6
|
+
it "should always replace num format with the specified number" do
|
7
|
+
Utils.format_page_number( ":num", 7).must_equal "7"
|
8
|
+
Utils.format_page_number( ":num", 13).must_equal "13"
|
9
|
+
Utils.format_page_number( ":num", -2).must_equal "-2"
|
10
|
+
Utils.format_page_number( ":num", 0).must_equal "0"
|
11
|
+
Utils.format_page_number( ":num", 1000).must_equal "1000"
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should always replace num format with the specified number and keep rest of formatting" do
|
15
|
+
Utils.format_page_number( "/page:num/", 7).must_equal "/page7/"
|
16
|
+
Utils.format_page_number( "/page:num/", 50).must_equal "/page50/"
|
17
|
+
Utils.format_page_number( "/page:num/", -5).must_equal "/page-5/"
|
18
|
+
|
19
|
+
Utils.format_page_number( "/car/:num/", 1).must_equal "/car/1/"
|
20
|
+
Utils.format_page_number( "/car/:num", 1).must_equal "/car/1"
|
21
|
+
Utils.format_page_number( "car/:num", 1).must_equal "car/1"
|
22
|
+
Utils.format_page_number( "/car//:num", 1).must_equal "/car//1"
|
23
|
+
end
|
24
|
+
|
25
|
+
it "make sure there is a leading slash in path" do
|
26
|
+
Utils.ensure_leading_slash("path/to/file/wow").must_equal "/path/to/file/wow"
|
27
|
+
Utils.ensure_leading_slash("/no/place/wow/").must_equal "/no/place/wow/"
|
28
|
+
Utils.ensure_leading_slash("/no").must_equal "/no"
|
29
|
+
Utils.ensure_leading_slash("no").must_equal "/no"
|
30
|
+
end
|
31
|
+
|
32
|
+
it "make sure there is never a leading slash in path" do
|
33
|
+
Utils.remove_leading_slash("path/to/file/wow").must_equal "path/to/file/wow"
|
34
|
+
Utils.remove_leading_slash("/no/place/wow/").must_equal "no/place/wow/"
|
35
|
+
Utils.remove_leading_slash("/no").must_equal "no"
|
36
|
+
Utils.remove_leading_slash("no").must_equal "no"
|
37
|
+
end
|
38
|
+
|
39
|
+
it "sort must sort strings lowercase" do
|
40
|
+
Utils.sort_values( "AARON", "Aaron").must_equal 0
|
41
|
+
Utils.sort_values( "AARON", "aaron").must_equal 0
|
42
|
+
Utils.sort_values( "aaron", "AARON").must_equal 0
|
43
|
+
end
|
44
|
+
|
45
|
+
it "when sorting by nested post data the values must be resolved fully" do
|
46
|
+
data = {'book'=>{ 'name' => { 'first'=> 'John', 'last'=> 'Smith'}, 'rank'=>20}}
|
47
|
+
Utils.sort_get_post_data(data, "book:rank").must_equal 20
|
48
|
+
Utils.sort_get_post_data(data, "book:name:first").must_equal "John"
|
49
|
+
Utils.sort_get_post_data(data, "book:name:last").must_equal "Smith"
|
50
|
+
|
51
|
+
Utils.sort_get_post_data(data, "book:name").must_be_nil
|
52
|
+
Utils.sort_get_post_data(data, "name").must_be_nil
|
53
|
+
Utils.sort_get_post_data(data, "book").must_be_nil
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should always replace max format with the specified number if specified" do
|
57
|
+
Utils.format_page_number( ":num-:max", 7, 16).must_equal "7-16"
|
58
|
+
Utils.format_page_number( ":num-:max", 13, 20).must_equal "13-20"
|
59
|
+
Utils.format_page_number( ":num-:max", -2, -4).must_equal "-2--4"
|
60
|
+
Utils.format_page_number( ":num_of_:max", 0, 10).must_equal "0_of_10"
|
61
|
+
Utils.format_page_number( ":num/:max", 1000, 2000).must_equal "1000/2000"
|
62
|
+
end
|
63
|
+
|
64
|
+
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'minitest/spec'
|
2
|
+
require 'minitest/autorun'
|
3
|
+
|
4
|
+
require 'jekyll'
|
5
|
+
require_relative '../lib/j1-paginator/version'
|
6
|
+
require_relative '../lib/j1-paginator/generator/defaults'
|
7
|
+
require_relative '../lib/j1-paginator/generator/utils'
|
8
|
+
require_relative '../lib/j1-paginator/generator/compatibilityUtils'
|
9
|
+
require_relative '../lib/j1-paginator/generator/paginationIndexer'
|
10
|
+
require_relative '../lib/j1-paginator/generator/paginator'
|
11
|
+
require_relative '../lib/j1-paginator/generator/paginationPage'
|
12
|
+
require_relative '../lib/j1-paginator/generator/paginationModel'
|
13
|
+
require_relative '../lib/j1-paginator/generator/paginationGenerator'
|
metadata
ADDED
@@ -0,0 +1,144 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: j1-paginator
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2020.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Sverrir Sigmundarson
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-06-13 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: jekyll
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.0'
|
20
|
+
- - "<="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '4.0'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.0'
|
30
|
+
- - "<="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '4.0'
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: bundler
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '2.0'
|
40
|
+
type: :development
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '2.0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rake
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '13.0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '13.0'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: minitest
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '5.4'
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '5.4'
|
75
|
+
description: An enhanced zero-configuration in-place replacement for the now decomissioned
|
76
|
+
built-in jekyll-paginate gem. This pagination gem offers full backwards compatability
|
77
|
+
as well as a slew of new frequently requested features with minimal additional site
|
78
|
+
and page configuration. Optional features include auto-generation of paginated collection,
|
79
|
+
tag and category pages.
|
80
|
+
email:
|
81
|
+
- jekyll@sverrirs.com
|
82
|
+
executables: []
|
83
|
+
extensions: []
|
84
|
+
extra_rdoc_files: []
|
85
|
+
files:
|
86
|
+
- CODE_OF_CONDUCT.md
|
87
|
+
- Gemfile
|
88
|
+
- LICENSE
|
89
|
+
- README-AUTOPAGES.md
|
90
|
+
- README-GENERATOR.md
|
91
|
+
- README.md
|
92
|
+
- Rakefile
|
93
|
+
- j1-paginator.gemspec
|
94
|
+
- lib/j1-paginator.rb
|
95
|
+
- lib/j1-paginator/autopages/autoPages.rb
|
96
|
+
- lib/j1-paginator/autopages/defaults.rb
|
97
|
+
- lib/j1-paginator/autopages/pages/baseAutoPage.rb
|
98
|
+
- lib/j1-paginator/autopages/pages/categoryAutoPage.rb
|
99
|
+
- lib/j1-paginator/autopages/pages/collectionAutoPage.rb
|
100
|
+
- lib/j1-paginator/autopages/pages/tagAutoPage.rb
|
101
|
+
- lib/j1-paginator/autopages/utils.rb
|
102
|
+
- lib/j1-paginator/generator/compatibilityUtils.rb
|
103
|
+
- lib/j1-paginator/generator/defaults.rb
|
104
|
+
- lib/j1-paginator/generator/paginationGenerator.rb
|
105
|
+
- lib/j1-paginator/generator/paginationIndexer.rb
|
106
|
+
- lib/j1-paginator/generator/paginationModel.rb
|
107
|
+
- lib/j1-paginator/generator/paginationPage.rb
|
108
|
+
- lib/j1-paginator/generator/paginator.rb
|
109
|
+
- lib/j1-paginator/generator/utils.rb
|
110
|
+
- lib/j1-paginator/version.rb
|
111
|
+
- spec/generator/defaults_spec.rb
|
112
|
+
- spec/generator/paginationPage_spec.rb
|
113
|
+
- spec/generator/paginator_spec.rb
|
114
|
+
- spec/generator/utils_spec.rb
|
115
|
+
- spec/spec_helper.rb
|
116
|
+
homepage: https://github.com/sverrirs/j1-paginator
|
117
|
+
licenses:
|
118
|
+
- MIT
|
119
|
+
metadata: {}
|
120
|
+
post_install_message:
|
121
|
+
rdoc_options: []
|
122
|
+
require_paths:
|
123
|
+
- lib
|
124
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
125
|
+
requirements:
|
126
|
+
- - ">="
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: 2.0.0
|
129
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - ">="
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
requirements: []
|
135
|
+
rubygems_version: 3.0.3
|
136
|
+
signing_key:
|
137
|
+
specification_version: 4
|
138
|
+
summary: Pagination Generator for Jekyll 3
|
139
|
+
test_files:
|
140
|
+
- spec/generator/defaults_spec.rb
|
141
|
+
- spec/generator/paginationPage_spec.rb
|
142
|
+
- spec/generator/paginator_spec.rb
|
143
|
+
- spec/generator/utils_spec.rb
|
144
|
+
- spec/spec_helper.rb
|