├── src ├── components │ ├── list │ │ ├── muse-ui │ │ │ ├── README.MD │ │ │ ├── switch.vue │ │ │ ├── checkBox.vue │ │ │ ├── radio.vue │ │ │ ├── RaisedButton.vue │ │ │ ├── circularProgress.vue │ │ │ ├── linearProgress.vue │ │ │ ├── subHeader.vue │ │ │ ├── FlatButton.vue │ │ │ ├── slider.vue │ │ │ ├── pagination.vue │ │ │ ├── textField.vue │ │ │ ├── avatar.vue │ │ │ ├── list.vue │ │ │ ├── badge.vue │ │ │ ├── grid.vue │ │ │ ├── listItem.vue │ │ │ ├── timePicker.vue │ │ │ ├── backTop.vue │ │ │ ├── datePicker.vue │ │ │ ├── iconButton.vue │ │ │ ├── icon.vue │ │ │ ├── floatingActionButton.vue │ │ │ ├── divider.vue │ │ │ ├── selectField.vue │ │ │ ├── chip.vue │ │ │ ├── paper.vue │ │ │ ├── cardHeader.vue │ │ │ ├── tab.vue │ │ │ ├── breadcrumb.vue │ │ │ ├── breadcurmb.vue │ │ │ ├── nav.vue │ │ │ ├── shanGe.vue │ │ │ ├── appbar.vue │ │ │ └── card.vue │ │ ├── iview-ui │ │ │ ├── CheckboxGroup.vue │ │ │ ├── Card.vue │ │ │ ├── RadioGroup.vue │ │ │ ├── Row.vue │ │ │ ├── ButtonGroup.vue │ │ │ ├── index.js │ │ │ ├── Select.vue │ │ │ └── Form.vue │ │ ├── mint-ui │ │ │ ├── index.js │ │ │ ├── Progress.vue │ │ │ └── Swipe.vue │ │ └── vuele │ │ │ ├── index.js │ │ │ ├── DetailHeader.vue │ │ │ └── OperationLog.vue │ ├── template │ │ ├── README.md │ │ ├── vuele │ │ │ ├── index.js │ │ │ ├── OperationLog.js │ │ │ └── DetailHeader.js │ │ ├── Common │ │ │ ├── index.js │ │ │ ├── Br.js │ │ │ ├── Text.js │ │ │ ├── Div.js │ │ │ ├── Img.js │ │ │ └── A.js │ │ ├── Mint-UI │ │ │ ├── index.js │ │ │ ├── Switch.js │ │ │ ├── Header.js │ │ │ ├── Progress.js │ │ │ ├── Cell.js │ │ │ ├── Range.js │ │ │ └── Badge.js │ │ ├── Muse-UI │ │ │ ├── Tbody.js │ │ │ ├── Tfoot.js │ │ │ ├── Thead.js │ │ │ ├── Card Text.js │ │ │ ├── Td.js │ │ │ ├── Divider.js │ │ │ ├── Tr.js │ │ │ ├── Sub Header.js │ │ │ ├── Icon.js │ │ │ ├── Breadcrumb Item.js │ │ │ ├── Card Title.js │ │ │ ├── Paper.js │ │ │ ├── Back Top.js │ │ │ ├── App Bar.js │ │ │ ├── Th.js │ │ │ ├── Pagination.js │ │ │ ├── Slider.js │ │ │ ├── Linear Progress.js │ │ │ ├── Avatar.js │ │ │ ├── Badge.js │ │ │ └── Circular Progress.js │ │ └── iView-UI │ │ │ ├── index.js │ │ │ ├── Icon.js │ │ │ ├── Option.js │ │ │ ├── iSwitch.js │ │ │ ├── Rate.js │ │ │ ├── Radio.js │ │ │ ├── ColorPicker.js │ │ │ ├── InputNumber.js │ │ │ └── Checkbox.js │ ├── preview_mobile.vue │ ├── componentTree.vue │ └── mount.js ├── assets │ ├── logo.png │ └── css │ │ ├── highlight │ │ ├── pojoaque.jpg │ │ ├── school-book.png │ │ ├── brown-papersq.png │ │ ├── darkula.css │ │ ├── ascetic.css │ │ ├── mono-blue.css │ │ ├── dark.css │ │ ├── androidstudio.css │ │ ├── codepen-embed.css │ │ ├── brown-paper.css │ │ ├── vs.css │ │ ├── far.css │ │ ├── arta.css │ │ ├── ir-black.css │ │ ├── magula.css │ │ ├── color-brewer.css │ │ ├── github-gist.css │ │ ├── monokai.css │ │ ├── darcula.css │ │ ├── tomorrow.css │ │ ├── zenburn.css │ │ ├── school-book.css │ │ ├── ocean.css │ │ ├── paraiso-dark.css │ │ ├── paraiso-light.css │ │ ├── dracula.css │ │ ├── qtcreator_dark.css │ │ ├── qtcreator_light.css │ │ ├── rainbow.css │ │ ├── kimbie.dark.css │ │ ├── kimbie.light.css │ │ ├── atelier-dune-dark.css │ │ ├── atelier-dune-light.css │ │ ├── monokai-sublime.css │ │ ├── atelier-heath-dark.css │ │ ├── atelier-heath-light.css │ │ ├── tomorrow-night-bright.css │ │ ├── atelier-forest-dark.css │ │ ├── atelier-forest-light.css │ │ ├── atelier-seaside-dark.css │ │ ├── hopscotch.css │ │ ├── tomorrow-night-eighties.css │ │ ├── atelier-seaside-light.css │ │ ├── atelier-lakeside-dark.css │ │ ├── atelier-lakeside-light.css │ │ ├── arduino-light.css │ │ ├── googlecode.css │ │ ├── xt256.css │ │ ├── atelier-sulphurpool-dark.css │ │ ├── atelier-sulphurpool-light.css │ │ ├── obsidian.css │ │ ├── foundation.css │ │ ├── tomorrow-night.css │ │ ├── xcode.css │ │ ├── pojoaque.css │ │ ├── tomorrow-night-blue.css │ │ ├── solarized-dark.css │ │ ├── solarized-light.css │ │ ├── docco.css │ │ ├── idea.css │ │ ├── atelier-cave-dark.css │ │ ├── atelier-cave-light.css │ │ ├── atelier-estuary-dark.css │ │ ├── atelier-estuary-light.css │ │ ├── atelier-plateau-dark.css │ │ ├── atelier-plateau-light.css │ │ ├── atelier-savanna-dark.css │ │ ├── atelier-savanna-light.css │ │ ├── github.css │ │ ├── atom-one-dark.css │ │ ├── atom-one-light.css │ │ ├── default.css │ │ ├── sunburst.css │ │ ├── railscasts.css │ │ ├── routeros.css │ │ └── agate.css │ │ └── global.css ├── App.vue ├── utils │ ├── leancloud storage.js │ ├── guid.js │ └── mergeDeep.js ├── router │ └── index.js └── main.js ├── config ├── prod.env.js ├── test.env.js ├── dev.env.js └── index.js ├── test ├── unit │ ├── .eslintrc │ ├── specs │ │ └── Hello.spec.js │ ├── index.js │ └── karma.conf.js └── e2e │ ├── specs │ └── test.js │ ├── custom-assertions │ └── elementCount.js │ ├── runner.js │ └── nightwatch.conf.js ├── .editorconfig ├── .postcssrc.js ├── .gitignore ├── .babelrc └── index.html /src/components/list/muse-ui/README.MD: -------------------------------------------------------------------------------- 1 | 这里是组件栏中muse-ui组件的所有列表项 -------------------------------------------------------------------------------- /config/prod.env.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | NODE_ENV: '"production"' 3 | } 4 | -------------------------------------------------------------------------------- /src/components/list/iview-ui/CheckboxGroup.vue: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lq782655835/vue-layout-preview/HEAD/src/assets/logo.png -------------------------------------------------------------------------------- /src/assets/css/highlight/pojoaque.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lq782655835/vue-layout-preview/HEAD/src/assets/css/highlight/pojoaque.jpg -------------------------------------------------------------------------------- /src/assets/css/highlight/school-book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lq782655835/vue-layout-preview/HEAD/src/assets/css/highlight/school-book.png -------------------------------------------------------------------------------- /src/assets/css/highlight/brown-papersq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lq782655835/vue-layout-preview/HEAD/src/assets/css/highlight/brown-papersq.png -------------------------------------------------------------------------------- /src/components/template/README.md: -------------------------------------------------------------------------------- 1 | 设置组件的基本模板. 包括组件名标签、组件属性、组件内slot 2 | 3 | ``` html 4 | 5 | something 6 | 7 | ``` 8 | -------------------------------------------------------------------------------- /test/unit/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "mocha": true 4 | }, 5 | "globals": { 6 | "expect": true, 7 | "sinon": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/components/list/mint-ui/index.js: -------------------------------------------------------------------------------- 1 | import mintSwipe from './Swipe' 2 | import mintProgress from './Progress' 3 | export default{ 4 | mintSwipe, 5 | mintProgress 6 | } -------------------------------------------------------------------------------- /config/test.env.js: -------------------------------------------------------------------------------- 1 | var merge = require('webpack-merge') 2 | var devEnv = require('./dev.env') 3 | 4 | module.exports = merge(devEnv, { 5 | NODE_ENV: '"testing"' 6 | }) 7 | -------------------------------------------------------------------------------- /config/dev.env.js: -------------------------------------------------------------------------------- 1 | var merge = require('webpack-merge') 2 | var prodEnv = require('./prod.env') 3 | 4 | module.exports = merge(prodEnv, { 5 | NODE_ENV: '"development"' 6 | }) 7 | -------------------------------------------------------------------------------- /src/components/list/iview-ui/Card.vue: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/switch.vue: -------------------------------------------------------------------------------- 1 | 4 | 9 | -------------------------------------------------------------------------------- /src/components/list/mint-ui/Progress.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/checkBox.vue: -------------------------------------------------------------------------------- 1 | 4 | 9 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/radio.vue: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/RaisedButton.vue: -------------------------------------------------------------------------------- 1 | 4 | 9 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/circularProgress.vue: -------------------------------------------------------------------------------- 1 | 4 | 9 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/linearProgress.vue: -------------------------------------------------------------------------------- 1 | 4 | 9 | -------------------------------------------------------------------------------- /src/assets/css/highlight/darkula.css: -------------------------------------------------------------------------------- 1 | /* 2 | Deprecated due to a typo in the name and left here for compatibility purpose only. 3 | Please use darcula.css instead. 4 | */ 5 | 6 | @import url('darcula.css'); 7 | -------------------------------------------------------------------------------- /src/components/list/iview-ui/RadioGroup.vue: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/subHeader.vue: -------------------------------------------------------------------------------- 1 | 4 | 9 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/FlatButton.vue: -------------------------------------------------------------------------------- 1 | 4 | 9 | -------------------------------------------------------------------------------- /src/components/list/iview-ui/Row.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/slider.vue: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/pagination.vue: -------------------------------------------------------------------------------- 1 | 5 | 10 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/textField.vue: -------------------------------------------------------------------------------- 1 | 4 | 9 | -------------------------------------------------------------------------------- /src/components/template/vuele/index.js: -------------------------------------------------------------------------------- 1 | import OperationLog from './OperationLog' 2 | import DetailHeader from './DetailHeader' 3 | 4 | var obj = { 5 | OperationLog, 6 | DetailHeader, 7 | } 8 | 9 | export default obj 10 | -------------------------------------------------------------------------------- /.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | "plugins": { 5 | // to edit target browsers: use "browserlist" field in package.json 6 | "autoprefixer": {} 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 14 | 15 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/avatar.vue: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/list.vue: -------------------------------------------------------------------------------- 1 | 7 | 12 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/badge.vue: -------------------------------------------------------------------------------- 1 | 7 | 12 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/grid.vue: -------------------------------------------------------------------------------- 1 | 7 | 12 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/listItem.vue: -------------------------------------------------------------------------------- 1 | 7 | 12 | -------------------------------------------------------------------------------- /src/components/list/vuele/index.js: -------------------------------------------------------------------------------- 1 | import Process from './Process.vue' 2 | import OperationLog from './OperationLog.vue' 3 | import DetailHeader from './DetailHeader.vue' 4 | 5 | export default{ 6 | Process, 7 | OperationLog, 8 | DetailHeader 9 | } 10 | -------------------------------------------------------------------------------- /src/utils/leancloud storage.js: -------------------------------------------------------------------------------- 1 | import AV from 'leancloud-storage' 2 | var APP_ID = 'jtP7IlVD1aOBkUvgoue8BsWG-gzGzoHsz' 3 | var APP_KEY = 'SQbJtem0VkQlb1VGc4RiaI2u' 4 | 5 | AV.init({ 6 | appId: APP_ID, 7 | appKey: APP_KEY 8 | }) 9 | 10 | export default AV -------------------------------------------------------------------------------- /src/components/list/muse-ui/timePicker.vue: -------------------------------------------------------------------------------- 1 | 7 | 12 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/backTop.vue: -------------------------------------------------------------------------------- 1 | 7 | 12 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/datePicker.vue: -------------------------------------------------------------------------------- 1 | 7 | 12 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/iconButton.vue: -------------------------------------------------------------------------------- 1 | 5 | 10 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/icon.vue: -------------------------------------------------------------------------------- 1 | 6 | 11 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/floatingActionButton.vue: -------------------------------------------------------------------------------- 1 | 6 | 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | npm-debug.log* 4 | yarn-debug.log* 5 | yarn-error.log* 6 | test/unit/coverage 7 | test/e2e/reports 8 | selenium-debug.log 9 | 10 | # Editor directories and files 11 | .idea 12 | *.suo 13 | *.ntvs* 14 | *.njsproj 15 | *.sln 16 | 17 | dist/ 18 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/divider.vue: -------------------------------------------------------------------------------- 1 | 6 | 11 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/selectField.vue: -------------------------------------------------------------------------------- 1 | 6 | 11 | -------------------------------------------------------------------------------- /src/components/template/Common/index.js: -------------------------------------------------------------------------------- 1 | import Text from './Text' 2 | import Img from './Img' 3 | import Br from './Br' 4 | import Div from './Div' 5 | import A from './A' 6 | var obj = { 7 | Text, 8 | Img, 9 | Br, 10 | Div, 11 | A 12 | } 13 | 14 | export default obj 15 | -------------------------------------------------------------------------------- /src/utils/guid.js: -------------------------------------------------------------------------------- 1 | var guid = function() { //获取随机ID,组件拖到预览视图后就会被设置个ID 2 | function s4() { 3 | return Math.floor((1 + Math.random()) * 0x10000) 4 | .toString(16) 5 | .substring(1); 6 | } 7 | return s4() + s4() + '-' + s4() 8 | } 9 | export default guid 10 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/chip.vue: -------------------------------------------------------------------------------- 1 | 8 | 13 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/paper.vue: -------------------------------------------------------------------------------- 1 | 10 | 15 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/cardHeader.vue: -------------------------------------------------------------------------------- 1 | 6 | 11 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/tab.vue: -------------------------------------------------------------------------------- 1 | 8 | 13 | -------------------------------------------------------------------------------- /src/assets/css/global.css: -------------------------------------------------------------------------------- 1 | html::-webkit-scrollbar { 2 | width: 0px 3 | } 4 | 5 | #placeholder { 6 | min-height: 50px; 7 | border: 1px dashed lightgray; 8 | } 9 | 10 | #placeholder.inline { 11 | min-height: 50px; 12 | min-width: 50px; 13 | border: 1px dashed lightgray; 14 | display: inline-block; 15 | vertical-align: middle; 16 | } 17 | -------------------------------------------------------------------------------- /src/components/list/iview-ui/ButtonGroup.vue: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/breadcrumb.vue: -------------------------------------------------------------------------------- 1 | 8 | 13 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/breadcurmb.vue: -------------------------------------------------------------------------------- 1 | 8 | 13 | -------------------------------------------------------------------------------- /test/unit/specs/Hello.spec.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Hello from '@/components/Hello' 3 | 4 | describe('Hello.vue', () => { 5 | it('should render correct contents', () => { 6 | const Constructor = Vue.extend(Hello) 7 | const vm = new Constructor().$mount() 8 | expect(vm.$el.querySelector('.hello h1').textContent) 9 | .to.equal('Welcome to Your Vue.js App') 10 | }) 11 | }) 12 | -------------------------------------------------------------------------------- /src/components/list/iview-ui/index.js: -------------------------------------------------------------------------------- 1 | import iviewRow from './Row' 2 | import iviewButtonGroup from './ButtonGroup' 3 | import iviewRadioGroup from './RadioGroup' 4 | import iviewSelect from './Select' 5 | import iviewForm from './Form' 6 | import iviewCard from './Card' 7 | 8 | export default{ 9 | iviewRow, 10 | iviewButtonGroup, 11 | iviewRadioGroup, 12 | iviewSelect, 13 | iviewForm, 14 | iviewCard 15 | } -------------------------------------------------------------------------------- /src/components/list/muse-ui/nav.vue: -------------------------------------------------------------------------------- 1 | 8 | 13 | -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["env", { 4 | "modules": false, 5 | "targets": { 6 | "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] 7 | } 8 | }], 9 | "stage-2" 10 | ], 11 | "plugins": ["transform-runtime", "babel-plugin-transform-regenerator"], 12 | "env": { 13 | "test": { 14 | "presets": ["env", "stage-2"], 15 | "plugins": ["istanbul"] 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/shanGe.vue: -------------------------------------------------------------------------------- 1 | 9 | 14 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/appbar.vue: -------------------------------------------------------------------------------- 1 | 4 | 16 | -------------------------------------------------------------------------------- /src/components/list/mint-ui/Swipe.vue: -------------------------------------------------------------------------------- 1 | 8 | 19 | -------------------------------------------------------------------------------- /src/components/list/vuele/DetailHeader.vue: -------------------------------------------------------------------------------- 1 | 15 | -------------------------------------------------------------------------------- /src/components/list/muse-ui/card.vue: -------------------------------------------------------------------------------- 1 | 15 | 20 | -------------------------------------------------------------------------------- /test/unit/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | 3 | Vue.config.productionTip = false 4 | 5 | // require all test files (files that ends with .spec.js) 6 | const testsContext = require.context('./specs', true, /\.spec$/) 7 | testsContext.keys().forEach(testsContext) 8 | 9 | // require all src files except main.js for coverage. 10 | // you can also change this to match only the subset of files that 11 | // you want coverage for. 12 | const srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/) 13 | srcContext.keys().forEach(srcContext) 14 | -------------------------------------------------------------------------------- /src/components/list/vuele/OperationLog.vue: -------------------------------------------------------------------------------- 1 | 8 | 22 | -------------------------------------------------------------------------------- /src/components/template/Mint-UI/index.js: -------------------------------------------------------------------------------- 1 | // Mint-UI template 2 | import Header from './Header' 3 | import Button from './Button' 4 | import SwipeItem from './Swipe item' 5 | import Swipe from './Swipe' 6 | import Range from './Range' 7 | import Progress from './Progress' 8 | import Cell from './Cell' 9 | import Switch from './Switch' 10 | import Field from './Field' 11 | import Badge from './Badge' 12 | 13 | var obj = { 14 | Header, 15 | Button, 16 | ['Swipe item']: SwipeItem, 17 | Swipe, 18 | Range, 19 | Progress, 20 | Cell, 21 | Switch, 22 | Field, 23 | Badge 24 | } 25 | 26 | export default obj 27 | -------------------------------------------------------------------------------- /test/e2e/specs/test.js: -------------------------------------------------------------------------------- 1 | // For authoring Nightwatch tests, see 2 | // http://nightwatchjs.org/guide#usage 3 | 4 | module.exports = { 5 | 'default e2e tests': function (browser) { 6 | // automatically uses dev Server port from /config.index.js 7 | // default: http://localhost:8080 8 | // see nightwatch.conf.js 9 | const devServer = browser.globals.devServerURL 10 | 11 | browser 12 | .url(devServer) 13 | .waitForElementVisible('#app', 5000) 14 | .assert.elementPresent('.hello') 15 | .assert.containsText('h1', 'Welcome to Your Vue.js App') 16 | .assert.elementCount('img', 1) 17 | .end() 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/components/list/iview-ui/Select.vue: -------------------------------------------------------------------------------- 1 | 6 | 25 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 可视化布局工具 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/assets/css/highlight/ascetic.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: white; 12 | color: black; 13 | } 14 | 15 | .hljs-string, 16 | .hljs-variable, 17 | .hljs-template-variable, 18 | .hljs-symbol, 19 | .hljs-bullet, 20 | .hljs-section, 21 | .hljs-addition, 22 | .hljs-attribute, 23 | .hljs-link { 24 | color: #888; 25 | } 26 | 27 | .hljs-comment, 28 | .hljs-quote, 29 | .hljs-meta, 30 | .hljs-deletion { 31 | color: #ccc; 32 | } 33 | 34 | .hljs-keyword, 35 | .hljs-selector-tag, 36 | .hljs-section, 37 | .hljs-name, 38 | .hljs-type, 39 | .hljs-strong { 40 | font-weight: bold; 41 | } 42 | 43 | .hljs-emphasis { 44 | font-style: italic; 45 | } 46 | -------------------------------------------------------------------------------- /src/components/preview_mobile.vue: -------------------------------------------------------------------------------- 1 | 9 | 22 | 36 | -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Router from 'vue-router' 3 | 4 | Vue.use(Router) 5 | 6 | export default new Router({ 7 | routes: [{ 8 | path: '/', 9 | name: 'main', 10 | component: require('@/components/main') 11 | },{ 12 | path:'/share/:id',//布局分享 13 | name:'share', 14 | component: require('@/components/main') 15 | }, { 16 | path: '/preview/mobile',//手机预览 17 | name: 'preview_mobile', 18 | component: require('@/components/preview_mobile') 19 | }, { 20 | path: '/preview/pc/',//正常pc浏览 21 | name: 'preview_product', 22 | component: require('@/components/preview_product') 23 | }, { 24 | path: '/preview/pc/:id',//指定布局的正常pc浏览 25 | component: require('@/components/preview_product') 26 | }, { 27 | path: '*', 28 | redirect: '/' 29 | }] 30 | }) 31 | -------------------------------------------------------------------------------- /test/e2e/custom-assertions/elementCount.js: -------------------------------------------------------------------------------- 1 | // A custom Nightwatch assertion. 2 | // the name of the method is the filename. 3 | // can be used in tests like this: 4 | // 5 | // browser.assert.elementCount(selector, count) 6 | // 7 | // for how to write custom assertions see 8 | // http://nightwatchjs.org/guide#writing-custom-assertions 9 | exports.assertion = function (selector, count) { 10 | this.message = 'Testing if element <' + selector + '> has count: ' + count 11 | this.expected = count 12 | this.pass = function (val) { 13 | return val === this.expected 14 | } 15 | this.value = function (res) { 16 | return res.value 17 | } 18 | this.command = function (cb) { 19 | var self = this 20 | return this.api.execute(function (selector) { 21 | return document.querySelectorAll(selector).length 22 | }, [selector], function (res) { 23 | cb.call(self, res) 24 | }) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/utils/mergeDeep.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Simple object check. 3 | * @param item 4 | * @returns {boolean} 5 | */ 6 | function isObject(item) { 7 | return (item && typeof item === 'object' && !Array.isArray(item)); 8 | } 9 | 10 | /** 11 | * Deep merge two objects. 12 | * @param target 13 | * @param ...sources 14 | */ 15 | export default function mergeDeep(target, ...sources) { 16 | if (!sources.length) return target; 17 | const source = sources.shift(); 18 | 19 | if (isObject(target) && isObject(source)) { 20 | for (const key in source) { 21 | if (isObject(source[key])) { 22 | if (!target[key]) Object.assign(target, { 23 | [key]: {} }); 24 | mergeDeep(target[key], source[key]); 25 | } else { 26 | Object.assign(target, { 27 | [key]: source[key] }); 28 | } 29 | } 30 | } 31 | 32 | return mergeDeep(target, ...sources); 33 | } 34 | -------------------------------------------------------------------------------- /src/components/template/Common/Br.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | }, 7 | slots = {} 8 | 9 | //覆盖默认属性 10 | Object.assign(slots, _slots) 11 | Object.assign(attributes, _attr) 12 | 13 | //根据组件不同需要做的不同操作 14 | 15 | 16 | //获取插槽模板内容 17 | var subContent = getSlotContent(slots) || ' ' 18 | //设置当前组件的slot 19 | if (attributes.slot && attributes.slot !== 'default') { 20 | attributes.slot = { 21 | type: 'text', 22 | value: attributes.slot 23 | } 24 | } else { 25 | attributes.slot = { 26 | type: 'text', 27 | value: '' 28 | } 29 | } 30 | 31 | //字符串模板操作 32 | let stringAttr = getStringTypeAttr(attributes) 33 | let template = `
` 34 | 35 | return { template, attributes, slots } 36 | } 37 | export default handle 38 | -------------------------------------------------------------------------------- /src/assets/css/highlight/mono-blue.css: -------------------------------------------------------------------------------- 1 | /* 2 | Five-color theme from a single blue hue. 3 | */ 4 | .hljs { 5 | display: block; 6 | overflow-x: auto; 7 | padding: 0.5em; 8 | background: #eaeef3; 9 | } 10 | 11 | .hljs { 12 | color: #00193a; 13 | } 14 | 15 | .hljs-keyword, 16 | .hljs-selector-tag, 17 | .hljs-title, 18 | .hljs-section, 19 | .hljs-doctag, 20 | .hljs-name, 21 | .hljs-strong { 22 | font-weight: bold; 23 | } 24 | 25 | .hljs-comment { 26 | color: #738191; 27 | } 28 | 29 | .hljs-string, 30 | .hljs-title, 31 | .hljs-section, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-type, 35 | .hljs-addition, 36 | .hljs-tag, 37 | .hljs-quote, 38 | .hljs-name, 39 | .hljs-selector-id, 40 | .hljs-selector-class { 41 | color: #0048ab; 42 | } 43 | 44 | .hljs-meta, 45 | .hljs-subst, 46 | .hljs-symbol, 47 | .hljs-regexp, 48 | .hljs-attribute, 49 | .hljs-deletion, 50 | .hljs-variable, 51 | .hljs-template-variable, 52 | .hljs-link, 53 | .hljs-bullet { 54 | color: #4c81c9; 55 | } 56 | 57 | .hljs-emphasis { 58 | font-style: italic; 59 | } 60 | -------------------------------------------------------------------------------- /src/components/template/vuele/OperationLog.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | list: { 7 | type: 'text', 8 | value: '' 9 | } 10 | }, 11 | slots = {} 12 | 13 | //覆盖默认属性 14 | Object.assign(slots, _slots) 15 | Object.assign(attributes, _attr) 16 | 17 | //设置当前组件的slot 18 | if (attributes.slot && attributes.slot !== 'default') { 19 | attributes.slot = { 20 | type: 'text', 21 | value: attributes.slot 22 | } 23 | } else { 24 | attributes.slot = { 25 | type: 'text', 26 | value: '' 27 | } 28 | } 29 | 30 | //字符串模板操作 31 | let stringAttr = getStringTypeAttr(attributes) 32 | let template = ` 33 | ` 34 | 35 | return { template, attributes, slots } 36 | } 37 | export default handle 38 | -------------------------------------------------------------------------------- /src/assets/css/highlight/dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Dark style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #444; 12 | } 13 | 14 | .hljs-keyword, 15 | .hljs-selector-tag, 16 | .hljs-literal, 17 | .hljs-section, 18 | .hljs-link { 19 | color: white; 20 | } 21 | 22 | .hljs, 23 | .hljs-subst { 24 | color: #ddd; 25 | } 26 | 27 | .hljs-string, 28 | .hljs-title, 29 | .hljs-name, 30 | .hljs-type, 31 | .hljs-attribute, 32 | .hljs-symbol, 33 | .hljs-bullet, 34 | .hljs-built_in, 35 | .hljs-addition, 36 | .hljs-variable, 37 | .hljs-template-tag, 38 | .hljs-template-variable { 39 | color: #d88; 40 | } 41 | 42 | .hljs-comment, 43 | .hljs-quote, 44 | .hljs-deletion, 45 | .hljs-meta { 46 | color: #777; 47 | } 48 | 49 | .hljs-keyword, 50 | .hljs-selector-tag, 51 | .hljs-literal, 52 | .hljs-title, 53 | .hljs-section, 54 | .hljs-doctag, 55 | .hljs-type, 56 | .hljs-name, 57 | .hljs-strong { 58 | font-weight: bold; 59 | } 60 | 61 | .hljs-emphasis { 62 | font-style: italic; 63 | } 64 | -------------------------------------------------------------------------------- /src/assets/css/highlight/androidstudio.css: -------------------------------------------------------------------------------- 1 | /* 2 | Date: 24 Fev 2015 3 | Author: Pedro Oliveira 4 | */ 5 | 6 | .hljs { 7 | color: #a9b7c6; 8 | background: #282b2e; 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | } 13 | 14 | .hljs-number, 15 | .hljs-literal, 16 | .hljs-symbol, 17 | .hljs-bullet { 18 | color: #6897BB; 19 | } 20 | 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-deletion { 24 | color: #cc7832; 25 | } 26 | 27 | .hljs-variable, 28 | .hljs-template-variable, 29 | .hljs-link { 30 | color: #629755; 31 | } 32 | 33 | .hljs-comment, 34 | .hljs-quote { 35 | color: #808080; 36 | } 37 | 38 | .hljs-meta { 39 | color: #bbb529; 40 | } 41 | 42 | .hljs-string, 43 | .hljs-attribute, 44 | .hljs-addition { 45 | color: #6A8759; 46 | } 47 | 48 | .hljs-section, 49 | .hljs-title, 50 | .hljs-type { 51 | color: #ffc66d; 52 | } 53 | 54 | .hljs-name, 55 | .hljs-selector-id, 56 | .hljs-selector-class { 57 | color: #e8bf6a; 58 | } 59 | 60 | .hljs-emphasis { 61 | font-style: italic; 62 | } 63 | 64 | .hljs-strong { 65 | font-weight: bold; 66 | } 67 | -------------------------------------------------------------------------------- /test/unit/karma.conf.js: -------------------------------------------------------------------------------- 1 | // This is a karma config file. For more details see 2 | // http://karma-runner.github.io/0.13/config/configuration-file.html 3 | // we are also using it with karma-webpack 4 | // https://github.com/webpack/karma-webpack 5 | 6 | var webpackConfig = require('../../build/webpack.test.conf') 7 | 8 | module.exports = function (config) { 9 | config.set({ 10 | // to run in additional browsers: 11 | // 1. install corresponding karma launcher 12 | // http://karma-runner.github.io/0.13/config/browsers.html 13 | // 2. add it to the `browsers` array below. 14 | browsers: ['PhantomJS'], 15 | frameworks: ['mocha', 'sinon-chai', 'phantomjs-shim'], 16 | reporters: ['spec', 'coverage'], 17 | files: ['./index.js'], 18 | preprocessors: { 19 | './index.js': ['webpack', 'sourcemap'] 20 | }, 21 | webpack: webpackConfig, 22 | webpackMiddleware: { 23 | noInfo: true 24 | }, 25 | coverageReporter: { 26 | dir: './coverage', 27 | reporters: [ 28 | { type: 'lcov', subdir: '.' }, 29 | { type: 'text-summary' } 30 | ] 31 | } 32 | }) 33 | } 34 | -------------------------------------------------------------------------------- /src/assets/css/highlight/codepen-embed.css: -------------------------------------------------------------------------------- 1 | /* 2 | codepen.io Embed Theme 3 | Author: Justin Perry 4 | Original theme - https://github.com/chriskempson/tomorrow-theme 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #222; 12 | color: #fff; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #777; 18 | } 19 | 20 | .hljs-variable, 21 | .hljs-template-variable, 22 | .hljs-tag, 23 | .hljs-regexp, 24 | .hljs-meta, 25 | .hljs-number, 26 | .hljs-built_in, 27 | .hljs-builtin-name, 28 | .hljs-literal, 29 | .hljs-params, 30 | .hljs-symbol, 31 | .hljs-bullet, 32 | .hljs-link, 33 | .hljs-deletion { 34 | color: #ab875d; 35 | } 36 | 37 | .hljs-section, 38 | .hljs-title, 39 | .hljs-name, 40 | .hljs-selector-id, 41 | .hljs-selector-class, 42 | .hljs-type, 43 | .hljs-attribute { 44 | color: #9b869b; 45 | } 46 | 47 | .hljs-string, 48 | .hljs-keyword, 49 | .hljs-selector-tag, 50 | .hljs-addition { 51 | color: #8f9c6c; 52 | } 53 | 54 | .hljs-emphasis { 55 | font-style: italic; 56 | } 57 | 58 | .hljs-strong { 59 | font-weight: bold; 60 | } 61 | -------------------------------------------------------------------------------- /src/assets/css/highlight/brown-paper.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Brown Paper style from goldblog.com.ua (c) Zaripov Yura 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background:#b7a68e url(./brown-papersq.png); 12 | } 13 | 14 | .hljs-keyword, 15 | .hljs-selector-tag, 16 | .hljs-literal { 17 | color:#005599; 18 | font-weight:bold; 19 | } 20 | 21 | .hljs, 22 | .hljs-subst { 23 | color: #363c69; 24 | } 25 | 26 | .hljs-string, 27 | .hljs-title, 28 | .hljs-section, 29 | .hljs-type, 30 | .hljs-attribute, 31 | .hljs-symbol, 32 | .hljs-bullet, 33 | .hljs-built_in, 34 | .hljs-addition, 35 | .hljs-variable, 36 | .hljs-template-tag, 37 | .hljs-template-variable, 38 | .hljs-link, 39 | .hljs-name { 40 | color: #2c009f; 41 | } 42 | 43 | .hljs-comment, 44 | .hljs-quote, 45 | .hljs-meta, 46 | .hljs-deletion { 47 | color: #802022; 48 | } 49 | 50 | .hljs-keyword, 51 | .hljs-selector-tag, 52 | .hljs-literal, 53 | .hljs-doctag, 54 | .hljs-title, 55 | .hljs-section, 56 | .hljs-type, 57 | .hljs-name, 58 | .hljs-strong { 59 | font-weight: bold; 60 | } 61 | 62 | .hljs-emphasis { 63 | font-style: italic; 64 | } 65 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Tbody.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | }, 7 | slots = { 8 | default: [] 9 | } 10 | 11 | //覆盖默认属性 12 | Object.assign(slots, _slots) 13 | Object.assign(attributes, _attr) 14 | 15 | //根据组件不同需要做的不同操作 16 | 17 | 18 | //获取插槽模板内容 19 | var subContent = getSlotContent(slots) || ' ' 20 | //设置当前组件的slot 21 | if (attributes.slot && attributes.slot!=='default') { 22 | attributes.slot = { 23 | type: 'text', 24 | value: attributes.slot 25 | } 26 | } else { 27 | attributes.slot = { 28 | type: 'text', 29 | value: '' 30 | } 31 | } 32 | 33 | //字符串模板操作 34 | let stringAttr = getStringTypeAttr(attributes) 35 | let template = ` 37 | ${subContent} 38 | ` 39 | 40 | return { template, attributes, slots } 41 | } 42 | export default handle 43 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Tfoot.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | }, 7 | slots = { 8 | default: [] 9 | } 10 | 11 | //覆盖默认属性 12 | Object.assign(slots, _slots) 13 | Object.assign(attributes, _attr) 14 | 15 | //根据组件不同需要做的不同操作 16 | 17 | 18 | //获取插槽模板内容 19 | var subContent = getSlotContent(slots) || ' ' 20 | //设置当前组件的slot 21 | if (attributes.slot && attributes.slot!=='default') { 22 | attributes.slot = { 23 | type: 'text', 24 | value: attributes.slot 25 | } 26 | } else { 27 | attributes.slot = { 28 | type: 'text', 29 | value: '' 30 | } 31 | } 32 | 33 | //字符串模板操作 34 | let stringAttr = getStringTypeAttr(attributes) 35 | let template = ` 37 | ${subContent} 38 | ` 39 | 40 | return { template, attributes, slots } 41 | } 42 | export default handle 43 | -------------------------------------------------------------------------------- /src/assets/css/highlight/vs.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Visual Studio-like style based on original C# coloring by Jason Diamond 4 | 5 | */ 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: white; 11 | color: black; 12 | } 13 | 14 | .hljs-comment, 15 | .hljs-quote, 16 | .hljs-variable { 17 | color: #008000; 18 | } 19 | 20 | .hljs-keyword, 21 | .hljs-selector-tag, 22 | .hljs-built_in, 23 | .hljs-name, 24 | .hljs-tag { 25 | color: #00f; 26 | } 27 | 28 | .hljs-string, 29 | .hljs-title, 30 | .hljs-section, 31 | .hljs-attribute, 32 | .hljs-literal, 33 | .hljs-template-tag, 34 | .hljs-template-variable, 35 | .hljs-type, 36 | .hljs-addition { 37 | color: #a31515; 38 | } 39 | 40 | .hljs-deletion, 41 | .hljs-selector-attr, 42 | .hljs-selector-pseudo, 43 | .hljs-meta { 44 | color: #2b91af; 45 | } 46 | 47 | .hljs-doctag { 48 | color: #808080; 49 | } 50 | 51 | .hljs-attr { 52 | color: #f00; 53 | } 54 | 55 | .hljs-symbol, 56 | .hljs-bullet, 57 | .hljs-link { 58 | color: #00b0e8; 59 | } 60 | 61 | 62 | .hljs-emphasis { 63 | font-style: italic; 64 | } 65 | 66 | .hljs-strong { 67 | font-weight: bold; 68 | } 69 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Thead.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | }, 7 | slots = { 8 | default: [] 9 | } 10 | 11 | //覆盖默认属性 12 | Object.assign(slots, _slots) 13 | Object.assign(attributes, _attr) 14 | 15 | //根据组件不同需要做的不同操作 16 | 17 | 18 | //获取插槽模板内容 19 | var subContent = getSlotContent(slots) || ' ' 20 | //设置当前组件的slot 21 | if (attributes.slot && attributes.slot!=='default') { 22 | attributes.slot = { 23 | type: 'text', 24 | value: attributes.slot 25 | } 26 | } else { 27 | attributes.slot = { 28 | type: 'text', 29 | value: '' 30 | } 31 | } 32 | 33 | //字符串模板操作 34 | let stringAttr = getStringTypeAttr(attributes) 35 | let template = ` 37 | ${subContent} 38 | ` 39 | 40 | return { template, attributes, slots } 41 | } 42 | export default handle 43 | -------------------------------------------------------------------------------- /src/assets/css/highlight/far.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | FAR Style (c) MajestiC 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #000080; 12 | } 13 | 14 | .hljs, 15 | .hljs-subst { 16 | color: #0ff; 17 | } 18 | 19 | .hljs-string, 20 | .hljs-attribute, 21 | .hljs-symbol, 22 | .hljs-bullet, 23 | .hljs-built_in, 24 | .hljs-builtin-name, 25 | .hljs-template-tag, 26 | .hljs-template-variable, 27 | .hljs-addition { 28 | color: #ff0; 29 | } 30 | 31 | .hljs-keyword, 32 | .hljs-selector-tag, 33 | .hljs-section, 34 | .hljs-type, 35 | .hljs-name, 36 | .hljs-selector-id, 37 | .hljs-selector-class, 38 | .hljs-variable { 39 | color: #fff; 40 | } 41 | 42 | .hljs-comment, 43 | .hljs-quote, 44 | .hljs-doctag, 45 | .hljs-deletion { 46 | color: #888; 47 | } 48 | 49 | .hljs-number, 50 | .hljs-regexp, 51 | .hljs-literal, 52 | .hljs-link { 53 | color: #0f0; 54 | } 55 | 56 | .hljs-meta { 57 | color: #008080; 58 | } 59 | 60 | .hljs-keyword, 61 | .hljs-selector-tag, 62 | .hljs-title, 63 | .hljs-section, 64 | .hljs-name, 65 | .hljs-strong { 66 | font-weight: bold; 67 | } 68 | 69 | .hljs-emphasis { 70 | font-style: italic; 71 | } 72 | -------------------------------------------------------------------------------- /src/assets/css/highlight/arta.css: -------------------------------------------------------------------------------- 1 | /* 2 | Date: 17.V.2011 3 | Author: pumbur 4 | */ 5 | 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: #222; 11 | } 12 | 13 | .hljs, 14 | .hljs-subst { 15 | color: #aaa; 16 | } 17 | 18 | .hljs-section { 19 | color: #fff; 20 | } 21 | 22 | .hljs-comment, 23 | .hljs-quote, 24 | .hljs-meta { 25 | color: #444; 26 | } 27 | 28 | .hljs-string, 29 | .hljs-symbol, 30 | .hljs-bullet, 31 | .hljs-regexp { 32 | color: #ffcc33; 33 | } 34 | 35 | .hljs-number, 36 | .hljs-addition { 37 | color: #00cc66; 38 | } 39 | 40 | .hljs-built_in, 41 | .hljs-builtin-name, 42 | .hljs-literal, 43 | .hljs-type, 44 | .hljs-template-variable, 45 | .hljs-attribute, 46 | .hljs-link { 47 | color: #32aaee; 48 | } 49 | 50 | .hljs-keyword, 51 | .hljs-selector-tag, 52 | .hljs-name, 53 | .hljs-selector-id, 54 | .hljs-selector-class { 55 | color: #6644aa; 56 | } 57 | 58 | .hljs-title, 59 | .hljs-variable, 60 | .hljs-deletion, 61 | .hljs-template-tag { 62 | color: #bb1166; 63 | } 64 | 65 | .hljs-section, 66 | .hljs-doctag, 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | 71 | .hljs-emphasis { 72 | font-style: italic; 73 | } 74 | -------------------------------------------------------------------------------- /test/e2e/runner.js: -------------------------------------------------------------------------------- 1 | // 1. start the dev server using production config 2 | process.env.NODE_ENV = 'testing' 3 | var server = require('../../build/dev-server.js') 4 | 5 | server.ready.then(() => { 6 | // 2. run the nightwatch test suite against it 7 | // to run in additional browsers: 8 | // 1. add an entry in test/e2e/nightwatch.conf.json under "test_settings" 9 | // 2. add it to the --env flag below 10 | // or override the environment flag, for example: `npm run e2e -- --env chrome,firefox` 11 | // For more information on Nightwatch's config file, see 12 | // http://nightwatchjs.org/guide#settings-file 13 | var opts = process.argv.slice(2) 14 | if (opts.indexOf('--config') === -1) { 15 | opts = opts.concat(['--config', 'test/e2e/nightwatch.conf.js']) 16 | } 17 | if (opts.indexOf('--env') === -1) { 18 | opts = opts.concat(['--env', 'chrome']) 19 | } 20 | 21 | var spawn = require('cross-spawn') 22 | var runner = spawn('./node_modules/.bin/nightwatch', opts, { stdio: 'inherit' }) 23 | 24 | runner.on('exit', function (code) { 25 | server.close() 26 | process.exit(code) 27 | }) 28 | 29 | runner.on('error', function (err) { 30 | server.close() 31 | throw err 32 | }) 33 | }) 34 | -------------------------------------------------------------------------------- /src/assets/css/highlight/ir-black.css: -------------------------------------------------------------------------------- 1 | /* 2 | IR_Black style (c) Vasily Mikhailitchenko 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | background: #000; 10 | color: #f8f8f8; 11 | } 12 | 13 | .hljs-comment, 14 | .hljs-quote, 15 | .hljs-meta { 16 | color: #7c7c7c; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-selector-tag, 21 | .hljs-tag, 22 | .hljs-name { 23 | color: #96cbfe; 24 | } 25 | 26 | .hljs-attribute, 27 | .hljs-selector-id { 28 | color: #ffffb6; 29 | } 30 | 31 | .hljs-string, 32 | .hljs-selector-attr, 33 | .hljs-selector-pseudo, 34 | .hljs-addition { 35 | color: #a8ff60; 36 | } 37 | 38 | .hljs-subst { 39 | color: #daefa3; 40 | } 41 | 42 | .hljs-regexp, 43 | .hljs-link { 44 | color: #e9c062; 45 | } 46 | 47 | .hljs-title, 48 | .hljs-section, 49 | .hljs-type, 50 | .hljs-doctag { 51 | color: #ffffb6; 52 | } 53 | 54 | .hljs-symbol, 55 | .hljs-bullet, 56 | .hljs-variable, 57 | .hljs-template-variable, 58 | .hljs-literal { 59 | color: #c6c5fe; 60 | } 61 | 62 | .hljs-number, 63 | .hljs-deletion { 64 | color:#ff73fd; 65 | } 66 | 67 | .hljs-emphasis { 68 | font-style: italic; 69 | } 70 | 71 | .hljs-strong { 72 | font-weight: bold; 73 | } 74 | -------------------------------------------------------------------------------- /src/assets/css/highlight/magula.css: -------------------------------------------------------------------------------- 1 | /* 2 | Description: Magula style for highligh.js 3 | Author: Ruslan Keba 4 | Website: http://rukeba.com/ 5 | Version: 1.0 6 | Date: 2009-01-03 7 | Music: Aphex Twin / Xtal 8 | */ 9 | 10 | .hljs { 11 | display: block; 12 | overflow-x: auto; 13 | padding: 0.5em; 14 | background-color: #f4f4f4; 15 | } 16 | 17 | .hljs, 18 | .hljs-subst { 19 | color: black; 20 | } 21 | 22 | .hljs-string, 23 | .hljs-title, 24 | .hljs-symbol, 25 | .hljs-bullet, 26 | .hljs-attribute, 27 | .hljs-addition, 28 | .hljs-variable, 29 | .hljs-template-tag, 30 | .hljs-template-variable { 31 | color: #050; 32 | } 33 | 34 | .hljs-comment, 35 | .hljs-quote { 36 | color: #777; 37 | } 38 | 39 | .hljs-number, 40 | .hljs-regexp, 41 | .hljs-literal, 42 | .hljs-type, 43 | .hljs-link { 44 | color: #800; 45 | } 46 | 47 | .hljs-deletion, 48 | .hljs-meta { 49 | color: #00e; 50 | } 51 | 52 | .hljs-keyword, 53 | .hljs-selector-tag, 54 | .hljs-doctag, 55 | .hljs-title, 56 | .hljs-section, 57 | .hljs-built_in, 58 | .hljs-tag, 59 | .hljs-name { 60 | font-weight: bold; 61 | color: navy; 62 | } 63 | 64 | .hljs-emphasis { 65 | font-style: italic; 66 | } 67 | 68 | .hljs-strong { 69 | font-weight: bold; 70 | } 71 | -------------------------------------------------------------------------------- /src/assets/css/highlight/color-brewer.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Colorbrewer theme 4 | Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock 5 | Ported by Fabrício Tavares de Oliveira 6 | 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | background: #fff; 14 | } 15 | 16 | .hljs, 17 | .hljs-subst { 18 | color: #000; 19 | } 20 | 21 | .hljs-string, 22 | .hljs-meta, 23 | .hljs-symbol, 24 | .hljs-template-tag, 25 | .hljs-template-variable, 26 | .hljs-addition { 27 | color: #756bb1; 28 | } 29 | 30 | .hljs-comment, 31 | .hljs-quote { 32 | color: #636363; 33 | } 34 | 35 | .hljs-number, 36 | .hljs-regexp, 37 | .hljs-literal, 38 | .hljs-bullet, 39 | .hljs-link { 40 | color: #31a354; 41 | } 42 | 43 | .hljs-deletion, 44 | .hljs-variable { 45 | color: #88f; 46 | } 47 | 48 | 49 | 50 | .hljs-keyword, 51 | .hljs-selector-tag, 52 | .hljs-title, 53 | .hljs-section, 54 | .hljs-built_in, 55 | .hljs-doctag, 56 | .hljs-type, 57 | .hljs-tag, 58 | .hljs-name, 59 | .hljs-selector-id, 60 | .hljs-selector-class, 61 | .hljs-strong { 62 | color: #3182bd; 63 | } 64 | 65 | .hljs-emphasis { 66 | font-style: italic; 67 | } 68 | 69 | .hljs-attribute { 70 | color: #e6550d; 71 | } 72 | -------------------------------------------------------------------------------- /test/e2e/nightwatch.conf.js: -------------------------------------------------------------------------------- 1 | require('babel-register') 2 | var config = require('../../config') 3 | 4 | // http://nightwatchjs.org/gettingstarted#settings-file 5 | module.exports = { 6 | src_folders: ['test/e2e/specs'], 7 | output_folder: 'test/e2e/reports', 8 | custom_assertions_path: ['test/e2e/custom-assertions'], 9 | 10 | selenium: { 11 | start_process: true, 12 | server_path: require('selenium-server').path, 13 | host: '127.0.0.1', 14 | port: 4444, 15 | cli_args: { 16 | 'webdriver.chrome.driver': require('chromedriver').path 17 | } 18 | }, 19 | 20 | test_settings: { 21 | default: { 22 | selenium_port: 4444, 23 | selenium_host: 'localhost', 24 | silent: true, 25 | globals: { 26 | devServerURL: 'http://localhost:' + (process.env.PORT || config.dev.port) 27 | } 28 | }, 29 | 30 | chrome: { 31 | desiredCapabilities: { 32 | browserName: 'chrome', 33 | javascriptEnabled: true, 34 | acceptSslCerts: true 35 | } 36 | }, 37 | 38 | firefox: { 39 | desiredCapabilities: { 40 | browserName: 'firefox', 41 | javascriptEnabled: true, 42 | acceptSslCerts: true 43 | } 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/components/template/iView-UI/index.js: -------------------------------------------------------------------------------- 1 | import Row from './Row' 2 | import Col from './Col' 3 | import Button from './Button' 4 | import ButtonGroup from './ButtonGroup' 5 | import Icon from './Icon' 6 | import Input from './Input' 7 | import Radio from './Radio' 8 | import RadioGroup from './RadioGroup' 9 | import Checkbox from './Checkbox' 10 | import iSwitch from './iSwitch' 11 | import Select from './Select' 12 | import Option from './Option' 13 | import Slider from './Slider' 14 | import DatePicker from './DatePicker' 15 | import TimePicker from './TimePicker' 16 | import InputNumber from './InputNumber' 17 | import Rate from './Rate' 18 | import Form from './Form' 19 | import FormItem from './FormItem' 20 | import ColorPicker from './ColorPicker' 21 | import Alert from './Alert' 22 | import Card from './Card' 23 | 24 | var obj = { 25 | Row, 26 | Col, 27 | Button, 28 | ButtonGroup, 29 | Icon, 30 | Input, 31 | Radio, 32 | RadioGroup, 33 | Checkbox, 34 | iSwitch, 35 | Select, 36 | Option, 37 | Slider, 38 | DatePicker, 39 | TimePicker, 40 | InputNumber, 41 | Rate, 42 | Form, 43 | FormItem, 44 | ColorPicker, 45 | Alert, 46 | Card 47 | } 48 | 49 | export default obj 50 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Card Text.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | import guid from '@/utils/guid' 3 | 4 | var handle = function(_attr, _slots, _info) { 5 | //定义默认属性 6 | let attributes = { 7 | text: { 8 | type: 'text', 9 | value: '正文' 10 | } 11 | }, 12 | slots = { 13 | } 14 | 15 | //覆盖默认属性 16 | Object.assign(slots, _slots) 17 | Object.assign(attributes, _attr) 18 | 19 | //根据组件不同需要做的不同操作 20 | 21 | 22 | //获取插槽模板内容 23 | var subContent = getSlotContent(slots) 24 | 25 | //设置当前组件的slot 26 | if (attributes.slot && attributes.slot!=='default') { 27 | attributes.slot = { 28 | type: 'text', 29 | value: attributes.slot 30 | } 31 | } else { 32 | attributes.slot = { 33 | type: 'text', 34 | value: '' 35 | } 36 | } 37 | 38 | //字符串模板操作 39 | let stringAttr = getStringTypeAttr(attributes) 40 | let template = ` 41 | ${attributes.text.value} 42 | ` 43 | 44 | return { template, attributes, slots } 45 | } 46 | export default handle 47 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Td.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | name:{ 7 | type:'text', 8 | value:'' 9 | } 10 | }, 11 | slots = { 12 | default: [] 13 | } 14 | 15 | //覆盖默认属性 16 | Object.assign(slots, _slots) 17 | Object.assign(attributes, _attr) 18 | 19 | //根据组件不同需要做的不同操作 20 | 21 | 22 | //获取插槽模板内容 23 | var subContent = getSlotContent(slots) || ' ' 24 | //设置当前组件的slot 25 | if (attributes.slot && attributes.slot!=='default') { 26 | attributes.slot = { 27 | type: 'text', 28 | value: attributes.slot 29 | } 30 | } else { 31 | attributes.slot = { 32 | type: 'text', 33 | value: '' 34 | } 35 | } 36 | 37 | //字符串模板操作 38 | let stringAttr = getStringTypeAttr(attributes) 39 | let template = ` 41 | ${subContent} 42 | ` 43 | 44 | return { template, attributes, slots } 45 | } 46 | export default handle 47 | -------------------------------------------------------------------------------- /src/assets/css/highlight/github-gist.css: -------------------------------------------------------------------------------- 1 | /** 2 | * GitHub Gist Theme 3 | * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro 4 | */ 5 | 6 | .hljs { 7 | display: block; 8 | background: white; 9 | padding: 0.5em; 10 | color: #333333; 11 | overflow-x: auto; 12 | } 13 | 14 | .hljs-comment, 15 | .hljs-meta { 16 | color: #969896; 17 | } 18 | 19 | .hljs-string, 20 | .hljs-variable, 21 | .hljs-template-variable, 22 | .hljs-strong, 23 | .hljs-emphasis, 24 | .hljs-quote { 25 | color: #df5000; 26 | } 27 | 28 | .hljs-keyword, 29 | .hljs-selector-tag, 30 | .hljs-type { 31 | color: #a71d5d; 32 | } 33 | 34 | .hljs-literal, 35 | .hljs-symbol, 36 | .hljs-bullet, 37 | .hljs-attribute { 38 | color: #0086b3; 39 | } 40 | 41 | .hljs-section, 42 | .hljs-name { 43 | color: #63a35c; 44 | } 45 | 46 | .hljs-tag { 47 | color: #333333; 48 | } 49 | 50 | .hljs-title, 51 | .hljs-attr, 52 | .hljs-selector-id, 53 | .hljs-selector-class, 54 | .hljs-selector-attr, 55 | .hljs-selector-pseudo { 56 | color: #795da3; 57 | } 58 | 59 | .hljs-addition { 60 | color: #55a532; 61 | background-color: #eaffea; 62 | } 63 | 64 | .hljs-deletion { 65 | color: #bd2c00; 66 | background-color: #ffecec; 67 | } 68 | 69 | .hljs-link { 70 | text-decoration: underline; 71 | } 72 | -------------------------------------------------------------------------------- /src/components/template/Mint-UI/Switch.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | var handle = function(_attr, _slots) { 3 | //定义默认属性 4 | let attributes = { 5 | value:{ 6 | type:'boolean', 7 | value:false 8 | } 9 | }, 10 | slots = { 11 | default: [] 12 | } 13 | 14 | //覆盖默认属性 15 | Object.assign(slots, _slots) 16 | Object.assign(attributes, _attr) 17 | 18 | //根据组件不同需要做的不同操作 19 | 20 | 21 | //获取插槽模板内容 22 | var subContent = getSlotContent(slots) 23 | 24 | //设置当前组件的slot 25 | if (attributes.slot && attributes.slot!=='default') { 26 | attributes.slot = { 27 | type: 'text', 28 | value: attributes.slot 29 | } 30 | } else { 31 | attributes.slot = { 32 | type: 'text', 33 | value: '' 34 | } 35 | } 36 | 37 | //字符串模板操作 38 | let stringAttr = getStringTypeAttr(attributes) 39 | let template = ` 41 | ${subContent} 42 | ` 43 | 44 | return { template, attributes, slots } 45 | } 46 | export default handle 47 | -------------------------------------------------------------------------------- /src/assets/css/highlight/monokai.css: -------------------------------------------------------------------------------- 1 | /* 2 | Monokai style - ported by Luigi Maselli - http://grigio.org 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | background: #272822; color: #ddd; 10 | } 11 | 12 | .hljs-tag, 13 | .hljs-keyword, 14 | .hljs-selector-tag, 15 | .hljs-literal, 16 | .hljs-strong, 17 | .hljs-name { 18 | color: #f92672; 19 | } 20 | 21 | .hljs-code { 22 | color: #66d9ef; 23 | } 24 | 25 | .hljs-class .hljs-title { 26 | color: white; 27 | } 28 | 29 | .hljs-attribute, 30 | .hljs-symbol, 31 | .hljs-regexp, 32 | .hljs-link { 33 | color: #bf79db; 34 | } 35 | 36 | .hljs-string, 37 | .hljs-bullet, 38 | .hljs-subst, 39 | .hljs-title, 40 | .hljs-section, 41 | .hljs-emphasis, 42 | .hljs-type, 43 | .hljs-built_in, 44 | .hljs-builtin-name, 45 | .hljs-selector-attr, 46 | .hljs-selector-pseudo, 47 | .hljs-addition, 48 | .hljs-variable, 49 | .hljs-template-tag, 50 | .hljs-template-variable { 51 | color: #a6e22e; 52 | } 53 | 54 | .hljs-comment, 55 | .hljs-quote, 56 | .hljs-deletion, 57 | .hljs-meta { 58 | color: #75715e; 59 | } 60 | 61 | .hljs-keyword, 62 | .hljs-selector-tag, 63 | .hljs-literal, 64 | .hljs-doctag, 65 | .hljs-title, 66 | .hljs-section, 67 | .hljs-type, 68 | .hljs-selector-id { 69 | font-weight: bold; 70 | } 71 | -------------------------------------------------------------------------------- /src/assets/css/highlight/darcula.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Darcula color scheme from the JetBrains family of IDEs 4 | 5 | */ 6 | 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #2b2b2b; 13 | } 14 | 15 | .hljs { 16 | color: #bababa; 17 | } 18 | 19 | .hljs-strong, 20 | .hljs-emphasis { 21 | color: #a8a8a2; 22 | } 23 | 24 | .hljs-bullet, 25 | .hljs-quote, 26 | .hljs-link, 27 | .hljs-number, 28 | .hljs-regexp, 29 | .hljs-literal { 30 | color: #6896ba; 31 | } 32 | 33 | .hljs-code, 34 | .hljs-selector-class { 35 | color: #a6e22e; 36 | } 37 | 38 | .hljs-emphasis { 39 | font-style: italic; 40 | } 41 | 42 | .hljs-keyword, 43 | .hljs-selector-tag, 44 | .hljs-section, 45 | .hljs-attribute, 46 | .hljs-name, 47 | .hljs-variable { 48 | color: #cb7832; 49 | } 50 | 51 | .hljs-params { 52 | color: #b9b9b9; 53 | } 54 | 55 | .hljs-string { 56 | color: #6a8759; 57 | } 58 | 59 | .hljs-subst, 60 | .hljs-type, 61 | .hljs-built_in, 62 | .hljs-builtin-name, 63 | .hljs-symbol, 64 | .hljs-selector-id, 65 | .hljs-selector-attr, 66 | .hljs-selector-pseudo, 67 | .hljs-template-tag, 68 | .hljs-template-variable, 69 | .hljs-addition { 70 | color: #e0c46c; 71 | } 72 | 73 | .hljs-comment, 74 | .hljs-deletion, 75 | .hljs-meta { 76 | color: #7f7f7f; 77 | } 78 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Divider.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | inset:{ 7 | type:'boolean', 8 | value:false 9 | }, 10 | shallowInset:{ 11 | type:'boolean', 12 | value:false 13 | } 14 | }, 15 | slots = { 16 | } 17 | 18 | //覆盖默认属性 19 | Object.assign(slots, _slots) 20 | Object.assign(attributes, _attr) 21 | 22 | //根据组件不同需要做的不同操作 23 | 24 | 25 | //获取插槽模板内容 26 | var subContent = getSlotContent(slots) 27 | 28 | //设置当前组件的slot 29 | if (attributes.slot && attributes.slot!=='default') { 30 | attributes.slot = { 31 | type: 'text', 32 | value: attributes.slot 33 | } 34 | } else { 35 | attributes.slot = { 36 | type: 'text', 37 | value: '' 38 | } 39 | } 40 | 41 | //字符串模板操作 42 | let stringAttr = getStringTypeAttr(attributes) 43 | let template = `` 45 | 46 | return { template, attributes, slots } 47 | } 48 | export default handle 49 | -------------------------------------------------------------------------------- /src/components/template/Common/Text.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | text: { 7 | type: 'text', 8 | value: '' 9 | } 10 | }, 11 | slots = {} 12 | 13 | //覆盖默认属性 14 | Object.assign(slots, _slots) 15 | Object.assign(attributes, _attr) 16 | 17 | //根据组件不同需要做的不同操作 18 | 19 | 20 | //获取插槽模板内容 21 | var subContent = getSlotContent(slots) || ' ' 22 | //设置当前组件的slot 23 | if (attributes.slot && attributes.slot !== 'default') { 24 | attributes.slot = { 25 | type: 'text', 26 | value: attributes.slot 27 | } 28 | } else { 29 | attributes.slot = { 30 | type: 'text', 31 | value: '' 32 | } 33 | } 34 | 35 | //字符串模板操作 36 | let text = JSON.parse(JSON.stringify(attributes)).text.value || 'Text' 37 | let stringAttr = getStringTypeAttr(attributes) 38 | let template = `${text}` 39 | 40 | template = template.replace(/text=".*?"/g, '')//模板字符串中删除text属性 41 | 42 | return { template, attributes, slots } 43 | } 44 | export default handle 45 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App' 3 | import router from './router' 4 | import store from './store' 5 | import './assets/css/global.css' 6 | 7 | //iView-UI 8 | import iView from 'iview' 9 | Vue.use(iView) 10 | 11 | //Mint-UI - 手机组件 12 | import { Toast, Indicator } from 'mint-ui' 13 | import 'mint-ui/lib/style.css' 14 | Vue.prototype.$toast = Toast 15 | Vue.prototype.$indicator = Indicator 16 | import mint from 'mint-ui' 17 | Vue.use(mint) 18 | 19 | //Muse-UI - pc组件 20 | import MuseUI from 'muse-ui' 21 | import 'muse-ui/dist/muse-ui.css' 22 | Vue.use(MuseUI) 23 | 24 | import ElementUI from 'element-ui' 25 | import 'element-ui/lib/theme-chalk/index.css'; 26 | Vue.use(ElementUI) 27 | import vuele from 'vuele'; 28 | import 'vuele/dist/vuele.css'; 29 | Vue.use(vuele) 30 | 31 | //为代码文本提供高亮、缩进 32 | import VueHighlightJS from 'vue-highlightjs' 33 | Vue.use(VueHighlightJS) 34 | //为代码文本格式化 35 | import pretty from 'pretty' 36 | Vue.prototype.$prettyDom = pretty 37 | 38 | //云数据库 39 | import lean from './utils/leancloud storage' 40 | Vue.prototype.$lean=lean 41 | Vue.config.productionTip = false 42 | Vue.prototype.$compile = Vue.compile 43 | 44 | window._Vue = new Vue({ 45 | el: '#app', 46 | store, 47 | router, 48 | template: '', 49 | components: { App } 50 | }) 51 | -------------------------------------------------------------------------------- /src/assets/css/highlight/tomorrow.css: -------------------------------------------------------------------------------- 1 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 2 | 3 | /* Tomorrow Comment */ 4 | .hljs-comment, 5 | .hljs-quote { 6 | color: #8e908c; 7 | } 8 | 9 | /* Tomorrow Red */ 10 | .hljs-variable, 11 | .hljs-template-variable, 12 | .hljs-tag, 13 | .hljs-name, 14 | .hljs-selector-id, 15 | .hljs-selector-class, 16 | .hljs-regexp, 17 | .hljs-deletion { 18 | color: #c82829; 19 | } 20 | 21 | /* Tomorrow Orange */ 22 | .hljs-number, 23 | .hljs-built_in, 24 | .hljs-builtin-name, 25 | .hljs-literal, 26 | .hljs-type, 27 | .hljs-params, 28 | .hljs-meta, 29 | .hljs-link { 30 | color: #f5871f; 31 | } 32 | 33 | /* Tomorrow Yellow */ 34 | .hljs-attribute { 35 | color: #eab700; 36 | } 37 | 38 | /* Tomorrow Green */ 39 | .hljs-string, 40 | .hljs-symbol, 41 | .hljs-bullet, 42 | .hljs-addition { 43 | color: #718c00; 44 | } 45 | 46 | /* Tomorrow Blue */ 47 | .hljs-title, 48 | .hljs-section { 49 | color: #4271ae; 50 | } 51 | 52 | /* Tomorrow Purple */ 53 | .hljs-keyword, 54 | .hljs-selector-tag { 55 | color: #8959a8; 56 | } 57 | 58 | .hljs { 59 | display: block; 60 | overflow-x: auto; 61 | background: white; 62 | color: #4d4d4c; 63 | padding: 0.5em; 64 | } 65 | 66 | .hljs-emphasis { 67 | font-style: italic; 68 | } 69 | 70 | .hljs-strong { 71 | font-weight: bold; 72 | } 73 | -------------------------------------------------------------------------------- /src/assets/css/highlight/zenburn.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov 4 | based on dark.css by Ivan Sagalaev 5 | 6 | */ 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #3f3f3f; 13 | color: #dcdcdc; 14 | } 15 | 16 | .hljs-keyword, 17 | .hljs-selector-tag, 18 | .hljs-tag { 19 | color: #e3ceab; 20 | } 21 | 22 | .hljs-template-tag { 23 | color: #dcdcdc; 24 | } 25 | 26 | .hljs-number { 27 | color: #8cd0d3; 28 | } 29 | 30 | .hljs-variable, 31 | .hljs-template-variable, 32 | .hljs-attribute { 33 | color: #efdcbc; 34 | } 35 | 36 | .hljs-literal { 37 | color: #efefaf; 38 | } 39 | 40 | .hljs-subst { 41 | color: #8f8f8f; 42 | } 43 | 44 | .hljs-title, 45 | .hljs-name, 46 | .hljs-selector-id, 47 | .hljs-selector-class, 48 | .hljs-section, 49 | .hljs-type { 50 | color: #efef8f; 51 | } 52 | 53 | .hljs-symbol, 54 | .hljs-bullet, 55 | .hljs-link { 56 | color: #dca3a3; 57 | } 58 | 59 | .hljs-deletion, 60 | .hljs-string, 61 | .hljs-built_in, 62 | .hljs-builtin-name { 63 | color: #cc9393; 64 | } 65 | 66 | .hljs-addition, 67 | .hljs-comment, 68 | .hljs-quote, 69 | .hljs-meta { 70 | color: #7f9f7f; 71 | } 72 | 73 | 74 | .hljs-emphasis { 75 | font-style: italic; 76 | } 77 | 78 | .hljs-strong { 79 | font-weight: bold; 80 | } 81 | -------------------------------------------------------------------------------- /src/assets/css/highlight/school-book.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | School Book style from goldblog.com.ua (c) Zaripov Yura 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 15px 0.5em 0.5em 30px; 11 | font-size: 11px; 12 | line-height:16px; 13 | } 14 | 15 | pre{ 16 | background:#f6f6ae url(./school-book.png); 17 | border-top: solid 2px #d2e8b9; 18 | border-bottom: solid 1px #d2e8b9; 19 | } 20 | 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-literal { 24 | color:#005599; 25 | font-weight:bold; 26 | } 27 | 28 | .hljs, 29 | .hljs-subst { 30 | color: #3e5915; 31 | } 32 | 33 | .hljs-string, 34 | .hljs-title, 35 | .hljs-section, 36 | .hljs-type, 37 | .hljs-symbol, 38 | .hljs-bullet, 39 | .hljs-attribute, 40 | .hljs-built_in, 41 | .hljs-builtin-name, 42 | .hljs-addition, 43 | .hljs-variable, 44 | .hljs-template-tag, 45 | .hljs-template-variable, 46 | .hljs-link { 47 | color: #2c009f; 48 | } 49 | 50 | .hljs-comment, 51 | .hljs-quote, 52 | .hljs-deletion, 53 | .hljs-meta { 54 | color: #e60415; 55 | } 56 | 57 | .hljs-keyword, 58 | .hljs-selector-tag, 59 | .hljs-literal, 60 | .hljs-doctag, 61 | .hljs-title, 62 | .hljs-section, 63 | .hljs-type, 64 | .hljs-name, 65 | .hljs-selector-id, 66 | .hljs-strong { 67 | font-weight: bold; 68 | } 69 | 70 | .hljs-emphasis { 71 | font-style: italic; 72 | } 73 | -------------------------------------------------------------------------------- /src/assets/css/highlight/ocean.css: -------------------------------------------------------------------------------- 1 | /* Ocean Dark Theme */ 2 | /* https://github.com/gavsiu */ 3 | /* Original theme - https://github.com/chriskempson/base16 */ 4 | 5 | /* Ocean Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #65737e; 9 | } 10 | 11 | /* Ocean Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-tag, 15 | .hljs-name, 16 | .hljs-selector-id, 17 | .hljs-selector-class, 18 | .hljs-regexp, 19 | .hljs-deletion { 20 | color: #bf616a; 21 | } 22 | 23 | /* Ocean Orange */ 24 | .hljs-number, 25 | .hljs-built_in, 26 | .hljs-builtin-name, 27 | .hljs-literal, 28 | .hljs-type, 29 | .hljs-params, 30 | .hljs-meta, 31 | .hljs-link { 32 | color: #d08770; 33 | } 34 | 35 | /* Ocean Yellow */ 36 | .hljs-attribute { 37 | color: #ebcb8b; 38 | } 39 | 40 | /* Ocean Green */ 41 | .hljs-string, 42 | .hljs-symbol, 43 | .hljs-bullet, 44 | .hljs-addition { 45 | color: #a3be8c; 46 | } 47 | 48 | /* Ocean Blue */ 49 | .hljs-title, 50 | .hljs-section { 51 | color: #8fa1b3; 52 | } 53 | 54 | /* Ocean Purple */ 55 | .hljs-keyword, 56 | .hljs-selector-tag { 57 | color: #b48ead; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: #2b303b; 64 | color: #c0c5ce; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /src/assets/css/highlight/paraiso-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Paraíso (dark) 3 | Created by Jan T. Sott (http://github.com/idleberg) 4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 5 | */ 6 | 7 | /* Paraíso Comment */ 8 | .hljs-comment, 9 | .hljs-quote { 10 | color: #8d8687; 11 | } 12 | 13 | /* Paraíso Red */ 14 | .hljs-variable, 15 | .hljs-template-variable, 16 | .hljs-tag, 17 | .hljs-name, 18 | .hljs-selector-id, 19 | .hljs-selector-class, 20 | .hljs-regexp, 21 | .hljs-link, 22 | .hljs-meta { 23 | color: #ef6155; 24 | } 25 | 26 | /* Paraíso Orange */ 27 | .hljs-number, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params, 33 | .hljs-deletion { 34 | color: #f99b15; 35 | } 36 | 37 | /* Paraíso Yellow */ 38 | .hljs-title, 39 | .hljs-section, 40 | .hljs-attribute { 41 | color: #fec418; 42 | } 43 | 44 | /* Paraíso Green */ 45 | .hljs-string, 46 | .hljs-symbol, 47 | .hljs-bullet, 48 | .hljs-addition { 49 | color: #48b685; 50 | } 51 | 52 | /* Paraíso Purple */ 53 | .hljs-keyword, 54 | .hljs-selector-tag { 55 | color: #815ba4; 56 | } 57 | 58 | .hljs { 59 | display: block; 60 | overflow-x: auto; 61 | background: #2f1e2e; 62 | color: #a39e9b; 63 | padding: 0.5em; 64 | } 65 | 66 | .hljs-emphasis { 67 | font-style: italic; 68 | } 69 | 70 | .hljs-strong { 71 | font-weight: bold; 72 | } 73 | -------------------------------------------------------------------------------- /src/assets/css/highlight/paraiso-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Paraíso (light) 3 | Created by Jan T. Sott (http://github.com/idleberg) 4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 5 | */ 6 | 7 | /* Paraíso Comment */ 8 | .hljs-comment, 9 | .hljs-quote { 10 | color: #776e71; 11 | } 12 | 13 | /* Paraíso Red */ 14 | .hljs-variable, 15 | .hljs-template-variable, 16 | .hljs-tag, 17 | .hljs-name, 18 | .hljs-selector-id, 19 | .hljs-selector-class, 20 | .hljs-regexp, 21 | .hljs-link, 22 | .hljs-meta { 23 | color: #ef6155; 24 | } 25 | 26 | /* Paraíso Orange */ 27 | .hljs-number, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params, 33 | .hljs-deletion { 34 | color: #f99b15; 35 | } 36 | 37 | /* Paraíso Yellow */ 38 | .hljs-title, 39 | .hljs-section, 40 | .hljs-attribute { 41 | color: #fec418; 42 | } 43 | 44 | /* Paraíso Green */ 45 | .hljs-string, 46 | .hljs-symbol, 47 | .hljs-bullet, 48 | .hljs-addition { 49 | color: #48b685; 50 | } 51 | 52 | /* Paraíso Purple */ 53 | .hljs-keyword, 54 | .hljs-selector-tag { 55 | color: #815ba4; 56 | } 57 | 58 | .hljs { 59 | display: block; 60 | overflow-x: auto; 61 | background: #e7e9db; 62 | color: #4f424c; 63 | padding: 0.5em; 64 | } 65 | 66 | .hljs-emphasis { 67 | font-style: italic; 68 | } 69 | 70 | .hljs-strong { 71 | font-weight: bold; 72 | } 73 | -------------------------------------------------------------------------------- /src/components/template/Common/Div.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | text: { 7 | type: 'text', 8 | value: '' 9 | } 10 | }, 11 | slots = { 12 | default: [] 13 | } 14 | 15 | //覆盖默认属性 16 | Object.assign(slots, _slots) 17 | Object.assign(attributes, _attr) 18 | 19 | //根据组件不同需要做的不同操作 20 | 21 | 22 | //获取插槽模板内容 23 | var subContent = getSlotContent(slots) || ' ' 24 | //设置当前组件的slot 25 | if (attributes.slot && attributes.slot !== 'default') { 26 | attributes.slot = { 27 | type: 'text', 28 | value: attributes.slot 29 | } 30 | } else { 31 | attributes.slot = { 32 | type: 'text', 33 | value: '' 34 | } 35 | } 36 | 37 | //字符串模板操作 38 | let stringAttr = getStringTypeAttr(attributes) 39 | let template = `
40 | ${subContent||attributes.text.value?attributes.text.value:' '} 41 |
` 42 | 43 | template = template.replace(/text=".*?"/g, '') //模板字符串中删除text属性 44 | 45 | return { template, attributes, slots } 46 | } 47 | export default handle 48 | -------------------------------------------------------------------------------- /src/assets/css/highlight/dracula.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Dracula Theme v1.2.0 4 | 5 | https://github.com/zenorocha/dracula-theme 6 | 7 | Copyright 2015, All rights reserved 8 | 9 | Code licensed under the MIT license 10 | http://zenorocha.mit-license.org 11 | 12 | @author Éverton Ribeiro 13 | @author Zeno Rocha 14 | 15 | */ 16 | 17 | .hljs { 18 | display: block; 19 | overflow-x: auto; 20 | padding: 0.5em; 21 | background: #282a36; 22 | } 23 | 24 | .hljs-keyword, 25 | .hljs-selector-tag, 26 | .hljs-literal, 27 | .hljs-section, 28 | .hljs-link { 29 | color: #8be9fd; 30 | } 31 | 32 | .hljs-function .hljs-keyword { 33 | color: #ff79c6; 34 | } 35 | 36 | .hljs, 37 | .hljs-subst { 38 | color: #f8f8f2; 39 | } 40 | 41 | .hljs-string, 42 | .hljs-title, 43 | .hljs-name, 44 | .hljs-type, 45 | .hljs-attribute, 46 | .hljs-symbol, 47 | .hljs-bullet, 48 | .hljs-addition, 49 | .hljs-variable, 50 | .hljs-template-tag, 51 | .hljs-template-variable { 52 | color: #f1fa8c; 53 | } 54 | 55 | .hljs-comment, 56 | .hljs-quote, 57 | .hljs-deletion, 58 | .hljs-meta { 59 | color: #6272a4; 60 | } 61 | 62 | .hljs-keyword, 63 | .hljs-selector-tag, 64 | .hljs-literal, 65 | .hljs-title, 66 | .hljs-section, 67 | .hljs-doctag, 68 | .hljs-type, 69 | .hljs-name, 70 | .hljs-strong { 71 | font-weight: bold; 72 | } 73 | 74 | .hljs-emphasis { 75 | font-style: italic; 76 | } 77 | -------------------------------------------------------------------------------- /src/assets/css/highlight/qtcreator_dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Qt Creator dark color scheme 4 | 5 | */ 6 | 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #000000; 13 | } 14 | 15 | .hljs, 16 | .hljs-subst, 17 | .hljs-tag, 18 | .hljs-title { 19 | color: #aaaaaa; 20 | } 21 | 22 | .hljs-strong, 23 | .hljs-emphasis { 24 | color: #a8a8a2; 25 | } 26 | 27 | .hljs-bullet, 28 | .hljs-quote, 29 | .hljs-number, 30 | .hljs-regexp, 31 | .hljs-literal { 32 | color: #ff55ff; 33 | } 34 | 35 | .hljs-code 36 | .hljs-selector-class { 37 | color: #aaaaff; 38 | } 39 | 40 | .hljs-emphasis, 41 | .hljs-stronge, 42 | .hljs-type { 43 | font-style: italic; 44 | } 45 | 46 | .hljs-keyword, 47 | .hljs-selector-tag, 48 | .hljs-function, 49 | .hljs-section, 50 | .hljs-symbol, 51 | .hljs-name { 52 | color: #ffff55; 53 | } 54 | 55 | .hljs-attribute { 56 | color: #ff5555; 57 | } 58 | 59 | .hljs-variable, 60 | .hljs-params, 61 | .hljs-class .hljs-title { 62 | color: #8888ff; 63 | } 64 | 65 | .hljs-string, 66 | .hljs-selector-id, 67 | .hljs-selector-attr, 68 | .hljs-selector-pseudo, 69 | .hljs-type, 70 | .hljs-built_in, 71 | .hljs-builtin-name, 72 | .hljs-template-tag, 73 | .hljs-template-variable, 74 | .hljs-addition, 75 | .hljs-link { 76 | color: #ff55ff; 77 | } 78 | 79 | .hljs-comment, 80 | .hljs-meta, 81 | .hljs-deletion { 82 | color: #55ffff; 83 | } 84 | -------------------------------------------------------------------------------- /src/assets/css/highlight/qtcreator_light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Qt Creator light color scheme 4 | 5 | */ 6 | 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #ffffff; 13 | } 14 | 15 | .hljs, 16 | .hljs-subst, 17 | .hljs-tag, 18 | .hljs-title { 19 | color: #000000; 20 | } 21 | 22 | .hljs-strong, 23 | .hljs-emphasis { 24 | color: #000000; 25 | } 26 | 27 | .hljs-bullet, 28 | .hljs-quote, 29 | .hljs-number, 30 | .hljs-regexp, 31 | .hljs-literal { 32 | color: #000080; 33 | } 34 | 35 | .hljs-code 36 | .hljs-selector-class { 37 | color: #800080; 38 | } 39 | 40 | .hljs-emphasis, 41 | .hljs-stronge, 42 | .hljs-type { 43 | font-style: italic; 44 | } 45 | 46 | .hljs-keyword, 47 | .hljs-selector-tag, 48 | .hljs-function, 49 | .hljs-section, 50 | .hljs-symbol, 51 | .hljs-name { 52 | color: #808000; 53 | } 54 | 55 | .hljs-attribute { 56 | color: #800000; 57 | } 58 | 59 | .hljs-variable, 60 | .hljs-params, 61 | .hljs-class .hljs-title { 62 | color: #0055AF; 63 | } 64 | 65 | .hljs-string, 66 | .hljs-selector-id, 67 | .hljs-selector-attr, 68 | .hljs-selector-pseudo, 69 | .hljs-type, 70 | .hljs-built_in, 71 | .hljs-builtin-name, 72 | .hljs-template-tag, 73 | .hljs-template-variable, 74 | .hljs-addition, 75 | .hljs-link { 76 | color: #008000; 77 | } 78 | 79 | .hljs-comment, 80 | .hljs-meta, 81 | .hljs-deletion { 82 | color: #008000; 83 | } 84 | -------------------------------------------------------------------------------- /src/components/componentTree.vue: -------------------------------------------------------------------------------- 1 | 13 | 39 | 48 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Tr.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | selectable:{ 7 | type:'boolean', 8 | value:false 9 | }, 10 | selected:{ 11 | type:'boolean', 12 | value:false 13 | } 14 | }, 15 | slots = { 16 | default: [] 17 | } 18 | 19 | //覆盖默认属性 20 | Object.assign(slots, _slots) 21 | Object.assign(attributes, _attr) 22 | 23 | //根据组件不同需要做的不同操作 24 | 25 | 26 | //获取插槽模板内容 27 | var subContent = getSlotContent(slots) || ' ' 28 | //设置当前组件的slot 29 | if (attributes.slot && attributes.slot!=='default') { 30 | attributes.slot = { 31 | type: 'text', 32 | value: attributes.slot 33 | } 34 | } else { 35 | attributes.slot = { 36 | type: 'text', 37 | value: '' 38 | } 39 | } 40 | 41 | //字符串模板操作 42 | let stringAttr = getStringTypeAttr(attributes) 43 | let template = ` 45 | ${subContent} 46 | ` 47 | 48 | return { template, attributes, slots } 49 | } 50 | export default handle 51 | -------------------------------------------------------------------------------- /src/assets/css/highlight/rainbow.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Style with support for rainbow parens 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #474949; 12 | color: #d1d9e1; 13 | } 14 | 15 | 16 | .hljs-comment, 17 | .hljs-quote { 18 | color: #969896; 19 | font-style: italic; 20 | } 21 | 22 | .hljs-keyword, 23 | .hljs-selector-tag, 24 | .hljs-literal, 25 | .hljs-type, 26 | .hljs-addition { 27 | color: #cc99cc; 28 | } 29 | 30 | .hljs-number, 31 | .hljs-selector-attr, 32 | .hljs-selector-pseudo { 33 | color: #f99157; 34 | } 35 | 36 | .hljs-string, 37 | .hljs-doctag, 38 | .hljs-regexp { 39 | color: #8abeb7; 40 | } 41 | 42 | .hljs-title, 43 | .hljs-name, 44 | .hljs-section, 45 | .hljs-built_in { 46 | color: #b5bd68; 47 | } 48 | 49 | .hljs-variable, 50 | .hljs-template-variable, 51 | .hljs-selector-id, 52 | .hljs-class .hljs-title { 53 | color: #ffcc66; 54 | } 55 | 56 | .hljs-section, 57 | .hljs-name, 58 | .hljs-strong { 59 | font-weight: bold; 60 | } 61 | 62 | .hljs-symbol, 63 | .hljs-bullet, 64 | .hljs-subst, 65 | .hljs-meta, 66 | .hljs-link { 67 | color: #f99157; 68 | } 69 | 70 | .hljs-deletion { 71 | color: #dc322f; 72 | } 73 | 74 | .hljs-formula { 75 | background: #eee8d5; 76 | } 77 | 78 | .hljs-attr, 79 | .hljs-attribute { 80 | color: #81a2be; 81 | } 82 | 83 | .hljs-emphasis { 84 | font-style: italic; 85 | } 86 | -------------------------------------------------------------------------------- /src/components/template/Mint-UI/Header.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | var handle = function(_attr, _slots) { 3 | //定义默认属性 4 | let attributes = { 5 | title: { 6 | type: 'text', 7 | value: 'title' 8 | }, 9 | fixed:{ 10 | type:'boolean', 11 | value:false 12 | } 13 | }, 14 | slots = { 15 | left: [], 16 | right: [] 17 | } 18 | 19 | //覆盖默认属性 20 | Object.assign(slots, _slots) 21 | Object.assign(attributes, _attr) 22 | 23 | //根据组件不同需要做的不同操作 24 | 25 | 26 | //获取插槽模板内容 27 | var subContent = getSlotContent(slots) 28 | 29 | //设置当前组件的slot 30 | if (attributes.slot && attributes.slot!=='default') { 31 | attributes.slot = { 32 | type: 'text', 33 | value: attributes.slot 34 | } 35 | } else { 36 | attributes.slot = { 37 | type: 'text', 38 | value: '' 39 | } 40 | } 41 | 42 | //字符串模板操作 43 | let stringAttr = getStringTypeAttr(attributes) 44 | let template = ` 46 | ${subContent} 47 | ` 48 | 49 | return { template, attributes, slots } 50 | } 51 | export default handle 52 | -------------------------------------------------------------------------------- /src/components/template/Mint-UI/Progress.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | value: { 7 | type: 'number', 8 | value: 0 9 | }, 10 | barHeight: { 11 | type: 'number', 12 | value: 1 13 | } 14 | }, 15 | slots = { 16 | start: [], 17 | end: [] 18 | } 19 | 20 | //覆盖默认属性 21 | Object.assign(slots, _slots) 22 | Object.assign(attributes, _attr) 23 | 24 | //根据组件不同需要做的不同操作 25 | 26 | 27 | //获取插槽模板内容 28 | var subContent = getSlotContent(slots) 29 | 30 | //设置当前组件的slot 31 | if (attributes.slot && attributes.slot !== 'default') { 32 | attributes.slot = { 33 | type: 'text', 34 | value: attributes.slot 35 | } 36 | } else { 37 | attributes.slot = { 38 | type: 'text', 39 | value: '' 40 | } 41 | } 42 | 43 | //字符串模板操作 44 | let stringAttr = getStringTypeAttr(attributes) 45 | let template = ` 47 | ${subContent} 48 | ` 49 | 50 | return { template, attributes, slots } 51 | } 52 | export default handle 53 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Sub Header.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | import guid from '@/utils/guid' 3 | 4 | var handle = function(_attr, _slots, _info) { 5 | //定义默认属性 6 | let attributes = { 7 | text: { 8 | type: 'text', 9 | value: '正文' 10 | }, 11 | indset:{ 12 | type:'boolean', 13 | value:false 14 | } 15 | }, 16 | slots = { 17 | default: [] 18 | } 19 | 20 | //覆盖默认属性 21 | Object.assign(slots, _slots) 22 | Object.assign(attributes, _attr) 23 | 24 | //根据组件不同需要做的不同操作 25 | 26 | 27 | //获取插槽模板内容 28 | var subContent = getSlotContent(slots) 29 | 30 | //设置当前组件的slot 31 | if (attributes.slot && attributes.slot!=='default') { 32 | attributes.slot = { 33 | type: 'text', 34 | value: attributes.slot 35 | } 36 | } else { 37 | attributes.slot = { 38 | type: 'text', 39 | value: '' 40 | } 41 | } 42 | 43 | //字符串模板操作 44 | let stringAttr = getStringTypeAttr(attributes) 45 | let template = ` 46 | ${subContent||attributes.text.value} 47 | ` 48 | 49 | return { template, attributes, slots } 50 | } 51 | export default handle 52 | -------------------------------------------------------------------------------- /src/assets/css/highlight/kimbie.dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Kimbie (dark) 3 | Author: Jan T. Sott 4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License 5 | URL: https://github.com/idleberg/Kimbie-highlight.js 6 | */ 7 | 8 | /* Kimbie Comment */ 9 | .hljs-comment, 10 | .hljs-quote { 11 | color: #d6baad; 12 | } 13 | 14 | /* Kimbie Red */ 15 | .hljs-variable, 16 | .hljs-template-variable, 17 | .hljs-tag, 18 | .hljs-name, 19 | .hljs-selector-id, 20 | .hljs-selector-class, 21 | .hljs-regexp, 22 | .hljs-meta { 23 | color: #dc3958; 24 | } 25 | 26 | /* Kimbie Orange */ 27 | .hljs-number, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params, 33 | .hljs-deletion, 34 | .hljs-link { 35 | color: #f79a32; 36 | } 37 | 38 | /* Kimbie Yellow */ 39 | .hljs-title, 40 | .hljs-section, 41 | .hljs-attribute { 42 | color: #f06431; 43 | } 44 | 45 | /* Kimbie Green */ 46 | .hljs-string, 47 | .hljs-symbol, 48 | .hljs-bullet, 49 | .hljs-addition { 50 | color: #889b4a; 51 | } 52 | 53 | /* Kimbie Purple */ 54 | .hljs-keyword, 55 | .hljs-selector-tag, 56 | .hljs-function { 57 | color: #98676a; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: #221a0f; 64 | color: #d3af86; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /src/assets/css/highlight/kimbie.light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Kimbie (light) 3 | Author: Jan T. Sott 4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License 5 | URL: https://github.com/idleberg/Kimbie-highlight.js 6 | */ 7 | 8 | /* Kimbie Comment */ 9 | .hljs-comment, 10 | .hljs-quote { 11 | color: #a57a4c; 12 | } 13 | 14 | /* Kimbie Red */ 15 | .hljs-variable, 16 | .hljs-template-variable, 17 | .hljs-tag, 18 | .hljs-name, 19 | .hljs-selector-id, 20 | .hljs-selector-class, 21 | .hljs-regexp, 22 | .hljs-meta { 23 | color: #dc3958; 24 | } 25 | 26 | /* Kimbie Orange */ 27 | .hljs-number, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params, 33 | .hljs-deletion, 34 | .hljs-link { 35 | color: #f79a32; 36 | } 37 | 38 | /* Kimbie Yellow */ 39 | .hljs-title, 40 | .hljs-section, 41 | .hljs-attribute { 42 | color: #f06431; 43 | } 44 | 45 | /* Kimbie Green */ 46 | .hljs-string, 47 | .hljs-symbol, 48 | .hljs-bullet, 49 | .hljs-addition { 50 | color: #889b4a; 51 | } 52 | 53 | /* Kimbie Purple */ 54 | .hljs-keyword, 55 | .hljs-selector-tag, 56 | .hljs-function { 57 | color: #98676a; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: #fbebd4; 64 | color: #84613d; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-dune-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Dune Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Dune Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #999580; 9 | } 10 | 11 | /* Atelier-Dune Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #d73737; 23 | } 24 | 25 | /* Atelier-Dune Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #b65611; 34 | } 35 | 36 | /* Atelier-Dune Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #60ac39; 41 | } 42 | 43 | /* Atelier-Dune Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #6684e1; 47 | } 48 | 49 | /* Atelier-Dune Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #b854d4; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #20201d; 59 | color: #a6a28c; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-dune-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Dune Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Dune Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #7d7a68; 9 | } 10 | 11 | /* Atelier-Dune Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #d73737; 23 | } 24 | 25 | /* Atelier-Dune Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #b65611; 34 | } 35 | 36 | /* Atelier-Dune Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #60ac39; 41 | } 42 | 43 | /* Atelier-Dune Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #6684e1; 47 | } 48 | 49 | /* Atelier-Dune Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #b854d4; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #fefbec; 59 | color: #6e6b5e; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /src/assets/css/highlight/monokai-sublime.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/ 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #23241f; 12 | } 13 | 14 | .hljs, 15 | .hljs-tag, 16 | .hljs-subst { 17 | color: #f8f8f2; 18 | } 19 | 20 | .hljs-strong, 21 | .hljs-emphasis { 22 | color: #a8a8a2; 23 | } 24 | 25 | .hljs-bullet, 26 | .hljs-quote, 27 | .hljs-number, 28 | .hljs-regexp, 29 | .hljs-literal, 30 | .hljs-link { 31 | color: #ae81ff; 32 | } 33 | 34 | .hljs-code, 35 | .hljs-title, 36 | .hljs-section, 37 | .hljs-selector-class { 38 | color: #a6e22e; 39 | } 40 | 41 | .hljs-strong { 42 | font-weight: bold; 43 | } 44 | 45 | .hljs-emphasis { 46 | font-style: italic; 47 | } 48 | 49 | .hljs-keyword, 50 | .hljs-selector-tag, 51 | .hljs-name, 52 | .hljs-attr { 53 | color: #f92672; 54 | } 55 | 56 | .hljs-symbol, 57 | .hljs-attribute { 58 | color: #66d9ef; 59 | } 60 | 61 | .hljs-params, 62 | .hljs-class .hljs-title { 63 | color: #f8f8f2; 64 | } 65 | 66 | .hljs-string, 67 | .hljs-type, 68 | .hljs-built_in, 69 | .hljs-builtin-name, 70 | .hljs-selector-id, 71 | .hljs-selector-attr, 72 | .hljs-selector-pseudo, 73 | .hljs-addition, 74 | .hljs-variable, 75 | .hljs-template-variable { 76 | color: #e6db74; 77 | } 78 | 79 | .hljs-comment, 80 | .hljs-deletion, 81 | .hljs-meta { 82 | color: #75715e; 83 | } 84 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-heath-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Heath Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Heath Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #9e8f9e; 9 | } 10 | 11 | /* Atelier-Heath Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #ca402b; 23 | } 24 | 25 | /* Atelier-Heath Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #a65926; 34 | } 35 | 36 | /* Atelier-Heath Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #918b3b; 41 | } 42 | 43 | /* Atelier-Heath Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #516aec; 47 | } 48 | 49 | /* Atelier-Heath Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #7b59c0; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #1b181b; 59 | color: #ab9bab; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-heath-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Heath Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Heath Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #776977; 9 | } 10 | 11 | /* Atelier-Heath Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #ca402b; 23 | } 24 | 25 | /* Atelier-Heath Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #a65926; 34 | } 35 | 36 | /* Atelier-Heath Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #918b3b; 41 | } 42 | 43 | /* Atelier-Heath Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #516aec; 47 | } 48 | 49 | /* Atelier-Heath Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #7b59c0; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #f7f3f7; 59 | color: #695d69; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /src/assets/css/highlight/tomorrow-night-bright.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Bright Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 4 | 5 | /* Tomorrow Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #969896; 9 | } 10 | 11 | /* Tomorrow Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-tag, 15 | .hljs-name, 16 | .hljs-selector-id, 17 | .hljs-selector-class, 18 | .hljs-regexp, 19 | .hljs-deletion { 20 | color: #d54e53; 21 | } 22 | 23 | /* Tomorrow Orange */ 24 | .hljs-number, 25 | .hljs-built_in, 26 | .hljs-builtin-name, 27 | .hljs-literal, 28 | .hljs-type, 29 | .hljs-params, 30 | .hljs-meta, 31 | .hljs-link { 32 | color: #e78c45; 33 | } 34 | 35 | /* Tomorrow Yellow */ 36 | .hljs-attribute { 37 | color: #e7c547; 38 | } 39 | 40 | /* Tomorrow Green */ 41 | .hljs-string, 42 | .hljs-symbol, 43 | .hljs-bullet, 44 | .hljs-addition { 45 | color: #b9ca4a; 46 | } 47 | 48 | /* Tomorrow Blue */ 49 | .hljs-title, 50 | .hljs-section { 51 | color: #7aa6da; 52 | } 53 | 54 | /* Tomorrow Purple */ 55 | .hljs-keyword, 56 | .hljs-selector-tag { 57 | color: #c397d8; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: black; 64 | color: #eaeaea; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /src/components/template/iView-UI/Icon.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | type:{ 7 | type:'ionicon', 8 | value:'happy-outline' 9 | }, 10 | size:{ 11 | type:'number', 12 | value:'' 13 | }, 14 | color:{ 15 | type:'color', 16 | value:'' 17 | } 18 | }, 19 | slots = { 20 | } 21 | 22 | //覆盖默认属性 23 | Object.assign(slots, _slots) 24 | Object.assign(attributes, _attr) 25 | 26 | //根据组件不同需要做的不同操作 27 | 28 | 29 | //获取插槽模板内容 30 | var subContent = getSlotContent(slots) 31 | //设置当前组件的slot 32 | if (attributes.slot && attributes.slot!=='default') { 33 | attributes.slot = { 34 | type: 'text', 35 | value: attributes.slot 36 | } 37 | } else { 38 | attributes.slot = { 39 | type: 'text', 40 | value: '' 41 | } 42 | } 43 | 44 | //字符串模板操作 45 | let stringAttr = getStringTypeAttr(attributes) 46 | let template = ` 48 | ${subContent} 49 | ` 50 | 51 | return { template, attributes, slots } 52 | } 53 | export default handle 54 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-forest-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Forest Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Forest Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #9c9491; 9 | } 10 | 11 | /* Atelier-Forest Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #f22c40; 23 | } 24 | 25 | /* Atelier-Forest Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #df5320; 34 | } 35 | 36 | /* Atelier-Forest Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #7b9726; 41 | } 42 | 43 | /* Atelier-Forest Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #407ee7; 47 | } 48 | 49 | /* Atelier-Forest Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #6666ea; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #1b1918; 59 | color: #a8a19f; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-forest-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Forest Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Forest Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #766e6b; 9 | } 10 | 11 | /* Atelier-Forest Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #f22c40; 23 | } 24 | 25 | /* Atelier-Forest Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #df5320; 34 | } 35 | 36 | /* Atelier-Forest Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #7b9726; 41 | } 42 | 43 | /* Atelier-Forest Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #407ee7; 47 | } 48 | 49 | /* Atelier-Forest Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #6666ea; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #f1efee; 59 | color: #68615e; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Icon.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | value:{ 7 | type:'icon', 8 | value:'insert_emoticon' 9 | }, 10 | size:{ 11 | type:'number', 12 | value:'' 13 | }, 14 | color:{ 15 | type:'color', 16 | value:'' 17 | } 18 | }, 19 | slots = { 20 | } 21 | 22 | //覆盖默认属性 23 | Object.assign(slots, _slots) 24 | Object.assign(attributes, _attr) 25 | 26 | //根据组件不同需要做的不同操作 27 | 28 | 29 | //获取插槽模板内容 30 | var subContent = getSlotContent(slots) 31 | 32 | //设置当前组件的slot 33 | if (attributes.slot && attributes.slot!=='default') { 34 | attributes.slot = { 35 | type: 'text', 36 | value: attributes.slot 37 | } 38 | } else { 39 | attributes.slot = { 40 | type: 'text', 41 | value: '' 42 | } 43 | } 44 | 45 | //字符串模板操作 46 | let stringAttr = getStringTypeAttr(attributes) 47 | let template = ` 49 | ${subContent} 50 | ` 51 | 52 | return { template, attributes, slots } 53 | } 54 | export default handle 55 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-seaside-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Seaside Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Seaside Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #809980; 9 | } 10 | 11 | /* Atelier-Seaside Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #e6193c; 23 | } 24 | 25 | /* Atelier-Seaside Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #87711d; 34 | } 35 | 36 | /* Atelier-Seaside Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #29a329; 41 | } 42 | 43 | /* Atelier-Seaside Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #3d62f5; 47 | } 48 | 49 | /* Atelier-Seaside Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #ad2bee; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #131513; 59 | color: #8ca68c; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /src/assets/css/highlight/hopscotch.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Hopscotch 3 | * by Jan T. Sott 4 | * https://github.com/idleberg/Hopscotch 5 | * 6 | * This work is licensed under the Creative Commons CC0 1.0 Universal License 7 | */ 8 | 9 | /* Comment */ 10 | .hljs-comment, 11 | .hljs-quote { 12 | color: #989498; 13 | } 14 | 15 | /* Red */ 16 | .hljs-variable, 17 | .hljs-template-variable, 18 | .hljs-attribute, 19 | .hljs-tag, 20 | .hljs-name, 21 | .hljs-selector-id, 22 | .hljs-selector-class, 23 | .hljs-regexp, 24 | .hljs-link, 25 | .hljs-deletion { 26 | color: #dd464c; 27 | } 28 | 29 | /* Orange */ 30 | .hljs-number, 31 | .hljs-built_in, 32 | .hljs-builtin-name, 33 | .hljs-literal, 34 | .hljs-type, 35 | .hljs-params { 36 | color: #fd8b19; 37 | } 38 | 39 | /* Yellow */ 40 | .hljs-class .hljs-title { 41 | color: #fdcc59; 42 | } 43 | 44 | /* Green */ 45 | .hljs-string, 46 | .hljs-symbol, 47 | .hljs-bullet, 48 | .hljs-addition { 49 | color: #8fc13e; 50 | } 51 | 52 | /* Aqua */ 53 | .hljs-meta { 54 | color: #149b93; 55 | } 56 | 57 | /* Blue */ 58 | .hljs-function, 59 | .hljs-section, 60 | .hljs-title { 61 | color: #1290bf; 62 | } 63 | 64 | /* Purple */ 65 | .hljs-keyword, 66 | .hljs-selector-tag { 67 | color: #c85e7c; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | background: #322931; 73 | color: #b9b5b8; 74 | padding: 0.5em; 75 | } 76 | 77 | .hljs-emphasis { 78 | font-style: italic; 79 | } 80 | 81 | .hljs-strong { 82 | font-weight: bold; 83 | } 84 | -------------------------------------------------------------------------------- /src/assets/css/highlight/tomorrow-night-eighties.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Eighties Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 4 | 5 | /* Tomorrow Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #999999; 9 | } 10 | 11 | /* Tomorrow Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-tag, 15 | .hljs-name, 16 | .hljs-selector-id, 17 | .hljs-selector-class, 18 | .hljs-regexp, 19 | .hljs-deletion { 20 | color: #f2777a; 21 | } 22 | 23 | /* Tomorrow Orange */ 24 | .hljs-number, 25 | .hljs-built_in, 26 | .hljs-builtin-name, 27 | .hljs-literal, 28 | .hljs-type, 29 | .hljs-params, 30 | .hljs-meta, 31 | .hljs-link { 32 | color: #f99157; 33 | } 34 | 35 | /* Tomorrow Yellow */ 36 | .hljs-attribute { 37 | color: #ffcc66; 38 | } 39 | 40 | /* Tomorrow Green */ 41 | .hljs-string, 42 | .hljs-symbol, 43 | .hljs-bullet, 44 | .hljs-addition { 45 | color: #99cc99; 46 | } 47 | 48 | /* Tomorrow Blue */ 49 | .hljs-title, 50 | .hljs-section { 51 | color: #6699cc; 52 | } 53 | 54 | /* Tomorrow Purple */ 55 | .hljs-keyword, 56 | .hljs-selector-tag { 57 | color: #cc99cc; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: #2d2d2d; 64 | color: #cccccc; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-seaside-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Seaside Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Seaside Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #687d68; 9 | } 10 | 11 | /* Atelier-Seaside Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #e6193c; 23 | } 24 | 25 | /* Atelier-Seaside Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #87711d; 34 | } 35 | 36 | /* Atelier-Seaside Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #29a329; 41 | } 42 | 43 | /* Atelier-Seaside Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #3d62f5; 47 | } 48 | 49 | /* Atelier-Seaside Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #ad2bee; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #f4fbf4; 59 | color: #5e6e5e; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /src/components/template/Common/Img.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | src: { 7 | type: 'text', 8 | value: './static/img_default.JPG' 9 | }, 10 | alt:{ 11 | type:'text', 12 | value:'' 13 | }, 14 | width:{ 15 | type:'text', 16 | value:'' 17 | }, 18 | height:{ 19 | type:'text', 20 | value:'' 21 | } 22 | }, 23 | slots = {} 24 | 25 | //覆盖默认属性 26 | Object.assign(slots, _slots) 27 | Object.assign(attributes, _attr) 28 | 29 | //根据组件不同需要做的不同操作 30 | 31 | 32 | //获取插槽模板内容 33 | var subContent = getSlotContent(slots) || ' ' 34 | //设置当前组件的slot 35 | if (attributes.slot && attributes.slot !== 'default') { 36 | attributes.slot = { 37 | type: 'text', 38 | value: attributes.slot 39 | } 40 | } else { 41 | attributes.slot = { 42 | type: 'text', 43 | value: '' 44 | } 45 | } 46 | 47 | //字符串模板操作 48 | let stringAttr = getStringTypeAttr(attributes) 49 | let template = `` 50 | 51 | return { template, attributes, slots } 52 | } 53 | export default handle 54 | -------------------------------------------------------------------------------- /src/components/template/iView-UI/Option.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | label: { 7 | type: 'text', 8 | value: 'Option' 9 | }, 10 | value:{ 11 | type:'text', 12 | value:'' 13 | }, 14 | disabled: { 15 | type: 'boolean', 16 | value: false 17 | } 18 | }, 19 | slots = { 20 | } 21 | 22 | //覆盖默认属性 23 | Object.assign(slots, _slots) 24 | Object.assign(attributes, _attr) 25 | 26 | //根据组件不同需要做的不同操作 27 | 28 | 29 | //获取插槽模板内容 30 | var subContent = getSlotContent(slots) 31 | //设置当前组件的slot 32 | if (attributes.slot && attributes.slot !== 'default') { 33 | attributes.slot = { 34 | type: 'text', 35 | value: attributes.slot 36 | } 37 | } else { 38 | attributes.slot = { 39 | type: 'text', 40 | value: '' 41 | } 42 | } 43 | 44 | //字符串模板操作 45 | let stringAttr = getStringTypeAttr(attributes) 46 | let template = `` 50 | return { template, attributes, slots } 51 | } 52 | export default handle 53 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-lakeside-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Lakeside Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Lakeside Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #7195a8; 9 | } 10 | 11 | /* Atelier-Lakeside Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #d22d72; 23 | } 24 | 25 | /* Atelier-Lakeside Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #935c25; 34 | } 35 | 36 | /* Atelier-Lakeside Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #568c3b; 41 | } 42 | 43 | /* Atelier-Lakeside Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #257fad; 47 | } 48 | 49 | /* Atelier-Lakeside Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #6b6bb8; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #161b1d; 59 | color: #7ea2b4; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-lakeside-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Lakeside Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Lakeside Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #5a7b8c; 9 | } 10 | 11 | /* Atelier-Lakeside Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #d22d72; 23 | } 24 | 25 | /* Atelier-Lakeside Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #935c25; 34 | } 35 | 36 | /* Atelier-Lakeside Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #568c3b; 41 | } 42 | 43 | /* Atelier-Lakeside Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #257fad; 47 | } 48 | 49 | /* Atelier-Lakeside Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #6b6bb8; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #ebf8ff; 59 | color: #516d7b; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Breadcrumb Item.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | text:{ 7 | type:'text', 8 | value:'text' 9 | }, 10 | href:{ 11 | type:'text', 12 | value:'#' 13 | } 14 | }, 15 | slots = { 16 | } 17 | 18 | //覆盖默认属性 19 | Object.assign(slots, _slots) 20 | Object.assign(attributes, _attr) 21 | 22 | //根据组件不同需要做的不同操作 23 | let text=attributes.text.value 24 | 25 | //获取插槽模板内容 26 | var subContent = getSlotContent(slots) 27 | //设置当前组件的slot 28 | if (attributes.slot && attributes.slot!=='default') { 29 | attributes.slot = { 30 | type: 'text', 31 | value: attributes.slot 32 | } 33 | } else { 34 | attributes.slot = { 35 | type: 'text', 36 | value: '' 37 | } 38 | } 39 | 40 | //字符串模板操作 41 | let stringAttr = getStringTypeAttr(attributes) 42 | let template = ` 44 | ${text} 45 | ` 46 | 47 | //删除自定义非ui属性 48 | template = template.replace(`text="${text}"`, '') 49 | 50 | return { template, attributes, slots } 51 | } 52 | export default handle 53 | -------------------------------------------------------------------------------- /src/components/template/vuele/DetailHeader.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | header: { 7 | type: 'text', 8 | value: '多元修复关节 缓解疼痛 汤臣倍健 升级版氨糖软骨素钙片 120片/瓶' 9 | }, 10 | status:{ 11 | type:'text', 12 | value:'待考拉审核' 13 | }, 14 | desc: { 15 | type: 'text', 16 | value: '复杂业务的页面,可以在页面标题下,添加简单文字描述页面功能' 17 | } 18 | }, 19 | slots = { 20 | operation:[], 21 | 'operation-more':[], 22 | } 23 | 24 | //覆盖默认属性 25 | Object.assign(slots, _slots) 26 | Object.assign(attributes, _attr) 27 | 28 | var subContent = getSlotContent(slots) 29 | //设置当前组件的slot 30 | if (attributes.slot && attributes.slot !== 'default') { 31 | attributes.slot = { 32 | type: 'text', 33 | value: attributes.slot 34 | } 35 | } else { 36 | attributes.slot = { 37 | type: 'text', 38 | value: '' 39 | } 40 | } 41 | 42 | //字符串模板操作 43 | let stringAttr = getStringTypeAttr(attributes) 44 | let template = ` 45 | ${subContent} 46 | ` 47 | 48 | return { template, attributes, slots } 49 | } 50 | export default handle 51 | -------------------------------------------------------------------------------- /src/assets/css/highlight/arduino-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Arduino® Light Theme - Stefania Mellai 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #FFFFFF; 12 | } 13 | 14 | .hljs, 15 | .hljs-subst { 16 | color: #434f54; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-attribute, 21 | .hljs-selector-tag, 22 | .hljs-doctag, 23 | .hljs-name { 24 | color: #00979D; 25 | } 26 | 27 | .hljs-built_in, 28 | .hljs-literal, 29 | .hljs-bullet, 30 | .hljs-code, 31 | .hljs-addition { 32 | color: #D35400; 33 | } 34 | 35 | .hljs-regexp, 36 | .hljs-symbol, 37 | .hljs-variable, 38 | .hljs-template-variable, 39 | .hljs-link, 40 | .hljs-selector-attr, 41 | .hljs-selector-pseudo { 42 | color: #00979D; 43 | } 44 | 45 | .hljs-type, 46 | .hljs-string, 47 | .hljs-selector-id, 48 | .hljs-selector-class, 49 | .hljs-quote, 50 | .hljs-template-tag, 51 | .hljs-deletion { 52 | color: #005C5F; 53 | } 54 | 55 | .hljs-title, 56 | .hljs-section { 57 | color: #880000; 58 | font-weight: bold; 59 | } 60 | 61 | .hljs-comment { 62 | color: rgba(149,165,166,.8); 63 | } 64 | 65 | .hljs-meta-keyword { 66 | color: #728E00; 67 | } 68 | 69 | .hljs-meta { 70 | color: #728E00; 71 | color: #434f54; 72 | } 73 | 74 | .hljs-emphasis { 75 | font-style: italic; 76 | } 77 | 78 | .hljs-strong { 79 | font-weight: bold; 80 | } 81 | 82 | .hljs-function { 83 | color: #728E00; 84 | } 85 | 86 | .hljs-number { 87 | color: #8A7B52; 88 | } 89 | -------------------------------------------------------------------------------- /src/assets/css/highlight/googlecode.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Google Code style (c) Aahan Krish 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: white; 12 | color: black; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #800; 18 | } 19 | 20 | .hljs-keyword, 21 | .hljs-selector-tag, 22 | .hljs-section, 23 | .hljs-title, 24 | .hljs-name { 25 | color: #008; 26 | } 27 | 28 | .hljs-variable, 29 | .hljs-template-variable { 30 | color: #660; 31 | } 32 | 33 | .hljs-string, 34 | .hljs-selector-attr, 35 | .hljs-selector-pseudo, 36 | .hljs-regexp { 37 | color: #080; 38 | } 39 | 40 | .hljs-literal, 41 | .hljs-symbol, 42 | .hljs-bullet, 43 | .hljs-meta, 44 | .hljs-number, 45 | .hljs-link { 46 | color: #066; 47 | } 48 | 49 | .hljs-title, 50 | .hljs-doctag, 51 | .hljs-type, 52 | .hljs-attr, 53 | .hljs-built_in, 54 | .hljs-builtin-name, 55 | .hljs-params { 56 | color: #606; 57 | } 58 | 59 | .hljs-attribute, 60 | .hljs-subst { 61 | color: #000; 62 | } 63 | 64 | .hljs-formula { 65 | background-color: #eee; 66 | font-style: italic; 67 | } 68 | 69 | .hljs-selector-id, 70 | .hljs-selector-class { 71 | color: #9B703F 72 | } 73 | 74 | .hljs-addition { 75 | background-color: #baeeba; 76 | } 77 | 78 | .hljs-deletion { 79 | background-color: #ffc8bd; 80 | } 81 | 82 | .hljs-doctag, 83 | .hljs-strong { 84 | font-weight: bold; 85 | } 86 | 87 | .hljs-emphasis { 88 | font-style: italic; 89 | } 90 | -------------------------------------------------------------------------------- /src/assets/css/highlight/xt256.css: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | xt256.css 4 | 5 | Contact: initbar [at] protonmail [dot] ch 6 | : github.com/initbar 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | color: #eaeaea; 13 | background: #000; 14 | padding: 0.5; 15 | } 16 | 17 | .hljs-subst { 18 | color: #eaeaea; 19 | } 20 | 21 | .hljs-emphasis { 22 | font-style: italic; 23 | } 24 | 25 | .hljs-strong { 26 | font-weight: bold; 27 | } 28 | 29 | .hljs-builtin-name, 30 | .hljs-type { 31 | color: #eaeaea; 32 | } 33 | 34 | .hljs-params { 35 | color: #da0000; 36 | } 37 | 38 | .hljs-literal, 39 | .hljs-number, 40 | .hljs-name { 41 | color: #ff0000; 42 | font-weight: bolder; 43 | } 44 | 45 | .hljs-comment { 46 | color: #969896; 47 | } 48 | 49 | .hljs-selector-id, 50 | .hljs-quote { 51 | color: #00ffff; 52 | } 53 | 54 | .hljs-template-variable, 55 | .hljs-variable, 56 | .hljs-title { 57 | color: #00ffff; 58 | font-weight: bold; 59 | } 60 | 61 | .hljs-selector-class, 62 | .hljs-keyword, 63 | .hljs-symbol { 64 | color: #fff000; 65 | } 66 | 67 | .hljs-string, 68 | .hljs-bullet { 69 | color: #00ff00; 70 | } 71 | 72 | .hljs-tag, 73 | .hljs-section { 74 | color: #000fff; 75 | } 76 | 77 | .hljs-selector-tag { 78 | color: #000fff; 79 | font-weight: bold; 80 | } 81 | 82 | .hljs-attribute, 83 | .hljs-built_in, 84 | .hljs-regexp, 85 | .hljs-link { 86 | color: #ff00ff; 87 | } 88 | 89 | .hljs-meta { 90 | color: #fff; 91 | font-weight: bolder; 92 | } 93 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-sulphurpool-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Sulphurpool Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Sulphurpool Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #898ea4; 9 | } 10 | 11 | /* Atelier-Sulphurpool Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #c94922; 23 | } 24 | 25 | /* Atelier-Sulphurpool Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #c76b29; 34 | } 35 | 36 | /* Atelier-Sulphurpool Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #ac9739; 41 | } 42 | 43 | /* Atelier-Sulphurpool Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #3d8fd1; 47 | } 48 | 49 | /* Atelier-Sulphurpool Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #6679cc; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #202746; 59 | color: #979db4; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-sulphurpool-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Sulphurpool Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Sulphurpool Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #6b7394; 9 | } 10 | 11 | /* Atelier-Sulphurpool Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #c94922; 23 | } 24 | 25 | /* Atelier-Sulphurpool Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #c76b29; 34 | } 35 | 36 | /* Atelier-Sulphurpool Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #ac9739; 41 | } 42 | 43 | /* Atelier-Sulphurpool Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #3d8fd1; 47 | } 48 | 49 | /* Atelier-Sulphurpool Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #6679cc; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #f5f7ff; 59 | color: #5e6687; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /src/assets/css/highlight/obsidian.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Obsidian style 3 | * ported by Alexander Marenin (http://github.com/ioncreature) 4 | */ 5 | 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: #282b2e; 11 | } 12 | 13 | .hljs-keyword, 14 | .hljs-selector-tag, 15 | .hljs-literal, 16 | .hljs-selector-id { 17 | color: #93c763; 18 | } 19 | 20 | .hljs-number { 21 | color: #ffcd22; 22 | } 23 | 24 | .hljs { 25 | color: #e0e2e4; 26 | } 27 | 28 | .hljs-attribute { 29 | color: #668bb0; 30 | } 31 | 32 | .hljs-code, 33 | .hljs-class .hljs-title, 34 | .hljs-section { 35 | color: white; 36 | } 37 | 38 | .hljs-regexp, 39 | .hljs-link { 40 | color: #d39745; 41 | } 42 | 43 | .hljs-meta { 44 | color: #557182; 45 | } 46 | 47 | .hljs-tag, 48 | .hljs-name, 49 | .hljs-bullet, 50 | .hljs-subst, 51 | .hljs-emphasis, 52 | .hljs-type, 53 | .hljs-built_in, 54 | .hljs-selector-attr, 55 | .hljs-selector-pseudo, 56 | .hljs-addition, 57 | .hljs-variable, 58 | .hljs-template-tag, 59 | .hljs-template-variable { 60 | color: #8cbbad; 61 | } 62 | 63 | .hljs-string, 64 | .hljs-symbol { 65 | color: #ec7600; 66 | } 67 | 68 | .hljs-comment, 69 | .hljs-quote, 70 | .hljs-deletion { 71 | color: #818e96; 72 | } 73 | 74 | .hljs-selector-class { 75 | color: #A082BD 76 | } 77 | 78 | .hljs-keyword, 79 | .hljs-selector-tag, 80 | .hljs-literal, 81 | .hljs-doctag, 82 | .hljs-title, 83 | .hljs-section, 84 | .hljs-type, 85 | .hljs-name, 86 | .hljs-strong { 87 | font-weight: bold; 88 | } 89 | -------------------------------------------------------------------------------- /src/assets/css/highlight/foundation.css: -------------------------------------------------------------------------------- 1 | /* 2 | Description: Foundation 4 docs style for highlight.js 3 | Author: Dan Allen 4 | Website: http://foundation.zurb.com/docs/ 5 | Version: 1.0 6 | Date: 2013-04-02 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | background: #eee; color: black; 14 | } 15 | 16 | .hljs-link, 17 | .hljs-emphasis, 18 | .hljs-attribute, 19 | .hljs-addition { 20 | color: #070; 21 | } 22 | 23 | .hljs-emphasis { 24 | font-style: italic; 25 | } 26 | 27 | .hljs-strong, 28 | .hljs-string, 29 | .hljs-deletion { 30 | color: #d14; 31 | } 32 | 33 | .hljs-strong { 34 | font-weight: bold; 35 | } 36 | 37 | .hljs-quote, 38 | .hljs-comment { 39 | color: #998; 40 | font-style: italic; 41 | } 42 | 43 | .hljs-section, 44 | .hljs-title { 45 | color: #900; 46 | } 47 | 48 | .hljs-class .hljs-title, 49 | .hljs-type { 50 | color: #458; 51 | } 52 | 53 | .hljs-variable, 54 | .hljs-template-variable { 55 | color: #336699; 56 | } 57 | 58 | .hljs-bullet { 59 | color: #997700; 60 | } 61 | 62 | .hljs-meta { 63 | color: #3344bb; 64 | } 65 | 66 | .hljs-code, 67 | .hljs-number, 68 | .hljs-literal, 69 | .hljs-keyword, 70 | .hljs-selector-tag { 71 | color: #099; 72 | } 73 | 74 | .hljs-regexp { 75 | background-color: #fff0ff; 76 | color: #880088; 77 | } 78 | 79 | .hljs-symbol { 80 | color: #990073; 81 | } 82 | 83 | .hljs-tag, 84 | .hljs-name, 85 | .hljs-selector-id, 86 | .hljs-selector-class { 87 | color: #007700; 88 | } 89 | -------------------------------------------------------------------------------- /src/assets/css/highlight/tomorrow-night.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Theme */ 2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 5 | 6 | /* Tomorrow Comment */ 7 | .hljs-comment, 8 | .hljs-quote { 9 | color: #969896; 10 | } 11 | 12 | /* Tomorrow Red */ 13 | .hljs-variable, 14 | .hljs-template-variable, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-selector-id, 18 | .hljs-selector-class, 19 | .hljs-regexp, 20 | .hljs-deletion { 21 | color: #cc6666; 22 | } 23 | 24 | /* Tomorrow Orange */ 25 | .hljs-number, 26 | .hljs-built_in, 27 | .hljs-builtin-name, 28 | .hljs-literal, 29 | .hljs-type, 30 | .hljs-params, 31 | .hljs-meta, 32 | .hljs-link { 33 | color: #de935f; 34 | } 35 | 36 | /* Tomorrow Yellow */ 37 | .hljs-attribute { 38 | color: #f0c674; 39 | } 40 | 41 | /* Tomorrow Green */ 42 | .hljs-string, 43 | .hljs-symbol, 44 | .hljs-bullet, 45 | .hljs-addition { 46 | color: #b5bd68; 47 | } 48 | 49 | /* Tomorrow Blue */ 50 | .hljs-title, 51 | .hljs-section { 52 | color: #81a2be; 53 | } 54 | 55 | /* Tomorrow Purple */ 56 | .hljs-keyword, 57 | .hljs-selector-tag { 58 | color: #b294bb; 59 | } 60 | 61 | .hljs { 62 | display: block; 63 | overflow-x: auto; 64 | background: #1d1f21; 65 | color: #c5c8c6; 66 | padding: 0.5em; 67 | } 68 | 69 | .hljs-emphasis { 70 | font-style: italic; 71 | } 72 | 73 | .hljs-strong { 74 | font-weight: bold; 75 | } 76 | -------------------------------------------------------------------------------- /src/assets/css/highlight/xcode.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | XCode style (c) Angel Garcia 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #fff; 12 | color: black; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #006a00; 18 | } 19 | 20 | .hljs-keyword, 21 | .hljs-selector-tag, 22 | .hljs-literal { 23 | color: #aa0d91; 24 | } 25 | 26 | .hljs-name { 27 | color: #008; 28 | } 29 | 30 | .hljs-variable, 31 | .hljs-template-variable { 32 | color: #660; 33 | } 34 | 35 | .hljs-string { 36 | color: #c41a16; 37 | } 38 | 39 | .hljs-regexp, 40 | .hljs-link { 41 | color: #080; 42 | } 43 | 44 | .hljs-title, 45 | .hljs-tag, 46 | .hljs-symbol, 47 | .hljs-bullet, 48 | .hljs-number, 49 | .hljs-meta { 50 | color: #1c00cf; 51 | } 52 | 53 | .hljs-section, 54 | .hljs-class .hljs-title, 55 | .hljs-type, 56 | .hljs-attr, 57 | .hljs-built_in, 58 | .hljs-builtin-name, 59 | .hljs-params { 60 | color: #5c2699; 61 | } 62 | 63 | .hljs-attribute, 64 | .hljs-subst { 65 | color: #000; 66 | } 67 | 68 | .hljs-formula { 69 | background-color: #eee; 70 | font-style: italic; 71 | } 72 | 73 | .hljs-addition { 74 | background-color: #baeeba; 75 | } 76 | 77 | .hljs-deletion { 78 | background-color: #ffc8bd; 79 | } 80 | 81 | .hljs-selector-id, 82 | .hljs-selector-class { 83 | color: #9b703f; 84 | } 85 | 86 | .hljs-doctag, 87 | .hljs-strong { 88 | font-weight: bold; 89 | } 90 | 91 | .hljs-emphasis { 92 | font-style: italic; 93 | } 94 | -------------------------------------------------------------------------------- /src/assets/css/highlight/pojoaque.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Pojoaque Style by Jason Tate 4 | http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html 5 | Based on Solarized Style from http://ethanschoonover.com/solarized 6 | 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | color: #dccf8f; 14 | background: url(./pojoaque.jpg) repeat scroll left top #181914; 15 | } 16 | 17 | .hljs-comment, 18 | .hljs-quote { 19 | color: #586e75; 20 | font-style: italic; 21 | } 22 | 23 | .hljs-keyword, 24 | .hljs-selector-tag, 25 | .hljs-literal, 26 | .hljs-addition { 27 | color: #b64926; 28 | } 29 | 30 | .hljs-number, 31 | .hljs-string, 32 | .hljs-doctag, 33 | .hljs-regexp { 34 | color: #468966; 35 | } 36 | 37 | .hljs-title, 38 | .hljs-section, 39 | .hljs-built_in, 40 | .hljs-name { 41 | color: #ffb03b; 42 | } 43 | 44 | .hljs-variable, 45 | .hljs-template-variable, 46 | .hljs-class .hljs-title, 47 | .hljs-type, 48 | .hljs-tag { 49 | color: #b58900; 50 | } 51 | 52 | .hljs-attribute { 53 | color: #b89859; 54 | } 55 | 56 | .hljs-symbol, 57 | .hljs-bullet, 58 | .hljs-link, 59 | .hljs-subst, 60 | .hljs-meta { 61 | color: #cb4b16; 62 | } 63 | 64 | .hljs-deletion { 65 | color: #dc322f; 66 | } 67 | 68 | .hljs-selector-id, 69 | .hljs-selector-class { 70 | color: #d3a60c; 71 | } 72 | 73 | .hljs-formula { 74 | background: #073642; 75 | } 76 | 77 | .hljs-emphasis { 78 | font-style: italic; 79 | } 80 | 81 | .hljs-strong { 82 | font-weight: bold; 83 | } 84 | -------------------------------------------------------------------------------- /src/assets/css/highlight/tomorrow-night-blue.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Blue Theme */ 2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 5 | 6 | /* Tomorrow Comment */ 7 | .hljs-comment, 8 | .hljs-quote { 9 | color: #7285b7; 10 | } 11 | 12 | /* Tomorrow Red */ 13 | .hljs-variable, 14 | .hljs-template-variable, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-selector-id, 18 | .hljs-selector-class, 19 | .hljs-regexp, 20 | .hljs-deletion { 21 | color: #ff9da4; 22 | } 23 | 24 | /* Tomorrow Orange */ 25 | .hljs-number, 26 | .hljs-built_in, 27 | .hljs-builtin-name, 28 | .hljs-literal, 29 | .hljs-type, 30 | .hljs-params, 31 | .hljs-meta, 32 | .hljs-link { 33 | color: #ffc58f; 34 | } 35 | 36 | /* Tomorrow Yellow */ 37 | .hljs-attribute { 38 | color: #ffeead; 39 | } 40 | 41 | /* Tomorrow Green */ 42 | .hljs-string, 43 | .hljs-symbol, 44 | .hljs-bullet, 45 | .hljs-addition { 46 | color: #d1f1a9; 47 | } 48 | 49 | /* Tomorrow Blue */ 50 | .hljs-title, 51 | .hljs-section { 52 | color: #bbdaff; 53 | } 54 | 55 | /* Tomorrow Purple */ 56 | .hljs-keyword, 57 | .hljs-selector-tag { 58 | color: #ebbbff; 59 | } 60 | 61 | .hljs { 62 | display: block; 63 | overflow-x: auto; 64 | background: #002451; 65 | color: white; 66 | padding: 0.5em; 67 | } 68 | 69 | .hljs-emphasis { 70 | font-style: italic; 71 | } 72 | 73 | .hljs-strong { 74 | font-weight: bold; 75 | } 76 | -------------------------------------------------------------------------------- /src/components/template/iView-UI/iSwitch.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | value:{ 7 | type:'boolean', 8 | value:false 9 | }, 10 | size:{ 11 | type:['large','small',''], 12 | value:'' 13 | }, 14 | disabled:{ 15 | type:'boolean', 16 | value:false 17 | } 18 | }, 19 | slots = { 20 | open: [], 21 | close:[] 22 | } 23 | 24 | //覆盖默认属性 25 | Object.assign(slots, _slots) 26 | Object.assign(attributes, _attr) 27 | 28 | //根据组件不同需要做的不同操作 29 | 30 | 31 | //获取插槽模板内容 32 | var subContent = getSlotContent(slots) 33 | //设置当前组件的slot 34 | if (attributes.slot && attributes.slot !== 'default') { 35 | attributes.slot = { 36 | type: 'text', 37 | value: attributes.slot 38 | } 39 | } else { 40 | attributes.slot = { 41 | type: 'text', 42 | value: '' 43 | } 44 | } 45 | 46 | //字符串模板操作 47 | let stringAttr = getStringTypeAttr(attributes) 48 | let template = ` 50 | ${subContent} 51 | ` 52 | return { template, attributes, slots } 53 | } 54 | export default handle 55 | -------------------------------------------------------------------------------- /src/components/mount.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import preview from './preview' 3 | //给定模板,和要挂载的元素id,挂载组件 4 | var mount = function(id, _component) { 5 | let components = _Vue.$store.state.components 6 | let component = components.find(c => c.info.id === id) 7 | return new Promise((resolve, reject) => { 8 | //需要延迟才能取到document.getElementById(id) 9 | setTimeout(() => { 10 | let data={} 11 | if (_component.attributes) { 12 | Object.keys(_component.attributes).forEach(key => { 13 | data[key] = _component.attributes[key].value 14 | }) 15 | } 16 | 17 | if (component.uid) { //销毁旧实例 18 | 19 | } 20 | let vm = new Vue({ 21 | name: id.toString(), 22 | data() { 23 | return data 24 | }, 25 | template: _component.template, 26 | el: document.getElementById(id), 27 | mounted() { 28 | this.$el.id = id 29 | if (component) { 30 | component.uid = this._uid 31 | } 32 | 33 | //添加选中效果 34 | let info = _Vue.$store.state.currentComponent.info 35 | if (!info) 36 | this.$el.click() 37 | 38 | } 39 | }) 40 | resolve(vm) 41 | 42 | }, 200) 43 | }) 44 | } 45 | 46 | export default mount 47 | -------------------------------------------------------------------------------- /src/assets/css/highlight/solarized-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #002b36; 12 | color: #839496; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #586e75; 18 | } 19 | 20 | /* Solarized Green */ 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-addition { 24 | color: #859900; 25 | } 26 | 27 | /* Solarized Cyan */ 28 | .hljs-number, 29 | .hljs-string, 30 | .hljs-meta .hljs-meta-string, 31 | .hljs-literal, 32 | .hljs-doctag, 33 | .hljs-regexp { 34 | color: #2aa198; 35 | } 36 | 37 | /* Solarized Blue */ 38 | .hljs-title, 39 | .hljs-section, 40 | .hljs-name, 41 | .hljs-selector-id, 42 | .hljs-selector-class { 43 | color: #268bd2; 44 | } 45 | 46 | /* Solarized Yellow */ 47 | .hljs-attribute, 48 | .hljs-attr, 49 | .hljs-variable, 50 | .hljs-template-variable, 51 | .hljs-class .hljs-title, 52 | .hljs-type { 53 | color: #b58900; 54 | } 55 | 56 | /* Solarized Orange */ 57 | .hljs-symbol, 58 | .hljs-bullet, 59 | .hljs-subst, 60 | .hljs-meta, 61 | .hljs-meta .hljs-keyword, 62 | .hljs-selector-attr, 63 | .hljs-selector-pseudo, 64 | .hljs-link { 65 | color: #cb4b16; 66 | } 67 | 68 | /* Solarized Red */ 69 | .hljs-built_in, 70 | .hljs-deletion { 71 | color: #dc322f; 72 | } 73 | 74 | .hljs-formula { 75 | background: #073642; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /src/assets/css/highlight/solarized-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #fdf6e3; 12 | color: #657b83; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #93a1a1; 18 | } 19 | 20 | /* Solarized Green */ 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-addition { 24 | color: #859900; 25 | } 26 | 27 | /* Solarized Cyan */ 28 | .hljs-number, 29 | .hljs-string, 30 | .hljs-meta .hljs-meta-string, 31 | .hljs-literal, 32 | .hljs-doctag, 33 | .hljs-regexp { 34 | color: #2aa198; 35 | } 36 | 37 | /* Solarized Blue */ 38 | .hljs-title, 39 | .hljs-section, 40 | .hljs-name, 41 | .hljs-selector-id, 42 | .hljs-selector-class { 43 | color: #268bd2; 44 | } 45 | 46 | /* Solarized Yellow */ 47 | .hljs-attribute, 48 | .hljs-attr, 49 | .hljs-variable, 50 | .hljs-template-variable, 51 | .hljs-class .hljs-title, 52 | .hljs-type { 53 | color: #b58900; 54 | } 55 | 56 | /* Solarized Orange */ 57 | .hljs-symbol, 58 | .hljs-bullet, 59 | .hljs-subst, 60 | .hljs-meta, 61 | .hljs-meta .hljs-keyword, 62 | .hljs-selector-attr, 63 | .hljs-selector-pseudo, 64 | .hljs-link { 65 | color: #cb4b16; 66 | } 67 | 68 | /* Solarized Red */ 69 | .hljs-built_in, 70 | .hljs-deletion { 71 | color: #dc322f; 72 | } 73 | 74 | .hljs-formula { 75 | background: #eee8d5; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Card Title.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | import guid from '@/utils/guid' 3 | 4 | var handle = function(_attr, _slots, _info) { 5 | //定义默认属性 6 | let attributes = { 7 | title: { 8 | type: 'text', 9 | value: 'Title' 10 | }, 11 | titleClass:{ 12 | type:'text', 13 | value:'' 14 | }, 15 | subTitle:{ 16 | type:'text', 17 | value:'subTitle' 18 | }, 19 | subTitleClass:{ 20 | type:'text', 21 | value:'' 22 | } 23 | }, 24 | slots = { 25 | } 26 | 27 | //覆盖默认属性 28 | Object.assign(slots, _slots) 29 | Object.assign(attributes, _attr) 30 | 31 | //根据组件不同需要做的不同操作 32 | 33 | 34 | //获取插槽模板内容 35 | var subContent = getSlotContent(slots) 36 | 37 | //设置当前组件的slot 38 | if (attributes.slot && attributes.slot!=='default') { 39 | attributes.slot = { 40 | type: 'text', 41 | value: attributes.slot 42 | } 43 | } else { 44 | attributes.slot = { 45 | type: 'text', 46 | value: '' 47 | } 48 | } 49 | 50 | //字符串模板操作 51 | let stringAttr = getStringTypeAttr(attributes) 52 | let template = `` 54 | 55 | return { template, attributes, slots } 56 | } 57 | export default handle 58 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Paper.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | circle:{ 7 | type:'boolean', 8 | value:false 9 | }, 10 | rounded:{ 11 | type:'boolean', 12 | value:false 13 | }, 14 | zDepth: { 15 | type: 'slider', 16 | value: 0, 17 | max: 5, 18 | min: 0, 19 | step: 1 20 | } 21 | }, 22 | slots = { 23 | default: [] 24 | } 25 | 26 | //覆盖默认属性 27 | Object.assign(slots, _slots) 28 | Object.assign(attributes, _attr) 29 | 30 | //根据组件不同需要做的不同操作 31 | 32 | 33 | //获取插槽模板内容 34 | var subContent = getSlotContent(slots) 35 | 36 | //设置当前组件的slot 37 | if (attributes.slot && attributes.slot!=='default') { 38 | attributes.slot = { 39 | type: 'text', 40 | value: attributes.slot 41 | } 42 | } else { 43 | attributes.slot = { 44 | type: 'text', 45 | value: '' 46 | } 47 | } 48 | 49 | //字符串模板操作 50 | let stringAttr = getStringTypeAttr(attributes) 51 | let template = ` 53 | ${subContent||' '} 54 | ` 55 | 56 | return { template, attributes, slots } 57 | } 58 | export default handle 59 | -------------------------------------------------------------------------------- /config/index.js: -------------------------------------------------------------------------------- 1 | // see http://vuejs-templates.github.io/webpack for documentation. 2 | var path = require('path') 3 | 4 | module.exports = { 5 | build: { 6 | env: require('./prod.env'), 7 | index: path.resolve(__dirname, '../dist/index.html'), 8 | assetsRoot: path.resolve(__dirname, '../dist'), 9 | assetsSubDirectory: 'static', 10 | assetsPublicPath: './', 11 | productionSourceMap: true, 12 | // Gzip off by default as many popular static hosts such as 13 | // Surge or Netlify already gzip all static assets for you. 14 | // Before setting to `true`, make sure to: 15 | // npm install --save-dev compression-webpack-plugin 16 | productionGzip: false, 17 | productionGzipExtensions: ['js', 'css'], 18 | // Run the build command with an extra argument to 19 | // View the bundle analyzer report after build finishes: 20 | // `npm run build --report` 21 | // Set to `true` or `false` to always turn it on or off 22 | bundleAnalyzerReport: process.env.npm_config_report 23 | }, 24 | dev: { 25 | env: require('./dev.env'), 26 | port: 8080, 27 | autoOpenBrowser: true, 28 | assetsSubDirectory: 'static', 29 | assetsPublicPath: '/', 30 | proxyTable: {}, 31 | // CSS Sourcemaps off by default because relative paths are "buggy" 32 | // with this option, according to the CSS-Loader README 33 | // (https://github.com/webpack/css-loader#sourcemaps) 34 | // In our experience, they generally work as expected, 35 | // just be aware of this issue when enabling this option. 36 | cssSourceMap: false 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Back Top.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | height:{ 7 | type:'number', 8 | value:'' 9 | }, 10 | bottom:{ 11 | type:'number', 12 | value:'' 13 | }, 14 | right:{ 15 | type:'number', 16 | value:'' 17 | }, 18 | duration:{ 19 | type:'number', 20 | value:'' 21 | } 22 | }, 23 | slots = { 24 | default: [] 25 | } 26 | 27 | //覆盖默认属性 28 | Object.assign(slots, _slots) 29 | Object.assign(attributes, _attr) 30 | 31 | //根据组件不同需要做的不同操作 32 | 33 | 34 | //获取插槽模板内容 35 | var subContent = getSlotContent(slots) 36 | 37 | //设置当前组件的slot 38 | if (attributes.slot && attributes.slot!=='default') { 39 | attributes.slot = { 40 | type: 'text', 41 | value: attributes.slot 42 | } 43 | } else { 44 | attributes.slot = { 45 | type: 'text', 46 | value: '' 47 | } 48 | } 49 | 50 | //字符串模板操作 51 | let stringAttr = getStringTypeAttr(attributes) 52 | let template = ` 54 | ${subContent} 55 | ` 56 | 57 | return { template, attributes, slots } 58 | } 59 | export default handle 60 | -------------------------------------------------------------------------------- /src/assets/css/highlight/docco.css: -------------------------------------------------------------------------------- 1 | /* 2 | Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars) 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | color: #000; 10 | background: #f8f8ff; 11 | } 12 | 13 | .hljs-comment, 14 | .hljs-quote { 15 | color: #408080; 16 | font-style: italic; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-selector-tag, 21 | .hljs-literal, 22 | .hljs-subst { 23 | color: #954121; 24 | } 25 | 26 | .hljs-number { 27 | color: #40a070; 28 | } 29 | 30 | .hljs-string, 31 | .hljs-doctag { 32 | color: #219161; 33 | } 34 | 35 | .hljs-selector-id, 36 | .hljs-selector-class, 37 | .hljs-section, 38 | .hljs-type { 39 | color: #19469d; 40 | } 41 | 42 | .hljs-params { 43 | color: #00f; 44 | } 45 | 46 | .hljs-title { 47 | color: #458; 48 | font-weight: bold; 49 | } 50 | 51 | .hljs-tag, 52 | .hljs-name, 53 | .hljs-attribute { 54 | color: #000080; 55 | font-weight: normal; 56 | } 57 | 58 | .hljs-variable, 59 | .hljs-template-variable { 60 | color: #008080; 61 | } 62 | 63 | .hljs-regexp, 64 | .hljs-link { 65 | color: #b68; 66 | } 67 | 68 | .hljs-symbol, 69 | .hljs-bullet { 70 | color: #990073; 71 | } 72 | 73 | .hljs-built_in, 74 | .hljs-builtin-name { 75 | color: #0086b3; 76 | } 77 | 78 | .hljs-meta { 79 | color: #999; 80 | font-weight: bold; 81 | } 82 | 83 | .hljs-deletion { 84 | background: #fdd; 85 | } 86 | 87 | .hljs-addition { 88 | background: #dfd; 89 | } 90 | 91 | .hljs-emphasis { 92 | font-style: italic; 93 | } 94 | 95 | .hljs-strong { 96 | font-weight: bold; 97 | } 98 | -------------------------------------------------------------------------------- /src/components/list/iview-ui/Form.vue: -------------------------------------------------------------------------------- 1 | 21 | 50 | -------------------------------------------------------------------------------- /src/assets/css/highlight/idea.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Intellij Idea-like styling (c) Vasily Polovnyov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | color: #000; 12 | background: #fff; 13 | } 14 | 15 | .hljs-subst, 16 | .hljs-title { 17 | font-weight: normal; 18 | color: #000; 19 | } 20 | 21 | .hljs-comment, 22 | .hljs-quote { 23 | color: #808080; 24 | font-style: italic; 25 | } 26 | 27 | .hljs-meta { 28 | color: #808000; 29 | } 30 | 31 | .hljs-tag { 32 | background: #efefef; 33 | } 34 | 35 | .hljs-section, 36 | .hljs-name, 37 | .hljs-literal, 38 | .hljs-keyword, 39 | .hljs-selector-tag, 40 | .hljs-type, 41 | .hljs-selector-id, 42 | .hljs-selector-class { 43 | font-weight: bold; 44 | color: #000080; 45 | } 46 | 47 | .hljs-attribute, 48 | .hljs-number, 49 | .hljs-regexp, 50 | .hljs-link { 51 | font-weight: bold; 52 | color: #0000ff; 53 | } 54 | 55 | .hljs-number, 56 | .hljs-regexp, 57 | .hljs-link { 58 | font-weight: normal; 59 | } 60 | 61 | .hljs-string { 62 | color: #008000; 63 | font-weight: bold; 64 | } 65 | 66 | .hljs-symbol, 67 | .hljs-bullet, 68 | .hljs-formula { 69 | color: #000; 70 | background: #d0eded; 71 | font-style: italic; 72 | } 73 | 74 | .hljs-doctag { 75 | text-decoration: underline; 76 | } 77 | 78 | .hljs-variable, 79 | .hljs-template-variable { 80 | color: #660e7a; 81 | } 82 | 83 | .hljs-addition { 84 | background: #baeeba; 85 | } 86 | 87 | .hljs-deletion { 88 | background: #ffc8bd; 89 | } 90 | 91 | .hljs-emphasis { 92 | font-style: italic; 93 | } 94 | 95 | .hljs-strong { 96 | font-weight: bold; 97 | } 98 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/App Bar.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots, info) { 4 | //定义默认属性 5 | let attributes = { 6 | title: { 7 | type: 'text', 8 | value: 'App Bar' 9 | }, 10 | zDepth: { 11 | type: 'slider', 12 | value: 0, 13 | max: 5, 14 | min: 0, 15 | step: 1 16 | }, 17 | titleClass: { 18 | type: 'text', 19 | value: '' 20 | } 21 | }, 22 | slots = { 23 | left: [], 24 | right: [], 25 | default: [] 26 | } 27 | 28 | //覆盖默认属性 29 | Object.assign(slots, _slots) 30 | Object.assign(attributes, _attr) 31 | 32 | //根据组件不同需要做的不同操作 33 | 34 | 35 | //获取插槽模板内容 36 | var subContent = getSlotContent(slots) 37 | 38 | //设置当前组件的slot 39 | if (attributes.slot && attributes.slot !== 'default') { 40 | attributes.slot = { 41 | type: 'text', 42 | value: attributes.slot 43 | } 44 | } else { 45 | attributes.slot = { 46 | type: 'text', 47 | value: '' 48 | } 49 | } 50 | 51 | //字符串模板操作 52 | let stringAttr = getStringTypeAttr(attributes) 53 | let template = ` 55 | ${subContent} 56 | ` 57 | 58 | return { template, attributes, slots } 59 | } 60 | export default handle 61 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-cave-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Cave Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Cave Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #7e7887; 9 | } 10 | 11 | /* Atelier-Cave Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-regexp, 16 | .hljs-link, 17 | .hljs-tag, 18 | .hljs-name, 19 | .hljs-selector-id, 20 | .hljs-selector-class { 21 | color: #be4678; 22 | } 23 | 24 | /* Atelier-Cave Orange */ 25 | .hljs-number, 26 | .hljs-meta, 27 | .hljs-built_in, 28 | .hljs-builtin-name, 29 | .hljs-literal, 30 | .hljs-type, 31 | .hljs-params { 32 | color: #aa573c; 33 | } 34 | 35 | /* Atelier-Cave Green */ 36 | .hljs-string, 37 | .hljs-symbol, 38 | .hljs-bullet { 39 | color: #2a9292; 40 | } 41 | 42 | /* Atelier-Cave Blue */ 43 | .hljs-title, 44 | .hljs-section { 45 | color: #576ddb; 46 | } 47 | 48 | /* Atelier-Cave Purple */ 49 | .hljs-keyword, 50 | .hljs-selector-tag { 51 | color: #955ae7; 52 | } 53 | 54 | .hljs-deletion, 55 | .hljs-addition { 56 | color: #19171c; 57 | display: inline-block; 58 | width: 100%; 59 | } 60 | 61 | .hljs-deletion { 62 | background-color: #be4678; 63 | } 64 | 65 | .hljs-addition { 66 | background-color: #2a9292; 67 | } 68 | 69 | .hljs { 70 | display: block; 71 | overflow-x: auto; 72 | background: #19171c; 73 | color: #8b8792; 74 | padding: 0.5em; 75 | } 76 | 77 | .hljs-emphasis { 78 | font-style: italic; 79 | } 80 | 81 | .hljs-strong { 82 | font-weight: bold; 83 | } 84 | -------------------------------------------------------------------------------- /src/components/template/Common/A.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | text: { 7 | type: 'text', 8 | value: 'Link' 9 | }, 10 | href:{ 11 | type:'text', 12 | value:'' 13 | }, 14 | target: { 15 | type: 'selection', 16 | value: '', 17 | items: ['_blank', 'self', '_parent', '_top'] 18 | }, 19 | title:{ 20 | type:'text', 21 | value:'' 22 | } 23 | }, 24 | slots = {} 25 | 26 | //覆盖默认属性 27 | Object.assign(slots, _slots) 28 | Object.assign(attributes, _attr) 29 | 30 | //根据组件不同需要做的不同操作 31 | 32 | 33 | //获取插槽模板内容 34 | // var subContent = getSlotContent(slots) || ' ' 35 | 36 | //设置当前组件的slot 37 | if (attributes.slot && attributes.slot !== 'default') { 38 | attributes.slot = { 39 | type: 'text', 40 | value: attributes.slot 41 | } 42 | } else { 43 | attributes.slot = { 44 | type: 'text', 45 | value: '' 46 | } 47 | } 48 | 49 | //字符串模板操作 50 | let stringAttr = getStringTypeAttr(attributes) 51 | let template = ` 52 | ${attributes.text.value||' '} 53 | ` 54 | 55 | template = template.replace(/text=".*?"/g, '')//模板字符串中删除text属性 56 | 57 | 58 | return { template, attributes, slots } 59 | } 60 | export default handle 61 | -------------------------------------------------------------------------------- /src/components/template/iView-UI/Rate.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | count:{ 7 | type:'number', 8 | value:'' 9 | }, 10 | value:{ 11 | type:'number', 12 | value:'' 13 | }, 14 | ['allow-harf']:{ 15 | type:'boolean', 16 | value:false 17 | }, 18 | disabled:{ 19 | type:'boolean', 20 | value:false 21 | }, 22 | ['show-text']:{ 23 | type:'boolean', 24 | value:false 25 | } 26 | }, 27 | slots = { 28 | } 29 | 30 | //覆盖默认属性 31 | Object.assign(slots, _slots) 32 | Object.assign(attributes, _attr) 33 | 34 | //根据组件不同需要做的不同操作 35 | 36 | 37 | //获取插槽模板内容 38 | var subContent = getSlotContent(slots) 39 | //设置当前组件的slot 40 | if (attributes.slot && attributes.slot !== 'default') { 41 | attributes.slot = { 42 | type: 'text', 43 | value: attributes.slot 44 | } 45 | } else { 46 | attributes.slot = { 47 | type: 'text', 48 | value: '' 49 | } 50 | } 51 | 52 | //字符串模板操作 53 | let stringAttr = getStringTypeAttr(attributes) 54 | let template = ` 56 | ${subContent} 57 | ` 58 | 59 | return { template, attributes, slots } 60 | } 61 | export default handle 62 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-cave-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Cave Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Cave Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #655f6d; 9 | } 10 | 11 | /* Atelier-Cave Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-name, 21 | .hljs-selector-id, 22 | .hljs-selector-class { 23 | color: #be4678; 24 | } 25 | 26 | /* Atelier-Cave Orange */ 27 | .hljs-number, 28 | .hljs-meta, 29 | .hljs-built_in, 30 | .hljs-builtin-name, 31 | .hljs-literal, 32 | .hljs-type, 33 | .hljs-params { 34 | color: #aa573c; 35 | } 36 | 37 | /* Atelier-Cave Green */ 38 | .hljs-string, 39 | .hljs-symbol, 40 | .hljs-bullet { 41 | color: #2a9292; 42 | } 43 | 44 | /* Atelier-Cave Blue */ 45 | .hljs-title, 46 | .hljs-section { 47 | color: #576ddb; 48 | } 49 | 50 | /* Atelier-Cave Purple */ 51 | .hljs-keyword, 52 | .hljs-selector-tag { 53 | color: #955ae7; 54 | } 55 | 56 | .hljs-deletion, 57 | .hljs-addition { 58 | color: #19171c; 59 | display: inline-block; 60 | width: 100%; 61 | } 62 | 63 | .hljs-deletion { 64 | background-color: #be4678; 65 | } 66 | 67 | .hljs-addition { 68 | background-color: #2a9292; 69 | } 70 | 71 | .hljs { 72 | display: block; 73 | overflow-x: auto; 74 | background: #efecf4; 75 | color: #585260; 76 | padding: 0.5em; 77 | } 78 | 79 | .hljs-emphasis { 80 | font-style: italic; 81 | } 82 | 83 | .hljs-strong { 84 | font-weight: bold; 85 | } 86 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-estuary-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Estuary Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Estuary Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #878573; 9 | } 10 | 11 | /* Atelier-Estuary Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #ba6236; 23 | } 24 | 25 | /* Atelier-Estuary Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #ae7313; 34 | } 35 | 36 | /* Atelier-Estuary Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #7d9726; 41 | } 42 | 43 | /* Atelier-Estuary Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #36a166; 47 | } 48 | 49 | /* Atelier-Estuary Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #5f9182; 53 | } 54 | 55 | .hljs-deletion, 56 | .hljs-addition { 57 | color: #22221b; 58 | display: inline-block; 59 | width: 100%; 60 | } 61 | 62 | .hljs-deletion { 63 | background-color: #ba6236; 64 | } 65 | 66 | .hljs-addition { 67 | background-color: #7d9726; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | overflow-x: auto; 73 | background: #22221b; 74 | color: #929181; 75 | padding: 0.5em; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-estuary-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Estuary Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Estuary Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #6c6b5a; 9 | } 10 | 11 | /* Atelier-Estuary Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #ba6236; 23 | } 24 | 25 | /* Atelier-Estuary Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #ae7313; 34 | } 35 | 36 | /* Atelier-Estuary Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #7d9726; 41 | } 42 | 43 | /* Atelier-Estuary Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #36a166; 47 | } 48 | 49 | /* Atelier-Estuary Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #5f9182; 53 | } 54 | 55 | .hljs-deletion, 56 | .hljs-addition { 57 | color: #22221b; 58 | display: inline-block; 59 | width: 100%; 60 | } 61 | 62 | .hljs-deletion { 63 | background-color: #ba6236; 64 | } 65 | 66 | .hljs-addition { 67 | background-color: #7d9726; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | overflow-x: auto; 73 | background: #f4f3ec; 74 | color: #5f5e4e; 75 | padding: 0.5em; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-plateau-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Plateau Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Plateau Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #7e7777; 9 | } 10 | 11 | /* Atelier-Plateau Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #ca4949; 23 | } 24 | 25 | /* Atelier-Plateau Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #b45a3c; 34 | } 35 | 36 | /* Atelier-Plateau Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #4b8b8b; 41 | } 42 | 43 | /* Atelier-Plateau Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #7272ca; 47 | } 48 | 49 | /* Atelier-Plateau Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #8464c4; 53 | } 54 | 55 | .hljs-deletion, 56 | .hljs-addition { 57 | color: #1b1818; 58 | display: inline-block; 59 | width: 100%; 60 | } 61 | 62 | .hljs-deletion { 63 | background-color: #ca4949; 64 | } 65 | 66 | .hljs-addition { 67 | background-color: #4b8b8b; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | overflow-x: auto; 73 | background: #1b1818; 74 | color: #8a8585; 75 | padding: 0.5em; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-plateau-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Plateau Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Plateau Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #655d5d; 9 | } 10 | 11 | /* Atelier-Plateau Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #ca4949; 23 | } 24 | 25 | /* Atelier-Plateau Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #b45a3c; 34 | } 35 | 36 | /* Atelier-Plateau Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #4b8b8b; 41 | } 42 | 43 | /* Atelier-Plateau Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #7272ca; 47 | } 48 | 49 | /* Atelier-Plateau Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #8464c4; 53 | } 54 | 55 | .hljs-deletion, 56 | .hljs-addition { 57 | color: #1b1818; 58 | display: inline-block; 59 | width: 100%; 60 | } 61 | 62 | .hljs-deletion { 63 | background-color: #ca4949; 64 | } 65 | 66 | .hljs-addition { 67 | background-color: #4b8b8b; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | overflow-x: auto; 73 | background: #f4ecec; 74 | color: #585050; 75 | padding: 0.5em; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-savanna-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Savanna Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Savanna Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #78877d; 9 | } 10 | 11 | /* Atelier-Savanna Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #b16139; 23 | } 24 | 25 | /* Atelier-Savanna Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #9f713c; 34 | } 35 | 36 | /* Atelier-Savanna Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #489963; 41 | } 42 | 43 | /* Atelier-Savanna Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #478c90; 47 | } 48 | 49 | /* Atelier-Savanna Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #55859b; 53 | } 54 | 55 | .hljs-deletion, 56 | .hljs-addition { 57 | color: #171c19; 58 | display: inline-block; 59 | width: 100%; 60 | } 61 | 62 | .hljs-deletion { 63 | background-color: #b16139; 64 | } 65 | 66 | .hljs-addition { 67 | background-color: #489963; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | overflow-x: auto; 73 | background: #171c19; 74 | color: #87928a; 75 | padding: 0.5em; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atelier-savanna-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Savanna Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Savanna Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #5f6d64; 9 | } 10 | 11 | /* Atelier-Savanna Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #b16139; 23 | } 24 | 25 | /* Atelier-Savanna Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #9f713c; 34 | } 35 | 36 | /* Atelier-Savanna Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #489963; 41 | } 42 | 43 | /* Atelier-Savanna Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #478c90; 47 | } 48 | 49 | /* Atelier-Savanna Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #55859b; 53 | } 54 | 55 | .hljs-deletion, 56 | .hljs-addition { 57 | color: #171c19; 58 | display: inline-block; 59 | width: 100%; 60 | } 61 | 62 | .hljs-deletion { 63 | background-color: #b16139; 64 | } 65 | 66 | .hljs-addition { 67 | background-color: #489963; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | overflow-x: auto; 73 | background: #ecf4ee; 74 | color: #526057; 75 | padding: 0.5em; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /src/assets/css/highlight/github.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | github.com style (c) Vasily Polovnyov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | color: #333; 12 | background: #f8f8f8; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #998; 18 | font-style: italic; 19 | } 20 | 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-subst { 24 | color: #333; 25 | font-weight: bold; 26 | } 27 | 28 | .hljs-number, 29 | .hljs-literal, 30 | .hljs-variable, 31 | .hljs-template-variable, 32 | .hljs-tag .hljs-attr { 33 | color: #008080; 34 | } 35 | 36 | .hljs-string, 37 | .hljs-doctag { 38 | color: #d14; 39 | } 40 | 41 | .hljs-title, 42 | .hljs-section, 43 | .hljs-selector-id { 44 | color: #900; 45 | font-weight: bold; 46 | } 47 | 48 | .hljs-subst { 49 | font-weight: normal; 50 | } 51 | 52 | .hljs-type, 53 | .hljs-class .hljs-title { 54 | color: #458; 55 | font-weight: bold; 56 | } 57 | 58 | .hljs-tag, 59 | .hljs-name, 60 | .hljs-attribute { 61 | color: #000080; 62 | font-weight: normal; 63 | } 64 | 65 | .hljs-regexp, 66 | .hljs-link { 67 | color: #009926; 68 | } 69 | 70 | .hljs-symbol, 71 | .hljs-bullet { 72 | color: #990073; 73 | } 74 | 75 | .hljs-built_in, 76 | .hljs-builtin-name { 77 | color: #0086b3; 78 | } 79 | 80 | .hljs-meta { 81 | color: #999; 82 | font-weight: bold; 83 | } 84 | 85 | .hljs-deletion { 86 | background: #fdd; 87 | } 88 | 89 | .hljs-addition { 90 | background: #dfd; 91 | } 92 | 93 | .hljs-emphasis { 94 | font-style: italic; 95 | } 96 | 97 | .hljs-strong { 98 | font-weight: bold; 99 | } 100 | -------------------------------------------------------------------------------- /src/components/template/iView-UI/Radio.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | value:{ 7 | type:'boolean', 8 | value:false 9 | }, 10 | label:{ 11 | type:'text', 12 | value:'label' 13 | }, 14 | disabled:{ 15 | type:'text', 16 | value:'' 17 | }, 18 | ['true-value']:{ 19 | type:'text', 20 | value:'' 21 | }, 22 | ['false-value']:{ 23 | type:'text', 24 | value:'' 25 | } 26 | }, 27 | slots = { 28 | default: [] 29 | } 30 | 31 | //覆盖默认属性 32 | Object.assign(slots, _slots) 33 | Object.assign(attributes, _attr) 34 | 35 | //根据组件不同需要做的不同操作 36 | 37 | 38 | //获取插槽模板内容 39 | var subContent = getSlotContent(slots) 40 | //设置当前组件的slot 41 | if (attributes.slot && attributes.slot !== 'default') { 42 | attributes.slot = { 43 | type: 'text', 44 | value: attributes.slot 45 | } 46 | } else { 47 | attributes.slot = { 48 | type: 'text', 49 | value: '' 50 | } 51 | } 52 | 53 | //字符串模板操作 54 | let stringAttr = getStringTypeAttr(attributes) 55 | let template = ` 57 | ${subContent} 58 | ` 59 | 60 | 61 | return { template, attributes, slots } 62 | } 63 | export default handle 64 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Th.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | import guid from '@/utils/guid' 3 | 4 | var handle = function(_attr, _slots,{id}) { 5 | //定义默认属性 6 | let attributes = { 7 | tooltip: { 8 | type: 'text', 9 | value: '' 10 | }, 11 | tooltipPosition: { 12 | type: 'selection', 13 | value: '', 14 | items: ['top-left', 'top-right', 'top-center', 'middle-left', 'middle-right', 'middle-center', 'bottom-left', 'bottom-right', 'bottom-center'] 15 | }, 16 | touch: { 17 | type: 'boolean', 18 | value: false 19 | } 20 | }, 21 | slots = { 22 | default: [] 23 | } 24 | 25 | //覆盖默认属性 26 | Object.assign(slots, _slots) 27 | Object.assign(attributes, _attr) 28 | 29 | //根据组件不同需要做的不同操作 30 | 31 | 32 | 33 | 34 | //获取插槽模板内容 35 | var subContent = getSlotContent(slots) || ' ' 36 | //设置当前组件的slot 37 | if (attributes.slot && attributes.slot !== 'default') { 38 | attributes.slot = { 39 | type: 'text', 40 | value: attributes.slot 41 | } 42 | } else { 43 | attributes.slot = { 44 | type: 'text', 45 | value: '' 46 | } 47 | } 48 | 49 | //字符串模板操作 50 | let stringAttr = getStringTypeAttr(attributes) 51 | let template = ` 53 | ${subContent} 54 | ` 55 | 56 | return { template, attributes, slots } 57 | } 58 | export default handle 59 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atom-one-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Atom One Dark by Daniel Gamage 4 | Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax 5 | 6 | base: #282c34 7 | mono-1: #abb2bf 8 | mono-2: #818896 9 | mono-3: #5c6370 10 | hue-1: #56b6c2 11 | hue-2: #61aeee 12 | hue-3: #c678dd 13 | hue-4: #98c379 14 | hue-5: #e06c75 15 | hue-5-2: #be5046 16 | hue-6: #d19a66 17 | hue-6-2: #e6c07b 18 | 19 | */ 20 | 21 | .hljs { 22 | display: block; 23 | overflow-x: auto; 24 | padding: 0.5em; 25 | color: #abb2bf; 26 | background: #282c34; 27 | } 28 | 29 | .hljs-comment, 30 | .hljs-quote { 31 | color: #5c6370; 32 | font-style: italic; 33 | } 34 | 35 | .hljs-doctag, 36 | .hljs-keyword, 37 | .hljs-formula { 38 | color: #c678dd; 39 | } 40 | 41 | .hljs-section, 42 | .hljs-name, 43 | .hljs-selector-tag, 44 | .hljs-deletion, 45 | .hljs-subst { 46 | color: #e06c75; 47 | } 48 | 49 | .hljs-literal { 50 | color: #56b6c2; 51 | } 52 | 53 | .hljs-string, 54 | .hljs-regexp, 55 | .hljs-addition, 56 | .hljs-attribute, 57 | .hljs-meta-string { 58 | color: #98c379; 59 | } 60 | 61 | .hljs-built_in, 62 | .hljs-class .hljs-title { 63 | color: #e6c07b; 64 | } 65 | 66 | .hljs-attr, 67 | .hljs-variable, 68 | .hljs-template-variable, 69 | .hljs-type, 70 | .hljs-selector-class, 71 | .hljs-selector-attr, 72 | .hljs-selector-pseudo, 73 | .hljs-number { 74 | color: #d19a66; 75 | } 76 | 77 | .hljs-symbol, 78 | .hljs-bullet, 79 | .hljs-link, 80 | .hljs-meta, 81 | .hljs-selector-id, 82 | .hljs-title { 83 | color: #61aeee; 84 | } 85 | 86 | .hljs-emphasis { 87 | font-style: italic; 88 | } 89 | 90 | .hljs-strong { 91 | font-weight: bold; 92 | } 93 | 94 | .hljs-link { 95 | text-decoration: underline; 96 | } 97 | -------------------------------------------------------------------------------- /src/assets/css/highlight/atom-one-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Atom One Light by Daniel Gamage 4 | Original One Light Syntax theme from https://github.com/atom/one-light-syntax 5 | 6 | base: #fafafa 7 | mono-1: #383a42 8 | mono-2: #686b77 9 | mono-3: #a0a1a7 10 | hue-1: #0184bb 11 | hue-2: #4078f2 12 | hue-3: #a626a4 13 | hue-4: #50a14f 14 | hue-5: #e45649 15 | hue-5-2: #c91243 16 | hue-6: #986801 17 | hue-6-2: #c18401 18 | 19 | */ 20 | 21 | .hljs { 22 | display: block; 23 | overflow-x: auto; 24 | padding: 0.5em; 25 | color: #383a42; 26 | background: #fafafa; 27 | } 28 | 29 | .hljs-comment, 30 | .hljs-quote { 31 | color: #a0a1a7; 32 | font-style: italic; 33 | } 34 | 35 | .hljs-doctag, 36 | .hljs-keyword, 37 | .hljs-formula { 38 | color: #a626a4; 39 | } 40 | 41 | .hljs-section, 42 | .hljs-name, 43 | .hljs-selector-tag, 44 | .hljs-deletion, 45 | .hljs-subst { 46 | color: #e45649; 47 | } 48 | 49 | .hljs-literal { 50 | color: #0184bb; 51 | } 52 | 53 | .hljs-string, 54 | .hljs-regexp, 55 | .hljs-addition, 56 | .hljs-attribute, 57 | .hljs-meta-string { 58 | color: #50a14f; 59 | } 60 | 61 | .hljs-built_in, 62 | .hljs-class .hljs-title { 63 | color: #c18401; 64 | } 65 | 66 | .hljs-attr, 67 | .hljs-variable, 68 | .hljs-template-variable, 69 | .hljs-type, 70 | .hljs-selector-class, 71 | .hljs-selector-attr, 72 | .hljs-selector-pseudo, 73 | .hljs-number { 74 | color: #986801; 75 | } 76 | 77 | .hljs-symbol, 78 | .hljs-bullet, 79 | .hljs-link, 80 | .hljs-meta, 81 | .hljs-selector-id, 82 | .hljs-title { 83 | color: #4078f2; 84 | } 85 | 86 | .hljs-emphasis { 87 | font-style: italic; 88 | } 89 | 90 | .hljs-strong { 91 | font-weight: bold; 92 | } 93 | 94 | .hljs-link { 95 | text-decoration: underline; 96 | } 97 | -------------------------------------------------------------------------------- /src/assets/css/highlight/default.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original highlight.js style (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #F0F0F0; 12 | } 13 | 14 | 15 | /* Base color: saturation 0; */ 16 | 17 | .hljs, 18 | .hljs-subst { 19 | color: #444; 20 | } 21 | 22 | .hljs-comment { 23 | color: #888888; 24 | } 25 | 26 | .hljs-keyword, 27 | .hljs-attribute, 28 | .hljs-selector-tag, 29 | .hljs-meta-keyword, 30 | .hljs-doctag, 31 | .hljs-name { 32 | font-weight: bold; 33 | } 34 | 35 | 36 | /* User color: hue: 0 */ 37 | 38 | .hljs-type, 39 | .hljs-string, 40 | .hljs-number, 41 | .hljs-selector-id, 42 | .hljs-selector-class, 43 | .hljs-quote, 44 | .hljs-template-tag, 45 | .hljs-deletion { 46 | color: #880000; 47 | } 48 | 49 | .hljs-title, 50 | .hljs-section { 51 | color: #880000; 52 | font-weight: bold; 53 | } 54 | 55 | .hljs-regexp, 56 | .hljs-symbol, 57 | .hljs-variable, 58 | .hljs-template-variable, 59 | .hljs-link, 60 | .hljs-selector-attr, 61 | .hljs-selector-pseudo { 62 | color: #BC6060; 63 | } 64 | 65 | 66 | /* Language color: hue: 90; */ 67 | 68 | .hljs-literal { 69 | color: #78A960; 70 | } 71 | 72 | .hljs-built_in, 73 | .hljs-bullet, 74 | .hljs-code, 75 | .hljs-addition { 76 | color: #397300; 77 | } 78 | 79 | 80 | /* Meta color: hue: 200 */ 81 | 82 | .hljs-meta { 83 | color: #1f7199; 84 | } 85 | 86 | .hljs-meta-string { 87 | color: #4d99bf; 88 | } 89 | 90 | 91 | /* Misc effects */ 92 | 93 | .hljs-emphasis { 94 | font-style: italic; 95 | } 96 | 97 | .hljs-strong { 98 | font-weight: bold; 99 | } 100 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Pagination.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | current:{ 7 | type:'number', 8 | value:1 9 | }, 10 | total:{ 11 | type:'number', 12 | value:10 13 | }, 14 | pageSize:{ 15 | type:'number', 16 | value:1 17 | }, 18 | defaultPageSize:{ 19 | type:'number', 20 | value:'' 21 | }, 22 | showSizeChanger:{ 23 | type:'boolean', 24 | value:false, 25 | } 26 | }, 27 | slots = { 28 | default: [] 29 | } 30 | 31 | //覆盖默认属性 32 | Object.assign(slots, _slots) 33 | Object.assign(attributes, _attr) 34 | 35 | //根据组件不同需要做的不同操作 36 | 37 | 38 | //获取插槽模板内容 39 | var subContent = getSlotContent(slots) 40 | 41 | //设置当前组件的slot 42 | if (attributes.slot && attributes.slot!=='default') { 43 | attributes.slot = { 44 | type: 'text', 45 | value: attributes.slot 46 | } 47 | } else { 48 | attributes.slot = { 49 | type: 'text', 50 | value: '' 51 | } 52 | } 53 | 54 | //字符串模板操作 55 | let stringAttr = getStringTypeAttr(attributes) 56 | let template = ` 58 | ${subContent} 59 | ` 60 | 61 | return { template, attributes, slots } 62 | } 63 | export default handle 64 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Slider.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | name:{ 7 | type:'text', 8 | value:'' 9 | }, 10 | max:{ 11 | type:'number', 12 | value:'' 13 | }, 14 | min:{ 15 | type:'number', 16 | value:'' 17 | }, 18 | step:{ 19 | type:'number', 20 | value:'' 21 | }, 22 | disabled:{ 23 | type:'boolean', 24 | value:false 25 | }, 26 | value:{ 27 | type:'text', 28 | value:'' 29 | } 30 | }, 31 | slots = { 32 | } 33 | 34 | //覆盖默认属性 35 | Object.assign(slots, _slots) 36 | Object.assign(attributes, _attr) 37 | 38 | //根据组件不同需要做的不同操作 39 | 40 | 41 | //获取插槽模板内容 42 | var subContent = getSlotContent(slots) 43 | 44 | //设置当前组件的slot 45 | if (attributes.slot && attributes.slot!=='default') { 46 | attributes.slot = { 47 | type: 'text', 48 | value: attributes.slot 49 | } 50 | } else { 51 | attributes.slot = { 52 | type: 'text', 53 | value: '' 54 | } 55 | } 56 | 57 | //字符串模板操作 58 | let stringAttr = getStringTypeAttr(attributes) 59 | let template = ` 61 | ${subContent} 62 | ` 63 | 64 | return { template, attributes, slots } 65 | } 66 | export default handle 67 | -------------------------------------------------------------------------------- /src/assets/css/highlight/sunburst.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Sunburst-like style (c) Vasily Polovnyov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #000; 12 | color: #f8f8f8; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #aeaeae; 18 | font-style: italic; 19 | } 20 | 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-type { 24 | color: #e28964; 25 | } 26 | 27 | .hljs-string { 28 | color: #65b042; 29 | } 30 | 31 | .hljs-subst { 32 | color: #daefa3; 33 | } 34 | 35 | .hljs-regexp, 36 | .hljs-link { 37 | color: #e9c062; 38 | } 39 | 40 | .hljs-title, 41 | .hljs-section, 42 | .hljs-tag, 43 | .hljs-name { 44 | color: #89bdff; 45 | } 46 | 47 | .hljs-class .hljs-title, 48 | .hljs-doctag { 49 | text-decoration: underline; 50 | } 51 | 52 | .hljs-symbol, 53 | .hljs-bullet, 54 | .hljs-number { 55 | color: #3387cc; 56 | } 57 | 58 | .hljs-params, 59 | .hljs-variable, 60 | .hljs-template-variable { 61 | color: #3e87e3; 62 | } 63 | 64 | .hljs-attribute { 65 | color: #cda869; 66 | } 67 | 68 | .hljs-meta { 69 | color: #8996a8; 70 | } 71 | 72 | .hljs-formula { 73 | background-color: #0e2231; 74 | color: #f8f8f8; 75 | font-style: italic; 76 | } 77 | 78 | .hljs-addition { 79 | background-color: #253b22; 80 | color: #f8f8f8; 81 | } 82 | 83 | .hljs-deletion { 84 | background-color: #420e09; 85 | color: #f8f8f8; 86 | } 87 | 88 | .hljs-selector-class { 89 | color: #9b703f; 90 | } 91 | 92 | .hljs-selector-id { 93 | color: #8b98ab; 94 | } 95 | 96 | .hljs-emphasis { 97 | font-style: italic; 98 | } 99 | 100 | .hljs-strong { 101 | font-weight: bold; 102 | } 103 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Linear Progress.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | mode:{ 7 | type:'selection', 8 | value:'', 9 | items:['indeterminate','determinate'] 10 | }, 11 | value:{ 12 | type:'number', 13 | value:'' 14 | }, 15 | max:{ 16 | type:'number', 17 | value:'' 18 | }, 19 | min:{ 20 | type:'number', 21 | value:'' 22 | }, 23 | size:{ 24 | type:'number', 25 | value:'' 26 | }, 27 | color:{ 28 | type:'color', 29 | value:'' 30 | } 31 | }, 32 | slots = { 33 | } 34 | 35 | //覆盖默认属性 36 | Object.assign(slots, _slots) 37 | Object.assign(attributes, _attr) 38 | 39 | //根据组件不同需要做的不同操作 40 | 41 | 42 | //获取插槽模板内容 43 | var subContent = getSlotContent(slots) 44 | 45 | //设置当前组件的slot 46 | if (attributes.slot && attributes.slot!=='default') { 47 | attributes.slot = { 48 | type: 'text', 49 | value: attributes.slot 50 | } 51 | } else { 52 | attributes.slot = { 53 | type: 'text', 54 | value: '' 55 | } 56 | } 57 | 58 | //字符串模板操作 59 | let stringAttr = getStringTypeAttr(attributes) 60 | let template = `` 62 | 63 | return { template, attributes, slots } 64 | } 65 | export default handle 66 | -------------------------------------------------------------------------------- /src/components/template/Mint-UI/Cell.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | var handle = function(_attr, _slots) { 3 | //定义默认属性 4 | let attributes = { 5 | icon:{ 6 | type:'selection', 7 | items:['more','back'], 8 | value:'' 9 | }, 10 | title: { 11 | type: 'text', 12 | value: 'title' 13 | }, 14 | value:{ 15 | type:'text', 16 | value:'' 17 | }, 18 | label:{ 19 | type:'text', 20 | value:'' 21 | }, 22 | ['is-link']:{ 23 | type:'boolean', 24 | value:false 25 | } 26 | }, 27 | slots = { 28 | default: [], 29 | title:[], 30 | icon:[] 31 | } 32 | 33 | //覆盖默认属性 34 | Object.assign(slots, _slots) 35 | Object.assign(attributes, _attr) 36 | 37 | //根据组件不同需要做的不同操作 38 | 39 | 40 | //获取插槽模板内容 41 | var subContent = getSlotContent(slots) 42 | 43 | //设置当前组件的slot 44 | if (attributes.slot && attributes.slot!=='default') { 45 | attributes.slot = { 46 | type: 'text', 47 | value: attributes.slot 48 | } 49 | } else { 50 | attributes.slot = { 51 | type: 'text', 52 | value: '' 53 | } 54 | } 55 | 56 | //字符串模板操作 57 | let stringAttr = getStringTypeAttr(attributes) 58 | let template = ` 60 | ${subContent} 61 | ` 62 | 63 | return { template, attributes, slots } 64 | } 65 | export default handle 66 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Avatar.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | backgroundColor: { 7 | type: 'color', 8 | value: '' 9 | }, 10 | color: { 11 | type: 'color', 12 | value: '' 13 | }, 14 | src: { 15 | type: 'text', 16 | value: '' 17 | }, 18 | icon: { 19 | type: 'icon', 20 | value: '' 21 | }, 22 | iconSize: { 23 | type: 'number', 24 | value: '' 25 | }, 26 | size: { 27 | type: 'number', 28 | value: '' 29 | } 30 | }, 31 | slots = { 32 | default: [] 33 | } 34 | //覆盖默认属性 35 | Object.assign(slots, _slots) 36 | Object.assign(attributes, _attr) 37 | //根据组件不同需要做的不同操作 38 | 39 | 40 | //获取插槽模板内容 41 | var subContent = getSlotContent(slots) 42 | 43 | //设置当前组件的slot 44 | if (attributes.slot && attributes.slot !== 'default') { 45 | attributes.slot = { 46 | type: 'text', 47 | value: attributes.slot 48 | } 49 | } else { 50 | attributes.slot = { 51 | type: 'text', 52 | value: '' 53 | } 54 | } 55 | //字符串模板操作 56 | let stringAttr = getStringTypeAttr(attributes) 57 | let template = ` 59 | ${subContent} 60 | ` 61 | 62 | return { template, attributes, slots } 63 | } 64 | export default handle 65 | -------------------------------------------------------------------------------- /src/components/template/iView-UI/ColorPicker.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | value:{ 7 | type:'color', 8 | value:'#19be6b' 9 | }, 10 | alpha:{ 11 | type:'boolean', 12 | value:false 13 | }, 14 | recommend:{ 15 | type:'boolean', 16 | value:false 17 | }, 18 | format:{ 19 | type:'selection', 20 | items:['hsl','hsv','hex','rgb',''], 21 | value:'' 22 | }, 23 | size:{ 24 | type:'selection', 25 | items:['large','small','default',''], 26 | value:'' 27 | } 28 | }, 29 | slots = { 30 | } 31 | 32 | //覆盖默认属性 33 | Object.assign(slots, _slots) 34 | Object.assign(attributes, _attr) 35 | 36 | //根据组件不同需要做的不同操作 37 | 38 | 39 | //获取插槽模板内容 40 | var subContent = getSlotContent(slots) 41 | //设置当前组件的slot 42 | if (attributes.slot && attributes.slot !== 'default') { 43 | attributes.slot = { 44 | type: 'text', 45 | value: attributes.slot 46 | } 47 | } else { 48 | attributes.slot = { 49 | type: 'text', 50 | value: '' 51 | } 52 | } 53 | 54 | //字符串模板操作 55 | let stringAttr = getStringTypeAttr(attributes) 56 | let template = ` 58 | ${subContent} 59 | ` 60 | 61 | return { template, attributes, slots } 62 | } 63 | export default handle 64 | -------------------------------------------------------------------------------- /src/assets/css/highlight/railscasts.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Railscasts-like style (c) Visoft, Inc. (Damien White) 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #232323; 12 | color: #e6e1dc; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #bc9458; 18 | font-style: italic; 19 | } 20 | 21 | .hljs-keyword, 22 | .hljs-selector-tag { 23 | color: #c26230; 24 | } 25 | 26 | .hljs-string, 27 | .hljs-number, 28 | .hljs-regexp, 29 | .hljs-variable, 30 | .hljs-template-variable { 31 | color: #a5c261; 32 | } 33 | 34 | .hljs-subst { 35 | color: #519f50; 36 | } 37 | 38 | .hljs-tag, 39 | .hljs-name { 40 | color: #e8bf6a; 41 | } 42 | 43 | .hljs-type { 44 | color: #da4939; 45 | } 46 | 47 | 48 | .hljs-symbol, 49 | .hljs-bullet, 50 | .hljs-built_in, 51 | .hljs-builtin-name, 52 | .hljs-attr, 53 | .hljs-link { 54 | color: #6d9cbe; 55 | } 56 | 57 | .hljs-params { 58 | color: #d0d0ff; 59 | } 60 | 61 | .hljs-attribute { 62 | color: #cda869; 63 | } 64 | 65 | .hljs-meta { 66 | color: #9b859d; 67 | } 68 | 69 | .hljs-title, 70 | .hljs-section { 71 | color: #ffc66d; 72 | } 73 | 74 | .hljs-addition { 75 | background-color: #144212; 76 | color: #e6e1dc; 77 | display: inline-block; 78 | width: 100%; 79 | } 80 | 81 | .hljs-deletion { 82 | background-color: #600; 83 | color: #e6e1dc; 84 | display: inline-block; 85 | width: 100%; 86 | } 87 | 88 | .hljs-selector-class { 89 | color: #9b703f; 90 | } 91 | 92 | .hljs-selector-id { 93 | color: #8b98ab; 94 | } 95 | 96 | .hljs-emphasis { 97 | font-style: italic; 98 | } 99 | 100 | .hljs-strong { 101 | font-weight: bold; 102 | } 103 | 104 | .hljs-link { 105 | text-decoration: underline; 106 | } 107 | -------------------------------------------------------------------------------- /src/components/template/Mint-UI/Range.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | value: { 7 | type: 'number', 8 | value: 0 9 | }, 10 | min: { 11 | type: 'number', 12 | value: 0 13 | }, 14 | max: { 15 | type: 'number', 16 | value: 100 17 | }, 18 | step: { 19 | type: 'number', 20 | value: 1 21 | }, 22 | disabled: { 23 | type: 'boolean', 24 | value: false 25 | }, 26 | barHeight: { 27 | type: 'number', 28 | value: 1 29 | } 30 | }, 31 | slots = { 32 | start: [], 33 | end: [] 34 | } 35 | 36 | //覆盖默认属性 37 | Object.assign(slots, _slots) 38 | Object.assign(attributes, _attr) 39 | 40 | //根据组件不同需要做的不同操作 41 | 42 | 43 | //获取插槽模板内容 44 | var subContent = getSlotContent(slots) 45 | 46 | //设置当前组件的slot 47 | if (attributes.slot && attributes.slot !== 'default') { 48 | attributes.slot = { 49 | type: 'text', 50 | value: attributes.slot 51 | } 52 | } else { 53 | attributes.slot = { 54 | type: 'text', 55 | value: '' 56 | } 57 | } 58 | 59 | //字符串模板操作 60 | let stringAttr = getStringTypeAttr(attributes) 61 | let template = ` 63 | ${subContent} 64 | ` 65 | 66 | return { template, attributes, slots } 67 | } 68 | export default handle 69 | -------------------------------------------------------------------------------- /src/components/template/iView-UI/InputNumber.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | max:{ 7 | type:'number', 8 | value:'' 9 | }, 10 | min:{ 11 | type:'number', 12 | value:'' 13 | }, 14 | value:{ 15 | type:'number', 16 | value:'' 17 | }, 18 | step:{ 19 | type:'number', 20 | value:'' 21 | }, 22 | size:{ 23 | type:'selection', 24 | items:['large','small',''], 25 | value:'' 26 | }, 27 | disabled:{ 28 | type:'boolean', 29 | value:false 30 | } 31 | }, 32 | slots = { 33 | } 34 | 35 | //覆盖默认属性 36 | Object.assign(slots, _slots) 37 | Object.assign(attributes, _attr) 38 | 39 | //根据组件不同需要做的不同操作 40 | 41 | 42 | //获取插槽模板内容 43 | var subContent = getSlotContent(slots) 44 | //设置当前组件的slot 45 | if (attributes.slot && attributes.slot !== 'default') { 46 | attributes.slot = { 47 | type: 'text', 48 | value: attributes.slot 49 | } 50 | } else { 51 | attributes.slot = { 52 | type: 'text', 53 | value: '' 54 | } 55 | } 56 | 57 | //字符串模板操作 58 | let stringAttr = getStringTypeAttr(attributes) 59 | let template = ` 61 | ${subContent} 62 | ` 63 | 64 | return { template, attributes, slots } 65 | } 66 | export default handle 67 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Badge.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | content:{ 7 | type:'text', 8 | value:'badge' 9 | }, 10 | color:{ 11 | type:'color', 12 | value:'' 13 | }, 14 | primary:{ 15 | type:'boolean', 16 | value:false 17 | }, 18 | secondary:{ 19 | type:'boolean', 20 | value:false 21 | }, 22 | circle:{ 23 | type:'boolean', 24 | value:false 25 | }, 26 | badgeClass:{ 27 | type:'text', 28 | value:'' 29 | } 30 | }, 31 | slots = { 32 | content:[], 33 | default: [] 34 | } 35 | 36 | //覆盖默认属性 37 | Object.assign(slots, _slots) 38 | Object.assign(attributes, _attr) 39 | 40 | //根据组件不同需要做的不同操作 41 | 42 | 43 | //获取插槽模板内容 44 | var subContent = getSlotContent(slots) 45 | 46 | //设置当前组件的slot 47 | if (attributes.slot && attributes.slot!=='default') { 48 | attributes.slot = { 49 | type: 'text', 50 | value: attributes.slot 51 | } 52 | } else { 53 | attributes.slot = { 54 | type: 'text', 55 | value: '' 56 | } 57 | } 58 | 59 | //字符串模板操作 60 | let stringAttr = getStringTypeAttr(attributes) 61 | let template = ` 63 | ${subContent} 64 | ` 65 | 66 | return { template, attributes, slots } 67 | } 68 | export default handle 69 | -------------------------------------------------------------------------------- /src/components/template/Mint-UI/Badge.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | var handle = function(_attr, _slots) { 3 | //定义默认属性 4 | let attributes = { 5 | text: { 6 | type: 'text', 7 | value: '按钮' 8 | }, 9 | type:{ 10 | type:'selection', 11 | items:['primary','error','success','warning'], 12 | value:'' 13 | }, 14 | color:{ 15 | type:'color', 16 | value:'' 17 | }, 18 | size:{ 19 | type:'selection', 20 | items:['normal','large','small'], 21 | value:'' 22 | } 23 | }, 24 | slots = { 25 | default:[], 26 | icon:[] 27 | } 28 | 29 | //覆盖默认属性 30 | Object.assign(slots, _slots) 31 | Object.assign(attributes, _attr) 32 | 33 | //根据组件不同需要做的不同操作 34 | 35 | 36 | //获取插槽模板内容 37 | var subContent = getSlotContent(slots) 38 | 39 | //设置当前组件的slot 40 | if (attributes.slot && attributes.slot!=='default') { 41 | attributes.slot = { 42 | type: 'text', 43 | value: attributes.slot 44 | } 45 | } else { 46 | attributes.slot = { 47 | type: 'text', 48 | value: '' 49 | } 50 | } 51 | 52 | //字符串模板操作 53 | let stringAttr = getStringTypeAttr(attributes) 54 | let template = `${subContent} 56 | ${attributes.text.value} 57 | ` 58 | //删除自定义非ui属性 59 | template = template.replace(`:text="${attributes.text.value}"`, '') 60 | return { template, attributes, slots } 61 | } 62 | export default handle 63 | -------------------------------------------------------------------------------- /src/assets/css/highlight/routeros.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | highlight.js style for Microtik RouterOS script 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #F0F0F0; 12 | } 13 | 14 | /* Base color: saturation 0; */ 15 | 16 | .hljs, 17 | .hljs-subst { 18 | color: #444; 19 | } 20 | 21 | .hljs-comment { 22 | color: #888888; 23 | } 24 | 25 | .hljs-keyword, 26 | .hljs-selector-tag, 27 | .hljs-meta-keyword, 28 | .hljs-doctag, 29 | .hljs-name { 30 | font-weight: bold; 31 | } 32 | 33 | .hljs-attribute { 34 | color: #0E9A00; 35 | } 36 | 37 | .hljs-function { 38 | color: #99069A; 39 | } 40 | 41 | .hljs-builtin-name { 42 | color: #99069A; 43 | } 44 | 45 | /* User color: hue: 0 */ 46 | 47 | .hljs-type, 48 | .hljs-string, 49 | .hljs-number, 50 | .hljs-selector-id, 51 | .hljs-selector-class, 52 | .hljs-quote, 53 | .hljs-template-tag, 54 | .hljs-deletion { 55 | color: #880000; 56 | } 57 | 58 | .hljs-title, 59 | .hljs-section { 60 | color: #880000; 61 | font-weight: bold; 62 | } 63 | 64 | .hljs-regexp, 65 | .hljs-symbol, 66 | .hljs-variable, 67 | .hljs-template-variable, 68 | .hljs-link, 69 | .hljs-selector-attr, 70 | .hljs-selector-pseudo { 71 | color: #BC6060; 72 | } 73 | 74 | 75 | /* Language color: hue: 90; */ 76 | 77 | .hljs-literal { 78 | color: #78A960; 79 | } 80 | 81 | .hljs-built_in, 82 | .hljs-bullet, 83 | .hljs-code, 84 | .hljs-addition { 85 | color: #0C9A9A; 86 | } 87 | 88 | 89 | /* Meta color: hue: 200 */ 90 | 91 | .hljs-meta { 92 | color: #1f7199; 93 | } 94 | 95 | .hljs-meta-string { 96 | color: #4d99bf; 97 | } 98 | 99 | 100 | /* Misc effects */ 101 | 102 | .hljs-emphasis { 103 | font-style: italic; 104 | } 105 | 106 | .hljs-strong { 107 | font-weight: bold; 108 | } 109 | -------------------------------------------------------------------------------- /src/components/template/iView-UI/Checkbox.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent, getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | value:{ 7 | type:'boolean', 8 | value:false 9 | }, 10 | label: { 11 | type: 'text', 12 | value: 'label' 13 | }, 14 | disabled: { 15 | type: 'boolean', 16 | value: false 17 | }, 18 | indeterminate:{ 19 | type:'boolean', 20 | value:false 21 | }, 22 | ['true-value']:{ 23 | type:'boolean', 24 | value:false 25 | }, 26 | ['false-value']:{ 27 | type:'boolean', 28 | value:false 29 | } 30 | }, 31 | slots = { 32 | default: [] 33 | } 34 | 35 | //覆盖默认属性 36 | Object.assign(slots, _slots) 37 | Object.assign(attributes, _attr) 38 | 39 | //根据组件不同需要做的不同操作 40 | 41 | 42 | //获取插槽模板内容 43 | var subContent = getSlotContent(slots) 44 | //设置当前组件的slot 45 | if (attributes.slot && attributes.slot !== 'default') { 46 | attributes.slot = { 47 | type: 'text', 48 | value: attributes.slot 49 | } 50 | } else { 51 | attributes.slot = { 52 | type: 'text', 53 | value: '' 54 | } 55 | } 56 | 57 | //字符串模板操作 58 | let stringAttr = getStringTypeAttr(attributes) 59 | let template = ` 61 | ${subContent||attributes.label.value} 62 | ` 63 | return { template, attributes, slots } 64 | } 65 | export default handle 66 | -------------------------------------------------------------------------------- /src/components/template/Muse-UI/Circular Progress.js: -------------------------------------------------------------------------------- 1 | import { getTemplate, getSlotContent , getStringTypeAttr } from '@/components/template' 2 | 3 | var handle = function(_attr, _slots) { 4 | //定义默认属性 5 | let attributes = { 6 | mode:{ 7 | type:'selection', 8 | value:'', 9 | items:['indeterminate','determinate'] 10 | }, 11 | value:{ 12 | type:'number', 13 | value:'' 14 | }, 15 | max:{ 16 | type:'number', 17 | value:'' 18 | }, 19 | min:{ 20 | type:'number', 21 | value:'' 22 | }, 23 | size:{ 24 | type:'number', 25 | value:'' 26 | }, 27 | strokeWidth:{ 28 | type:'number', 29 | value:'' 30 | }, 31 | color:{ 32 | type:'color', 33 | value:'' 34 | } 35 | }, 36 | slots = { 37 | } 38 | 39 | //覆盖默认属性 40 | Object.assign(slots, _slots) 41 | Object.assign(attributes, _attr) 42 | 43 | //根据组件不同需要做的不同操作 44 | 45 | 46 | //获取插槽模板内容 47 | var subContent = getSlotContent(slots) 48 | 49 | //设置当前组件的slot 50 | if (attributes.slot && attributes.slot!=='default') { 51 | attributes.slot = { 52 | type: 'text', 53 | value: attributes.slot 54 | } 55 | } else { 56 | attributes.slot = { 57 | type: 'text', 58 | value: '' 59 | } 60 | } 61 | 62 | //字符串模板操作 63 | let stringAttr = getStringTypeAttr(attributes) 64 | let template = `` 66 | 67 | return { template, attributes, slots } 68 | } 69 | export default handle 70 | -------------------------------------------------------------------------------- /src/assets/css/highlight/agate.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Agate by Taufik Nurrohman 3 | * ---------------------------------------------------- 4 | * 5 | * #ade5fc 6 | * #a2fca2 7 | * #c6b4f0 8 | * #d36363 9 | * #fcc28c 10 | * #fc9b9b 11 | * #ffa 12 | * #fff 13 | * #333 14 | * #62c8f3 15 | * #888 16 | * 17 | */ 18 | 19 | .hljs { 20 | display: block; 21 | overflow-x: auto; 22 | padding: 0.5em; 23 | background: #333; 24 | color: white; 25 | } 26 | 27 | .hljs-name, 28 | .hljs-strong { 29 | font-weight: bold; 30 | } 31 | 32 | .hljs-code, 33 | .hljs-emphasis { 34 | font-style: italic; 35 | } 36 | 37 | .hljs-tag { 38 | color: #62c8f3; 39 | } 40 | 41 | .hljs-variable, 42 | .hljs-template-variable, 43 | .hljs-selector-id, 44 | .hljs-selector-class { 45 | color: #ade5fc; 46 | } 47 | 48 | .hljs-string, 49 | .hljs-bullet { 50 | color: #a2fca2; 51 | } 52 | 53 | .hljs-type, 54 | .hljs-title, 55 | .hljs-section, 56 | .hljs-attribute, 57 | .hljs-quote, 58 | .hljs-built_in, 59 | .hljs-builtin-name { 60 | color: #ffa; 61 | } 62 | 63 | .hljs-number, 64 | .hljs-symbol, 65 | .hljs-bullet { 66 | color: #d36363; 67 | } 68 | 69 | .hljs-keyword, 70 | .hljs-selector-tag, 71 | .hljs-literal { 72 | color: #fcc28c; 73 | } 74 | 75 | .hljs-comment, 76 | .hljs-deletion, 77 | .hljs-code { 78 | color: #888; 79 | } 80 | 81 | .hljs-regexp, 82 | .hljs-link { 83 | color: #c6b4f0; 84 | } 85 | 86 | .hljs-meta { 87 | color: #fc9b9b; 88 | } 89 | 90 | .hljs-deletion { 91 | background-color: #fc9b9b; 92 | color: #333; 93 | } 94 | 95 | .hljs-addition { 96 | background-color: #a2fca2; 97 | color: #333; 98 | } 99 | 100 | .hljs a { 101 | color: inherit; 102 | } 103 | 104 | .hljs a:focus, 105 | .hljs a:hover { 106 | color: inherit; 107 | text-decoration: underline; 108 | } 109 | --------------------------------------------------------------------------------