@curvenote/renderers 0.6.12 → 1.0.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/articles.d.ts.map +1 -1
- package/dist/articles.js +2 -11
- package/dist/components/admonition.d.ts +18 -0
- package/dist/components/admonition.d.ts.map +1 -0
- package/dist/components/admonition.js +146 -0
- package/dist/components/cite-figurebar.d.ts +5 -0
- package/dist/components/cite-figurebar.d.ts.map +1 -0
- package/dist/components/cite-figurebar.js +73 -0
- package/dist/components/cite-youtube.d.ts +6 -0
- package/dist/components/cite-youtube.d.ts.map +1 -0
- package/dist/components/cite-youtube.js +45 -0
- package/dist/components/cite.d.ts +12 -0
- package/dist/components/cite.d.ts.map +1 -0
- package/dist/components/cite.js +76 -0
- package/dist/components/definition-list.d.ts +3 -0
- package/dist/components/definition-list.d.ts.map +1 -0
- package/dist/components/definition-list.js +20 -0
- package/dist/components/faq.d.ts +5 -0
- package/dist/components/faq.d.ts.map +1 -0
- package/dist/components/faq.js +34 -0
- package/dist/components/hero.css +6 -0
- package/dist/components/hero.d.ts +28 -0
- package/dist/components/hero.d.ts.map +1 -0
- package/dist/components/hero.example.d.ts +3 -0
- package/dist/components/hero.example.d.ts.map +1 -0
- package/dist/components/hero.example.js +30 -0
- package/dist/components/hero.js +89 -0
- package/dist/components/images.d.ts +5 -0
- package/dist/components/images.d.ts.map +1 -0
- package/dist/components/images.js +7 -0
- package/dist/components/index.d.ts +7 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +6 -0
- package/dist/components/inlineError.d.ts +8 -0
- package/dist/components/inlineError.d.ts.map +1 -0
- package/dist/components/inlineError.js +6 -0
- package/dist/components/mermaid.d.ts +11 -0
- package/dist/components/mermaid.d.ts.map +1 -0
- package/dist/components/mermaid.js +59 -0
- package/dist/components/pdb.d.ts +5 -0
- package/dist/components/pdb.d.ts.map +1 -0
- package/dist/{pdbLink.js → components/pdb.js} +15 -5
- package/dist/hooks/useOpenAlex.d.ts +13 -0
- package/dist/hooks/useOpenAlex.d.ts.map +1 -0
- package/dist/hooks/useOpenAlex.js +33 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -18
- package/dist/transforms/articles.d.ts +4 -1
- package/dist/transforms/articles.d.ts.map +1 -1
- package/dist/transforms/articles.js +37 -51
- package/dist/transforms/index.d.ts +4 -6
- package/dist/transforms/index.d.ts.map +1 -1
- package/dist/transforms/index.js +11 -24
- package/dist/transforms/{outputs.d.ts → notebooks.d.ts} +1 -1
- package/dist/transforms/notebooks.d.ts.map +1 -0
- package/dist/transforms/{outputs.js → notebooks.js} +5 -6
- package/dist/utils/abstract.d.ts +40 -0
- package/dist/utils/abstract.d.ts.map +1 -0
- package/dist/utils/abstract.js +76 -0
- package/package.json +40 -28
- package/README.md +0 -6
- package/dist/any/index.d.ts +0 -5
- package/dist/any/index.d.ts.map +0 -1
- package/dist/any/index.js +0 -8
- package/dist/any/models.d.ts +0 -18
- package/dist/any/models.d.ts.map +0 -1
- package/dist/any/models.js +0 -49
- package/dist/any/renderers.d.ts +0 -5
- package/dist/any/renderers.d.ts.map +0 -1
- package/dist/any/renderers.js +0 -113
- package/dist/any/types.d.ts +0 -22
- package/dist/any/types.d.ts.map +0 -1
- package/dist/any/types.js +0 -1
- package/dist/cards.d.ts +0 -8
- package/dist/cards.d.ts.map +0 -1
- package/dist/cards.js +0 -15
- package/dist/cite.d.ts +0 -17
- package/dist/cite.d.ts.map +0 -1
- package/dist/cite.js +0 -94
- package/dist/collections.d.ts +0 -6
- package/dist/collections.d.ts.map +0 -1
- package/dist/collections.js +0 -12
- package/dist/pdbLink.d.ts +0 -6
- package/dist/pdbLink.d.ts.map +0 -1
- package/dist/transforms/cards.d.ts +0 -52
- package/dist/transforms/cards.d.ts.map +0 -1
- package/dist/transforms/cards.js +0 -68
- package/dist/transforms/collections.d.ts +0 -15
- package/dist/transforms/collections.d.ts.map +0 -1
- package/dist/transforms/collections.js +0 -44
- package/dist/transforms/outputs.d.ts.map +0 -1
package/dist/collections.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useLinkProvider } from '@myst-theme/providers';
|
|
3
|
-
import { LockOpen } from 'lucide-react';
|
|
4
|
-
import classNames from 'classnames';
|
|
5
|
-
function Open({ className }) {
|
|
6
|
-
return (_jsxs("div", { className: classNames(className, 'text-sm font-semibold text-green-700 smallcaps opacity-80'), children: [_jsx(LockOpen, { className: "inline-block w-3 h-3 mr-1 align-middle" }), _jsx("span", { className: "align-middle", children: "open" })] }));
|
|
7
|
-
}
|
|
8
|
-
export const CollectionsRenderer = ({ node, }) => {
|
|
9
|
-
const Link = useLinkProvider();
|
|
10
|
-
return (_jsxs("div", { className: "py-3", children: [!node.error && node.items.length === 0 && (_jsx("div", { children: "There are no collections in this listing yet." })), !node.error && (_jsx("ul", { className: "space-y-8 not-prose", children: node.items.map((c) => (_jsx("li", { className: "cursor-pointer group/collection", children: _jsxs(Link, { to: `/${c.slug}`.replace('//', '/'), className: "block no-underline", children: [_jsx("h3", { className: "mt-1 text-xl font-semibold text-black group-hover/collection:text-blue-600 dark:group-hover/collection:text-blue-400 dark:text-white", children: c.content.title }), _jsx("p", { className: "mt-1 mb-2 leading-6 text-gray-600 group-hover/collection:text-gray-800 dark:text-gray-300", children: c.content.description }), _jsxs("div", { className: "text-sm text-gray-500 smallcaps", children: [_jsxs("span", { className: "align-bottom", children: [_jsx("span", { className: "font-semibold", children: c.num_published }), " item", c.num_published === 1 ? '' : 's'] }), c.open && _jsx(Open, { className: "inline-block ml-2 align-bottom" })] })] }) }, c.id))) })), node.error && (_jsx("div", { className: "text-red-500 p-4 my-2 bg-red-50 border-[1px] border-red-500 rounded", children: node.error }))] }));
|
|
11
|
-
};
|
|
12
|
-
export const COLLECTIONS_RENDERERS = { curvenoteCollections: CollectionsRenderer };
|
package/dist/pdbLink.d.ts
DELETED
package/dist/pdbLink.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pdbLink.d.ts","sourceRoot":"","sources":["../src/pdbLink.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA8D/C,wBAAgB,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,2CAQxE"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { type GenericParent } from 'myst-common';
|
|
2
|
-
import type { Node } from 'unist-util-select';
|
|
3
|
-
import type { SiteDTO } from '@curvenote/common';
|
|
4
|
-
export interface IncomingMaybeCustomCardDirective {
|
|
5
|
-
kind: string;
|
|
6
|
-
children: Node[];
|
|
7
|
-
url: string;
|
|
8
|
-
protocol?: string;
|
|
9
|
-
internal: boolean;
|
|
10
|
-
data: {
|
|
11
|
-
showThumbnail?: boolean;
|
|
12
|
-
json: {
|
|
13
|
-
type?: string;
|
|
14
|
-
title?: string;
|
|
15
|
-
description?: string;
|
|
16
|
-
authors?: {
|
|
17
|
-
name: string;
|
|
18
|
-
affiliation?: string;
|
|
19
|
-
orcid?: string;
|
|
20
|
-
}[];
|
|
21
|
-
doi?: string;
|
|
22
|
-
year?: string;
|
|
23
|
-
date?: string;
|
|
24
|
-
pages?: string[];
|
|
25
|
-
thumbnail?: string;
|
|
26
|
-
};
|
|
27
|
-
parsed?: {
|
|
28
|
-
title?: GenericParent;
|
|
29
|
-
description?: GenericParent;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
export type OutgoingMaybeCustomCardDirective = IncomingMaybeCustomCardDirective & {
|
|
34
|
-
data: {
|
|
35
|
-
json: {
|
|
36
|
-
doi?: string;
|
|
37
|
-
thumbnail?: string | boolean;
|
|
38
|
-
url?: string;
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
export declare const CardKindArticleListItem = "curvenoteArticleListItem";
|
|
43
|
-
export declare const CardKindExternalListItem = "curvenoteExternalListItem";
|
|
44
|
-
/**
|
|
45
|
-
* Looks for myst card directives marked with custom kinds and transforms them
|
|
46
|
-
* ready for custom renering using data embedded in the directive.
|
|
47
|
-
*
|
|
48
|
-
* @param node
|
|
49
|
-
* @returns
|
|
50
|
-
*/
|
|
51
|
-
export declare function transformCards(site: SiteDTO, node: GenericParent): void;
|
|
52
|
-
//# sourceMappingURL=cards.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../src/transforms/cards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE;QACJ,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACJ,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,OAAO,CAAC,EAAE;gBACR,IAAI,EAAE,MAAM,CAAC;gBACb,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,KAAK,CAAC,EAAE,MAAM,CAAC;aAChB,EAAE,CAAC;YACJ,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,MAAM,CAAC,EAAE;YACP,KAAK,CAAC,EAAE,aAAa,CAAC;YACtB,WAAW,CAAC,EAAE,aAAa,CAAC;SAC7B,CAAC;KACH,CAAC;CACH;AAED,MAAM,MAAM,gCAAgC,GAAG,gCAAgC,GAAG;IAChF,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;YAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAClE,eAAO,MAAM,wBAAwB,8BAA8B,CAAC;AAEpE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,QAGhE"}
|
package/dist/transforms/cards.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { slugToUrl } from 'myst-common';
|
|
2
|
-
import { selectAll } from 'unist-util-select';
|
|
3
|
-
export const CardKindArticleListItem = 'curvenoteArticleListItem';
|
|
4
|
-
export const CardKindExternalListItem = 'curvenoteExternalListItem';
|
|
5
|
-
/**
|
|
6
|
-
* Looks for myst card directives marked with custom kinds and transforms them
|
|
7
|
-
* ready for custom renering using data embedded in the directive.
|
|
8
|
-
*
|
|
9
|
-
* @param node
|
|
10
|
-
* @returns
|
|
11
|
-
*/
|
|
12
|
-
export function transformCards(site, node) {
|
|
13
|
-
transformArticleListItems(site, node);
|
|
14
|
-
transformExternalListItems(site, node);
|
|
15
|
-
}
|
|
16
|
-
function transformArticleListItems(site, node) {
|
|
17
|
-
const articlesListItemDirectives = selectAll(`card[kind=${CardKindArticleListItem}]`, node);
|
|
18
|
-
articlesListItemDirectives.forEach((n) => {
|
|
19
|
-
transformListItem(site, n);
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
function transformExternalListItems(site, node) {
|
|
23
|
-
const externalListItemDirectives = selectAll(`card[kind=${CardKindExternalListItem}]`, node);
|
|
24
|
-
externalListItemDirectives.forEach((n) => {
|
|
25
|
-
transformListItem(site, n);
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
function transformListItem(site, n) {
|
|
29
|
-
var _a, _b, _c, _d, _e;
|
|
30
|
-
const output = n; // same object, modified in place
|
|
31
|
-
if (!((_a = n.data) === null || _a === void 0 ? void 0 : _a.json))
|
|
32
|
-
return; // no data, leave fallback in place
|
|
33
|
-
const json = n.data.json;
|
|
34
|
-
let slug;
|
|
35
|
-
if (n.url) {
|
|
36
|
-
const tokens = n.url.split('/');
|
|
37
|
-
slug = tokens[tokens.length - 1];
|
|
38
|
-
}
|
|
39
|
-
else if (json.doi) {
|
|
40
|
-
const tokens = (_b = json.doi) === null || _b === void 0 ? void 0 : _b.split('/');
|
|
41
|
-
slug = tokens[tokens.length - 1];
|
|
42
|
-
}
|
|
43
|
-
let url;
|
|
44
|
-
if (n.kind === CardKindExternalListItem) {
|
|
45
|
-
if (n.url) {
|
|
46
|
-
url = n.url;
|
|
47
|
-
}
|
|
48
|
-
else if (json.doi) {
|
|
49
|
-
url = json.doi.startsWith('https://doi.org') ? json.doi : `https://doi.org/${json.doi}`;
|
|
50
|
-
output.url = url;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
else if (n.kind === CardKindArticleListItem) {
|
|
54
|
-
url = `/articles/${slugToUrl(slug)}`;
|
|
55
|
-
output.protocol = undefined;
|
|
56
|
-
output.internal = true;
|
|
57
|
-
output.url = url;
|
|
58
|
-
}
|
|
59
|
-
let thumbnail;
|
|
60
|
-
if (n.data.showThumbnail) {
|
|
61
|
-
thumbnail =
|
|
62
|
-
(_c = json.thumbnail) !== null && _c !== void 0 ? _c : `${process.env.JOURNALS_API_URL}sites/${site.name}/works/${slug}/thumbnail`;
|
|
63
|
-
}
|
|
64
|
-
output.data = Object.assign(Object.assign({}, output.data), { json: Object.assign(Object.assign({}, ((_e = (_d = n.data) === null || _d === void 0 ? void 0 : _d.json) !== null && _e !== void 0 ? _e : {})), { url,
|
|
65
|
-
thumbnail }) });
|
|
66
|
-
// remove fallback content
|
|
67
|
-
output.children = [];
|
|
68
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { GenericParent } from 'myst-common';
|
|
2
|
-
import type { CollectionListingDTO } from '@curvenote/common';
|
|
3
|
-
export interface IncomingCollectionsDirective {
|
|
4
|
-
venue: string;
|
|
5
|
-
show?: 'open' | 'closed' | 'all';
|
|
6
|
-
exclude?: string;
|
|
7
|
-
['show-count']?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export type OutgoingCollectionsDirective = Omit<IncomingCollectionsDirective, 'exclude'> & {
|
|
10
|
-
items: CollectionListingDTO['items'];
|
|
11
|
-
exclude?: string[];
|
|
12
|
-
error?: string;
|
|
13
|
-
};
|
|
14
|
-
export declare function transformCollections(node: GenericParent): Promise<void[]>;
|
|
15
|
-
//# sourceMappingURL=collections.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/transforms/collections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAI9D,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAC,4BAA4B,EAAE,SAAS,CAAC,GAAG;IACzF,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,aAAa,mBAmC7D"}
|
|
@@ -1,44 +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
|
-
import { selectAll } from 'unist-util-select';
|
|
11
|
-
import pLimit from 'p-limit';
|
|
12
|
-
export function transformCollections(node) {
|
|
13
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
14
|
-
const collectionsDirectives = selectAll('curvenoteCollections', node);
|
|
15
|
-
const limit = pLimit(5);
|
|
16
|
-
return Promise.all(collectionsDirectives.map((n) => __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
return limit(() => __awaiter(this, void 0, void 0, function* () {
|
|
18
|
-
const output = n; // same object, modified in place
|
|
19
|
-
if (!n.show)
|
|
20
|
-
output.show = 'all';
|
|
21
|
-
if (n.exclude)
|
|
22
|
-
output.exclude = n.exclude.split(',').map((s) => s.trim());
|
|
23
|
-
const apiUrl = process.env.JOURNALS_API_URL;
|
|
24
|
-
const url = new URL(`${apiUrl}sites/${n.venue}/collections`);
|
|
25
|
-
try {
|
|
26
|
-
const res = yield fetch(url.toString());
|
|
27
|
-
if (!res.ok)
|
|
28
|
-
throw new Error(`${res.status} ${res.statusText}`);
|
|
29
|
-
const data = (yield res.json());
|
|
30
|
-
if (output.exclude) {
|
|
31
|
-
output.items = data.items.filter((item) => { var _a; return !((_a = output.exclude) !== null && _a !== void 0 ? _a : []).includes(item.name); });
|
|
32
|
-
}
|
|
33
|
-
if (output.show !== 'all') {
|
|
34
|
-
output.items = output.items.filter((item) => item.open === (output.show === 'open'));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
catch (e) {
|
|
38
|
-
output.error = 'Could not load collection listing';
|
|
39
|
-
console.error('Could not load collection listing', e);
|
|
40
|
-
}
|
|
41
|
-
}));
|
|
42
|
-
})));
|
|
43
|
-
});
|
|
44
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"outputs.d.ts","sourceRoot":"","sources":["../../src/transforms/outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,wBAAgB,yCAAyC,CAAC,IAAI,EAAE,UAAU,QAmBzE"}
|