@rr0/cms
Version:
RR0 Content Management System (CMS)
31 lines (30 loc) • 1.14 kB
JavaScript
import { CodeParser } from "./CodeParser.js";
export class HtmlCodeParser extends CodeParser {
constructor(tagOpenStart = "<", tagOpenEnd = ">", tagCloseStart = "<\/", tagCloseEnd = ">") {
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;
}
}