@unipro-tech/qiita-cli 1.7.0-fork.6 → 1.7.0-fork.7
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/client/components/SidebarArticles.js +21 -60
- package/dist/client/components/SidebarArticles.js.map +1 -1
- package/dist/client/lib/fileTree.js +39 -0
- package/dist/client/lib/fileTree.js.map +1 -0
- package/dist/lib/entities/qiita-item.js +4 -0
- package/dist/lib/entities/qiita-item.js.map +1 -1
- package/dist/public/main.js +1 -1
- package/dist/server/api/items.js +1 -1
- package/dist/server/api/items.js.map +1 -1
- package/dist/server/app.js +0 -1
- package/dist/server/app.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,6 +8,7 @@ const MaterialSymbol_1 = require("./MaterialSymbol");
|
|
|
8
8
|
const react_router_1 = require("react-router");
|
|
9
9
|
const mixins_1 = require("../lib/mixins");
|
|
10
10
|
const variables_1 = require("../lib/variables");
|
|
11
|
+
const fileTree_1 = require("../lib/fileTree");
|
|
11
12
|
exports.SortType = {
|
|
12
13
|
ByUpdatedAt: 1,
|
|
13
14
|
Alphabetically: 2,
|
|
@@ -44,42 +45,19 @@ const SidebarArticles = ({ items, sortType, articleState }) => {
|
|
|
44
45
|
localStorage.setItem(StorageName[articleState], isDetailsOpen.toString());
|
|
45
46
|
}, [isDetailsOpen]);
|
|
46
47
|
// build recursive tree from item.parent (segments array)
|
|
47
|
-
const
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
const rootName = segments[0];
|
|
51
|
-
if (!roots[rootName])
|
|
52
|
-
roots[rootName] = { name: rootName, items: [], children: {} };
|
|
53
|
-
let node = roots[rootName];
|
|
54
|
-
const rest = segments.slice(1);
|
|
55
|
-
if (rest.length === 0) {
|
|
56
|
-
node.items.push(item);
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
for (const seg of rest) {
|
|
60
|
-
if (!node.children[seg])
|
|
61
|
-
node.children[seg] = { name: seg, items: [], children: {} };
|
|
62
|
-
node = node.children[seg];
|
|
63
|
-
}
|
|
64
|
-
node.items.push(item);
|
|
65
|
-
};
|
|
66
|
-
items.forEach((item) => {
|
|
67
|
-
if (!item.parent || item.parent.length === 0) {
|
|
68
|
-
topLevelItems.push(item);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
addToTree(item.parent, item);
|
|
72
|
-
}
|
|
73
|
-
});
|
|
48
|
+
const fileTree = (0, fileTree_1.fileTreeFromItemViewModels)(items);
|
|
49
|
+
const topLevelItems = fileTree.items;
|
|
50
|
+
const roots = fileTree.children;
|
|
74
51
|
const countSubtreeItems = (node) => node.items.length +
|
|
75
52
|
Object.values(node.children).reduce((s, c) => s + countSubtreeItems(c), 0);
|
|
76
53
|
const renderNode = (node, path) => {
|
|
77
54
|
const cmp = compare[sortType];
|
|
78
|
-
|
|
55
|
+
const isNested = path.includes("/");
|
|
56
|
+
return ((0, jsx_runtime_1.jsx)("li", { css: isNested ? articleDetailsNestedItemStyle : undefined, children: (0, jsx_runtime_1.jsxs)("details", { css: articleDetailsStyle, open: true, children: [(0, jsx_runtime_1.jsxs)("summary", { css: articleSummaryStyle, children: [node.name, (0, jsx_runtime_1.jsx)("span", { css: articleSectionTitleCountStyle, children: countSubtreeItems(node) })] }), (0, jsx_runtime_1.jsxs)("ul", { css: articleDetailsNestedStyle, children: [Object.values(node.children)
|
|
79
57
|
.sort((a, b) => a.name.localeCompare(b.name))
|
|
80
|
-
.map((child) => renderNode(child, `${path}/${child.name}`)), [...node.items].sort(cmp).map((item) => ((0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsxs)(react_router_1.Link, { css: articlesListItemStyle, to: item.items_show_path, children: [(0, jsx_runtime_1.jsx)(MaterialSymbol_1.MaterialSymbol, { fill: item.modified && articleState !== "Draft", children: "note" }), (0, jsx_runtime_1.jsxs)("span", { css: articleListItemInnerStyle, children: [item.modified && articleState !== "Draft" && "(差分あり) ", item.title] })] }) }, item.items_show_path)))] })] }) }, path));
|
|
58
|
+
.map((child) => renderNode(child, `${path}/${child.name}`)), [...node.items].sort(cmp).map((item) => ((0, jsx_runtime_1.jsx)("li", { css: articleDetailsNestedItemStyle, children: (0, jsx_runtime_1.jsxs)(react_router_1.Link, { css: articlesListItemStyle, to: item.items_show_path, children: [(0, jsx_runtime_1.jsx)(MaterialSymbol_1.MaterialSymbol, { fill: item.modified && articleState !== "Draft", children: "note" }), (0, jsx_runtime_1.jsxs)("span", { css: articleListItemInnerStyle, children: [item.modified && articleState !== "Draft" && "(差分あり) ", item.title] })] }) }, item.items_show_path)))] })] }) }, path));
|
|
81
59
|
};
|
|
82
|
-
return ((0, jsx_runtime_1.jsxs)("details", { css: articleDetailsStyle, open: isDetailsOpen, children: [(0, jsx_runtime_1.jsxs)("summary", { css: articleSummaryStyle, onClick: toggleAccordion, children: [ArticleState[articleState], (0, jsx_runtime_1.jsx)("span", { css: articleSectionTitleCountStyle, children: items.length })] }), (0, jsx_runtime_1.jsxs)("ul", { children: [Object.values(roots)
|
|
60
|
+
return ((0, jsx_runtime_1.jsxs)("details", { css: articleDetailsStyle, open: isDetailsOpen, children: [(0, jsx_runtime_1.jsxs)("summary", { css: articleSummaryStyle, onClick: toggleAccordion, children: [ArticleState[articleState], (0, jsx_runtime_1.jsx)("span", { css: articleSectionTitleCountStyle, children: items.length })] }), (0, jsx_runtime_1.jsxs)("ul", { css: articleDetailsListStyle, children: [Object.values(roots)
|
|
83
61
|
.sort((a, b) => a.name.localeCompare(b.name))
|
|
84
62
|
.map((r) => renderNode(r, r.name)), topLevelItems.length > 0 &&
|
|
85
63
|
[...topLevelItems].sort(compare[sortType]).map((item) => ((0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsxs)(react_router_1.Link, { css: articlesListItemStyle, to: item.items_show_path, children: [(0, jsx_runtime_1.jsx)(MaterialSymbol_1.MaterialSymbol, { fill: item.modified && articleState !== "Draft", children: "note" }), (0, jsx_runtime_1.jsxs)("span", { css: articleListItemInnerStyle, children: [item.modified && articleState !== "Draft" && "(差分あり) ", item.title] })] }) }, item.items_show_path)))] })] }));
|
|
@@ -93,33 +71,16 @@ const articleDetailsStyle = (0, react_1.css)({
|
|
|
93
71
|
"&[open] > summary::before": {
|
|
94
72
|
content: "'expand_more'",
|
|
95
73
|
},
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
"& ul ul::before": {
|
|
107
|
-
content: "''",
|
|
108
|
-
position: "absolute",
|
|
109
|
-
left: (0, variables_1.getSpace)(3),
|
|
110
|
-
top: 0,
|
|
111
|
-
bottom: 0,
|
|
112
|
-
width: 1,
|
|
113
|
-
backgroundColor: variables_1.Colors.gray20,
|
|
114
|
-
},
|
|
115
|
-
"& ul ul > li": {
|
|
116
|
-
paddingLeft: (0, variables_1.getSpace)(1.5),
|
|
117
|
-
},
|
|
118
|
-
"& ul ul ul": {
|
|
119
|
-
position: "relative",
|
|
120
|
-
paddingLeft: (0, variables_1.getSpace)(4),
|
|
121
|
-
},
|
|
122
|
-
"& ul ul ul::before": {
|
|
74
|
+
});
|
|
75
|
+
const articleDetailsListStyle = (0, react_1.css)({
|
|
76
|
+
listStyle: "none",
|
|
77
|
+
margin: 0,
|
|
78
|
+
paddingLeft: (0, variables_1.getSpace)(1),
|
|
79
|
+
});
|
|
80
|
+
const articleDetailsNestedStyle = (0, react_1.css)({
|
|
81
|
+
position: "relative",
|
|
82
|
+
paddingLeft: (0, variables_1.getSpace)(3),
|
|
83
|
+
"&:before": {
|
|
123
84
|
content: "''",
|
|
124
85
|
position: "absolute",
|
|
125
86
|
left: (0, variables_1.getSpace)(3),
|
|
@@ -128,9 +89,9 @@ const articleDetailsStyle = (0, react_1.css)({
|
|
|
128
89
|
width: 1,
|
|
129
90
|
backgroundColor: variables_1.Colors.gray20,
|
|
130
91
|
},
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
92
|
+
});
|
|
93
|
+
const articleDetailsNestedItemStyle = (0, react_1.css)({
|
|
94
|
+
paddingLeft: (0, variables_1.getSpace)(3 / 2), //小数点は無効なので12pxだとこの様な形になります 1 = 8px
|
|
134
95
|
});
|
|
135
96
|
const articleSummaryStyle = (0, react_1.css)({
|
|
136
97
|
alignItems: "center",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarArticles.js","sourceRoot":"","sources":["../../../src/client/components/SidebarArticles.tsx"],"names":[],"mappings":";;;;AAAA,0CAAqC;AACrC,iCAA4C;AAC5C,qDAAkD;AAClD,+CAAoC;AACpC,0CAA4C;AAC5C,gDAM0B;
|
|
1
|
+
{"version":3,"file":"SidebarArticles.js","sourceRoot":"","sources":["../../../src/client/components/SidebarArticles.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fileTreeFromItemViewModels = void 0;
|
|
4
|
+
const fileTreeFromItemViewModels = (items) => {
|
|
5
|
+
const topLevelItems = [];
|
|
6
|
+
const roots = {};
|
|
7
|
+
const addToTree = (segments, item) => {
|
|
8
|
+
const rootName = segments[0];
|
|
9
|
+
if (!roots[rootName])
|
|
10
|
+
roots[rootName] = { name: rootName, items: [], children: {} };
|
|
11
|
+
let node = roots[rootName];
|
|
12
|
+
const rest = segments.slice(1);
|
|
13
|
+
if (rest.length === 0) {
|
|
14
|
+
node.items.push(item);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
for (const seg of rest) {
|
|
18
|
+
if (!node.children[seg])
|
|
19
|
+
node.children[seg] = { name: seg, items: [], children: {} };
|
|
20
|
+
node = node.children[seg];
|
|
21
|
+
}
|
|
22
|
+
node.items.push(item);
|
|
23
|
+
};
|
|
24
|
+
items.forEach((item) => {
|
|
25
|
+
if (!item.parent || item.parent.length === 0) {
|
|
26
|
+
topLevelItems.push(item);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
addToTree(item.parent, item);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
return {
|
|
33
|
+
name: "root",
|
|
34
|
+
items: topLevelItems,
|
|
35
|
+
children: roots,
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
exports.fileTreeFromItemViewModels = fileTreeFromItemViewModels;
|
|
39
|
+
//# sourceMappingURL=fileTree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileTree.js","sourceRoot":"","sources":["../../../src/client/lib/fileTree.ts"],"names":[],"mappings":";;;AAUO,MAAM,0BAA0B,GAAG,CACxC,KAAsB,EACR,EAAE;IAChB,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,IAAmB,EAAE,EAAE;QAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAClB,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAChE,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC9D,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC,CAAC;AArCW,QAAA,0BAA0B,8BAqCrC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.QiitaItem = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
4
5
|
class QiitaItem {
|
|
5
6
|
constructor({ id, title, tags, secret, updatedAt, organizationUrlName, rawBody, name, modified, isOlderThanRemote, itemsShowPath, published, itemPath, slide, ignorePublish, }) {
|
|
6
7
|
this.id = id;
|
|
@@ -19,6 +20,9 @@ class QiitaItem {
|
|
|
19
20
|
this.slide = slide;
|
|
20
21
|
this.ignorePublish = ignorePublish;
|
|
21
22
|
}
|
|
23
|
+
getParentDirNames() {
|
|
24
|
+
return this.name.split(path_1.sep).slice(0, -1);
|
|
25
|
+
}
|
|
22
26
|
}
|
|
23
27
|
exports.QiitaItem = QiitaItem;
|
|
24
28
|
//# sourceMappingURL=qiita-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qiita-item.js","sourceRoot":"","sources":["../../../src/lib/entities/qiita-item.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAS;IAiBpB,YAAY,EACV,EAAE,EACF,KAAK,EACL,IAAI,EACJ,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,KAAK,EACL,aAAa,GAiBd;QACC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"qiita-item.js","sourceRoot":"","sources":["../../../src/lib/entities/qiita-item.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAE3B,MAAa,SAAS;IAiBpB,YAAY,EACV,EAAE,EACF,KAAK,EACL,IAAI,EACJ,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,KAAK,EACL,aAAa,GAiBd;QACC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;CACF;AAtED,8BAsEC"}
|