datocms-structured-text-generic-html-renderer
Advanced tools
Comparing version 0.1.0-alpha.12 to 0.1.0-alpha.14
@@ -0,1 +1,2 @@ | ||
"use strict"; | ||
var __spreadArrays = (this && this.__spreadArrays) || function () { | ||
@@ -8,86 +9,75 @@ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; | ||
}; | ||
(function (factory) { | ||
if (typeof module === "object" && typeof module.exports === "object") { | ||
var v = factory(require, exports); | ||
if (v !== undefined) module.exports = v; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.render = exports.markToTagName = exports.RenderError = exports.renderRule = void 0; | ||
var datocms_structured_text_utils_1 = require("datocms-structured-text-utils"); | ||
Object.defineProperty(exports, "renderRule", { enumerable: true, get: function () { return datocms_structured_text_utils_1.renderRule; } }); | ||
Object.defineProperty(exports, "RenderError", { enumerable: true, get: function () { return datocms_structured_text_utils_1.RenderError; } }); | ||
function markToTagName(mark) { | ||
switch (mark) { | ||
case 'emphasis': | ||
return 'em'; | ||
case 'underline': | ||
return 'u'; | ||
case 'strikethrough': | ||
return 'strike'; | ||
case 'highlight': | ||
return 'mark'; | ||
default: | ||
return mark; | ||
} | ||
else if (typeof define === "function" && define.amd) { | ||
define(["require", "exports", "datocms-structured-text-utils"], factory); | ||
} | ||
})(function (require, exports) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.render = exports.markToTagName = exports.RenderError = exports.renderRule = void 0; | ||
var datocms_structured_text_utils_1 = require("datocms-structured-text-utils"); | ||
Object.defineProperty(exports, "renderRule", { enumerable: true, get: function () { return datocms_structured_text_utils_1.renderRule; } }); | ||
Object.defineProperty(exports, "RenderError", { enumerable: true, get: function () { return datocms_structured_text_utils_1.RenderError; } }); | ||
function markToTagName(mark) { | ||
switch (mark) { | ||
case 'emphasis': | ||
return 'em'; | ||
case 'underline': | ||
return 'u'; | ||
case 'strikethrough': | ||
return 'strike'; | ||
case 'highlight': | ||
return 'mark'; | ||
default: | ||
return mark; | ||
} | ||
} | ||
exports.markToTagName = markToTagName; | ||
function render(adapter, structuredText, customRules) { | ||
return datocms_structured_text_utils_1.render(adapter, structuredText, __spreadArrays(customRules, [ | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isRoot, function (_a) { | ||
var renderFragment = _a.adapter.renderFragment, key = _a.key, children = _a.children; | ||
return renderFragment(children, key); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isParagraph, function (_a) { | ||
var renderNode = _a.adapter.renderNode, key = _a.key, children = _a.children; | ||
return renderNode('p', { key: key }, children); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isList, function (_a) { | ||
var renderNode = _a.adapter.renderNode, node = _a.node, key = _a.key, children = _a.children; | ||
return renderNode(node.style === 'bulleted' ? 'ul' : 'ol', { key: key }, children); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isListItem, function (_a) { | ||
var renderNode = _a.adapter.renderNode, key = _a.key, children = _a.children; | ||
return renderNode('li', { key: key }, children); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isBlockquote, function (_a) { | ||
var renderNode = _a.adapter.renderNode, key = _a.key, children = _a.children; | ||
return renderNode('blockquote', { key: key }, children); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isCode, function (_a) { | ||
var _b = _a.adapter, renderNode = _b.renderNode, renderText = _b.renderText, key = _a.key, node = _a.node; | ||
return renderNode('pre', { key: key, 'data-language': node.language }, renderNode('code', null, renderText(node.code))); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isLink, function (_a) { | ||
var renderNode = _a.adapter.renderNode, key = _a.key, children = _a.children, node = _a.node; | ||
return renderNode('a', { key: key, href: node.url }, children); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isHeading, function (_a) { | ||
var node = _a.node, renderNode = _a.adapter.renderNode, children = _a.children, key = _a.key; | ||
return renderNode("h" + node.level, { key: key }, children); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isSpan, function (_a) { | ||
var _b = _a.adapter, renderNode = _b.renderNode, renderText = _b.renderText, key = _a.key, node = _a.node; | ||
var marks = node.marks || []; | ||
var lines = node.value.split(/\n/); | ||
var textWithNewlinesConvertedToBr = lines.length > 0 | ||
? lines.slice(1).reduce(function (acc, line, index) { | ||
return acc.concat([ | ||
renderNode('br', { key: "br-" + index }), | ||
renderText(line, "line-" + index), | ||
]); | ||
}, [renderText(lines[0], 'line-first')]) | ||
: renderText(node.value, key); | ||
return marks.reduce(function (children, mark) { | ||
return renderNode(markToTagName(mark), { key: key }, children); | ||
}, textWithNewlinesConvertedToBr); | ||
}), | ||
])); | ||
} | ||
exports.render = render; | ||
}); | ||
} | ||
exports.markToTagName = markToTagName; | ||
function render(adapter, structuredText, customRules) { | ||
return datocms_structured_text_utils_1.render(adapter, structuredText, __spreadArrays(customRules, [ | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isRoot, function (_a) { | ||
var renderFragment = _a.adapter.renderFragment, key = _a.key, children = _a.children; | ||
return renderFragment(children, key); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isParagraph, function (_a) { | ||
var renderNode = _a.adapter.renderNode, key = _a.key, children = _a.children; | ||
return renderNode('p', { key: key }, children); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isList, function (_a) { | ||
var renderNode = _a.adapter.renderNode, node = _a.node, key = _a.key, children = _a.children; | ||
return renderNode(node.style === 'bulleted' ? 'ul' : 'ol', { key: key }, children); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isListItem, function (_a) { | ||
var renderNode = _a.adapter.renderNode, key = _a.key, children = _a.children; | ||
return renderNode('li', { key: key }, children); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isBlockquote, function (_a) { | ||
var renderNode = _a.adapter.renderNode, key = _a.key, children = _a.children; | ||
return renderNode('blockquote', { key: key }, children); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isCode, function (_a) { | ||
var _b = _a.adapter, renderNode = _b.renderNode, renderText = _b.renderText, key = _a.key, node = _a.node; | ||
return renderNode('pre', { key: key, 'data-language': node.language }, renderNode('code', null, renderText(node.code))); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isLink, function (_a) { | ||
var renderNode = _a.adapter.renderNode, key = _a.key, children = _a.children, node = _a.node; | ||
return renderNode('a', { key: key, href: node.url }, children); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isHeading, function (_a) { | ||
var node = _a.node, renderNode = _a.adapter.renderNode, children = _a.children, key = _a.key; | ||
return renderNode("h" + node.level, { key: key }, children); | ||
}), | ||
datocms_structured_text_utils_1.renderRule(datocms_structured_text_utils_1.isSpan, function (_a) { | ||
var _b = _a.adapter, renderNode = _b.renderNode, renderText = _b.renderText, key = _a.key, node = _a.node; | ||
var marks = node.marks || []; | ||
var lines = node.value.split(/\n/); | ||
var textWithNewlinesConvertedToBr = lines.length > 0 | ||
? lines.slice(1).reduce(function (acc, line, index) { | ||
return acc.concat([ | ||
renderNode('br', { key: "br-" + index }), | ||
renderText(line, "line-" + index), | ||
]); | ||
}, [renderText(lines[0], 'line-first')]) | ||
: renderText(node.value, key); | ||
return marks.reduce(function (children, mark) { | ||
return renderNode(markToTagName(mark), { key: key }, children); | ||
}, textWithNewlinesConvertedToBr); | ||
}), | ||
])); | ||
} | ||
exports.render = render; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "datocms-structured-text-generic-html-renderer", | ||
"version": "0.1.0-alpha.12", | ||
"version": "0.1.0-alpha.14", | ||
"description": "A set of Typescript types and helpers to work with DatoCMS Structured Text fields", | ||
@@ -33,5 +33,5 @@ "keywords": [ | ||
"dependencies": { | ||
"datocms-structured-text-utils": "^0.1.0-alpha.12" | ||
"datocms-structured-text-utils": "^0.1.0-alpha.14" | ||
}, | ||
"gitHead": "1e37c19f72f5c676114f4ab0d7ef86f0d7deda3b" | ||
"gitHead": "ea4b4763c9b49fdfa6d5559debc25835a94ea889" | ||
} |
Sorry, the diff of this file is not supported yet
10626
85