mirror of
https://github.com/youzan/vant.git
synced 2025-10-21 03:11:15 +00:00
feat(vant-markdown-loader): 增强 README,支持通过声明的方式引入 demo 并直接预览
This commit is contained in:
24
packages/vant-markdown-loader/src/extract-demo.js
Normal file
24
packages/vant-markdown-loader/src/extract-demo.js
Normal file
@@ -0,0 +1,24 @@
|
||||
const path = require('path');
|
||||
|
||||
module.exports = function extraDemo(content) {
|
||||
const demoLinks = [];
|
||||
|
||||
/*
|
||||
* 提取 README 中的 demo 文件路径,例如下面的内容,就会提取为 ['./demo-link/index.vue']
|
||||
* ```demo
|
||||
* ./demo-link/index.vue
|
||||
* ```
|
||||
*/
|
||||
content = content.replace(
|
||||
/<pre><code class="language-demo">([\s\S]*?)<\/code><\/pre>/g,
|
||||
function (_, link) {
|
||||
link = link.trim(); // 去换行符
|
||||
demoLinks.push(link);
|
||||
const demoFileName = path.basename(link, '.vue'); // 获取文件名
|
||||
const tag = demoFileName.replace(/\B([A-Z])/g, '-$1').toLowerCase(); // 驼峰转连字符
|
||||
return `<${tag} />`;
|
||||
}
|
||||
);
|
||||
|
||||
return [content, demoLinks];
|
||||
};
|
Reference in New Issue
Block a user