Tùy chỉnh bộ tô sáng mã nguồn
Ít hơn 1 phút...
Hướng dẫn này chỉ cho bạn cách thêm bộ tô sáng mã nguồn (highlighter) của riêng mình.
@waline/client cung cấp hàm highlighter. Ứng dụng khách sẽ truyền vào nội dung gốc của khối mã và ngôn ngữ của khối mã. Bạn chỉ cần trả về một chuỗi.
Ví dụ sử dụng prism.js
<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Waline highlighter case</title>
<link rel="stylesheet" href="https://unpkg.com/@waline/client@v3/dist/waline.css" />
<script src="https://unpkg.com/prismjs@v1" data-manual></script>
<script src="https://unpkg.com/prismjs@v1/plugins/autoloader/prism-autoloader.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/prismjs@v1/themes/prism-tomorrow.min.css" />
</head>
<body>
<div id="waline" style="max-width: 800px; margin: 0 auto"></div>
<script type="module">
import { init } from 'https://unpkg.com/@waline/client@v3/dist/waline.js';
const waline = init({
el: '#waline',
serverURL: 'https://waline.vercel.app',
path: '/',
highlighter: (code, lang) => {
if (!window.Prism.languages[lang]) {
window.Prism.plugins.autoloader.loadLanguages(lang);
}
return window.Prism.highlight(
code,
window.Prism.languages[lang] || window.Prism.languages.text,
lang,
);
},
});
</script>
</body>
</html>TIPS: Khu vực bình luận chỉ dành cho mục đích demo. Nếu bạn có bất kỳ câu hỏi nào, vui lòng đến Github Discussion để hỏi.
