2 回答

TA貢獻1841條經驗 獲得超3個贊
希望還不算太晚。
您必須在您的圍欄代碼塊之后換行 ( \n
) 。
所以這:
var result = md.render('# markdown-it rulezz! \n\n```html <pre><code class="js">function test();</code></pre>```');
應該:
var result = md.render('# markdown-it rulezz! \n\n ```html \n <pre><code class="js">function test();</code></pre>\n```');
一切都應該是這樣的:
.js 文件應該是:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/markdown-it/11.0.1/markdown-it.min.js "></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.2.1/highlight.min.js"></script>
這些都可以。
至于 .css,您可以使用您正在使用的那個,也可以使用 npm 中的那個:
npm install markdown-it-highlight
在 獲取 .css 文件node_modules/markdown-it-highlight/dist/index.css,它具有更好的語法高亮顏色并使用它。
然后你必須設置這個defaults對象并將其設置在defaults.highlight:
var defaults = {
html: false, // Enable HTML tags in source
xhtmlOut: false, // Use '/' to close single tags (<br />)
breaks: false, // Convert '\n' in paragraphs into <br>
langPrefix: 'language-', // CSS language prefix for fenced blocks
linkify: true, // autoconvert URL-like texts to links
typographer: true, // Enable smartypants and other sweet transforms
// options below are for demo only
_highlight: true, // <= THIS IS WHAT YOU NEED
_strict: false,
_view: 'html' // html / src / debug
};
// and then do this:
defaults.highlight = function (str, lang) {
var esc = md.utils.escapeHtml;
console.log(str)
console.log(lang)
if (lang && hljs.getLanguage(lang)) {
try {
return '<pre class="hljs"><code>' +
hljs.highlight(lang, str, true).value +
'</code></pre>';
} catch (__) {}
}else{
return '<pre class="hljs"><code>' + esc(str) + '</code></pre>';
}
};
// now set the md:
md = window.markdownit(defaults);
// now this is where you forgot the line break after the fenced code block:
const result = md.render('# markdown-it rulezz! \n ```html \n <pre><code class="js">function test();</code></pre>\n```');
document.querySelector('#content').innerHTML = result;

TA貢獻1946條經驗 獲得超3個贊
概括:
簡單的方法
首先,確保你在卡片中支持 Markdown:
import MarkdownIt from 'markdown-it'
// For Markdown in Adaptive Cards.
window.markdownit = MarkdownIt
現在我們將使用另一個庫來為代碼著色:
import highlight from 'highlight.js'
import 'highlight.js/styles/github.css'
跑步:
highlight.highlightAll()
更新所有卡片。
如果你運行它兩次,那么它會嘗試更新它已經更新的卡片,你會收到警告。
添加回答
舉報