jekyll-fdroid 1.1 → 1.1.4
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 +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
|