@ndla/article-converter 10.0.133-alpha.0 → 10.0.134-alpha.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/es/plugins/embed/conceptEmbedPlugin.js +6 -5
- package/es/plugins/embed/conceptEmbedPlugin.js.map +1 -1
- package/lib/index.js +5 -5
- package/lib/plugins/embed/conceptEmbedPlugin.js +5 -4
- package/lib/plugins/embed/conceptEmbedPlugin.js.map +1 -1
- package/lib/plugins/embed/index.js +40 -40
- package/lib/plugins/embed/uuDisclaimerEmbedPlugin.js +2 -2
- package/lib/plugins/embed/uuDisclaimerEmbedPlugin.js.map +1 -1
- package/lib/plugins/index.js +32 -32
- package/lib/transform.js +4 -4
- package/lib/transform.js.map +1 -1
- package/package.json +4 -4
- package/src/plugins/embed/conceptEmbedPlugin.tsx +8 -6
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { attributesToProps } from "html-react-parser";
|
|
1
|
+
import { attributesToProps, domToReact } from "html-react-parser";
|
|
2
2
|
import { ConceptEmbed } from "@ndla/ui";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
|
|
5
5
|
//#region src/plugins/embed/conceptEmbedPlugin.tsx
|
|
6
|
-
const conceptEmbedPlugin = (element,
|
|
6
|
+
const conceptEmbedPlugin = (element, parserOpts, transformOpts) => {
|
|
7
7
|
const props = attributesToProps(element.attribs);
|
|
8
8
|
const data = JSON.parse(props["data-json"]);
|
|
9
9
|
return /* @__PURE__ */ jsx(ConceptEmbed, {
|
|
10
10
|
embed: data,
|
|
11
|
-
lang:
|
|
12
|
-
renderContext:
|
|
13
|
-
previewAlt:
|
|
11
|
+
lang: transformOpts.articleLanguage,
|
|
12
|
+
renderContext: transformOpts.renderContext,
|
|
13
|
+
previewAlt: transformOpts.previewAlt,
|
|
14
|
+
children: domToReact(element.children, parserOpts)
|
|
14
15
|
});
|
|
15
16
|
};
|
|
16
17
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conceptEmbedPlugin.js","names":["conceptEmbedPlugin: PluginType"],"sources":["../../../src/plugins/embed/conceptEmbedPlugin.tsx"],"sourcesContent":["/**\n * Copyright (c) 2023-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { attributesToProps } from \"html-react-parser\";\nimport { type ConceptMetaData } from \"@ndla/types-embed\";\nimport { ConceptEmbed } from \"@ndla/ui\";\nimport { type PluginType } from \"../types\";\n\nexport const conceptEmbedPlugin: PluginType = (element,
|
|
1
|
+
{"version":3,"file":"conceptEmbedPlugin.js","names":["conceptEmbedPlugin: PluginType"],"sources":["../../../src/plugins/embed/conceptEmbedPlugin.tsx"],"sourcesContent":["/**\n * Copyright (c) 2023-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { attributesToProps, domToReact, type DOMNode } from \"html-react-parser\";\nimport { type ConceptMetaData } from \"@ndla/types-embed\";\nimport { ConceptEmbed } from \"@ndla/ui\";\nimport { type PluginType } from \"../types\";\n\nexport const conceptEmbedPlugin: PluginType = (element, parserOpts, transformOpts) => {\n const props = attributesToProps(element.attribs);\n const data = JSON.parse(props[\"data-json\"] as string) as ConceptMetaData;\n return (\n <ConceptEmbed\n embed={data}\n lang={transformOpts.articleLanguage}\n renderContext={transformOpts.renderContext}\n previewAlt={transformOpts.previewAlt}\n >\n {domToReact(element.children as DOMNode[], parserOpts)}\n </ConceptEmbed>\n );\n};\n"],"mappings":";;;;;AAaA,MAAaA,qBAAiC,CAAC,SAAS,YAAY,kBAAkB;CACpF,MAAM,QAAQ,kBAAkB,QAAQ,QAAQ;CAChD,MAAM,OAAO,KAAK,MAAM,MAAM,aAAuB;AACrD,wBACE,IAAC;EACC,OAAO;EACP,MAAM,cAAc;EACpB,eAAe,cAAc;EAC7B,YAAY,cAAc;YAEzB,WAAW,QAAQ,UAAuB,WAAW;GACzC;AAElB"}
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const
|
|
2
|
-
const
|
|
1
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_transform = require('./transform.js');
|
|
2
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_extractEmbedMeta = require('./extractEmbedMeta.js');
|
|
3
3
|
|
|
4
|
-
exports.extractEmbedMeta =
|
|
5
|
-
exports.extractEmbedMetas =
|
|
6
|
-
exports.transform =
|
|
4
|
+
exports.extractEmbedMeta = require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_extractEmbedMeta.extractEmbedMeta_default;
|
|
5
|
+
exports.extractEmbedMetas = require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_extractEmbedMeta.extractEmbedMetas;
|
|
6
|
+
exports.transform = require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_transform.transform_default;
|
|
@@ -4,14 +4,15 @@ const __ndla_ui = require_rolldown_runtime.__toESM(require("@ndla/ui"));
|
|
|
4
4
|
const react_jsx_runtime = require_rolldown_runtime.__toESM(require("react/jsx-runtime"));
|
|
5
5
|
|
|
6
6
|
//#region src/plugins/embed/conceptEmbedPlugin.tsx
|
|
7
|
-
const conceptEmbedPlugin = (element,
|
|
7
|
+
const conceptEmbedPlugin = (element, parserOpts, transformOpts) => {
|
|
8
8
|
const props = (0, html_react_parser.attributesToProps)(element.attribs);
|
|
9
9
|
const data = JSON.parse(props["data-json"]);
|
|
10
10
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__ndla_ui.ConceptEmbed, {
|
|
11
11
|
embed: data,
|
|
12
|
-
lang:
|
|
13
|
-
renderContext:
|
|
14
|
-
previewAlt:
|
|
12
|
+
lang: transformOpts.articleLanguage,
|
|
13
|
+
renderContext: transformOpts.renderContext,
|
|
14
|
+
previewAlt: transformOpts.previewAlt,
|
|
15
|
+
children: (0, html_react_parser.domToReact)(element.children, parserOpts)
|
|
15
16
|
});
|
|
16
17
|
};
|
|
17
18
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conceptEmbedPlugin.js","names":["conceptEmbedPlugin: PluginType","ConceptEmbed"],"sources":["../../../src/plugins/embed/conceptEmbedPlugin.tsx"],"sourcesContent":["/**\n * Copyright (c) 2023-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { attributesToProps } from \"html-react-parser\";\nimport { type ConceptMetaData } from \"@ndla/types-embed\";\nimport { ConceptEmbed } from \"@ndla/ui\";\nimport { type PluginType } from \"../types\";\n\nexport const conceptEmbedPlugin: PluginType = (element,
|
|
1
|
+
{"version":3,"file":"conceptEmbedPlugin.js","names":["conceptEmbedPlugin: PluginType","ConceptEmbed"],"sources":["../../../src/plugins/embed/conceptEmbedPlugin.tsx"],"sourcesContent":["/**\n * Copyright (c) 2023-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { attributesToProps, domToReact, type DOMNode } from \"html-react-parser\";\nimport { type ConceptMetaData } from \"@ndla/types-embed\";\nimport { ConceptEmbed } from \"@ndla/ui\";\nimport { type PluginType } from \"../types\";\n\nexport const conceptEmbedPlugin: PluginType = (element, parserOpts, transformOpts) => {\n const props = attributesToProps(element.attribs);\n const data = JSON.parse(props[\"data-json\"] as string) as ConceptMetaData;\n return (\n <ConceptEmbed\n embed={data}\n lang={transformOpts.articleLanguage}\n renderContext={transformOpts.renderContext}\n previewAlt={transformOpts.previewAlt}\n >\n {domToReact(element.children as DOMNode[], parserOpts)}\n </ConceptEmbed>\n );\n};\n"],"mappings":";;;;;;AAaA,MAAaA,qBAAiC,CAAC,SAAS,YAAY,kBAAkB;CACpF,MAAM,QAAQ,yCAAkB,QAAQ,QAAQ;CAChD,MAAM,OAAO,KAAK,MAAM,MAAM,aAAuB;AACrD,wBACE,2BAACC;EACC,OAAO;EACP,MAAM,cAAc;EACpB,eAAe,cAAc;EAC7B,YAAY,cAAc;YAEzB,kCAAW,QAAQ,UAAuB,WAAW;GACzC;AAElB"}
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
const
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
1
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_audioEmbedPlugin = require('./audioEmbedPlugin.js');
|
|
2
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_brightcoveEmbedPlugin = require('./brightcoveEmbedPlugin.js');
|
|
3
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_campaignBlockPlugin = require('./campaignBlockPlugin.js');
|
|
4
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_codeEmbedPlugin = require('./codeEmbedPlugin.js');
|
|
5
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_conceptEmbedPlugin = require('./conceptEmbedPlugin.js');
|
|
6
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_contactBlockEmbedPlugin = require('./contactBlockEmbedPlugin.js');
|
|
7
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_contentLinkEmbedPlugin = require('./contentLinkEmbedPlugin.js');
|
|
8
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_copyrightEmbedPlugin = require('./copyrightEmbedPlugin.js');
|
|
9
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_externalEmbedPlugin = require('./externalEmbedPlugin.js');
|
|
10
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_fileEmbedPlugin = require('./fileEmbedPlugin.js');
|
|
11
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_footnoteEmbedPlugin = require('./footnoteEmbedPlugin.js');
|
|
12
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_h5pEmbedPlugin = require('./h5pEmbedPlugin.js');
|
|
13
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_iframeEmbedPlugin = require('./iframeEmbedPlugin.js');
|
|
14
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_imageEmbedPlugin = require('./imageEmbedPlugin.js');
|
|
15
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_KeyFigureEmbedPlugin = require('./KeyFigureEmbedPlugin.js');
|
|
16
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_linkBlockEmbedPlugin = require('./linkBlockEmbedPlugin.js');
|
|
17
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_pitchEmbedPlugin = require('./pitchEmbedPlugin.js');
|
|
18
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_relatedContentEmbedPlugin = require('./relatedContentEmbedPlugin.js');
|
|
19
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_symbolEmbedPlugin = require('./symbolEmbedPlugin.js');
|
|
20
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_uuDisclaimerEmbedPlugin = require('./uuDisclaimerEmbedPlugin.js');
|
|
21
21
|
|
|
22
22
|
//#region src/plugins/embed/index.ts
|
|
23
23
|
const embedPlugins = {
|
|
24
|
-
image:
|
|
25
|
-
audio:
|
|
26
|
-
h5p:
|
|
27
|
-
"code-block":
|
|
28
|
-
external:
|
|
29
|
-
iframe:
|
|
30
|
-
footnote:
|
|
31
|
-
brightcove:
|
|
32
|
-
"related-content":
|
|
33
|
-
"content-link":
|
|
34
|
-
concept:
|
|
35
|
-
pitch:
|
|
36
|
-
file:
|
|
37
|
-
"key-figure":
|
|
38
|
-
"contact-block":
|
|
39
|
-
"campaign-block":
|
|
40
|
-
"link-block":
|
|
41
|
-
"uu-disclaimer":
|
|
42
|
-
copyright:
|
|
43
|
-
symbol:
|
|
24
|
+
image: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_imageEmbedPlugin.imageEmbedPlugin,
|
|
25
|
+
audio: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_audioEmbedPlugin.audioEmbedPlugin,
|
|
26
|
+
h5p: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_h5pEmbedPlugin.h5pEmbedPlugin,
|
|
27
|
+
"code-block": require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_codeEmbedPlugin.codeEmbedPlugin,
|
|
28
|
+
external: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_externalEmbedPlugin.externalEmbedPlugin,
|
|
29
|
+
iframe: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_iframeEmbedPlugin.iframeEmbedPlugin,
|
|
30
|
+
footnote: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_footnoteEmbedPlugin.footnoteEmbedPlugin,
|
|
31
|
+
brightcove: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_brightcoveEmbedPlugin.brightcoveEmbedPlugin,
|
|
32
|
+
"related-content": require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_relatedContentEmbedPlugin.relatedContentEmbedPlugin,
|
|
33
|
+
"content-link": require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_contentLinkEmbedPlugin.contentLinkEmbedPlugin,
|
|
34
|
+
concept: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_conceptEmbedPlugin.conceptEmbedPlugin,
|
|
35
|
+
pitch: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_pitchEmbedPlugin.pitchEmbedPlugin,
|
|
36
|
+
file: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_fileEmbedPlugin.fileEmbedPlugin,
|
|
37
|
+
"key-figure": require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_KeyFigureEmbedPlugin.keyFigureEmbedPlugin,
|
|
38
|
+
"contact-block": require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_contactBlockEmbedPlugin.contactBlockEmbedPlugin,
|
|
39
|
+
"campaign-block": require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_campaignBlockPlugin.campaignBlockPlugin,
|
|
40
|
+
"link-block": require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_linkBlockEmbedPlugin.linkBlockPlugin,
|
|
41
|
+
"uu-disclaimer": require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_uuDisclaimerEmbedPlugin.uuDisclaimerEmbedPlugin,
|
|
42
|
+
copyright: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_copyrightEmbedPlugin.copyrightEmbedPlugin,
|
|
43
|
+
symbol: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_symbolEmbedPlugin.symbolEmbedPlugin
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.js');
|
|
2
|
-
const
|
|
2
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_transform = require('../../transform.js');
|
|
3
3
|
const html_react_parser = require_rolldown_runtime.__toESM(require("html-react-parser"));
|
|
4
4
|
const __ndla_ui = require_rolldown_runtime.__toESM(require("@ndla/ui"));
|
|
5
5
|
const react_jsx_runtime = require_rolldown_runtime.__toESM(require("react/jsx-runtime"));
|
|
@@ -9,7 +9,7 @@ const uuDisclaimerEmbedPlugin = (element, opts, transformOpts) => {
|
|
|
9
9
|
const props = (0, html_react_parser.attributesToProps)(element.attribs);
|
|
10
10
|
const data = JSON.parse(props["data-json"]);
|
|
11
11
|
if (data.status === "error") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: (0, html_react_parser.domToReact)(element.children, opts) });
|
|
12
|
-
const transformedDisclaimer =
|
|
12
|
+
const transformedDisclaimer = require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_transform.transform_default(data.data.transformedContent, transformOpts);
|
|
13
13
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__ndla_ui.UuDisclaimerEmbed, {
|
|
14
14
|
embed: data,
|
|
15
15
|
transformedDisclaimer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uuDisclaimerEmbedPlugin.js","names":["uuDisclaimerEmbedPlugin: PluginType","UuDisclaimerEmbed"],"sources":["../../../src/plugins/embed/uuDisclaimerEmbedPlugin.tsx"],"sourcesContent":["/**\n * Copyright (c) 2024-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { type DOMNode, attributesToProps, domToReact } from \"html-react-parser\";\nimport { type UuDisclaimerMetaData } from \"@ndla/types-embed\";\nimport { UuDisclaimerEmbed } from \"@ndla/ui\";\nimport transform from \"../../transform\";\nimport { type PluginType } from \"../types\";\n\nexport const uuDisclaimerEmbedPlugin: PluginType = (element, opts, transformOpts) => {\n const props = attributesToProps(element.attribs);\n const data = JSON.parse(props[\"data-json\"] as string) as UuDisclaimerMetaData;\n if (data.status === \"error\") {\n return <>{domToReact(element.children as DOMNode[], opts)}</>;\n }\n const transformedDisclaimer = transform(data.data.transformedContent, transformOpts);\n return (\n <UuDisclaimerEmbed embed={data} transformedDisclaimer={transformedDisclaimer}>\n {domToReact(element.children as DOMNode[], opts)}\n </UuDisclaimerEmbed>\n );\n};\n"],"mappings":";;;;;;;AAcA,MAAaA,0BAAsC,CAAC,SAAS,MAAM,kBAAkB;CACnF,MAAM,QAAQ,yCAAkB,QAAQ,QAAQ;CAChD,MAAM,OAAO,KAAK,MAAM,MAAM,aAAuB;AACrD,KAAI,KAAK,WAAW,QAClB,wBAAO,mEAAG,kCAAW,QAAQ,UAAuB,KAAK,GAAI;CAE/D,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"uuDisclaimerEmbedPlugin.js","names":["uuDisclaimerEmbedPlugin: PluginType","UuDisclaimerEmbed"],"sources":["../../../src/plugins/embed/uuDisclaimerEmbedPlugin.tsx"],"sourcesContent":["/**\n * Copyright (c) 2024-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { type DOMNode, attributesToProps, domToReact } from \"html-react-parser\";\nimport { type UuDisclaimerMetaData } from \"@ndla/types-embed\";\nimport { UuDisclaimerEmbed } from \"@ndla/ui\";\nimport transform from \"../../transform\";\nimport { type PluginType } from \"../types\";\n\nexport const uuDisclaimerEmbedPlugin: PluginType = (element, opts, transformOpts) => {\n const props = attributesToProps(element.attribs);\n const data = JSON.parse(props[\"data-json\"] as string) as UuDisclaimerMetaData;\n if (data.status === \"error\") {\n return <>{domToReact(element.children as DOMNode[], opts)}</>;\n }\n const transformedDisclaimer = transform(data.data.transformedContent, transformOpts);\n return (\n <UuDisclaimerEmbed embed={data} transformedDisclaimer={transformedDisclaimer}>\n {domToReact(element.children as DOMNode[], opts)}\n </UuDisclaimerEmbed>\n );\n};\n"],"mappings":";;;;;;;AAcA,MAAaA,0BAAsC,CAAC,SAAS,MAAM,kBAAkB;CACnF,MAAM,QAAQ,yCAAkB,QAAQ,QAAQ;CAChD,MAAM,OAAO,KAAK,MAAM,MAAM,aAAuB;AACrD,KAAI,KAAK,WAAW,QAClB,wBAAO,mEAAG,kCAAW,QAAQ,UAAuB,KAAK,GAAI;CAE/D,MAAM,wBAAwB,6GAAU,KAAK,KAAK,oBAAoB,cAAc;AACpF,wBACE,2BAACC;EAAkB,OAAO;EAA6B;YACpD,kCAAW,QAAQ,UAAuB,KAAK;GAC9B;AAEvB"}
|
package/lib/plugins/index.js
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
const
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
1
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_anchorPlugin = require('./anchorPlugin.js');
|
|
2
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_asidePlugin = require('./asidePlugin.js');
|
|
3
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_blockquotePlugin = require('./blockquotePlugin.js');
|
|
4
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_copyParagraphPlugin = require('./copyParagraphPlugin.js');
|
|
5
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_detailsPlugin = require('./detailsPlugin.js');
|
|
6
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_divPlugin = require('./divPlugin.js');
|
|
7
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_dlPlugin = require('./dlPlugin.js');
|
|
8
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_h3Plugin = require('./h3Plugin.js');
|
|
9
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_mathPlugin = require('./mathPlugin.js');
|
|
10
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_navPlugin = require('./navPlugin.js');
|
|
11
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_oembed_anchorPlugin = require('./oembed/anchorPlugin.js');
|
|
12
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_olPlugin = require('./olPlugin.js');
|
|
13
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_paragraphPlugin = require('./paragraphPlugin.js');
|
|
14
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_summaryPlugin = require('./summaryPlugin.js');
|
|
15
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_tablePlugin = require('./tablePlugin.js');
|
|
16
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_ulPlugin = require('./ulPlugin.js');
|
|
17
17
|
|
|
18
18
|
//#region src/plugins/index.ts
|
|
19
19
|
const basePlugins = {
|
|
20
|
-
h2:
|
|
21
|
-
h3:
|
|
22
|
-
ol:
|
|
23
|
-
p:
|
|
24
|
-
math:
|
|
25
|
-
div:
|
|
26
|
-
table:
|
|
27
|
-
aside:
|
|
28
|
-
ul:
|
|
29
|
-
nav:
|
|
30
|
-
a:
|
|
31
|
-
summary:
|
|
32
|
-
details:
|
|
33
|
-
dl:
|
|
34
|
-
blockquote:
|
|
20
|
+
h2: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_copyParagraphPlugin.copyParagraphPlugin,
|
|
21
|
+
h3: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_h3Plugin.h3Plugin,
|
|
22
|
+
ol: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_olPlugin.olPlugin,
|
|
23
|
+
p: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_paragraphPlugin.paragraphPlugin,
|
|
24
|
+
math: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_mathPlugin.mathPlugin,
|
|
25
|
+
div: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_divPlugin.divPlugin,
|
|
26
|
+
table: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_tablePlugin.tablePlugin,
|
|
27
|
+
aside: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_asidePlugin.asidePlugin,
|
|
28
|
+
ul: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_ulPlugin.ulPlugin,
|
|
29
|
+
nav: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_navPlugin.navPlugin,
|
|
30
|
+
a: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_anchorPlugin.anchorPlugin,
|
|
31
|
+
summary: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_summaryPlugin.summaryPlugin,
|
|
32
|
+
details: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_detailsPlugin.detailsPlugin,
|
|
33
|
+
dl: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_dlPlugin.dlPlugin,
|
|
34
|
+
blockquote: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_blockquotePlugin.blockquotePlugin
|
|
35
35
|
};
|
|
36
36
|
const oembedPlugins = {
|
|
37
37
|
...basePlugins,
|
|
38
|
-
a:
|
|
38
|
+
a: require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_oembed_anchorPlugin.anchorPlugin$1
|
|
39
39
|
};
|
|
40
40
|
|
|
41
41
|
//#endregion
|
package/lib/transform.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('./_virtual/rolldown_runtime.js');
|
|
2
|
-
const
|
|
3
|
-
const
|
|
2
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_index = require('./plugins/index.js');
|
|
3
|
+
const require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_index = require('./plugins/embed/index.js');
|
|
4
4
|
const html_react_parser = require_rolldown_runtime.__toESM(require("html-react-parser"));
|
|
5
5
|
const __ndla_ui = require_rolldown_runtime.__toESM(require("@ndla/ui"));
|
|
6
6
|
const react_jsx_runtime = require_rolldown_runtime.__toESM(require("react/jsx-runtime"));
|
|
7
7
|
|
|
8
8
|
//#region src/transform.tsx
|
|
9
9
|
const transform = (content, opts) => {
|
|
10
|
-
const plugins = opts?.isOembed ?
|
|
10
|
+
const plugins = opts?.isOembed ? require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_index.oembedPlugins : require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_index.basePlugins;
|
|
11
11
|
const options = { replace: (node) => {
|
|
12
12
|
if (!("attribs" in node)) return;
|
|
13
13
|
if (plugins[node.name]) return plugins[node.name](node, options, opts);
|
|
14
14
|
if (node.name === "ndlaembed") {
|
|
15
|
-
if (
|
|
15
|
+
if (require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_index.embedPlugins[node.attribs["data-resource"]]) return require__Users_amatho_code_ndla_frontend_packages_packages_article_converter_src_plugins_embed_index.embedPlugins[node.attribs["data-resource"]](node, options, opts);
|
|
16
16
|
const embed = JSON.parse(node.attribs["data-json"]);
|
|
17
17
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__ndla_ui.UnknownEmbed, { embed });
|
|
18
18
|
}
|
package/lib/transform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","names":["content: string","opts: TransformOptions","oembedPlugins","basePlugins","options: HTMLReactParserOptions","embedPlugins","UnknownEmbed"],"sources":["../src/transform.tsx"],"sourcesContent":["/**\n * Copyright (c) 2023-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport parse, { type HTMLReactParserOptions } from \"html-react-parser\";\nimport { type MetaData } from \"@ndla/types-embed\";\nimport { UnknownEmbed } from \"@ndla/ui\";\nimport { basePlugins, oembedPlugins } from \"./plugins\";\nimport { embedPlugins } from \"./plugins/embed\";\nimport { type TransformOptions } from \"./plugins/types\";\n\nconst transform = (content: string, opts: TransformOptions) => {\n const plugins = opts?.isOembed ? oembedPlugins : basePlugins;\n const options: HTMLReactParserOptions = {\n replace: (node) => {\n if (!(\"attribs\" in node)) {\n return;\n }\n if (plugins[node.name]) {\n return plugins[node.name](node, options, opts);\n }\n if (node.name === \"ndlaembed\") {\n if (embedPlugins[node.attribs[\"data-resource\"]]) {\n return embedPlugins[node.attribs[\"data-resource\"]](node, options, opts);\n }\n const embed = JSON.parse(node.attribs[\"data-json\"]) as MetaData<any, any>;\n return <UnknownEmbed embed={embed} />;\n }\n },\n };\n const replaced = parse(content, options);\n\n return replaced;\n};\n\nexport default transform;\n"],"mappings":";;;;;;;;AAeA,MAAM,YAAY,CAACA,SAAiBC,SAA2B;CAC7D,MAAM,UAAU,MAAM,WAAWC
|
|
1
|
+
{"version":3,"file":"transform.js","names":["content: string","opts: TransformOptions","oembedPlugins","basePlugins","options: HTMLReactParserOptions","embedPlugins","UnknownEmbed"],"sources":["../src/transform.tsx"],"sourcesContent":["/**\n * Copyright (c) 2023-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport parse, { type HTMLReactParserOptions } from \"html-react-parser\";\nimport { type MetaData } from \"@ndla/types-embed\";\nimport { UnknownEmbed } from \"@ndla/ui\";\nimport { basePlugins, oembedPlugins } from \"./plugins\";\nimport { embedPlugins } from \"./plugins/embed\";\nimport { type TransformOptions } from \"./plugins/types\";\n\nconst transform = (content: string, opts: TransformOptions) => {\n const plugins = opts?.isOembed ? oembedPlugins : basePlugins;\n const options: HTMLReactParserOptions = {\n replace: (node) => {\n if (!(\"attribs\" in node)) {\n return;\n }\n if (plugins[node.name]) {\n return plugins[node.name](node, options, opts);\n }\n if (node.name === \"ndlaembed\") {\n if (embedPlugins[node.attribs[\"data-resource\"]]) {\n return embedPlugins[node.attribs[\"data-resource\"]](node, options, opts);\n }\n const embed = JSON.parse(node.attribs[\"data-json\"]) as MetaData<any, any>;\n return <UnknownEmbed embed={embed} />;\n }\n },\n };\n const replaced = parse(content, options);\n\n return replaced;\n};\n\nexport default transform;\n"],"mappings":";;;;;;;;AAeA,MAAM,YAAY,CAACA,SAAiBC,SAA2B;CAC7D,MAAM,UAAU,MAAM,WAAWC,+GAAgBC;CACjD,MAAMC,UAAkC,EACtC,SAAS,CAAC,SAAS;AACjB,QAAM,aAAa,MACjB;AAEF,MAAI,QAAQ,KAAK,MACf,QAAO,QAAQ,KAAK,MAAM,MAAM,SAAS,KAAK;AAEhD,MAAI,KAAK,SAAS,aAAa;AAC7B,OAAIC,kHAAa,KAAK,QAAQ,kBAC5B,QAAO,kHAAa,KAAK,QAAQ,kBAAkB,MAAM,SAAS,KAAK;GAEzE,MAAM,QAAQ,KAAK,MAAM,KAAK,QAAQ,aAAa;AACnD,0BAAO,2BAACC,0BAAoB,QAAS;EACtC;CACF,EACF;CACD,MAAM,WAAW,+BAAM,SAAS,QAAQ;AAExC,QAAO;AACR;AAED,wBAAe"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ndla/article-converter",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.134-alpha.0",
|
|
4
4
|
"description": "Transforms NDLA articles into extended html versions",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
],
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@ndla/types-backend": "^1.0.50",
|
|
32
|
-
"@ndla/types-embed": "^5.0.
|
|
32
|
+
"@ndla/types-embed": "^5.0.16-alpha.0"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@ndla/primitives": "^1.0.93-alpha.0",
|
|
36
36
|
"@ndla/safelink": "^7.0.95-alpha.0",
|
|
37
|
-
"@ndla/ui": "^56.0.
|
|
37
|
+
"@ndla/ui": "^56.0.131-alpha.0",
|
|
38
38
|
"html-react-parser": "^5.1.19"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"publishConfig": {
|
|
48
48
|
"access": "public"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "a44892aa221ceac9a0b1273fc8563348f638b43e"
|
|
51
51
|
}
|
|
@@ -6,20 +6,22 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { attributesToProps } from "html-react-parser";
|
|
9
|
+
import { attributesToProps, domToReact, type DOMNode } from "html-react-parser";
|
|
10
10
|
import { type ConceptMetaData } from "@ndla/types-embed";
|
|
11
11
|
import { ConceptEmbed } from "@ndla/ui";
|
|
12
12
|
import { type PluginType } from "../types";
|
|
13
13
|
|
|
14
|
-
export const conceptEmbedPlugin: PluginType = (element,
|
|
14
|
+
export const conceptEmbedPlugin: PluginType = (element, parserOpts, transformOpts) => {
|
|
15
15
|
const props = attributesToProps(element.attribs);
|
|
16
16
|
const data = JSON.parse(props["data-json"] as string) as ConceptMetaData;
|
|
17
17
|
return (
|
|
18
18
|
<ConceptEmbed
|
|
19
19
|
embed={data}
|
|
20
|
-
lang={
|
|
21
|
-
renderContext={
|
|
22
|
-
previewAlt={
|
|
23
|
-
|
|
20
|
+
lang={transformOpts.articleLanguage}
|
|
21
|
+
renderContext={transformOpts.renderContext}
|
|
22
|
+
previewAlt={transformOpts.previewAlt}
|
|
23
|
+
>
|
|
24
|
+
{domToReact(element.children as DOMNode[], parserOpts)}
|
|
25
|
+
</ConceptEmbed>
|
|
24
26
|
);
|
|
25
27
|
};
|