UNPKG

@diplodoc/transform

Version:

A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML

44 lines 1.74 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; const markdown_it_1 = __importDefault(require("markdown-it")); const path_1 = require("path"); const utils_1 = require("../../utils"); const utilsFS_1 = require("../../utilsFS"); const deflist_1 = __importDefault(require("../deflist")); const imsize_1 = __importDefault(require("../imsize")); const collect = (input, options) => { const md = new markdown_it_1.default().use(imsize_1.default).use(deflist_1.default); const { root, path, destPath = '', copyFile, singlePage } = options; const tokens = md.parse(input, {}); let result = input; tokens.forEach((token) => { if (token.type !== 'inline') { return; } const children = token.children || []; children.forEach((childToken) => { if (childToken.type !== 'image') { return; } const src = (0, utils_1.getSrcTokenAttr)(childToken); if (!(0, utils_1.isLocalUrl)(src)) { return; } const targetPath = (0, utilsFS_1.resolveRelativePath)(path, src); const targetDestPath = (0, utilsFS_1.resolveRelativePath)(destPath, src); if (singlePage && !path.includes('_includes/')) { const newSrc = (0, path_1.relative)(root, (0, utilsFS_1.resolveRelativePath)(path, src)); result = result.replace(src, newSrc); } copyFile(targetPath, targetDestPath); }); }); if (singlePage) { return result; } return null; }; module.exports = collect; //# sourceMappingURL=collect.js.map