UNPKG

@rr0/cms

Version:

RR0 Content Management System (CMS)

31 lines (30 loc) 1.14 kB
import { CodeParser } from "./CodeParser.js"; export class HtmlCodeParser extends CodeParser { constructor(tagOpenStart = "&lt;", tagOpenEnd = "&gt;", tagCloseStart = "&lt;\/", tagCloseEnd = "&gt;") { super(); this.tagOpenStart = tagOpenStart; this.tagOpenEnd = tagOpenEnd; this.tagCloseStart = tagCloseStart; this.tagCloseEnd = tagCloseEnd; } escape(line) { return line.replaceAll("<", this.tagOpenStart).replaceAll(">", this.tagOpenEnd); } parseLine(line) { const tagSpan = "<span class=\"tag "; //if (line.indexOf(tagSpan) < 0) { const l = this.escape(line); /* const tagName = '([A-z-]+)'; return l .replaceAll( new RegExp(this.tagOpenStart + tagName + this.tagOpenEnd, 'gm'), `${tagSpan}start">${this.tagOpenStart}$1${this.tagOpenEnd}</span>` ) .replaceAll( new RegExp(this.tagCloseStart + tagName + this.tagCloseEnd, 'gm'), `${tagSpan}end">${this.tagCloseStart}$1${this.tagCloseEnd}</span>` ); }*/ return l; } }