├── .babelrc
├── .es6.babelrc
├── .eslintignore
├── .gitignore
├── .prettierrc
├── README.md
├── dist
├── sprite-extend-shapes.esm.js
├── sprite-extend-shapes.js
└── sprite-extend-shapes.nobrowser.js
├── docs
├── .babelrc
├── build
│ ├── vue-md-loader.js
│ ├── webpack.conf.common.js
│ ├── webpack.conf.dev.js
│ └── webpack.conf.prod.js
├── index.html
├── package.json
├── src
│ ├── App.vue
│ ├── assets
│ │ └── computer.svg
│ ├── components
│ │ ├── BlockDemo.vue
│ │ └── Header.vue
│ ├── index.js
│ ├── router
│ │ └── index.js
│ ├── styles
│ │ ├── index.scss
│ │ ├── markdown.scss
│ │ └── normalize.scss
│ └── views
│ │ ├── api
│ │ ├── docs
│ │ │ ├── arc.md
│ │ │ ├── circle.md
│ │ │ ├── ellipse.md
│ │ │ ├── ellipseArc.md
│ │ │ ├── ellipseSector.md
│ │ │ ├── polycurve.md
│ │ │ ├── polygon.md
│ │ │ ├── polyline.md
│ │ │ ├── rect.md
│ │ │ ├── ring.md
│ │ │ ├── sector.md
│ │ │ ├── star.md
│ │ │ ├── triangle.md
│ │ │ └── wave.md
│ │ ├── index.vue
│ │ └── routes.js
│ │ └── home
│ │ └── index.md
└── website
│ ├── 1.71b3875.js
│ ├── 10.71b3875.js
│ ├── 11.71b3875.js
│ ├── 12.71b3875.js
│ ├── 13.71b3875.js
│ ├── 14.71b3875.js
│ ├── 15.71b3875.js
│ ├── 16.71b3875.js
│ ├── 2.71b3875.js
│ ├── 3.71b3875.js
│ ├── 4.71b3875.js
│ ├── 5.71b3875.js
│ ├── 6.71b3875.js
│ ├── 7.71b3875.js
│ ├── 8.71b3875.js
│ ├── 9.71b3875.js
│ ├── index.html
│ └── main.71b387523f94f0b6c478.js
├── example
├── drag-drop.html
├── ellipse.demo.js
├── polygon.demo.js
├── polyline.demo.js
├── test-shape.html
└── wave.demo.js
├── lib
├── arc.js
├── circle.js
├── ellipse.js
├── ellipseArc.js
├── ellipseSector.js
├── index.js
├── polycurve.js
├── polygon.js
├── polyline.js
├── rect.js
├── ring.js
├── sector.js
├── shape.js
├── star.js
├── triangle.js
├── util.js
└── wave.js
├── package.json
├── pictures
├── arc.png
├── circle.png
├── ellipse.png
├── ellipseArc.png
├── ellipseSector.png
├── polycurve.png
├── polygon.png
├── polyline.png
├── rectangle.png
├── ring.png
├── sector.png
├── star.png
└── triangle.png
├── script
└── qcdn.js
├── src
├── arc.js
├── circle.js
├── ellipse.js
├── ellipseArc.js
├── ellipseSector.js
├── index.js
├── polycurve.js
├── polygon.js
├── polyline.js
├── rect.js
├── ring.js
├── sector.js
├── shape.js
├── star.js
├── triangle.js
├── util.js
└── wave.js
├── test
├── cases
│ ├── arc.js
│ ├── circle.js
│ ├── ellipse.js
│ ├── ellipseArc.js
│ ├── ellipseSector.js
│ ├── polycurve.js
│ ├── polygon.js
│ ├── polyline.js
│ ├── rect.js
│ ├── ring.js
│ ├── sector.js
│ ├── star.js
│ └── triangle.js
├── helpers
│ ├── drawcase.js
│ ├── drawsprites.js
│ ├── index.js
│ └── output.js
├── img
│ ├── arc-default.png
│ ├── circle-default.png
│ ├── circle-noellipse.png
│ ├── ellipse-default.png
│ ├── ellipseArc-default.png
│ ├── ellipseSector-default.png
│ ├── ellipseSector-noellipse.png
│ ├── polycurve-default.png
│ ├── polygon-default.png
│ ├── polygon-nopoints.png
│ ├── polyline-default.png
│ ├── rect-default.png
│ ├── ring-default.png
│ ├── ring-sector.png
│ ├── sector-default.png
│ ├── star-default.png
│ ├── star-innerRadius.png
│ └── triangle-default.png
└── run.test.js
├── tsconfig.json
└── webpack.config.js
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | [
4 | "@babel/preset-env",
5 | {
6 | "targets": {
7 | "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
8 | }
9 | }
10 | ]
11 | ],
12 | "plugins": [
13 | [
14 | "@babel/plugin-proposal-decorators",
15 | {
16 | "decoratorsBeforeExport": false
17 | }
18 | ],
19 | "@babel/plugin-proposal-class-properties",
20 | [
21 | "@babel/plugin-transform-runtime",
22 | {
23 | "corejs": false,
24 | "helpers": true,
25 | "regenerator": false,
26 | "useESModules": false
27 | }
28 | ]
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/.es6.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [],
3 | "plugins": [
4 | [
5 | "@babel/plugin-proposal-decorators",
6 | {
7 | "decoratorsBeforeExport": false
8 | }
9 | ],
10 | "@babel/plugin-proposal-class-properties"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | .git
2 | node_modules
3 | build
4 | dist
5 | docs/js
6 | script
7 | lib
8 | example/js
9 | doc/
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 |
5 | # Runtime data
6 | pids
7 | *.pid
8 | *.seed
9 |
10 | # Directory for instrumented libs generated by jscoverage/JSCover
11 | lib-cov
12 |
13 | # Coverage directory used by tools like istanbul
14 | coverage/
15 | .nyc_output/
16 |
17 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
18 | .grunt
19 |
20 | # node-waf configuration
21 | .lock-wscript
22 |
23 | # Dependency directory
24 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
25 | node_modules/
26 |
27 | # IDE config
28 | .idea
29 |
30 | # output
31 | output/
32 | output.tar.gz
33 |
34 | app/
35 |
36 | runtime/
37 |
38 | frames/
39 | ffmpeg.sh
40 |
41 | .DS_Store
42 |
43 | sftp-config.json
44 | package-lock.json
45 |
46 | .vscode
47 | jsconfig.json
48 | esconfig.json
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "singleQuote": true,
4 | "bracketSpacing": false
5 | }
6 |
--------------------------------------------------------------------------------
/docs/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | [
4 | "@babel/preset-env",
5 | {
6 | "modules": false
7 | }
8 | ]
9 | ],
10 | "plugins": [
11 | "@babel/plugin-syntax-dynamic-import",
12 | [
13 | "@babel/plugin-proposal-decorators",
14 | {
15 | "decoratorsBeforeExport": false
16 | }
17 | ],
18 | "@babel/plugin-proposal-class-properties",
19 | "@babel/plugin-transform-runtime"
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/docs/build/vue-md-loader.js:
--------------------------------------------------------------------------------
1 | const { escape } = require('scapegoat')
2 | // const MarkdownIt = require('markdown-it')
3 | // const md = new MarkdownIt()
4 |
5 | module.exports = {
6 | loader: 'vue-md-loader',
7 | options: {
8 | plugins: [
9 | [
10 | require('markdown-it-container'),
11 | 'demo',
12 | {
13 | validate(params) {
14 | return new RegExp('demo').test(params.trim())
15 | },
16 | // 将捕获的代码块装进自定义组件block-demo中
17 | render(tokens, idx) {
18 | if (tokens[idx].nesting === 1) {
19 | let tip = tokens[idx].info
20 | tip = tip.replace('demo', '').trim()
21 |
22 | let source = tokens[idx + 1].content
23 |
24 | return ``
27 | }
28 | return ''
29 | }
30 | }
31 | ]
32 | ],
33 | afterProcess(vueFile) {
34 | // 移除注释
35 | return vueFile
36 | .replace(/