hexo-swpp 3.3.2 → 3.3.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.
- package/README.md +2 -0
- package/dist/index.js +32 -9
- package/package.json +2 -2
package/README.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -178,18 +178,41 @@ function sort(hexo) {
|
|
|
178
178
|
const result = a.length === b.length ? a < b : a.length < b.length;
|
|
179
179
|
return result ? -1 : 1;
|
|
180
180
|
};
|
|
181
|
-
const sort = (obj, value) => {
|
|
181
|
+
const sort = (obj, value, keyName) => {
|
|
182
182
|
if (!obj)
|
|
183
183
|
return;
|
|
184
184
|
const target = obj.data ?? obj;
|
|
185
|
-
if (
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
185
|
+
if ('sort' in target) {
|
|
186
|
+
if (typeof value === 'boolean') {
|
|
187
|
+
if (value)
|
|
188
|
+
target.sort(compare);
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
target.sort((a, b) => compare(a[value], b[value]));
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
else if (typeof value !== 'boolean') {
|
|
195
|
+
const keyList = Object.getOwnPropertyNames(target);
|
|
196
|
+
if (keyList.length === 0)
|
|
197
|
+
return;
|
|
198
|
+
if (!(value in target[keyList[0]])) {
|
|
199
|
+
console.warn(`排序时出现问题,某个键(该键的 key 为“${keyName}”)的排序规则存在问题`);
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
const result = [];
|
|
203
|
+
for (let key of keyList) {
|
|
204
|
+
result.push(target[key]);
|
|
205
|
+
console.assert(!target[key]._id || target[key]._id == key, `排序是出现问题,_id 值异常:${target[key]._id} with ${key}`);
|
|
206
|
+
target[key]._id = key;
|
|
207
|
+
delete target[key];
|
|
208
|
+
}
|
|
209
|
+
result.sort((a, b) => compare(a[value], b[value]));
|
|
210
|
+
for (let item of result) {
|
|
211
|
+
target[item._id] = item[value];
|
|
212
|
+
}
|
|
190
213
|
}
|
|
191
214
|
else {
|
|
192
|
-
|
|
215
|
+
console.warn(`排序时出现问题,某个键(该键的 key 为“${keyName}”)的排序规则存在问题`);
|
|
193
216
|
}
|
|
194
217
|
};
|
|
195
218
|
const list = {
|
|
@@ -203,11 +226,11 @@ function sort(hexo) {
|
|
|
203
226
|
Locals.get = function (name) {
|
|
204
227
|
const result = getter.call(this, name);
|
|
205
228
|
if (name in list)
|
|
206
|
-
sort(result, list[name]);
|
|
229
|
+
sort(result, list[name], name);
|
|
207
230
|
if ('forEach' in result) {
|
|
208
231
|
result.forEach((it) => {
|
|
209
232
|
for (let tag in list)
|
|
210
|
-
sort(it[tag], list[tag]);
|
|
233
|
+
sort(it[tag], list[tag], tag);
|
|
211
234
|
});
|
|
212
235
|
}
|
|
213
236
|
return result;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hexo-swpp",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.4",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "types/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@types/node": "^20.4.7",
|
|
26
26
|
"@types/node-fetch": "^2.6.4",
|
|
27
|
-
"hexo": "7.0.0
|
|
27
|
+
"hexo": "7.0.0",
|
|
28
28
|
"typescript": "^5.1.6"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|