@chtc/web-components 1.0.23 → 2.0.1
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/Article/Article.d.ts.map +1 -1
- package/Article/Article.js +2 -4
- package/Article/Article.js.map +1 -1
- package/ColorBar/ColorBar.js +1 -1
- package/ColorBar/ColorBar.js.map +1 -1
- package/Presentation/Presentation.d.ts.map +1 -1
- package/Presentation/Presentation.js +5 -25
- package/Presentation/Presentation.js.map +1 -1
- package/PresentationCard/PresentationCard.d.ts.map +1 -1
- package/PresentationCard/PresentationCard.js +5 -24
- package/PresentationCard/PresentationCard.js.map +1 -1
- package/charts/index.d.ts +5 -0
- package/charts/index.d.ts.map +1 -0
- package/charts/index.js +5 -0
- package/charts/index.js.map +1 -0
- package/content/index.d.ts +12 -0
- package/content/index.d.ts.map +1 -0
- package/content/index.js +12 -0
- package/content/index.js.map +1 -0
- package/markdownComponents/MarkdownContent.d.ts +14 -0
- package/markdownComponents/MarkdownContent.d.ts.map +1 -0
- package/markdownComponents/MarkdownContent.js +12 -0
- package/markdownComponents/MarkdownContent.js.map +1 -0
- package/package.json +55 -13
- package/themes/chtc/theme.d.ts.map +1 -1
- package/themes/chtc/theme.js +5 -42
- package/themes/chtc/theme.js.map +1 -1
- package/themes/createBaseTheme.d.ts +20 -0
- package/themes/createBaseTheme.d.ts.map +1 -0
- package/themes/createBaseTheme.js +40 -0
- package/themes/createBaseTheme.js.map +1 -0
- package/themes/osg/theme.d.ts.map +1 -1
- package/themes/osg/theme.js +3 -36
- package/themes/osg/theme.js.map +1 -1
- package/themes/pelican/theme.d.ts.map +1 -1
- package/themes/pelican/theme.js +4 -42
- package/themes/pelican/theme.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/types.d.ts +3 -3
- package/types.d.ts.map +1 -1
- package/types.js.map +1 -1
- package/utils/formatDate.d.ts +6 -0
- package/utils/formatDate.d.ts.map +1 -0
- package/utils/formatDate.js +13 -0
- package/utils/formatDate.js.map +1 -0
- package/utils/getArticle.d.ts.map +1 -1
- package/utils/getArticle.js +10 -10
- package/utils/getArticle.js.map +1 -1
- package/utils/getArticles.d.ts.map +1 -1
- package/utils/getArticles.js +7 -1
- package/utils/getArticles.js.map +1 -1
- package/utils/tagColor.d.ts +6 -0
- package/utils/tagColor.d.ts.map +1 -0
- package/utils/tagColor.js +20 -0
- package/utils/tagColor.js.map +1 -0
package/Article/Article.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Article.d.ts","sourceRoot":"","sources":["../../src/Article/Article.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Article.d.ts","sourceRoot":"","sources":["../../src/Article/Article.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,cAAc,EAAC,MAAM,UAAU,CAAA;AAGvC,QAAA,MAAM,OAAO,GAAI,aAAW;IAAC,OAAO,EAAE,cAAc,CAAA;CAAC,4CAoBpD,CAAA;AAED,eAAe,OAAO,CAAC"}
|
package/Article/Article.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Typography, Box, Container } from '@mui/material';
|
|
3
3
|
import Balancer from "react-wrap-balancer";
|
|
4
|
-
import
|
|
5
|
-
import rehypeRaw from "rehype-raw";
|
|
6
|
-
import markdownComponents from "../markdownComponents";
|
|
4
|
+
import MarkdownContent from "../markdownComponents/MarkdownContent";
|
|
7
5
|
const Article = ({ article }) => {
|
|
8
|
-
return (_jsx(Container, { maxWidth: "md", children: _jsxs(Box, { pt: 6, children: [_jsxs(Box, { textAlign: "center", pb: 2, children: [_jsx(Box, { pb: 6, children: _jsx(Typography, { variant: "h3", children: _jsx(Balancer, { children: article.title }) }) }), _jsx(Box, { height: "1rem", borderRadius: "10px", bgcolor: "primary.main" }), _jsxs(Box, { pt: 1, display: "flex", justifyContent: "space-between", children: [_jsx(Typography, { variant: "h5", children: article.author }), _jsx(Typography, { variant: "h5", children: article.date.toLocaleDateString() })] })] }), _jsx(
|
|
6
|
+
return (_jsx(Container, { maxWidth: "md", children: _jsxs(Box, { pt: 6, children: [_jsxs(Box, { textAlign: "center", pb: 2, children: [_jsx(Box, { pb: 6, children: _jsx(Typography, { variant: "h3", children: _jsx(Balancer, { children: article.title }) }) }), _jsx(Box, { height: "1rem", borderRadius: "10px", bgcolor: "primary.main" }), _jsxs(Box, { pt: 1, display: "flex", justifyContent: "space-between", children: [_jsx(Typography, { variant: "h5", children: article.author }), _jsx(Typography, { variant: "h5", children: article.date.toLocaleDateString() })] })] }), _jsx(MarkdownContent, { children: article.content })] }) }));
|
|
9
7
|
};
|
|
10
8
|
export default Article;
|
|
11
9
|
//# sourceMappingURL=Article.js.map
|
package/Article/Article.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Article.js","sourceRoot":"","sources":["../../src/Article/Article.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AACzD,OAAO,QAAQ,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"Article.js","sourceRoot":"","sources":["../../src/Article/Article.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AACzD,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAG3C,OAAO,eAAe,MAAM,uCAAuC,CAAC;AAEpE,MAAM,OAAO,GAAG,CAAC,EAAC,OAAO,EAA4B,EAAE,EAAE;IACxD,OAAO,CACL,KAAC,SAAS,IAAC,QAAQ,EAAE,IAAI,YACxB,MAAC,GAAG,IAAC,EAAE,EAAE,CAAC,aACT,MAAC,GAAG,IAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,aAC9B,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,YACT,KAAC,UAAU,IAAC,OAAO,EAAE,IAAI,YAAG,KAAC,QAAQ,cAAE,OAAO,CAAC,KAAK,GAAY,GAAa,GACxE,EACN,KAAC,GAAG,IAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAQ,EAC1E,MAAC,GAAG,IAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,aAC3D,KAAC,UAAU,IAAC,OAAO,EAAE,IAAI,YAAG,OAAO,CAAC,MAAM,GAAc,EACxD,KAAC,UAAU,IAAC,OAAO,EAAE,IAAI,YAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAc,IACtE,IACD,EACN,KAAC,eAAe,cACd,OAAO,CAAC,OAAO,GACC,IACb,GACK,CACb,CAAA;AACF,CAAC,CAAA;AAED,eAAe,OAAO,CAAC"}
|
package/ColorBar/ColorBar.js
CHANGED
|
@@ -20,7 +20,7 @@ const ColorBar = ({ data, red = r[500], green = grn[500], grey = gry[300], ...sv
|
|
|
20
20
|
setContainerWidth(containerRef.current.clientWidth);
|
|
21
21
|
setContainerHeight(containerRef.current.clientHeight);
|
|
22
22
|
}
|
|
23
|
-
}, [
|
|
23
|
+
}, []);
|
|
24
24
|
useEffect(() => {
|
|
25
25
|
updateContainerSize();
|
|
26
26
|
window.addEventListener('resize', updateContainerSize);
|
package/ColorBar/ColorBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorBar.js","sourceRoot":"","sources":["../../src/ColorBar/ColorBar.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAC,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAC,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI,GAAG,EAAC,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAgBtC;;;;;;;;GAQG;AACH,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,GAAC,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,GAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,GAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,QAAQ,EAAiB,EAAE,EAAE;IAEpG,MAAM,YAAY,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACpD,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvD,CAAC;IACF,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"ColorBar.js","sourceRoot":"","sources":["../../src/ColorBar/ColorBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Presentation.d.ts","sourceRoot":"","sources":["../../src/Presentation/Presentation.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Presentation.d.ts","sourceRoot":"","sources":["../../src/Presentation/Presentation.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI5D,QAAA,MAAM,YAAY,GAAI,6EASnB,gBAAgB,4CAkFlB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,37 +1,17 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Chip, Container, Link, Stack, Typography } from "@mui/material";
|
|
3
|
-
import Markdown from "react-markdown";
|
|
4
3
|
import Balancer from "react-wrap-balancer";
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
// Simple hash function to generate a number from the tag string
|
|
9
|
-
let hash = 0;
|
|
10
|
-
for (let i = 0; i < value.length; i++) {
|
|
11
|
-
hash = value.charCodeAt(i) + ((hash << 5) - hash);
|
|
12
|
-
}
|
|
13
|
-
return hash;
|
|
14
|
-
}
|
|
15
|
-
function getTagColor(tag) {
|
|
16
|
-
let hue = getStringHash(tag) % 360;
|
|
17
|
-
if (hue >= 60 && hue <= 140) {
|
|
18
|
-
hue = (hue + 80) % 360; // avoid ugly colors
|
|
19
|
-
}
|
|
20
|
-
return `hsl(${hue}, 70%, 40%)`;
|
|
21
|
-
}
|
|
4
|
+
import MarkdownContent from "../markdownComponents/MarkdownContent";
|
|
5
|
+
import { getTagColor } from "../utils/tagColor";
|
|
6
|
+
import { formatLongDate } from "../utils/formatDate";
|
|
22
7
|
const Presentation = ({ title, presenter, event, date, description, youtubeId, keywords = [], links = [], }) => {
|
|
23
|
-
const formattedDate =
|
|
24
|
-
year: "numeric",
|
|
25
|
-
month: "long",
|
|
26
|
-
day: "numeric",
|
|
27
|
-
timeZone: "UTC",
|
|
28
|
-
});
|
|
8
|
+
const formattedDate = formatLongDate(date);
|
|
29
9
|
return (_jsx(Container, { maxWidth: "md", children: _jsxs(Box, { pt: 6, children: [_jsxs(Box, { textAlign: "center", pb: 2, children: [_jsx(Box, { pb: 6, children: _jsx(Typography, { variant: "h3", children: _jsx(Balancer, { children: title }) }) }), _jsx(Box, { height: "1rem", borderRadius: "10px", bgcolor: "primary.main" }), _jsxs(Box, { pt: 1, display: "flex", justifyContent: "space-between", children: [_jsxs(Typography, { variant: "h5", children: [presenter, " ", event && `at ${event}`] }), _jsx(Typography, { variant: "h5", children: formattedDate })] })] }), youtubeId && (_jsx(Box, { display: "flex", justifyContent: "center", pb: 2, children: _jsx("iframe", { src: `https://www.youtube.com/embed/${youtubeId}`, style: {
|
|
30
10
|
width: "100%",
|
|
31
11
|
height: "auto",
|
|
32
12
|
maxWidth: "640px",
|
|
33
13
|
aspectRatio: "16/9",
|
|
34
|
-
}, allowFullScreen: true }) })), description && (_jsx(
|
|
14
|
+
}, allowFullScreen: true }) })), description && (_jsx(MarkdownContent, { children: description })), _jsx(Stack, { direction: "row", spacing: 1, sx: { mb: 1, flexWrap: "wrap" }, children: keywords.map((keyword) => (_jsx(Chip, { label: keyword, size: "small", sx: {
|
|
35
15
|
backgroundColor: getTagColor(keyword),
|
|
36
16
|
color: "#fff",
|
|
37
17
|
borderRadius: "0.5rem",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Presentation.js","sourceRoot":"","sources":["../../src/Presentation/Presentation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"Presentation.js","sourceRoot":"","sources":["../../src/Presentation/Presentation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresentationCard.d.ts","sourceRoot":"","sources":["../../src/PresentationCard/PresentationCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,OAAO,EAER,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"PresentationCard.d.ts","sourceRoot":"","sources":["../../src/PresentationCard/PresentationCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,OAAO,EAER,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxC,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,YAAY,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,QAAA,MAAM,gBAAgB,GAAI,wIAcvB,qBAAqB,4CAyGvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,34 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Card, CardContent, CardMedia, Chip, Link, Stack, Typography, } from "@mui/material";
|
|
3
3
|
import { useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
4
|
-
import
|
|
5
|
-
import rehypeRaw from "rehype-raw";
|
|
4
|
+
import MarkdownContent from "../markdownComponents/MarkdownContent";
|
|
6
5
|
import smallHeaderComponents from "../smallHeaderComponents/smallHeaderComponents";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
let hash = 0;
|
|
10
|
-
for (let i = 0; i < value.length; i++) {
|
|
11
|
-
hash = value.charCodeAt(i) + ((hash << 5) - hash);
|
|
12
|
-
}
|
|
13
|
-
return hash;
|
|
14
|
-
}
|
|
15
|
-
function getTagColor(tag) {
|
|
16
|
-
let hue = getStringHash(tag) % 360;
|
|
17
|
-
if (hue >= 60 && hue <= 140) {
|
|
18
|
-
hue = (hue + 80) % 360; // avoid ugly colors
|
|
19
|
-
}
|
|
20
|
-
return `hsl(${hue}, 70%, 40%)`;
|
|
21
|
-
}
|
|
6
|
+
import { getTagColor } from "../utils/tagColor";
|
|
7
|
+
import { formatLongDate } from "../utils/formatDate";
|
|
22
8
|
const PresentationCard = ({ presentation: { title, presenter, event, date, description, keywords = [], thumbnail, youtubeId, }, maxDescriptionHeight, href, cardSx, }) => {
|
|
23
9
|
var _a, _b;
|
|
24
10
|
const [showGradient, setShowGradient] = useState(maxDescriptionHeight ? true : false);
|
|
25
11
|
const descRef = useRef(null);
|
|
26
|
-
const formattedDate =
|
|
27
|
-
year: "numeric",
|
|
28
|
-
month: "long",
|
|
29
|
-
day: "numeric",
|
|
30
|
-
timeZone: "UTC",
|
|
31
|
-
});
|
|
12
|
+
const formattedDate = formatLongDate(date);
|
|
32
13
|
function updateGradientVisibility() {
|
|
33
14
|
if (descRef.current && maxDescriptionHeight) {
|
|
34
15
|
const { scrollHeight, clientHeight } = descRef.current;
|
|
@@ -59,7 +40,7 @@ const PresentationCard = ({ presentation: { title, presenter, event, date, descr
|
|
|
59
40
|
userSelect: showGradient ? "none" : "auto",
|
|
60
41
|
cursor: showGradient ? "pointer" : "default",
|
|
61
42
|
}
|
|
62
|
-
: { position: "relative" }, onClick: () => setShowGradient(false), children: [_jsx(
|
|
43
|
+
: { position: "relative" }, onClick: () => setShowGradient(false), children: [_jsx(MarkdownContent, { components: smallHeaderComponents, children: description }), showGradient && (_jsx("div", { className: "gradient-overlay", style: {
|
|
63
44
|
position: "absolute",
|
|
64
45
|
left: 0,
|
|
65
46
|
right: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresentationCard.js","sourceRoot":"","sources":["../../src/PresentationCard/PresentationCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,IAAI,EACJ,WAAW,EACX,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EAEL,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,
|
|
1
|
+
{"version":3,"file":"PresentationCard.js","sourceRoot":"","sources":["../../src/PresentationCard/PresentationCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/charts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AACzE,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACrE,cAAc,aAAa,CAAC"}
|
package/charts/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/charts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAuB,MAAM,cAAc,CAAC;AACzE,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAqB,MAAM,aAAa,CAAC;AACrE,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { default as Article } from "../Article";
|
|
2
|
+
export * from "../Article";
|
|
3
|
+
export { default as ArticleCard } from "../ArticleCard";
|
|
4
|
+
export * from "../ArticleCard";
|
|
5
|
+
export { default as HorizontalArticleCard } from "../HorizontalArticleCard";
|
|
6
|
+
export * from "../HorizontalArticleCard";
|
|
7
|
+
export { default as Presentation } from "../Presentation";
|
|
8
|
+
export * from "../Presentation";
|
|
9
|
+
export { default as PresentationCard } from "../PresentationCard";
|
|
10
|
+
export * from "../PresentationCard";
|
|
11
|
+
export * from "../utils";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/content/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AAChD,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,cAAc,0BAA0B,CAAC;AAEzC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAClE,cAAc,qBAAqB,CAAC;AAEpC,cAAc,UAAU,CAAC"}
|
package/content/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { default as Article } from "../Article";
|
|
2
|
+
export * from "../Article";
|
|
3
|
+
export { default as ArticleCard } from "../ArticleCard";
|
|
4
|
+
export * from "../ArticleCard";
|
|
5
|
+
export { default as HorizontalArticleCard } from "../HorizontalArticleCard";
|
|
6
|
+
export * from "../HorizontalArticleCard";
|
|
7
|
+
export { default as Presentation } from "../Presentation";
|
|
8
|
+
export * from "../Presentation";
|
|
9
|
+
export { default as PresentationCard } from "../PresentationCard";
|
|
10
|
+
export * from "../PresentationCard";
|
|
11
|
+
export * from "../utils";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/content/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AAChD,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,cAAc,0BAA0B,CAAC;AAEzC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAClE,cAAc,qBAAqB,CAAC;AAEpC,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Components } from "react-markdown";
|
|
2
|
+
interface MarkdownContentProps {
|
|
3
|
+
children?: string | null;
|
|
4
|
+
/** Override the component map; defaults to the shared markdownComponents. */
|
|
5
|
+
components?: Components;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Renders markdown with raw-HTML support and the library's component overrides.
|
|
9
|
+
* Centralizes the `rehypeRaw` + components wiring shared across Article,
|
|
10
|
+
* Presentation and PresentationCard.
|
|
11
|
+
*/
|
|
12
|
+
declare const MarkdownContent: ({ children, components, }: MarkdownContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export default MarkdownContent;
|
|
14
|
+
//# sourceMappingURL=MarkdownContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownContent.d.ts","sourceRoot":"","sources":["../../src/markdownComponents/MarkdownContent.tsx"],"names":[],"mappings":"AAAA,OAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI3D,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;;;GAIG;AACH,QAAA,MAAM,eAAe,GAAI,2BAGtB,oBAAoB,4CAItB,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import Markdown from "react-markdown";
|
|
3
|
+
import rehypeRaw from "rehype-raw";
|
|
4
|
+
import markdownComponents from "./markdownComponents";
|
|
5
|
+
/**
|
|
6
|
+
* Renders markdown with raw-HTML support and the library's component overrides.
|
|
7
|
+
* Centralizes the `rehypeRaw` + components wiring shared across Article,
|
|
8
|
+
* Presentation and PresentationCard.
|
|
9
|
+
*/
|
|
10
|
+
const MarkdownContent = ({ children, components = markdownComponents, }) => (_jsx(Markdown, { rehypePlugins: [rehypeRaw], components: components, children: children }));
|
|
11
|
+
export default MarkdownContent;
|
|
12
|
+
//# sourceMappingURL=MarkdownContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownContent.js","sourceRoot":"","sources":["../../src/markdownComponents/MarkdownContent.tsx"],"names":[],"mappings":";AAAA,OAAO,QAA6B,MAAM,gBAAgB,CAAC;AAC3D,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAQtD;;;;GAIG;AACH,MAAM,eAAe,GAAG,CAAC,EACvB,QAAQ,EACR,UAAU,GAAG,kBAAkB,GACV,EAAE,EAAE,CAAC,CAC1B,KAAC,QAAQ,IAAC,aAAa,EAAE,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,UAAU,YACzD,QAAQ,GACA,CACZ,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chtc/web-components",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"homepage": "https://path-cc.io/web-components/",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -9,6 +9,25 @@
|
|
|
9
9
|
"description": "CHTC Web Components",
|
|
10
10
|
"main": "index.js",
|
|
11
11
|
"types": "index.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./index.d.ts",
|
|
15
|
+
"default": "./index.js"
|
|
16
|
+
},
|
|
17
|
+
"./charts": {
|
|
18
|
+
"types": "./charts/index.d.ts",
|
|
19
|
+
"default": "./charts/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./content": {
|
|
22
|
+
"types": "./content/index.d.ts",
|
|
23
|
+
"default": "./content/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./themes": {
|
|
26
|
+
"types": "./themes/index.d.ts",
|
|
27
|
+
"default": "./themes/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./package.json": "./package.json"
|
|
30
|
+
},
|
|
12
31
|
"files": [
|
|
13
32
|
"*"
|
|
14
33
|
],
|
|
@@ -24,22 +43,45 @@
|
|
|
24
43
|
"author": "",
|
|
25
44
|
"license": "Apache-2.0",
|
|
26
45
|
"dependencies": {
|
|
27
|
-
"@emotion/react": "^11.14.0",
|
|
28
|
-
"@emotion/styled": "^11.14.1",
|
|
29
|
-
"@mui/icons-material": "^7.0.0",
|
|
30
|
-
"@mui/material": "^7.0.0",
|
|
31
|
-
"chart.js": "^4.4.7",
|
|
32
|
-
"chartjs-adapter-luxon": "^1.3.1",
|
|
33
46
|
"colorjs.io": "^0.5.2",
|
|
34
47
|
"gray-matter": "^4.0.3",
|
|
35
|
-
"
|
|
36
|
-
"react-chartjs-2": "^5.3.0",
|
|
37
|
-
"react-markdown": "^9.0.1",
|
|
38
|
-
"react-wrap-balancer": "^1.1.1",
|
|
39
|
-
"rehype-raw": "^7.0.0"
|
|
48
|
+
"react-wrap-balancer": "^1.1.1"
|
|
40
49
|
},
|
|
41
50
|
"peerDependencies": {
|
|
51
|
+
"@emotion/react": "^11.0.0",
|
|
52
|
+
"@emotion/styled": "^11.0.0",
|
|
53
|
+
"@mui/icons-material": "^7.0.0",
|
|
54
|
+
"@mui/material": "^7.0.0",
|
|
55
|
+
"chart.js": "^4.4.0",
|
|
56
|
+
"chartjs-adapter-luxon": "^1.3.0",
|
|
57
|
+
"luxon": "^3.0.0",
|
|
42
58
|
"react": "^18.0.0 || ^19.0.0",
|
|
43
|
-
"react-
|
|
59
|
+
"react-chartjs-2": "^5.0.0",
|
|
60
|
+
"react-dom": "^18.0.0 || ^19.0.0",
|
|
61
|
+
"react-markdown": "^9.0.0",
|
|
62
|
+
"rehype-raw": "^7.0.0"
|
|
63
|
+
},
|
|
64
|
+
"peerDependenciesMeta": {
|
|
65
|
+
"@mui/icons-material": {
|
|
66
|
+
"optional": true
|
|
67
|
+
},
|
|
68
|
+
"chart.js": {
|
|
69
|
+
"optional": true
|
|
70
|
+
},
|
|
71
|
+
"chartjs-adapter-luxon": {
|
|
72
|
+
"optional": true
|
|
73
|
+
},
|
|
74
|
+
"luxon": {
|
|
75
|
+
"optional": true
|
|
76
|
+
},
|
|
77
|
+
"react-chartjs-2": {
|
|
78
|
+
"optional": true
|
|
79
|
+
},
|
|
80
|
+
"react-markdown": {
|
|
81
|
+
"optional": true
|
|
82
|
+
},
|
|
83
|
+
"rehype-raw": {
|
|
84
|
+
"optional": true
|
|
85
|
+
}
|
|
44
86
|
}
|
|
45
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/themes/chtc/theme.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,KAAK,+
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/themes/chtc/theme.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,KAAK,+BAkBT,CAAA;AAEF,eAAe,KAAK,CAAC"}
|
package/themes/chtc/theme.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { createTheme, responsiveFontSizes } from "@mui/material";
|
|
3
2
|
import Link from "next/link";
|
|
3
|
+
import { createBaseTheme } from "../createBaseTheme";
|
|
4
4
|
import { rhd, rht } from "./fonts";
|
|
5
|
-
const theme =
|
|
5
|
+
const theme = createBaseTheme({
|
|
6
6
|
palette: {
|
|
7
7
|
primary: {
|
|
8
8
|
main: "#B61F24"
|
|
@@ -11,52 +11,15 @@ const theme = responsiveFontSizes(createTheme({
|
|
|
11
11
|
main: "#000000"
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
fontFamily: rhd.style.fontFamily,
|
|
17
|
-
fontWeight: 500
|
|
18
|
-
},
|
|
19
|
-
h2: {
|
|
20
|
-
fontFamily: rhd.style.fontFamily,
|
|
21
|
-
fontWeight: 500,
|
|
22
|
-
},
|
|
23
|
-
h3: {
|
|
24
|
-
fontFamily: rhd.style.fontFamily,
|
|
25
|
-
fontWeight: 500,
|
|
26
|
-
},
|
|
27
|
-
h4: {
|
|
28
|
-
fontFamily: rhd.style.fontFamily,
|
|
29
|
-
fontWeight: 700,
|
|
30
|
-
},
|
|
31
|
-
h5: {
|
|
32
|
-
fontFamily: rhd.style.fontFamily,
|
|
33
|
-
fontWeight: 700,
|
|
34
|
-
},
|
|
35
|
-
h6: {
|
|
36
|
-
fontFamily: rhd.style.fontFamily,
|
|
37
|
-
fontWeight: 700,
|
|
38
|
-
},
|
|
39
|
-
fontFamily: [
|
|
40
|
-
rht.style.fontFamily,
|
|
41
|
-
"Helvetica Neue",
|
|
42
|
-
"Helvetica",
|
|
43
|
-
"Arial",
|
|
44
|
-
"Lucida Grande",
|
|
45
|
-
"sans-serif"
|
|
46
|
-
].join(",")
|
|
47
|
-
},
|
|
14
|
+
headingFontFamily: rhd.style.fontFamily,
|
|
15
|
+
bodyFontFamily: rht.style.fontFamily,
|
|
48
16
|
components: {
|
|
49
|
-
MuiLink: {
|
|
50
|
-
defaultProps: {
|
|
51
|
-
component: Link
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
17
|
MuiButtonBase: {
|
|
55
18
|
defaultProps: {
|
|
56
19
|
LinkComponent: Link,
|
|
57
20
|
}
|
|
58
21
|
}
|
|
59
22
|
},
|
|
60
|
-
})
|
|
23
|
+
});
|
|
61
24
|
export default theme;
|
|
62
25
|
//# sourceMappingURL=theme.js.map
|
package/themes/chtc/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/themes/chtc/theme.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/themes/chtc/theme.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAC,GAAG,EAAE,GAAG,EAAC,MAAM,SAAS,CAAA;AAEhC,MAAM,KAAK,GAAG,eAAe,CAAC;IAC5B,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;SAChB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,SAAS;SAChB;KACF;IACD,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU;IACvC,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU;IACpC,UAAU,EAAE;QACV,aAAa,EAAE;YACb,YAAY,EAAE;gBACZ,aAAa,EAAE,IAAI;aACpB;SACF;KACF;CACF,CAAC,CAAA;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Theme, ThemeOptions } from "@mui/material";
|
|
2
|
+
interface BaseThemeConfig {
|
|
3
|
+
palette: ThemeOptions["palette"];
|
|
4
|
+
/** Font family applied to all heading variants (h1–h6). */
|
|
5
|
+
headingFontFamily?: string;
|
|
6
|
+
/** Font family prepended to the shared sans-serif fallback for body text. */
|
|
7
|
+
bodyFontFamily?: string;
|
|
8
|
+
/** Extra typography overrides merged on top of the shared defaults. */
|
|
9
|
+
typography?: ThemeOptions["typography"];
|
|
10
|
+
/** Extra component overrides merged on top of the shared MuiLink default. */
|
|
11
|
+
components?: ThemeOptions["components"];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Builds a theme from the structure shared by every theme in this library:
|
|
15
|
+
* Next.js `Link` wiring for MUI links, the common heading weights, and the
|
|
16
|
+
* shared sans-serif fallback stack. Themes only supply what differs.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createBaseTheme({ palette, headingFontFamily, bodyFontFamily, typography, components, }: BaseThemeConfig): Theme;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=createBaseTheme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createBaseTheme.d.ts","sourceRoot":"","sources":["../../src/themes/createBaseTheme.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmC,KAAK,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAWpF,UAAU,eAAe;IACvB,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,UAAU,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACxC,6EAA6E;IAC7E,UAAU,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;CACzC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,UAAU,GACX,EAAE,eAAe,GAAG,KAAK,CA4BzB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { createTheme, responsiveFontSizes } from "@mui/material";
|
|
3
|
+
import Link from "next/link";
|
|
4
|
+
const FONT_FALLBACK = [
|
|
5
|
+
"Helvetica Neue",
|
|
6
|
+
"Helvetica",
|
|
7
|
+
"Arial",
|
|
8
|
+
"Lucida Grande",
|
|
9
|
+
"sans-serif",
|
|
10
|
+
];
|
|
11
|
+
/**
|
|
12
|
+
* Builds a theme from the structure shared by every theme in this library:
|
|
13
|
+
* Next.js `Link` wiring for MUI links, the common heading weights, and the
|
|
14
|
+
* shared sans-serif fallback stack. Themes only supply what differs.
|
|
15
|
+
*/
|
|
16
|
+
export function createBaseTheme({ palette, headingFontFamily, bodyFontFamily, typography, components, }) {
|
|
17
|
+
const heading = (fontWeight) => headingFontFamily ? { fontFamily: headingFontFamily, fontWeight } : { fontWeight };
|
|
18
|
+
return responsiveFontSizes(createTheme({
|
|
19
|
+
palette,
|
|
20
|
+
typography: {
|
|
21
|
+
h1: heading(500),
|
|
22
|
+
h2: heading(500),
|
|
23
|
+
h3: heading(500),
|
|
24
|
+
h4: heading(700),
|
|
25
|
+
h5: heading(700),
|
|
26
|
+
h6: heading(700),
|
|
27
|
+
fontFamily: [bodyFontFamily, ...FONT_FALLBACK].filter(Boolean).join(","),
|
|
28
|
+
...typography,
|
|
29
|
+
},
|
|
30
|
+
components: {
|
|
31
|
+
MuiLink: {
|
|
32
|
+
defaultProps: {
|
|
33
|
+
component: Link,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
...components,
|
|
37
|
+
},
|
|
38
|
+
}), { factor: 2 });
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=createBaseTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createBaseTheme.js","sourceRoot":"","sources":["../../src/themes/createBaseTheme.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAsB,MAAM,eAAe,CAAC;AACpF,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,aAAa,GAAG;IACpB,gBAAgB;IAChB,WAAW;IACX,OAAO;IACP,eAAe;IACf,YAAY;CACb,CAAC;AAcF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,UAAU,GACM;IAChB,MAAM,OAAO,GAAG,CAAC,UAAkB,EAAE,EAAE,CACrC,iBAAiB,CAAC,CAAC,CAAC,EAAC,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAC,CAAC,CAAC,CAAC,EAAC,UAAU,EAAC,CAAC;IAEjF,OAAO,mBAAmB,CACxB,WAAW,CAAC;QACV,OAAO;QACP,UAAU,EAAE;YACV,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC;YAChB,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC;YAChB,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC;YAChB,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC;YAChB,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC;YAChB,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC;YAChB,UAAU,EAAE,CAAC,cAAc,EAAE,GAAG,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACxE,GAAG,UAAU;SACd;QACD,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,YAAY,EAAE;oBACZ,SAAS,EAAE,IAAI;iBAChB;aACF;YACD,GAAG,UAAU;SACd;KACF,CAAC,EACF,EAAC,MAAM,EAAE,CAAC,EAAC,CACZ,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/themes/osg/theme.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/themes/osg/theme.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,KAAK,+BAcT,CAAA;AAEF,eAAe,KAAK,CAAC"}
|
package/themes/osg/theme.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
const theme = responsiveFontSizes(createTheme({
|
|
2
|
+
import { createBaseTheme } from "../createBaseTheme";
|
|
3
|
+
const theme = createBaseTheme({
|
|
5
4
|
palette: {
|
|
6
5
|
primary: {
|
|
7
6
|
main: "#f6a32a"
|
|
@@ -11,42 +10,10 @@ const theme = responsiveFontSizes(createTheme({
|
|
|
11
10
|
}
|
|
12
11
|
},
|
|
13
12
|
typography: {
|
|
14
|
-
h1: {
|
|
15
|
-
fontWeight: 500
|
|
16
|
-
},
|
|
17
|
-
h2: {
|
|
18
|
-
fontWeight: 500,
|
|
19
|
-
},
|
|
20
|
-
h3: {
|
|
21
|
-
fontWeight: 500,
|
|
22
|
-
},
|
|
23
|
-
h4: {
|
|
24
|
-
fontWeight: 700,
|
|
25
|
-
},
|
|
26
|
-
h5: {
|
|
27
|
-
fontWeight: 700,
|
|
28
|
-
},
|
|
29
|
-
h6: {
|
|
30
|
-
fontWeight: 700,
|
|
31
|
-
},
|
|
32
13
|
body1: {
|
|
33
14
|
fontSize: "1.2rem",
|
|
34
15
|
},
|
|
35
|
-
fontFamily: [
|
|
36
|
-
"Helvetica Neue",
|
|
37
|
-
"Helvetica",
|
|
38
|
-
"Arial",
|
|
39
|
-
"Lucida Grande",
|
|
40
|
-
"sans-serif"
|
|
41
|
-
].join(",")
|
|
42
|
-
},
|
|
43
|
-
components: {
|
|
44
|
-
MuiLink: {
|
|
45
|
-
defaultProps: {
|
|
46
|
-
component: Link
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
16
|
},
|
|
50
|
-
})
|
|
17
|
+
});
|
|
51
18
|
export default theme;
|
|
52
19
|
//# sourceMappingURL=theme.js.map
|
package/themes/osg/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/themes/osg/theme.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/themes/osg/theme.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAEnD,MAAM,KAAK,GAAG,eAAe,CAAC;IAC5B,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;SAChB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,eAAe;SACtB;KACF;IACD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,QAAQ,EAAE,QAAQ;SACnB;KACF;CACF,CAAC,CAAA;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/themes/pelican/theme.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/themes/pelican/theme.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,KAAK,+BAeT,CAAA;AAEF,eAAe,KAAK,CAAC"}
|
package/themes/pelican/theme.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import Link from "next/link";
|
|
2
|
+
import { createBaseTheme } from "../createBaseTheme";
|
|
4
3
|
import { poppins } from "./fonts";
|
|
5
|
-
const theme =
|
|
4
|
+
const theme = createBaseTheme({
|
|
6
5
|
palette: {
|
|
7
6
|
primary: {
|
|
8
7
|
dark: "#002b54",
|
|
@@ -10,50 +9,13 @@ const theme = responsiveFontSizes(createTheme({
|
|
|
10
9
|
light: "#CFE4FF"
|
|
11
10
|
}
|
|
12
11
|
},
|
|
12
|
+
headingFontFamily: poppins.style.fontFamily,
|
|
13
13
|
typography: {
|
|
14
|
-
h1: {
|
|
15
|
-
fontFamily: poppins.style.fontFamily,
|
|
16
|
-
fontWeight: 500
|
|
17
|
-
},
|
|
18
|
-
h2: {
|
|
19
|
-
fontFamily: poppins.style.fontFamily,
|
|
20
|
-
fontWeight: 500,
|
|
21
|
-
},
|
|
22
|
-
h3: {
|
|
23
|
-
fontFamily: poppins.style.fontFamily,
|
|
24
|
-
fontWeight: 500,
|
|
25
|
-
},
|
|
26
|
-
h4: {
|
|
27
|
-
fontFamily: poppins.style.fontFamily,
|
|
28
|
-
fontWeight: 700,
|
|
29
|
-
},
|
|
30
|
-
h5: {
|
|
31
|
-
fontFamily: poppins.style.fontFamily,
|
|
32
|
-
fontWeight: 700,
|
|
33
|
-
},
|
|
34
|
-
h6: {
|
|
35
|
-
fontFamily: poppins.style.fontFamily,
|
|
36
|
-
fontWeight: 700,
|
|
37
|
-
},
|
|
38
14
|
body1: {
|
|
39
15
|
fontSize: "1.2rem",
|
|
40
16
|
paddingBottom: "1rem",
|
|
41
17
|
},
|
|
42
|
-
fontFamily: [
|
|
43
|
-
"Helvetica Neue",
|
|
44
|
-
"Helvetica",
|
|
45
|
-
"Arial",
|
|
46
|
-
"Lucida Grande",
|
|
47
|
-
"sans-serif"
|
|
48
|
-
].join(",")
|
|
49
|
-
},
|
|
50
|
-
components: {
|
|
51
|
-
MuiLink: {
|
|
52
|
-
defaultProps: {
|
|
53
|
-
component: Link
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
18
|
},
|
|
57
|
-
})
|
|
19
|
+
});
|
|
58
20
|
export default theme;
|
|
59
21
|
//# sourceMappingURL=theme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/themes/pelican/theme.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/themes/pelican/theme.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAEhC,MAAM,KAAK,GAAG,eAAe,CAAC;IAC5B,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;SACjB;KACF;IACD,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;IAC3C,UAAU,EAAE;QACV,KAAK,EAAE;YACL,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,MAAM;SACtB;KACF;CACF,CAAC,CAAA;AAEF,eAAe,KAAK,CAAC"}
|
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/index.ts","../src/types.ts"],"version":"5.8.3"}
|
|
1
|
+
{"root":["../src/index.ts","../src/types.ts","../src/charts/index.ts","../src/content/index.ts"],"version":"5.8.3"}
|
package/types.d.ts
CHANGED
|
@@ -22,9 +22,9 @@ export interface Article {
|
|
|
22
22
|
type: article_type;
|
|
23
23
|
tag: tag;
|
|
24
24
|
image: Image;
|
|
25
|
-
excerpt
|
|
26
|
-
banner_src
|
|
27
|
-
banner_alt
|
|
25
|
+
excerpt?: string;
|
|
26
|
+
banner_src?: string;
|
|
27
|
+
banner_alt?: string;
|
|
28
28
|
}
|
|
29
29
|
export interface BackendArticle extends Article {
|
|
30
30
|
slug: string[];
|
package/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAE1B;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AACvE,MAAM,MAAM,GAAG,GAAG,uBAAuB,CAAC;AAC1C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,OAAO,EAAE,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IAEJ,SAAS,CAAC,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,GAAG,IAAI,CAAC;IACT,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatDate.d.ts","sourceRoot":"","sources":["../../src/utils/formatDate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAOnE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formats a date as e.g. "January 5, 2025" in UTC, matching the display format
|
|
3
|
+
* used across the presentation components.
|
|
4
|
+
*/
|
|
5
|
+
export function formatLongDate(date) {
|
|
6
|
+
return new Date(date).toLocaleString("en-US", {
|
|
7
|
+
year: "numeric",
|
|
8
|
+
month: "long",
|
|
9
|
+
day: "numeric",
|
|
10
|
+
timeZone: "UTC",
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=formatDate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatDate.js","sourceRoot":"","sources":["../../src/utils/formatDate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAA4B;IACzD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE;QAC5C,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,SAAS;QACd,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getArticle.d.ts","sourceRoot":"","sources":["../../src/utils/getArticle.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"getArticle.d.ts","sourceRoot":"","sources":["../../src/utils/getArticle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,cAAc,EAAsB,MAAM,UAAU,CAAC;AAItE,wBAAsB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAqB1H;AAYD,eAAe,UAAU,CAAA"}
|
package/utils/getArticle.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import matter from "gray-matter";
|
|
2
2
|
import { getRawFile } from "./getArticles";
|
|
3
3
|
export async function getArticle(organization, repo, path, branch) {
|
|
4
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
5
4
|
const text = await getRawFile(organization, repo, path, branch);
|
|
6
5
|
const frontMatter = matter(text);
|
|
6
|
+
const data = frontMatter.data;
|
|
7
7
|
return {
|
|
8
8
|
path: path,
|
|
9
9
|
slug: getSlug(path),
|
|
10
10
|
date: getDate(path),
|
|
11
11
|
content: frontMatter.content,
|
|
12
|
-
title:
|
|
13
|
-
author:
|
|
14
|
-
publish_on:
|
|
15
|
-
type:
|
|
16
|
-
tag:
|
|
17
|
-
image:
|
|
18
|
-
excerpt:
|
|
19
|
-
banner_src:
|
|
20
|
-
banner_alt:
|
|
12
|
+
title: data.title,
|
|
13
|
+
author: data.author,
|
|
14
|
+
publish_on: data.publish_on,
|
|
15
|
+
type: data.type,
|
|
16
|
+
tag: data.tag,
|
|
17
|
+
image: data.image,
|
|
18
|
+
excerpt: data === null || data === void 0 ? void 0 : data.excerpt,
|
|
19
|
+
banner_src: data === null || data === void 0 ? void 0 : data.banner_src,
|
|
20
|
+
banner_alt: data === null || data === void 0 ? void 0 : data.banner_alt,
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
function getSlug(path) {
|
package/utils/getArticle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getArticle.js","sourceRoot":"","sources":["../../src/utils/getArticle.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,YAAoB,EAAE,IAAY,EAAE,IAAY,EAAE,MAAc
|
|
1
|
+
{"version":3,"file":"getArticle.js","sourceRoot":"","sources":["../../src/utils/getArticle.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,YAAoB,EAAE,IAAY,EAAE,IAAY,EAAE,MAAc;IAChG,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAEhC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAe,CAAC;IAEzC,OAAO;QACN,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;QACnB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;QACnB,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO;QACtB,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU;QAC5B,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU;KAC5B,CAAA;AACF,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9C,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,eAAe,UAAU,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getArticles.d.ts","sourceRoot":"","sources":["../../src/utils/getArticles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAQxC,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAU/G;AAED,wBAAsB,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"getArticles.d.ts","sourceRoot":"","sources":["../../src/utils/getArticles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAQxC,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAU/G;AAED,wBAAsB,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQlG;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAI,MAAM,EAAE,CAEjD;AAED,wBAAsB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUlH;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gBAAgB;IAChC,WAAW,EAAE,iBAAiB,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CACf;AAED,UAAU,WAAW;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,OAAO;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,EAAE,CAAC;CACpB;AAED,eAAe,WAAW,CAAA"}
|
package/utils/getArticles.js
CHANGED
|
@@ -9,11 +9,14 @@ export async function getArticles(organization, repo, branch) {
|
|
|
9
9
|
// Filter out the non-article paths and pull down and parse the remote files
|
|
10
10
|
return Promise.all(paths
|
|
11
11
|
.filter((path) => isArticle(path))
|
|
12
|
-
.map(
|
|
12
|
+
.map((path) => getArticle(organization, repo, path, branch)));
|
|
13
13
|
}
|
|
14
14
|
export async function getTree(organization, repo, branch) {
|
|
15
15
|
const url = `https://api.github.com/repos/${organization}/${repo}/git/trees/${branch}?recursive=1`;
|
|
16
16
|
const res = await fetch(url);
|
|
17
|
+
if (!res.ok) {
|
|
18
|
+
throw new Error(`Failed to fetch git tree (${res.status} ${res.statusText}): ${url}`);
|
|
19
|
+
}
|
|
17
20
|
const json = await res.json();
|
|
18
21
|
return json;
|
|
19
22
|
}
|
|
@@ -23,6 +26,9 @@ export function getPaths(tree) {
|
|
|
23
26
|
export async function getRawFile(organization, repo, path, branch) {
|
|
24
27
|
const url = new URL(`https://raw.githubusercontent.com/${organization}/${repo}/${branch}/${path}`);
|
|
25
28
|
const res = await fetch(url, { headers: { "Accept": "application/vnd.github.raw" } });
|
|
29
|
+
if (!res.ok) {
|
|
30
|
+
throw new Error(`Failed to fetch raw file (${res.status} ${res.statusText}): ${path}`);
|
|
31
|
+
}
|
|
26
32
|
return await res.text();
|
|
27
33
|
}
|
|
28
34
|
export default getArticles;
|
package/utils/getArticles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getArticles.js","sourceRoot":"","sources":["../../src/utils/getArticles.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,SAAS,SAAS,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,+BAA+B,CAAA;IAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,YAAoB,EAAE,IAAY,EAAE,MAAc;IACnF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAE5B,4EAA4E;IAC5E,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK;SACF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACjC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"getArticles.js","sourceRoot":"","sources":["../../src/utils/getArticles.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,SAAS,SAAS,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,+BAA+B,CAAA;IAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,YAAoB,EAAE,IAAY,EAAE,MAAc;IACnF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAE5B,4EAA4E;IAC5E,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK;SACF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAC/D,CAAA;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,YAAoB,EAAE,IAAY,EAAE,MAAc;IAC/E,MAAM,GAAG,GAAG,gCAAgC,YAAY,IAAI,IAAI,cAAc,MAAM,cAAc,CAAA;IAClG,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,MAAM,GAAG,EAAE,CAAC,CAAA;IACtF,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAC7B,OAAO,IAAe,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAa;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,YAAoB,EAAE,IAAY,EAAE,IAAY,EAAE,MAAc;IAEhG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,qCAAqC,YAAY,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC,CAAA;IAElG,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAC,EAAC,CAAC,CAAA;IACjF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,MAAM,IAAI,EAAE,CAAC,CAAA;IACvF,CAAC;IAED,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC;AAoCD,eAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tagColor.d.ts","sourceRoot":"","sources":["../../src/utils/tagColor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO/C"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministically maps a string (e.g. a keyword/tag) to a stable color so the
|
|
3
|
+
* same tag always renders with the same color across components.
|
|
4
|
+
*/
|
|
5
|
+
function getStringHash(value) {
|
|
6
|
+
// Simple hash function to generate a number from the tag string
|
|
7
|
+
let hash = 0;
|
|
8
|
+
for (let i = 0; i < value.length; i++) {
|
|
9
|
+
hash = value.charCodeAt(i) + ((hash << 5) - hash);
|
|
10
|
+
}
|
|
11
|
+
return hash;
|
|
12
|
+
}
|
|
13
|
+
export function getTagColor(tag) {
|
|
14
|
+
let hue = getStringHash(tag) % 360;
|
|
15
|
+
if (hue >= 60 && hue <= 140) {
|
|
16
|
+
hue = (hue + 80) % 360; // avoid ugly colors
|
|
17
|
+
}
|
|
18
|
+
return `hsl(${hue}, 70%, 40%)`;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=tagColor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tagColor.js","sourceRoot":"","sources":["../../src/utils/tagColor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,SAAS,aAAa,CAAC,KAAa;IAClC,gEAAgE;IAChE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACnC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,oBAAoB;IAC9C,CAAC;IAED,OAAO,OAAO,GAAG,aAAa,CAAC;AACjC,CAAC"}
|