czon 0.2.7 → 0.2.8
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/dist/ssg/components/Navigator.d.ts.map +1 -1
- package/dist/ssg/components/Navigator.js +9 -1
- package/dist/ssg/components/Navigator.js.map +1 -1
- package/dist/utils/sortBy.d.ts +8 -0
- package/dist/utils/sortBy.d.ts.map +1 -0
- package/dist/utils/sortBy.js +35 -0
- package/dist/utils/sortBy.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigator.d.ts","sourceRoot":"","sources":["../../../src/ssg/components/Navigator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Navigator.d.ts","sourceRoot":"","sources":["../../../src/ssg/components/Navigator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,GAAG,EAAE,cAAc,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;CACd,CA6CA,CAAC"}
|
|
@@ -5,11 +5,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Navigator = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const sortBy_1 = require("../../utils/sortBy");
|
|
8
9
|
const Navigator = props => {
|
|
9
10
|
const categories = [...new Set(props.ctx.site.files.map(f => f.category))];
|
|
10
11
|
return (react_1.default.createElement("ul", { className: "nav-list" }, categories.map(category => {
|
|
11
12
|
const categoryKey = category || 'NO_CATEGORY';
|
|
12
|
-
const filesInCategory = props.ctx.site.files.filter(f => f.category === category && f.metadata)
|
|
13
|
+
const filesInCategory = (0, sortBy_1.toSortedBy)(props.ctx.site.files.filter(f => f.category === category && f.metadata), [
|
|
14
|
+
// 无日期的排前面
|
|
15
|
+
[x => (x.metadata?.inferred_date ? 1 : 0), 'asc'],
|
|
16
|
+
// 日期降序
|
|
17
|
+
[x => x.metadata?.inferred_date || '', 'desc'],
|
|
18
|
+
]);
|
|
19
|
+
if (filesInCategory.length === 0)
|
|
20
|
+
return null;
|
|
13
21
|
return (react_1.default.createElement("div", { key: categoryKey },
|
|
14
22
|
react_1.default.createElement("li", { className: "nav-item font-bold", key: categoryKey }, category || '--'),
|
|
15
23
|
filesInCategory.map(file => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../../src/ssg/components/Navigator.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../../src/ssg/components/Navigator.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,+CAAgD;AAEzC,MAAM,SAAS,GAIjB,KAAK,CAAC,EAAE;IACX,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3E,OAAO,CACL,sCAAI,SAAS,EAAC,UAAU,IACrB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACzB,MAAM,WAAW,GAAG,QAAQ,IAAI,aAAa,CAAC;QAC9C,MAAM,eAAe,GAAG,IAAA,mBAAU,EAChC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,EACvE;YACE,UAAU;YACV,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YACjD,OAAO;YACP,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,EAAE,MAAM,CAAC;SAC/C,CACF,CAAC;QAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9C,OAAO,CACL,uCAAK,GAAG,EAAE,WAAW;YACnB,sCAAI,SAAS,EAAC,oBAAoB,EAAC,GAAG,EAAE,WAAW,IAChD,QAAQ,IAAI,IAAI,CACd;YACJ,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAS,CAAC,IAAI,GAAG,OAAO,CAAC;gBAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CACnD,CAAC;gBACF,MAAM,QAAQ,GACZ,UAAU,EAAE,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC,QAAS,CAAC,KAAK,IAAI,YAAY,CAAC;gBAEzE,OAAO,CACL,sCAAI,SAAS,EAAC,UAAU,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI;oBACrC,qCAAG,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,IAC7D,QAAQ,CACP,CACD,CACN,CAAC;YACJ,CAAC,CAAC,CACE,CACP,CAAC;IACJ,CAAC,CAAC,CACC,CACN,CAAC;AACJ,CAAC,CAAC;AAjDW,QAAA,SAAS,aAiDpB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sort an array by multiple key functions.
|
|
3
|
+
* @param arr - The array to sort.
|
|
4
|
+
* @param keyFns - An array of functions to extract the sort keys.
|
|
5
|
+
* @returns - The sorted array (new array).
|
|
6
|
+
*/
|
|
7
|
+
export declare const toSortedBy: <T>(arr: T[], keyFns: Array<[func: (item: T) => any, order: "asc" | "desc"]>) => T[];
|
|
8
|
+
//# sourceMappingURL=sortBy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortBy.d.ts","sourceRoot":"","sources":["../../src/utils/sortBy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAC1B,KAAK,CAAC,EAAE,EACR,QAAQ,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,KAC7D,CAAC,EAsBH,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toSortedBy = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Sort an array by multiple key functions.
|
|
6
|
+
* @param arr - The array to sort.
|
|
7
|
+
* @param keyFns - An array of functions to extract the sort keys.
|
|
8
|
+
* @returns - The sorted array (new array).
|
|
9
|
+
*/
|
|
10
|
+
const toSortedBy = (arr, keyFns) => {
|
|
11
|
+
return arr
|
|
12
|
+
.map(item => ({ item, keys: keyFns.map(([fn]) => fn(item)) }))
|
|
13
|
+
.sort((a, b) => {
|
|
14
|
+
for (let i = 0; i < a.keys.length; i++) {
|
|
15
|
+
const order = keyFns[i][1];
|
|
16
|
+
const vA = a.keys[i];
|
|
17
|
+
const vB = b.keys[i];
|
|
18
|
+
if (vA !== vB) {
|
|
19
|
+
if (typeof vA === 'number' && typeof vB === 'number') {
|
|
20
|
+
return order === 'asc' ? vA - vB : vB - vA;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
// some of the values are strings
|
|
24
|
+
return order === 'asc'
|
|
25
|
+
? String(vA).localeCompare(String(vB))
|
|
26
|
+
: String(vB).localeCompare(String(vA));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return 0;
|
|
31
|
+
})
|
|
32
|
+
.map(({ item }) => item);
|
|
33
|
+
};
|
|
34
|
+
exports.toSortedBy = toSortedBy;
|
|
35
|
+
//# sourceMappingURL=sortBy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortBy.js","sourceRoot":"","sources":["../../src/utils/sortBy.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACI,MAAM,UAAU,GAAG,CACxB,GAAQ,EACR,MAA8D,EACzD,EAAE;IACP,OAAO,GAAG;SACP,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;SAC7D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACd,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;oBACrD,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,iCAAiC;oBACjC,OAAO,KAAK,KAAK,KAAK;wBACpB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACtC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAC;AAzBW,QAAA,UAAU,cAyBrB"}
|