|  | var template = ` | 
        
          |  | <style type="text/css"> | 
        
          |  | /* --- Basic Markdown CSS Style --- */ | 
        
          |  |  | 
        
          |  | /* General Body & Layout */ | 
        
          |  | body { | 
        
          |  | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; | 
        
          |  | line-height: 1.7; | 
        
          |  | font-size: 17px; | 
        
          |  | color: #333; | 
        
          |  | background-color: #fdfdfd; | 
        
          |  | margin: 0; | 
        
          |  | padding: 2rem; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | /* Constrain content width for better readability */ | 
        
          |  | body > *:not(h1, h2, h3, h4, h5, h6) { | 
        
          |  | max-width: 800px; | 
        
          |  | margin-left: auto; | 
        
          |  | margin-right: auto; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | /* --- Typography --- */ | 
        
          |  |  | 
        
          |  | /* Headings */ | 
        
          |  | h1, h2, h3, h4, h5, h6 { | 
        
          |  | font-weight: 700; | 
        
          |  | line-height: 1.2; | 
        
          |  | margin-top: 2em; | 
        
          |  | margin-bottom: 0.8em; | 
        
          |  | max-width: 800px; | 
        
          |  | margin-left: auto; | 
        
          |  | margin-right: auto; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | h1 { font-size: 2.2em; } | 
        
          |  | h2 { font-size: 1.8em; border-bottom: 1px solid #eee; padding-bottom: 0.3em; } | 
        
          |  | h3 { font-size: 1.5em; } | 
        
          |  | h4 { font-size: 1.2em; } | 
        
          |  | h5 { font-size: 1.0em; } | 
        
          |  | h6 { font-size: 0.9em; color: #777; } | 
        
          |  |  | 
        
          |  | /* Paragraphs */ | 
        
          |  | p { | 
        
          |  | margin-bottom: 1.2em; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | /* Links */ | 
        
          |  | a { | 
        
          |  | color: #007bff; | 
        
          |  | text-decoration: none; | 
        
          |  | transition: color 0.2s ease-in-out; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | a:hover { | 
        
          |  | color: #0056b3; | 
        
          |  | text-decoration: underline; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | /* --- Block Elements --- */ | 
        
          |  |  | 
        
          |  | /* Blockquotes */ | 
        
          |  | blockquote { | 
        
          |  | margin: 1.5em 0; | 
        
          |  | padding: 0.5em 1.5em; | 
        
          |  | color: #555; | 
        
          |  | background-color: #f9f9f9; | 
        
          |  | border-left: 5px solid #ccc; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | blockquote p { | 
        
          |  | margin-bottom: 0; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | /* Lists */ | 
        
          |  | ul, ol { | 
        
          |  | padding-left: 2em; | 
        
          |  | margin-bottom: 1.2em; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | li { | 
        
          |  | margin-bottom: 0.5em; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | /* Code Blocks */ | 
        
          |  | pre { | 
        
          |  | background-color: #f3f3f3; | 
        
          |  | border: 1px solid #ddd; | 
        
          |  | border-radius: 5px; | 
        
          |  | padding: 1em; | 
        
          |  | overflow-x: auto; /* Handle long lines of code */ | 
        
          |  | font-size: 0.9em; | 
        
          |  | line-height: 1.4; | 
        
          |  | max-width: 800px; | 
        
          |  | margin: 1.5em auto; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | /* Inline Code */ | 
        
          |  | code { | 
        
          |  | font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; | 
        
          |  | background-color: #f3f3f3; | 
        
          |  | padding: 0.2em 0.4em; | 
        
          |  | border-radius: 3px; | 
        
          |  | font-size: 0.9em; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | /* Code inside a pre block should not have extra styling */ | 
        
          |  | pre code { | 
        
          |  | background-color: transparent; | 
        
          |  | padding: 0; | 
        
          |  | border-radius: 0; | 
        
          |  | font-size: inherit; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | /* --- Other Elements --- */ | 
        
          |  |  | 
        
          |  | /* Horizontal Rule */ | 
        
          |  | hr { | 
        
          |  | border: 0; | 
        
          |  | height: 1px; | 
        
          |  | background-color: #ddd; | 
        
          |  | margin: 3em auto; | 
        
          |  | max-width: 800px; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | /* Images */ | 
        
          |  | img { | 
        
          |  | max-width: 100%; | 
        
          |  | height: auto; | 
        
          |  | display: block; | 
        
          |  | margin: 1.5em auto; | 
        
          |  | border-radius: 5px; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | /* Tables */ | 
        
          |  | table { | 
        
          |  | width: 100%; | 
        
          |  | border-collapse: collapse; | 
        
          |  | margin: 1.5em 0; | 
        
          |  | display: block; | 
        
          |  | overflow-x: auto; | 
        
          |  | max-width: 800px; | 
        
          |  | margin-left: auto; | 
        
          |  | margin-right: auto; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | th, td { | 
        
          |  | border: 1px solid #ddd; | 
        
          |  | padding: 0.8em; | 
        
          |  | text-align: left; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | th { | 
        
          |  | background-color: #f2f2f2; | 
        
          |  | font-weight: bold; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | tbody tr:nth-child(odd) { | 
        
          |  | background-color: #f9f9f9; | 
        
          |  | } | 
        
          |  | </style> | 
        
          |  |  | 
        
          |  | <div class="summary-text"> | 
        
          |  | {{{response.summary}}} | 
        
          |  | </div> | 
        
          |  | `; | 
        
          |  | //=== simple markdown parser (updated on 2021/10/11, v0.63) | 
        
          |  | function simpleMarkdown(mdText) { | 
        
          |  |  | 
        
          |  | // function for REGEXP to show html tag. ie. <TAG> => <TAG*gt; | 
        
          |  | var formatTag = function (html) { return html.replace(/</g,'<').replace(/\>/g,'>'); } | 
        
          |  |  | 
        
          |  | // format code-block, highlight remarks/keyword | 
        
          |  | var formatCode = function(m,p1,p2){ | 
        
          |  | p2 = p2.replace(/</g,'<').replace(/\>/g,'>').replace(/\/\/(.*)$/gm,'<rem>//$1</rem>') | 
        
          |  | p2 = p2.replace(/(function |return |var |let |const |else |if |for |while |continue |break |case |switch )/gim,'<b>$1</b>') | 
        
          |  | return '<pre title="' + p1 + '"><code>'  + p2 + '</code></pre>' | 
        
          |  | } | 
        
          |  |  | 
        
          |  | // function to convert mdString into HTML string | 
        
          |  | var formatMD = function( mdstr ) { | 
        
          |  | return mdstr.replace(/^##### (.*?)\s*#*$/gm, '<h5>$1</h5>') | 
        
          |  | .replace(/^#### (.*?)\s*#*$/gm, '<h4>$1</h4>') | 
        
          |  | .replace(/^### (.*?)\s*#*$/gm, '<h3>$1</h3>') | 
        
          |  | .replace(/^## (.*?)\s*#*$/gm, '<h2>$1</h2>') | 
        
          |  | .replace(/^# (.*?)\s*#*$/gm, '<h1>$1</h1>') | 
        
          |  | .replace(/^<h(\d)\>(.*?)\s*{(.*)}\s*<\/h\d\>$/gm, '<h$1 id="$3">$2</h$1>') | 
        
          |  | .replace(/^-{3,}|^\_{3,}|^\*{3,}/gm, '<hr/>') | 
        
          |  | .replace(/``(.*?)``/gm, function(m,p){ return '<code>' + formatTag(p).replace(/`/g,'`') + '</code>'} ) | 
        
          |  | .replace(/`(.*?)`/gm, '<code>$1</code>' ) | 
        
          |  | .replace(/^\>> (.*$)/gm, '<blockquote><blockquote>$1</blockquote></blockquote>') | 
        
          |  | .replace(/^\> (.*$)/gm, '<blockquote>$1</blockquote>') | 
        
          |  | .replace(/<\/blockquote\>\n<blockquote\>/g, '\n<br>' ) | 
        
          |  | .replace(/<\/blockquote\>\n<br\><blockquote\>/g, '\n<br>' ) | 
        
          |  | .replace(/!\[(.*?)\]\((.*?) "(.*?)"\)/gm, '<img alt="$1" src="$2" $3 />') | 
        
          |  | .replace(/!\[(.*?)\]\((.*?)\)/gm, '<img alt="$1" src="$2" />') | 
        
          |  | .replace(/\[(.*?)\]\((.*?) "new"\)/gm, '<a href="$2" target=_new>$1</a>') | 
        
          |  | .replace(/\[(.*?)\]\((.*?) "(.*?)"\)/gm, '<a href="$2" title="$3">$1</a>') | 
        
          |  | .replace(/<http(.*?)\>/gm, '<a href="http$1">http$1</a>') | 
        
          |  | .replace(/\[(.*?)\]\(\)/gm, '<a href="$1">$1</a>') | 
        
          |  | .replace(/\[(.*?)\]\((.*?)\)/gm, '<a href="$2">$1</a>') | 
        
          |  | .replace(/^[\*|+|-][ |.](.*)/gm, '<ul><li>$1</li></ul>' ).replace(/<\/ul\>\n<ul\>/g, '\n' ) | 
        
          |  | .replace(/^\d[ |.](.*)/gm, '<ol><li>$1</li></ol>' ).replace(/<\/ol\>\n<ol\>/g, '\n' ) | 
        
          |  | .replace(/\*\*\*(.*)\*\*\*/gm, '<b><em>$1</em></b>') | 
        
          |  | .replace(/\*\*(.*)\*\*/gm, '<b>$1</b>') | 
        
          |  | .replace(/\*([\w \d]*)\*/gm, '<em>$1</em>') | 
        
          |  | .replace(/___(.*)___/gm, '<b><em>$1</em></b>') | 
        
          |  | .replace(/__(.*)__/gm, '<u>$1</u>') | 
        
          |  | .replace(/_([\w \d]*)_/gm, '<em>$1</em>') | 
        
          |  | .replace(/~~(.*)~~/gm, '<del>$1</del>') | 
        
          |  | .replace(/\^\^(.*)\^\^/gm, '<ins>$1</ins>') | 
        
          |  | .replace(/  \n/g, '\n<br/>') | 
        
          |  | .replace(/\n\s*\n/g, '\n<p>\n') | 
        
          |  | .replace(/^ {4,10}(.*)/gm, function(m,p){ return '<pre><code>' + formatTag(p) + '</code></pre>'} ) | 
        
          |  | .replace(/^\t(.*)/gm, function(m,p){ return '<pre><code>' + formatTag(p) + '</code></pre>'} ) | 
        
          |  | .replace(/<\/code\><\/pre\>\n<pre\><code\>/g, '\n' ) | 
        
          |  | .replace(/\\([`_~\*\+\-\.\^\\\<\>\(\)\[\]])/gm, '$1' ) | 
        
          |  | } | 
        
          |  |  | 
        
          |  | // first, handle syntax for code-block | 
        
          |  | var pos1=0, pos2=0, mdHTML = '' | 
        
          |  | mdText = mdText.replace(/\r\n/g, '\n').replace(/\n~~~/g,'\n```') | 
        
          |  | mdText = mdText.replace(/\n``` *(.*?)\n([\s\S]*?)\n``` *\n/g, formatCode ) | 
        
          |  |  | 
        
          |  | // split by "<code>", skip for code-block and process normal text | 
        
          |  | while ( (pos1 = mdText.indexOf('<code>')) >= 0 ) { | 
        
          |  | pos2 = mdText.indexOf('</code>', pos1 ) | 
        
          |  | mdHTML += formatMD( mdText.substr(0,pos1) ) + mdText.substr(pos1+6, (pos2>0? pos2-pos1-6 : mdtext.length) ) | 
        
          |  | mdText = mdText.substr( pos2 + 7 ) | 
        
          |  | } | 
        
          |  |  | 
        
          |  | return mdHTML + formatMD( mdText ) | 
        
          |  | } | 
        
          |  |  | 
        
          |  |  | 
        
          |  | function constructVisualizerPayload() { | 
        
          |  | var res = pm.response.json(); | 
        
          |  | var summaryHtml = simpleMarkdown(res.summary); | 
        
          |  | return {response: {summary: summaryHtml}}; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | pm.visualizer.set(template, constructVisualizerPayload()); |