你好,我是 Kagol。

前言

从今年2月份开源以来,有不少朋友给我们 TinyVue 组件库提了文档优化的建议,这些建议都非常中肯,我们也在持续对文档进行优化,并且从中总结出了大家对于文档优化的一些共性问题,形成了一份

《组件 demo 和 api 文档编写规范》

为了提升开发者阅读文档的体验,从9月份至今,我们花了整整三个月时间对组件的 demo / api 文档进行全面的优化。

开源不易,请给 TinyVue 点个 Star 鼓励下,感谢你对我们 OpenTiny 的大力支持

源码:https://github.com/opentiny/tiny-vue

我们来看下优化前后的对比效果吧。

以 DatePicker 组件为例。

1 组件 API 按照字典顺序排序

优化前组件的 props / events / methods / slots 排列比较乱,没有规律,不方便寻找。

优化后按照字典顺序排列,符合预期,查找方便。

2 更详细的组件 API 类型

优化前组件 props / events 等的类型不够细致,要了解组件的使用方式,还得跳转到 Demo 里面查看代码才知道怎么使用,不太方便,而且 Demo 里面可能没有覆盖到这个 API 的所有用法。

比如 picker-options 这个属性,API 表格里的类型是 Object,具体可以配置什么需要到 Demo 里才知道,而 Demo 里也只显示了 firstDayOfWeekshortcuts 两个配置项的用法,其中的 shortcuts 也只演示了 textonClick 两个配置项的用法。

优化后每个 props / events 都补充了详细的类型定义。

  • 内容不长的,比如 align,就直接写在 API 表格里,'left' | 'center' | 'right'
  • 内容太长的,直接放表格里影响阅读,比如 picker-options,就定义一个类型 IPickerOptions,点击可以直接跳转到具体的类型定义,非常方便

我们来看下 IPickerOptions 的定义。

interface IPickerOptions {
// 每周的第一天是星期几,默认值是7,也就是星期天
firstDayOfWeek: number
// 实现部分禁用,此时只能选择一部分日期
disabledDate: (time: Date) => boolean
// 选中日期后执行的回调,需要与 daterange 或 datetimerange 类型配合使用才生效
onPick: (range: { minDate: Date, maxDate: Date }) => void
// 快捷选项
shortcuts: {
text: string
onClick: (picker: { $emit: (type: string, date: Date) => void }) => void
type: 'startFrom' | 'EndAt'
startDate: Date
endDate: Date
}[]
}

是不是非常清晰。

优化前:

优化后:

详细的类型定义:

3 更合理的 Demo 组织方式

组织良好的演示 Demo 可以方便开发者快速上手使用我们的组件,因此我们花了很多时间讨论和优化组件 Demo 的组织方式,主要包含:

  • 对 Demo 的标题进行简化和统一命名规则
  • 将相似的 Demo 进行合并和精简
  • 美化 Demo,增加必要的留白,避免太拥挤
  • 移除 Demo 代码中多余的内容,每个 Demo 专注于演示某个特性

我们还是以 DatePicker 组件为例。

优化前,相似特性的 Demo 较为分散,很难查找。

  • 日期单选、周单选、月份单选、年份单选分散在多个 Demo 中,并且年份单选的 Demo 重复
  • 日期范围选择、月份范围选择、年份范围选择分散在多个 Demo 中,年份范围选择的 Demo 重复
  • 日期多选和年份多选也分散在两个 Demo 中

优化后,将分散在多个 Demo 中的单选多选范围选择组织成三个 Demo,比之前更加清晰,更容易查找。

除了以上几个优化点之外,我们还对组件的文档做了大量的优化,欢迎朋友们到 TinyVue 官网进行体验。

TinyVue 官网:https://opentiny.design/tiny-vue

如果你在体验过程中,发现有描述不清楚、不合理、不美观之处,也希望你能给我们提交 Issue 进行反馈

https://github.com/opentiny/tiny-vue/issues

感谢你对 TinyVue 开源组件库的大力支持。

开源不易,请给 TinyVue 点个 Star 鼓励下,感谢你对我们 OpenTiny 的大力支持

源码:https://github.com/opentiny/tiny-vue

我们也非常欢迎你参与到 TinyVue 的贡献中,帮助我们一起优化组件文档,或者修复组件缺陷,给组件增加新特性,你可以根据自己的兴趣和能力选择合适的任务。

添加微信小助手:opentiny-official,一起参与共建!

联系我们

GitHub:https://github.com/opentiny/tiny-vue(欢迎 Star )

官网:https://opentiny.design/tiny-vue

B站:https://space.bilibili.com/15284299

公众号:OpenTiny

🎉开发者的福音:TinyVue 组件库文档大优化!类型更详细,描述更清晰!的更多相关文章

  1. Web 前端 UI 组件库文档自动化方案 All In One

    Web 前端 UI 组件库文档自动化方案 All In One 需求 自动化 动态 好用 markdown element-ui 中示例和说明按照一定规则写在md文件中,调用md-loader将md文 ...

  2. 使用VitePress搭建及部署vue组件库文档

    每个组件库都有它们自己的文档.所以当我们开发完成我们自己的组件库必须也需要一个组件库文档.如果你还不了解如何搭建自己的组件库可以看这里->从零搭建Vue3组件库.看完这篇文章你就会发现原来搭建和 ...

  3. Vitepress搭建组件库文档(上)—— 基本配置

    在 vite 出现以前,vuepress 是搭建组件库文档不错的工具,支持以 Markdown 方式编写文档.伴随着 vite 的发展,vitepress 已经到了 1.0.0-alpha.22 版本 ...

  4. Vitepress搭建组件库文档(下)—— 组件 Demo

    上文 <Vitepress搭建组件库文档(上)-- 基本配置>已经讨论了 vitepress 搭建组件库文档的基本配置,包括站点 Logo.名称.首页 home 布局.顶部导航.左侧导航等 ...

  5. Vue3 企业级优雅实战 - 组件库框架 - 7 组件库文档的开发和构建

    该系列已更新文章: 分享一个实用的 vite + vue3 组件库脚手架工具,提升开发效率 开箱即用 yyg-cli 脚手架:快速创建 vue3 组件库和vue3 全家桶项目 Vue3 企业级优雅实战 ...

  6. 使用dumi生成react组件库文档并发布到github pages

    周末两天玩了下号称西湖区东半球最牛逼的react文档站点生成工具dumi,顺带结合github pages生成了react-uni-comps文档站, 一套弄下来,感觉真香,现在还只是浅尝,高级的特性 ...

  7. vuepress搭建UI组件库文档踩坑篇

    为了实现组件效果预览及代码展示可折叠功能,使用了插件vuepress-plugin-demo-container 相关配置可参考官网说明文档 第一步 安装插件 npm i - D vuepress-p ...

  8. 把 MWeb Lite 的文档库文档和数据搬到 MWeb 正式版中

    MWeb Lite 版的文档库中的文档要搬到 MWeb 正式版中,如果 Lite 版的文档中没有图片或者只有少量图片,可以用导入导出为 Markdown 的方法. 否则的话请用以下方式(注意下面这个方 ...

  9. WPF:将Office文档、任意类型文件嵌入到EXE可执行文件中

    原文:WPF:将Office文档.任意类型文件嵌入到EXE可执行文件中 版权声明:本文为博主原创文章,未经博主允许可以随意转载 https://blog.csdn.net/songqingwei198 ...

  10. API文档大集合

    [API文档大集合] sklearn API:http://sklearn.apachecn.org/cn/0.19.0/tutorial/index.html pandas API:http://p ...

随机推荐

  1. Python 潮流周刊#15:如何分析 FastAPI 异步请求的性能?

    你好,我是猫哥.这里每周分享优质的 Python.AI 及通用技术内容,大部分为英文.标题取自其中一则分享,不代表全部内容都是该主题,特此声明. 本周刊精心筛选国内外的 250+ 信息源,为你挑选最值 ...

  2. 一个可将执行文件打包成Windows服务的.Net开源工具

    Windows服务一种在后台持续运行的程序,它可以在系统启动时自动启动,并在后台执行特定的任务,例如监视文件系统.管理硬件设备.执行定时任务等. 今天推荐一个可将执行文件打包成Windows 服务的工 ...

  3. MediaBox助力企业一站式获取音视频能力

    以一只音视频百宝箱,应对「千行千面」. 洪炳峰.楚佩斯|作者 大家好,今天我分享的主题是MediaBox--行业音视频数字化再加速. 根据权威数据表明,65%的行业数字化信息来自视频,基于此,音视频技 ...

  4. 文心一言 VS 讯飞星火 VS chatgpt (91)-- 算法导论8.3 4题

    四.用go语言,说明如何在 O(n) 时间内,对 0 到 $n^3-1$ 区间内的n个整数进行排序. 文心一言: 在 O(n) 时间内对 0 到 n^3-1 区间内的 n 个整数进行排序,可以使用基数 ...

  5. python基础:元组(tuple)列表(list)介绍

    一,元组 1.元组的创建(可以把元组看作一个容器,任何数据类型都可以放在里面)通过赋值方法创建元组In [5]: t = ("hello",2.3,2,True,{1:" ...

  6. 文心一言 VS 讯飞星火 VS chatgpt (99)-- 算法导论9.3 5题

    五.用go语言,假设你已经有了一个最坏情况下是线性时间的用于求解中位数的"黑箱"子程序.设计一个能在线性时间内解决任意顺序统计量的选择问题算法. 文心一言: 为了在线性时间内解决任 ...

  7. 两种方式,创建有返回值的DB2函数

    函数场景:路径信息由若干个机构编码组成,且一个机构编码是9位字符. 要求:获取路径信息,并且删除路径中包含'99'开头的机构编码. 从客户端及服务器端分别创建ignore99(pathinfo var ...

  8. 2023-10-04:用go语言,现有一棵无向、无根的树,树中有 n 个节点,按从 0 到 n - 1 编号 给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges , 其中 edge

    2023-10-04:用go语言,现有一棵无向.无根的树,树中有 n 个节点,按从 0 到 n - 1 编号 给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges , 其中 edge ...

  9. Go语言系列——Go语言介绍

    文章目录 01-Go语言介绍 一 Go语言介绍 二 Go语言特性 三 Go语言发展(版本/特性) 四 Go语言应用 谁在用 Google Facebook 腾讯 百度 京东 小米 360 应用领域 五 ...

  10. JavaCore extends Plugin

    /******************************************************************************* 2 * Copyright (c) 2 ...