@antv/dumi-theme-antv 0.5.7-beta.2 → 0.6.0
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/hooks/useMenu.js +19 -5
- package/dist/locales/en.json +1 -1
- package/dist/locales/zh.json +1 -1
- package/dist/plugin/index.js +4 -1
- package/dist/slots/Feedback/Contributors.js +7 -8
- package/dist/slots/Feedback/EditButton.js +7 -6
- package/dist/slots/ManualContent/Main.js +15 -5
- package/dist/utils/github.js +38 -1
- package/package.json +1 -1
package/dist/hooks/useMenu.js
CHANGED
|
@@ -15,11 +15,14 @@ import styles from "../slots/ManualContent/index.module.less";
|
|
|
15
15
|
import { getBaseRoute } from "../slots/ManualContent/utils";
|
|
16
16
|
import { flattenMenu } from "../utils/menu";
|
|
17
17
|
export var useMenu = function useMenu() {
|
|
18
|
+
var _navOf;
|
|
18
19
|
var fullData = useFullSidebarData();
|
|
19
20
|
var _useLocation = useLocation(),
|
|
20
21
|
pathname = _useLocation.pathname;
|
|
21
22
|
var _useSiteData = useSiteData(),
|
|
22
|
-
|
|
23
|
+
_useSiteData$themeCon = _useSiteData.themeConfig,
|
|
24
|
+
docs = _useSiteData$themeCon.docs,
|
|
25
|
+
navs = _useSiteData$themeCon.navs;
|
|
23
26
|
var baseRoute = getBaseRoute();
|
|
24
27
|
var navigate = useNavigate();
|
|
25
28
|
var locale = useLocale();
|
|
@@ -107,15 +110,26 @@ export var useMenu = function useMenu() {
|
|
|
107
110
|
return flattenMenu(menuData);
|
|
108
111
|
}, [menuData]);
|
|
109
112
|
var selectedKey = pathname;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
113
|
+
|
|
114
|
+
// Nav 跳转但不在菜单中,则选中第一个菜单项
|
|
115
|
+
var navOf = function navOf(navs) {
|
|
116
|
+
return navs.some(function (nav) {
|
|
117
|
+
var _nav$slug;
|
|
118
|
+
return (nav === null || nav === void 0 || (_nav$slug = nav.slug) === null || _nav$slug === void 0 ? void 0 : _nav$slug.replace('docs/', '/')) === pathname;
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
var isNavLink = !!navOf(navs);
|
|
122
|
+
var isExactLink = (_navOf = navOf(navs)) === null || _navOf === void 0 ? void 0 : _navOf.exact;
|
|
123
|
+
var isLinkInMenu = flattedMenuData.some(function (item) {
|
|
124
|
+
return item.link === pathname;
|
|
125
|
+
});
|
|
126
|
+
if (isNavLink && !isExactLink && !isLinkInMenu) {
|
|
114
127
|
var firstValidMenuItem = flattedMenuData.find(function (item) {
|
|
115
128
|
return item.link;
|
|
116
129
|
});
|
|
117
130
|
if (firstValidMenuItem) {
|
|
118
131
|
navigate(firstValidMenuItem.link);
|
|
132
|
+
selectedKey = firstValidMenuItem.link;
|
|
119
133
|
}
|
|
120
134
|
}
|
|
121
135
|
return [menuData, selectedKey, flattedMenuData];
|
package/dist/locales/en.json
CHANGED
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
"如果问题持续,请前往 GitHub 提交 issue。": "Go head to GitHub issue if the problem persists.",
|
|
158
158
|
"你遇到的问题是什么?": "What kind of problem are you facing?",
|
|
159
159
|
"🚀 留下你的真实感受": "🚀 What is the reason for your feedback?",
|
|
160
|
-
"
|
|
160
|
+
"容易理解": "Easy to understand",
|
|
161
161
|
"解决了我的问题": "Resolved my problem",
|
|
162
162
|
"其它": "Other",
|
|
163
163
|
"缺少我需要的信息": "Missing the information I need",
|
package/dist/locales/zh.json
CHANGED
package/dist/plugin/index.js
CHANGED
|
@@ -48,7 +48,6 @@ var plugin_default = (api) => {
|
|
|
48
48
|
memo.mfsu = false;
|
|
49
49
|
memo.jsMinifier = "terser";
|
|
50
50
|
memo.favicons = ["https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*7svFR6wkPMoAAAAAAAAAAAAADmJ7AQ/original"];
|
|
51
|
-
memo.extraRemarkPlugins = [import_remarkFeedback.default];
|
|
52
51
|
memo.extraRehypePlugins = [import_rehypeObservable.default];
|
|
53
52
|
return memo;
|
|
54
53
|
});
|
|
@@ -88,6 +87,10 @@ var plugin_default = (api) => {
|
|
|
88
87
|
file: `${PAGES_DIR}/Example`
|
|
89
88
|
}
|
|
90
89
|
];
|
|
90
|
+
api.modifyConfig((memo) => {
|
|
91
|
+
memo.extraRemarkPlugins = memo.themeConfig.feedback ? [import_remarkFeedback.default] : [];
|
|
92
|
+
return memo;
|
|
93
|
+
});
|
|
91
94
|
api.onGenerateFiles(() => {
|
|
92
95
|
api.writeTmpFile({
|
|
93
96
|
noPluginDir: true,
|
|
@@ -12,16 +12,15 @@ var StyledContributorsWrapper = styled.div.withConfig({
|
|
|
12
12
|
export var Contributors = function Contributors() {
|
|
13
13
|
var _useIntl = useIntl(),
|
|
14
14
|
formatMessage = _useIntl.formatMessage;
|
|
15
|
-
var _useSiteData$themeCon = useSiteData().themeConfig,
|
|
16
|
-
_useSiteData$
|
|
17
|
-
branch = _useSiteData$themeCon2 === void 0 ? 'main' : _useSiteData$themeCon2,
|
|
18
|
-
siteRelativePath = _useSiteData$themeCon.siteRelativePath;
|
|
15
|
+
var _useSiteData$themeCon = useSiteData().themeConfig.sitePackagePath,
|
|
16
|
+
sitePackagePath = _useSiteData$themeCon === void 0 ? '/packages/site' : _useSiteData$themeCon;
|
|
19
17
|
var _useGithubRepo = useGithubRepo(),
|
|
20
18
|
owner = _useGithubRepo.owner,
|
|
21
|
-
repo = _useGithubRepo.repo
|
|
19
|
+
repo = _useGithubRepo.repo,
|
|
20
|
+
defaultBranch = _useGithubRepo.defaultBranch;
|
|
22
21
|
var meta = useRouteMeta();
|
|
23
22
|
var editable = !meta.frontmatter.readonly;
|
|
24
|
-
if (!editable) {
|
|
23
|
+
if (!editable || !meta.frontmatter.filename) {
|
|
25
24
|
return null;
|
|
26
25
|
}
|
|
27
26
|
return /*#__PURE__*/React.createElement(StyledContributorsWrapper, null, /*#__PURE__*/React.createElement("div", {
|
|
@@ -32,7 +31,7 @@ export var Contributors = function Contributors() {
|
|
|
32
31
|
cache: true,
|
|
33
32
|
repo: repo,
|
|
34
33
|
owner: owner,
|
|
35
|
-
fileName: path.join(
|
|
34
|
+
fileName: path.join(sitePackagePath, meta.frontmatter.filename),
|
|
36
35
|
className: "list",
|
|
37
36
|
renderItem: function renderItem(item, loading) {
|
|
38
37
|
return /*#__PURE__*/React.createElement(ContributorAvatar, {
|
|
@@ -41,6 +40,6 @@ export var Contributors = function Contributors() {
|
|
|
41
40
|
key: item === null || item === void 0 ? void 0 : item.url
|
|
42
41
|
});
|
|
43
42
|
},
|
|
44
|
-
branch:
|
|
43
|
+
branch: defaultBranch
|
|
45
44
|
}));
|
|
46
45
|
};
|
|
@@ -2,6 +2,7 @@ import { FormOutlined } from '@ant-design/icons';
|
|
|
2
2
|
import { useIntl, useRouteMeta, useSiteData } from 'dumi';
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import React from 'react';
|
|
5
|
+
import { useGithubRepo } from "../../utils/github";
|
|
5
6
|
export var EditButton = function EditButton() {
|
|
6
7
|
var meta = useRouteMeta();
|
|
7
8
|
var _useIntl = useIntl(),
|
|
@@ -9,16 +10,16 @@ export var EditButton = function EditButton() {
|
|
|
9
10
|
var _useSiteData = useSiteData(),
|
|
10
11
|
themeConfig = _useSiteData.themeConfig;
|
|
11
12
|
var githubUrl = themeConfig.githubUrl,
|
|
12
|
-
_themeConfig$
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
_themeConfig$sitePack = themeConfig.sitePackagePath,
|
|
14
|
+
sitePackagePath = _themeConfig$sitePack === void 0 ? '/packages/site' : _themeConfig$sitePack;
|
|
15
|
+
var _useGithubRepo = useGithubRepo(),
|
|
16
|
+
defaultBranch = _useGithubRepo.defaultBranch;
|
|
16
17
|
var editable = !meta.frontmatter.readonly;
|
|
17
18
|
if (!editable) {
|
|
18
19
|
return null;
|
|
19
20
|
}
|
|
20
|
-
var branchUrl = "".concat(githubUrl, "/edit/").concat(
|
|
21
|
-
var url = meta.frontmatter.redirect ? path.join(branchUrl, meta.frontmatter.redirect) : path.join(branchUrl,
|
|
21
|
+
var branchUrl = "".concat(githubUrl, "/edit/").concat(defaultBranch);
|
|
22
|
+
var url = meta.frontmatter.redirect ? path.join(branchUrl, meta.frontmatter.redirect) : path.join(branchUrl, sitePackagePath, meta.frontmatter.filename || '');
|
|
22
23
|
return /*#__PURE__*/React.createElement("a", {
|
|
23
24
|
onClick: function onClick() {
|
|
24
25
|
return window.open(url, '_blank');
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
1
7
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
8
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
9
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -6,20 +12,23 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
6
12
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
13
|
import { VerticalAlignTopOutlined } from '@ant-design/icons';
|
|
8
14
|
import { BackTop, Layout } from 'antd';
|
|
9
|
-
import { useRouteMeta } from 'dumi';
|
|
15
|
+
import { useRouteMeta, useSiteData } from 'dumi';
|
|
10
16
|
import React from 'react';
|
|
11
17
|
import { useMedia } from 'react-use';
|
|
12
18
|
import readingTime from 'reading-time';
|
|
13
19
|
import { useMenu } from "../../hooks/useMenu";
|
|
14
20
|
import { ContentTable } from "dumi/theme/slots/ContentTable";
|
|
15
21
|
import { Feedback } from "dumi/theme/slots/Feedback";
|
|
22
|
+
import styles from "./index.module.less";
|
|
16
23
|
import { PrevAndNext } from "./PrevAndNext";
|
|
17
24
|
import ReadingTime from "./ReadingTime";
|
|
18
|
-
import styles from "./index.module.less";
|
|
19
25
|
import { usePreview } from "./usePreview";
|
|
20
26
|
export var Main = function Main(_ref) {
|
|
21
27
|
var children = _ref.children;
|
|
22
28
|
var meta = useRouteMeta();
|
|
29
|
+
var _useSiteData = useSiteData(),
|
|
30
|
+
themeConfig = _useSiteData.themeConfig;
|
|
31
|
+
var feedback = themeConfig.feedback;
|
|
23
32
|
var text = meta.texts.reduce(function (prev, next) {
|
|
24
33
|
return prev + next.value;
|
|
25
34
|
}, '');
|
|
@@ -45,10 +54,11 @@ export var Main = function Main(_ref) {
|
|
|
45
54
|
})), /*#__PURE__*/React.createElement("div", {
|
|
46
55
|
className: styles.markdown
|
|
47
56
|
}, children), /*#__PURE__*/React.createElement(Feedback, null), /*#__PURE__*/React.createElement(PrevAndNext, null)), /*#__PURE__*/React.createElement(BackTop, {
|
|
48
|
-
style: {
|
|
49
|
-
right: 32
|
|
57
|
+
style: _objectSpread({
|
|
58
|
+
right: 32
|
|
59
|
+
}, feedback && {
|
|
50
60
|
bottom: 100
|
|
51
|
-
}
|
|
61
|
+
})
|
|
52
62
|
}, /*#__PURE__*/React.createElement("div", {
|
|
53
63
|
className: styles.backTop
|
|
54
64
|
}, /*#__PURE__*/React.createElement(VerticalAlignTopOutlined, null)))), showToc && /*#__PURE__*/React.createElement(Layout.Sider, {
|
package/dist/utils/github.js
CHANGED
|
@@ -9,6 +9,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
9
9
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
10
10
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
11
|
import { useSiteData } from 'dumi';
|
|
12
|
+
import useSWR from 'swr';
|
|
12
13
|
export var useGithubRepo = function useGithubRepo() {
|
|
13
14
|
var githubUrl = useSiteData().themeConfig.githubUrl;
|
|
14
15
|
var regex = /https:\/\/github\.com\/([^\/]+)\/([^\/]+)/;
|
|
@@ -16,9 +17,14 @@ export var useGithubRepo = function useGithubRepo() {
|
|
|
16
17
|
_githubUrl$match2 = _slicedToArray(_githubUrl$match, 3),
|
|
17
18
|
owner = _githubUrl$match2[1],
|
|
18
19
|
repo = _githubUrl$match2[2];
|
|
20
|
+
var _useSWR = useSWR("/repos/".concat(owner, "/").concat(repo), function () {
|
|
21
|
+
return getRepoDetails(owner, repo);
|
|
22
|
+
}),
|
|
23
|
+
details = _useSWR.data;
|
|
19
24
|
return {
|
|
20
25
|
owner: owner,
|
|
21
|
-
repo: repo
|
|
26
|
+
repo: repo,
|
|
27
|
+
defaultBranch: details === null || details === void 0 ? void 0 : details.default_branch
|
|
22
28
|
};
|
|
23
29
|
};
|
|
24
30
|
export function getLatestVersion(_x, _x2) {
|
|
@@ -51,4 +57,35 @@ function _getLatestVersion() {
|
|
|
51
57
|
}, _callee, null, [[0, 10]]);
|
|
52
58
|
}));
|
|
53
59
|
return _getLatestVersion.apply(this, arguments);
|
|
60
|
+
}
|
|
61
|
+
export function getRepoDetails(_x3, _x4) {
|
|
62
|
+
return _getRepoDetails.apply(this, arguments);
|
|
63
|
+
}
|
|
64
|
+
function _getRepoDetails() {
|
|
65
|
+
_getRepoDetails = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(owner, repo) {
|
|
66
|
+
var response, data;
|
|
67
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
68
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
69
|
+
case 0:
|
|
70
|
+
_context2.prev = 0;
|
|
71
|
+
_context2.next = 3;
|
|
72
|
+
return fetch("https://api.github.com/repos/".concat(owner, "/").concat(repo));
|
|
73
|
+
case 3:
|
|
74
|
+
response = _context2.sent;
|
|
75
|
+
_context2.next = 6;
|
|
76
|
+
return response.json();
|
|
77
|
+
case 6:
|
|
78
|
+
data = _context2.sent;
|
|
79
|
+
return _context2.abrupt("return", data);
|
|
80
|
+
case 10:
|
|
81
|
+
_context2.prev = 10;
|
|
82
|
+
_context2.t0 = _context2["catch"](0);
|
|
83
|
+
return _context2.abrupt("return", undefined);
|
|
84
|
+
case 13:
|
|
85
|
+
case "end":
|
|
86
|
+
return _context2.stop();
|
|
87
|
+
}
|
|
88
|
+
}, _callee2, null, [[0, 10]]);
|
|
89
|
+
}));
|
|
90
|
+
return _getRepoDetails.apply(this, arguments);
|
|
54
91
|
}
|