diff --git a/docs/en/docs/js/termynal.js b/docs/en/docs/js/termynal.js index 82d04e2d0..d42727b53 100644 --- a/docs/en/docs/js/termynal.js +++ b/docs/en/docs/js/termynal.js @@ -222,13 +222,35 @@ class Termynal { */ lineDataToElements(lineData) { return lineData.map(line => { - let div = document.createElement('div'); - div.innerHTML = `${line.value || ''}`; + let span = document.createElement('span'); + span.textContent = line.value || ''; + this._setAttributes(span, line); - return div.firstElementChild; + return span; }); } + /** + * Helper function for safely setting attributes on element. + * + * @param {Element} element - The element to set attributes on. + * @param {Object} line - Line data object. + */ + _setAttributes(element, line) { + for (let prop in line) { + // Custom add class + if (prop === 'class') { + element.className = line[prop]; + continue; + } + if (prop === 'type') { + element.setAttribute(this.pfx, line[prop]); + } else if (prop !== 'value') { + element.setAttribute(`${this.pfx}-${prop}`, line[prop]); + } + } + } + /** * Helper function for generating attributes string. *