@wordpress/block-library
Version:
Block library for the WordPress editor.
79 lines (76 loc) • 1.94 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _blocks = require("@wordpress/blocks");
var _richText = require("@wordpress/rich-text");
var _getTransformedMetadata = require("../utils/get-transformed-metadata");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
const transforms = {
from: [{
type: 'enter',
regExp: /^```$/,
transform: () => (0, _blocks.createBlock)('core/code')
}, {
type: 'block',
blocks: ['core/paragraph'],
transform: ({
content,
metadata
}) => (0, _blocks.createBlock)('core/code', {
content,
metadata: (0, _getTransformedMetadata.getTransformedMetadata)(metadata, 'core/code')
})
}, {
type: 'block',
blocks: ['core/html'],
transform: ({
content: text,
metadata
}) => {
return (0, _blocks.createBlock)('core/code', {
// The HTML is plain text (with plain line breaks), so
// convert it to rich text.
content: (0, _richText.toHTMLString)({
value: (0, _richText.create)({
text
})
}),
metadata: (0, _getTransformedMetadata.getTransformedMetadata)(metadata, 'core/code')
});
}
}, {
type: 'raw',
isMatch: node => node.nodeName === 'PRE' && node.children.length === 1 && node.firstChild.nodeName === 'CODE',
schema: {
pre: {
children: {
code: {
children: {
'#text': {}
}
}
}
}
}
}],
to: [{
type: 'block',
blocks: ['core/paragraph'],
transform: ({
content,
metadata
}) => (0, _blocks.createBlock)('core/paragraph', {
content,
metadata: (0, _getTransformedMetadata.getTransformedMetadata)(metadata, 'core/paragraph')
})
}]
};
var _default = exports.default = transforms;
//# sourceMappingURL=transforms.js.map
;