umijs/dumi

dumi 2.0 TODOs

Open

#1157 aperta il 2 ago 2022

Vedi su GitHub
 (20 commenti) (8 reazioni) (1 assegnatario)JavaScript (1170 fork)github user discovery
help wanted

Metriche repository

Star
 (3793 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

欢迎参与 dumi 2.0 的建设,这里是待办任务合集,持续更新中... 下方任务列表中带 ⭐️ 的为 first-time task,⭐️ 数量越多代表难度越高 做之前请先评论认领,避免冲突

详细功能规划参考 #1151

dumi_2 0_v1

基础工程

路由系统

Markdown 编译

demo 编译

主题系统

  • ⭐️ 让 import from 'dumi' 拥有类型,导出 theme-api 的类型定义
  • 全局 Context
  • 主题 API
    • ⭐️⭐️ useNavData 支持约定式二级导航(比如 /docs/a/b1/c/docs/a/b2/c 中的 b1 和 b2 就属于同一个二级导航)
    • ⭐️⭐️⭐️ useSiteSearch 支持把搜索计算逻辑放到 worker 做,避免站点文本匹配计算量太大的时候阻塞渲染
  • 内置组件(注意:均无需样式,最后统一加【有可能用 CSS-in-JS】,必须要样式的组件就用 CSS 简单写一下
  • 主题系统设计 @PeachScript https://github.com/umijs/dumi/discussions/1180
  • 加载器(项目级 > 包级 > 默认主题) @PeachScript https://github.com/umijs/dumi/commit/b0e0e54a8ef188c8a74aa5a8d3a1a8a27a63b390
  • 默认主题, @PeachScript
    • layouts
      • DocLayout
        • tdk 渲染(用于 SEO)
        • 中英文排版优化(计划基于 heti
        • 首页设计 + 实现 @PeachScript
    • builtins
      • Previewer, @PeachScript
        • ⭐️⭐️ 在 CodeSandbox 中打开 @wyy0512 #1250
        • ⭐️⭐️ 在 CodePen 中打开
        • ⭐️⭐️ 在 Stackblitz 中打开 @miracles1919 #1271
      • SourceCode,参考 dumi v1 重写
      • API, @PeachScript
    • slots(可局部覆盖的插槽)
      • ⭐️ContentTabs 支持识别 Tab 上的子组件,渲染该 Tab 的 Action(最右侧)和 Extra(紧跟 Tab)区域
      • ⭐️LangSwitch
        • 支持不刷新页面切换语言(主要涉及到 context 链路上的状态更新)
        • 支持两种语言以上的 Select 切换方式
      • ⭐️⭐️ SearchResult
        • 上下键选择结果时、如果遇到滚动区域外的元素,支持自动滚动到滚动视口内
  • 支持实体路由的 Tab 注册

自动 API

  • 组件属性定义 parser
  • 组件属性 UI 面板
  • 生成原子资产(组件、函数)元数据
  • 注册 Playground Tab

文档 & 脚手架

  • 站点脚手架
  • 组件研发脚手架(RC 阶段先手动集成 father 4)
  • 主题研发脚手架
  • RC 阶段文档
    • 配置项
    • 主题
    • 快速上手
  • 正式版文档

Guida contributor