MCPcopy Create free account
hub / github.com/CreminiAI/skillpack / renderEmbeddedMarkdownBlocks

Function renderEmbeddedMarkdownBlocks

web/js/chat.js:181–209  ·  view source on GitHub ↗
(html)

Source from the content-addressed store, hash-verified

179}
180
181function renderEmbeddedMarkdownBlocks(html) {
182 const template = document.createElement("template");
183 template.innerHTML = html;
184
185 const codeBlocks = template.content.querySelectorAll("pre > code");
186 codeBlocks.forEach((codeEl) => {
187 const languageClass = Array.from(codeEl.classList).find((className) =>
188 className.startsWith("language-")
189 );
190 const language = languageClass ? languageClass.slice("language-".length) : "";
191
192 if (!/^(markdown|md)$/i.test(language)) {
193 return;
194 }
195
196 const preview = document.createElement("div");
197 preview.className = "embedded-markdown-preview markdown-body";
198 preview.innerHTML = renderMarkdown(codeEl.textContent || "", {
199 renderEmbeddedMarkdown: false,
200 });
201
202 const pre = codeEl.parentElement;
203 if (pre) {
204 pre.replaceWith(preview);
205 }
206 });
207
208 return template.innerHTML;
209}
210
211function clearReconnectTimer() {
212 if (reconnectTimer !== null) {

Callers 1

renderMarkdownFunction · 0.85

Calls 1

renderMarkdownFunction · 0.85

Tested by

no test coverage detected