import dateFnsFormat from 'date-fns/format'; export default class CrowiTemplate { constructor(crowi) { this.templatePattern = { 'year': this.getYear, 'month': this.getMonth, 'date': this.getDate, 'user': this.getUser, }; } process(markdown) { // see: https://regex101.com/r/WR6IvX/3 return markdown.replace(/:::\s*(\S+)[\r\n]((.|[\r\n])*?)[\r\n]:::/gm, (all, group1, group2) => { const lang = group1; let code = group2; if (!lang.match(/^template/)) { return all; } const templateId = new Date().getTime().toString(16) + Math.floor(1000 * Math.random()).toString(16); let pageName = lang; if (lang.match(':')) { pageName = this.parseTemplateString(lang.split(':')[1]); } code = this.parseTemplateString(code); return ( /* eslint-disable quotes */ `
${code}\n` +
`