Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

p0 需求整理 #1

Closed
12 of 15 tasks
jaredleechn opened this issue Jan 27, 2016 · 7 comments
Closed
12 of 15 tasks

p0 需求整理 #1

jaredleechn opened this issue Jan 27, 2016 · 7 comments
Assignees

Comments

@jaredleechn
Copy link
Member

  • 目录:默认存放在 examples,支持文件类型 *.md *.js
    • 生成根目录 index.html
    • 为每一个 demo 生成一个 element.html
    • 支持多层级目录 demo 的生成,如 antd/table/index.md + normal-table.md + special-table.md(p2
  • build && watch
  • server
  • md-loader
    • 支持外链 js(p2
  • js-loader
    • pkgName@version
    • demo
    • readme
    • history changelog
    • test coverage
  • 自定义模版
  • 通过接受中间件处理,允许用户根据 *.md 中的 meta 信息进行模版自定义(p2

相关 react-component/react-component.github.io#11

MD写法:

// Meta data 用 YAML 描述配置信息,可在中间件中获取配置
// see: https://github.com/blog/1647-viewing-yaml-metadata-in-your-documents

---
config1: true
config2: 任意字符
config3: 
  - 1
  - 2
  - 3

---

## code

'''jsx(js, javascript, node)
var a = 1;
'''

## api

| 参数           | 说明                             | 类型       |  可选值 | 默认值 |
|----------------|----------------------------------|------------|---------|--------|
| dot            | 不展示数字,只有一个小红点       | boolean    |         | false  |
@jaredleechn
Copy link
Member Author

面向组件

before

./
├── README.md
└── examples
    ├── a.js
    ├── a.html
    └── b.md

after

./
├── README.md
├── __site
│   ├── common.js
│   ├── examples
│   │   ├── a.html
│   │   ├── a.js
│   │   ├── b.html
│   │   ├── b.js
│   └── index.html
└── examples
    ├── a.js
    ├── a.html
    └── b.md

@benjycui
Copy link
Member

benjycui commented Feb 3, 2016

Markdown 语法建议如下,比较好处理。

// Meta data 用 YAML,see: https://github.com/blog/1647-viewing-yaml-metadata-in-your-documents
---
config1: true
config2: 任意字符
config3: 
  - 1
  - 2
  - 3
---

'''jsx(js, javascript, node)
// code 还是用回 Markdown 的语法吧
var a = 1;
'''

## api

| 参数           | 说明                             | 类型       |  可选值 | 默认值 |
|----------------|----------------------------------|------------|---------|--------|
| dot            | 不展示数字,只有一个小红点       | boolean    |         | false  |

@yiminghe
Copy link
Member

md 要支持外链 js,不希望在 md 中写大段 js

@benjycui
Copy link
Member

md 要支持外链 js,不希望在 md 中写大段 js

个人的想法是用命名约定,如下:

  1. 每种语言一个 Markdown file:demo.zh-CN.md,demo.en-US.md
  2. 在渲染 Markdown 时,会自动寻找同名的 JavaScript 文件:demo.js

用约定的方式比修改扩展 Markdown 的语法要简单。。

@jaredleechn
Copy link
Member Author

讨论下来还是采取预处理 + entry 的方式,使用方式类似 atool-doc-pre && atool-build/dora

  • 将 *.md 中的代码处理成 js 文件(export function(code)
  • 增加 entry 引入所有的 js 文件、md 文件,通过 react 组织成单页 因为存在可能和 demo 中使用 router 的代码冲突的问题,取消单页,采取跳转的方式,每个 js 是一个 entry

@benjycui
Copy link
Member

site => __site

@sorrycc
Copy link
Member

sorrycc commented Feb 23, 2016

.map 文件可以不生成的,用 inline 的 source-map 方案。

@jaredleechn jaredleechn changed the title atool-doc 需求分析 p0 需求整理 Apr 13, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants