@umami/shiso 0.14.0 → 0.16.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/index.css +27 -24
- package/dist/index.js +5 -3
- package/dist/index.mjs +5 -3
- package/package.json +2 -2
- package/server/components/Blog.d.ts +0 -5
- package/server/components/Blog.jsx +0 -16
- package/server/components/CodeBlock.d.ts +0 -1
- package/server/components/CodeBlock.jsx +0 -23
- package/server/components/ContentArea.d.ts +0 -6
- package/server/components/ContentArea.jsx +0 -19
- package/server/components/Docs.d.ts +0 -1
- package/server/components/Docs.jsx +0 -33
- package/server/components/Markdown.d.ts +0 -3
- package/server/components/Markdown.jsx +0 -35
- package/server/components/PageLinks.d.ts +0 -4
- package/server/components/PageLinks.jsx +0 -49
- package/server/components/Shiso.d.ts +0 -19
- package/server/components/Shiso.jsx +0 -34
- package/server/components/SideNav.d.ts +0 -6
- package/server/components/SideNav.jsx +0 -35
- package/server/components/TopNav.d.ts +0 -3
- package/server/components/TopNav.jsx +0 -22
- package/server/components/hooks/useShiso.d.ts +0 -4
- package/server/components/hooks/useShiso.js +0 -6
- package/server/components/index.d.ts +0 -5
- package/server/components/index.js +0 -6
- package/server/index.d.ts +0 -2
- package/server/index.js +0 -122
package/dist/index.css
CHANGED
|
@@ -34,43 +34,45 @@ pre.CodeBlock_container__YmFmN code {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
/* virtual-css:css:0ed498f49b21d225f1b5a4e1685cf2e5 */
|
|
37
|
-
.
|
|
37
|
+
.PageLinks_title__YjEwN {
|
|
38
38
|
position: sticky;
|
|
39
39
|
top: 0;
|
|
40
40
|
}
|
|
41
|
-
.
|
|
41
|
+
.PageLinks_links__OWRlM {
|
|
42
42
|
position: sticky;
|
|
43
43
|
top: 30px;
|
|
44
44
|
height: max-content;
|
|
45
45
|
}
|
|
46
|
-
.
|
|
46
|
+
.PageLinks_links__OWRlM a.PageLinks_link__NDJjM {
|
|
47
47
|
display: block;
|
|
48
48
|
color: var(--font-color-muted);
|
|
49
|
+
font-size: var(--font-size);
|
|
49
50
|
text-wrap: nowrap;
|
|
50
51
|
text-decoration: none;
|
|
51
52
|
}
|
|
52
|
-
.
|
|
53
|
+
.PageLinks_links__OWRlM a.PageLinks_link__NDJjM:hover {
|
|
53
54
|
color: var(--primary-color);
|
|
55
|
+
text-decoration: none;
|
|
54
56
|
}
|
|
55
|
-
.PageLinks_indent-
|
|
57
|
+
.PageLinks_indent-1__MDU1M {
|
|
56
58
|
margin-left: 0;
|
|
57
59
|
}
|
|
58
|
-
.PageLinks_indent-
|
|
60
|
+
.PageLinks_indent-2__MDBmY {
|
|
59
61
|
margin-left: 0;
|
|
60
62
|
}
|
|
61
|
-
.PageLinks_indent-
|
|
63
|
+
.PageLinks_indent-3__ZmY2O {
|
|
62
64
|
margin-left: 10px;
|
|
63
65
|
}
|
|
64
|
-
.PageLinks_indent-
|
|
66
|
+
.PageLinks_indent-4__MDA4N {
|
|
65
67
|
margin-left: 20px;
|
|
66
68
|
}
|
|
67
|
-
.PageLinks_indent-
|
|
69
|
+
.PageLinks_indent-5__MDBlM {
|
|
68
70
|
margin-left: 30px;
|
|
69
71
|
}
|
|
70
|
-
.PageLinks_indent-
|
|
72
|
+
.PageLinks_indent-6__NjIwM {
|
|
71
73
|
margin-left: 40px;
|
|
72
74
|
}
|
|
73
|
-
a.
|
|
75
|
+
a.PageLinks_selected__NjEyY {
|
|
74
76
|
color: var(--primary-color);
|
|
75
77
|
}
|
|
76
78
|
|
|
@@ -105,51 +107,52 @@ a.PageLinks_selected__Y2YxY {
|
|
|
105
107
|
}
|
|
106
108
|
|
|
107
109
|
/* virtual-css:css:7938c95522eda3e1f8244364ad70b38c */
|
|
108
|
-
.
|
|
110
|
+
.ContentArea_content__OTBiZ {
|
|
109
111
|
font-size: 16px;
|
|
110
112
|
margin-bottom: 60px;
|
|
111
113
|
}
|
|
112
|
-
.
|
|
114
|
+
.ContentArea_content__OTBiZ > p {
|
|
113
115
|
color: var(--font-color-muted);
|
|
114
116
|
line-height: 1.8;
|
|
115
117
|
}
|
|
116
|
-
.
|
|
118
|
+
.ContentArea_content__OTBiZ a {
|
|
117
119
|
color: var(--font-color);
|
|
118
120
|
font-weight: 600;
|
|
119
|
-
text-decoration: underline var(--
|
|
121
|
+
text-decoration: underline var(--border-color);
|
|
120
122
|
text-underline-offset: 4px;
|
|
121
123
|
}
|
|
122
|
-
.
|
|
124
|
+
.ContentArea_content__OTBiZ a:hover {
|
|
125
|
+
color: var(--font-color);
|
|
123
126
|
text-decoration: underline var(--primary-color);
|
|
124
127
|
}
|
|
125
|
-
.
|
|
128
|
+
.ContentArea_content__OTBiZ h1 {
|
|
126
129
|
font-size: var(--font-size-8);
|
|
127
130
|
letter-spacing: var(--letter-spacing-1);
|
|
128
131
|
margin: 0 0 var(--spacing-4) 0;
|
|
129
132
|
}
|
|
130
|
-
.
|
|
133
|
+
.ContentArea_content__OTBiZ h2 {
|
|
131
134
|
font-size: var(--font-size-6);
|
|
132
135
|
letter-spacing: var(--letter-spacing-1);
|
|
133
136
|
margin: var(--spacing-8) 0 var(--spacing-4) 0;
|
|
134
137
|
}
|
|
135
|
-
.
|
|
138
|
+
.ContentArea_content__OTBiZ h3 {
|
|
136
139
|
font-size: var(--font-size-5);
|
|
137
140
|
letter-spacing: var(--letter-spacing-1);
|
|
138
141
|
margin: var(--spacing-7) 0 var(--spacing-4) 0;
|
|
139
142
|
}
|
|
140
|
-
.
|
|
143
|
+
.ContentArea_content__OTBiZ ul {
|
|
141
144
|
list-style: disc;
|
|
142
145
|
}
|
|
143
|
-
.
|
|
146
|
+
.ContentArea_content__OTBiZ ol {
|
|
144
147
|
list-style: decimal;
|
|
145
148
|
}
|
|
146
|
-
.
|
|
149
|
+
.ContentArea_content__OTBiZ pre {
|
|
147
150
|
margin: var(--spacing-5) 0;
|
|
148
151
|
}
|
|
149
|
-
.
|
|
152
|
+
.ContentArea_content__OTBiZ code {
|
|
150
153
|
font-size: 14px;
|
|
151
154
|
}
|
|
152
|
-
.
|
|
155
|
+
.ContentArea_content__OTBiZ code:not([class]) {
|
|
153
156
|
font-family: var(--font-family-code);
|
|
154
157
|
color: var(--font-color);
|
|
155
158
|
padding: var(--spacing-1);
|
package/dist/index.js
CHANGED
|
@@ -145,7 +145,7 @@ var import_react_zen2 = require("@umami/react-zen");
|
|
|
145
145
|
var import_classnames = __toESM(require("classnames"));
|
|
146
146
|
|
|
147
147
|
// css-modules:/Users/mikecao/Development/umami-software/shiso/src/components/PageLinks.module.css
|
|
148
|
-
var PageLinks_default = { "title": "
|
|
148
|
+
var PageLinks_default = { "title": "PageLinks_title__YjEwN", "links": "PageLinks_links__OWRlM", "link": "PageLinks_link__NDJjM", "indent-1": "PageLinks_indent-1__MDU1M", "indent-2": "PageLinks_indent-2__MDBmY", "indent-3": "PageLinks_indent-3__ZmY2O", "indent-4": "PageLinks_indent-4__MDA4N", "indent-5": "PageLinks_indent-5__MDBlM", "indent-6": "PageLinks_indent-6__NjIwM", "selected": "PageLinks_selected__NjEyY" };
|
|
149
149
|
|
|
150
150
|
// src/components/PageLinks.tsx
|
|
151
151
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
@@ -174,7 +174,9 @@ function PageLinks({ items, offset = 0 }) {
|
|
|
174
174
|
"a",
|
|
175
175
|
{
|
|
176
176
|
href: `#${id}`,
|
|
177
|
-
className: (0, import_classnames.default)(PageLinks_default[`indent-${size}`], {
|
|
177
|
+
className: (0, import_classnames.default)(PageLinks_default.link, PageLinks_default[`indent-${size}`], {
|
|
178
|
+
[PageLinks_default.selected]: hash === id
|
|
179
|
+
}),
|
|
178
180
|
children: name
|
|
179
181
|
},
|
|
180
182
|
id
|
|
@@ -232,7 +234,7 @@ function TopNav({ tabs }) {
|
|
|
232
234
|
var import_react_zen5 = require("@umami/react-zen");
|
|
233
235
|
|
|
234
236
|
// css-modules:/Users/mikecao/Development/umami-software/shiso/src/components/ContentArea.module.css
|
|
235
|
-
var ContentArea_default = { "content": "
|
|
237
|
+
var ContentArea_default = { "content": "ContentArea_content__OTBiZ" };
|
|
236
238
|
|
|
237
239
|
// src/components/ContentArea.tsx
|
|
238
240
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
package/dist/index.mjs
CHANGED
|
@@ -109,7 +109,7 @@ import { Column, Text } from "@umami/react-zen";
|
|
|
109
109
|
import classNames from "classnames";
|
|
110
110
|
|
|
111
111
|
// css-modules:/Users/mikecao/Development/umami-software/shiso/src/components/PageLinks.module.css
|
|
112
|
-
var PageLinks_default = { "title": "
|
|
112
|
+
var PageLinks_default = { "title": "PageLinks_title__YjEwN", "links": "PageLinks_links__OWRlM", "link": "PageLinks_link__NDJjM", "indent-1": "PageLinks_indent-1__MDU1M", "indent-2": "PageLinks_indent-2__MDBmY", "indent-3": "PageLinks_indent-3__ZmY2O", "indent-4": "PageLinks_indent-4__MDA4N", "indent-5": "PageLinks_indent-5__MDBlM", "indent-6": "PageLinks_indent-6__NjIwM", "selected": "PageLinks_selected__NjEyY" };
|
|
113
113
|
|
|
114
114
|
// src/components/PageLinks.tsx
|
|
115
115
|
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
@@ -138,7 +138,9 @@ function PageLinks({ items, offset = 0 }) {
|
|
|
138
138
|
"a",
|
|
139
139
|
{
|
|
140
140
|
href: `#${id}`,
|
|
141
|
-
className: classNames(PageLinks_default[`indent-${size}`], {
|
|
141
|
+
className: classNames(PageLinks_default.link, PageLinks_default[`indent-${size}`], {
|
|
142
|
+
[PageLinks_default.selected]: hash === id
|
|
143
|
+
}),
|
|
142
144
|
children: name
|
|
143
145
|
},
|
|
144
146
|
id
|
|
@@ -196,7 +198,7 @@ function TopNav({ tabs }) {
|
|
|
196
198
|
import { Heading, Box as Box2, Text as Text2 } from "@umami/react-zen";
|
|
197
199
|
|
|
198
200
|
// css-modules:/Users/mikecao/Development/umami-software/shiso/src/components/ContentArea.module.css
|
|
199
|
-
var ContentArea_default = { "content": "
|
|
201
|
+
var ContentArea_default = { "content": "ContentArea_content__OTBiZ" };
|
|
200
202
|
|
|
201
203
|
// src/components/ContentArea.tsx
|
|
202
204
|
import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@umami/shiso",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "A content layer for Next.js",
|
|
5
5
|
"homepage": "https://umami.is/shiso",
|
|
6
6
|
"repository": {
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"@mdx-js/loader": "^3.0.0",
|
|
47
47
|
"@mdx-js/mdx": "^3.1.0",
|
|
48
48
|
"@mdx-js/react": "^3.0.0",
|
|
49
|
-
"@umami/react-zen": "^0.
|
|
49
|
+
"@umami/react-zen": "^0.31.0",
|
|
50
50
|
"classnames": "^2.5.1",
|
|
51
51
|
"glob": "^10.3.10",
|
|
52
52
|
"gray-matter": "^4.0.3",
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import styles from './Blog.module.css';
|
|
3
|
-
import { Markdown } from './Markdown';
|
|
4
|
-
export function Blog(_a) {
|
|
5
|
-
var _b, _c;
|
|
6
|
-
var content = _a.content;
|
|
7
|
-
return (<div className={styles.blog}>
|
|
8
|
-
<div className={styles.main}>
|
|
9
|
-
<div className={styles.content}>
|
|
10
|
-
<h1>{(_b = content === null || content === void 0 ? void 0 : content.meta) === null || _b === void 0 ? void 0 : _b.title}</h1>
|
|
11
|
-
<p className={styles.description}>{(_c = content === null || content === void 0 ? void 0 : content.meta) === null || _c === void 0 ? void 0 : _c.description}</p>
|
|
12
|
-
<Markdown content={content}/>
|
|
13
|
-
</div>
|
|
14
|
-
</div>
|
|
15
|
-
</div>);
|
|
16
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function CodeBlock(props: any): import("react").JSX.Element;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { useState, useRef } from 'react';
|
|
2
|
-
import { Icon, Icons } from '@umami/react-zen';
|
|
3
|
-
import styles from './CodeBlock.module.css';
|
|
4
|
-
export function CodeBlock(props) {
|
|
5
|
-
var textInput = useRef(null);
|
|
6
|
-
var _a = useState(false), copied = _a[0], setCopied = _a[1];
|
|
7
|
-
var handleCopy = function () {
|
|
8
|
-
var _a, _b;
|
|
9
|
-
setCopied(true);
|
|
10
|
-
(_a = navigator === null || navigator === void 0 ? void 0 : navigator.clipboard) === null || _a === void 0 ? void 0 : _a.writeText((_b = textInput === null || textInput === void 0 ? void 0 : textInput.current) === null || _b === void 0 ? void 0 : _b.textContent);
|
|
11
|
-
setTimeout(function () {
|
|
12
|
-
setCopied(false);
|
|
13
|
-
}, 1000);
|
|
14
|
-
};
|
|
15
|
-
return (<pre ref={textInput} className={styles.container}>
|
|
16
|
-
{props.children}
|
|
17
|
-
<button aria-label="Copy code" className={styles.button} onClick={handleCopy}>
|
|
18
|
-
<Icon size="sm" className={copied ? styles.check : styles.copy}>
|
|
19
|
-
{copied ? <Icons.Check /> : <Icons.Copy />}
|
|
20
|
-
</Icon>
|
|
21
|
-
</button>
|
|
22
|
-
</pre>);
|
|
23
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Heading, Box, Text } from '@umami/react-zen';
|
|
2
|
-
import { Markdown } from './Markdown';
|
|
3
|
-
import styles from './ContentArea.module.css';
|
|
4
|
-
export function ContentArea(_a) {
|
|
5
|
-
var _b, _c;
|
|
6
|
-
var content = _a.content;
|
|
7
|
-
return (<Box flexGrow={1}>
|
|
8
|
-
<Text color="primary" weight="bold">
|
|
9
|
-
{content.group}
|
|
10
|
-
</Text>
|
|
11
|
-
<Heading size="8" as="h1">
|
|
12
|
-
{(_b = content === null || content === void 0 ? void 0 : content.meta) === null || _b === void 0 ? void 0 : _b.title}
|
|
13
|
-
</Heading>
|
|
14
|
-
<Text color="muted">{(_c = content === null || content === void 0 ? void 0 : content.meta) === null || _c === void 0 ? void 0 : _c.description}</Text>
|
|
15
|
-
<Box className={styles.content}>
|
|
16
|
-
<Markdown content={content}/>
|
|
17
|
-
</Box>
|
|
18
|
-
</Box>);
|
|
19
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function Docs(): import("react").JSX.Element;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { Grid, Box, Heading } from '@umami/react-zen';
|
|
3
|
-
import { useShiso } from './hooks/useShiso';
|
|
4
|
-
import { PageLinks } from './PageLinks';
|
|
5
|
-
import { SideNav } from './SideNav';
|
|
6
|
-
import { TopNav } from './TopNav';
|
|
7
|
-
import { ContentArea } from './ContentArea';
|
|
8
|
-
export function Docs() {
|
|
9
|
-
var _a = useShiso(), content = _a.content, config = _a.config;
|
|
10
|
-
if (!content) {
|
|
11
|
-
return <Heading size="6">Page not found</Heading>;
|
|
12
|
-
}
|
|
13
|
-
var _b = (config === null || config === void 0 ? void 0 : config.docs) || {}, tabs = _b.tabs, navigation = _b.navigation;
|
|
14
|
-
content.group = Object.keys(navigation).reduce(function (name, key) {
|
|
15
|
-
var _a, _b;
|
|
16
|
-
if (!name) {
|
|
17
|
-
return (_b = (_a = navigation[key]) === null || _a === void 0 ? void 0 : _a.find(function (section) {
|
|
18
|
-
return section.pages.find(function (page) {
|
|
19
|
-
return page.url === "/docs/".concat(content.id) || (page.url === "/docs" && content.id === 'index');
|
|
20
|
-
});
|
|
21
|
-
})) === null || _b === void 0 ? void 0 : _b.group;
|
|
22
|
-
}
|
|
23
|
-
return name;
|
|
24
|
-
}, null);
|
|
25
|
-
return (<Box flexGrow="1">
|
|
26
|
-
{tabs && <TopNav tabs={tabs}/>}
|
|
27
|
-
<Grid gap="6" columns="240px 1fr 240px">
|
|
28
|
-
<SideNav tabs={tabs} navigation={navigation}/>
|
|
29
|
-
<ContentArea content={content}/>
|
|
30
|
-
<PageLinks items={content === null || content === void 0 ? void 0 : content.anchors} offset={150}/>
|
|
31
|
-
</Grid>
|
|
32
|
-
</Box>);
|
|
33
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
|
-
import { runSync } from '@mdx-js/mdx';
|
|
13
|
-
import { useMDXComponents } from '@mdx-js/react';
|
|
14
|
-
import * as runtime from 'react/jsx-runtime';
|
|
15
|
-
var parseMdx = function (code) {
|
|
16
|
-
try {
|
|
17
|
-
var result = runSync(code, __assign(__assign({}, runtime), { baseUrl: import.meta.url }));
|
|
18
|
-
return { Component: result.default };
|
|
19
|
-
}
|
|
20
|
-
catch (err) {
|
|
21
|
-
return { error: err.message };
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
export function Markdown(_a) {
|
|
25
|
-
var content = _a.content;
|
|
26
|
-
var components = useMDXComponents();
|
|
27
|
-
var _b = parseMdx(content.code), Component = _b.Component, error = _b.error;
|
|
28
|
-
if (error) {
|
|
29
|
-
return <h1>Error rendering MDX: {error}</h1>;
|
|
30
|
-
}
|
|
31
|
-
if (!Component) {
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
|
-
return <Component components={components}/>;
|
|
35
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
-
if (ar || !(i in from)) {
|
|
4
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
-
ar[i] = from[i];
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
-
};
|
|
10
|
-
import { useEffect, useState } from 'react';
|
|
11
|
-
import { Column, Text } from '@umami/react-zen';
|
|
12
|
-
import classNames from 'classnames';
|
|
13
|
-
import styles from './PageLinks.module.css';
|
|
14
|
-
export function PageLinks(_a) {
|
|
15
|
-
var _b;
|
|
16
|
-
var items = _a.items, _c = _a.offset, offset = _c === void 0 ? 0 : _c;
|
|
17
|
-
var _d = useState((_b = items === null || items === void 0 ? void 0 : items[0]) === null || _b === void 0 ? void 0 : _b.id), hash = _d[0], setHash = _d[1];
|
|
18
|
-
useEffect(function () {
|
|
19
|
-
var callback = function () {
|
|
20
|
-
var x = __spreadArray([], items, true).reverse().find(function (_a) {
|
|
21
|
-
var _b;
|
|
22
|
-
var id = _a.id;
|
|
23
|
-
var rect = (_b = document.getElementById(id)) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect();
|
|
24
|
-
return rect && rect.top <= offset;
|
|
25
|
-
});
|
|
26
|
-
if (x)
|
|
27
|
-
setHash(x.id);
|
|
28
|
-
};
|
|
29
|
-
window.addEventListener('scroll', callback, false);
|
|
30
|
-
return function () {
|
|
31
|
-
window.removeEventListener('scroll', callback, false);
|
|
32
|
-
};
|
|
33
|
-
}, []);
|
|
34
|
-
if (!(items === null || items === void 0 ? void 0 : items.length)) {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
return (<Column gap="3" minWidth="240px" className={styles.links}>
|
|
38
|
-
<Text size="2" weight="bold">
|
|
39
|
-
On this page
|
|
40
|
-
</Text>
|
|
41
|
-
{items.map(function (_a) {
|
|
42
|
-
var _b;
|
|
43
|
-
var name = _a.name, id = _a.id, size = _a.size;
|
|
44
|
-
return (<a key={id} href={"#".concat(id)} className={classNames(styles["indent-".concat(size)], (_b = {}, _b[styles.selected] = hash === id, _b))}>
|
|
45
|
-
{name}
|
|
46
|
-
</a>);
|
|
47
|
-
})}
|
|
48
|
-
</Column>);
|
|
49
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { JSX } from 'react';
|
|
2
|
-
import type { ShisoConfig } from '@/lib/types';
|
|
3
|
-
export interface ShisoProps {
|
|
4
|
-
content: any;
|
|
5
|
-
type: string;
|
|
6
|
-
config: ShisoConfig;
|
|
7
|
-
components?: {
|
|
8
|
-
[key: string]: any;
|
|
9
|
-
};
|
|
10
|
-
templates?: {
|
|
11
|
-
[key: string]: any;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export type ShisoTemplateComponent = ({ content, config, }: {
|
|
15
|
-
content: any;
|
|
16
|
-
config: ShisoConfig;
|
|
17
|
-
}) => JSX.Element;
|
|
18
|
-
export declare const ShisoContext: import("react").Context<any>;
|
|
19
|
-
export declare function Shiso({ content, type, config, components, templates }: ShisoProps): JSX.Element;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
import { createContext } from 'react';
|
|
14
|
-
import { MDXProvider } from '@mdx-js/react';
|
|
15
|
-
import { CodeBlock } from '@/components/CodeBlock';
|
|
16
|
-
import { Docs } from '@/components/Docs';
|
|
17
|
-
import { Blog } from '@/components/Blog';
|
|
18
|
-
var defaultTemplates = {
|
|
19
|
-
docs: Docs,
|
|
20
|
-
blog: Blog,
|
|
21
|
-
};
|
|
22
|
-
export var ShisoContext = createContext(null);
|
|
23
|
-
export function Shiso(_a) {
|
|
24
|
-
var content = _a.content, type = _a.type, config = _a.config, components = _a.components, templates = _a.templates;
|
|
25
|
-
var Component = __assign(__assign({}, defaultTemplates), templates)[type];
|
|
26
|
-
if (!Component) {
|
|
27
|
-
return <h1>{"Component not found for type: ".concat(type)}</h1>;
|
|
28
|
-
}
|
|
29
|
-
return (<ShisoContext.Provider value={{ content: content, type: type, config: config }}>
|
|
30
|
-
<MDXProvider components={__assign(__assign({}, components), { pre: CodeBlock })}>
|
|
31
|
-
<Component content={content} config={config}/>
|
|
32
|
-
</MDXProvider>
|
|
33
|
-
</ShisoContext.Provider>);
|
|
34
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Box, List, ListItem, ListSection } from '@umami/react-zen';
|
|
3
|
-
import classNames from 'classnames';
|
|
4
|
-
import { usePathname } from 'next/navigation';
|
|
5
|
-
import Link from 'next/link';
|
|
6
|
-
import styles from './SideNav.module.css';
|
|
7
|
-
export function SideNav(_a) {
|
|
8
|
-
var tabs = _a.tabs, navigation = _a.navigation;
|
|
9
|
-
var pathname = usePathname();
|
|
10
|
-
var tab = tabs === null || tabs === void 0 ? void 0 : tabs.find(function (_a) {
|
|
11
|
-
var url = _a.url, id = _a.id;
|
|
12
|
-
return (id !== 'docs' ? pathname.startsWith(url) : false);
|
|
13
|
-
});
|
|
14
|
-
var menu = navigation[(tab === null || tab === void 0 ? void 0 : tab.id) || 'docs'];
|
|
15
|
-
return (<Box className={styles.nav}>
|
|
16
|
-
<List items={navigation} aria-label="nav">
|
|
17
|
-
{menu.map(function (_a) {
|
|
18
|
-
var group = _a.group, pages = _a.pages;
|
|
19
|
-
return (<ListSection title={group} key={group} className={styles.items}>
|
|
20
|
-
{pages.map(function (_a, index) {
|
|
21
|
-
var _b;
|
|
22
|
-
var text = _a.label, url = _a.url;
|
|
23
|
-
return (<ListItem key={index} className={classNames(styles.item, (_b = {},
|
|
24
|
-
_b[styles.selected] = url === pathname,
|
|
25
|
-
_b))}>
|
|
26
|
-
<Link href={url} prefetch={false}>
|
|
27
|
-
{text}
|
|
28
|
-
</Link>
|
|
29
|
-
</ListItem>);
|
|
30
|
-
})}
|
|
31
|
-
</ListSection>);
|
|
32
|
-
})}
|
|
33
|
-
</List>
|
|
34
|
-
</Box>);
|
|
35
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import Link from 'next/link';
|
|
2
|
-
import { usePathname } from 'next/navigation';
|
|
3
|
-
import { Tabs, TabList, Tab } from '@umami/react-zen';
|
|
4
|
-
export function TopNav(_a) {
|
|
5
|
-
var tabs = _a.tabs;
|
|
6
|
-
var pathname = usePathname();
|
|
7
|
-
var tab = tabs === null || tabs === void 0 ? void 0 : tabs.find(function (_a) {
|
|
8
|
-
var id = _a.id, url = _a.url;
|
|
9
|
-
return (id !== 'docs' ? pathname.startsWith(url) : false);
|
|
10
|
-
});
|
|
11
|
-
var selected = (tab === null || tab === void 0 ? void 0 : tab.id) || 'docs';
|
|
12
|
-
return (<Tabs selectedKey={selected}>
|
|
13
|
-
<TabList items={tabs}>
|
|
14
|
-
{function (_a) {
|
|
15
|
-
var id = _a.id, label = _a.label, url = _a.url;
|
|
16
|
-
return (<Tab id={id}>
|
|
17
|
-
<Link href={url}>{label}</Link>
|
|
18
|
-
</Tab>);
|
|
19
|
-
}}
|
|
20
|
-
</TabList>
|
|
21
|
-
</Tabs>);
|
|
22
|
-
}
|
package/server/index.d.ts
DELETED
package/server/index.js
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
12
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
38
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
39
|
-
if (ar || !(i in from)) {
|
|
40
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
41
|
-
ar[i] = from[i];
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
45
|
-
};
|
|
46
|
-
import { cache } from 'react';
|
|
47
|
-
import { compile } from '@mdx-js/mdx';
|
|
48
|
-
import remarkGfm from 'remark-gfm';
|
|
49
|
-
import rehypeHighlight from 'rehype-highlight';
|
|
50
|
-
import matter from 'gray-matter';
|
|
51
|
-
import fs from 'node:fs/promises';
|
|
52
|
-
import path from 'node:path';
|
|
53
|
-
import recursive from 'recursive-readdir';
|
|
54
|
-
function getId(name, folder) {
|
|
55
|
-
return name.replace('.mdx', '').replace(folder, '').replace(/\\/g, '/').replace(/^\//, '');
|
|
56
|
-
}
|
|
57
|
-
export var getContent = cache(function () {
|
|
58
|
-
var args_1 = [];
|
|
59
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
60
|
-
args_1[_i] = arguments[_i];
|
|
61
|
-
}
|
|
62
|
-
return __awaiter(void 0, __spreadArray([], args_1, true), void 0, function (name, folder) {
|
|
63
|
-
var file, postContent, _a, frontmatter, mdxContent, id, anchors, modifiedContent, code, _b;
|
|
64
|
-
if (name === void 0) { name = 'index'; }
|
|
65
|
-
return __generator(this, function (_c) {
|
|
66
|
-
switch (_c.label) {
|
|
67
|
-
case 0:
|
|
68
|
-
file = path.join(folder, "".concat(name, ".mdx"));
|
|
69
|
-
return [4 /*yield*/, fs.readFile(file, 'utf8')];
|
|
70
|
-
case 1:
|
|
71
|
-
postContent = _c.sent();
|
|
72
|
-
_a = matter(postContent), frontmatter = _a.data, mdxContent = _a.content;
|
|
73
|
-
id = getId(name, folder);
|
|
74
|
-
anchors = [];
|
|
75
|
-
modifiedContent = mdxContent
|
|
76
|
-
.split('\n')
|
|
77
|
-
.map(function (line) {
|
|
78
|
-
var match = line.match(/^(#+)\s+(.*)/);
|
|
79
|
-
if (match) {
|
|
80
|
-
var num = match[1], name_1 = match[2];
|
|
81
|
-
var id_1 = name_1.toLowerCase().replace(/\s+/g, '-');
|
|
82
|
-
var size = num.length;
|
|
83
|
-
anchors.push({ name: name_1, id: id_1, size: size });
|
|
84
|
-
return "<h".concat(size, " id=\"").concat(id_1, "\">").concat(name_1.replace(/\{|\}/g, ''), "</h").concat(size, ">");
|
|
85
|
-
}
|
|
86
|
-
return line;
|
|
87
|
-
})
|
|
88
|
-
.join('\n');
|
|
89
|
-
_b = String;
|
|
90
|
-
return [4 /*yield*/, compile(modifiedContent, {
|
|
91
|
-
outputFormat: 'function-body',
|
|
92
|
-
remarkPlugins: [remarkGfm],
|
|
93
|
-
rehypePlugins: [rehypeHighlight],
|
|
94
|
-
})];
|
|
95
|
-
case 2:
|
|
96
|
-
code = _b.apply(void 0, [_c.sent()]);
|
|
97
|
-
return [2 /*return*/, {
|
|
98
|
-
id: id,
|
|
99
|
-
meta: frontmatter,
|
|
100
|
-
content: postContent,
|
|
101
|
-
code: code,
|
|
102
|
-
anchors: anchors,
|
|
103
|
-
}];
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
export var getContentIds = cache(function (folder) { return __awaiter(void 0, void 0, void 0, function () {
|
|
109
|
-
var dir, files;
|
|
110
|
-
return __generator(this, function (_a) {
|
|
111
|
-
switch (_a.label) {
|
|
112
|
-
case 0:
|
|
113
|
-
dir = path.resolve(folder);
|
|
114
|
-
return [4 /*yield*/, recursive(dir)];
|
|
115
|
-
case 1:
|
|
116
|
-
files = _a.sent();
|
|
117
|
-
return [2 /*return*/, files.map(function (file) {
|
|
118
|
-
return getId(file, dir);
|
|
119
|
-
})];
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
}); });
|