UNPKG

mrkdown

Version:

Markdown files to HTML static site generator - angular.js app

54 lines (53 loc) 2.56 kB
"use strict"; var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.markdownRenderer = void 0; var marked_1 = __importDefault(require("marked")); var path_1 = __importDefault(require("path")); var common_1 = require("./common"); var config_1 = require("./config"); function markdownRenderer(sourceFile, distFile, obj) { var ren = new marked_1.default.Renderer(); ren.image = function (href, title, text) { var folderName = (0, common_1.removeIfAnyEmptyStringInArray)(path_1.default.dirname(distFile).replace(path_1.default.resolve(config_1.defaultConfig.distFolderName), "").split("/").join("\\").split("\\")); var hrefFolder = (0, common_1.removeIfAnyEmptyStringInArray)(href.split("/").join("\\").split("\\")); var curDot = hrefFolder[0]; while (curDot == "." || curDot == "..") { if (curDot == "..") { folderName.pop(); hrefFolder.shift(); } else { hrefFolder.shift(); } curDot = hrefFolder[0]; } href = __spreadArray(__spreadArray(["."], folderName, true), hrefFolder, true).join('/'); return "<img src=\"".concat(href, "\" title=\"").concat(text, "\" alt=\"").concat(text, "\">"); }; ren.code = function (code, language, isEscaped) { var id = ("id" + obj.codeCount); if (obj.codeCount > 0) { obj.code += "$scope.".concat(id, " = ") + "`" + code.replace(/\`/g, "\\`").replace(/\$/g, '\\$') + "`;\n"; } else { obj.code = "$scope.".concat(id, " = ") + "`" + code.replace(/\`/g, "\\`") + "`;\n"; } obj.codeCount++; obj.code += "$timeout(function () { var ".concat(id, " = $scope.").concat(id, "; $scope.").concat(id, " = ''; $timeout(function () { $scope.").concat(id, " = ").concat(id, " }, 0) }, 1000);\n"); return "<textarea ng-model=\"".concat(id, "\" ui-codemirror></textarea>"); }; return ren; } exports.markdownRenderer = markdownRenderer;