如何优雅的使用Vuepress编写组件示例(下)

本文介绍如何优雅地使用Vuepress构建组件示例。通过创建通用组件、自定义容器,实现了代码块的统一渲染。文章详细阐述了构建过程,包括自定义容器的配置和Markdown渲染,提供了一种优化组件示例展示的方法。
摘要由CSDN通过智能技术生成

前言✍️

  • 最近在搭自己的组件库,关于文档用的是Vuepress
  • 官网在文档说明展示组件示例的方法有很多种,但种种都不合心意
  • 通过查阅网上的资料和Element的源码找出了我认为的一种最优解,借此机会分享一下
  • 该篇主要是具体的实现,如果想看分析的可以看到如何优雅的使用Vuepress编写组件示例(上)

实际效果✔️

先把最后的成品发出来给大家看看
image.png

李性分析🙋‍♂️

在上篇中分析归纳了一下具体的步骤(如下),接下来我们就来具体的实现一下

  • 第一步构建一个通用组件用于接收代码块来展示demo并且统一样式
  • 第二步设定一个Markdown自定义容器来编写demo代码
  • 第三步把自定义容器转化成之前构建的通用组件,这样就可以在md使用自定义容器来实现上文效果
  • 第四步扩展markdown渲染方法使我们输入的代码块可以输出内容为符合Vue Template语法的代码块
  • 第五步变成了vue代码后交由Vuepressvue-loader处理编译为文档

干就完了👊

构建组件📦

docs
├─ .vuepress
│  ├─ components
│  │  └─ demoBlock.vue
│  ├─ config.js
│  └─ enhanceApp.js
└─ component
   └─ basic
      └─ button.md
  • 因为Vuepress可以自动识别components里面的组件并注册所以我们在里面建一个通用组件demoBlock用于展示demo
  • 参考了Element的通用组件后观察到这个组件主要由三部分组成:组件示例描述组件代码块
/* demoBlock.vue */
<template>
  <div class="block">
    <div class="demo-content">
      <!-- 插入组件 -->
      <slot name="demo"></slot>
    </div>
    <div class="meta" ref="meta">
      <div class="description">
        <!-- 插入描述信息 -->
        <slot name="description"></slot>
      </div>
      <div class="code-content">
        <!-- 插入代码块 -->
        <slot name="source"></slot>
      </div>
    </div>
  </div>
</template>
  • 以上是一个简陋版的通用组件加上了简陋的样式,里面包含了三个插槽分别是组件示例描述组件代码块,这样我们就可以通过在mdvue的时候根据特别的插槽来组装我们的组件示例

创建自定义容器🧺

对于自定义组件我们可以使用markdown-it-container 参考官网构建

/* containers.js */
const mdContainer = require('markdown-it-container');
module.exports =md => {
   
    //将markdown-it-container插件加载到当前的解析器实例中
    md.use(mdContainer,
  • 55
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快跑啊小卢_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值