jekyll-fdroid 1.1 → 1.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/fdroid/App.rb +19 -3
- data/lib/fdroid/IndexV1.rb +7 -1
- data/lib/fdroid/Repo.rb +10 -5
- data/lib/jekyll/FDroidFilters.rb +28 -27
- data/lib/lunr/LunrIndexer.rb +1 -0
- metadata +17 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fdf022851950f00170f4826165c03341ded682c0d1af6b2d1e045afb13e20d6d
|
4
|
+
data.tar.gz: 24a734ec556f49bbabc12f048e5375d47285e29c3e93fda6ded4733fe1d7b6a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cdd231bec8b9f2e2e3deec73485cf1e7d649b9e35659ceb0cc488c71520a247be4be4ce83400e978eb275bd4090b435201dcd768abc53b402eef063a79e034c5
|
7
|
+
data.tar.gz: 7d0d654997464ecc5f1e887b4385c29adfa21c4a7ffbb76162c0795377615846969ee3ab819e37fe6b75bd259ed8de607eb7818470be1f2802515a2299c76875
|
data/lib/fdroid/App.rb
CHANGED
@@ -15,6 +15,7 @@
|
|
15
15
|
# You should have received a copy of the GNU Affero General Public License
|
16
16
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
17
17
|
|
18
|
+
require 'loofah'
|
18
19
|
require_relative './Package'
|
19
20
|
|
20
21
|
module FDroid
|
@@ -44,8 +45,10 @@ module FDroid
|
|
44
45
|
end
|
45
46
|
end
|
46
47
|
|
48
|
+
# this must exist since all entries are sorted by name,
|
49
|
+
# it uses tildes since they sort last
|
47
50
|
def name
|
48
|
-
field('name') || App.localized(@available_locales, @app['localized'], 'name')
|
51
|
+
field('name') || App.localized(@available_locales, @app['localized'], 'name') || '~missing name~'
|
49
52
|
end
|
50
53
|
|
51
54
|
def summary
|
@@ -90,7 +93,7 @@ module FDroid
|
|
90
93
|
'flattrID' => field('flattrID'),
|
91
94
|
'liberapayID' => field('liberapayID'),
|
92
95
|
'categories' => field('categories'),
|
93
|
-
'anti_features' => field('
|
96
|
+
'anti_features' => field('antiFeatures'),
|
94
97
|
'suggested_version_code' => suggested_version_code,
|
95
98
|
'suggested_version_name' => @packages.detect { |p| p.version_code == suggested_version_code }&.version_name,
|
96
99
|
'issue_tracker' => field('issueTracker'),
|
@@ -110,6 +113,9 @@ module FDroid
|
|
110
113
|
'feature_graphic' => App.localized_graphic_path(@available_locales, @app['localized'], 'featureGraphic'),
|
111
114
|
'phone_screenshots' => App.localized_graphic_list_paths(@available_locales, @app['localized'], 'phoneScreenshots'),
|
112
115
|
'seven_inch_screenshots' => App.localized_graphic_list_paths(@available_locales, @app['localized'], 'sevenInchScreenshots'),
|
116
|
+
'ten_inch_screenshots' => App.localized_graphic_list_paths(@available_locales, @app['localized'], 'tenInchScreenshots'),
|
117
|
+
'tv_screenshots' => App.localized_graphic_list_paths(@available_locales, @app['localized'], 'tvScreenshots'),
|
118
|
+
'wear_screenshots' => App.localized_graphic_list_paths(@available_locales, @app['localized'], 'wearScreenshots'),
|
113
119
|
|
114
120
|
'packages' => @packages.sort.reverse.map { |p| p.to_data },
|
115
121
|
|
@@ -239,7 +245,17 @@ module FDroid
|
|
239
245
|
private
|
240
246
|
|
241
247
|
def field(name)
|
242
|
-
@app.key?(name)
|
248
|
+
if @app.key?(name)
|
249
|
+
value = @app[name]
|
250
|
+
case value
|
251
|
+
when Fixnum then return value
|
252
|
+
when Float then return value
|
253
|
+
when Integer then return value
|
254
|
+
when Array then return value.map { |i| Loofah.scrub_fragment(i, :escape).to_html(:save_with => 0) }
|
255
|
+
else
|
256
|
+
return Loofah.scrub_fragment(value, :escape).to_html(:save_with => 0)
|
257
|
+
end
|
258
|
+
end
|
243
259
|
end
|
244
260
|
end
|
245
261
|
end
|
data/lib/fdroid/IndexV1.rb
CHANGED
@@ -51,7 +51,13 @@ module FDroid
|
|
51
51
|
Dir.mktmpdir do |dir|
|
52
52
|
jar = File.join dir, 'index-v1.jar'
|
53
53
|
open(jar, 'wb') do |file|
|
54
|
-
|
54
|
+
begin
|
55
|
+
file.write(Net::HTTP.get(repo))
|
56
|
+
rescue Net::OpenTimeout, Net::ReadTimeout => e
|
57
|
+
puts "Timeout (#{e}), retrying in 1 second..."
|
58
|
+
sleep(1)
|
59
|
+
retry
|
60
|
+
end
|
55
61
|
end
|
56
62
|
|
57
63
|
Zip::File.open(jar) do |zip_file|
|
data/lib/fdroid/Repo.rb
CHANGED
@@ -15,6 +15,9 @@
|
|
15
15
|
# You should have received a copy of the GNU Affero General Public License
|
16
16
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
17
17
|
|
18
|
+
require 'loofah'
|
19
|
+
require 'uri'
|
20
|
+
|
18
21
|
module FDroid
|
19
22
|
class Repo
|
20
23
|
def initialize(repo)
|
@@ -22,23 +25,25 @@ module FDroid
|
|
22
25
|
end
|
23
26
|
|
24
27
|
def name
|
25
|
-
@repo['name']
|
28
|
+
Loofah.scrub_fragment(@repo['name'], :escape).to_s
|
26
29
|
end
|
27
30
|
|
28
31
|
def address
|
29
|
-
@repo['address']
|
32
|
+
url = @repo['address']
|
33
|
+
url =~ /\A#{URI::regexp}\z/ ? url : nil
|
30
34
|
end
|
31
35
|
|
32
36
|
def icon_url
|
33
|
-
"#{self.address}/icons/#{@repo['icon']}"
|
37
|
+
url = "#{self.address}/icons/#{@repo['icon']}"
|
38
|
+
url =~ /\A#{URI::regexp}\z/ ? url : nil
|
34
39
|
end
|
35
40
|
|
36
41
|
def description
|
37
|
-
@repo['description']
|
42
|
+
Loofah.scrub_fragment(@repo['description'], :escape).to_s
|
38
43
|
end
|
39
44
|
|
40
45
|
def timestamp
|
41
|
-
@repo['timestamp']
|
46
|
+
Integer(@repo['timestamp']) rescue nil
|
42
47
|
end
|
43
48
|
|
44
49
|
def date
|
data/lib/jekyll/FDroidFilters.rb
CHANGED
@@ -33,33 +33,34 @@ module Jekyll
|
|
33
33
|
# Hash with relation between Android SDK Level and Android version
|
34
34
|
# https://source.android.com/setup/build-numbers
|
35
35
|
@@AndroidSdkLevelToVersionRelation = {
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
36
|
+
1 => '1.0',
|
37
|
+
2 => '1.1',
|
38
|
+
3 => '1.5',
|
39
|
+
4 => '1.6',
|
40
|
+
5 => '2.0',
|
41
|
+
6 => '2.0.1',
|
42
|
+
7 => '2.1',
|
43
|
+
8 => '2.2',
|
44
|
+
9 => '2.3',
|
45
|
+
10 => '2.3.3',
|
46
|
+
11 => '3.0',
|
47
|
+
12 => '3.1',
|
48
|
+
13 => '3.2',
|
49
|
+
14 => '4.0',
|
50
|
+
15 => '4.0.3',
|
51
|
+
16 => '4.1',
|
52
|
+
17 => '4.2',
|
53
|
+
18 => '4.3',
|
54
|
+
19 => '4.4',
|
55
|
+
20 => '4.4W',
|
56
|
+
21 => '5.0',
|
57
|
+
22 => '5.1',
|
58
|
+
23 => '6.0',
|
59
|
+
24 => '7.0',
|
60
|
+
25 => '7.1',
|
61
|
+
26 => '8.0',
|
62
|
+
27 => '8.1',
|
63
|
+
28 => '9.0',
|
63
64
|
}
|
64
65
|
|
65
66
|
# Convert a file size to a human-readable String.
|
data/lib/lunr/LunrIndexer.rb
CHANGED
@@ -75,6 +75,7 @@ module Jekyll
|
|
75
75
|
extras = [
|
76
76
|
'assets/fdroid-search-autocomplete.js',
|
77
77
|
'assets/fdroid-search-autocomplete-init.js',
|
78
|
+
'assets/register-listener.js',
|
78
79
|
'bower_components/lunr.js/lunr.js',
|
79
80
|
'bower_components/mustache.js/mustache.min.js',
|
80
81
|
'bower_components/awesomplete/awesomplete.min.js',
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-fdroid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nico Alt
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-12-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll-include-cache
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 1.8.5
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: loofah
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: rspec
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -151,8 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
151
165
|
- !ruby/object:Gem::Version
|
152
166
|
version: '0'
|
153
167
|
requirements: []
|
154
|
-
|
155
|
-
rubygems_version: 2.7.7
|
168
|
+
rubygems_version: 3.0.6
|
156
169
|
signing_key:
|
157
170
|
specification_version: 4
|
158
171
|
summary: F-Droid - Free and Open Source Android App Repository
|