jekyll-activity-pub 0.1.0rc7 → 0.1.0rc9
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/jekyll/activity_pub/helper.rb +10 -0
- data/lib/jekyll/activity_pub/ordered_collection.rb +31 -35
- data/lib/jekyll-activity-pub.rb +9 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1acd563f33181ea7e00c8bf7b54ab808cef4c7218f4299c3a346088de3b5c7f
|
4
|
+
data.tar.gz: 2764476b3ffc16bcafe51692c05640394d538a706c4e7f76e9a8a33c633228b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7fef86816ab8f6935e55f115a25549d7c4a287fec2784cb3cfb563b2258f8320890e5d8edffc3810aea9b8a12223a541abf7983481dbb1d58e379c92a4a606ea
|
7
|
+
data.tar.gz: dcb1bad844dcfb13f81414fbf7fe9f388b8cd51d41e9f3490448180fea0b58c9178a473082abb551bf04917addf7bc51773e245d51992802eb50a8faf789faf5
|
@@ -34,33 +34,44 @@ module Jekyll
|
|
34
34
|
}
|
35
35
|
end
|
36
36
|
|
37
|
-
|
37
|
+
# Sort items
|
38
|
+
#
|
39
|
+
# @return [nil]
|
40
|
+
def order_items!
|
41
|
+
data['orderedItems'].sort! do |a, b|
|
42
|
+
b.data['published'] <=> a.data['published']
|
43
|
+
end
|
44
|
+
|
45
|
+
nil
|
46
|
+
end
|
47
|
+
|
48
|
+
# Turn items to URLs
|
49
|
+
#
|
50
|
+
# @return [nil]
|
51
|
+
def items_to_links!
|
52
|
+
data['orderedItems'] = data['orderedItems'].map do |item|
|
53
|
+
item.data['id']
|
54
|
+
end
|
55
|
+
|
56
|
+
nil
|
57
|
+
end
|
38
58
|
|
39
59
|
# Paginates the collection if it has too many activities
|
40
60
|
#
|
41
|
-
# @return [
|
42
|
-
def
|
43
|
-
|
44
|
-
|
45
|
-
order_items!
|
46
|
-
items_to_links!
|
61
|
+
# @return [nil]
|
62
|
+
def paginate!
|
63
|
+
return if always_paginate? || paginable?
|
64
|
+
return if data['orderedItems'].empty?
|
47
65
|
|
48
|
-
|
49
|
-
|
50
|
-
elsif data['orderedItems'].empty?
|
51
|
-
original_content
|
52
|
-
else
|
53
|
-
paged_data = data.dup
|
54
|
-
pages = paginate(paged_data.delete('orderedItems'))
|
66
|
+
paged_data = data.dup
|
67
|
+
pages = paginate(paged_data.delete('orderedItems'))
|
55
68
|
|
56
|
-
|
69
|
+
assign_links! pages
|
57
70
|
|
58
|
-
|
59
|
-
|
71
|
+
paged_data['first'] = absolute_url(pages.first.url)
|
72
|
+
paged_data['last'] = absolute_url(pages.last.url)
|
60
73
|
|
61
|
-
|
62
|
-
end
|
63
|
-
end
|
74
|
+
nil
|
64
75
|
end
|
65
76
|
|
66
77
|
private
|
@@ -127,21 +138,6 @@ module Jekyll
|
|
127
138
|
|
128
139
|
nil
|
129
140
|
end
|
130
|
-
|
131
|
-
# Sort items
|
132
|
-
#
|
133
|
-
# @return [nil]
|
134
|
-
def order_items!
|
135
|
-
data['orderedItems'].sort! do |a, b|
|
136
|
-
b.data['published'] <=> a.data['published']
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
def items_to_links!
|
141
|
-
data['orderedItems'] = data['orderedItems'].map do |item|
|
142
|
-
item.data['id']
|
143
|
-
end
|
144
|
-
end
|
145
141
|
end
|
146
142
|
end
|
147
143
|
end
|
data/lib/jekyll-activity-pub.rb
CHANGED
@@ -104,3 +104,12 @@ Jekyll::Hooks.register(:site, :post_write, priority: :low) do |site|
|
|
104
104
|
|
105
105
|
Jekyll::ActivityPub::Notifier.save
|
106
106
|
end
|
107
|
+
|
108
|
+
# Paginate the outbox if needed
|
109
|
+
Jekyll::Hooks.register(:outbox, :pre_render) do |outbox|
|
110
|
+
next if outbox.site.config['activity_pub_disable']
|
111
|
+
|
112
|
+
outbox.order_items!
|
113
|
+
outbox.items_to_links!
|
114
|
+
outbox.paginate!
|
115
|
+
end
|