@curvenote/schema
Version:
Schema and markdown parser for @curvenote/editor
48 lines • 1.23 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.toTex = exports.toMarkdown = void 0;
const types_1 = require("./types");
const citeGroup = {
attrs: {},
inline: true,
atom: true,
group: types_1.NodeGroups.inline,
marks: '',
content: `${types_1.NodeGroups.cite}+`,
draggable: true,
parseDOM: [
{
tag: 'cite-group',
getAttrs() {
return {};
},
},
],
toDOM() {
return ['cite-group', 0];
},
attrsFromMyst: () => ({}),
toMyst: (props) => ({
type: 'citeGroup',
kind: 'parenthetical',
children: props.children,
}),
};
const toMarkdown = (state, node) => {
state.nextCitationInGroup = node.childCount;
state.write('{cite:p}`');
state.renderInline(node);
state.write('`');
state.nextCitationInGroup = 0;
};
exports.toMarkdown = toMarkdown;
const toTex = (state, node) => {
state.nextCitationInGroup = node.childCount;
state.write('\\citep{');
state.renderInline(node);
state.write('}');
state.nextCitationInGroup = 0;
};
exports.toTex = toTex;
exports.default = citeGroup;
//# sourceMappingURL=cite-group.js.map
;