muralipala1504 commited on
Commit
c4bd131
·
1 Parent(s): 1753af7

feat: add syntax highlighting for python/docker/yaml/hcl + fix marked renderer

Browse files
Files changed (2) hide show
  1. app.js +9 -1
  2. index.html +5 -1
app.js CHANGED
@@ -14,7 +14,15 @@
14
  }
15
 
16
  function renderMarkdown(md) {
17
- if (window.marked) return marked.parse(md);
 
 
 
 
 
 
 
 
18
  return `<pre>${escapeHtml(md)}</pre>`;
19
  }
20
 
 
14
  }
15
 
16
  function renderMarkdown(md) {
17
+ if (window.marked) {
18
+ const renderer = new marked.Renderer();
19
+ renderer.code = function(code, lang) {
20
+ const language = lang || 'bash';
21
+ const validLang = Prism.languages[language] ? language : 'bash';
22
+ return `<pre><code class="language-${validLang}">${escapeHtml(code)}</code></pre>`;
23
+ };
24
+ return marked.parse(md, { renderer });
25
+ }
26
  return `<pre>${escapeHtml(md)}</pre>`;
27
  }
28
 
index.html CHANGED
@@ -6,9 +6,13 @@
6
  <title>DeepShell Chat</title>
7
 
8
  <!-- Optional: Prism for code highlighting inside responses -->
9
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism.min.css" />
10
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
11
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-bash.min.js"></script>
 
 
 
 
12
 
13
  <!-- Optional: marked for Markdown rendering -->
14
  <script src="https://cdnjs.cloudflare.com/ajax/libs/marked/12.0.2/marked.min.js"></script>
 
6
  <title>DeepShell Chat</title>
7
 
8
  <!-- Optional: Prism for code highlighting inside responses -->
9
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css" />
10
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
11
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-bash.min.js"></script>
12
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-python.min.js"></script>
13
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-docker.min.js"></script>
14
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-yaml.min.js"></script>
15
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-hcl.min.js"></script>
16
 
17
  <!-- Optional: marked for Markdown rendering -->
18
  <script src="https://cdnjs.cloudflare.com/ajax/libs/marked/12.0.2/marked.min.js"></script>