From 1d1634bf8e17f1abf3f4e973e1eb159573eb373c Mon Sep 17 00:00:00 2001 From: liyang <1711467488@qq.com> Date: Mon, 16 Jul 2018 22:22:55 +0800 Subject: [PATCH] =?UTF-8?q?cli3=E6=94=B9=E7=89=88=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Former-commit-id: 637e58a7d3aef389a4ea51c179aaee17f421f34c [formerly 637e58a7d3aef389a4ea51c179aaee17f421f34c [formerly 637e58a7d3aef389a4ea51c179aaee17f421f34c [formerly 637e58a7d3aef389a4ea51c179aaee17f421f34c [formerly fc66dcb2e437ff46b2c36ec1e3bcce71a6461250 [formerly b6451dc60d4c1e6006a9fcd380656d2023436e64]]]]] Former-commit-id: c791410cda91e2df1b9808bfb032f0d3d68106ef Former-commit-id: 0c5197800cfae6f27f7ab792c887fb25a73a23e0 Former-commit-id: 208a8e77c0fada6e9d191a7d495615ec2ef9704d [formerly af8c1367ed65b626196ac156c8521257cc804d60] Former-commit-id: 1fdb571cea6ed9dba9ea02f4ba6ebfb5d89e1b2f Former-commit-id: 774a145ae0694612edf988d9992ef797ddf4f21d Former-commit-id: 03fc24d70365836d60360aa24e24dc7cb4520b91 Former-commit-id: bba4fd5552fa42da029fd6b310f5ee48558d5508 Former-commit-id: 2de81d34fb07248965677e8a3866c13089fa95e7 --- .env | 4 + .env.development | 4 + .eslintignore | 11 + package-lock.json.REMOVED.git-id | 1 + package.json | 45 ++- public/favicon.ico | Bin 1150 -> 0 bytes public/icon.ico.REMOVED.git-id | 1 + public/index.html | 170 ++++++++- public/theme/line/bg.jpg.REMOVED.git-id | 1 + .../theme/line/preview@2x.png.REMOVED.git-id | 1 + public/theme/star/bg.jpg.REMOVED.git-id | 1 + .../theme/star/preview@2x.png.REMOVED.git-id | 1 + .../violet/preview@2x.png.REMOVED.git-id | 1 + src/App.vue | 28 +- src/assets/icons/index.js | 7 + src/assets/icons/svg/信息.svg | 1 + src/assets/icons/svg/分享.svg | 1 + src/assets/icons/svg/历史.svg | 1 + src/assets/icons/svg/喜欢.svg | 1 + src/assets/icons/svg/提醒.svg | 1 + src/assets/icons/svg/搜索.svg | 1 + src/assets/icons/svg/星标.svg | 1 + src/assets/icons/svg/添加.svg | 1 + src/assets/icons/svg/点赞.svg | 1 + src/assets/icons/svg/用户.svg | 1 + src/assets/icons/svg/相机.svg | 1 + src/assets/icons/svg/闹钟.svg | 1 + .../image/contact/qq.jpg.REMOVED.git-id | 1 + .../image/contact/we.jpg.REMOVED.git-id | 1 + .../page-cover/business.png.REMOVED.git-id | 1 + .../icon/page-cover/charts.png.REMOVED.git-id | 1 + .../page-cover/component.png.REMOVED.git-id | 1 + .../page-cover/d2admin.png.REMOVED.git-id | 1 + .../page-cover/element.png.REMOVED.git-id | 1 + .../page-cover/playground.png.REMOVED.git-id | 1 + .../icon/page-cover/plugin.png.REMOVED.git-id | 1 + .../page-cover/setting.png.REMOVED.git-id | 1 + src/assets/image/logo/w500.png.REMOVED.git-id | 1 + .../page/404/cover@2x.png.REMOVED.git-id | 1 + .../icon.js.REMOVED.git-id | 1 + .../font-awesome-4.7.0/HELP-US-OUT.txt | 7 + .../css/font-awesome.css.REMOVED.git-id | 1 + .../css/font-awesome.min.css.REMOVED.git-id | 1 + .../fonts/FontAwesome.otf.REMOVED.git-id | 1 + .../fontawesome-webfont.eot.REMOVED.git-id | 1 + .../fontawesome-webfont.svg.REMOVED.git-id | 1 + .../fontawesome-webfont.ttf.REMOVED.git-id | 1 + .../fontawesome-webfont.woff.REMOVED.git-id | 1 + .../fontawesome-webfont.woff2.REMOVED.git-id | 1 + .../font-awesome-4.7.0/less/animated.less | 34 ++ .../less/bordered-pulled.less | 25 ++ .../library/font-awesome-4.7.0/less/core.less | 12 + .../font-awesome-4.7.0/less/fixed-width.less | 6 + .../font-awesome-4.7.0/less/font-awesome.less | 18 + .../less/icons.less.REMOVED.git-id | 1 + .../font-awesome-4.7.0/less/larger.less | 13 + .../library/font-awesome-4.7.0/less/list.less | 19 ++ .../font-awesome-4.7.0/less/mixins.less | 60 ++++ .../library/font-awesome-4.7.0/less/path.less | 15 + .../less/rotated-flipped.less | 20 ++ .../less/screen-reader.less | 5 + .../font-awesome-4.7.0/less/stacked.less | 20 ++ .../less/variables.less.REMOVED.git-id | 1 + .../font-awesome-4.7.0/scss/_animated.scss | 34 ++ .../scss/_bordered-pulled.scss | 25 ++ .../font-awesome-4.7.0/scss/_core.scss | 12 + .../font-awesome-4.7.0/scss/_fixed-width.scss | 6 + .../scss/_icons.scss.REMOVED.git-id | 1 + .../font-awesome-4.7.0/scss/_larger.scss | 13 + .../font-awesome-4.7.0/scss/_list.scss | 19 ++ .../font-awesome-4.7.0/scss/_mixins.scss | 60 ++++ .../font-awesome-4.7.0/scss/_path.scss | 15 + .../scss/_rotated-flipped.scss | 20 ++ .../scss/_screen-reader.scss | 5 + .../font-awesome-4.7.0/scss/_stacked.scss | 20 ++ .../scss/_variables.scss.REMOVED.git-id | 1 + .../font-awesome-4.7.0/scss/font-awesome.scss | 18 + src/assets/library/highlight/styles/agate.css | 108 ++++++ .../highlight/styles/androidstudio.css | 66 ++++ .../highlight/styles/arduino-light.css | 88 +++++ src/assets/library/highlight/styles/arta.css | 73 ++++ .../library/highlight/styles/ascetic.css | 45 +++ .../highlight/styles/atelier-cave-dark.css | 83 +++++ .../highlight/styles/atelier-cave-light.css | 85 +++++ .../highlight/styles/atelier-dune-dark.css | 69 ++++ .../highlight/styles/atelier-dune-light.css | 69 ++++ .../highlight/styles/atelier-estuary-dark.css | 84 +++++ .../styles/atelier-estuary-light.css | 84 +++++ .../highlight/styles/atelier-forest-dark.css | 69 ++++ .../highlight/styles/atelier-forest-light.css | 69 ++++ .../highlight/styles/atelier-heath-dark.css | 69 ++++ .../highlight/styles/atelier-heath-light.css | 69 ++++ .../styles/atelier-lakeside-dark.css | 69 ++++ .../styles/atelier-lakeside-light.css | 69 ++++ .../highlight/styles/atelier-plateau-dark.css | 84 +++++ .../styles/atelier-plateau-light.css | 84 +++++ .../highlight/styles/atelier-savanna-dark.css | 84 +++++ .../styles/atelier-savanna-light.css | 84 +++++ .../highlight/styles/atelier-seaside-dark.css | 69 ++++ .../styles/atelier-seaside-light.css | 69 ++++ .../styles/atelier-sulphurpool-dark.css | 69 ++++ .../styles/atelier-sulphurpool-light.css | 69 ++++ .../highlight/styles/atom-one-dark.css | 96 ++++++ .../highlight/styles/atom-one-light.css | 96 ++++++ .../library/highlight/styles/brown-paper.css | 64 ++++ .../styles/brown-papersq.png.REMOVED.git-id | 1 + .../highlight/styles/codepen-embed.css | 60 ++++ .../library/highlight/styles/color-brewer.css | 71 ++++ .../library/highlight/styles/darcula.css | 77 +++++ src/assets/library/highlight/styles/dark.css | 63 ++++ .../library/highlight/styles/darkula.css | 6 + .../library/highlight/styles/default.css | 99 ++++++ src/assets/library/highlight/styles/docco.css | 97 ++++++ .../library/highlight/styles/dracula.css | 76 +++++ src/assets/library/highlight/styles/far.css | 71 ++++ .../library/highlight/styles/foundation.css | 88 +++++ .../library/highlight/styles/github-gist.css | 71 ++++ .../library/highlight/styles/github.css | 99 ++++++ .../library/highlight/styles/googlecode.css | 89 +++++ .../library/highlight/styles/grayscale.css | 101 ++++++ .../library/highlight/styles/gruvbox-dark.css | 108 ++++++ .../highlight/styles/gruvbox-light.css | 108 ++++++ .../library/highlight/styles/hopscotch.css | 83 +++++ .../library/highlight/styles/hybrid.css | 102 ++++++ src/assets/library/highlight/styles/idea.css | 97 ++++++ .../library/highlight/styles/ir-black.css | 73 ++++ .../library/highlight/styles/kimbie.dark.css | 74 ++++ .../library/highlight/styles/kimbie.light.css | 74 ++++ .../library/highlight/styles/magula.css | 70 ++++ .../library/highlight/styles/mono-blue.css | 59 ++++ .../highlight/styles/monokai-sublime.css | 83 +++++ .../library/highlight/styles/monokai.css | 70 ++++ .../library/highlight/styles/obsidian.css | 88 +++++ src/assets/library/highlight/styles/ocean.css | 74 ++++ .../library/highlight/styles/paraiso-dark.css | 72 ++++ .../highlight/styles/paraiso-light.css | 72 ++++ .../library/highlight/styles/pojoaque.css | 83 +++++ .../library/highlight/styles/purebasic.css | 96 ++++++ .../highlight/styles/qtcreator_dark.css | 83 +++++ .../highlight/styles/qtcreator_light.css | 83 +++++ .../library/highlight/styles/railscasts.css | 106 ++++++ .../library/highlight/styles/rainbow.css | 85 +++++ .../library/highlight/styles/routeros.css | 108 ++++++ .../library/highlight/styles/school-book.css | 72 ++++ .../highlight/styles/solarized-dark.css | 84 +++++ .../highlight/styles/solarized-light.css | 84 +++++ .../library/highlight/styles/sunburst.css | 102 ++++++ .../highlight/styles/tomorrow-night-blue.css | 75 ++++ .../styles/tomorrow-night-bright.css | 74 ++++ .../styles/tomorrow-night-eighties.css | 74 ++++ .../highlight/styles/tomorrow-night.css | 75 ++++ .../library/highlight/styles/tomorrow.css | 72 ++++ src/assets/library/highlight/styles/vs.css | 68 ++++ .../library/highlight/styles/vs2015.css | 115 +++++++ src/assets/library/highlight/styles/xcode.css | 93 +++++ src/assets/library/highlight/styles/xt256.css | 92 +++++ .../library/highlight/styles/zenburn.css | 80 +++++ src/assets/md/demo.md | 23 ++ src/assets/style/animate/vue-transition.scss | 27 ++ src/assets/style/fixed/base.scss | 14 + src/assets/style/fixed/element.scss | 16 + src/assets/style/fixed/markdown.scss | 10 + src/assets/style/fixed/vue-grid-layout.scss | 10 + src/assets/style/fixed/vue-splitpane.scss | 8 + src/assets/style/public-class.scss | 71 ++++ src/assets/style/public.scss | 44 +++ src/assets/style/theme/d2/index.scss | 2 + src/assets/style/theme/d2/setting.scss | 59 ++++ src/assets/style/theme/line/index.scss | 2 + src/assets/style/theme/line/setting.scss | 59 ++++ src/assets/style/theme/list.js | 29 ++ src/assets/style/theme/register.scss | 8 + src/assets/style/theme/star/index.scss | 2 + src/assets/style/theme/star/setting.scss | 59 ++++ src/assets/style/theme/theme-base.scss | 316 +++++++++++++++++ src/assets/style/theme/theme.scss | 323 ++++++++++++++++++ .../theme/tomorrow-night-blue/index.scss | 2 + .../theme/tomorrow-night-blue/setting.scss | 59 ++++ src/assets/style/theme/violet/index.scss | 9 + src/assets/style/theme/violet/setting.scss | 59 ++++ src/assets/style/unit/_color.scss | 23 ++ .../components/d2-container-full-bs.vue | 51 +++ .../components/d2-container-full.vue | 19 ++ src/components/core/d2-container/index.vue | 115 +++++++ src/components/core/d2-count-up/index.vue | 103 ++++++ src/components/core/d2-highlight/index.vue | 44 +++ src/components/core/d2-icon-select/index.vue | 193 +++++++++++ src/components/core/d2-icon-svg/index.vue | 22 ++ src/components/core/d2-icon/index.vue | 16 + .../components/-full-screen/index.vue | 27 ++ .../components/-github/index.vue | 34 ++ .../d2-layout-main/components/-help/index.vue | 42 +++ .../components/-menu-header/index.vue | 32 ++ .../components/-menu-item/index.vue | 25 ++ .../components/-menu-side/index.vue | 100 ++++++ .../components/-menu-sub/index.vue | 37 ++ .../components/-theme/index.vue | 22 ++ .../d2-layout-main/components/-user/index.vue | 50 +++ .../d2-layout-main/components/mixin/menu.js | 13 + src/components/core/d2-layout-main/index.vue | 106 ++++++ src/components/core/d2-markdown/index.vue | 144 ++++++++ .../core/d2-markdown/plugin/baidupan.js | 35 ++ src/components/core/d2-mde/index.vue | 61 ++++ .../core/d2-multiple-page-control/index.vue | 118 +++++++ src/components/core/d2-quill/index.vue | 77 +++++ src/components/core/d2-theme-list/index.vue | 58 ++++ src/components/core/register.js | 23 ++ .../demo/d2-demo-link-btn/index.vue | 32 ++ .../image/forkme@2x.png.REMOVED.git-id | 1 + .../demo/d2-demo-page-cover/index.vue | 61 ++++ .../demo/d2-demo-page-header/index.vue | 19 ++ src/components/demo/register.js | 7 + src/components/index.js | 4 + src/i18n/index.js | 17 + src/i18n/lang/cn/index.js | 7 + src/i18n/lang/en/index.js | 7 + src/i18n/lang/ja/index.js | 7 + src/libs/db.js | 15 + src/libs/htmlFormat.js.REMOVED.git-id | 1 + src/libs/util.js | 84 +++++ src/main.js | 94 ++++- src/menu/index.js.REMOVED.git-id | 1 + src/mock/ajax-demo/index.js | 13 + src/mock/login/index.js | 30 ++ src/mock/register.js | 10 + src/plugin/axios/index.js | 6 + src/plugin/export/_blob.js | 179 ++++++++++ src/plugin/export/_csv.js | 62 ++++ src/plugin/export/_export-csv.js | 83 +++++ src/plugin/export/_export2Excel.js | 145 ++++++++ src/plugin/export/backup/_blob.js | 217 ++++++++++++ src/plugin/export/backup/_export2Excel.js | 131 +++++++ src/plugin/export/index.js | 71 ++++ src/plugin/import/index.js | 62 ++++ src/plugin/log/index.js | 18 + src/plugin/open/index.js | 8 + src/router.js | 21 -- src/router/index.js | 47 +++ src/router/routes.js.REMOVED.git-id | 1 + src/{store.js => store/index.js} | 12 +- src/store/modules/d2admin.js.REMOVED.git-id | 1 + src/views/core/404/index.vue | 24 ++ src/views/core/index/index.vue | 9 + src/views/core/login/config/bubble.js | 112 ++++++ src/views/core/login/config/default.js | 112 ++++++ src/views/core/login/config/nasa.js | 112 ++++++ src/views/core/login/config/snow.js | 112 ++++++ src/views/core/login/index.vue | 126 +++++++ src/views/core/login/style.scss | 66 ++++ src/views/core/setting/index/index.vue | 9 + src/views/core/setting/releases/index.vue | 74 ++++ .../core/setting/releases/md/up-to-date.md | 9 + src/views/core/setting/theme/custom.vue | 26 ++ src/views/core/setting/theme/theme.vue | 5 + src/views/demo/business/index/index.vue | 9 + src/views/demo/charts/index/index.vue | 9 + src/views/demo/charts/list/_mixin/list.js | 9 + .../demo/charts/list/bar/demo1/index.vue | 45 +++ .../demo/charts/list/bar/demo2/index.vue | 49 +++ .../demo/charts/list/bar/demo3/index.vue | 52 +++ .../demo/charts/list/bar/demo4/index.vue | 50 +++ .../demo/charts/list/bar/demo5/index.vue | 48 +++ .../demo/charts/list/candle/demo1/index.vue | 77 +++++ .../demo/charts/list/candle/demo2/index.vue | 81 +++++ .../demo/charts/list/candle/demo3/index.vue | 88 +++++ .../demo/charts/list/funnel/demo1/index.vue | 43 +++ .../demo/charts/list/funnel/demo2/index.vue | 46 +++ .../demo/charts/list/gauge/demo1/index.vue | 40 +++ .../demo/charts/list/heatmap/demo1/index.vue | 49 +++ .../demo/charts/list/heatmap/demo2/index.vue | 69 ++++ .../charts/list/histogram/demo1/index.vue | 45 +++ .../charts/list/histogram/demo2/index.vue | 49 +++ .../charts/list/histogram/demo3/index.vue | 48 +++ .../charts/list/histogram/demo4/index.vue | 48 +++ .../charts/list/histogram/demo5/index.vue | 50 +++ .../charts/list/histogram/demo6/index.vue | 48 +++ .../demo/charts/list/line/demo1/index.vue | 45 +++ .../demo/charts/list/line/demo2/index.vue | 54 +++ .../demo/charts/list/line/demo3/index.vue | 49 +++ .../demo/charts/list/line/demo4/index.vue | 54 +++ .../demo/charts/list/line/demo5/index.vue | 54 +++ .../demo/charts/list/map/demo1/index.vue | 44 +++ .../demo/charts/list/map/demo2/index.vue | 47 +++ .../demo/charts/list/map/demo3/index.vue | 54 +++ .../demo/charts/list/pie/demo1/index.vue | 45 +++ .../demo/charts/list/pie/demo2/index.vue | 49 +++ .../demo/charts/list/pie/demo3/index.vue | 48 +++ .../demo/charts/list/pie/demo4/index.vue | 48 +++ .../demo/charts/list/pie/demo5/index.vue | 51 +++ .../demo/charts/list/pie/demo6/index.vue | 49 +++ .../demo/charts/list/radar/demo1/index.vue | 45 +++ .../demo/charts/list/ring/demo1/index.vue | 45 +++ .../demo/charts/list/ring/demo2/index.vue | 49 +++ .../demo/charts/list/ring/demo3/index.vue | 48 +++ .../demo/charts/list/ring/demo4/index.vue | 48 +++ .../demo/charts/list/ring/demo5/index.vue | 49 +++ .../demo/charts/list/sankey/demo1/index.vue | 56 +++ .../demo/charts/list/scatter/demo1/index.vue | 45 +++ .../demo/charts/list/scatter/demo2/index.vue | 63 ++++ .../demo/charts/list/tree/demo1/index.vue | 126 +++++++ .../charts/list/waterfall/demo1/index.vue | 42 +++ src/views/demo/components/container/card.vue | 17 + .../demo/components/container/full-bs.vue | 22 ++ src/views/demo/components/container/full.vue | 22 ++ .../components/container/ghost-header.vue | 19 ++ src/views/demo/components/container/ghost.vue | 18 + .../demo/components/container/md/doc-card.md | 18 + .../components/container/md/doc-full-bs.md | 77 +++++ .../demo/components/container/md/doc-full.md | 75 ++++ .../container/md/doc-ghost-header.md | 12 + .../demo/components/container/md/doc-ghost.md | 11 + .../components/contextmenu/custom-trigger.vue | 46 +++ .../demo/components/contextmenu/disabled.vue | 38 +++ .../demo/components/contextmenu/divier.vue | 31 ++ .../demo/components/contextmenu/group.vue | 29 ++ .../demo/components/contextmenu/simple.vue | 30 ++ .../components/contextmenu/style/pub.scss | 15 + .../demo/components/contextmenu/submenu.vue | 40 +++ src/views/demo/components/countup/index.vue | 98 ++++++ .../demo/components/editor-quill/index.vue | 49 +++ .../demo/components/editor-quill/value.js | 6 + .../components/editor-simpleMDE/index.vue | 28 ++ .../demo/components/editor-simpleMDE/text.js | 10 + .../demo/components/highlight/code/css.js | 8 + .../demo/components/highlight/code/html.js | 8 + .../components/highlight/code/javascript.js | 3 + .../demo/components/highlight/code/scss.js | 8 + src/views/demo/components/highlight/index.vue | 46 +++ .../icon/components/d2-icon-cell.vue | 77 +++++ src/views/demo/components/icon/icon.vue | 23 ++ src/views/demo/components/icon/list.vue | 46 +++ src/views/demo/components/icon/select.vue | 57 ++++ src/views/demo/components/icon/svg.vue | 43 +++ src/views/demo/components/index/index.vue | 9 + src/views/demo/components/json-tree/index.vue | 21 ++ src/views/demo/components/layout/grid.vue | 108 ++++++ .../demo/components/layout/splitpane.vue | 34 ++ src/views/demo/components/markdown/md/doc.md | 23 ++ src/views/demo/components/markdown/source.vue | 17 + src/views/demo/components/markdown/url.vue | 6 + src/views/demo/element/basic-button/index.vue | 106 ++++++ .../element/basic-color/components/info.vue | 62 ++++ src/views/demo/element/basic-color/index.vue | 143 ++++++++ .../demo/element/basic-container/index.vue | 93 +++++ src/views/demo/element/basic-icon/index.vue | 23 ++ src/views/demo/element/basic-layout/index.vue | 135 ++++++++ .../demo/element/basic-typography/index.vue | 89 +++++ src/views/demo/element/data-badge/index.vue | 7 + .../demo/element/data-pagination/index.vue | 7 + .../demo/element/data-progress/index.vue | 7 + src/views/demo/element/data-table/index.vue | 7 + src/views/demo/element/data-tag/index.vue | 7 + src/views/demo/element/data-tree/index.vue | 7 + .../demo/element/form-cascader/index.vue | 7 + .../demo/element/form-checkbox/index.vue | 104 ++++++ .../demo/element/form-color-picker/index.vue | 7 + .../demo/element/form-date-picker/index.vue | 7 + .../element/form-datetime-picker/index.vue | 7 + src/views/demo/element/form-form/index.vue | 7 + .../demo/element/form-input-number/index.vue | 7 + .../form-input/index.vue.REMOVED.git-id | 1 + src/views/demo/element/form-radio/index.vue | 99 ++++++ src/views/demo/element/form-rate/index.vue | 7 + src/views/demo/element/form-select/index.vue | 7 + src/views/demo/element/form-slider/index.vue | 7 + src/views/demo/element/form-switch/index.vue | 7 + .../demo/element/form-time-picker/index.vue | 7 + .../demo/element/form-transfer/index.vue | 7 + src/views/demo/element/form-upload/index.vue | 7 + src/views/demo/element/index/index.vue | 9 + .../element/navigation-breadcrumb/index.vue | 7 + .../element/navigation-dropdown/index.vue | 7 + .../demo/element/navigation-menu/index.vue | 7 + .../demo/element/navigation-steps/index.vue | 7 + .../demo/element/navigation-tabs/index.vue | 7 + src/views/demo/element/notice-alert/index.vue | 7 + .../demo/element/notice-loading/index.vue | 7 + .../demo/element/notice-message-box/index.vue | 7 + .../demo/element/notice-message/index.vue | 7 + .../element/notice-notification/index.vue | 7 + src/views/demo/element/others-card/index.vue | 7 + .../demo/element/others-carousel/index.vue | 7 + .../demo/element/others-collapse/index.vue | 7 + .../demo/element/others-dialog/index.vue | 7 + .../demo/element/others-popover/index.vue | 7 + .../demo/element/others-tooltip/index.vue | 7 + src/views/demo/playground/db/index.vue | 32 ++ .../demo/playground/fullscreen/index.vue | 24 ++ src/views/demo/playground/gray/index.vue | 88 +++++ src/views/demo/playground/index/index.vue | 9 + src/views/demo/playground/page-argu/get.vue | 16 + src/views/demo/playground/page-argu/send.vue | 55 +++ src/views/demo/playground/page-cache/off.vue | 17 + src/views/demo/playground/page-cache/on.vue | 18 + src/views/demo/playground/theme/index.vue | 72 ++++ src/views/demo/plugins/better-scroll/base.vue | 63 ++++ src/views/demo/plugins/better-scroll/to.vue | 106 ++++++ src/views/demo/plugins/build/index.vue | 6 + .../demo/plugins/clipboard-polyfill/index.vue | 82 +++++ src/views/demo/plugins/day/index.vue | 73 ++++ src/views/demo/plugins/export/data/index.js | 37 ++ src/views/demo/plugins/export/table.vue | 61 ++++ src/views/demo/plugins/export/txt.vue | 44 +++ .../demo/plugins/i18n/components/DemoI18n.vue | 67 ++++ .../i18n/components/DemoI18nControl.vue | 27 ++ src/views/demo/plugins/i18n/demo1.vue | 16 + src/views/demo/plugins/i18n/demo2.vue | 16 + src/views/demo/plugins/import/csv.vue | 59 ++++ src/views/demo/plugins/import/xlsx.vue | 61 ++++ src/views/demo/plugins/index/index.vue | 9 + src/views/demo/plugins/js-cookie/index.vue | 46 +++ src/views/demo/plugins/mock/ajax.vue | 43 +++ .../mock/components/d2-demo-mock-card.vue | 64 ++++ .../demo/plugins/mock/data/settingDPD.js | 15 + .../demo/plugins/mock/data/settingDTD.js | 115 +++++++ src/views/demo/plugins/mock/dpd.vue | 46 +++ src/views/demo/plugins/mock/dtd.vue | 66 ++++ src/views/demo/plugins/mock/md/doc.md | 5 + .../demo/plugins/mock/mixins/function.js | 30 ++ src/views/demo/plugins/mock/mixins/regexp.js | 28 ++ vue.config.js | 51 +++ 421 files changed, 18421 insertions(+), 63 deletions(-) create mode 100644 .env create mode 100644 .env.development create mode 100644 .eslintignore create mode 100644 package-lock.json.REMOVED.git-id delete mode 100644 public/favicon.ico create mode 100644 public/icon.ico.REMOVED.git-id create mode 100644 public/theme/line/bg.jpg.REMOVED.git-id create mode 100644 public/theme/line/preview@2x.png.REMOVED.git-id create mode 100644 public/theme/star/bg.jpg.REMOVED.git-id create mode 100644 public/theme/star/preview@2x.png.REMOVED.git-id create mode 100644 public/theme/violet/preview@2x.png.REMOVED.git-id create mode 100644 src/assets/icons/index.js create mode 100644 src/assets/icons/svg/信息.svg create mode 100644 src/assets/icons/svg/分享.svg create mode 100644 src/assets/icons/svg/历史.svg create mode 100644 src/assets/icons/svg/喜欢.svg create mode 100644 src/assets/icons/svg/提醒.svg create mode 100644 src/assets/icons/svg/搜索.svg create mode 100644 src/assets/icons/svg/星标.svg create mode 100644 src/assets/icons/svg/添加.svg create mode 100644 src/assets/icons/svg/点赞.svg create mode 100644 src/assets/icons/svg/用户.svg create mode 100644 src/assets/icons/svg/相机.svg create mode 100644 src/assets/icons/svg/闹钟.svg create mode 100644 src/assets/image/contact/qq.jpg.REMOVED.git-id create mode 100644 src/assets/image/contact/we.jpg.REMOVED.git-id create mode 100644 src/assets/image/icon/page-cover/business.png.REMOVED.git-id create mode 100644 src/assets/image/icon/page-cover/charts.png.REMOVED.git-id create mode 100644 src/assets/image/icon/page-cover/component.png.REMOVED.git-id create mode 100644 src/assets/image/icon/page-cover/d2admin.png.REMOVED.git-id create mode 100644 src/assets/image/icon/page-cover/element.png.REMOVED.git-id create mode 100644 src/assets/image/icon/page-cover/playground.png.REMOVED.git-id create mode 100644 src/assets/image/icon/page-cover/plugin.png.REMOVED.git-id create mode 100644 src/assets/image/icon/page-cover/setting.png.REMOVED.git-id create mode 100644 src/assets/image/logo/w500.png.REMOVED.git-id create mode 100644 src/assets/image/page/404/cover@2x.png.REMOVED.git-id create mode 100644 src/assets/library/font-awesome-4.7.0-icon/icon.js.REMOVED.git-id create mode 100644 src/assets/library/font-awesome-4.7.0/HELP-US-OUT.txt create mode 100644 src/assets/library/font-awesome-4.7.0/css/font-awesome.css.REMOVED.git-id create mode 100644 src/assets/library/font-awesome-4.7.0/css/font-awesome.min.css.REMOVED.git-id create mode 100644 src/assets/library/font-awesome-4.7.0/fonts/FontAwesome.otf.REMOVED.git-id create mode 100644 src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.eot.REMOVED.git-id create mode 100644 src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.svg.REMOVED.git-id create mode 100644 src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf.REMOVED.git-id create mode 100644 src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.woff.REMOVED.git-id create mode 100644 src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2.REMOVED.git-id create mode 100644 src/assets/library/font-awesome-4.7.0/less/animated.less create mode 100644 src/assets/library/font-awesome-4.7.0/less/bordered-pulled.less create mode 100644 src/assets/library/font-awesome-4.7.0/less/core.less create mode 100644 src/assets/library/font-awesome-4.7.0/less/fixed-width.less create mode 100644 src/assets/library/font-awesome-4.7.0/less/font-awesome.less create mode 100644 src/assets/library/font-awesome-4.7.0/less/icons.less.REMOVED.git-id create mode 100644 src/assets/library/font-awesome-4.7.0/less/larger.less create mode 100644 src/assets/library/font-awesome-4.7.0/less/list.less create mode 100644 src/assets/library/font-awesome-4.7.0/less/mixins.less create mode 100644 src/assets/library/font-awesome-4.7.0/less/path.less create mode 100644 src/assets/library/font-awesome-4.7.0/less/rotated-flipped.less create mode 100644 src/assets/library/font-awesome-4.7.0/less/screen-reader.less create mode 100644 src/assets/library/font-awesome-4.7.0/less/stacked.less create mode 100644 src/assets/library/font-awesome-4.7.0/less/variables.less.REMOVED.git-id create mode 100644 src/assets/library/font-awesome-4.7.0/scss/_animated.scss create mode 100644 src/assets/library/font-awesome-4.7.0/scss/_bordered-pulled.scss create mode 100644 src/assets/library/font-awesome-4.7.0/scss/_core.scss create mode 100644 src/assets/library/font-awesome-4.7.0/scss/_fixed-width.scss create mode 100644 src/assets/library/font-awesome-4.7.0/scss/_icons.scss.REMOVED.git-id create mode 100644 src/assets/library/font-awesome-4.7.0/scss/_larger.scss create mode 100644 src/assets/library/font-awesome-4.7.0/scss/_list.scss create mode 100644 src/assets/library/font-awesome-4.7.0/scss/_mixins.scss create mode 100644 src/assets/library/font-awesome-4.7.0/scss/_path.scss create mode 100644 src/assets/library/font-awesome-4.7.0/scss/_rotated-flipped.scss create mode 100644 src/assets/library/font-awesome-4.7.0/scss/_screen-reader.scss create mode 100644 src/assets/library/font-awesome-4.7.0/scss/_stacked.scss create mode 100644 src/assets/library/font-awesome-4.7.0/scss/_variables.scss.REMOVED.git-id create mode 100644 src/assets/library/font-awesome-4.7.0/scss/font-awesome.scss create mode 100644 src/assets/library/highlight/styles/agate.css create mode 100644 src/assets/library/highlight/styles/androidstudio.css create mode 100644 src/assets/library/highlight/styles/arduino-light.css create mode 100644 src/assets/library/highlight/styles/arta.css create mode 100644 src/assets/library/highlight/styles/ascetic.css create mode 100644 src/assets/library/highlight/styles/atelier-cave-dark.css create mode 100644 src/assets/library/highlight/styles/atelier-cave-light.css create mode 100644 src/assets/library/highlight/styles/atelier-dune-dark.css create mode 100644 src/assets/library/highlight/styles/atelier-dune-light.css create mode 100644 src/assets/library/highlight/styles/atelier-estuary-dark.css create mode 100644 src/assets/library/highlight/styles/atelier-estuary-light.css create mode 100644 src/assets/library/highlight/styles/atelier-forest-dark.css create mode 100644 src/assets/library/highlight/styles/atelier-forest-light.css create mode 100644 src/assets/library/highlight/styles/atelier-heath-dark.css create mode 100644 src/assets/library/highlight/styles/atelier-heath-light.css create mode 100644 src/assets/library/highlight/styles/atelier-lakeside-dark.css create mode 100644 src/assets/library/highlight/styles/atelier-lakeside-light.css create mode 100644 src/assets/library/highlight/styles/atelier-plateau-dark.css create mode 100644 src/assets/library/highlight/styles/atelier-plateau-light.css create mode 100644 src/assets/library/highlight/styles/atelier-savanna-dark.css create mode 100644 src/assets/library/highlight/styles/atelier-savanna-light.css create mode 100644 src/assets/library/highlight/styles/atelier-seaside-dark.css create mode 100644 src/assets/library/highlight/styles/atelier-seaside-light.css create mode 100644 src/assets/library/highlight/styles/atelier-sulphurpool-dark.css create mode 100644 src/assets/library/highlight/styles/atelier-sulphurpool-light.css create mode 100644 src/assets/library/highlight/styles/atom-one-dark.css create mode 100644 src/assets/library/highlight/styles/atom-one-light.css create mode 100644 src/assets/library/highlight/styles/brown-paper.css create mode 100644 src/assets/library/highlight/styles/brown-papersq.png.REMOVED.git-id create mode 100644 src/assets/library/highlight/styles/codepen-embed.css create mode 100644 src/assets/library/highlight/styles/color-brewer.css create mode 100644 src/assets/library/highlight/styles/darcula.css create mode 100644 src/assets/library/highlight/styles/dark.css create mode 100644 src/assets/library/highlight/styles/darkula.css create mode 100644 src/assets/library/highlight/styles/default.css create mode 100644 src/assets/library/highlight/styles/docco.css create mode 100644 src/assets/library/highlight/styles/dracula.css create mode 100644 src/assets/library/highlight/styles/far.css create mode 100644 src/assets/library/highlight/styles/foundation.css create mode 100644 src/assets/library/highlight/styles/github-gist.css create mode 100644 src/assets/library/highlight/styles/github.css create mode 100644 src/assets/library/highlight/styles/googlecode.css create mode 100644 src/assets/library/highlight/styles/grayscale.css create mode 100644 src/assets/library/highlight/styles/gruvbox-dark.css create mode 100644 src/assets/library/highlight/styles/gruvbox-light.css create mode 100644 src/assets/library/highlight/styles/hopscotch.css create mode 100644 src/assets/library/highlight/styles/hybrid.css create mode 100644 src/assets/library/highlight/styles/idea.css create mode 100644 src/assets/library/highlight/styles/ir-black.css create mode 100644 src/assets/library/highlight/styles/kimbie.dark.css create mode 100644 src/assets/library/highlight/styles/kimbie.light.css create mode 100644 src/assets/library/highlight/styles/magula.css create mode 100644 src/assets/library/highlight/styles/mono-blue.css create mode 100644 src/assets/library/highlight/styles/monokai-sublime.css create mode 100644 src/assets/library/highlight/styles/monokai.css create mode 100644 src/assets/library/highlight/styles/obsidian.css create mode 100644 src/assets/library/highlight/styles/ocean.css create mode 100644 src/assets/library/highlight/styles/paraiso-dark.css create mode 100644 src/assets/library/highlight/styles/paraiso-light.css create mode 100644 src/assets/library/highlight/styles/pojoaque.css create mode 100644 src/assets/library/highlight/styles/purebasic.css create mode 100644 src/assets/library/highlight/styles/qtcreator_dark.css create mode 100644 src/assets/library/highlight/styles/qtcreator_light.css create mode 100644 src/assets/library/highlight/styles/railscasts.css create mode 100644 src/assets/library/highlight/styles/rainbow.css create mode 100644 src/assets/library/highlight/styles/routeros.css create mode 100644 src/assets/library/highlight/styles/school-book.css create mode 100644 src/assets/library/highlight/styles/solarized-dark.css create mode 100644 src/assets/library/highlight/styles/solarized-light.css create mode 100644 src/assets/library/highlight/styles/sunburst.css create mode 100644 src/assets/library/highlight/styles/tomorrow-night-blue.css create mode 100644 src/assets/library/highlight/styles/tomorrow-night-bright.css create mode 100644 src/assets/library/highlight/styles/tomorrow-night-eighties.css create mode 100644 src/assets/library/highlight/styles/tomorrow-night.css create mode 100644 src/assets/library/highlight/styles/tomorrow.css create mode 100644 src/assets/library/highlight/styles/vs.css create mode 100644 src/assets/library/highlight/styles/vs2015.css create mode 100644 src/assets/library/highlight/styles/xcode.css create mode 100644 src/assets/library/highlight/styles/xt256.css create mode 100644 src/assets/library/highlight/styles/zenburn.css create mode 100644 src/assets/md/demo.md create mode 100644 src/assets/style/animate/vue-transition.scss create mode 100644 src/assets/style/fixed/base.scss create mode 100644 src/assets/style/fixed/element.scss create mode 100644 src/assets/style/fixed/markdown.scss create mode 100644 src/assets/style/fixed/vue-grid-layout.scss create mode 100644 src/assets/style/fixed/vue-splitpane.scss create mode 100644 src/assets/style/public-class.scss create mode 100644 src/assets/style/public.scss create mode 100644 src/assets/style/theme/d2/index.scss create mode 100644 src/assets/style/theme/d2/setting.scss create mode 100644 src/assets/style/theme/line/index.scss create mode 100644 src/assets/style/theme/line/setting.scss create mode 100644 src/assets/style/theme/list.js create mode 100644 src/assets/style/theme/register.scss create mode 100644 src/assets/style/theme/star/index.scss create mode 100644 src/assets/style/theme/star/setting.scss create mode 100644 src/assets/style/theme/theme-base.scss create mode 100644 src/assets/style/theme/theme.scss create mode 100644 src/assets/style/theme/tomorrow-night-blue/index.scss create mode 100644 src/assets/style/theme/tomorrow-night-blue/setting.scss create mode 100644 src/assets/style/theme/violet/index.scss create mode 100644 src/assets/style/theme/violet/setting.scss create mode 100644 src/assets/style/unit/_color.scss create mode 100644 src/components/core/d2-container/components/d2-container-full-bs.vue create mode 100644 src/components/core/d2-container/components/d2-container-full.vue create mode 100644 src/components/core/d2-container/index.vue create mode 100644 src/components/core/d2-count-up/index.vue create mode 100644 src/components/core/d2-highlight/index.vue create mode 100644 src/components/core/d2-icon-select/index.vue create mode 100644 src/components/core/d2-icon-svg/index.vue create mode 100644 src/components/core/d2-icon/index.vue create mode 100644 src/components/core/d2-layout-main/components/-full-screen/index.vue create mode 100644 src/components/core/d2-layout-main/components/-github/index.vue create mode 100644 src/components/core/d2-layout-main/components/-help/index.vue create mode 100644 src/components/core/d2-layout-main/components/-menu-header/index.vue create mode 100644 src/components/core/d2-layout-main/components/-menu-item/index.vue create mode 100644 src/components/core/d2-layout-main/components/-menu-side/index.vue create mode 100644 src/components/core/d2-layout-main/components/-menu-sub/index.vue create mode 100644 src/components/core/d2-layout-main/components/-theme/index.vue create mode 100644 src/components/core/d2-layout-main/components/-user/index.vue create mode 100644 src/components/core/d2-layout-main/components/mixin/menu.js create mode 100644 src/components/core/d2-layout-main/index.vue create mode 100644 src/components/core/d2-markdown/index.vue create mode 100644 src/components/core/d2-markdown/plugin/baidupan.js create mode 100644 src/components/core/d2-mde/index.vue create mode 100644 src/components/core/d2-multiple-page-control/index.vue create mode 100644 src/components/core/d2-quill/index.vue create mode 100644 src/components/core/d2-theme-list/index.vue create mode 100644 src/components/core/register.js create mode 100644 src/components/demo/d2-demo-link-btn/index.vue create mode 100644 src/components/demo/d2-demo-page-cover/image/forkme@2x.png.REMOVED.git-id create mode 100644 src/components/demo/d2-demo-page-cover/index.vue create mode 100644 src/components/demo/d2-demo-page-header/index.vue create mode 100644 src/components/demo/register.js create mode 100644 src/components/index.js create mode 100644 src/i18n/index.js create mode 100644 src/i18n/lang/cn/index.js create mode 100644 src/i18n/lang/en/index.js create mode 100644 src/i18n/lang/ja/index.js create mode 100644 src/libs/db.js create mode 100644 src/libs/htmlFormat.js.REMOVED.git-id create mode 100644 src/libs/util.js create mode 100644 src/menu/index.js.REMOVED.git-id create mode 100644 src/mock/ajax-demo/index.js create mode 100644 src/mock/login/index.js create mode 100644 src/mock/register.js create mode 100644 src/plugin/axios/index.js create mode 100644 src/plugin/export/_blob.js create mode 100755 src/plugin/export/_csv.js create mode 100755 src/plugin/export/_export-csv.js create mode 100644 src/plugin/export/_export2Excel.js create mode 100755 src/plugin/export/backup/_blob.js create mode 100755 src/plugin/export/backup/_export2Excel.js create mode 100644 src/plugin/export/index.js create mode 100644 src/plugin/import/index.js create mode 100644 src/plugin/log/index.js create mode 100644 src/plugin/open/index.js delete mode 100644 src/router.js create mode 100755 src/router/index.js create mode 100644 src/router/routes.js.REMOVED.git-id rename src/{store.js => store/index.js} (61%) create mode 100644 src/store/modules/d2admin.js.REMOVED.git-id create mode 100644 src/views/core/404/index.vue create mode 100644 src/views/core/index/index.vue create mode 100644 src/views/core/login/config/bubble.js create mode 100644 src/views/core/login/config/default.js create mode 100644 src/views/core/login/config/nasa.js create mode 100644 src/views/core/login/config/snow.js create mode 100644 src/views/core/login/index.vue create mode 100644 src/views/core/login/style.scss create mode 100644 src/views/core/setting/index/index.vue create mode 100644 src/views/core/setting/releases/index.vue create mode 100644 src/views/core/setting/releases/md/up-to-date.md create mode 100644 src/views/core/setting/theme/custom.vue create mode 100644 src/views/core/setting/theme/theme.vue create mode 100644 src/views/demo/business/index/index.vue create mode 100644 src/views/demo/charts/index/index.vue create mode 100644 src/views/demo/charts/list/_mixin/list.js create mode 100644 src/views/demo/charts/list/bar/demo1/index.vue create mode 100644 src/views/demo/charts/list/bar/demo2/index.vue create mode 100644 src/views/demo/charts/list/bar/demo3/index.vue create mode 100644 src/views/demo/charts/list/bar/demo4/index.vue create mode 100644 src/views/demo/charts/list/bar/demo5/index.vue create mode 100644 src/views/demo/charts/list/candle/demo1/index.vue create mode 100644 src/views/demo/charts/list/candle/demo2/index.vue create mode 100644 src/views/demo/charts/list/candle/demo3/index.vue create mode 100644 src/views/demo/charts/list/funnel/demo1/index.vue create mode 100644 src/views/demo/charts/list/funnel/demo2/index.vue create mode 100644 src/views/demo/charts/list/gauge/demo1/index.vue create mode 100644 src/views/demo/charts/list/heatmap/demo1/index.vue create mode 100644 src/views/demo/charts/list/heatmap/demo2/index.vue create mode 100644 src/views/demo/charts/list/histogram/demo1/index.vue create mode 100644 src/views/demo/charts/list/histogram/demo2/index.vue create mode 100644 src/views/demo/charts/list/histogram/demo3/index.vue create mode 100644 src/views/demo/charts/list/histogram/demo4/index.vue create mode 100644 src/views/demo/charts/list/histogram/demo5/index.vue create mode 100644 src/views/demo/charts/list/histogram/demo6/index.vue create mode 100644 src/views/demo/charts/list/line/demo1/index.vue create mode 100644 src/views/demo/charts/list/line/demo2/index.vue create mode 100644 src/views/demo/charts/list/line/demo3/index.vue create mode 100644 src/views/demo/charts/list/line/demo4/index.vue create mode 100644 src/views/demo/charts/list/line/demo5/index.vue create mode 100644 src/views/demo/charts/list/map/demo1/index.vue create mode 100644 src/views/demo/charts/list/map/demo2/index.vue create mode 100644 src/views/demo/charts/list/map/demo3/index.vue create mode 100644 src/views/demo/charts/list/pie/demo1/index.vue create mode 100644 src/views/demo/charts/list/pie/demo2/index.vue create mode 100644 src/views/demo/charts/list/pie/demo3/index.vue create mode 100644 src/views/demo/charts/list/pie/demo4/index.vue create mode 100644 src/views/demo/charts/list/pie/demo5/index.vue create mode 100644 src/views/demo/charts/list/pie/demo6/index.vue create mode 100644 src/views/demo/charts/list/radar/demo1/index.vue create mode 100644 src/views/demo/charts/list/ring/demo1/index.vue create mode 100644 src/views/demo/charts/list/ring/demo2/index.vue create mode 100644 src/views/demo/charts/list/ring/demo3/index.vue create mode 100644 src/views/demo/charts/list/ring/demo4/index.vue create mode 100644 src/views/demo/charts/list/ring/demo5/index.vue create mode 100644 src/views/demo/charts/list/sankey/demo1/index.vue create mode 100644 src/views/demo/charts/list/scatter/demo1/index.vue create mode 100644 src/views/demo/charts/list/scatter/demo2/index.vue create mode 100644 src/views/demo/charts/list/tree/demo1/index.vue create mode 100644 src/views/demo/charts/list/waterfall/demo1/index.vue create mode 100644 src/views/demo/components/container/card.vue create mode 100644 src/views/demo/components/container/full-bs.vue create mode 100644 src/views/demo/components/container/full.vue create mode 100644 src/views/demo/components/container/ghost-header.vue create mode 100644 src/views/demo/components/container/ghost.vue create mode 100644 src/views/demo/components/container/md/doc-card.md create mode 100644 src/views/demo/components/container/md/doc-full-bs.md create mode 100644 src/views/demo/components/container/md/doc-full.md create mode 100644 src/views/demo/components/container/md/doc-ghost-header.md create mode 100644 src/views/demo/components/container/md/doc-ghost.md create mode 100644 src/views/demo/components/contextmenu/custom-trigger.vue create mode 100644 src/views/demo/components/contextmenu/disabled.vue create mode 100644 src/views/demo/components/contextmenu/divier.vue create mode 100644 src/views/demo/components/contextmenu/group.vue create mode 100644 src/views/demo/components/contextmenu/simple.vue create mode 100644 src/views/demo/components/contextmenu/style/pub.scss create mode 100644 src/views/demo/components/contextmenu/submenu.vue create mode 100644 src/views/demo/components/countup/index.vue create mode 100644 src/views/demo/components/editor-quill/index.vue create mode 100644 src/views/demo/components/editor-quill/value.js create mode 100644 src/views/demo/components/editor-simpleMDE/index.vue create mode 100644 src/views/demo/components/editor-simpleMDE/text.js create mode 100644 src/views/demo/components/highlight/code/css.js create mode 100644 src/views/demo/components/highlight/code/html.js create mode 100644 src/views/demo/components/highlight/code/javascript.js create mode 100644 src/views/demo/components/highlight/code/scss.js create mode 100644 src/views/demo/components/highlight/index.vue create mode 100644 src/views/demo/components/icon/components/d2-icon-cell.vue create mode 100644 src/views/demo/components/icon/icon.vue create mode 100644 src/views/demo/components/icon/list.vue create mode 100644 src/views/demo/components/icon/select.vue create mode 100644 src/views/demo/components/icon/svg.vue create mode 100644 src/views/demo/components/index/index.vue create mode 100644 src/views/demo/components/json-tree/index.vue create mode 100644 src/views/demo/components/layout/grid.vue create mode 100644 src/views/demo/components/layout/splitpane.vue create mode 100644 src/views/demo/components/markdown/md/doc.md create mode 100644 src/views/demo/components/markdown/source.vue create mode 100644 src/views/demo/components/markdown/url.vue create mode 100644 src/views/demo/element/basic-button/index.vue create mode 100644 src/views/demo/element/basic-color/components/info.vue create mode 100644 src/views/demo/element/basic-color/index.vue create mode 100644 src/views/demo/element/basic-container/index.vue create mode 100644 src/views/demo/element/basic-icon/index.vue create mode 100644 src/views/demo/element/basic-layout/index.vue create mode 100644 src/views/demo/element/basic-typography/index.vue create mode 100644 src/views/demo/element/data-badge/index.vue create mode 100644 src/views/demo/element/data-pagination/index.vue create mode 100644 src/views/demo/element/data-progress/index.vue create mode 100644 src/views/demo/element/data-table/index.vue create mode 100644 src/views/demo/element/data-tag/index.vue create mode 100644 src/views/demo/element/data-tree/index.vue create mode 100644 src/views/demo/element/form-cascader/index.vue create mode 100644 src/views/demo/element/form-checkbox/index.vue create mode 100644 src/views/demo/element/form-color-picker/index.vue create mode 100644 src/views/demo/element/form-date-picker/index.vue create mode 100644 src/views/demo/element/form-datetime-picker/index.vue create mode 100644 src/views/demo/element/form-form/index.vue create mode 100644 src/views/demo/element/form-input-number/index.vue create mode 100644 src/views/demo/element/form-input/index.vue.REMOVED.git-id create mode 100644 src/views/demo/element/form-radio/index.vue create mode 100644 src/views/demo/element/form-rate/index.vue create mode 100644 src/views/demo/element/form-select/index.vue create mode 100644 src/views/demo/element/form-slider/index.vue create mode 100644 src/views/demo/element/form-switch/index.vue create mode 100644 src/views/demo/element/form-time-picker/index.vue create mode 100644 src/views/demo/element/form-transfer/index.vue create mode 100644 src/views/demo/element/form-upload/index.vue create mode 100644 src/views/demo/element/index/index.vue create mode 100644 src/views/demo/element/navigation-breadcrumb/index.vue create mode 100644 src/views/demo/element/navigation-dropdown/index.vue create mode 100644 src/views/demo/element/navigation-menu/index.vue create mode 100644 src/views/demo/element/navigation-steps/index.vue create mode 100644 src/views/demo/element/navigation-tabs/index.vue create mode 100644 src/views/demo/element/notice-alert/index.vue create mode 100644 src/views/demo/element/notice-loading/index.vue create mode 100644 src/views/demo/element/notice-message-box/index.vue create mode 100644 src/views/demo/element/notice-message/index.vue create mode 100644 src/views/demo/element/notice-notification/index.vue create mode 100644 src/views/demo/element/others-card/index.vue create mode 100644 src/views/demo/element/others-carousel/index.vue create mode 100644 src/views/demo/element/others-collapse/index.vue create mode 100644 src/views/demo/element/others-dialog/index.vue create mode 100644 src/views/demo/element/others-popover/index.vue create mode 100644 src/views/demo/element/others-tooltip/index.vue create mode 100644 src/views/demo/playground/db/index.vue create mode 100644 src/views/demo/playground/fullscreen/index.vue create mode 100644 src/views/demo/playground/gray/index.vue create mode 100644 src/views/demo/playground/index/index.vue create mode 100644 src/views/demo/playground/page-argu/get.vue create mode 100644 src/views/demo/playground/page-argu/send.vue create mode 100644 src/views/demo/playground/page-cache/off.vue create mode 100644 src/views/demo/playground/page-cache/on.vue create mode 100644 src/views/demo/playground/theme/index.vue create mode 100644 src/views/demo/plugins/better-scroll/base.vue create mode 100644 src/views/demo/plugins/better-scroll/to.vue create mode 100644 src/views/demo/plugins/build/index.vue create mode 100644 src/views/demo/plugins/clipboard-polyfill/index.vue create mode 100644 src/views/demo/plugins/day/index.vue create mode 100644 src/views/demo/plugins/export/data/index.js create mode 100644 src/views/demo/plugins/export/table.vue create mode 100644 src/views/demo/plugins/export/txt.vue create mode 100644 src/views/demo/plugins/i18n/components/DemoI18n.vue create mode 100644 src/views/demo/plugins/i18n/components/DemoI18nControl.vue create mode 100644 src/views/demo/plugins/i18n/demo1.vue create mode 100644 src/views/demo/plugins/i18n/demo2.vue create mode 100644 src/views/demo/plugins/import/csv.vue create mode 100644 src/views/demo/plugins/import/xlsx.vue create mode 100644 src/views/demo/plugins/index/index.vue create mode 100644 src/views/demo/plugins/js-cookie/index.vue create mode 100644 src/views/demo/plugins/mock/ajax.vue create mode 100644 src/views/demo/plugins/mock/components/d2-demo-mock-card.vue create mode 100644 src/views/demo/plugins/mock/data/settingDPD.js create mode 100644 src/views/demo/plugins/mock/data/settingDTD.js create mode 100644 src/views/demo/plugins/mock/dpd.vue create mode 100644 src/views/demo/plugins/mock/dtd.vue create mode 100644 src/views/demo/plugins/mock/md/doc.md create mode 100644 src/views/demo/plugins/mock/mixins/function.js create mode 100644 src/views/demo/plugins/mock/mixins/regexp.js create mode 100644 vue.config.js diff --git a/.env b/.env new file mode 100644 index 00000000..cbfd6d20 --- /dev/null +++ b/.env @@ -0,0 +1,4 @@ +# 正式环境 + +# 页面 title 前缀 +VUE_APP_TITLE=D2Admin \ No newline at end of file diff --git a/.env.development b/.env.development new file mode 100644 index 00000000..fbf47d6a --- /dev/null +++ b/.env.development @@ -0,0 +1,4 @@ +# 开发环境 + +# 页面 title 前缀 +VUE_APP_TITLE=D2Admin Dev \ No newline at end of file diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..d4a5a5a5 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,11 @@ +# 忽略目录 +build/ +tests/ +node_modules/ + +# node 覆盖率文件 +coverage/ + +# 忽略文件 +**/*-min.js +**/*.min.js diff --git a/package-lock.json.REMOVED.git-id b/package-lock.json.REMOVED.git-id new file mode 100644 index 00000000..f3055f93 --- /dev/null +++ b/package-lock.json.REMOVED.git-id @@ -0,0 +1 @@ +4cece9ab52ea091eb930d8ff7a2d15c2bc019baf \ No newline at end of file diff --git a/package.json b/package.json index 98c51196..fabe51cf 100644 --- a/package.json +++ b/package.json @@ -1,19 +1,50 @@ { - "name": "d2", - "version": "0.1.0", + "name": "d2-admin", + "version": "1.1.5", "private": true, "scripts": { - "serve": "vue-cli-service serve", + "serve": "vue-cli-service serve --open", "build": "vue-cli-service build", - "lint": "vue-cli-service lint", + "lint": "vue-cli-service lint --fix", "test:unit": "vue-cli-service test:unit" }, "dependencies": { + "axios": "^0.17.1", + "babel-polyfill": "^6.26.0", + "better-scroll": "^1.12.1", + "clipboard-polyfill": "^2.4.1", + "countup.js": "^1.9.3", + "dayjs": "^1.6.7", + "echarts": "^4.1.0", + "element-ui": "^2.0.11", + "file-saver": "^1.3.3", + "github-markdown-css": "^2.10.0", + "highlight.js": "^9.12.0", + "js-cookie": "^2.2.0", + "lodash.clonedeep": "^4.5.0", + "lodash.uniqueid": "^4.0.1", + "lowdb": "^1.0.0", + "marked": "^0.3.9", + "mockjs": "^1.0.1-beta3", + "papaparse": "^4.3.6", + "particles.js": "^2.0.0", + "path-posix": "^1.0.0", + "quill": "^1.3.4", + "screenfull": "^3.3.2", + "simplemde": "^1.11.2", + "v-charts": "^1.17.6", + "v-contextmenu": "^2.7.0", "vue": "^2.5.16", + "vue-grid-layout": "^2.1.11", + "vue-i18n": "^7.4.2", + "vue-json-tree-view": "^2.1.4", "vue-router": "^3.0.1", - "vuex": "^3.0.1" + "vue-splitpane": "^1.0.2", + "vuex": "^3.0.1", + "xlsx": "^0.12.0" }, "devDependencies": { + "@kazupon/vue-i18n-loader": "^0.3.0", "@vue/cli-plugin-babel": "^3.0.0-rc.4", "@vue/cli-plugin-eslint": "^3.0.0-rc.4", "@vue/cli-plugin-unit-jest": "^3.0.0-rc.4", @@ -24,6 +55,8 @@ "babel-jest": "^23.0.1", "node-sass": "^4.9.0", "sass-loader": "^7.0.1", + "svg-sprite-loader": "^3.8.0", + "text-loader": "0.0.1", "vue-template-compiler": "^2.5.16" }, "browserslist": [ @@ -31,4 +64,4 @@ "last 2 versions", "not ie <= 8" ] -} \ No newline at end of file +} diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index c7b9a43c8cd16d0b434adaf513fcacb340809a11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmchVOGsN$5QZm2NTI$erQpKHrdQX(jn+pVxKN`Ng)RzW5+8_2Xb@Y)Dkd6tq9V8u z3WAh^C@KZ1kA;tohzs}b3NC_*QmUXr$oP*rH(2mdT{z*(KX=aj=bX$9kqMvFRKj;Q zwI&d~A);J>5-PDega~WT5us%#Dc(Y}C4WpP?+fS;FaZ*z_CFzgiW=w{I02=q_TUz( z?=^H2uwoIK1n%|Ay21~QgjV1emYtWttJdz^L#=DjJ@Ex*9UPc*7<=rZo*_NAh4PxA zqkso~Ioa1y$e+3kIkXi29YNLi&lW}vY6C}ut4{8ou(7w=$_=$v{yJ$h?y!&bJfq*( zL_NQRF37$6e>%9erGV?p^lRFD?|5J_eupXaS;QluyrOmBT>PJhirMYb*i?(4Tf=j~?VvnUlY_ zDCVuuk3E&T9aP~Cr-0i-MaKUjf_|U!=R&t}_CfD=d${p~HH`BPaqb9aXT}UI$iGRg z>0^GlZ`vM4?;$*LhfI(RG|XK4GF+@-W*W}YJT5&2N_ZyZuaM_Ry=%PWx>r0P(Rc?> jRc4}SfGA>*agjwN{7E7DEm(*)%rSx{B0<6wBoglxJAy|R diff --git a/public/icon.ico.REMOVED.git-id b/public/icon.ico.REMOVED.git-id new file mode 100644 index 00000000..60963879 --- /dev/null +++ b/public/icon.ico.REMOVED.git-id @@ -0,0 +1 @@ +765befd0f1a28fd44f383630c777dcd91a6b8dd7 \ No newline at end of file diff --git a/public/index.html b/public/index.html index 59293660..6004dc20 100644 --- a/public/index.html +++ b/public/index.html @@ -4,14 +4,176 @@ - - d2 + + <%= VUE_APP_TITLE %> + + -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
加载中
+
欢迎使用 D2Admin 开发,初次加载会比较慢,请耐心等待
+
如果很久很久都没有加载成功,请清空缓存重新加载页面
+
+ Github仓库 + 中文文档 +
+
+
diff --git a/public/theme/line/bg.jpg.REMOVED.git-id b/public/theme/line/bg.jpg.REMOVED.git-id new file mode 100644 index 00000000..22b3d28d --- /dev/null +++ b/public/theme/line/bg.jpg.REMOVED.git-id @@ -0,0 +1 @@ +4945760143bfdf609d363ea8f87dfd81b8aa7e97 \ No newline at end of file diff --git a/public/theme/line/preview@2x.png.REMOVED.git-id b/public/theme/line/preview@2x.png.REMOVED.git-id new file mode 100644 index 00000000..e37e4c17 --- /dev/null +++ b/public/theme/line/preview@2x.png.REMOVED.git-id @@ -0,0 +1 @@ +3b635a3b6fe74b65df2a0dac75277273a4677a8a \ No newline at end of file diff --git a/public/theme/star/bg.jpg.REMOVED.git-id b/public/theme/star/bg.jpg.REMOVED.git-id new file mode 100644 index 00000000..a92af6df --- /dev/null +++ b/public/theme/star/bg.jpg.REMOVED.git-id @@ -0,0 +1 @@ +2176e399086eda9e0aa2e22640a4b2229d0dd4ba \ No newline at end of file diff --git a/public/theme/star/preview@2x.png.REMOVED.git-id b/public/theme/star/preview@2x.png.REMOVED.git-id new file mode 100644 index 00000000..84590218 --- /dev/null +++ b/public/theme/star/preview@2x.png.REMOVED.git-id @@ -0,0 +1 @@ +f6e4ccc6c5050f115701098af8a91da2bd8897d2 \ No newline at end of file diff --git a/public/theme/violet/preview@2x.png.REMOVED.git-id b/public/theme/violet/preview@2x.png.REMOVED.git-id new file mode 100644 index 00000000..a364e035 --- /dev/null +++ b/public/theme/violet/preview@2x.png.REMOVED.git-id @@ -0,0 +1 @@ +a0c6a076d98c72a1744a9240c6a449d8806f3334 \ No newline at end of file diff --git a/src/App.vue b/src/App.vue index f300d4b4..4d9876b9 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,29 +1,15 @@ + + diff --git a/src/assets/icons/index.js b/src/assets/icons/index.js new file mode 100644 index 00000000..34a43be4 --- /dev/null +++ b/src/assets/icons/index.js @@ -0,0 +1,7 @@ +import Vue from 'vue' + +const requireAll = requireContext => requireContext.keys().map(requireContext) +const req = require.context('./svg', false, /\.svg$/) +const iconMap = requireAll(req) + +Vue.prototype.$IconSvg = iconMap.map(e => e.default.id.slice(3)) diff --git a/src/assets/icons/svg/信息.svg b/src/assets/icons/svg/信息.svg new file mode 100644 index 00000000..828cfd86 --- /dev/null +++ b/src/assets/icons/svg/信息.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/分享.svg b/src/assets/icons/svg/分享.svg new file mode 100644 index 00000000..b0dbe7f1 --- /dev/null +++ b/src/assets/icons/svg/分享.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/历史.svg b/src/assets/icons/svg/历史.svg new file mode 100644 index 00000000..db146145 --- /dev/null +++ b/src/assets/icons/svg/历史.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/喜欢.svg b/src/assets/icons/svg/喜欢.svg new file mode 100644 index 00000000..09833060 --- /dev/null +++ b/src/assets/icons/svg/喜欢.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/提醒.svg b/src/assets/icons/svg/提醒.svg new file mode 100644 index 00000000..c8fc6365 --- /dev/null +++ b/src/assets/icons/svg/提醒.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/搜索.svg b/src/assets/icons/svg/搜索.svg new file mode 100644 index 00000000..c5a1b2b3 --- /dev/null +++ b/src/assets/icons/svg/搜索.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/星标.svg b/src/assets/icons/svg/星标.svg new file mode 100644 index 00000000..c3010907 --- /dev/null +++ b/src/assets/icons/svg/星标.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/添加.svg b/src/assets/icons/svg/添加.svg new file mode 100644 index 00000000..7d29bd88 --- /dev/null +++ b/src/assets/icons/svg/添加.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/点赞.svg b/src/assets/icons/svg/点赞.svg new file mode 100644 index 00000000..7d81c7cb --- /dev/null +++ b/src/assets/icons/svg/点赞.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/用户.svg b/src/assets/icons/svg/用户.svg new file mode 100644 index 00000000..ce7b9f75 --- /dev/null +++ b/src/assets/icons/svg/用户.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/相机.svg b/src/assets/icons/svg/相机.svg new file mode 100644 index 00000000..ea79a254 --- /dev/null +++ b/src/assets/icons/svg/相机.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/闹钟.svg b/src/assets/icons/svg/闹钟.svg new file mode 100644 index 00000000..5878dd72 --- /dev/null +++ b/src/assets/icons/svg/闹钟.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/image/contact/qq.jpg.REMOVED.git-id b/src/assets/image/contact/qq.jpg.REMOVED.git-id new file mode 100644 index 00000000..a957a237 --- /dev/null +++ b/src/assets/image/contact/qq.jpg.REMOVED.git-id @@ -0,0 +1 @@ +b27de32f6832b50dc5b8b1dc613060a81f88a8e9 \ No newline at end of file diff --git a/src/assets/image/contact/we.jpg.REMOVED.git-id b/src/assets/image/contact/we.jpg.REMOVED.git-id new file mode 100644 index 00000000..b485920f --- /dev/null +++ b/src/assets/image/contact/we.jpg.REMOVED.git-id @@ -0,0 +1 @@ +12bb778e8779f32a46ee756e6dbb890024b40f5d \ No newline at end of file diff --git a/src/assets/image/icon/page-cover/business.png.REMOVED.git-id b/src/assets/image/icon/page-cover/business.png.REMOVED.git-id new file mode 100644 index 00000000..ee243972 --- /dev/null +++ b/src/assets/image/icon/page-cover/business.png.REMOVED.git-id @@ -0,0 +1 @@ +a1769158eef957254cf426030bf0b297863c3e2e \ No newline at end of file diff --git a/src/assets/image/icon/page-cover/charts.png.REMOVED.git-id b/src/assets/image/icon/page-cover/charts.png.REMOVED.git-id new file mode 100644 index 00000000..914a75f7 --- /dev/null +++ b/src/assets/image/icon/page-cover/charts.png.REMOVED.git-id @@ -0,0 +1 @@ +5ad0be3e886c5ecb07a563adbd7ffa5963697b66 \ No newline at end of file diff --git a/src/assets/image/icon/page-cover/component.png.REMOVED.git-id b/src/assets/image/icon/page-cover/component.png.REMOVED.git-id new file mode 100644 index 00000000..04239e6f --- /dev/null +++ b/src/assets/image/icon/page-cover/component.png.REMOVED.git-id @@ -0,0 +1 @@ +31ff16c63c96f981d32bd0f3a8771424ed7ffa84 \ No newline at end of file diff --git a/src/assets/image/icon/page-cover/d2admin.png.REMOVED.git-id b/src/assets/image/icon/page-cover/d2admin.png.REMOVED.git-id new file mode 100644 index 00000000..b6991139 --- /dev/null +++ b/src/assets/image/icon/page-cover/d2admin.png.REMOVED.git-id @@ -0,0 +1 @@ +f29a9f7890b5e19744437a623f72248bb9698bb3 \ No newline at end of file diff --git a/src/assets/image/icon/page-cover/element.png.REMOVED.git-id b/src/assets/image/icon/page-cover/element.png.REMOVED.git-id new file mode 100644 index 00000000..3849adbf --- /dev/null +++ b/src/assets/image/icon/page-cover/element.png.REMOVED.git-id @@ -0,0 +1 @@ +96116cf6cd5a5755048348977ceaffcc3ab7b0c9 \ No newline at end of file diff --git a/src/assets/image/icon/page-cover/playground.png.REMOVED.git-id b/src/assets/image/icon/page-cover/playground.png.REMOVED.git-id new file mode 100644 index 00000000..5a09c7c4 --- /dev/null +++ b/src/assets/image/icon/page-cover/playground.png.REMOVED.git-id @@ -0,0 +1 @@ +e995956a468c8bb1151a6ea5cb321dbc0ea0f0b9 \ No newline at end of file diff --git a/src/assets/image/icon/page-cover/plugin.png.REMOVED.git-id b/src/assets/image/icon/page-cover/plugin.png.REMOVED.git-id new file mode 100644 index 00000000..71ad12f0 --- /dev/null +++ b/src/assets/image/icon/page-cover/plugin.png.REMOVED.git-id @@ -0,0 +1 @@ +3487ff9b41bdc4e556fe1dec04176c98c388272c \ No newline at end of file diff --git a/src/assets/image/icon/page-cover/setting.png.REMOVED.git-id b/src/assets/image/icon/page-cover/setting.png.REMOVED.git-id new file mode 100644 index 00000000..a03c2440 --- /dev/null +++ b/src/assets/image/icon/page-cover/setting.png.REMOVED.git-id @@ -0,0 +1 @@ +9851294b2913d958bb04963a36bd096527b0f506 \ No newline at end of file diff --git a/src/assets/image/logo/w500.png.REMOVED.git-id b/src/assets/image/logo/w500.png.REMOVED.git-id new file mode 100644 index 00000000..b6991139 --- /dev/null +++ b/src/assets/image/logo/w500.png.REMOVED.git-id @@ -0,0 +1 @@ +f29a9f7890b5e19744437a623f72248bb9698bb3 \ No newline at end of file diff --git a/src/assets/image/page/404/cover@2x.png.REMOVED.git-id b/src/assets/image/page/404/cover@2x.png.REMOVED.git-id new file mode 100644 index 00000000..79cb9eea --- /dev/null +++ b/src/assets/image/page/404/cover@2x.png.REMOVED.git-id @@ -0,0 +1 @@ +139f15ecdee8d06f66d7fb57a30f6ec9e76b6103 \ No newline at end of file diff --git a/src/assets/library/font-awesome-4.7.0-icon/icon.js.REMOVED.git-id b/src/assets/library/font-awesome-4.7.0-icon/icon.js.REMOVED.git-id new file mode 100644 index 00000000..dea44d69 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0-icon/icon.js.REMOVED.git-id @@ -0,0 +1 @@ +822e9d488a148a997d7098a0608f482ab9f9fb7a \ No newline at end of file diff --git a/src/assets/library/font-awesome-4.7.0/HELP-US-OUT.txt b/src/assets/library/font-awesome-4.7.0/HELP-US-OUT.txt new file mode 100644 index 00000000..83d083dd --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/HELP-US-OUT.txt @@ -0,0 +1,7 @@ +I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, +Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, +comprehensive icon sets or copy and paste your own. + +Please. Check it out. + +-Dave Gandy diff --git a/src/assets/library/font-awesome-4.7.0/css/font-awesome.css.REMOVED.git-id b/src/assets/library/font-awesome-4.7.0/css/font-awesome.css.REMOVED.git-id new file mode 100644 index 00000000..4f4b6e56 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/css/font-awesome.css.REMOVED.git-id @@ -0,0 +1 @@ +58167d704dd675c5205471b4ec28cfaf5d54f2f6 \ No newline at end of file diff --git a/src/assets/library/font-awesome-4.7.0/css/font-awesome.min.css.REMOVED.git-id b/src/assets/library/font-awesome-4.7.0/css/font-awesome.min.css.REMOVED.git-id new file mode 100644 index 00000000..11557b0f --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/css/font-awesome.min.css.REMOVED.git-id @@ -0,0 +1 @@ +4fe37fedf35f9df6259a1bf841d11aa11e9a00e2 \ No newline at end of file diff --git a/src/assets/library/font-awesome-4.7.0/fonts/FontAwesome.otf.REMOVED.git-id b/src/assets/library/font-awesome-4.7.0/fonts/FontAwesome.otf.REMOVED.git-id new file mode 100644 index 00000000..44d928d3 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/fonts/FontAwesome.otf.REMOVED.git-id @@ -0,0 +1 @@ +401ec0f36e4f73b8efa40bd6f604fe80d286db70 \ No newline at end of file diff --git a/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.eot.REMOVED.git-id b/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.eot.REMOVED.git-id new file mode 100644 index 00000000..cd56730a --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.eot.REMOVED.git-id @@ -0,0 +1 @@ +e9f60ca953f93e35eab4108bd414bc02ddcf3928 \ No newline at end of file diff --git a/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.svg.REMOVED.git-id b/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.svg.REMOVED.git-id new file mode 100644 index 00000000..9fe56c70 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.svg.REMOVED.git-id @@ -0,0 +1 @@ +855c845e538b65548118279537a04eab2ec6ef0d \ No newline at end of file diff --git a/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf.REMOVED.git-id b/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf.REMOVED.git-id new file mode 100644 index 00000000..4d8cdba6 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf.REMOVED.git-id @@ -0,0 +1 @@ +35acda2fa1196aad98c2adf4378a7611dd713aa3 \ No newline at end of file diff --git a/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.woff.REMOVED.git-id b/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.woff.REMOVED.git-id new file mode 100644 index 00000000..0eaf735f --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.woff.REMOVED.git-id @@ -0,0 +1 @@ +400014a4b06eee3d0c0d54402a47ab2601b2862b \ No newline at end of file diff --git a/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2.REMOVED.git-id b/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2.REMOVED.git-id new file mode 100644 index 00000000..a252c5bb --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2.REMOVED.git-id @@ -0,0 +1 @@ +4d13fc60404b91e398a37200c4a77b645cfd9586 \ No newline at end of file diff --git a/src/assets/library/font-awesome-4.7.0/less/animated.less b/src/assets/library/font-awesome-4.7.0/less/animated.less new file mode 100644 index 00000000..66ad52a5 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/less/animated.less @@ -0,0 +1,34 @@ +// Animated Icons +// -------------------------- + +.@{fa-css-prefix}-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.@{fa-css-prefix}-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/src/assets/library/font-awesome-4.7.0/less/bordered-pulled.less b/src/assets/library/font-awesome-4.7.0/less/bordered-pulled.less new file mode 100644 index 00000000..f1c8ad75 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/less/bordered-pulled.less @@ -0,0 +1,25 @@ +// Bordered & Pulled +// ------------------------- + +.@{fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em @fa-border-color; + border-radius: .1em; +} + +.@{fa-css-prefix}-pull-left { float: left; } +.@{fa-css-prefix}-pull-right { float: right; } + +.@{fa-css-prefix} { + &.@{fa-css-prefix}-pull-left { margin-right: .3em; } + &.@{fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ +.pull-right { float: right; } +.pull-left { float: left; } + +.@{fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/src/assets/library/font-awesome-4.7.0/less/core.less b/src/assets/library/font-awesome-4.7.0/less/core.less new file mode 100644 index 00000000..c577ac84 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/less/core.less @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.@{fa-css-prefix} { + display: inline-block; + font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} diff --git a/src/assets/library/font-awesome-4.7.0/less/fixed-width.less b/src/assets/library/font-awesome-4.7.0/less/fixed-width.less new file mode 100644 index 00000000..110289f2 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/less/fixed-width.less @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.@{fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/src/assets/library/font-awesome-4.7.0/less/font-awesome.less b/src/assets/library/font-awesome-4.7.0/less/font-awesome.less new file mode 100644 index 00000000..c3677def --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/less/font-awesome.less @@ -0,0 +1,18 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables.less"; +@import "mixins.less"; +@import "path.less"; +@import "core.less"; +@import "larger.less"; +@import "fixed-width.less"; +@import "list.less"; +@import "bordered-pulled.less"; +@import "animated.less"; +@import "rotated-flipped.less"; +@import "stacked.less"; +@import "icons.less"; +@import "screen-reader.less"; diff --git a/src/assets/library/font-awesome-4.7.0/less/icons.less.REMOVED.git-id b/src/assets/library/font-awesome-4.7.0/less/icons.less.REMOVED.git-id new file mode 100644 index 00000000..569da2bd --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/less/icons.less.REMOVED.git-id @@ -0,0 +1 @@ +159d600425c73c282be34f94af12179f091a16d2 \ No newline at end of file diff --git a/src/assets/library/font-awesome-4.7.0/less/larger.less b/src/assets/library/font-awesome-4.7.0/less/larger.less new file mode 100644 index 00000000..c9d64677 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/less/larger.less @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.@{fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.@{fa-css-prefix}-2x { font-size: 2em; } +.@{fa-css-prefix}-3x { font-size: 3em; } +.@{fa-css-prefix}-4x { font-size: 4em; } +.@{fa-css-prefix}-5x { font-size: 5em; } diff --git a/src/assets/library/font-awesome-4.7.0/less/list.less b/src/assets/library/font-awesome-4.7.0/less/list.less new file mode 100644 index 00000000..0b440382 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/less/list.less @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.@{fa-css-prefix}-ul { + padding-left: 0; + margin-left: @fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.@{fa-css-prefix}-li { + position: absolute; + left: -@fa-li-width; + width: @fa-li-width; + top: (2em / 14); + text-align: center; + &.@{fa-css-prefix}-lg { + left: (-@fa-li-width + (4em / 14)); + } +} diff --git a/src/assets/library/font-awesome-4.7.0/less/mixins.less b/src/assets/library/font-awesome-4.7.0/less/mixins.less new file mode 100644 index 00000000..beef231d --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/less/mixins.less @@ -0,0 +1,60 @@ +// Mixins +// -------------------------- + +.fa-icon() { + display: inline-block; + font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +.fa-icon-rotate(@degrees, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; + -webkit-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + transform: rotate(@degrees); +} + +.fa-icon-flip(@horiz, @vert, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; + -webkit-transform: scale(@horiz, @vert); + -ms-transform: scale(@horiz, @vert); + transform: scale(@horiz, @vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +.sr-only() { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +.sr-only-focusable() { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/src/assets/library/font-awesome-4.7.0/less/path.less b/src/assets/library/font-awesome-4.7.0/less/path.less new file mode 100644 index 00000000..835be41f --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/less/path.less @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); + src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), + url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), + url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), + url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), + url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); + // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/src/assets/library/font-awesome-4.7.0/less/rotated-flipped.less b/src/assets/library/font-awesome-4.7.0/less/rotated-flipped.less new file mode 100644 index 00000000..f6ba8147 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/less/rotated-flipped.less @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } +.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } +.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } + +.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } +.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .@{fa-css-prefix}-rotate-90, +:root .@{fa-css-prefix}-rotate-180, +:root .@{fa-css-prefix}-rotate-270, +:root .@{fa-css-prefix}-flip-horizontal, +:root .@{fa-css-prefix}-flip-vertical { + filter: none; +} diff --git a/src/assets/library/font-awesome-4.7.0/less/screen-reader.less b/src/assets/library/font-awesome-4.7.0/less/screen-reader.less new file mode 100644 index 00000000..11c18819 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/less/screen-reader.less @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { .sr-only(); } +.sr-only-focusable { .sr-only-focusable(); } diff --git a/src/assets/library/font-awesome-4.7.0/less/stacked.less b/src/assets/library/font-awesome-4.7.0/less/stacked.less new file mode 100644 index 00000000..fc53fb0e --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/less/stacked.less @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.@{fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.@{fa-css-prefix}-stack-1x { line-height: inherit; } +.@{fa-css-prefix}-stack-2x { font-size: 2em; } +.@{fa-css-prefix}-inverse { color: @fa-inverse; } diff --git a/src/assets/library/font-awesome-4.7.0/less/variables.less.REMOVED.git-id b/src/assets/library/font-awesome-4.7.0/less/variables.less.REMOVED.git-id new file mode 100644 index 00000000..03e96eb1 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/less/variables.less.REMOVED.git-id @@ -0,0 +1 @@ +7ddbbc0115f5b017bae9f401651f00d824a396b2 \ No newline at end of file diff --git a/src/assets/library/font-awesome-4.7.0/scss/_animated.scss b/src/assets/library/font-awesome-4.7.0/scss/_animated.scss new file mode 100644 index 00000000..8a020dbf --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/scss/_animated.scss @@ -0,0 +1,34 @@ +// Spinning Icons +// -------------------------- + +.#{$fa-css-prefix}-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.#{$fa-css-prefix}-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/src/assets/library/font-awesome-4.7.0/scss/_bordered-pulled.scss b/src/assets/library/font-awesome-4.7.0/scss/_bordered-pulled.scss new file mode 100644 index 00000000..d4b85a02 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/scss/_bordered-pulled.scss @@ -0,0 +1,25 @@ +// Bordered & Pulled +// ------------------------- + +.#{$fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em $fa-border-color; + border-radius: .1em; +} + +.#{$fa-css-prefix}-pull-left { float: left; } +.#{$fa-css-prefix}-pull-right { float: right; } + +.#{$fa-css-prefix} { + &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } + &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ +.pull-right { float: right; } +.pull-left { float: left; } + +.#{$fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/src/assets/library/font-awesome-4.7.0/scss/_core.scss b/src/assets/library/font-awesome-4.7.0/scss/_core.scss new file mode 100644 index 00000000..7425ef85 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/scss/_core.scss @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.#{$fa-css-prefix} { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} diff --git a/src/assets/library/font-awesome-4.7.0/scss/_fixed-width.scss b/src/assets/library/font-awesome-4.7.0/scss/_fixed-width.scss new file mode 100644 index 00000000..b221c981 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/scss/_fixed-width.scss @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.#{$fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/src/assets/library/font-awesome-4.7.0/scss/_icons.scss.REMOVED.git-id b/src/assets/library/font-awesome-4.7.0/scss/_icons.scss.REMOVED.git-id new file mode 100644 index 00000000..8eb1f301 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/scss/_icons.scss.REMOVED.git-id @@ -0,0 +1 @@ +e63e702c4d9c28fb78922cefa5daf91858b12c9a \ No newline at end of file diff --git a/src/assets/library/font-awesome-4.7.0/scss/_larger.scss b/src/assets/library/font-awesome-4.7.0/scss/_larger.scss new file mode 100644 index 00000000..41e9a818 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/scss/_larger.scss @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.#{$fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.#{$fa-css-prefix}-2x { font-size: 2em; } +.#{$fa-css-prefix}-3x { font-size: 3em; } +.#{$fa-css-prefix}-4x { font-size: 4em; } +.#{$fa-css-prefix}-5x { font-size: 5em; } diff --git a/src/assets/library/font-awesome-4.7.0/scss/_list.scss b/src/assets/library/font-awesome-4.7.0/scss/_list.scss new file mode 100644 index 00000000..7d1e4d54 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/scss/_list.scss @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.#{$fa-css-prefix}-ul { + padding-left: 0; + margin-left: $fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.#{$fa-css-prefix}-li { + position: absolute; + left: -$fa-li-width; + width: $fa-li-width; + top: (2em / 14); + text-align: center; + &.#{$fa-css-prefix}-lg { + left: -$fa-li-width + (4em / 14); + } +} diff --git a/src/assets/library/font-awesome-4.7.0/scss/_mixins.scss b/src/assets/library/font-awesome-4.7.0/scss/_mixins.scss new file mode 100644 index 00000000..c3bbd574 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/scss/_mixins.scss @@ -0,0 +1,60 @@ +// Mixins +// -------------------------- + +@mixin fa-icon() { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +@mixin fa-icon-rotate($degrees, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; + -webkit-transform: rotate($degrees); + -ms-transform: rotate($degrees); + transform: rotate($degrees); +} + +@mixin fa-icon-flip($horiz, $vert, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; + -webkit-transform: scale($horiz, $vert); + -ms-transform: scale($horiz, $vert); + transform: scale($horiz, $vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +@mixin sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +@mixin sr-only-focusable { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/src/assets/library/font-awesome-4.7.0/scss/_path.scss b/src/assets/library/font-awesome-4.7.0/scss/_path.scss new file mode 100644 index 00000000..bb457c23 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/scss/_path.scss @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); + src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), + url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), + url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), + url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), + url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); +// src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/src/assets/library/font-awesome-4.7.0/scss/_rotated-flipped.scss b/src/assets/library/font-awesome-4.7.0/scss/_rotated-flipped.scss new file mode 100644 index 00000000..a3558fd0 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/scss/_rotated-flipped.scss @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } +.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } +.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } + +.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } +.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .#{$fa-css-prefix}-rotate-90, +:root .#{$fa-css-prefix}-rotate-180, +:root .#{$fa-css-prefix}-rotate-270, +:root .#{$fa-css-prefix}-flip-horizontal, +:root .#{$fa-css-prefix}-flip-vertical { + filter: none; +} diff --git a/src/assets/library/font-awesome-4.7.0/scss/_screen-reader.scss b/src/assets/library/font-awesome-4.7.0/scss/_screen-reader.scss new file mode 100644 index 00000000..637426f0 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/scss/_screen-reader.scss @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { @include sr-only(); } +.sr-only-focusable { @include sr-only-focusable(); } diff --git a/src/assets/library/font-awesome-4.7.0/scss/_stacked.scss b/src/assets/library/font-awesome-4.7.0/scss/_stacked.scss new file mode 100644 index 00000000..aef74036 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/scss/_stacked.scss @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.#{$fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.#{$fa-css-prefix}-stack-1x { line-height: inherit; } +.#{$fa-css-prefix}-stack-2x { font-size: 2em; } +.#{$fa-css-prefix}-inverse { color: $fa-inverse; } diff --git a/src/assets/library/font-awesome-4.7.0/scss/_variables.scss.REMOVED.git-id b/src/assets/library/font-awesome-4.7.0/scss/_variables.scss.REMOVED.git-id new file mode 100644 index 00000000..a9e9de93 --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/scss/_variables.scss.REMOVED.git-id @@ -0,0 +1 @@ +498fc4a087c614614166df2e9f08bb5e0071daf4 \ No newline at end of file diff --git a/src/assets/library/font-awesome-4.7.0/scss/font-awesome.scss b/src/assets/library/font-awesome-4.7.0/scss/font-awesome.scss new file mode 100644 index 00000000..f1c83aaa --- /dev/null +++ b/src/assets/library/font-awesome-4.7.0/scss/font-awesome.scss @@ -0,0 +1,18 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables"; +@import "mixins"; +@import "path"; +@import "core"; +@import "larger"; +@import "fixed-width"; +@import "list"; +@import "bordered-pulled"; +@import "animated"; +@import "rotated-flipped"; +@import "stacked"; +@import "icons"; +@import "screen-reader"; diff --git a/src/assets/library/highlight/styles/agate.css b/src/assets/library/highlight/styles/agate.css new file mode 100644 index 00000000..8d64547c --- /dev/null +++ b/src/assets/library/highlight/styles/agate.css @@ -0,0 +1,108 @@ +/*! + * Agate by Taufik Nurrohman + * ---------------------------------------------------- + * + * #ade5fc + * #a2fca2 + * #c6b4f0 + * #d36363 + * #fcc28c + * #fc9b9b + * #ffa + * #fff + * #333 + * #62c8f3 + * #888 + * + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #333; + color: white; +} + +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-code, +.hljs-emphasis { + font-style: italic; +} + +.hljs-tag { + color: #62c8f3; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-selector-id, +.hljs-selector-class { + color: #ade5fc; +} + +.hljs-string, +.hljs-bullet { + color: #a2fca2; +} + +.hljs-type, +.hljs-title, +.hljs-section, +.hljs-attribute, +.hljs-quote, +.hljs-built_in, +.hljs-builtin-name { + color: #ffa; +} + +.hljs-number, +.hljs-symbol, +.hljs-bullet { + color: #d36363; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color: #fcc28c; +} + +.hljs-comment, +.hljs-deletion, +.hljs-code { + color: #888; +} + +.hljs-regexp, +.hljs-link { + color: #c6b4f0; +} + +.hljs-meta { + color: #fc9b9b; +} + +.hljs-deletion { + background-color: #fc9b9b; + color: #333; +} + +.hljs-addition { + background-color: #a2fca2; + color: #333; +} + +.hljs a { + color: inherit; +} + +.hljs a:focus, +.hljs a:hover { + color: inherit; + text-decoration: underline; +} diff --git a/src/assets/library/highlight/styles/androidstudio.css b/src/assets/library/highlight/styles/androidstudio.css new file mode 100644 index 00000000..bc8e473b --- /dev/null +++ b/src/assets/library/highlight/styles/androidstudio.css @@ -0,0 +1,66 @@ +/* +Date: 24 Fev 2015 +Author: Pedro Oliveira +*/ + +.hljs { + color: #a9b7c6; + background: #282b2e; + display: block; + overflow-x: auto; + padding: 0.5em; +} + +.hljs-number, +.hljs-literal, +.hljs-symbol, +.hljs-bullet { + color: #6897BB; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-deletion { + color: #cc7832; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-link { + color: #629755; +} + +.hljs-comment, +.hljs-quote { + color: #808080; +} + +.hljs-meta { + color: #bbb529; +} + +.hljs-string, +.hljs-attribute, +.hljs-addition { + color: #6A8759; +} + +.hljs-section, +.hljs-title, +.hljs-type { + color: #ffc66d; +} + +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e8bf6a; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/arduino-light.css b/src/assets/library/highlight/styles/arduino-light.css new file mode 100644 index 00000000..4b8b7fd3 --- /dev/null +++ b/src/assets/library/highlight/styles/arduino-light.css @@ -0,0 +1,88 @@ +/* + +Arduino® Light Theme - Stefania Mellai + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #FFFFFF; +} + +.hljs, +.hljs-subst { + color: #434f54; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-doctag, +.hljs-name { + color: #00979D; +} + +.hljs-built_in, +.hljs-literal, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #D35400; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #00979D; +} + +.hljs-type, +.hljs-string, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #005C5F; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-comment { + color: rgba(149,165,166,.8); +} + +.hljs-meta-keyword { + color: #728E00; +} + +.hljs-meta { + color: #728E00; + color: #434f54; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-function { + color: #728E00; +} + +.hljs-number { + color: #8A7B52; +} diff --git a/src/assets/library/highlight/styles/arta.css b/src/assets/library/highlight/styles/arta.css new file mode 100644 index 00000000..75ef3a9e --- /dev/null +++ b/src/assets/library/highlight/styles/arta.css @@ -0,0 +1,73 @@ +/* +Date: 17.V.2011 +Author: pumbur +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #222; +} + +.hljs, +.hljs-subst { + color: #aaa; +} + +.hljs-section { + color: #fff; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #444; +} + +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-regexp { + color: #ffcc33; +} + +.hljs-number, +.hljs-addition { + color: #00cc66; +} + +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-template-variable, +.hljs-attribute, +.hljs-link { + color: #32aaee; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #6644aa; +} + +.hljs-title, +.hljs-variable, +.hljs-deletion, +.hljs-template-tag { + color: #bb1166; +} + +.hljs-section, +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/src/assets/library/highlight/styles/ascetic.css b/src/assets/library/highlight/styles/ascetic.css new file mode 100644 index 00000000..48397e88 --- /dev/null +++ b/src/assets/library/highlight/styles/ascetic.css @@ -0,0 +1,45 @@ +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-symbol, +.hljs-bullet, +.hljs-section, +.hljs-addition, +.hljs-attribute, +.hljs-link { + color: #888; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta, +.hljs-deletion { + color: #ccc; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-name, +.hljs-type, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/src/assets/library/highlight/styles/atelier-cave-dark.css b/src/assets/library/highlight/styles/atelier-cave-dark.css new file mode 100644 index 00000000..65428f3b --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-cave-dark.css @@ -0,0 +1,83 @@ +/* Base16 Atelier Cave Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Cave Comment */ +.hljs-comment, +.hljs-quote { + color: #7e7887; +} + +/* Atelier-Cave Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-regexp, +.hljs-link, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #be4678; +} + +/* Atelier-Cave Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #aa573c; +} + +/* Atelier-Cave Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #2a9292; +} + +/* Atelier-Cave Blue */ +.hljs-title, +.hljs-section { + color: #576ddb; +} + +/* Atelier-Cave Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #955ae7; +} + +.hljs-deletion, +.hljs-addition { + color: #19171c; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #be4678; +} + +.hljs-addition { + background-color: #2a9292; +} + +.hljs { + display: block; + overflow-x: auto; + background: #19171c; + color: #8b8792; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-cave-light.css b/src/assets/library/highlight/styles/atelier-cave-light.css new file mode 100644 index 00000000..b419f9fd --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-cave-light.css @@ -0,0 +1,85 @@ +/* Base16 Atelier Cave Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Cave Comment */ +.hljs-comment, +.hljs-quote { + color: #655f6d; +} + +/* Atelier-Cave Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #be4678; +} + +/* Atelier-Cave Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #aa573c; +} + +/* Atelier-Cave Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #2a9292; +} + +/* Atelier-Cave Blue */ +.hljs-title, +.hljs-section { + color: #576ddb; +} + +/* Atelier-Cave Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #955ae7; +} + +.hljs-deletion, +.hljs-addition { + color: #19171c; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #be4678; +} + +.hljs-addition { + background-color: #2a9292; +} + +.hljs { + display: block; + overflow-x: auto; + background: #efecf4; + color: #585260; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-dune-dark.css b/src/assets/library/highlight/styles/atelier-dune-dark.css new file mode 100644 index 00000000..1684f522 --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-dune-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Dune Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Dune Comment */ +.hljs-comment, +.hljs-quote { + color: #999580; +} + +/* Atelier-Dune Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d73737; +} + +/* Atelier-Dune Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b65611; +} + +/* Atelier-Dune Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #60ac39; +} + +/* Atelier-Dune Blue */ +.hljs-title, +.hljs-section { + color: #6684e1; +} + +/* Atelier-Dune Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b854d4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #20201d; + color: #a6a28c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-dune-light.css b/src/assets/library/highlight/styles/atelier-dune-light.css new file mode 100644 index 00000000..547719de --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-dune-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Dune Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Dune Comment */ +.hljs-comment, +.hljs-quote { + color: #7d7a68; +} + +/* Atelier-Dune Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d73737; +} + +/* Atelier-Dune Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b65611; +} + +/* Atelier-Dune Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #60ac39; +} + +/* Atelier-Dune Blue */ +.hljs-title, +.hljs-section { + color: #6684e1; +} + +/* Atelier-Dune Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b854d4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #fefbec; + color: #6e6b5e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-estuary-dark.css b/src/assets/library/highlight/styles/atelier-estuary-dark.css new file mode 100644 index 00000000..a5e50718 --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-estuary-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Estuary Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Estuary Comment */ +.hljs-comment, +.hljs-quote { + color: #878573; +} + +/* Atelier-Estuary Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ba6236; +} + +/* Atelier-Estuary Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ae7313; +} + +/* Atelier-Estuary Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7d9726; +} + +/* Atelier-Estuary Blue */ +.hljs-title, +.hljs-section { + color: #36a166; +} + +/* Atelier-Estuary Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #5f9182; +} + +.hljs-deletion, +.hljs-addition { + color: #22221b; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ba6236; +} + +.hljs-addition { + background-color: #7d9726; +} + +.hljs { + display: block; + overflow-x: auto; + background: #22221b; + color: #929181; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-estuary-light.css b/src/assets/library/highlight/styles/atelier-estuary-light.css new file mode 100644 index 00000000..1daee5d9 --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-estuary-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Estuary Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Estuary Comment */ +.hljs-comment, +.hljs-quote { + color: #6c6b5a; +} + +/* Atelier-Estuary Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ba6236; +} + +/* Atelier-Estuary Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ae7313; +} + +/* Atelier-Estuary Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7d9726; +} + +/* Atelier-Estuary Blue */ +.hljs-title, +.hljs-section { + color: #36a166; +} + +/* Atelier-Estuary Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #5f9182; +} + +.hljs-deletion, +.hljs-addition { + color: #22221b; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ba6236; +} + +.hljs-addition { + background-color: #7d9726; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4f3ec; + color: #5f5e4e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-forest-dark.css b/src/assets/library/highlight/styles/atelier-forest-dark.css new file mode 100644 index 00000000..0ef4fae3 --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-forest-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Forest Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Forest Comment */ +.hljs-comment, +.hljs-quote { + color: #9c9491; +} + +/* Atelier-Forest Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #f22c40; +} + +/* Atelier-Forest Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #df5320; +} + +/* Atelier-Forest Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7b9726; +} + +/* Atelier-Forest Blue */ +.hljs-title, +.hljs-section { + color: #407ee7; +} + +/* Atelier-Forest Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6666ea; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b1918; + color: #a8a19f; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-forest-light.css b/src/assets/library/highlight/styles/atelier-forest-light.css new file mode 100644 index 00000000..bbedde18 --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-forest-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Forest Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Forest Comment */ +.hljs-comment, +.hljs-quote { + color: #766e6b; +} + +/* Atelier-Forest Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #f22c40; +} + +/* Atelier-Forest Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #df5320; +} + +/* Atelier-Forest Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7b9726; +} + +/* Atelier-Forest Blue */ +.hljs-title, +.hljs-section { + color: #407ee7; +} + +/* Atelier-Forest Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6666ea; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f1efee; + color: #68615e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-heath-dark.css b/src/assets/library/highlight/styles/atelier-heath-dark.css new file mode 100644 index 00000000..fe01ff72 --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-heath-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Heath Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Heath Comment */ +.hljs-comment, +.hljs-quote { + color: #9e8f9e; +} + +/* Atelier-Heath Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca402b; +} + +/* Atelier-Heath Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #a65926; +} + +/* Atelier-Heath Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #918b3b; +} + +/* Atelier-Heath Blue */ +.hljs-title, +.hljs-section { + color: #516aec; +} + +/* Atelier-Heath Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #7b59c0; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b181b; + color: #ab9bab; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-heath-light.css b/src/assets/library/highlight/styles/atelier-heath-light.css new file mode 100644 index 00000000..ee43786d --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-heath-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Heath Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Heath Comment */ +.hljs-comment, +.hljs-quote { + color: #776977; +} + +/* Atelier-Heath Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca402b; +} + +/* Atelier-Heath Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #a65926; +} + +/* Atelier-Heath Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #918b3b; +} + +/* Atelier-Heath Blue */ +.hljs-title, +.hljs-section { + color: #516aec; +} + +/* Atelier-Heath Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #7b59c0; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f7f3f7; + color: #695d69; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-lakeside-dark.css b/src/assets/library/highlight/styles/atelier-lakeside-dark.css new file mode 100644 index 00000000..a937d3bf --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-lakeside-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Lakeside Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Lakeside Comment */ +.hljs-comment, +.hljs-quote { + color: #7195a8; +} + +/* Atelier-Lakeside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d22d72; +} + +/* Atelier-Lakeside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #935c25; +} + +/* Atelier-Lakeside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #568c3b; +} + +/* Atelier-Lakeside Blue */ +.hljs-title, +.hljs-section { + color: #257fad; +} + +/* Atelier-Lakeside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6b6bb8; +} + +.hljs { + display: block; + overflow-x: auto; + background: #161b1d; + color: #7ea2b4; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-lakeside-light.css b/src/assets/library/highlight/styles/atelier-lakeside-light.css new file mode 100644 index 00000000..6c7e8f9e --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-lakeside-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Lakeside Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Lakeside Comment */ +.hljs-comment, +.hljs-quote { + color: #5a7b8c; +} + +/* Atelier-Lakeside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d22d72; +} + +/* Atelier-Lakeside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #935c25; +} + +/* Atelier-Lakeside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #568c3b; +} + +/* Atelier-Lakeside Blue */ +.hljs-title, +.hljs-section { + color: #257fad; +} + +/* Atelier-Lakeside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6b6bb8; +} + +.hljs { + display: block; + overflow-x: auto; + background: #ebf8ff; + color: #516d7b; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-plateau-dark.css b/src/assets/library/highlight/styles/atelier-plateau-dark.css new file mode 100644 index 00000000..3bb05269 --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-plateau-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Plateau Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Plateau Comment */ +.hljs-comment, +.hljs-quote { + color: #7e7777; +} + +/* Atelier-Plateau Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca4949; +} + +/* Atelier-Plateau Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b45a3c; +} + +/* Atelier-Plateau Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #4b8b8b; +} + +/* Atelier-Plateau Blue */ +.hljs-title, +.hljs-section { + color: #7272ca; +} + +/* Atelier-Plateau Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8464c4; +} + +.hljs-deletion, +.hljs-addition { + color: #1b1818; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ca4949; +} + +.hljs-addition { + background-color: #4b8b8b; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b1818; + color: #8a8585; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-plateau-light.css b/src/assets/library/highlight/styles/atelier-plateau-light.css new file mode 100644 index 00000000..5f0222be --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-plateau-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Plateau Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Plateau Comment */ +.hljs-comment, +.hljs-quote { + color: #655d5d; +} + +/* Atelier-Plateau Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca4949; +} + +/* Atelier-Plateau Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b45a3c; +} + +/* Atelier-Plateau Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #4b8b8b; +} + +/* Atelier-Plateau Blue */ +.hljs-title, +.hljs-section { + color: #7272ca; +} + +/* Atelier-Plateau Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8464c4; +} + +.hljs-deletion, +.hljs-addition { + color: #1b1818; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ca4949; +} + +.hljs-addition { + background-color: #4b8b8b; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4ecec; + color: #585050; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-savanna-dark.css b/src/assets/library/highlight/styles/atelier-savanna-dark.css new file mode 100644 index 00000000..38f83143 --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-savanna-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Savanna Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Savanna Comment */ +.hljs-comment, +.hljs-quote { + color: #78877d; +} + +/* Atelier-Savanna Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #b16139; +} + +/* Atelier-Savanna Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #9f713c; +} + +/* Atelier-Savanna Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #489963; +} + +/* Atelier-Savanna Blue */ +.hljs-title, +.hljs-section { + color: #478c90; +} + +/* Atelier-Savanna Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #55859b; +} + +.hljs-deletion, +.hljs-addition { + color: #171c19; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #b16139; +} + +.hljs-addition { + background-color: #489963; +} + +.hljs { + display: block; + overflow-x: auto; + background: #171c19; + color: #87928a; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-savanna-light.css b/src/assets/library/highlight/styles/atelier-savanna-light.css new file mode 100644 index 00000000..1ccd7c68 --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-savanna-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Savanna Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Savanna Comment */ +.hljs-comment, +.hljs-quote { + color: #5f6d64; +} + +/* Atelier-Savanna Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #b16139; +} + +/* Atelier-Savanna Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #9f713c; +} + +/* Atelier-Savanna Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #489963; +} + +/* Atelier-Savanna Blue */ +.hljs-title, +.hljs-section { + color: #478c90; +} + +/* Atelier-Savanna Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #55859b; +} + +.hljs-deletion, +.hljs-addition { + color: #171c19; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #b16139; +} + +.hljs-addition { + background-color: #489963; +} + +.hljs { + display: block; + overflow-x: auto; + background: #ecf4ee; + color: #526057; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-seaside-dark.css b/src/assets/library/highlight/styles/atelier-seaside-dark.css new file mode 100644 index 00000000..df29949c --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-seaside-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Seaside Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Seaside Comment */ +.hljs-comment, +.hljs-quote { + color: #809980; +} + +/* Atelier-Seaside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e6193c; +} + +/* Atelier-Seaside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #87711d; +} + +/* Atelier-Seaside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #29a329; +} + +/* Atelier-Seaside Blue */ +.hljs-title, +.hljs-section { + color: #3d62f5; +} + +/* Atelier-Seaside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ad2bee; +} + +.hljs { + display: block; + overflow-x: auto; + background: #131513; + color: #8ca68c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-seaside-light.css b/src/assets/library/highlight/styles/atelier-seaside-light.css new file mode 100644 index 00000000..9d960f29 --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-seaside-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Seaside Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Seaside Comment */ +.hljs-comment, +.hljs-quote { + color: #687d68; +} + +/* Atelier-Seaside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e6193c; +} + +/* Atelier-Seaside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #87711d; +} + +/* Atelier-Seaside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #29a329; +} + +/* Atelier-Seaside Blue */ +.hljs-title, +.hljs-section { + color: #3d62f5; +} + +/* Atelier-Seaside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ad2bee; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4fbf4; + color: #5e6e5e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-sulphurpool-dark.css b/src/assets/library/highlight/styles/atelier-sulphurpool-dark.css new file mode 100644 index 00000000..c2ab7938 --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-sulphurpool-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Sulphurpool Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Sulphurpool Comment */ +.hljs-comment, +.hljs-quote { + color: #898ea4; +} + +/* Atelier-Sulphurpool Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #c94922; +} + +/* Atelier-Sulphurpool Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #c76b29; +} + +/* Atelier-Sulphurpool Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #ac9739; +} + +/* Atelier-Sulphurpool Blue */ +.hljs-title, +.hljs-section { + color: #3d8fd1; +} + +/* Atelier-Sulphurpool Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6679cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #202746; + color: #979db4; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atelier-sulphurpool-light.css b/src/assets/library/highlight/styles/atelier-sulphurpool-light.css new file mode 100644 index 00000000..96c47d08 --- /dev/null +++ b/src/assets/library/highlight/styles/atelier-sulphurpool-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Sulphurpool Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Sulphurpool Comment */ +.hljs-comment, +.hljs-quote { + color: #6b7394; +} + +/* Atelier-Sulphurpool Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #c94922; +} + +/* Atelier-Sulphurpool Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #c76b29; +} + +/* Atelier-Sulphurpool Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #ac9739; +} + +/* Atelier-Sulphurpool Blue */ +.hljs-title, +.hljs-section { + color: #3d8fd1; +} + +/* Atelier-Sulphurpool Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6679cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f5f7ff; + color: #5e6687; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/atom-one-dark.css b/src/assets/library/highlight/styles/atom-one-dark.css new file mode 100644 index 00000000..1616aafe --- /dev/null +++ b/src/assets/library/highlight/styles/atom-one-dark.css @@ -0,0 +1,96 @@ +/* + +Atom One Dark by Daniel Gamage +Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax + +base: #282c34 +mono-1: #abb2bf +mono-2: #818896 +mono-3: #5c6370 +hue-1: #56b6c2 +hue-2: #61aeee +hue-3: #c678dd +hue-4: #98c379 +hue-5: #e06c75 +hue-5-2: #be5046 +hue-6: #d19a66 +hue-6-2: #e6c07b + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #abb2bf; + background: #282c34; +} + +.hljs-comment, +.hljs-quote { + color: #5c6370; + font-style: italic; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-formula { + color: #c678dd; +} + +.hljs-section, +.hljs-name, +.hljs-selector-tag, +.hljs-deletion, +.hljs-subst { + color: #e06c75; +} + +.hljs-literal { + color: #56b6c2; +} + +.hljs-string, +.hljs-regexp, +.hljs-addition, +.hljs-attribute, +.hljs-meta-string { + color: #98c379; +} + +.hljs-built_in, +.hljs-class .hljs-title { + color: #e6c07b; +} + +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-type, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-number { + color: #d19a66; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-title { + color: #61aeee; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/src/assets/library/highlight/styles/atom-one-light.css b/src/assets/library/highlight/styles/atom-one-light.css new file mode 100644 index 00000000..d5bd1d2a --- /dev/null +++ b/src/assets/library/highlight/styles/atom-one-light.css @@ -0,0 +1,96 @@ +/* + +Atom One Light by Daniel Gamage +Original One Light Syntax theme from https://github.com/atom/one-light-syntax + +base: #fafafa +mono-1: #383a42 +mono-2: #686b77 +mono-3: #a0a1a7 +hue-1: #0184bb +hue-2: #4078f2 +hue-3: #a626a4 +hue-4: #50a14f +hue-5: #e45649 +hue-5-2: #c91243 +hue-6: #986801 +hue-6-2: #c18401 + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #383a42; + background: #fafafa; +} + +.hljs-comment, +.hljs-quote { + color: #a0a1a7; + font-style: italic; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-formula { + color: #a626a4; +} + +.hljs-section, +.hljs-name, +.hljs-selector-tag, +.hljs-deletion, +.hljs-subst { + color: #e45649; +} + +.hljs-literal { + color: #0184bb; +} + +.hljs-string, +.hljs-regexp, +.hljs-addition, +.hljs-attribute, +.hljs-meta-string { + color: #50a14f; +} + +.hljs-built_in, +.hljs-class .hljs-title { + color: #c18401; +} + +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-type, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-number { + color: #986801; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-title { + color: #4078f2; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/src/assets/library/highlight/styles/brown-paper.css b/src/assets/library/highlight/styles/brown-paper.css new file mode 100644 index 00000000..f0197b92 --- /dev/null +++ b/src/assets/library/highlight/styles/brown-paper.css @@ -0,0 +1,64 @@ +/* + +Brown Paper style from goldblog.com.ua (c) Zaripov Yura + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background:#b7a68e url(./brown-papersq.png); +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color:#005599; + font-weight:bold; +} + +.hljs, +.hljs-subst { + color: #363c69; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable, +.hljs-link, +.hljs-name { + color: #2c009f; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta, +.hljs-deletion { + color: #802022; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/src/assets/library/highlight/styles/brown-papersq.png.REMOVED.git-id b/src/assets/library/highlight/styles/brown-papersq.png.REMOVED.git-id new file mode 100644 index 00000000..881dda64 --- /dev/null +++ b/src/assets/library/highlight/styles/brown-papersq.png.REMOVED.git-id @@ -0,0 +1 @@ +3813903dbf9fa7b1fb5bd11d9534c06667d9056f \ No newline at end of file diff --git a/src/assets/library/highlight/styles/codepen-embed.css b/src/assets/library/highlight/styles/codepen-embed.css new file mode 100644 index 00000000..195c4a07 --- /dev/null +++ b/src/assets/library/highlight/styles/codepen-embed.css @@ -0,0 +1,60 @@ +/* + codepen.io Embed Theme + Author: Justin Perry + Original theme - https://github.com/chriskempson/tomorrow-theme +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #222; + color: #fff; +} + +.hljs-comment, +.hljs-quote { + color: #777; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-regexp, +.hljs-meta, +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-params, +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-deletion { + color: #ab875d; +} + +.hljs-section, +.hljs-title, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-type, +.hljs-attribute { + color: #9b869b; +} + +.hljs-string, +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #8f9c6c; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/color-brewer.css b/src/assets/library/highlight/styles/color-brewer.css new file mode 100644 index 00000000..7934d986 --- /dev/null +++ b/src/assets/library/highlight/styles/color-brewer.css @@ -0,0 +1,71 @@ +/* + +Colorbrewer theme +Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock +Ported by Fabrício Tavares de Oliveira + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fff; +} + +.hljs, +.hljs-subst { + color: #000; +} + +.hljs-string, +.hljs-meta, +.hljs-symbol, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #756bb1; +} + +.hljs-comment, +.hljs-quote { + color: #636363; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-bullet, +.hljs-link { + color: #31a354; +} + +.hljs-deletion, +.hljs-variable { + color: #88f; +} + + + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-doctag, +.hljs-type, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-strong { + color: #3182bd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-attribute { + color: #e6550d; +} diff --git a/src/assets/library/highlight/styles/darcula.css b/src/assets/library/highlight/styles/darcula.css new file mode 100644 index 00000000..be182d0b --- /dev/null +++ b/src/assets/library/highlight/styles/darcula.css @@ -0,0 +1,77 @@ +/* + +Darcula color scheme from the JetBrains family of IDEs + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #2b2b2b; +} + +.hljs { + color: #bababa; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-link, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #6896ba; +} + +.hljs-code, +.hljs-selector-class { + color: #a6e22e; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-attribute, +.hljs-name, +.hljs-variable { + color: #cb7832; +} + +.hljs-params { + color: #b9b9b9; +} + +.hljs-string { + color: #6a8759; +} + +.hljs-subst, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-symbol, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #e0c46c; +} + +.hljs-comment, +.hljs-deletion, +.hljs-meta { + color: #7f7f7f; +} diff --git a/src/assets/library/highlight/styles/dark.css b/src/assets/library/highlight/styles/dark.css new file mode 100644 index 00000000..b4724f5f --- /dev/null +++ b/src/assets/library/highlight/styles/dark.css @@ -0,0 +1,63 @@ +/* + +Dark style from softwaremaniacs.org (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #444; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-section, +.hljs-link { + color: white; +} + +.hljs, +.hljs-subst { + color: #ddd; +} + +.hljs-string, +.hljs-title, +.hljs-name, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #d88; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #777; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/src/assets/library/highlight/styles/darkula.css b/src/assets/library/highlight/styles/darkula.css new file mode 100644 index 00000000..f4646c3c --- /dev/null +++ b/src/assets/library/highlight/styles/darkula.css @@ -0,0 +1,6 @@ +/* + Deprecated due to a typo in the name and left here for compatibility purpose only. + Please use darcula.css instead. +*/ + +@import url('darcula.css'); diff --git a/src/assets/library/highlight/styles/default.css b/src/assets/library/highlight/styles/default.css new file mode 100644 index 00000000..f1bfade3 --- /dev/null +++ b/src/assets/library/highlight/styles/default.css @@ -0,0 +1,99 @@ +/* + +Original highlight.js style (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #F0F0F0; +} + + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #444; +} + +.hljs-comment { + color: #888888; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold; +} + + +/* User color: hue: 0 */ + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060; +} + + +/* Language color: hue: 90; */ + +.hljs-literal { + color: #78A960; +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300; +} + + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/docco.css b/src/assets/library/highlight/styles/docco.css new file mode 100644 index 00000000..db366be3 --- /dev/null +++ b/src/assets/library/highlight/styles/docco.css @@ -0,0 +1,97 @@ +/* +Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars) +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #000; + background: #f8f8ff; +} + +.hljs-comment, +.hljs-quote { + color: #408080; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-subst { + color: #954121; +} + +.hljs-number { + color: #40a070; +} + +.hljs-string, +.hljs-doctag { + color: #219161; +} + +.hljs-selector-id, +.hljs-selector-class, +.hljs-section, +.hljs-type { + color: #19469d; +} + +.hljs-params { + color: #00f; +} + +.hljs-title { + color: #458; + font-weight: bold; +} + +.hljs-tag, +.hljs-name, +.hljs-attribute { + color: #000080; + font-weight: normal; +} + +.hljs-variable, +.hljs-template-variable { + color: #008080; +} + +.hljs-regexp, +.hljs-link { + color: #b68; +} + +.hljs-symbol, +.hljs-bullet { + color: #990073; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #0086b3; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + background: #fdd; +} + +.hljs-addition { + background: #dfd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/dracula.css b/src/assets/library/highlight/styles/dracula.css new file mode 100644 index 00000000..d591db68 --- /dev/null +++ b/src/assets/library/highlight/styles/dracula.css @@ -0,0 +1,76 @@ +/* + +Dracula Theme v1.2.0 + +https://github.com/zenorocha/dracula-theme + +Copyright 2015, All rights reserved + +Code licensed under the MIT license +http://zenorocha.mit-license.org + +@author Éverton Ribeiro +@author Zeno Rocha + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282a36; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-section, +.hljs-link { + color: #8be9fd; +} + +.hljs-function .hljs-keyword { + color: #ff79c6; +} + +.hljs, +.hljs-subst { + color: #f8f8f2; +} + +.hljs-string, +.hljs-title, +.hljs-name, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #f1fa8c; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #6272a4; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/src/assets/library/highlight/styles/far.css b/src/assets/library/highlight/styles/far.css new file mode 100644 index 00000000..2b3f87b5 --- /dev/null +++ b/src/assets/library/highlight/styles/far.css @@ -0,0 +1,71 @@ +/* + +FAR Style (c) MajestiC + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000080; +} + +.hljs, +.hljs-subst { + color: #0ff; +} + +.hljs-string, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #ff0; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-variable { + color: #fff; +} + +.hljs-comment, +.hljs-quote, +.hljs-doctag, +.hljs-deletion { + color: #888; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-link { + color: #0f0; +} + +.hljs-meta { + color: #008080; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/src/assets/library/highlight/styles/foundation.css b/src/assets/library/highlight/styles/foundation.css new file mode 100644 index 00000000..f1fe64b3 --- /dev/null +++ b/src/assets/library/highlight/styles/foundation.css @@ -0,0 +1,88 @@ +/* +Description: Foundation 4 docs style for highlight.js +Author: Dan Allen +Website: http://foundation.zurb.com/docs/ +Version: 1.0 +Date: 2013-04-02 +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #eee; color: black; +} + +.hljs-link, +.hljs-emphasis, +.hljs-attribute, +.hljs-addition { + color: #070; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong, +.hljs-string, +.hljs-deletion { + color: #d14; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-quote, +.hljs-comment { + color: #998; + font-style: italic; +} + +.hljs-section, +.hljs-title { + color: #900; +} + +.hljs-class .hljs-title, +.hljs-type { + color: #458; +} + +.hljs-variable, +.hljs-template-variable { + color: #336699; +} + +.hljs-bullet { + color: #997700; +} + +.hljs-meta { + color: #3344bb; +} + +.hljs-code, +.hljs-number, +.hljs-literal, +.hljs-keyword, +.hljs-selector-tag { + color: #099; +} + +.hljs-regexp { + background-color: #fff0ff; + color: #880088; +} + +.hljs-symbol { + color: #990073; +} + +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #007700; +} diff --git a/src/assets/library/highlight/styles/github-gist.css b/src/assets/library/highlight/styles/github-gist.css new file mode 100644 index 00000000..155f0b91 --- /dev/null +++ b/src/assets/library/highlight/styles/github-gist.css @@ -0,0 +1,71 @@ +/** + * GitHub Gist Theme + * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro + */ + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/src/assets/library/highlight/styles/github.css b/src/assets/library/highlight/styles/github.css new file mode 100644 index 00000000..791932b8 --- /dev/null +++ b/src/assets/library/highlight/styles/github.css @@ -0,0 +1,99 @@ +/* + +github.com style (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #f8f8f8; +} + +.hljs-comment, +.hljs-quote { + color: #998; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-subst { + color: #333; + font-weight: bold; +} + +.hljs-number, +.hljs-literal, +.hljs-variable, +.hljs-template-variable, +.hljs-tag .hljs-attr { + color: #008080; +} + +.hljs-string, +.hljs-doctag { + color: #d14; +} + +.hljs-title, +.hljs-section, +.hljs-selector-id { + color: #900; + font-weight: bold; +} + +.hljs-subst { + font-weight: normal; +} + +.hljs-type, +.hljs-class .hljs-title { + color: #458; + font-weight: bold; +} + +.hljs-tag, +.hljs-name, +.hljs-attribute { + color: #000080; + font-weight: normal; +} + +.hljs-regexp, +.hljs-link { + color: #009926; +} + +.hljs-symbol, +.hljs-bullet { + color: #990073; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #0086b3; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + background: #fdd; +} + +.hljs-addition { + background: #dfd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/googlecode.css b/src/assets/library/highlight/styles/googlecode.css new file mode 100644 index 00000000..884ad635 --- /dev/null +++ b/src/assets/library/highlight/styles/googlecode.css @@ -0,0 +1,89 @@ +/* + +Google Code style (c) Aahan Krish + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-comment, +.hljs-quote { + color: #800; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-title, +.hljs-name { + color: #008; +} + +.hljs-variable, +.hljs-template-variable { + color: #660; +} + +.hljs-string, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-regexp { + color: #080; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-meta, +.hljs-number, +.hljs-link { + color: #066; +} + +.hljs-title, +.hljs-doctag, +.hljs-type, +.hljs-attr, +.hljs-built_in, +.hljs-builtin-name, +.hljs-params { + color: #606; +} + +.hljs-attribute, +.hljs-subst { + color: #000; +} + +.hljs-formula { + background-color: #eee; + font-style: italic; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #9B703F +} + +.hljs-addition { + background-color: #baeeba; +} + +.hljs-deletion { + background-color: #ffc8bd; +} + +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/src/assets/library/highlight/styles/grayscale.css b/src/assets/library/highlight/styles/grayscale.css new file mode 100644 index 00000000..5376f340 --- /dev/null +++ b/src/assets/library/highlight/styles/grayscale.css @@ -0,0 +1,101 @@ +/* + +grayscale style (c) MY Sun + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #fff; +} + +.hljs-comment, +.hljs-quote { + color: #777; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-subst { + color: #333; + font-weight: bold; +} + +.hljs-number, +.hljs-literal { + color: #777; +} + +.hljs-string, +.hljs-doctag, +.hljs-formula { + color: #333; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat; +} + +.hljs-title, +.hljs-section, +.hljs-selector-id { + color: #000; + font-weight: bold; +} + +.hljs-subst { + font-weight: normal; +} + +.hljs-class .hljs-title, +.hljs-type, +.hljs-name { + color: #333; + font-weight: bold; +} + +.hljs-tag { + color: #333; +} + +.hljs-regexp { + color: #333; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #000; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #000; + text-decoration: underline; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + color: #fff; + background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat; +} + +.hljs-addition { + color: #000; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/gruvbox-dark.css b/src/assets/library/highlight/styles/gruvbox-dark.css new file mode 100644 index 00000000..f563811a --- /dev/null +++ b/src/assets/library/highlight/styles/gruvbox-dark.css @@ -0,0 +1,108 @@ +/* + +Gruvbox style (dark) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282828; +} + +.hljs, +.hljs-subst { + color: #ebdbb2; +} + +/* Gruvbox Red */ +.hljs-deletion, +.hljs-formula, +.hljs-keyword, +.hljs-link, +.hljs-selector-tag { + color: #fb4934; +} + +/* Gruvbox Blue */ +.hljs-built_in, +.hljs-emphasis, +.hljs-name, +.hljs-quote, +.hljs-strong, +.hljs-title, +.hljs-variable { + color: #83a598; +} + +/* Gruvbox Yellow */ +.hljs-attr, +.hljs-params, +.hljs-template-tag, +.hljs-type { + color: #fabd2f; +} + +/* Gruvbox Purple */ +.hljs-builtin-name, +.hljs-doctag, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +/* Gruvbox Orange */ +.hljs-code, +.hljs-meta, +.hljs-regexp, +.hljs-selector-id, +.hljs-template-variable { + color: #fe8019; +} + +/* Gruvbox Green */ +.hljs-addition, +.hljs-meta-string, +.hljs-section, +.hljs-selector-attr, +.hljs-selector-class, +.hljs-string, +.hljs-symbol { + color: #b8bb26; +} + +/* Gruvbox Aqua */ +.hljs-attribute, +.hljs-bullet, +.hljs-class, +.hljs-function, +.hljs-function .hljs-keyword, +.hljs-meta-keyword, +.hljs-selector-pseudo, +.hljs-tag { + color: #8ec07c; +} + +/* Gruvbox Gray */ +.hljs-comment { + color: #928374; +} + +/* Gruvbox Purple */ +.hljs-link_label, +.hljs-literal, +.hljs-number { + color: #d3869b; +} + +.hljs-comment, +.hljs-emphasis { + font-style: italic; +} + +.hljs-section, +.hljs-strong, +.hljs-tag { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/gruvbox-light.css b/src/assets/library/highlight/styles/gruvbox-light.css new file mode 100644 index 00000000..ff45468e --- /dev/null +++ b/src/assets/library/highlight/styles/gruvbox-light.css @@ -0,0 +1,108 @@ +/* + +Gruvbox style (light) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fbf1c7; +} + +.hljs, +.hljs-subst { + color: #3c3836; +} + +/* Gruvbox Red */ +.hljs-deletion, +.hljs-formula, +.hljs-keyword, +.hljs-link, +.hljs-selector-tag { + color: #9d0006; +} + +/* Gruvbox Blue */ +.hljs-built_in, +.hljs-emphasis, +.hljs-name, +.hljs-quote, +.hljs-strong, +.hljs-title, +.hljs-variable { + color: #076678; +} + +/* Gruvbox Yellow */ +.hljs-attr, +.hljs-params, +.hljs-template-tag, +.hljs-type { + color: #b57614; +} + +/* Gruvbox Purple */ +.hljs-builtin-name, +.hljs-doctag, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +/* Gruvbox Orange */ +.hljs-code, +.hljs-meta, +.hljs-regexp, +.hljs-selector-id, +.hljs-template-variable { + color: #af3a03; +} + +/* Gruvbox Green */ +.hljs-addition, +.hljs-meta-string, +.hljs-section, +.hljs-selector-attr, +.hljs-selector-class, +.hljs-string, +.hljs-symbol { + color: #79740e; +} + +/* Gruvbox Aqua */ +.hljs-attribute, +.hljs-bullet, +.hljs-class, +.hljs-function, +.hljs-function .hljs-keyword, +.hljs-meta-keyword, +.hljs-selector-pseudo, +.hljs-tag { + color: #427b58; +} + +/* Gruvbox Gray */ +.hljs-comment { + color: #928374; +} + +/* Gruvbox Purple */ +.hljs-link_label, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +.hljs-comment, +.hljs-emphasis { + font-style: italic; +} + +.hljs-section, +.hljs-strong, +.hljs-tag { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/hopscotch.css b/src/assets/library/highlight/styles/hopscotch.css new file mode 100644 index 00000000..32e60d23 --- /dev/null +++ b/src/assets/library/highlight/styles/hopscotch.css @@ -0,0 +1,83 @@ +/* + * Hopscotch + * by Jan T. Sott + * https://github.com/idleberg/Hopscotch + * + * This work is licensed under the Creative Commons CC0 1.0 Universal License + */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #989498; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-deletion { + color: #dd464c; +} + +/* Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #fd8b19; +} + +/* Yellow */ +.hljs-class .hljs-title { + color: #fdcc59; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #8fc13e; +} + +/* Aqua */ +.hljs-meta { + color: #149b93; +} + +/* Blue */ +.hljs-function, +.hljs-section, +.hljs-title { + color: #1290bf; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #c85e7c; +} + +.hljs { + display: block; + background: #322931; + color: #b9b5b8; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/hybrid.css b/src/assets/library/highlight/styles/hybrid.css new file mode 100644 index 00000000..29735a18 --- /dev/null +++ b/src/assets/library/highlight/styles/hybrid.css @@ -0,0 +1,102 @@ +/* + +vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid) + +*/ + +/*background color*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #1d1f21; +} + +/*selection color*/ +.hljs::selection, +.hljs span::selection { + background: #373b41; +} + +.hljs::-moz-selection, +.hljs span::-moz-selection { + background: #373b41; +} + +/*foreground color*/ +.hljs { + color: #c5c8c6; +} + +/*color: fg_yellow*/ +.hljs-title, +.hljs-name { + color: #f0c674; +} + +/*color: fg_comment*/ +.hljs-comment, +.hljs-meta, +.hljs-meta .hljs-keyword { + color: #707880; +} + +/*color: fg_red*/ +.hljs-number, +.hljs-symbol, +.hljs-literal, +.hljs-deletion, +.hljs-link { + color: #cc6666 +} + +/*color: fg_green*/ +.hljs-string, +.hljs-doctag, +.hljs-addition, +.hljs-regexp, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #b5bd68; +} + +/*color: fg_purple*/ +.hljs-attribute, +.hljs-code, +.hljs-selector-id { + color: #b294bb; +} + +/*color: fg_blue*/ +.hljs-keyword, +.hljs-selector-tag, +.hljs-bullet, +.hljs-tag { + color: #81a2be; +} + +/*color: fg_aqua*/ +.hljs-subst, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #8abeb7; +} + +/*color: fg_orange*/ +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-quote, +.hljs-section, +.hljs-selector-class { + color: #de935f; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/idea.css b/src/assets/library/highlight/styles/idea.css new file mode 100644 index 00000000..3bf1892b --- /dev/null +++ b/src/assets/library/highlight/styles/idea.css @@ -0,0 +1,97 @@ +/* + +Intellij Idea-like styling (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #000; + background: #fff; +} + +.hljs-subst, +.hljs-title { + font-weight: normal; + color: #000; +} + +.hljs-comment, +.hljs-quote { + color: #808080; + font-style: italic; +} + +.hljs-meta { + color: #808000; +} + +.hljs-tag { + background: #efefef; +} + +.hljs-section, +.hljs-name, +.hljs-literal, +.hljs-keyword, +.hljs-selector-tag, +.hljs-type, +.hljs-selector-id, +.hljs-selector-class { + font-weight: bold; + color: #000080; +} + +.hljs-attribute, +.hljs-number, +.hljs-regexp, +.hljs-link { + font-weight: bold; + color: #0000ff; +} + +.hljs-number, +.hljs-regexp, +.hljs-link { + font-weight: normal; +} + +.hljs-string { + color: #008000; + font-weight: bold; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-formula { + color: #000; + background: #d0eded; + font-style: italic; +} + +.hljs-doctag { + text-decoration: underline; +} + +.hljs-variable, +.hljs-template-variable { + color: #660e7a; +} + +.hljs-addition { + background: #baeeba; +} + +.hljs-deletion { + background: #ffc8bd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/ir-black.css b/src/assets/library/highlight/styles/ir-black.css new file mode 100644 index 00000000..bd4c755e --- /dev/null +++ b/src/assets/library/highlight/styles/ir-black.css @@ -0,0 +1,73 @@ +/* + IR_Black style (c) Vasily Mikhailitchenko +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000; + color: #f8f8f8; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #7c7c7c; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-tag, +.hljs-name { + color: #96cbfe; +} + +.hljs-attribute, +.hljs-selector-id { + color: #ffffb6; +} + +.hljs-string, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition { + color: #a8ff60; +} + +.hljs-subst { + color: #daefa3; +} + +.hljs-regexp, +.hljs-link { + color: #e9c062; +} + +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-doctag { + color: #ffffb6; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-variable, +.hljs-template-variable, +.hljs-literal { + color: #c6c5fe; +} + +.hljs-number, +.hljs-deletion { + color:#ff73fd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/kimbie.dark.css b/src/assets/library/highlight/styles/kimbie.dark.css new file mode 100644 index 00000000..d139cb5d --- /dev/null +++ b/src/assets/library/highlight/styles/kimbie.dark.css @@ -0,0 +1,74 @@ +/* + Name: Kimbie (dark) + Author: Jan T. Sott + License: Creative Commons Attribution-ShareAlike 4.0 Unported License + URL: https://github.com/idleberg/Kimbie-highlight.js +*/ + +/* Kimbie Comment */ +.hljs-comment, +.hljs-quote { + color: #d6baad; +} + +/* Kimbie Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-meta { + color: #dc3958; +} + +/* Kimbie Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion, +.hljs-link { + color: #f79a32; +} + +/* Kimbie Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #f06431; +} + +/* Kimbie Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #889b4a; +} + +/* Kimbie Purple */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-function { + color: #98676a; +} + +.hljs { + display: block; + overflow-x: auto; + background: #221a0f; + color: #d3af86; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/kimbie.light.css b/src/assets/library/highlight/styles/kimbie.light.css new file mode 100644 index 00000000..04ff6ed3 --- /dev/null +++ b/src/assets/library/highlight/styles/kimbie.light.css @@ -0,0 +1,74 @@ +/* + Name: Kimbie (light) + Author: Jan T. Sott + License: Creative Commons Attribution-ShareAlike 4.0 Unported License + URL: https://github.com/idleberg/Kimbie-highlight.js +*/ + +/* Kimbie Comment */ +.hljs-comment, +.hljs-quote { + color: #a57a4c; +} + +/* Kimbie Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-meta { + color: #dc3958; +} + +/* Kimbie Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion, +.hljs-link { + color: #f79a32; +} + +/* Kimbie Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #f06431; +} + +/* Kimbie Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #889b4a; +} + +/* Kimbie Purple */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-function { + color: #98676a; +} + +.hljs { + display: block; + overflow-x: auto; + background: #fbebd4; + color: #84613d; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/magula.css b/src/assets/library/highlight/styles/magula.css new file mode 100644 index 00000000..44dee5e8 --- /dev/null +++ b/src/assets/library/highlight/styles/magula.css @@ -0,0 +1,70 @@ +/* +Description: Magula style for highligh.js +Author: Ruslan Keba +Website: http://rukeba.com/ +Version: 1.0 +Date: 2009-01-03 +Music: Aphex Twin / Xtal +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background-color: #f4f4f4; +} + +.hljs, +.hljs-subst { + color: black; +} + +.hljs-string, +.hljs-title, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #050; +} + +.hljs-comment, +.hljs-quote { + color: #777; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-type, +.hljs-link { + color: #800; +} + +.hljs-deletion, +.hljs-meta { + color: #00e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-tag, +.hljs-name { + font-weight: bold; + color: navy; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/mono-blue.css b/src/assets/library/highlight/styles/mono-blue.css new file mode 100644 index 00000000..884c97c7 --- /dev/null +++ b/src/assets/library/highlight/styles/mono-blue.css @@ -0,0 +1,59 @@ +/* + Five-color theme from a single blue hue. +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #eaeef3; +} + +.hljs { + color: #00193a; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-comment { + color: #738191; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-literal, +.hljs-type, +.hljs-addition, +.hljs-tag, +.hljs-quote, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #0048ab; +} + +.hljs-meta, +.hljs-subst, +.hljs-symbol, +.hljs-regexp, +.hljs-attribute, +.hljs-deletion, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-bullet { + color: #4c81c9; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/src/assets/library/highlight/styles/monokai-sublime.css b/src/assets/library/highlight/styles/monokai-sublime.css new file mode 100644 index 00000000..2864170d --- /dev/null +++ b/src/assets/library/highlight/styles/monokai-sublime.css @@ -0,0 +1,83 @@ +/* + +Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/ + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #23241f; +} + +.hljs, +.hljs-tag, +.hljs-subst { + color: #f8f8f2; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-link { + color: #ae81ff; +} + +.hljs-code, +.hljs-title, +.hljs-section, +.hljs-selector-class { + color: #a6e22e; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-name, +.hljs-attr { + color: #f92672; +} + +.hljs-symbol, +.hljs-attribute { + color: #66d9ef; +} + +.hljs-params, +.hljs-class .hljs-title { + color: #f8f8f2; +} + +.hljs-string, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-variable { + color: #e6db74; +} + +.hljs-comment, +.hljs-deletion, +.hljs-meta { + color: #75715e; +} diff --git a/src/assets/library/highlight/styles/monokai.css b/src/assets/library/highlight/styles/monokai.css new file mode 100644 index 00000000..775d53f9 --- /dev/null +++ b/src/assets/library/highlight/styles/monokai.css @@ -0,0 +1,70 @@ +/* +Monokai style - ported by Luigi Maselli - http://grigio.org +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #272822; color: #ddd; +} + +.hljs-tag, +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-strong, +.hljs-name { + color: #f92672; +} + +.hljs-code { + color: #66d9ef; +} + +.hljs-class .hljs-title { + color: white; +} + +.hljs-attribute, +.hljs-symbol, +.hljs-regexp, +.hljs-link { + color: #bf79db; +} + +.hljs-string, +.hljs-bullet, +.hljs-subst, +.hljs-title, +.hljs-section, +.hljs-emphasis, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #a6e22e; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #75715e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-selector-id { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/obsidian.css b/src/assets/library/highlight/styles/obsidian.css new file mode 100644 index 00000000..356630fa --- /dev/null +++ b/src/assets/library/highlight/styles/obsidian.css @@ -0,0 +1,88 @@ +/** + * Obsidian style + * ported by Alexander Marenin (http://github.com/ioncreature) + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282b2e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-selector-id { + color: #93c763; +} + +.hljs-number { + color: #ffcd22; +} + +.hljs { + color: #e0e2e4; +} + +.hljs-attribute { + color: #668bb0; +} + +.hljs-code, +.hljs-class .hljs-title, +.hljs-section { + color: white; +} + +.hljs-regexp, +.hljs-link { + color: #d39745; +} + +.hljs-meta { + color: #557182; +} + +.hljs-tag, +.hljs-name, +.hljs-bullet, +.hljs-subst, +.hljs-emphasis, +.hljs-type, +.hljs-built_in, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #8cbbad; +} + +.hljs-string, +.hljs-symbol { + color: #ec7600; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion { + color: #818e96; +} + +.hljs-selector-class { + color: #A082BD +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/ocean.css b/src/assets/library/highlight/styles/ocean.css new file mode 100644 index 00000000..5901581b --- /dev/null +++ b/src/assets/library/highlight/styles/ocean.css @@ -0,0 +1,74 @@ +/* Ocean Dark Theme */ +/* https://github.com/gavsiu */ +/* Original theme - https://github.com/chriskempson/base16 */ + +/* Ocean Comment */ +.hljs-comment, +.hljs-quote { + color: #65737e; +} + +/* Ocean Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #bf616a; +} + +/* Ocean Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #d08770; +} + +/* Ocean Yellow */ +.hljs-attribute { + color: #ebcb8b; +} + +/* Ocean Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #a3be8c; +} + +/* Ocean Blue */ +.hljs-title, +.hljs-section { + color: #8fa1b3; +} + +/* Ocean Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b48ead; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2b303b; + color: #c0c5ce; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/paraiso-dark.css b/src/assets/library/highlight/styles/paraiso-dark.css new file mode 100644 index 00000000..e7292401 --- /dev/null +++ b/src/assets/library/highlight/styles/paraiso-dark.css @@ -0,0 +1,72 @@ +/* + Paraíso (dark) + Created by Jan T. Sott (http://github.com/idleberg) + Inspired by the art of Rubens LP (http://www.rubenslp.com.br) +*/ + +/* Paraíso Comment */ +.hljs-comment, +.hljs-quote { + color: #8d8687; +} + +/* Paraíso Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-meta { + color: #ef6155; +} + +/* Paraíso Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion { + color: #f99b15; +} + +/* Paraíso Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #fec418; +} + +/* Paraíso Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #48b685; +} + +/* Paraíso Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #815ba4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2f1e2e; + color: #a39e9b; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/paraiso-light.css b/src/assets/library/highlight/styles/paraiso-light.css new file mode 100644 index 00000000..944857cd --- /dev/null +++ b/src/assets/library/highlight/styles/paraiso-light.css @@ -0,0 +1,72 @@ +/* + Paraíso (light) + Created by Jan T. Sott (http://github.com/idleberg) + Inspired by the art of Rubens LP (http://www.rubenslp.com.br) +*/ + +/* Paraíso Comment */ +.hljs-comment, +.hljs-quote { + color: #776e71; +} + +/* Paraíso Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-meta { + color: #ef6155; +} + +/* Paraíso Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion { + color: #f99b15; +} + +/* Paraíso Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #fec418; +} + +/* Paraíso Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #48b685; +} + +/* Paraíso Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #815ba4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #e7e9db; + color: #4f424c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/pojoaque.css b/src/assets/library/highlight/styles/pojoaque.css new file mode 100644 index 00000000..2e07847b --- /dev/null +++ b/src/assets/library/highlight/styles/pojoaque.css @@ -0,0 +1,83 @@ +/* + +Pojoaque Style by Jason Tate +http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html +Based on Solarized Style from http://ethanschoonover.com/solarized + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #dccf8f; + background: url(./pojoaque.jpg) repeat scroll left top #181914; +} + +.hljs-comment, +.hljs-quote { + color: #586e75; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-addition { + color: #b64926; +} + +.hljs-number, +.hljs-string, +.hljs-doctag, +.hljs-regexp { + color: #468966; +} + +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-name { + color: #ffb03b; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type, +.hljs-tag { + color: #b58900; +} + +.hljs-attribute { + color: #b89859; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-subst, +.hljs-meta { + color: #cb4b16; +} + +.hljs-deletion { + color: #dc322f; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #d3a60c; +} + +.hljs-formula { + background: #073642; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/purebasic.css b/src/assets/library/highlight/styles/purebasic.css new file mode 100644 index 00000000..5ce9b9e0 --- /dev/null +++ b/src/assets/library/highlight/styles/purebasic.css @@ -0,0 +1,96 @@ +/* + +PureBASIC native IDE style ( version 1.0 - April 2016 ) + +by Tristano Ajmone + +Public Domain + +NOTE_1: PureBASIC code syntax highlighting only applies the following classes: + .hljs-comment + .hljs-function + .hljs-keywords + .hljs-string + .hljs-symbol + + Other classes are added here for the benefit of styling other languages with the look and feel of PureBASIC native IDE style. + If you need to customize a stylesheet for PureBASIC only, remove all non-relevant classes -- PureBASIC-related classes are followed by + a "--- used for PureBASIC ... ---" comment on same line. + +NOTE_2: Color names provided in comments were derived using "Name that Color" online tool: + http://chir.ag/projects/name-that-color +*/ + +.hljs { /* Common set of rules required by highlight.js (don'r remove!) */ + display: block; + overflow-x: auto; + padding: 0.5em; + background: #FFFFDF; /* Half and Half (approx.) */ +/* --- Uncomment to add PureBASIC native IDE styled font! + font-family: Consolas; +*/ +} + +.hljs, /* --- used for PureBASIC base color --- */ +.hljs-type, /* --- used for PureBASIC Procedures return type --- */ +.hljs-function, /* --- used for wrapping PureBASIC Procedures definitions --- */ +.hljs-name, +.hljs-number, +.hljs-attr, +.hljs-params, +.hljs-subst { + color: #000000; /* Black */ +} + +.hljs-comment, /* --- used for PureBASIC Comments --- */ +.hljs-regexp, +.hljs-section, +.hljs-selector-pseudo, +.hljs-addition { + color: #00AAAA; /* Persian Green (approx.) */ +} + +.hljs-title, /* --- used for PureBASIC Procedures Names --- */ +.hljs-tag, +.hljs-variable, +.hljs-code { + color: #006666; /* Blue Stone (approx.) */ +} + +.hljs-keyword, /* --- used for PureBASIC Keywords --- */ +.hljs-class, +.hljs-meta-keyword, +.hljs-selector-class, +.hljs-built_in, +.hljs-builtin-name { + color: #006666; /* Blue Stone (approx.) */ + font-weight: bold; +} + +.hljs-string, /* --- used for PureBASIC Strings --- */ +.hljs-selector-attr { + color: #0080FF; /* Azure Radiance (approx.) */ +} + +.hljs-symbol, /* --- used for PureBASIC Constants --- */ +.hljs-link, +.hljs-deletion, +.hljs-attribute { + color: #924B72; /* Cannon Pink (approx.) */ +} + +.hljs-meta, +.hljs-literal, +.hljs-selector-id { + color: #924B72; /* Cannon Pink (approx.) */ + font-weight: bold; +} + +.hljs-strong, +.hljs-name { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/src/assets/library/highlight/styles/qtcreator_dark.css b/src/assets/library/highlight/styles/qtcreator_dark.css new file mode 100644 index 00000000..7aa56a36 --- /dev/null +++ b/src/assets/library/highlight/styles/qtcreator_dark.css @@ -0,0 +1,83 @@ +/* + +Qt Creator dark color scheme + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000000; +} + +.hljs, +.hljs-subst, +.hljs-tag, +.hljs-title { + color: #aaaaaa; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #ff55ff; +} + +.hljs-code +.hljs-selector-class { + color: #aaaaff; +} + +.hljs-emphasis, +.hljs-stronge, +.hljs-type { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-function, +.hljs-section, +.hljs-symbol, +.hljs-name { + color: #ffff55; +} + +.hljs-attribute { + color: #ff5555; +} + +.hljs-variable, +.hljs-params, +.hljs-class .hljs-title { + color: #8888ff; +} + +.hljs-string, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition, +.hljs-link { + color: #ff55ff; +} + +.hljs-comment, +.hljs-meta, +.hljs-deletion { + color: #55ffff; +} diff --git a/src/assets/library/highlight/styles/qtcreator_light.css b/src/assets/library/highlight/styles/qtcreator_light.css new file mode 100644 index 00000000..1efa2c66 --- /dev/null +++ b/src/assets/library/highlight/styles/qtcreator_light.css @@ -0,0 +1,83 @@ +/* + +Qt Creator light color scheme + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #ffffff; +} + +.hljs, +.hljs-subst, +.hljs-tag, +.hljs-title { + color: #000000; +} + +.hljs-strong, +.hljs-emphasis { + color: #000000; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #000080; +} + +.hljs-code +.hljs-selector-class { + color: #800080; +} + +.hljs-emphasis, +.hljs-stronge, +.hljs-type { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-function, +.hljs-section, +.hljs-symbol, +.hljs-name { + color: #808000; +} + +.hljs-attribute { + color: #800000; +} + +.hljs-variable, +.hljs-params, +.hljs-class .hljs-title { + color: #0055AF; +} + +.hljs-string, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition, +.hljs-link { + color: #008000; +} + +.hljs-comment, +.hljs-meta, +.hljs-deletion { + color: #008000; +} diff --git a/src/assets/library/highlight/styles/railscasts.css b/src/assets/library/highlight/styles/railscasts.css new file mode 100644 index 00000000..008cdc5b --- /dev/null +++ b/src/assets/library/highlight/styles/railscasts.css @@ -0,0 +1,106 @@ +/* + +Railscasts-like style (c) Visoft, Inc. (Damien White) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #232323; + color: #e6e1dc; +} + +.hljs-comment, +.hljs-quote { + color: #bc9458; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag { + color: #c26230; +} + +.hljs-string, +.hljs-number, +.hljs-regexp, +.hljs-variable, +.hljs-template-variable { + color: #a5c261; +} + +.hljs-subst { + color: #519f50; +} + +.hljs-tag, +.hljs-name { + color: #e8bf6a; +} + +.hljs-type { + color: #da4939; +} + + +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-builtin-name, +.hljs-attr, +.hljs-link { + color: #6d9cbe; +} + +.hljs-params { + color: #d0d0ff; +} + +.hljs-attribute { + color: #cda869; +} + +.hljs-meta { + color: #9b859d; +} + +.hljs-title, +.hljs-section { + color: #ffc66d; +} + +.hljs-addition { + background-color: #144212; + color: #e6e1dc; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #600; + color: #e6e1dc; + display: inline-block; + width: 100%; +} + +.hljs-selector-class { + color: #9b703f; +} + +.hljs-selector-id { + color: #8b98ab; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/src/assets/library/highlight/styles/rainbow.css b/src/assets/library/highlight/styles/rainbow.css new file mode 100644 index 00000000..905eb8ef --- /dev/null +++ b/src/assets/library/highlight/styles/rainbow.css @@ -0,0 +1,85 @@ +/* + +Style with support for rainbow parens + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #474949; + color: #d1d9e1; +} + + +.hljs-comment, +.hljs-quote { + color: #969896; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-type, +.hljs-addition { + color: #cc99cc; +} + +.hljs-number, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #f99157; +} + +.hljs-string, +.hljs-doctag, +.hljs-regexp { + color: #8abeb7; +} + +.hljs-title, +.hljs-name, +.hljs-section, +.hljs-built_in { + color: #b5bd68; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-selector-id, +.hljs-class .hljs-title { + color: #ffcc66; +} + +.hljs-section, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-link { + color: #f99157; +} + +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #eee8d5; +} + +.hljs-attr, +.hljs-attribute { + color: #81a2be; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/src/assets/library/highlight/styles/routeros.css b/src/assets/library/highlight/styles/routeros.css new file mode 100644 index 00000000..ebe23990 --- /dev/null +++ b/src/assets/library/highlight/styles/routeros.css @@ -0,0 +1,108 @@ +/* + + highlight.js style for Microtik RouterOS script + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #F0F0F0; +} + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #444; +} + +.hljs-comment { + color: #888888; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold; +} + +.hljs-attribute { + color: #0E9A00; +} + +.hljs-function { + color: #99069A; +} + +.hljs-builtin-name { + color: #99069A; +} + +/* User color: hue: 0 */ + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060; +} + + +/* Language color: hue: 90; */ + +.hljs-literal { + color: #78A960; +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #0C9A9A; +} + + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/school-book.css b/src/assets/library/highlight/styles/school-book.css new file mode 100644 index 00000000..964b51d8 --- /dev/null +++ b/src/assets/library/highlight/styles/school-book.css @@ -0,0 +1,72 @@ +/* + +School Book style from goldblog.com.ua (c) Zaripov Yura + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 15px 0.5em 0.5em 30px; + font-size: 11px; + line-height:16px; +} + +pre{ + background:#f6f6ae url(./school-book.png); + border-top: solid 2px #d2e8b9; + border-bottom: solid 1px #d2e8b9; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color:#005599; + font-weight:bold; +} + +.hljs, +.hljs-subst { + color: #3e5915; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute, +.hljs-built_in, +.hljs-builtin-name, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable, +.hljs-link { + color: #2c009f; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #e60415; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-selector-id, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/src/assets/library/highlight/styles/solarized-dark.css b/src/assets/library/highlight/styles/solarized-dark.css new file mode 100644 index 00000000..b4c0da1f --- /dev/null +++ b/src/assets/library/highlight/styles/solarized-dark.css @@ -0,0 +1,84 @@ +/* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #002b36; + color: #839496; +} + +.hljs-comment, +.hljs-quote { + color: #586e75; +} + +/* Solarized Green */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #859900; +} + +/* Solarized Cyan */ +.hljs-number, +.hljs-string, +.hljs-meta .hljs-meta-string, +.hljs-literal, +.hljs-doctag, +.hljs-regexp { + color: #2aa198; +} + +/* Solarized Blue */ +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #268bd2; +} + +/* Solarized Yellow */ +.hljs-attribute, +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type { + color: #b58900; +} + +/* Solarized Orange */ +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-meta .hljs-keyword, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-link { + color: #cb4b16; +} + +/* Solarized Red */ +.hljs-built_in, +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #073642; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/solarized-light.css b/src/assets/library/highlight/styles/solarized-light.css new file mode 100644 index 00000000..fdcfcc72 --- /dev/null +++ b/src/assets/library/highlight/styles/solarized-light.css @@ -0,0 +1,84 @@ +/* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fdf6e3; + color: #657b83; +} + +.hljs-comment, +.hljs-quote { + color: #93a1a1; +} + +/* Solarized Green */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #859900; +} + +/* Solarized Cyan */ +.hljs-number, +.hljs-string, +.hljs-meta .hljs-meta-string, +.hljs-literal, +.hljs-doctag, +.hljs-regexp { + color: #2aa198; +} + +/* Solarized Blue */ +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #268bd2; +} + +/* Solarized Yellow */ +.hljs-attribute, +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type { + color: #b58900; +} + +/* Solarized Orange */ +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-meta .hljs-keyword, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-link { + color: #cb4b16; +} + +/* Solarized Red */ +.hljs-built_in, +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #eee8d5; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/sunburst.css b/src/assets/library/highlight/styles/sunburst.css new file mode 100644 index 00000000..f56dd5e9 --- /dev/null +++ b/src/assets/library/highlight/styles/sunburst.css @@ -0,0 +1,102 @@ +/* + +Sunburst-like style (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000; + color: #f8f8f8; +} + +.hljs-comment, +.hljs-quote { + color: #aeaeae; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #e28964; +} + +.hljs-string { + color: #65b042; +} + +.hljs-subst { + color: #daefa3; +} + +.hljs-regexp, +.hljs-link { + color: #e9c062; +} + +.hljs-title, +.hljs-section, +.hljs-tag, +.hljs-name { + color: #89bdff; +} + +.hljs-class .hljs-title, +.hljs-doctag { + text-decoration: underline; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-number { + color: #3387cc; +} + +.hljs-params, +.hljs-variable, +.hljs-template-variable { + color: #3e87e3; +} + +.hljs-attribute { + color: #cda869; +} + +.hljs-meta { + color: #8996a8; +} + +.hljs-formula { + background-color: #0e2231; + color: #f8f8f8; + font-style: italic; +} + +.hljs-addition { + background-color: #253b22; + color: #f8f8f8; +} + +.hljs-deletion { + background-color: #420e09; + color: #f8f8f8; +} + +.hljs-selector-class { + color: #9b703f; +} + +.hljs-selector-id { + color: #8b98ab; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/tomorrow-night-blue.css b/src/assets/library/highlight/styles/tomorrow-night-blue.css new file mode 100644 index 00000000..78e59cc8 --- /dev/null +++ b/src/assets/library/highlight/styles/tomorrow-night-blue.css @@ -0,0 +1,75 @@ +/* Tomorrow Night Blue Theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #7285b7; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #ff9da4; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #ffc58f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #ffeead; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #d1f1a9; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #bbdaff; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ebbbff; +} + +.hljs { + display: block; + overflow-x: auto; + background: #002451; + color: white; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/tomorrow-night-bright.css b/src/assets/library/highlight/styles/tomorrow-night-bright.css new file mode 100644 index 00000000..e05af8ae --- /dev/null +++ b/src/assets/library/highlight/styles/tomorrow-night-bright.css @@ -0,0 +1,74 @@ +/* Tomorrow Night Bright Theme */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #d54e53; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #e78c45; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #e7c547; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #b9ca4a; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #7aa6da; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #c397d8; +} + +.hljs { + display: block; + overflow-x: auto; + background: black; + color: #eaeaea; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/tomorrow-night-eighties.css b/src/assets/library/highlight/styles/tomorrow-night-eighties.css new file mode 100644 index 00000000..08fd51c7 --- /dev/null +++ b/src/assets/library/highlight/styles/tomorrow-night-eighties.css @@ -0,0 +1,74 @@ +/* Tomorrow Night Eighties Theme */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #999999; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #f2777a; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f99157; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #ffcc66; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #99cc99; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #6699cc; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #cc99cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2d2d2d; + color: #cccccc; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/tomorrow-night.css b/src/assets/library/highlight/styles/tomorrow-night.css new file mode 100644 index 00000000..ddd270a4 --- /dev/null +++ b/src/assets/library/highlight/styles/tomorrow-night.css @@ -0,0 +1,75 @@ +/* Tomorrow Night Theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #cc6666; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #de935f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #f0c674; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #b5bd68; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #81a2be; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b294bb; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1d1f21; + color: #c5c8c6; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/tomorrow.css b/src/assets/library/highlight/styles/tomorrow.css new file mode 100644 index 00000000..026a62fe --- /dev/null +++ b/src/assets/library/highlight/styles/tomorrow.css @@ -0,0 +1,72 @@ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #8e908c; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #c82829; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f5871f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #eab700; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #718c00; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #4271ae; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8959a8; +} + +.hljs { + display: block; + overflow-x: auto; + background: white; + color: #4d4d4c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/vs.css b/src/assets/library/highlight/styles/vs.css new file mode 100644 index 00000000..c5d07d31 --- /dev/null +++ b/src/assets/library/highlight/styles/vs.css @@ -0,0 +1,68 @@ +/* + +Visual Studio-like style based on original C# coloring by Jason Diamond + +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-comment, +.hljs-quote, +.hljs-variable { + color: #008000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-built_in, +.hljs-name, +.hljs-tag { + color: #00f; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-attribute, +.hljs-literal, +.hljs-template-tag, +.hljs-template-variable, +.hljs-type, +.hljs-addition { + color: #a31515; +} + +.hljs-deletion, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-meta { + color: #2b91af; +} + +.hljs-doctag { + color: #808080; +} + +.hljs-attr { + color: #f00; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #00b0e8; +} + + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/library/highlight/styles/vs2015.css b/src/assets/library/highlight/styles/vs2015.css new file mode 100644 index 00000000..d1d9be3c --- /dev/null +++ b/src/assets/library/highlight/styles/vs2015.css @@ -0,0 +1,115 @@ +/* + * Visual Studio 2015 dark style + * Author: Nicolas LLOBERA + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #1E1E1E; + color: #DCDCDC; +} + +.hljs-keyword, +.hljs-literal, +.hljs-symbol, +.hljs-name { + color: #569CD6; +} +.hljs-link { + color: #569CD6; + text-decoration: underline; +} + +.hljs-built_in, +.hljs-type { + color: #4EC9B0; +} + +.hljs-number, +.hljs-class { + color: #B8D7A3; +} + +.hljs-string, +.hljs-meta-string { + color: #D69D85; +} + +.hljs-regexp, +.hljs-template-tag { + color: #9A5334; +} + +.hljs-subst, +.hljs-function, +.hljs-title, +.hljs-params, +.hljs-formula { + color: #DCDCDC; +} + +.hljs-comment, +.hljs-quote { + color: #57A64A; + font-style: italic; +} + +.hljs-doctag { + color: #608B4E; +} + +.hljs-meta, +.hljs-meta-keyword, +.hljs-tag { + color: #9B9B9B; +} + +.hljs-variable, +.hljs-template-variable { + color: #BD63C5; +} + +.hljs-attr, +.hljs-attribute, +.hljs-builtin-name { + color: #9CDCFE; +} + +.hljs-section { + color: gold; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +/*.hljs-code { + font-family:'Monospace'; +}*/ + +.hljs-bullet, +.hljs-selector-tag, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #D7BA7D; +} + +.hljs-addition { + background-color: #144212; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #600; + display: inline-block; + width: 100%; +} diff --git a/src/assets/library/highlight/styles/xcode.css b/src/assets/library/highlight/styles/xcode.css new file mode 100644 index 00000000..43dddad8 --- /dev/null +++ b/src/assets/library/highlight/styles/xcode.css @@ -0,0 +1,93 @@ +/* + +XCode style (c) Angel Garcia + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fff; + color: black; +} + +.hljs-comment, +.hljs-quote { + color: #006a00; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color: #aa0d91; +} + +.hljs-name { + color: #008; +} + +.hljs-variable, +.hljs-template-variable { + color: #660; +} + +.hljs-string { + color: #c41a16; +} + +.hljs-regexp, +.hljs-link { + color: #080; +} + +.hljs-title, +.hljs-tag, +.hljs-symbol, +.hljs-bullet, +.hljs-number, +.hljs-meta { + color: #1c00cf; +} + +.hljs-section, +.hljs-class .hljs-title, +.hljs-type, +.hljs-attr, +.hljs-built_in, +.hljs-builtin-name, +.hljs-params { + color: #5c2699; +} + +.hljs-attribute, +.hljs-subst { + color: #000; +} + +.hljs-formula { + background-color: #eee; + font-style: italic; +} + +.hljs-addition { + background-color: #baeeba; +} + +.hljs-deletion { + background-color: #ffc8bd; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #9b703f; +} + +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/src/assets/library/highlight/styles/xt256.css b/src/assets/library/highlight/styles/xt256.css new file mode 100644 index 00000000..58df82cb --- /dev/null +++ b/src/assets/library/highlight/styles/xt256.css @@ -0,0 +1,92 @@ + +/* + xt256.css + + Contact: initbar [at] protonmail [dot] ch + : github.com/initbar +*/ + +.hljs { + display: block; + overflow-x: auto; + color: #eaeaea; + background: #000; + padding: 0.5; +} + +.hljs-subst { + color: #eaeaea; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-builtin-name, +.hljs-type { + color: #eaeaea; +} + +.hljs-params { + color: #da0000; +} + +.hljs-literal, +.hljs-number, +.hljs-name { + color: #ff0000; + font-weight: bolder; +} + +.hljs-comment { + color: #969896; +} + +.hljs-selector-id, +.hljs-quote { + color: #00ffff; +} + +.hljs-template-variable, +.hljs-variable, +.hljs-title { + color: #00ffff; + font-weight: bold; +} + +.hljs-selector-class, +.hljs-keyword, +.hljs-symbol { + color: #fff000; +} + +.hljs-string, +.hljs-bullet { + color: #00ff00; +} + +.hljs-tag, +.hljs-section { + color: #000fff; +} + +.hljs-selector-tag { + color: #000fff; + font-weight: bold; +} + +.hljs-attribute, +.hljs-built_in, +.hljs-regexp, +.hljs-link { + color: #ff00ff; +} + +.hljs-meta { + color: #fff; + font-weight: bolder; +} diff --git a/src/assets/library/highlight/styles/zenburn.css b/src/assets/library/highlight/styles/zenburn.css new file mode 100644 index 00000000..07be5020 --- /dev/null +++ b/src/assets/library/highlight/styles/zenburn.css @@ -0,0 +1,80 @@ +/* + +Zenburn style from voldmar.ru (c) Vladimir Epifanov +based on dark.css by Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #3f3f3f; + color: #dcdcdc; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-tag { + color: #e3ceab; +} + +.hljs-template-tag { + color: #dcdcdc; +} + +.hljs-number { + color: #8cd0d3; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-attribute { + color: #efdcbc; +} + +.hljs-literal { + color: #efefaf; +} + +.hljs-subst { + color: #8f8f8f; +} + +.hljs-title, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-section, +.hljs-type { + color: #efef8f; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #dca3a3; +} + +.hljs-deletion, +.hljs-string, +.hljs-built_in, +.hljs-builtin-name { + color: #cc9393; +} + +.hljs-addition, +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #7f9f7f; +} + + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/assets/md/demo.md b/src/assets/md/demo.md new file mode 100644 index 00000000..c1917221 --- /dev/null +++ b/src/assets/md/demo.md @@ -0,0 +1,23 @@ +# 一级标题 + +| ID | Name | Email | +| --- | --- | --- | +| 0001 | FairyEver | 1711467488@qq.com | + +``` +alert('Hello World') +``` + +一般引用 + +> 引用文字 + +分享一个我很早前的一副设计作品 [in Lofter](http://fairyever.lofter.com/post/16ff00_6796fe8) 借此演示百度云链接的显示优化 + +> https://pan.baidu.com/s/1kW6uUwB + +设计源文件 + +> 链接: https://pan.baidu.com/s/1ggFW21l 密码: 877y + +[https://github.com/d2-projects](https://github.com/d2-projects) \ No newline at end of file diff --git a/src/assets/style/animate/vue-transition.scss b/src/assets/style/animate/vue-transition.scss new file mode 100644 index 00000000..a396d0bf --- /dev/null +++ b/src/assets/style/animate/vue-transition.scss @@ -0,0 +1,27 @@ +// 过渡动画 横向渐变 +.fade-transverse-leave-active, +.fade-transverse-enter-active { + transition: all .5s; +} +.fade-transverse-enter { + opacity: 0; + transform: translateX(-30px); +} +.fade-transverse-leave-to { + opacity: 0; + transform: translateX(30px); +} + +// 过渡动画 缩放渐变 +.fade-scale-leave-active, +.fade-scale-enter-active { + transition: all .5s; +} +.fade-scale-enter { + opacity: 0; + transform: scale(1.2); +} +.fade-scale-leave-to { + opacity: 0; + transform: scale(0.8); +} \ No newline at end of file diff --git a/src/assets/style/fixed/base.scss b/src/assets/style/fixed/base.scss new file mode 100644 index 00000000..42507ac7 --- /dev/null +++ b/src/assets/style/fixed/base.scss @@ -0,0 +1,14 @@ +// 优化显示 + +html, body { + margin: 0px; + height: 100%; + font-family: "Arial", "Microsoft YaHei", "黑体", "宋体", sans-serif; + #app { + @extend %full; + overflow: hidden; + a { + text-decoration: none; + } + } +} \ No newline at end of file diff --git a/src/assets/style/fixed/element.scss b/src/assets/style/fixed/element.scss new file mode 100644 index 00000000..f627560b --- /dev/null +++ b/src/assets/style/fixed/element.scss @@ -0,0 +1,16 @@ +// element 样式补丁 + +.el-card { + &.is-always-shadow { + box-shadow: 0 0 8px 0 rgba(232,237,250,.6), 0 2px 4px 0 rgba(232,237,250,.5); + } + &.is-hover-shadow { + &:hover { + box-shadow: 0 0 8px 0 rgba(232,237,250,.6), 0 2px 4px 0 rgba(232,237,250,.5); + } + } +} + +.el-menu--horizontal { + border-bottom: none !important; +} \ No newline at end of file diff --git a/src/assets/style/fixed/markdown.scss b/src/assets/style/fixed/markdown.scss new file mode 100644 index 00000000..cd71054f --- /dev/null +++ b/src/assets/style/fixed/markdown.scss @@ -0,0 +1,10 @@ +// markdown 样式补丁 + +.markdown-body { + ul { + list-style: disc; + } + h1, h2 { + border-bottom: none; + } +} \ No newline at end of file diff --git a/src/assets/style/fixed/vue-grid-layout.scss b/src/assets/style/fixed/vue-grid-layout.scss new file mode 100644 index 00000000..c2c045a6 --- /dev/null +++ b/src/assets/style/fixed/vue-grid-layout.scss @@ -0,0 +1,10 @@ +// vue-splitpane 样式补丁 + +.vue-grid-item { + &.vue-grid-placeholder { + border: 1px solid $color-border-1; + background-color: rgba(#FFF, .3); + opacity: 1; + border-radius: 4px; + } +} \ No newline at end of file diff --git a/src/assets/style/fixed/vue-splitpane.scss b/src/assets/style/fixed/vue-splitpane.scss new file mode 100644 index 00000000..0202352b --- /dev/null +++ b/src/assets/style/fixed/vue-splitpane.scss @@ -0,0 +1,8 @@ +// vue-splitpane 样式补丁 + +@import '~@/assets/style/unit/_color.scss'; + +.splitter-pane-resizer { + background-color: $color-border-1 !important; + opacity: 1 !important; +} \ No newline at end of file diff --git a/src/assets/style/public-class.scss b/src/assets/style/public-class.scss new file mode 100644 index 00000000..3466bf94 --- /dev/null +++ b/src/assets/style/public-class.scss @@ -0,0 +1,71 @@ +@import 'public'; + +// 补丁 base +@import '~@/assets/style/fixed/base.scss'; +// 补丁 element +@import '~@/assets/style/fixed/element.scss'; +// 补丁 markdown +@import '~@/assets/style/fixed/markdown.scss'; +// 补丁 vue-splitpane +@import '~@/assets/style/fixed/vue-splitpane.scss'; +// 补丁 vue-grid-layout +@import '~@/assets/style/fixed/vue-grid-layout.scss'; + +// 动画 +@import '~@/assets/style/animate/vue-transition.scss'; + +// 在这里写公用的class +// 注意 这个文件里只写class +// mixin等内容请在 public.scss 里书写 + +// 文字相关 +.#{$prefix}-text-center { + text-align: center; +} + +// 浮动相关 +.#{$prefix}-fl { + float: left; +} +.#{$prefix}-fr { + float: right; +} +.#{$prefix}-clearfix:before, +.#{$prefix}-clearfix:after { + display: table; + content: ""; +} +.#{$prefix}-clearfix:after { + clear: both +} + +// 边距相关 +$sizes: (0, 10, 15, 20); + +@for $index from 1 to 5 { + .#{$prefix}-m-#{nth($sizes, $index)} { margin: #{nth($sizes, $index)}px !important; } + .#{$prefix}-mt-#{nth($sizes, $index)} { margin-top: #{nth($sizes, $index)}px !important; } + .#{$prefix}-mr-#{nth($sizes, $index)} { margin-right: #{nth($sizes, $index)}px !important; } + .#{$prefix}-mb-#{nth($sizes, $index)} { margin-bottom: #{nth($sizes, $index)}px !important; } + .#{$prefix}-ml-#{nth($sizes, $index)} { margin-left: #{nth($sizes, $index)}px !important; } + + .#{$prefix}-p-#{nth($sizes, $index)} { padding: #{nth($sizes, $index)}px !important; } + .#{$prefix}-pt-#{nth($sizes, $index)} { padding-top: #{nth($sizes, $index)}px !important; } + .#{$prefix}-pr-#{nth($sizes, $index)} { padding-right: #{nth($sizes, $index)}px !important; } + .#{$prefix}-pb-#{nth($sizes, $index)} { padding-bottom: #{nth($sizes, $index)}px !important; } + .#{$prefix}-pl-#{nth($sizes, $index)} { padding-left: #{nth($sizes, $index)}px !important; } +} + +// 快速使用 + +.#{$prefix}-m { margin: 20px !important; } +.#{$prefix}-mt { margin-top: 20px !important; } +.#{$prefix}-mr { margin-right: 20px !important; } +.#{$prefix}-mb { margin-bottom: 20px !important; } +.#{$prefix}-ml { margin-left: 20px !important; } + +.#{$prefix}-p { padding: 20px !important; } +.#{$prefix}-pt { padding-top: 20px !important; } +.#{$prefix}-pr { padding-right: 20px !important; } +.#{$prefix}-pb { padding-bottom: 20px !important; } +.#{$prefix}-pl { padding-left: 20px !important; } diff --git a/src/assets/style/public.scss b/src/assets/style/public.scss new file mode 100644 index 00000000..3f369996 --- /dev/null +++ b/src/assets/style/public.scss @@ -0,0 +1,44 @@ +@import '~@/assets/style/unit/_color.scss'; + +// 工具类名统一前缀 +$prefix: d2; + +// 禁止用户选中 鼠标变为手形 +%unable-select { + user-select: none; + cursor: pointer; +} + +// 填满父元素 +// 组要父元素 position: relative | absolute; +%full { + position: absolute; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; +} + +// flex 垂直水平居中 +%flex-center-row { + display: flex; + justify-content: center; + align-items: center; + flex-direction: row; +} +%flex-center-col { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; +} + +// 将元素模拟成卡片外观 +%card { + border: 1px solid #dddee1; + border-color: #e9eaec; + background: #fff; + border-radius: 4px; + font-size: 14px; + position: relative; +} \ No newline at end of file diff --git a/src/assets/style/theme/d2/index.scss b/src/assets/style/theme/d2/index.scss new file mode 100644 index 00000000..7b69d576 --- /dev/null +++ b/src/assets/style/theme/d2/index.scss @@ -0,0 +1,2 @@ +@import './setting.scss'; +@import '../theme.scss'; diff --git a/src/assets/style/theme/d2/setting.scss b/src/assets/style/theme/d2/setting.scss new file mode 100644 index 00000000..827d5afd --- /dev/null +++ b/src/assets/style/theme/d2/setting.scss @@ -0,0 +1,59 @@ +// 主题名称 +$theme-name: 'd2'; +// 主题背景颜色 +$theme-bg-color: #ebf1f6; +// 主题背景图片遮罩 +$theme-bg-mask: rgba(#000, 0); + +// container组件 +$theme-container-background-color: rgba(#FFF, 1); +$theme-container-header-footer-background-color: #FFF; +$theme-container-border-inner: 1px solid #cfd7e5; +$theme-container-border-outer: 1px solid #cfd7e5; + +$theme-multiple-page-control-color: $color-text-normal; +$theme-multiple-page-control-color-active: #2f74ff; +$theme-multiple-page-control-nav-prev-color: #cfd7e5; +$theme-multiple-page-control-nav-next-color: #cfd7e5; +$theme-multiple-page-control-border-color: #cfd7e5; +$theme-multiple-page-control-border-color-active: #FFF; +$theme-multiple-page-control-background-color: rgba(#000, .03); +$theme-multiple-page-control-background-color-active: #FFF; + +// 顶栏和侧边栏中展开的菜单 hover 状态下 +$theme-menu-item-color-hover: #293849; +$theme-menu-item-background-color-hover: #ecf5ff; + +// 顶栏上的文字颜色 +$theme-header-item-color: $color-text-normal; +$theme-header-item-background-color: transparent; +// 顶栏上的项目在 hover 时 +$theme-header-item-color-hover: #2f74ff; +$theme-header-item-background-color-hover: rgba(#FFF, .5); +// 顶栏上的项目在 focus 时 +$theme-header-item-color-focus: #2f74ff; +$theme-header-item-background-color-focus: rgba(#FFF, .5); +// 顶栏上的项目在 active 时 +$theme-header-item-color-active: #2f74ff; +$theme-header-item-background-color-active: rgba(#FFF, .5); + +// 侧边栏上的文字颜色 +$theme-aside-item-color: $color-text-normal; +$theme-aside-item-background-color: transparent; +// 侧边栏上的项目在 hover 时 +$theme-aside-item-color-hover: #2f74ff; +$theme-aside-item-background-color-hover: rgba(#FFF, .5); +// 侧边栏上的项目在 focus 时 +$theme-aside-item-color-focus: #2f74ff; +$theme-aside-item-background-color-focus: rgba(#FFF, .5); +// 侧边栏上的项目在 active 时 +$theme-aside-item-color-active: #2f74ff; +$theme-aside-item-background-color-active: rgba(#FFF, .5); + +// 侧边栏菜单为空的时候显示的元素 +$theme-aside-menu-empty-icon-color: $color-text-normal; +$theme-aside-menu-empty-text-color: $color-text-normal; +$theme-aside-menu-empty-background-color: rgba(#000, .03); +$theme-aside-menu-empty-icon-color-hover: $color-text-main; +$theme-aside-menu-empty-text-color-hover: $color-text-main; +$theme-aside-menu-empty-background-color-hover: rgba(#000, .05); \ No newline at end of file diff --git a/src/assets/style/theme/line/index.scss b/src/assets/style/theme/line/index.scss new file mode 100644 index 00000000..7b69d576 --- /dev/null +++ b/src/assets/style/theme/line/index.scss @@ -0,0 +1,2 @@ +@import './setting.scss'; +@import '../theme.scss'; diff --git a/src/assets/style/theme/line/setting.scss b/src/assets/style/theme/line/setting.scss new file mode 100644 index 00000000..1b56ce24 --- /dev/null +++ b/src/assets/style/theme/line/setting.scss @@ -0,0 +1,59 @@ +// 主题名称 +$theme-name: 'line'; +// 主题背景颜色 +$theme-bg-color: #f8f8f9; +// 主题背景图片遮罩 +$theme-bg-mask: rgba(#000, 0); + +// container组件 +$theme-container-background-color: rgba(#FFF, .8); +$theme-container-header-footer-background-color: #FFF; +$theme-container-border-inner: 1px solid $color-border-2; +$theme-container-border-outer: 1px solid #cfd7e5; + +$theme-multiple-page-control-color: #FFF; +$theme-multiple-page-control-color-active: $color-text-normal; +$theme-multiple-page-control-nav-prev-color: #cfd7e5; +$theme-multiple-page-control-nav-next-color: #cfd7e5; +$theme-multiple-page-control-border-color: #cfd7e5; +$theme-multiple-page-control-border-color-active: #FFF; +$theme-multiple-page-control-background-color: #cfd7e5; +$theme-multiple-page-control-background-color-active: #FFF; + +// 顶栏和侧边栏中展开的菜单 hover 状态下 +$theme-menu-item-color-hover: #293849; +$theme-menu-item-background-color-hover: #EFEFEF; + +// 顶栏上的文字颜色 +$theme-header-item-color: $color-text-normal; +$theme-header-item-background-color: transparent; +// 顶栏上的项目在 hover 时 +$theme-header-item-color-hover: $color-text-main; +$theme-header-item-background-color-hover: rgba(#000, .02); +// 顶栏上的项目在 focus 时 +$theme-header-item-color-focus: $color-text-main; +$theme-header-item-background-color-focus: rgba(#000, .02); +// 顶栏上的项目在 active 时 +$theme-header-item-color-active: $color-text-main; +$theme-header-item-background-color-active: rgba(#000, .03); + +// 侧边栏上的文字颜色 +$theme-aside-item-color: $color-text-normal; +$theme-aside-item-background-color: transparent; +// 侧边栏上的项目在 hover 时 +$theme-aside-item-color-hover: $color-text-main; +$theme-aside-item-background-color-hover: rgba(#000, .02); +// 侧边栏上的项目在 focus 时 +$theme-aside-item-color-focus: $color-text-main; +$theme-aside-item-background-color-focus: rgba(#000, .02); +// 侧边栏上的项目在 active 时 +$theme-aside-item-color-active: $color-text-main; +$theme-aside-item-background-color-active: rgba(#000, .03); + +// 侧边栏菜单为空的时候显示的元素 +$theme-aside-menu-empty-icon-color: $color-text-normal; +$theme-aside-menu-empty-text-color: $color-text-normal; +$theme-aside-menu-empty-background-color: rgba(#000, .03); +$theme-aside-menu-empty-icon-color-hover: $color-text-main; +$theme-aside-menu-empty-text-color-hover: $color-text-main; +$theme-aside-menu-empty-background-color-hover: rgba(#000, .05); \ No newline at end of file diff --git a/src/assets/style/theme/list.js b/src/assets/style/theme/list.js new file mode 100644 index 00000000..105e90d7 --- /dev/null +++ b/src/assets/style/theme/list.js @@ -0,0 +1,29 @@ +export default [ + { + title: 'd2admin 经典', + name: 'd2', + preview: 'theme/d2/preview@2x.png' + }, + { + title: '紫罗兰', + name: 'violet', + preview: 'theme/violet/preview@2x.png' + }, + { + title: '简约线条', + name: 'line', + backgroundImage: 'theme/line/bg.jpg', + preview: 'theme/line/preview@2x.png' + }, + { + title: '流星', + name: 'star', + backgroundImage: 'theme/star/bg.jpg', + preview: 'theme/star/preview@2x.png' + }, + { + title: 'Tomorrow Night Blue (vsCode)', + name: 'tomorrow-night-blue', + preview: 'theme/tomorrow-night-blue/preview@2x.png' + } +] diff --git a/src/assets/style/theme/register.scss b/src/assets/style/theme/register.scss new file mode 100644 index 00000000..92ef3828 --- /dev/null +++ b/src/assets/style/theme/register.scss @@ -0,0 +1,8 @@ +@import '~@/assets/style/public.scss'; +@import '~@/assets/style/theme/theme-base.scss'; + +@import '~@/assets/style/theme/d2/index.scss'; +@import '~@/assets/style/theme/line/index.scss'; +@import '~@/assets/style/theme/star/index.scss'; +@import '~@/assets/style/theme/tomorrow-night-blue/index.scss'; +@import '~@/assets/style/theme/violet/index.scss'; \ No newline at end of file diff --git a/src/assets/style/theme/star/index.scss b/src/assets/style/theme/star/index.scss new file mode 100644 index 00000000..7b69d576 --- /dev/null +++ b/src/assets/style/theme/star/index.scss @@ -0,0 +1,2 @@ +@import './setting.scss'; +@import '../theme.scss'; diff --git a/src/assets/style/theme/star/setting.scss b/src/assets/style/theme/star/setting.scss new file mode 100644 index 00000000..88fd3954 --- /dev/null +++ b/src/assets/style/theme/star/setting.scss @@ -0,0 +1,59 @@ +// 主题名称 +$theme-name: 'star'; +// 主题背景颜色 +$theme-bg-color: #EFF4F8; +// 主题背景图片遮罩 +$theme-bg-mask: rgba(#000, .3); + +// container组件 +$theme-container-background-color: rgba(#FFF, .9); +$theme-container-header-footer-background-color: #FFF; +$theme-container-border-inner: 1px solid $color-border-1; +$theme-container-border-outer: 1px solid #114450; + +$theme-multiple-page-control-color: #FFF; +$theme-multiple-page-control-color-active: $color-text-normal; +$theme-multiple-page-control-nav-prev-color: #FFF; +$theme-multiple-page-control-nav-next-color: #FFF; +$theme-multiple-page-control-border-color: #114450; +$theme-multiple-page-control-border-color-active: #FFF; +$theme-multiple-page-control-background-color: rgba(#FFF, .5); +$theme-multiple-page-control-background-color-active: #FFF; + +// 顶栏和侧边栏中展开的菜单 hover 状态下 +$theme-menu-item-color-hover: #293849; +$theme-menu-item-background-color-hover: #ecf5ff; + +// 顶栏上的文字颜色 +$theme-header-item-color: #FFF; +$theme-header-item-background-color: transparent; +// 顶栏上的项目在 hover 时 +$theme-header-item-color-hover: #FFF; +$theme-header-item-background-color-hover: rgba(#000, .2); +// 顶栏上的项目在 focus 时 +$theme-header-item-color-focus: #FFF; +$theme-header-item-background-color-focus: rgba(#000, .2); +// 顶栏上的项目在 active 时 +$theme-header-item-color-active: #FFF; +$theme-header-item-background-color-active: rgba(#000, .3); + +// 侧边栏上的文字颜色 +$theme-aside-item-color: #FFF; +$theme-aside-item-background-color: transparent; +// 侧边栏上的项目在 hover 时 +$theme-aside-item-color-hover: #FFF; +$theme-aside-item-background-color-hover: rgba(#000, .2); +// 侧边栏上的项目在 focus 时 +$theme-aside-item-color-focus: #FFF; +$theme-aside-item-background-color-focus: rgba(#000, .2); +// 侧边栏上的项目在 active 时 +$theme-aside-item-color-active: #FFF; +$theme-aside-item-background-color-active: rgba(#000, .3); + +// 侧边栏菜单为空的时候显示的元素 +$theme-aside-menu-empty-icon-color: #FFF; +$theme-aside-menu-empty-text-color: #FFF; +$theme-aside-menu-empty-background-color: rgba(#FFF, .2); +$theme-aside-menu-empty-icon-color-hover: #FFF; +$theme-aside-menu-empty-text-color-hover: #FFF; +$theme-aside-menu-empty-background-color-hover: rgba(#FFF, .3); \ No newline at end of file diff --git a/src/assets/style/theme/theme-base.scss b/src/assets/style/theme/theme-base.scss new file mode 100644 index 00000000..a9622a96 --- /dev/null +++ b/src/assets/style/theme/theme-base.scss @@ -0,0 +1,316 @@ +// 整体框架结构 +.d2-layout-main-group { + height: 100%; + width: 100%; + background-size: cover; + background-position: center; + overflow: hidden; + position: relative; + // 背景上面的半透明遮罩 + .d2-layout-main-mask { + @extend %full; + } + // 内容层 + .d2-layout-main-content { + @extend %full; + $d2-theme-header-height: 60px; + .d2-theme-header { + position: absolute; + top: 0px; + left: 0px; + right: 0px; + height: $d2-theme-header-height; + } + .d2-theme-container { + position: absolute; + top: $d2-theme-header-height; + bottom: 0px; + left: 0px; + right: 0px; + display: flex; + flex-direction: row; + .d2-theme-container-aside { + transition: width .3s; + flex-grow: 0; + position: relative; + .d2-layout-main-menu-side { + @extend %full; + overflow: hidden; + } + } + .d2-theme-container-main { + flex-grow: 1; + padding: 0px; + position: relative; + overflow: hidden; + display: flex; + flex-direction: column; + .d2-theme-container-main-header { + flex-grow: 0; + } + .d2-theme-container-main-body { + flex-grow: 1; + margin-top: 1px; + position: relative; + } + } + } + } +} + + + + + + + + +// 主题公用 +.d2-layout-main-group { + &.grayMode { + -webkit-filter: grayscale(100%); + -moz-filter: grayscale(100%); + -ms-filter: grayscale(100%); + -o-filter: grayscale(100%); + filter: grayscale(100%); + filter: gray; + } + // 主体 + .d2-layout-main-content { + // [布局] 顶栏 + .d2-theme-header { + // logo区域 + .logo-group { + transition: width .3s; + float: left; + text-align: center; + img { + height: 60px; + } + } + // 折叠侧边栏切换按钮 + .toggle-aside-btn { + float: left; + height: 60px; + width: 60px; + display: flex; + justify-content: center; + align-items: center; + @extend %unable-select; + i { + font-size: 20px; + margin-top: 4px; + } + } + // [菜单] 顶栏 + .el-menu { + float: left; + border-bottom: none; + background-color: transparent; + %header-menu-item { + @extend %unable-select; + i.fa { + font-size: 16px; + margin-right: 4px; + } + } + .el-menu-item { + @extend %header-menu-item; + border-bottom: none; + } + .el-submenu { + @extend %header-menu-item; + .el-submenu__title { + border-bottom: none; + } + } + } + // 顶栏右侧的按钮 + .d2-header-right { + float: right; + height: 60px; + display: flex; + align-items: center; + .btn-text { + padding: 14px 12px; + border-radius: 4px; + margin: 0px !important; + margin-left: 10px !important; + } + .el-dropdown { + @extend %unable-select; + } + } + } + // [布局] 顶栏下面 + .d2-theme-container { + // 侧边栏 + .d2-theme-container-aside { + // [菜单] 正常状态 + .el-menu { + @extend %unable-select; + background-color: transparent; + border-right: none; + .el-menu-item { + i { + margin-left: 4px; + margin-right: 5px; + font-size: 16px; + } + } + } + .el-submenu { + @extend %unable-select; + .el-submenu__title { + i { + margin-left: 4px; + margin-right: 5px; + font-size: 16px; + } + .el-submenu__icon-arrow { + margin-top: -10px; + } + } + } + // 菜单为空的时候显示的信息 + .d2-layout-main-menu-empty { + height: 160px; + margin: 10px; + margin-top: 0px; + border-radius: 4px; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + @extend %unable-select; + i { + font-size: 30px; + margin-bottom: 10px; + } + span { + font-size: 14px; + } + } + // [菜单] 折叠状态 + .el-menu--collapse { + background-color: transparent; + .el-submenu__title { + text-align: center; + } + } + } + // 右下 主体 + .d2-theme-container-main { + // 主体部分分为多页面控制器 和主体 + .d2-theme-container-main-header { + // 多页面控制器 + .d2-multiple-page-control-group { + display: flex; + margin-right: 20px; + .d2-multiple-page-control-content { + flex-grow: 1; + position: relative; + .d2-multiple-page-control-content-inner { + position: absolute; + left: 0px; + right: 0px; + .d2-multiple-page-control { + .el-tabs__header.is-top { + margin: 0px; + } + .el-tabs__nav { + overflow: hidden; + } + } + } + } + .d2-multiple-page-control-btn { + position: relative; + bottom: -1px; + .el-dropdown { + .el-button-group { + .el-button:first-child { + border-bottom-left-radius: 0px; + } + .el-button:last-child { + border-bottom-right-radius: 0px; + } + } + } + } + } + } + // 主体 + .d2-theme-container-main-body { + // 布局组件 + .container-component { + @extend %full; + overflow: hidden; + // 填充式布局组件 + .d2-container-full { + position: absolute; + top: 0px; + right: 20px; + bottom: 0px; + left: 0px; + display: flex; + flex-direction: column; + overflow: hidden; + .d2-container-full__header { + padding: 20px; + } + .d2-container-full__body { + flex-grow: 1; + padding: 20px 20px; + overflow: auto; + position: relative; + } + .d2-container-full__footer { + padding: 20px; + } + } + // 填充式布局组件 - 滚动优化 + .d2-container-full-bs { + position: absolute; + top: 0px; + right: 20px; + bottom: 0px; + left: 0px; + display: flex; + flex-direction: column; + overflow: hidden; + .d2-container-full-bs__header { + padding: 20px; + } + .d2-container-full-bs__body { + flex-grow: 1; + padding: 0px 20px; + overflow: hidden; + position: relative; + } + .d2-container-full-bs__footer { + padding: 20px; + } + } + // 卡片布局组件 + .d2-container-card { + border-top-left-radius: 0px; + border-top-right-radius: 0px; + } + // 隐形布局组件 + .d2-container-ghost { + margin-right: 20px; + margin-bottom: 20px; + .d2-container-ghost-header { + border-top: none; + border-top-left-radius: 0px; + border-top-right-radius: 0px; + margin-bottom: 20px; + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/src/assets/style/theme/theme.scss b/src/assets/style/theme/theme.scss new file mode 100644 index 00000000..ffda8197 --- /dev/null +++ b/src/assets/style/theme/theme.scss @@ -0,0 +1,323 @@ +// 每个主题特有的设置 +.theme-#{$theme-name} { + + // 背景图片和遮罩 + .d2-layout-main-group { + background-color: $theme-bg-color; + .d2-layout-main-mask { + background: $theme-bg-mask; + } + } + + // 菜单项目 + @mixin theme-menu-hover-style { + color: $theme-menu-item-color-hover; + i.fa { + color: $theme-menu-item-color-hover; + } + background: $theme-menu-item-background-color-hover; + } + %icon { + i.fa { + display: inline-block; + width: 15px; + text-align: center; + margin-right: 5px; + } + } + .el-submenu__title { + @extend %unable-select; + @extend %icon; + } + .el-menu-item { + @extend %unable-select; + @extend %icon; + } + .el-submenu__title:hover { + @include theme-menu-hover-style; + } + .el-menu-item:hover { + @include theme-menu-hover-style; + } + .el-menu--horizontal .el-menu-item:not(.is-disabled):hover { + @include theme-menu-hover-style; + } + .el-menu--horizontal .el-menu .el-submenu__title:hover { + @include theme-menu-hover-style; + } + + // 顶栏 + .d2-theme-header { + // 切换按钮 + .toggle-aside-btn { + i { + color: $theme-header-item-color; + background: $theme-header-item-background-color; + &:hover { + color: $theme-header-item-color-hover; + } + } + } + // 顶栏菜单 + .el-menu { + .el-menu-item { + transition: border-top-color 0s; + color: $theme-header-item-color; + background: $theme-header-item-background-color; + i.fa { color: inherit; } + &:hover { + color: $theme-header-item-color-hover; + background: $theme-header-item-background-color-hover; + i.fa { color: inherit; } + } + &:focus { + color: $theme-header-item-color-focus; + background: $theme-header-item-background-color-focus; + i.fa { color: inherit; } + } + &.is-active { + color: $theme-header-item-color-active; + background: $theme-header-item-background-color-active; + i.fa { color: inherit; } + } + } + .el-submenu { + .el-submenu__title { + transition: border-top-color 0s; + color: $theme-header-item-color; + background: $theme-header-item-background-color; + i.fa { color: inherit; } + .el-submenu__icon-arrow { + color: $theme-header-item-color; + } + &:hover { + color: $theme-header-item-color-hover; + background: $theme-header-item-background-color-hover; + i.fa { color: inherit; } + .el-submenu__icon-arrow { + color: $theme-header-item-color-hover; + } + } + &:focus { + color: $theme-header-item-color-focus; + background: $theme-header-item-background-color-focus; + i.fa { color: inherit; } + .el-submenu__icon-arrow { + color: $theme-header-item-color-focus; + } + } + } + } + } + // 顶栏右侧 + .d2-header-right { + .btn-text { + color: $theme-header-item-color; + &.can-hover { + &:hover { + color: $theme-header-item-color-hover; + background: $theme-header-item-background-color-hover; + } + } + } + } + } + // [布局] 顶栏下面 + .d2-theme-container { + // 侧边栏 + .d2-theme-container-aside { + // 菜单为空的时候显示的信息 + .d2-layout-main-menu-empty { + background: $theme-aside-menu-empty-background-color; + i { + color: $theme-aside-menu-empty-icon-color; + } + span { + color: $theme-aside-menu-empty-text-color; + } + &:hover { + background: $theme-aside-menu-empty-background-color-hover; + i { + color: $theme-aside-menu-empty-icon-color-hover; + } + span { + color: $theme-aside-menu-empty-text-color-hover; + } + } + } + // [菜单] 正常状态 + .el-menu { + .el-menu-item { + color: $theme-aside-item-color; + background: $theme-aside-item-background-color; + i { + color: $theme-aside-item-color; + } + &:hover { + color: $theme-aside-item-color-hover; + background: $theme-aside-item-background-color-hover; + i { + color: $theme-aside-item-color-hover; + } + } + &:focus { + color: $theme-aside-item-color-focus; + background: $theme-aside-item-background-color-focus; + i { + color: $theme-aside-item-color-focus; + } + } + &.is-active { + color: $theme-aside-item-color-active; + background: $theme-aside-item-background-color-active; + i { + color: $theme-aside-item-color-active; + } + } + } + } + .el-submenu { + .el-submenu__title { + color: $theme-aside-item-color; + background: $theme-aside-item-background-color; + i { + color: $theme-aside-item-color; + } + .el-submenu__icon-arrow { + color: $theme-aside-item-color; + } + &:hover { + color: $theme-aside-item-color-hover; + background: $theme-aside-item-background-color-hover; + i { + color: $theme-aside-item-color-hover; + } + .el-submenu__icon-arrow { + color: $theme-aside-item-color-hover; + } + } + } + } + } + .d2-theme-container-main { + // 主体部分分为多页面控制器 和主体 + .d2-theme-container-main-header { + // 多页面控制器 + .d2-multiple-page-control { + .el-tabs__header.is-top { + border-bottom-color: $theme-multiple-page-control-border-color; + } + .el-tabs__nav { + border-color: $theme-multiple-page-control-border-color; + .el-tabs__item { + @extend %unable-select; + color: $theme-multiple-page-control-color; + background-color: $theme-multiple-page-control-background-color; + border-left-color: $theme-multiple-page-control-border-color; + &:first-child { + border-left: none; + &:hover { + padding: 0px 20px; + } + .el-icon-close { + display: none; + } + } + } + .el-tabs__item.is-active { + color: $theme-multiple-page-control-color-active; + background-color: $theme-multiple-page-control-background-color-active; + border-bottom-color: $theme-multiple-page-control-border-color-active; + } + } + %el-tabs__nav { + font-size: 20px; + } + .el-tabs__nav-prev { + @extend %el-tabs__nav; + color: $theme-multiple-page-control-nav-prev-color; + } + .el-tabs__nav-next { + @extend %el-tabs__nav; + color: $theme-multiple-page-control-nav-next-color; + } + } + // 多页控制器的关闭控制 + .d2-multiple-page-control-btn { + .el-dropdown { + .el-button-group { + .el-button { + border-color: $theme-multiple-page-control-border-color; + } + } + } + } + } + // 主体 + .d2-theme-container-main-body { + // 布局组件 + .container-component { + // [组件] + // d2-container-full 填充型 + .d2-container-full { + border: $theme-container-border-outer; + border-top: none; + border-bottom: none; + .d2-container-full__header { + border-bottom: $theme-container-border-inner; + background: $theme-container-header-footer-background-color; + } + .d2-container-full__body { + background: $theme-container-background-color; + } + .d2-container-full__footer { + border-top: $theme-container-border-inner; + background: $theme-container-header-footer-background-color; + } + } + // [组件] + // d2-container-full-bs 填充型 滚动优化 + .d2-container-full-bs { + border: $theme-container-border-outer; + border-top: none; + border-bottom: none; + .d2-container-full-bs__header { + border-bottom: $theme-container-border-inner; + background: $theme-container-header-footer-background-color; + } + .d2-container-full-bs__body { + background: $theme-container-background-color; + } + .d2-container-full-bs__footer { + border-top: $theme-container-border-inner; + background: $theme-container-header-footer-background-color; + } + } + // [组件] + // d2-container-card 卡片型 + .d2-container-card { + border: $theme-container-border-outer; + border-top: none; + background: transparent; + &>.el-card__header { + border-bottom: $theme-container-border-inner; + background: $theme-container-header-footer-background-color; + } + &>.el-card__body { + background: $theme-container-background-color; + } + } + // 隐形布局组件 + .d2-container-ghost { + .d2-container-ghost-header { + border: $theme-container-border-outer; + &>.el-card__body { + background: $theme-container-header-footer-background-color; + } + } + } + } + } + } + } +} diff --git a/src/assets/style/theme/tomorrow-night-blue/index.scss b/src/assets/style/theme/tomorrow-night-blue/index.scss new file mode 100644 index 00000000..7b69d576 --- /dev/null +++ b/src/assets/style/theme/tomorrow-night-blue/index.scss @@ -0,0 +1,2 @@ +@import './setting.scss'; +@import '../theme.scss'; diff --git a/src/assets/style/theme/tomorrow-night-blue/setting.scss b/src/assets/style/theme/tomorrow-night-blue/setting.scss new file mode 100644 index 00000000..f80e797f --- /dev/null +++ b/src/assets/style/theme/tomorrow-night-blue/setting.scss @@ -0,0 +1,59 @@ +// 主题名称 +$theme-name: 'tomorrow-night-blue'; +// 主题背景颜色 +$theme-bg-color: #002253; +// 主题背景图片遮罩 +$theme-bg-mask: rgba(#000, 0); + +// container组件 +$theme-container-background-color: rgba(#FFF, 1); +$theme-container-header-footer-background-color: #FFF; +$theme-container-border-inner: 1px solid $color-border-1; +$theme-container-border-outer: 1px solid #002253; + +$theme-multiple-page-control-color: #FFF; +$theme-multiple-page-control-color-active: $color-text-normal; +$theme-multiple-page-control-nav-prev-color: #FFF; +$theme-multiple-page-control-nav-next-color: #FFF; +$theme-multiple-page-control-border-color: #002253; +$theme-multiple-page-control-border-color-active: #FFF; +$theme-multiple-page-control-background-color: rgba(#FFF, .2); +$theme-multiple-page-control-background-color-active: #FFF; + +// 顶栏和侧边栏中展开的菜单 hover 状态下 +$theme-menu-item-color-hover: #293849; +$theme-menu-item-background-color-hover: #ecf5ff; + +// 顶栏上的文字颜色 +$theme-header-item-color: #FF929A; +$theme-header-item-background-color: transparent; +// 顶栏上的项目在 hover 时 +$theme-header-item-color-hover: #FFEBA4; +$theme-header-item-background-color-hover: rgba(#FFF, .05); +// 顶栏上的项目在 focus 时 +$theme-header-item-color-focus: #FFB870; +$theme-header-item-background-color-focus: rgba(#FFF, .05); +// 顶栏上的项目在 active 时 +$theme-header-item-color-active: #FFB870; +$theme-header-item-background-color-active: rgba(#FFF, .05); + +// 侧边栏上的文字颜色 +$theme-aside-item-color: #FF929A; +$theme-aside-item-background-color: transparent; +// 侧边栏上的项目在 hover 时 +$theme-aside-item-color-hover: #FFEBA4; +$theme-aside-item-background-color-hover: rgba(#FFF, .05); +// 侧边栏上的项目在 focus 时 +$theme-aside-item-color-focus: #FFB870; +$theme-aside-item-background-color-focus: rgba(#FFF, .05); +// 侧边栏上的项目在 active 时 +$theme-aside-item-color-active: #FFB870; +$theme-aside-item-background-color-active: rgba(#FFF, .05); + +// 侧边栏菜单为空的时候显示的元素 +$theme-aside-menu-empty-icon-color: #FFB870; +$theme-aside-menu-empty-text-color: #FFB870; +$theme-aside-menu-empty-background-color: rgba(#FFF, .1); +$theme-aside-menu-empty-icon-color-hover: #FFEBA4; +$theme-aside-menu-empty-text-color-hover: #FFEBA4; +$theme-aside-menu-empty-background-color-hover: rgba(#FFF, .2); \ No newline at end of file diff --git a/src/assets/style/theme/violet/index.scss b/src/assets/style/theme/violet/index.scss new file mode 100644 index 00000000..66943b90 --- /dev/null +++ b/src/assets/style/theme/violet/index.scss @@ -0,0 +1,9 @@ +@import './setting.scss'; +@import '../theme.scss'; + +.theme-#{$theme-name} { + .d2-layout-main-group { + background: #bc00e3; + background: linear-gradient(120deg, #bc00e3 0%, #4EFFFB 100%); + } +} \ No newline at end of file diff --git a/src/assets/style/theme/violet/setting.scss b/src/assets/style/theme/violet/setting.scss new file mode 100644 index 00000000..441b1b2c --- /dev/null +++ b/src/assets/style/theme/violet/setting.scss @@ -0,0 +1,59 @@ +// 主题名称 +$theme-name: 'violet'; +// 主题背景颜色 +$theme-bg-color: #000; +// 主题背景图片遮罩 +$theme-bg-mask: rgba(#000, 0); + +// container组件 +$theme-container-background-color: #FFF; +$theme-container-header-footer-background-color: #FFF; +$theme-container-border-inner: 1px solid $color-border-2; +$theme-container-border-outer: 1px solid #8C40E2; + +$theme-multiple-page-control-color: #FFF; +$theme-multiple-page-control-color-active: $color-text-normal; +$theme-multiple-page-control-nav-prev-color: #FFF; +$theme-multiple-page-control-nav-next-color: #FFF; +$theme-multiple-page-control-border-color: #8C40E2; +$theme-multiple-page-control-border-color-active: #FFF; +$theme-multiple-page-control-background-color: rgba(#FFF, .3); +$theme-multiple-page-control-background-color-active: #FFF; + +// 顶栏和侧边栏中展开的菜单 hover 状态下 +$theme-menu-item-color-hover: #293849; +$theme-menu-item-background-color-hover: #ecf5ff; + +// 顶栏上的文字颜色 +$theme-header-item-color: #FFF; +$theme-header-item-background-color: transparent; +// 顶栏上的项目在 hover 时 +$theme-header-item-color-hover: #FFF; +$theme-header-item-background-color-hover: linear-gradient(-180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.12) 100%); +// 顶栏上的项目在 focus 时 +$theme-header-item-color-focus: #FFF; +$theme-header-item-background-color-focus: linear-gradient(-180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.12) 100%); +// 顶栏上的项目在 active 时 +$theme-header-item-color-active: #FFF; +$theme-header-item-background-color-active: linear-gradient(-180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.12) 100%); + +// 侧边栏上的文字颜色 +$theme-aside-item-color: #FFF; +$theme-aside-item-background-color: transparent; +// 侧边栏上的项目在 hover 时 +$theme-aside-item-color-hover: #FFF; +$theme-aside-item-background-color-hover: linear-gradient(90deg, rgba(255,255,255,0.28) 0%, rgba(255,255,255,0.00) 100%); +// 侧边栏上的项目在 focus 时 +$theme-aside-item-color-focus: #FFF; +$theme-aside-item-background-color-focus: linear-gradient(90deg, rgba(255,255,255,0.28) 0%, rgba(255,255,255,0.00) 100%); +// 侧边栏上的项目在 active 时 +$theme-aside-item-color-active: #FFF; +$theme-aside-item-background-color-active: linear-gradient(90deg, rgba(255,255,255,0.28) 0%, rgba(255,255,255,0.00) 100%); + +// 侧边栏菜单为空的时候显示的元素 +$theme-aside-menu-empty-icon-color: #FFF; +$theme-aside-menu-empty-text-color: #FFF; +$theme-aside-menu-empty-background-color: rgba(#000, .1); +$theme-aside-menu-empty-icon-color-hover: #FFF; +$theme-aside-menu-empty-text-color-hover: #FFF; +$theme-aside-menu-empty-background-color-hover: rgba(#000, .15); \ No newline at end of file diff --git a/src/assets/style/unit/_color.scss b/src/assets/style/unit/_color.scss new file mode 100644 index 00000000..6eb123af --- /dev/null +++ b/src/assets/style/unit/_color.scss @@ -0,0 +1,23 @@ +// 主色 +$color-primary: #409EFF; + +// 辅助色 +$color-info: #909399; +$color-success: #67C23A; +$color-warning: #E6A23C; +$color-danger: #F56C6C; + +// 文字 +$color-text-main: #303133; +$color-text-normal: #606266; +$color-text-sub: #909399; +$color-text-placehoder: #C0C4CC; + +// 边框 +$color-border-1: #DCDFE6; +$color-border-2: #E4E7ED; +$color-border-3: #EBEEF5; +$color-border-4: #F2F6FC; + +// 背景 +$color-bg: #f8f8f9; \ No newline at end of file diff --git a/src/components/core/d2-container/components/d2-container-full-bs.vue b/src/components/core/d2-container/components/d2-container-full-bs.vue new file mode 100644 index 00000000..f54c6e7f --- /dev/null +++ b/src/components/core/d2-container/components/d2-container-full-bs.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/components/core/d2-container/components/d2-container-full.vue b/src/components/core/d2-container/components/d2-container-full.vue new file mode 100644 index 00000000..e789a244 --- /dev/null +++ b/src/components/core/d2-container/components/d2-container-full.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/components/core/d2-container/index.vue b/src/components/core/d2-container/index.vue new file mode 100644 index 00000000..0d6922ae --- /dev/null +++ b/src/components/core/d2-container/index.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/src/components/core/d2-count-up/index.vue b/src/components/core/d2-count-up/index.vue new file mode 100644 index 00000000..7a9dc184 --- /dev/null +++ b/src/components/core/d2-count-up/index.vue @@ -0,0 +1,103 @@ + + + diff --git a/src/components/core/d2-highlight/index.vue b/src/components/core/d2-highlight/index.vue new file mode 100644 index 00000000..6eec67a9 --- /dev/null +++ b/src/components/core/d2-highlight/index.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/components/core/d2-icon-select/index.vue b/src/components/core/d2-icon-select/index.vue new file mode 100644 index 00000000..62b131f0 --- /dev/null +++ b/src/components/core/d2-icon-select/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/components/core/d2-icon-svg/index.vue b/src/components/core/d2-icon-svg/index.vue new file mode 100644 index 00000000..86fa8a8b --- /dev/null +++ b/src/components/core/d2-icon-svg/index.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/components/core/d2-icon/index.vue b/src/components/core/d2-icon/index.vue new file mode 100644 index 00000000..0fb026e0 --- /dev/null +++ b/src/components/core/d2-icon/index.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/components/core/d2-layout-main/components/-full-screen/index.vue b/src/components/core/d2-layout-main/components/-full-screen/index.vue new file mode 100644 index 00000000..68f801be --- /dev/null +++ b/src/components/core/d2-layout-main/components/-full-screen/index.vue @@ -0,0 +1,27 @@ + + + diff --git a/src/components/core/d2-layout-main/components/-github/index.vue b/src/components/core/d2-layout-main/components/-github/index.vue new file mode 100644 index 00000000..0cbe460a --- /dev/null +++ b/src/components/core/d2-layout-main/components/-github/index.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/components/core/d2-layout-main/components/-help/index.vue b/src/components/core/d2-layout-main/components/-help/index.vue new file mode 100644 index 00000000..a863f7b6 --- /dev/null +++ b/src/components/core/d2-layout-main/components/-help/index.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/components/core/d2-layout-main/components/-menu-header/index.vue b/src/components/core/d2-layout-main/components/-menu-header/index.vue new file mode 100644 index 00000000..6edaecd1 --- /dev/null +++ b/src/components/core/d2-layout-main/components/-menu-header/index.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/components/core/d2-layout-main/components/-menu-item/index.vue b/src/components/core/d2-layout-main/components/-menu-item/index.vue new file mode 100644 index 00000000..caafa43f --- /dev/null +++ b/src/components/core/d2-layout-main/components/-menu-item/index.vue @@ -0,0 +1,25 @@ + + + diff --git a/src/components/core/d2-layout-main/components/-menu-side/index.vue b/src/components/core/d2-layout-main/components/-menu-side/index.vue new file mode 100644 index 00000000..b5f233bb --- /dev/null +++ b/src/components/core/d2-layout-main/components/-menu-side/index.vue @@ -0,0 +1,100 @@ + + + diff --git a/src/components/core/d2-layout-main/components/-menu-sub/index.vue b/src/components/core/d2-layout-main/components/-menu-sub/index.vue new file mode 100644 index 00000000..88dd903b --- /dev/null +++ b/src/components/core/d2-layout-main/components/-menu-sub/index.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/components/core/d2-layout-main/components/-theme/index.vue b/src/components/core/d2-layout-main/components/-theme/index.vue new file mode 100644 index 00000000..9b24bfda --- /dev/null +++ b/src/components/core/d2-layout-main/components/-theme/index.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/components/core/d2-layout-main/components/-user/index.vue b/src/components/core/d2-layout-main/components/-user/index.vue new file mode 100644 index 00000000..81d10b63 --- /dev/null +++ b/src/components/core/d2-layout-main/components/-user/index.vue @@ -0,0 +1,50 @@ + + + diff --git a/src/components/core/d2-layout-main/components/mixin/menu.js b/src/components/core/d2-layout-main/components/mixin/menu.js new file mode 100644 index 00000000..efd488b1 --- /dev/null +++ b/src/components/core/d2-layout-main/components/mixin/menu.js @@ -0,0 +1,13 @@ +export default { + methods: { + handleMenuSelect (index, indexPath) { + if (/^d2-menu-empty-\d+$/.test(index)) { + this.$message('功能正在开发') + } else { + this.$router.push({ + path: index + }) + } + } + } +} diff --git a/src/components/core/d2-layout-main/index.vue b/src/components/core/d2-layout-main/index.vue new file mode 100644 index 00000000..7012042a --- /dev/null +++ b/src/components/core/d2-layout-main/index.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/src/components/core/d2-markdown/index.vue b/src/components/core/d2-markdown/index.vue new file mode 100644 index 00000000..67c83121 --- /dev/null +++ b/src/components/core/d2-markdown/index.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/src/components/core/d2-markdown/plugin/baidupan.js b/src/components/core/d2-markdown/plugin/baidupan.js new file mode 100644 index 00000000..929c2a3a --- /dev/null +++ b/src/components/core/d2-markdown/plugin/baidupan.js @@ -0,0 +1,35 @@ +export default (quote, assetsPublicPath) => { + const _quote = quote.replace(/<[^<>]+>/g, '').trim() + const bdPanUrl = /^https:\/\/pan\.baidu\.com\/s\/[a-z0-9]+$/i + const bdPanUrlPwd = /^链接: https:\/\/pan\.baidu\.com\/s\/[a-z0-9]+ 密码: [a-z0-9]{4}$/i + if (bdPanUrl.test(_quote)) { + return `` + } else if (bdPanUrlPwd.test(_quote)) { + const url = _quote.match(/https:\/\/pan\.baidu\.com\/s\/[a-z0-9]+/i) + const pwd = _quote.match(/[a-z0-9]{4}$/i) + return `
+
+ +
+ +
+
${url[0]}
+
+
+
+ 密码 + ${pwd[0]} +
+
+
` + } else { + return false + } +} diff --git a/src/components/core/d2-mde/index.vue b/src/components/core/d2-mde/index.vue new file mode 100644 index 00000000..c96e7e93 --- /dev/null +++ b/src/components/core/d2-mde/index.vue @@ -0,0 +1,61 @@ + + + diff --git a/src/components/core/d2-multiple-page-control/index.vue b/src/components/core/d2-multiple-page-control/index.vue new file mode 100644 index 00000000..6d4b84a4 --- /dev/null +++ b/src/components/core/d2-multiple-page-control/index.vue @@ -0,0 +1,118 @@ + + + diff --git a/src/components/core/d2-quill/index.vue b/src/components/core/d2-quill/index.vue new file mode 100644 index 00000000..bb371a01 --- /dev/null +++ b/src/components/core/d2-quill/index.vue @@ -0,0 +1,77 @@ + + + diff --git a/src/components/core/d2-theme-list/index.vue b/src/components/core/d2-theme-list/index.vue new file mode 100644 index 00000000..9038b29b --- /dev/null +++ b/src/components/core/d2-theme-list/index.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/src/components/core/register.js b/src/components/core/register.js new file mode 100644 index 00000000..38a2cbc4 --- /dev/null +++ b/src/components/core/register.js @@ -0,0 +1,23 @@ +import Vue from 'vue' + +import { GridLayout, GridItem } from 'vue-grid-layout' +import SplitPane from 'vue-splitpane' + +import d2Container from '@/components/core/d2-container' +import d2MultiplePageControl from '@/components/core/d2-multiple-page-control' + +Vue.component('d2-grid-layout', GridLayout) +Vue.component('d2-grid-item', GridItem) +Vue.component('SplitPane', SplitPane) + +Vue.component('d2-container', d2Container) +Vue.component('d2-multiple-page-control', d2MultiplePageControl) +Vue.component('d2-count-up', () => import('@/components/core/d2-count-up')) +Vue.component('d2-highlight', () => import('@/components/core/d2-highlight')) +Vue.component('d2-icon', () => import('@/components/core/d2-icon')) +Vue.component('d2-icon-select', () => import('@/components/core/d2-icon-select/index.vue')) +Vue.component('d2-icon-svg', () => import('@/components/core/d2-icon-svg/index.vue')) +Vue.component('d2-markdown', () => import('@/components/core/d2-markdown')) +Vue.component('d2-mde', () => import('@/components/core/d2-mde')) +Vue.component('d2-quill', () => import('@/components/core/d2-quill')) +Vue.component('d2-theme-list', () => import('@/components/core/d2-theme-list')) diff --git a/src/components/demo/d2-demo-link-btn/index.vue b/src/components/demo/d2-demo-link-btn/index.vue new file mode 100644 index 00000000..83fcb8ee --- /dev/null +++ b/src/components/demo/d2-demo-link-btn/index.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/components/demo/d2-demo-page-cover/image/forkme@2x.png.REMOVED.git-id b/src/components/demo/d2-demo-page-cover/image/forkme@2x.png.REMOVED.git-id new file mode 100644 index 00000000..9529b831 --- /dev/null +++ b/src/components/demo/d2-demo-page-cover/image/forkme@2x.png.REMOVED.git-id @@ -0,0 +1 @@ +2b9bebf72405eb8d4f1e62a005d567b3fc94d072 \ No newline at end of file diff --git a/src/components/demo/d2-demo-page-cover/index.vue b/src/components/demo/d2-demo-page-cover/index.vue new file mode 100644 index 00000000..a6ac7d6d --- /dev/null +++ b/src/components/demo/d2-demo-page-cover/index.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/components/demo/d2-demo-page-header/index.vue b/src/components/demo/d2-demo-page-header/index.vue new file mode 100644 index 00000000..5dae952d --- /dev/null +++ b/src/components/demo/d2-demo-page-header/index.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/components/demo/register.js b/src/components/demo/register.js new file mode 100644 index 00000000..30db88c6 --- /dev/null +++ b/src/components/demo/register.js @@ -0,0 +1,7 @@ +import Vue from 'vue' + +import d2DemoLinkBtn from '@/components/demo/d2-demo-link-btn' + +Vue.component('d2-demo-link-btn', d2DemoLinkBtn) +Vue.component('d2-demo-page-header', () => import('@/components/demo/d2-demo-page-header')) +Vue.component('d2-demo-page-cover', () => import('@/components/demo/d2-demo-page-cover')) diff --git a/src/components/index.js b/src/components/index.js new file mode 100644 index 00000000..b21692f3 --- /dev/null +++ b/src/components/index.js @@ -0,0 +1,4 @@ +// 核心组件 +import './core/register' +// 非核心组件 只是在很多演示页面中用到的组件 +import './demo/register' diff --git a/src/i18n/index.js b/src/i18n/index.js new file mode 100644 index 00000000..d78b5c76 --- /dev/null +++ b/src/i18n/index.js @@ -0,0 +1,17 @@ +import Vue from 'vue' +import VueI18n from 'vue-i18n' + +import cn from './lang/cn' +import ja from './lang/ja' +import en from './lang/en' + +Vue.use(VueI18n) + +export default new VueI18n({ + locale: 'cn', + messages: { + cn, + ja, + en + } +}) diff --git a/src/i18n/lang/cn/index.js b/src/i18n/lang/cn/index.js new file mode 100644 index 00000000..c38fff12 --- /dev/null +++ b/src/i18n/lang/cn/index.js @@ -0,0 +1,7 @@ +export default { + pub: { + pageHeader: { + demo: '示例' + } + } +} diff --git a/src/i18n/lang/en/index.js b/src/i18n/lang/en/index.js new file mode 100644 index 00000000..17400a47 --- /dev/null +++ b/src/i18n/lang/en/index.js @@ -0,0 +1,7 @@ +export default { + pub: { + pageHeader: { + demo: 'Demo' + } + } +} diff --git a/src/i18n/lang/ja/index.js b/src/i18n/lang/ja/index.js new file mode 100644 index 00000000..e7e4daab --- /dev/null +++ b/src/i18n/lang/ja/index.js @@ -0,0 +1,7 @@ +export default { + pub: { + pageHeader: { + demo: 'サンプル' + } + } +} diff --git a/src/libs/db.js b/src/libs/db.js new file mode 100644 index 00000000..5f007739 --- /dev/null +++ b/src/libs/db.js @@ -0,0 +1,15 @@ +import low from 'lowdb' +import LocalStorage from 'lowdb/adapters/LocalStorage' + +const adapter = new LocalStorage('d2admin') +const db = low(adapter) + +db.defaults({ + themeActiveName: [], + pageOpenedList: [], + updateNotify: [], + username: [] +}) + .write() + +export default db diff --git a/src/libs/htmlFormat.js.REMOVED.git-id b/src/libs/htmlFormat.js.REMOVED.git-id new file mode 100644 index 00000000..1e313f4a --- /dev/null +++ b/src/libs/htmlFormat.js.REMOVED.git-id @@ -0,0 +1 @@ +637e1ab54544a3296a996a352314ab659e5b43a2 \ No newline at end of file diff --git a/src/libs/util.js b/src/libs/util.js new file mode 100644 index 00000000..5559e97f --- /dev/null +++ b/src/libs/util.js @@ -0,0 +1,84 @@ +// 插件 +import Cookies from 'js-cookie' +import axios from 'axios' +import semver from 'semver' +import dayjs from 'dayjs' + +// 获取项目信息 +import packJson from '../../package.json' + +let util = {} + +/** + * @description 得到现在的用户 + */ +util.uuid = function () { + return Cookies.get('uuid') +} + +/** + * @description 更新标题 + * @param {string} title 标题 + */ +util.title = function title (titleText) { + window.document.title = `${process.env.VUE_APP_TITLE}${titleText ? ` | ${titleText}` : ''}` +} + +/** + * @description 判断是否在其内 + * @param {*} ele element + * @param {array} targetArr array + */ +util.isOneOf = function (ele, targetArr) { + if (targetArr.indexOf(ele) >= 0) { + return true + } else { + return false + } +} + +/** + * @description 打印一个 “胶囊” 样式的信息 + * @param {string} title title text + * @param {string} info info text + */ +util.logCapsule = function (title, info) { + console.log( + `%c ${title} %c ${info} %c`, + 'background:#29384b; padding: 1px; border-radius: 3px 0 0 3px; color: #fff', + 'background:#3488ff; padding: 1px; border-radius: 0 3px 3px 0; color: #fff', + 'background:transparent' + ) +} + +/** + * @description 检查版本更新 + * @param {object} vm vue + */ +util.checkUpdate = function (vm) { + axios.get('https://api.github.com/repos/FairyEver/d2-admin/releases/latest') + .then(res => { + let version = res.tag_name + const update = semver.lt(packJson.version, version) + if (update) { + util.logCapsule('D2Admin', `New version ${res.name}`) + console.log(`${dayjs(res.created_at).format('YYYY年M月D日')}更新 版本号: ${res.tag_name} | 详情${res.html_url}`) + } + vm.$store.commit('d2adminUpdateSet', update) + vm.$store.commit('d2adminReleasesSet', res) + }) + .catch(err => { + console.log('checkUpdate error', err) + }) +} + +/** + * @description 显示版本信息 + */ +util.showInfo = function showInfo () { + util.logCapsule('D2Admin', `v${packJson.version}`) + console.log('Github https://github.com/d2-projects/d2-admin') + console.log('Doc http://d2admin.fairyever.com/zh/') +} + +export default util diff --git a/src/main.js b/src/main.js index f2534569..befc4cc0 100644 --- a/src/main.js +++ b/src/main.js @@ -1,12 +1,100 @@ +import 'babel-polyfill' import Vue from 'vue' -import App from './App.vue' +import App from './App' +import ElementUI from 'element-ui' +import 'element-ui/lib/theme-chalk/index.css' +import 'simplemde/dist/simplemde.min.css' +import 'github-markdown-css' +import VCharts from 'v-charts' +import screenfull from 'screenfull' +import contentmenu from 'v-contextmenu' +import 'v-contextmenu/dist/index.css' +import vueJsonTreeView from 'vue-json-tree-view' +import i18n from './i18n' +import util from '@/libs/util' +import store from '@/store/index' +import { frameInRoutes } from '@/router/routes' +import '@/assets/library/font-awesome-4.7.0/css/font-awesome.min.css' +import '@/assets/icons/index' +import '@/assets/library/highlight/styles/atom-one-light.css' +import '@/components' +import '@/plugin/axios' +import '@/mock/register' +import pluginImport from '@/plugin/import' +import pluginExport from '@/plugin/export' +import pluginLog from '@/plugin/log' +import pluginOpen from '@/plugin/open' import router from './router' -import store from './store' + +Vue.use(ElementUI) +Vue.use(VCharts) +Vue.use(contentmenu) +Vue.use(pluginImport) +Vue.use(pluginExport) +Vue.use(pluginLog) +Vue.use(pluginOpen) +Vue.use(vueJsonTreeView) Vue.config.productionTip = false +Vue.prototype.$env = process.env.NODE_ENV +Vue.prototype.$baseUrl = process.env.BASE_URL + new Vue({ router, store, - render: h => h(App) + i18n, + render: h => h(App), + created () { + // 处理路由 得到每一级的路由设置 + this.getAllTagFromRoutes() + }, + mounted () { + util.showInfo() + // DB -> store 加载用户名 + this.$store.commit('d2adminUsernameLoad') + // DB -> store 加载版本更新弹窗的设置 + this.$store.commit('d2adminUpdateNotifyLoad') + // DB -> store 加载主题 + this.$store.commit('d2adminThemeLoad') + // DB -> store 数据库加载上次退出时的多页列表 + this.$store.commit('d2adminPageOpenedListLoad') + // D2Admin 开发环境检查更新 + util.checkUpdate(this) + // 初始化全屏监听 + this.fullscreenListenerInit() + }, + methods: { + /** + * 初始化全屏监听 + */ + fullscreenListenerInit () { + if (screenfull.enabled) { + screenfull.on('change', () => { + if (!screenfull.isFullscreen) { + this.$store.commit('d2adminFullScreenSet', false) + } + }) + } + }, + /** + * 处理路由 得到每一级的路由设置 + */ + getAllTagFromRoutes () { + // 所有加载在主框架内的页面 + const pool = [] + const push = function (routes) { + routes.forEach(route => { + if (route.children) { + push(route.children) + } else { + const { meta, name, path } = route + pool.push({ meta, name, path }) + } + }) + } + push(frameInRoutes) + this.$store.commit('d2adminTagPoolSet', pool) + } + } }).$mount('#app') diff --git a/src/menu/index.js.REMOVED.git-id b/src/menu/index.js.REMOVED.git-id new file mode 100644 index 00000000..99662213 --- /dev/null +++ b/src/menu/index.js.REMOVED.git-id @@ -0,0 +1 @@ +cd58dd4035b085599e347eeca23d10d01a33cbda \ No newline at end of file diff --git a/src/mock/ajax-demo/index.js b/src/mock/ajax-demo/index.js new file mode 100644 index 00000000..fd3892e6 --- /dev/null +++ b/src/mock/ajax-demo/index.js @@ -0,0 +1,13 @@ +import Mock from 'mockjs' + +Mock.mock('/api/ajax-demo', { + 'list|4-10': [{ + 'id|+1': 1, + 'name': '@CNAME', + 'star|1-5': '★', + 'delFlag|1': [0, 1], + 'creatDate': '@DATE', + 'address': '@CITY', + 'zip': '@ZIP' + }] +}) diff --git a/src/mock/login/index.js b/src/mock/login/index.js new file mode 100644 index 00000000..36cac622 --- /dev/null +++ b/src/mock/login/index.js @@ -0,0 +1,30 @@ +import Mock from 'mockjs' + +const userDB = [ + { + username: 'admin', + password: 'admin', + uuid: 'test-user-uuid', + name: '管理员' + } +] + +Mock.mock('/login', 'post', ({url, type, body}) => { + const bodyObj = JSON.parse(body) + const user = userDB.find(e => e.username === bodyObj.username && e.password === bodyObj.password) + if (user) { + return { + code: 0, + msg: '登陆成功', + data: { + ...user, + token: 'd787syv8dys8cas80d9s0a0d8f79ads56f7s4d56f879a8as89fd980s7dg' + } + } + } else { + return { + code: 401, + msg: '用户名或密码错误' + } + } +}) diff --git a/src/mock/register.js b/src/mock/register.js new file mode 100644 index 00000000..10582b39 --- /dev/null +++ b/src/mock/register.js @@ -0,0 +1,10 @@ +import Mock from 'mockjs' + +import '@/mock/ajax-demo' + +import '@/mock/login' + +// 设置全局延时 没有延时的话有时候会检测不到数据变化 建议保留 +Mock.setup({ + timeout: '300-600' +}) diff --git a/src/plugin/axios/index.js b/src/plugin/axios/index.js new file mode 100644 index 00000000..2c9b5740 --- /dev/null +++ b/src/plugin/axios/index.js @@ -0,0 +1,6 @@ +import Vue from 'vue' +import axios from 'axios' + +// TODO: 做一些封装 + +Vue.prototype.$axios = axios diff --git a/src/plugin/export/_blob.js b/src/plugin/export/_blob.js new file mode 100644 index 00000000..26382ccd --- /dev/null +++ b/src/plugin/export/_blob.js @@ -0,0 +1,179 @@ +/* eslint-disable */ +/* Blob.js + * A Blob implementation. + * 2014-05-27 + * + * By Eli Grey, http://eligrey.com + * By Devin Samarin, https://github.com/eboyjr + * License: X11/MIT + * See LICENSE.md + */ + +/*global self, unescape */ +/*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true, + plusplus: true */ + +/*! @source http://purl.eligrey.com/github/Blob.js/blob/master/Blob.js */ + +(function (view) { + "use strict"; + + view.URL = view.URL || view.webkitURL; + + if (view.Blob && view.URL) { + try { + new Blob; + return; + } catch (e) {} + } + + // Internally we use a BlobBuilder implementation to base Blob off of + // in order to support older browsers that only have BlobBuilder + var BlobBuilder = view.BlobBuilder || view.WebKitBlobBuilder || view.MozBlobBuilder || (function(view) { + var + get_class = function(object) { + return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1]; + } + , FakeBlobBuilder = function BlobBuilder() { + this.data = []; + } + , FakeBlob = function Blob(data, type, encoding) { + this.data = data; + this.size = data.length; + this.type = type; + this.encoding = encoding; + } + , FBB_proto = FakeBlobBuilder.prototype + , FB_proto = FakeBlob.prototype + , FileReaderSync = view.FileReaderSync + , FileException = function(type) { + this.code = this[this.name = type]; + } + , file_ex_codes = ( + "NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR " + + "NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR" + ).split(" ") + , file_ex_code = file_ex_codes.length + , real_URL = view.URL || view.webkitURL || view + , real_create_object_URL = real_URL.createObjectURL + , real_revoke_object_URL = real_URL.revokeObjectURL + , URL = real_URL + , btoa = view.btoa + , atob = view.atob + + , ArrayBuffer = view.ArrayBuffer + , Uint8Array = view.Uint8Array + ; + FakeBlob.fake = FB_proto.fake = true; + while (file_ex_code--) { + FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1; + } + if (!real_URL.createObjectURL) { + URL = view.URL = {}; + } + URL.createObjectURL = function(blob) { + var + type = blob.type + , data_URI_header + ; + if (type === null) { + type = "application/octet-stream"; + } + if (blob instanceof FakeBlob) { + data_URI_header = "data:" + type; + if (blob.encoding === "base64") { + return data_URI_header + ";base64," + blob.data; + } else if (blob.encoding === "URI") { + return data_URI_header + "," + decodeURIComponent(blob.data); + } if (btoa) { + return data_URI_header + ";base64," + btoa(blob.data); + } else { + return data_URI_header + "," + encodeURIComponent(blob.data); + } + } else if (real_create_object_URL) { + return real_create_object_URL.call(real_URL, blob); + } + }; + URL.revokeObjectURL = function(object_URL) { + if (object_URL.substring(0, 5) !== "data:" && real_revoke_object_URL) { + real_revoke_object_URL.call(real_URL, object_URL); + } + }; + FBB_proto.append = function(data/*, endings*/) { + var bb = this.data; + // decode data to a binary string + if (Uint8Array && (data instanceof ArrayBuffer || data instanceof Uint8Array)) { + var + str = "" + , buf = new Uint8Array(data) + , i = 0 + , buf_len = buf.length + ; + for (; i < buf_len; i++) { + str += String.fromCharCode(buf[i]); + } + bb.push(str); + } else if (get_class(data) === "Blob" || get_class(data) === "File") { + if (FileReaderSync) { + var fr = new FileReaderSync; + bb.push(fr.readAsBinaryString(data)); + } else { + // async FileReader won't work as BlobBuilder is sync + throw new FileException("NOT_READABLE_ERR"); + } + } else if (data instanceof FakeBlob) { + if (data.encoding === "base64" && atob) { + bb.push(atob(data.data)); + } else if (data.encoding === "URI") { + bb.push(decodeURIComponent(data.data)); + } else if (data.encoding === "raw") { + bb.push(data.data); + } + } else { + if (typeof data !== "string") { + data += ""; // convert unsupported types to strings + } + // decode UTF-16 to binary string + bb.push(unescape(encodeURIComponent(data))); + } + }; + FBB_proto.getBlob = function(type) { + if (!arguments.length) { + type = null; + } + return new FakeBlob(this.data.join(""), type, "raw"); + }; + FBB_proto.toString = function() { + return "[object BlobBuilder]"; + }; + FB_proto.slice = function(start, end, type) { + var args = arguments.length; + if (args < 3) { + type = null; + } + return new FakeBlob( + this.data.slice(start, args > 1 ? end : this.data.length) + , type + , this.encoding + ); + }; + FB_proto.toString = function() { + return "[object Blob]"; + }; + FB_proto.close = function() { + this.size = this.data.length = 0; + }; + return FakeBlobBuilder; + }(view)); + + view.Blob = function Blob(blobParts, options) { + var type = options ? (options.type || "") : ""; + var builder = new BlobBuilder(); + if (blobParts) { + for (var i = 0, len = blobParts.length; i < len; i++) { + builder.append(blobParts[i]); + } + } + return builder.getBlob(type); + }; +}(typeof self !== "undefined" && self || typeof window !== "undefined" && window || this.content || this)); diff --git a/src/plugin/export/_csv.js b/src/plugin/export/_csv.js new file mode 100755 index 00000000..de2796cb --- /dev/null +++ b/src/plugin/export/_csv.js @@ -0,0 +1,62 @@ +/* + inspired by https://www.npmjs.com/package/react-csv-downloader + now removed from Github + inspired by https://github.com/iview/iview +*/ + +/* eslint-disable */ + +const newLine = '\r\n'; +const appendLine = (content, row, { separator, quoted }) => { + const line = row.map(data => { + if (!quoted) return data; + // quote data + data = typeof data === 'string' ? data.replace(/"/g, '"') : data; + return `"${data}"`; + }); + content.push(line.join(separator)); +}; + +const defaults = { + separator: ',', + quoted: false +}; + +export default function csv(columns, datas, options, noHeader = false) { + options = Object.assign({}, defaults, options); + let columnOrder; + const content = []; + const column = []; + + if (columns) { + columnOrder = columns.map(v => { + if (typeof v === 'string') return v; + if (!noHeader) { + column.push(typeof v.label !== 'undefined' ? v.label : v.prop); + } + return v.prop; + }); + if (column.length > 0) appendLine(content, column, options); + } else { + columnOrder = []; + datas.forEach(v => { + if (!Array.isArray(v)) { + columnOrder = columnOrder.concat(Object.keys(v)); + } + }); + if (columnOrder.length > 0) { + columnOrder = columnOrder.filter((value, index, self) => self.indexOf(value) === index); + if (!noHeader) appendLine(content, columnOrder, options); + } + } + + if (Array.isArray(datas)) { + datas.forEach(row => { + if (!Array.isArray(row)) { + row = columnOrder.map(k => (typeof row[k] !== 'undefined' ? row[k] : '')); + } + appendLine(content, row, options); + }); + } + return content.join(newLine); +} diff --git a/src/plugin/export/_export-csv.js b/src/plugin/export/_export-csv.js new file mode 100755 index 00000000..50caf2af --- /dev/null +++ b/src/plugin/export/_export-csv.js @@ -0,0 +1,83 @@ +/* eslint-disable */ + +/* + 此代码来源于iview表格组件的CSV导出部分 + https://github.com/iview/iview +*/ + +function has (browser) { + const ua = navigator.userAgent; + if (browser === 'ie') { + const isIE = ua.indexOf('compatible') > -1 && ua.indexOf('MSIE') > -1; + if (isIE) { + const reIE = new RegExp('MSIE (\\d+\\.\\d+);'); + reIE.test(ua); + return parseFloat(RegExp['$1']); + } else { + return false; + } + } else { + return ua.indexOf(browser) > -1; + } +} + +const csv = { + _isIE11 () { + let iev = 0; + const ieold = (/MSIE (\d+\.\d+);/.test(navigator.userAgent)); + const trident = !!navigator.userAgent.match(/Trident\/7.0/); + const rv = navigator.userAgent.indexOf('rv:11.0'); + + if (ieold) { + iev = Number(RegExp.$1); + } + if (navigator.appVersion.indexOf('MSIE 10') !== -1) { + iev = 10; + } + if (trident && rv !== -1) { + iev = 11; + } + + return iev === 11; + }, + + _isEdge () { + return /Edge/.test(navigator.userAgent); + }, + + _getDownloadUrl (text) { + const BOM = '\uFEFF'; + // Add BOM to text for open in excel correctly + if (window.Blob && window.URL && window.URL.createObjectURL) { + const csvData = new Blob([BOM + text], { type: 'text/csv' }); + return URL.createObjectURL(csvData); + } else { + return 'data:attachment/csv;charset=utf-8,' + BOM + encodeURIComponent(text); + } + }, + + download (filename, text) { + if (has('ie') && has('ie') < 10) { + // has module unable identify ie11 and Edge + const oWin = window.top.open('about:blank', '_blank'); + oWin.document.charset = 'utf-8'; + oWin.document.write(text); + oWin.document.close(); + oWin.document.execCommand('SaveAs', filename + '.csv'); + oWin.close(); + } else if (has('ie') === 10 || this._isIE11() || this._isEdge()) { + const BOM = '\uFEFF'; + const csvData = new Blob([BOM + text], { type: 'text/csv' }); + navigator.msSaveBlob(csvData, filename + '.csv'); + } else { + const link = document.createElement('a'); + link.download = filename + '.csv'; + link.href = this._getDownloadUrl(text); + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + } + } +}; + +export default csv; \ No newline at end of file diff --git a/src/plugin/export/_export2Excel.js b/src/plugin/export/_export2Excel.js new file mode 100644 index 00000000..302e0dcd --- /dev/null +++ b/src/plugin/export/_export2Excel.js @@ -0,0 +1,145 @@ +/* eslint-disable */ + +// 来源于网络 有细微改动 + +import './_blob' +import FileSaver from 'file-saver' +import XLSX from 'xlsx' + +function generateArray(table) { + var out = []; + var rows = table.querySelectorAll('tr'); + var ranges = []; + for (var R = 0; R < rows.length; ++R) { + var outRow = []; + var row = rows[R]; + var columns = row.querySelectorAll('td'); + for (var C = 0; C < columns.length; ++C) { + var cell = columns[C]; + var colspan = cell.getAttribute('colspan'); + var rowspan = cell.getAttribute('rowspan'); + var cellValue = cell.innerText; + if (cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue; + + //Skip ranges + ranges.forEach(function (range) { + if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) { + for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null); + } + }); + + //Handle Row Span + if (rowspan || colspan) { + rowspan = rowspan || 1; + colspan = colspan || 1; + ranges.push({s: {r: R, c: outRow.length}, e: {r: R + rowspan - 1, c: outRow.length + colspan - 1}}); + } + ; + + //Handle Value + outRow.push(cellValue !== "" ? cellValue : null); + + //Handle Colspan + if (colspan) for (var k = 0; k < colspan - 1; ++k) outRow.push(null); + } + out.push(outRow); + } + return [out, ranges]; +}; + +function datenum(v, date1904) { + if (date1904) v += 1462; + var epoch = Date.parse(v); + return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); +} + +function sheet_from_array_of_arrays(data, opts) { + var ws = {}; + var range = {s: {c: 10000000, r: 10000000}, e: {c: 0, r: 0}}; + for (var R = 0; R != data.length; ++R) { + for (var C = 0; C != data[R].length; ++C) { + if (range.s.r > R) range.s.r = R; + if (range.s.c > C) range.s.c = C; + if (range.e.r < R) range.e.r = R; + if (range.e.c < C) range.e.c = C; + var cell = {v: data[R][C]}; + if (cell.v == null) continue; + var cell_ref = XLSX.utils.encode_cell({c: C, r: R}); + + if (typeof cell.v === 'number') cell.t = 'n'; + else if (typeof cell.v === 'boolean') cell.t = 'b'; + else if (cell.v instanceof Date) { + cell.t = 'n'; + cell.z = XLSX.SSF._table[14]; + cell.v = datenum(cell.v); + } + else cell.t = 's'; + + ws[cell_ref] = cell; + } + } + if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range); + return ws; +} + +function Workbook() { + if (!(this instanceof Workbook)) return new Workbook(); + this.SheetNames = []; + this.Sheets = {}; +} + +function s2ab(s) { + var buf = new ArrayBuffer(s.length); + var view = new Uint8Array(buf); + for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; + return buf; +} + +export function export_table_to_excel(id) { + var theTable = document.getElementById(id); + console.log('a') + var oo = generateArray(theTable); + var ranges = oo[1]; + + /* original data */ + var data = oo[0]; + var ws_name = "SheetJS"; + console.log(data); + + var wb = new Workbook(), ws = sheet_from_array_of_arrays(data); + + /* add ranges to worksheet */ + // ws['!cols'] = ['apple', 'banan']; + ws['!merges'] = ranges; + + /* add worksheet to workbook */ + wb.SheetNames.push(ws_name); + wb.Sheets[ws_name] = ws; + + var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'}); + + FileSaver.saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), "test.xlsx") +} + +function formatJson(jsonData) { + console.log(jsonData) +} +export function export_json_to_excel(th, jsonData, defaultTitle) { + + /* original data */ + + var data = jsonData; + data.unshift(th); + var ws_name = "SheetJS"; + + var wb = new Workbook(), ws = sheet_from_array_of_arrays(data); + + + /* add worksheet to workbook */ + wb.SheetNames.push(ws_name); + wb.Sheets[ws_name] = ws; + + var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'}); + var title = defaultTitle || '列表' + FileSaver.saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), title + ".xlsx") +} diff --git a/src/plugin/export/backup/_blob.js b/src/plugin/export/backup/_blob.js new file mode 100755 index 00000000..b6913310 --- /dev/null +++ b/src/plugin/export/backup/_blob.js @@ -0,0 +1,217 @@ +/* eslint-disable */ + +/* Blob.js + * A Blob implementation. + * 2018-01-12 + * + * By Eli Grey, http://eligrey.com + * By Devin Samarin, https://github.com/dsamarin + * License: MIT + * See https://github.com/eligrey/Blob.js/blob/master/LICENSE.md + */ + +/*global self, unescape */ +/*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true, + plusplus: true */ + +/*! @source http://purl.eligrey.com/github/Blob.js/blob/master/Blob.js */ + +(function (view) { + "use strict"; + + view.URL = view.URL || view.webkitURL; + + if (view.Blob && view.URL) { + try { + new Blob; + return; + } catch (e) {} + } + + // Internally we use a BlobBuilder implementation to base Blob off of + // in order to support older browsers that only have BlobBuilder + var BlobBuilder = view.BlobBuilder || view.WebKitBlobBuilder || view.MozBlobBuilder || (function(view) { + var + get_class = function(object) { + return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1]; + } + , FakeBlobBuilder = function BlobBuilder() { + this.data = []; + } + , FakeBlob = function Blob(data, type, encoding) { + this.data = data; + this.size = data.length; + this.type = type; + this.encoding = encoding; + } + , FBB_proto = FakeBlobBuilder.prototype + , FB_proto = FakeBlob.prototype + , FileReaderSync = view.FileReaderSync + , FileException = function(type) { + this.code = this[this.name = type]; + } + , file_ex_codes = ( + "NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR " + + "NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR" + ).split(" ") + , file_ex_code = file_ex_codes.length + , real_URL = view.URL || view.webkitURL || view + , real_create_object_URL = real_URL.createObjectURL + , real_revoke_object_URL = real_URL.revokeObjectURL + , URL = real_URL + , btoa = view.btoa + , atob = view.atob + + , ArrayBuffer = view.ArrayBuffer + , Uint8Array = view.Uint8Array + + , origin = /^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/ + ; + FakeBlob.fake = FB_proto.fake = true; + while (file_ex_code--) { + FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1; + } + // Polyfill URL + if (!real_URL.createObjectURL) { + URL = view.URL = function(uri) { + var + uri_info = document.createElementNS("http://www.w3.org/1999/xhtml", "a") + , uri_origin + ; + uri_info.href = uri; + if (!("origin" in uri_info)) { + if (uri_info.protocol.toLowerCase() === "data:") { + uri_info.origin = null; + } else { + uri_origin = uri.match(origin); + uri_info.origin = uri_origin && uri_origin[1]; + } + } + return uri_info; + }; + } + URL.createObjectURL = function(blob) { + var + type = blob.type + , data_URI_header + ; + if (type === null) { + type = "application/octet-stream"; + } + if (blob instanceof FakeBlob) { + data_URI_header = "data:" + type; + if (blob.encoding === "base64") { + return data_URI_header + ";base64," + blob.data; + } else if (blob.encoding === "URI") { + return data_URI_header + "," + decodeURIComponent(blob.data); + } if (btoa) { + return data_URI_header + ";base64," + btoa(blob.data); + } else { + return data_URI_header + "," + encodeURIComponent(blob.data); + } + } else if (real_create_object_URL) { + return real_create_object_URL.call(real_URL, blob); + } + }; + URL.revokeObjectURL = function(object_URL) { + if (object_URL.substring(0, 5) !== "data:" && real_revoke_object_URL) { + real_revoke_object_URL.call(real_URL, object_URL); + } + }; + FBB_proto.append = function(data/*, endings*/) { + var bb = this.data; + // decode data to a binary string + if (Uint8Array && (data instanceof ArrayBuffer || data instanceof Uint8Array)) { + var + str = "" + , buf = new Uint8Array(data) + , i = 0 + , buf_len = buf.length + ; + for (; i < buf_len; i++) { + str += String.fromCharCode(buf[i]); + } + bb.push(str); + } else if (get_class(data) === "Blob" || get_class(data) === "File") { + if (FileReaderSync) { + var fr = new FileReaderSync; + bb.push(fr.readAsBinaryString(data)); + } else { + // async FileReader won't work as BlobBuilder is sync + throw new FileException("NOT_READABLE_ERR"); + } + } else if (data instanceof FakeBlob) { + if (data.encoding === "base64" && atob) { + bb.push(atob(data.data)); + } else if (data.encoding === "URI") { + bb.push(decodeURIComponent(data.data)); + } else if (data.encoding === "raw") { + bb.push(data.data); + } + } else { + if (typeof data !== "string") { + data += ""; // convert unsupported types to strings + } + // decode UTF-16 to binary string + bb.push(unescape(encodeURIComponent(data))); + } + }; + FBB_proto.getBlob = function(type) { + if (!arguments.length) { + type = null; + } + return new FakeBlob(this.data.join(""), type, "raw"); + }; + FBB_proto.toString = function() { + return "[object BlobBuilder]"; + }; + FB_proto.slice = function(start, end, type) { + var args = arguments.length; + if (args < 3) { + type = null; + } + return new FakeBlob( + this.data.slice(start, args > 1 ? end : this.data.length) + , type + , this.encoding + ); + }; + FB_proto.toString = function() { + return "[object Blob]"; + }; + FB_proto.close = function() { + this.size = 0; + delete this.data; + }; + return FakeBlobBuilder; + }(view)); + + view.Blob = function(blobParts, options) { + var type = options ? (options.type || "") : ""; + var builder = new BlobBuilder(); + if (blobParts) { + for (var i = 0, len = blobParts.length; i < len; i++) { + if (Uint8Array && blobParts[i] instanceof Uint8Array) { + builder.append(blobParts[i].buffer); + } + else { + builder.append(blobParts[i]); + } + } + } + var blob = builder.getBlob(type); + if (!blob.slice && blob.webkitSlice) { + blob.slice = blob.webkitSlice; + } + return blob; + }; + + var getPrototypeOf = Object.getPrototypeOf || function(object) { + return object.__proto__; + }; + view.Blob.prototype = getPrototypeOf(new view.Blob()); +}( + typeof self !== "undefined" && self + || typeof window !== "undefined" && window + || this +)); diff --git a/src/plugin/export/backup/_export2Excel.js b/src/plugin/export/backup/_export2Excel.js new file mode 100755 index 00000000..3f39be92 --- /dev/null +++ b/src/plugin/export/backup/_export2Excel.js @@ -0,0 +1,131 @@ +/* eslint-disable */ + +import './_blob' +import FileSaver from 'file-saver' +import XLSX from 'xlsx' + +function generateArray(table) { + var out = []; + var rows = table.querySelectorAll('tr'); + var ranges = []; + for (var R = 0; R < rows.length; ++R) { + var outRow = []; + var row = rows[R]; + var columns = row.querySelectorAll('td'); + for (var C = 0; C < columns.length; ++C) { + var cell = columns[C]; + var colspan = cell.getAttribute('colspan'); + var rowspan = cell.getAttribute('rowspan'); + var cellValue = cell.innerText; + if (cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue; + ranges.forEach(function (range) { + if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) { + for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null); + } + }); + if (rowspan || colspan) { + rowspan = rowspan || 1; + colspan = colspan || 1; + ranges.push({s: {r: R, c: outRow.length}, e: {r: R + rowspan - 1, c: outRow.length + colspan - 1}}); + }; + outRow.push(cellValue !== "" ? cellValue : null); + if (colspan) for (var k = 0; k < colspan - 1; ++k) outRow.push(null); + } + out.push(outRow); + } + return [out, ranges]; +}; + +function datenum(v, date1904) { + if (date1904) v += 1462; + var epoch = Date.parse(v); + return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); +} + +function sheet_from_array_of_arrays(data, opts) { + var ws = {}; + var range = {s: {c: 10000000, r: 10000000}, e: {c: 0, r: 0}}; + for (var R = 0; R != data.length; ++R) { + for (var C = 0; C != data[R].length; ++C) { + if (range.s.r > R) range.s.r = R; + if (range.s.c > C) range.s.c = C; + if (range.e.r < R) range.e.r = R; + if (range.e.c < C) range.e.c = C; + var cell = {v: data[R][C]}; + if (cell.v == null) continue; + var cell_ref = XLSX.utils.encode_cell({c: C, r: R}); + + if (typeof cell.v === 'number') cell.t = 'n'; + else if (typeof cell.v === 'boolean') cell.t = 'b'; + else if (cell.v instanceof Date) { + cell.t = 'n'; + cell.z = XLSX.SSF._table[14]; + cell.v = datenum(cell.v); + } + else cell.t = 's'; + + ws[cell_ref] = cell; + } + } + if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range); + return ws; +} + +function Workbook() { + if (!(this instanceof Workbook)) return new Workbook(); + this.SheetNames = []; + this.Sheets = {}; +} + +function s2ab(s) { + var buf = new ArrayBuffer(s.length); + var view = new Uint8Array(buf); + for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; + return buf; +} + +export function export_table_to_excel(id) { + var theTable = document.getElementById(id); + var oo = generateArray(theTable); + var ranges = oo[1]; + var data = oo[0]; + var ws_name = "SheetJS"; + var wb = new Workbook(), ws = sheet_from_array_of_arrays(data); + ws['!merges'] = ranges; + wb.SheetNames.push(ws_name); + wb.Sheets[ws_name] = ws; + var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'}); + FileSaver.saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), "test.xlsx") +} + +export function export_json_to_excel(th, jsonData, defaultTitle) { + var data = jsonData; + data.unshift(th); + var ws_name = "SheetJS"; + + var wb = new Workbook(), ws = sheet_from_array_of_arrays(data); + const colWidth = data.map(row => row.map(val => { + if (val == null) { + return {'wch': 10}; + } + else if (val.toString().charCodeAt(0) > 255) { + return {'wch': val.toString().length * 2}; + } else { + return {'wch': val.toString().length}; + } + })) + let result = colWidth[0]; + for (let i = 1; i < colWidth.length; i++) { + for (let j = 0; j < colWidth[i].length; j++) { + if (result[j]['wch'] < colWidth[i][j]['wch']) { + result[j]['wch'] = colWidth[i][j]['wch']; + } + } + } + ws['!cols'] = result; + wb.SheetNames.push(ws_name); + wb.Sheets[ws_name] = ws; + var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'}); + var title = defaultTitle || 'table' + FileSaver.saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), title + ".xlsx") +} diff --git a/src/plugin/export/index.js b/src/plugin/export/index.js new file mode 100644 index 00000000..eb2cae49 --- /dev/null +++ b/src/plugin/export/index.js @@ -0,0 +1,71 @@ +/* eslint-disable */ + +// 库 +import Csv from './_csv' +import ExportCsv from './_export-csv' +import FileSaver from 'file-saver' +import * as Excel from './_export2Excel' + +export default { + install (Vue, options) { + Vue.prototype.$export = { + // 导出 csv + csv (params) { + return new Promise((resolve, reject) => { + // 默认值 + const paramsDefault = { + columns: [], + data: [], + title: 'table', + noHeader: false + } + // 合并参数 + const _params = Object.assign({}, paramsDefault, params) + // 生成数据 + const data = Csv(_params.columns, _params.data, params, _params.noHeader) + // 下载数据 + ExportCsv.download(_params.title, data) + // 完成 + resolve() + }) + }, + // 导出 excel + excel (params) { + return new Promise((resolve, reject) => { + // 默认值 + const paramsDefault = { + columns: [], + data: [], + title: 'table' + } + // 合并参数 + const _params = Object.assign({}, paramsDefault, params) + // 从参数中派生数据 + const header = _params.columns.map(e => e.label) + const data = _params.data.map(row => _params.columns.map(col => row[col.prop])) + // 导出 + Excel.export_json_to_excel(header, data, _params.title) + // 完成 + resolve() + }) + }, + // 导出 文本文档 + txt (params) { + return new Promise((resolve, reject) => { + // 默认值 + const paramsDefault = { + text: '', + title: '文本' + } + // 合并参数 + const _params = Object.assign({}, paramsDefault, params) + // 导出 + const blob = new Blob([_params.text], {type: 'text/plain;charset=utf-8'}) + FileSaver.saveAs(blob, _params.title + '.txt') + // 完成 + resolve() + }) + } + } + } +} diff --git a/src/plugin/import/index.js b/src/plugin/import/index.js new file mode 100644 index 00000000..467e4eaa --- /dev/null +++ b/src/plugin/import/index.js @@ -0,0 +1,62 @@ +/* eslint-disable */ + +// 库 +import papa from 'papaparse' +import xlsx from 'xlsx' + +export default { + install (Vue, options) { + Vue.prototype.$import = { + // 导入 csv + csv (file) { + return new Promise((resolve, reject) => { + papa.parse(file, { + header: true, + skipEmptyLines: true, + complete: (results, file) => { + resolve(results) + } + }) + }) + }, + // 导入 xlsx + xlsx (file) { + return new Promise((resolve, reject) => { + const reader = new FileReader() + const fixdata = data => { + let o = '' + let l = 0 + const w = 10240 + for (; l < data.byteLength / w; ++l) o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w))) + o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w))) + return o + } + const getHeaderRow = sheet => { + const headers = [] + const range = xlsx.utils.decode_range(sheet['!ref']) + let C + const R = range.s.r + for (C = range.s.c; C <= range.e.c; ++C) { + var cell = sheet[xlsx.utils.encode_cell({ c: C, r: R })] + var hdr = 'UNKNOWN ' + C + if (cell && cell.t) hdr = xlsx.utils.format_cell(cell) + headers.push(hdr) + } + return headers + } + reader.onload = e => { + const data = e.target.result + const fixedData = fixdata(data) + const workbook = xlsx.read(btoa(fixedData), { type: 'base64' }) + const firstSheetName = workbook.SheetNames[0] + const worksheet = workbook.Sheets[firstSheetName] + const header = getHeaderRow(worksheet) + const results = xlsx.utils.sheet_to_json(worksheet) + resolve({header, results}) + } + reader.readAsArrayBuffer(file) + }) + } + } + } +} diff --git a/src/plugin/log/index.js b/src/plugin/log/index.js new file mode 100644 index 00000000..327a1322 --- /dev/null +++ b/src/plugin/log/index.js @@ -0,0 +1,18 @@ +export default { + install (Vue, options) { + // 打印log + // 如果只有一个参数 就只简单打印第一个参数 + // 如果有大于一个参数 第一个参数会当做是分组的名称 + Vue.prototype.$log = (arg1 = 'log', ...logs) => { + if (logs.length === 0) { + console.log(arg1) + } else { + console.group(arg1) + logs.forEach(e => { + console.log(e) + }) + console.groupEnd() + } + } + } +} diff --git a/src/plugin/open/index.js b/src/plugin/open/index.js new file mode 100644 index 00000000..c5b6a96b --- /dev/null +++ b/src/plugin/open/index.js @@ -0,0 +1,8 @@ +export default { + install (Vue, options) { + // 打开一个url + Vue.prototype.$open = (url = 'https://github.com/d2-projects') => { + window.open(url) + } + } +} diff --git a/src/router.js b/src/router.js deleted file mode 100644 index 9e03a620..00000000 --- a/src/router.js +++ /dev/null @@ -1,21 +0,0 @@ -import Vue from 'vue' -import Router from 'vue-router' -import Home from './views/Home.vue' -import About from './views/About.vue' - -Vue.use(Router) - -export default new Router({ - routes: [ - { - path: '/', - name: 'home', - component: Home - }, - { - path: '/about', - name: 'about', - component: About - } - ] -}) diff --git a/src/router/index.js b/src/router/index.js new file mode 100755 index 00000000..e643aa5f --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,47 @@ +import Vue from 'vue' +import VueRouter from 'vue-router' +import Cookies from 'js-cookie' + +import util from '@/libs/util.js' + +// 路由数据 +import routes from './routes' + +Vue.use(VueRouter) + +let router = new VueRouter({ routes }) + +/** + * 路由拦截 + * 权限验证 + */ +router.beforeEach((to, from, next) => { + // 验证当前路由所有的匹配中是否需要有登陆验证的 + if (to.matched.some(r => r.meta.requiresAuth)) { + // 这里暂时将cookie里是否存有token作为验证是否登陆的条件 + // 请根据自身业务需要修改 + if (Cookies.get('token')) { + next() + } else { + // 没有登陆的时候跳转到登陆界面 + next({ + name: 'login' + }) + } + } else { + // 不需要身份校验 直接通过 + next() + } +}) + +router.afterEach(to => { + // 需要的信息 + const app = router.app + const { name, params, query } = to + // 多页控制 打开新的页面 + app.$store.commit('d2adminPageOpenNew', { name, params, query }) + // 更改标题 + util.title(to.meta.title) +}) + +export default router diff --git a/src/router/routes.js.REMOVED.git-id b/src/router/routes.js.REMOVED.git-id new file mode 100644 index 00000000..8d3e1fa4 --- /dev/null +++ b/src/router/routes.js.REMOVED.git-id @@ -0,0 +1 @@ +b9086aba1ff4b591f707bb03a2d9179c4159380a \ No newline at end of file diff --git a/src/store.js b/src/store/index.js similarity index 61% rename from src/store.js rename to src/store/index.js index 3c7424ed..66c6f3f7 100644 --- a/src/store.js +++ b/src/store/index.js @@ -1,16 +1,12 @@ import Vue from 'vue' import Vuex from 'vuex' +import d2admin from './modules/d2admin' + Vue.use(Vuex) export default new Vuex.Store({ - state: { - - }, - mutations: { - - }, - actions: { - + modules: { + d2admin } }) diff --git a/src/store/modules/d2admin.js.REMOVED.git-id b/src/store/modules/d2admin.js.REMOVED.git-id new file mode 100644 index 00000000..6c69df56 --- /dev/null +++ b/src/store/modules/d2admin.js.REMOVED.git-id @@ -0,0 +1 @@ +a77ef2a929f3e850d71b14a5d2c8570053a5c44c \ No newline at end of file diff --git a/src/views/core/404/index.vue b/src/views/core/404/index.vue new file mode 100644 index 00000000..478fab48 --- /dev/null +++ b/src/views/core/404/index.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/views/core/index/index.vue b/src/views/core/index/index.vue new file mode 100644 index 00000000..959df38c --- /dev/null +++ b/src/views/core/index/index.vue @@ -0,0 +1,9 @@ + diff --git a/src/views/core/login/config/bubble.js b/src/views/core/login/config/bubble.js new file mode 100644 index 00000000..7fd19c0d --- /dev/null +++ b/src/views/core/login/config/bubble.js @@ -0,0 +1,112 @@ +/* eslint-disable */ + +export default { + "particles": { + "number": { + "value": 6, + "density": { + "enable": true, + "value_area": 800 + } + }, + "color": { + "value": "#444" + }, + "shape": { + "type": "polygon", + "stroke": { + "width": 0, + "color": "#000" + }, + "polygon": { + "nb_sides": 6 + }, + "image": { + "src": "img/github.svg", + "width": 100, + "height": 100 + } + }, + "opacity": { + "value": 0.3, + "random": true, + "anim": { + "enable": false, + "speed": 1, + "opacity_min": 0.1, + "sync": false + } + }, + "size": { + "value": 160, + "random": false, + "anim": { + "enable": true, + "speed": 10, + "size_min": 40, + "sync": false + } + }, + "line_linked": { + "enable": false, + "distance": 200, + "color": "#ffffff", + "opacity": 1, + "width": 2 + }, + "move": { + "enable": true, + "speed": 8, + "direction": "none", + "random": false, + "straight": false, + "out_mode": "out", + "bounce": false, + "attract": { + "enable": false, + "rotateX": 600, + "rotateY": 1200 + } + } + }, + "interactivity": { + "detect_on": "canvas", + "events": { + "onhover": { + "enable": false, + "mode": "grab" + }, + "onclick": { + "enable": false, + "mode": "push" + }, + "resize": true + }, + "modes": { + "grab": { + "distance": 400, + "line_linked": { + "opacity": 1 + } + }, + "bubble": { + "distance": 400, + "size": 40, + "duration": 2, + "opacity": 8, + "speed": 3 + }, + "repulse": { + "distance": 200, + "duration": 0.4 + }, + "push": { + "particles_nb": 4 + }, + "remove": { + "particles_nb": 2 + } + } + }, + "retina_detect": true +} diff --git a/src/views/core/login/config/default.js b/src/views/core/login/config/default.js new file mode 100644 index 00000000..b199917f --- /dev/null +++ b/src/views/core/login/config/default.js @@ -0,0 +1,112 @@ +/* eslint-disable */ + +export default { + "particles": { + "number": { + "value": 80, + "density": { + "enable": true, + "value_area": 800 + } + }, + "color": { + "value": "#DCDFE6" + }, + "shape": { + "type": "circle", + "stroke": { + "width": 0, + "color": "#000000" + }, + "polygon": { + "nb_sides": 5 + }, + "image": { + "src": "img/github.svg", + "width": 100, + "height": 100 + } + }, + "opacity": { + "value": 1, + "random": false, + "anim": { + "enable": false, + "speed": 1, + "opacity_min": 0.1, + "sync": false + } + }, + "size": { + "value": 4, + "random": true, + "anim": { + "enable": false, + "speed": 40, + "size_min": 0.1, + "sync": false + } + }, + "line_linked": { + "enable": true, + "distance": 150, + "color": "#DCDFE6", + "opacity": 0.4, + "width": 2 + }, + "move": { + "enable": true, + "speed": 6, + "direction": "none", + "random": false, + "straight": false, + "out_mode": "out", + "bounce": false, + "attract": { + "enable": false, + "rotateX": 600, + "rotateY": 1200 + } + } + }, + "interactivity": { + "detect_on": "canvas", + "events": { + "onhover": { + "enable": true, + "mode": "repulse" + }, + "onclick": { + "enable": true, + "mode": "push" + }, + "resize": true + }, + "modes": { + "grab": { + "distance": 400, + "line_linked": { + "opacity": 1 + } + }, + "bubble": { + "distance": 400, + "size": 40, + "duration": 2, + "opacity": 8, + "speed": 3 + }, + "repulse": { + "distance": 200, + "duration": 0.4 + }, + "push": { + "particles_nb": 4 + }, + "remove": { + "particles_nb": 2 + } + } + }, + "retina_detect": true +} diff --git a/src/views/core/login/config/nasa.js b/src/views/core/login/config/nasa.js new file mode 100644 index 00000000..4baf4feb --- /dev/null +++ b/src/views/core/login/config/nasa.js @@ -0,0 +1,112 @@ +/* eslint-disable */ + +export default { + "particles": { + "number": { + "value": 160, + "density": { + "enable": true, + "value_area": 800 + } + }, + "color": { + "value": "#ffffff" + }, + "shape": { + "type": "circle", + "stroke": { + "width": 0, + "color": "#000000" + }, + "polygon": { + "nb_sides": 5 + }, + "image": { + "src": "img/github.svg", + "width": 100, + "height": 100 + } + }, + "opacity": { + "value": 1, + "random": true, + "anim": { + "enable": true, + "speed": 1, + "opacity_min": 0, + "sync": false + } + }, + "size": { + "value": 3, + "random": true, + "anim": { + "enable": false, + "speed": 4, + "size_min": 0.3, + "sync": false + } + }, + "line_linked": { + "enable": false, + "distance": 150, + "color": "#ffffff", + "opacity": 0.4, + "width": 1 + }, + "move": { + "enable": true, + "speed": 1, + "direction": "none", + "random": true, + "straight": false, + "out_mode": "out", + "bounce": false, + "attract": { + "enable": false, + "rotateX": 600, + "rotateY": 600 + } + } + }, + "interactivity": { + "detect_on": "canvas", + "events": { + "onhover": { + "enable": true, + "mode": "bubble" + }, + "onclick": { + "enable": true, + "mode": "repulse" + }, + "resize": true + }, + "modes": { + "grab": { + "distance": 400, + "line_linked": { + "opacity": 1 + } + }, + "bubble": { + "distance": 250, + "size": 0, + "duration": 2, + "opacity": 0, + "speed": 3 + }, + "repulse": { + "distance": 400, + "duration": 0.4 + }, + "push": { + "particles_nb": 4 + }, + "remove": { + "particles_nb": 2 + } + } + }, + "retina_detect": true +} diff --git a/src/views/core/login/config/snow.js b/src/views/core/login/config/snow.js new file mode 100644 index 00000000..31948b45 --- /dev/null +++ b/src/views/core/login/config/snow.js @@ -0,0 +1,112 @@ +/* eslint-disable */ + +export default { + "particles": { + "number": { + "value": 400, + "density": { + "enable": true, + "value_area": 800 + } + }, + "color": { + "value": "#fff" + }, + "shape": { + "type": "circle", + "stroke": { + "width": 0, + "color": "#000000" + }, + "polygon": { + "nb_sides": 5 + }, + "image": { + "src": "img/github.svg", + "width": 100, + "height": 100 + } + }, + "opacity": { + "value": 0.5, + "random": true, + "anim": { + "enable": false, + "speed": 1, + "opacity_min": 0.1, + "sync": false + } + }, + "size": { + "value": 10, + "random": true, + "anim": { + "enable": false, + "speed": 40, + "size_min": 0.1, + "sync": false + } + }, + "line_linked": { + "enable": false, + "distance": 500, + "color": "#ffffff", + "opacity": 0.4, + "width": 2 + }, + "move": { + "enable": true, + "speed": 6, + "direction": "bottom", + "random": false, + "straight": false, + "out_mode": "out", + "bounce": false, + "attract": { + "enable": false, + "rotateX": 600, + "rotateY": 1200 + } + } + }, + "interactivity": { + "detect_on": "canvas", + "events": { + "onhover": { + "enable": true, + "mode": "bubble" + }, + "onclick": { + "enable": true, + "mode": "repulse" + }, + "resize": true + }, + "modes": { + "grab": { + "distance": 400, + "line_linked": { + "opacity": 0.5 + } + }, + "bubble": { + "distance": 400, + "size": 4, + "duration": 0.3, + "opacity": 1, + "speed": 3 + }, + "repulse": { + "distance": 200, + "duration": 0.4 + }, + "push": { + "particles_nb": 4 + }, + "remove": { + "particles_nb": 2 + } + } + }, + "retina_detect": true +} diff --git a/src/views/core/login/index.vue b/src/views/core/login/index.vue new file mode 100644 index 00000000..e1dab62c --- /dev/null +++ b/src/views/core/login/index.vue @@ -0,0 +1,126 @@ + + + + + + diff --git a/src/views/core/login/style.scss b/src/views/core/login/style.scss new file mode 100644 index 00000000..01fa612c --- /dev/null +++ b/src/views/core/login/style.scss @@ -0,0 +1,66 @@ +@import '~@/assets/style/public.scss'; +.login-page { + background-color: #EDF4FA; + height: 100%; + position: relative; + // 层 + .layer { + position: absolute; + height: 100%; + width: 100%; + &.flex-center { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + } + } + // 背景 + .bg { + canvas { + display: block; + margin: 0px; + padding: 0px; + } + } + // logo + .logo-group { + margin-top: -75px - 70px; + position: relative; + top: 75px; + img { + height: 140px; + } + } + // 登陆表单 + .form-group { + width: 300px; + // 重新设置卡片阴影 + .el-card { + box-shadow: 0 0 8px 0 rgba(232,237,250,.6), 0 2px 4px 0 rgba(232,237,250,.5); + .el-card__body { + padding-top: 70px; + } + } + // 登陆按钮 + .button-login { + width: 100%; + } + // 输入框左边的图表区域缩窄 + .el-input-group__prepend { + padding: 0px 14px; + } + .login-code { + height: 40px - 2px; + display: block; + margin: 0px -20px; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + } + } + // 帮助按钮 + .button-help { + width: 300px; + margin-top: 20px; + } +} \ No newline at end of file diff --git a/src/views/core/setting/index/index.vue b/src/views/core/setting/index/index.vue new file mode 100644 index 00000000..c83facd8 --- /dev/null +++ b/src/views/core/setting/index/index.vue @@ -0,0 +1,9 @@ + diff --git a/src/views/core/setting/releases/index.vue b/src/views/core/setting/releases/index.vue new file mode 100644 index 00000000..946123ef --- /dev/null +++ b/src/views/core/setting/releases/index.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/src/views/core/setting/releases/md/up-to-date.md b/src/views/core/setting/releases/md/up-to-date.md new file mode 100644 index 00000000..bc8d3bc2 --- /dev/null +++ b/src/views/core/setting/releases/md/up-to-date.md @@ -0,0 +1,9 @@ +已经是最新版本 + +[Github仓库](https://github.com/d2-projects/d2-admin) + +[码云仓库](https://gitee.com/fairyever/d2-admin) + +[中文文档](http://d2admin.fairyever.com/zh/) + +[预览地址](https://fairyever.gitee.io/d2-admin-preview) \ No newline at end of file diff --git a/src/views/core/setting/theme/custom.vue b/src/views/core/setting/theme/custom.vue new file mode 100644 index 00000000..749ee265 --- /dev/null +++ b/src/views/core/setting/theme/custom.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/src/views/core/setting/theme/theme.vue b/src/views/core/setting/theme/theme.vue new file mode 100644 index 00000000..d2852d73 --- /dev/null +++ b/src/views/core/setting/theme/theme.vue @@ -0,0 +1,5 @@ + diff --git a/src/views/demo/business/index/index.vue b/src/views/demo/business/index/index.vue new file mode 100644 index 00000000..65e93078 --- /dev/null +++ b/src/views/demo/business/index/index.vue @@ -0,0 +1,9 @@ + diff --git a/src/views/demo/charts/index/index.vue b/src/views/demo/charts/index/index.vue new file mode 100644 index 00000000..9c7cd9f6 --- /dev/null +++ b/src/views/demo/charts/index/index.vue @@ -0,0 +1,9 @@ + diff --git a/src/views/demo/charts/list/_mixin/list.js b/src/views/demo/charts/list/_mixin/list.js new file mode 100644 index 00000000..8a33ee3a --- /dev/null +++ b/src/views/demo/charts/list/_mixin/list.js @@ -0,0 +1,9 @@ +export default { + data () { + return { + pubSetting: { + height: '100%' + } + } + } +} diff --git a/src/views/demo/charts/list/bar/demo1/index.vue b/src/views/demo/charts/list/bar/demo1/index.vue new file mode 100644 index 00000000..22aef17a --- /dev/null +++ b/src/views/demo/charts/list/bar/demo1/index.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/demo/charts/list/bar/demo2/index.vue b/src/views/demo/charts/list/bar/demo2/index.vue new file mode 100644 index 00000000..57798880 --- /dev/null +++ b/src/views/demo/charts/list/bar/demo2/index.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/views/demo/charts/list/bar/demo3/index.vue b/src/views/demo/charts/list/bar/demo3/index.vue new file mode 100644 index 00000000..24e34c13 --- /dev/null +++ b/src/views/demo/charts/list/bar/demo3/index.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/src/views/demo/charts/list/bar/demo4/index.vue b/src/views/demo/charts/list/bar/demo4/index.vue new file mode 100644 index 00000000..0e5d9642 --- /dev/null +++ b/src/views/demo/charts/list/bar/demo4/index.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/src/views/demo/charts/list/bar/demo5/index.vue b/src/views/demo/charts/list/bar/demo5/index.vue new file mode 100644 index 00000000..8d11c1c4 --- /dev/null +++ b/src/views/demo/charts/list/bar/demo5/index.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/views/demo/charts/list/candle/demo1/index.vue b/src/views/demo/charts/list/candle/demo1/index.vue new file mode 100644 index 00000000..8ecbc23e --- /dev/null +++ b/src/views/demo/charts/list/candle/demo1/index.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/src/views/demo/charts/list/candle/demo2/index.vue b/src/views/demo/charts/list/candle/demo2/index.vue new file mode 100644 index 00000000..7221c193 --- /dev/null +++ b/src/views/demo/charts/list/candle/demo2/index.vue @@ -0,0 +1,81 @@ + + + + + diff --git a/src/views/demo/charts/list/candle/demo3/index.vue b/src/views/demo/charts/list/candle/demo3/index.vue new file mode 100644 index 00000000..83daf200 --- /dev/null +++ b/src/views/demo/charts/list/candle/demo3/index.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/src/views/demo/charts/list/funnel/demo1/index.vue b/src/views/demo/charts/list/funnel/demo1/index.vue new file mode 100644 index 00000000..a4d103dd --- /dev/null +++ b/src/views/demo/charts/list/funnel/demo1/index.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/views/demo/charts/list/funnel/demo2/index.vue b/src/views/demo/charts/list/funnel/demo2/index.vue new file mode 100644 index 00000000..4fb34c79 --- /dev/null +++ b/src/views/demo/charts/list/funnel/demo2/index.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/demo/charts/list/gauge/demo1/index.vue b/src/views/demo/charts/list/gauge/demo1/index.vue new file mode 100644 index 00000000..193e282f --- /dev/null +++ b/src/views/demo/charts/list/gauge/demo1/index.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/src/views/demo/charts/list/heatmap/demo1/index.vue b/src/views/demo/charts/list/heatmap/demo1/index.vue new file mode 100644 index 00000000..550adc5c --- /dev/null +++ b/src/views/demo/charts/list/heatmap/demo1/index.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/views/demo/charts/list/heatmap/demo2/index.vue b/src/views/demo/charts/list/heatmap/demo2/index.vue new file mode 100644 index 00000000..be277b85 --- /dev/null +++ b/src/views/demo/charts/list/heatmap/demo2/index.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/src/views/demo/charts/list/histogram/demo1/index.vue b/src/views/demo/charts/list/histogram/demo1/index.vue new file mode 100644 index 00000000..4a6c2bb6 --- /dev/null +++ b/src/views/demo/charts/list/histogram/demo1/index.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/demo/charts/list/histogram/demo2/index.vue b/src/views/demo/charts/list/histogram/demo2/index.vue new file mode 100644 index 00000000..8dd71fa6 --- /dev/null +++ b/src/views/demo/charts/list/histogram/demo2/index.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/views/demo/charts/list/histogram/demo3/index.vue b/src/views/demo/charts/list/histogram/demo3/index.vue new file mode 100644 index 00000000..42f38457 --- /dev/null +++ b/src/views/demo/charts/list/histogram/demo3/index.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/views/demo/charts/list/histogram/demo4/index.vue b/src/views/demo/charts/list/histogram/demo4/index.vue new file mode 100644 index 00000000..6f4730d7 --- /dev/null +++ b/src/views/demo/charts/list/histogram/demo4/index.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/views/demo/charts/list/histogram/demo5/index.vue b/src/views/demo/charts/list/histogram/demo5/index.vue new file mode 100644 index 00000000..516d344c --- /dev/null +++ b/src/views/demo/charts/list/histogram/demo5/index.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/src/views/demo/charts/list/histogram/demo6/index.vue b/src/views/demo/charts/list/histogram/demo6/index.vue new file mode 100644 index 00000000..83cd13d8 --- /dev/null +++ b/src/views/demo/charts/list/histogram/demo6/index.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/views/demo/charts/list/line/demo1/index.vue b/src/views/demo/charts/list/line/demo1/index.vue new file mode 100644 index 00000000..a96cab48 --- /dev/null +++ b/src/views/demo/charts/list/line/demo1/index.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/demo/charts/list/line/demo2/index.vue b/src/views/demo/charts/list/line/demo2/index.vue new file mode 100644 index 00000000..623012bd --- /dev/null +++ b/src/views/demo/charts/list/line/demo2/index.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/views/demo/charts/list/line/demo3/index.vue b/src/views/demo/charts/list/line/demo3/index.vue new file mode 100644 index 00000000..93fb6ddb --- /dev/null +++ b/src/views/demo/charts/list/line/demo3/index.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/views/demo/charts/list/line/demo4/index.vue b/src/views/demo/charts/list/line/demo4/index.vue new file mode 100644 index 00000000..106b539c --- /dev/null +++ b/src/views/demo/charts/list/line/demo4/index.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/views/demo/charts/list/line/demo5/index.vue b/src/views/demo/charts/list/line/demo5/index.vue new file mode 100644 index 00000000..f3daa02f --- /dev/null +++ b/src/views/demo/charts/list/line/demo5/index.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/views/demo/charts/list/map/demo1/index.vue b/src/views/demo/charts/list/map/demo1/index.vue new file mode 100644 index 00000000..0428b7d7 --- /dev/null +++ b/src/views/demo/charts/list/map/demo1/index.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/views/demo/charts/list/map/demo2/index.vue b/src/views/demo/charts/list/map/demo2/index.vue new file mode 100644 index 00000000..de0b5c2c --- /dev/null +++ b/src/views/demo/charts/list/map/demo2/index.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/src/views/demo/charts/list/map/demo3/index.vue b/src/views/demo/charts/list/map/demo3/index.vue new file mode 100644 index 00000000..81e8b14c --- /dev/null +++ b/src/views/demo/charts/list/map/demo3/index.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/views/demo/charts/list/pie/demo1/index.vue b/src/views/demo/charts/list/pie/demo1/index.vue new file mode 100644 index 00000000..04c303d6 --- /dev/null +++ b/src/views/demo/charts/list/pie/demo1/index.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/demo/charts/list/pie/demo2/index.vue b/src/views/demo/charts/list/pie/demo2/index.vue new file mode 100644 index 00000000..451ca85d --- /dev/null +++ b/src/views/demo/charts/list/pie/demo2/index.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/views/demo/charts/list/pie/demo3/index.vue b/src/views/demo/charts/list/pie/demo3/index.vue new file mode 100644 index 00000000..08c4b444 --- /dev/null +++ b/src/views/demo/charts/list/pie/demo3/index.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/views/demo/charts/list/pie/demo4/index.vue b/src/views/demo/charts/list/pie/demo4/index.vue new file mode 100644 index 00000000..5fafef01 --- /dev/null +++ b/src/views/demo/charts/list/pie/demo4/index.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/views/demo/charts/list/pie/demo5/index.vue b/src/views/demo/charts/list/pie/demo5/index.vue new file mode 100644 index 00000000..a6045c3b --- /dev/null +++ b/src/views/demo/charts/list/pie/demo5/index.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/src/views/demo/charts/list/pie/demo6/index.vue b/src/views/demo/charts/list/pie/demo6/index.vue new file mode 100644 index 00000000..466e4f73 --- /dev/null +++ b/src/views/demo/charts/list/pie/demo6/index.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/views/demo/charts/list/radar/demo1/index.vue b/src/views/demo/charts/list/radar/demo1/index.vue new file mode 100644 index 00000000..fc8d4e95 --- /dev/null +++ b/src/views/demo/charts/list/radar/demo1/index.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/demo/charts/list/ring/demo1/index.vue b/src/views/demo/charts/list/ring/demo1/index.vue new file mode 100644 index 00000000..bb79c20a --- /dev/null +++ b/src/views/demo/charts/list/ring/demo1/index.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/demo/charts/list/ring/demo2/index.vue b/src/views/demo/charts/list/ring/demo2/index.vue new file mode 100644 index 00000000..12a5a790 --- /dev/null +++ b/src/views/demo/charts/list/ring/demo2/index.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/views/demo/charts/list/ring/demo3/index.vue b/src/views/demo/charts/list/ring/demo3/index.vue new file mode 100644 index 00000000..e077ee56 --- /dev/null +++ b/src/views/demo/charts/list/ring/demo3/index.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/views/demo/charts/list/ring/demo4/index.vue b/src/views/demo/charts/list/ring/demo4/index.vue new file mode 100644 index 00000000..64381be6 --- /dev/null +++ b/src/views/demo/charts/list/ring/demo4/index.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/views/demo/charts/list/ring/demo5/index.vue b/src/views/demo/charts/list/ring/demo5/index.vue new file mode 100644 index 00000000..dbd3bf46 --- /dev/null +++ b/src/views/demo/charts/list/ring/demo5/index.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/views/demo/charts/list/sankey/demo1/index.vue b/src/views/demo/charts/list/sankey/demo1/index.vue new file mode 100644 index 00000000..e0426923 --- /dev/null +++ b/src/views/demo/charts/list/sankey/demo1/index.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/src/views/demo/charts/list/scatter/demo1/index.vue b/src/views/demo/charts/list/scatter/demo1/index.vue new file mode 100644 index 00000000..602bef17 --- /dev/null +++ b/src/views/demo/charts/list/scatter/demo1/index.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/demo/charts/list/scatter/demo2/index.vue b/src/views/demo/charts/list/scatter/demo2/index.vue new file mode 100644 index 00000000..3755fd26 --- /dev/null +++ b/src/views/demo/charts/list/scatter/demo2/index.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/src/views/demo/charts/list/tree/demo1/index.vue b/src/views/demo/charts/list/tree/demo1/index.vue new file mode 100644 index 00000000..f9c5e911 --- /dev/null +++ b/src/views/demo/charts/list/tree/demo1/index.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/src/views/demo/charts/list/waterfall/demo1/index.vue b/src/views/demo/charts/list/waterfall/demo1/index.vue new file mode 100644 index 00000000..114d3a9a --- /dev/null +++ b/src/views/demo/charts/list/waterfall/demo1/index.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/views/demo/components/container/card.vue b/src/views/demo/components/container/card.vue new file mode 100644 index 00000000..a0b7ba8c --- /dev/null +++ b/src/views/demo/components/container/card.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/views/demo/components/container/full-bs.vue b/src/views/demo/components/container/full-bs.vue new file mode 100644 index 00000000..719b255c --- /dev/null +++ b/src/views/demo/components/container/full-bs.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/views/demo/components/container/full.vue b/src/views/demo/components/container/full.vue new file mode 100644 index 00000000..06ad6510 --- /dev/null +++ b/src/views/demo/components/container/full.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/views/demo/components/container/ghost-header.vue b/src/views/demo/components/container/ghost-header.vue new file mode 100644 index 00000000..b757c0ff --- /dev/null +++ b/src/views/demo/components/container/ghost-header.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/views/demo/components/container/ghost.vue b/src/views/demo/components/container/ghost.vue new file mode 100644 index 00000000..7a19241d --- /dev/null +++ b/src/views/demo/components/container/ghost.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/views/demo/components/container/md/doc-card.md b/src/views/demo/components/container/md/doc-card.md new file mode 100644 index 00000000..9cd9c4c8 --- /dev/null +++ b/src/views/demo/components/container/md/doc-card.md @@ -0,0 +1,18 @@ +## 基础页面容器 + +高度根据内容适应 + +``` + + 主体内容 + +``` + +使用 `slot` + +``` + + + 主体内容 + +``` \ No newline at end of file diff --git a/src/views/demo/components/container/md/doc-full-bs.md b/src/views/demo/components/container/md/doc-full-bs.md new file mode 100644 index 00000000..ca2ec2f6 --- /dev/null +++ b/src/views/demo/components/container/md/doc-full-bs.md @@ -0,0 +1,77 @@ +## 自适应填充页面容器 + 滚动优化 + +无论内容高度多少,都会自动撑满页面,并有可选的 `header` 和 `footer` 插槽,**并且使用自定义滚动条代替原生滚动条**,是否启用此功能请自行取舍 + +> 有些情况下使用滚动优化模式会有意外影响,例如页面内含有可拖拽的元素,这时候最好不要使用此模式 + +示例: + +``` + +``` + +下面是一个较长的演示文章,仅仅是为了演示一些文字的显示效果 + +## vue.js + +**易用** + +已经会了 HTML、CSS、JavaScript?即刻阅读指南开始构建应用! + +**灵活** + +不断繁荣的生态系统,可以在一个库和一套完整框架之间自如伸缩。 + +**高效** + +20kB min+gzip 运行大小 + +超快虚拟 DOM + +最省心的优化 + +**Vue.js 是什么** + +Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。 + +如果你已经是有经验的前端开发者,想知道 Vue 与其它库/框架有哪些区别,请查看对比其它框架。 + +## Element + +Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库 + +**一致性** Consistency + +- 与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念; + +- 在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。 + +**反馈** Feedback + +- 控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作; + +- 页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。 + +**效率** Efficiency + +- 简化流程:设计简洁直观的操作流程; + +- 清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策; + +- 帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。 + +**可控** Controllability + +- 用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策; + +- 结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。 \ No newline at end of file diff --git a/src/views/demo/components/container/md/doc-full.md b/src/views/demo/components/container/md/doc-full.md new file mode 100644 index 00000000..b4aea88b --- /dev/null +++ b/src/views/demo/components/container/md/doc-full.md @@ -0,0 +1,75 @@ +## 自适应填充页面容器 + +无论内容高度多少,都会自动撑满页面,并有可选的 `header` 和 `footer` 插槽 + +示例: + +``` + +``` + +下面是一个较长的演示文章,仅仅是为了演示一些文字的显示效果 + +## vue.js + +**易用** + +已经会了 HTML、CSS、JavaScript?即刻阅读指南开始构建应用! + +**灵活** + +不断繁荣的生态系统,可以在一个库和一套完整框架之间自如伸缩。 + +**高效** + +20kB min+gzip 运行大小 + +超快虚拟 DOM + +最省心的优化 + +**Vue.js 是什么** + +Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。 + +如果你已经是有经验的前端开发者,想知道 Vue 与其它库/框架有哪些区别,请查看对比其它框架。 + +## Element + +Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库 + +**一致性** Consistency + +- 与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念; + +- 在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。 + +**反馈** Feedback + +- 控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作; + +- 页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。 + +**效率** Efficiency + +- 简化流程:设计简洁直观的操作流程; + +- 清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策; + +- 帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。 + +**可控** Controllability + +- 用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策; + +- 结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。 \ No newline at end of file diff --git a/src/views/demo/components/container/md/doc-ghost-header.md b/src/views/demo/components/container/md/doc-ghost-header.md new file mode 100644 index 00000000..d11ba747 --- /dev/null +++ b/src/views/demo/components/container/md/doc-ghost-header.md @@ -0,0 +1,12 @@ +## 隐形页面容器 带有头部 + +不显示任何背景色和边框,但是有一个和分页组件效果融合的头部,看起来更舒服一点 + +``` + + + 主体内容 + +``` + +> 注意 如果设置了 header 插槽的内容,header 部分会自动具有 20px 的下外边距 \ No newline at end of file diff --git a/src/views/demo/components/container/md/doc-ghost.md b/src/views/demo/components/container/md/doc-ghost.md new file mode 100644 index 00000000..f538c175 --- /dev/null +++ b/src/views/demo/components/container/md/doc-ghost.md @@ -0,0 +1,11 @@ +## 隐形页面容器 + +不显示任何背景色和边框 + +``` + + 主体内容 + +``` + +如果你不希望内容紧贴上边,可以在内容外层容器设置 `class="d2-mt"` \ No newline at end of file diff --git a/src/views/demo/components/contextmenu/custom-trigger.vue b/src/views/demo/components/contextmenu/custom-trigger.vue new file mode 100644 index 00000000..771b8ff7 --- /dev/null +++ b/src/views/demo/components/contextmenu/custom-trigger.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/demo/components/contextmenu/disabled.vue b/src/views/demo/components/contextmenu/disabled.vue new file mode 100644 index 00000000..0c8576da --- /dev/null +++ b/src/views/demo/components/contextmenu/disabled.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/views/demo/components/contextmenu/divier.vue b/src/views/demo/components/contextmenu/divier.vue new file mode 100644 index 00000000..63e874bf --- /dev/null +++ b/src/views/demo/components/contextmenu/divier.vue @@ -0,0 +1,31 @@ + + + + + diff --git a/src/views/demo/components/contextmenu/group.vue b/src/views/demo/components/contextmenu/group.vue new file mode 100644 index 00000000..8bc3312c --- /dev/null +++ b/src/views/demo/components/contextmenu/group.vue @@ -0,0 +1,29 @@ + + + diff --git a/src/views/demo/components/contextmenu/simple.vue b/src/views/demo/components/contextmenu/simple.vue new file mode 100644 index 00000000..09dd5183 --- /dev/null +++ b/src/views/demo/components/contextmenu/simple.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/views/demo/components/contextmenu/style/pub.scss b/src/views/demo/components/contextmenu/style/pub.scss new file mode 100644 index 00000000..5dc547dd --- /dev/null +++ b/src/views/demo/components/contextmenu/style/pub.scss @@ -0,0 +1,15 @@ +@import '~@/assets/style/public.scss'; +.contextmenu-pad { + height: 300px; + background-color: $color-bg; + border: 1px solid $color-border-1; + border-radius: 4px; + display: flex; + justify-content: center; + align-items: center; + user-select: none; + color: $color-info; +} +.contextmenu-icon { + font-size: 16px; +} \ No newline at end of file diff --git a/src/views/demo/components/contextmenu/submenu.vue b/src/views/demo/components/contextmenu/submenu.vue new file mode 100644 index 00000000..4dbabcf4 --- /dev/null +++ b/src/views/demo/components/contextmenu/submenu.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/src/views/demo/components/countup/index.vue b/src/views/demo/components/countup/index.vue new file mode 100644 index 00000000..1406fcc0 --- /dev/null +++ b/src/views/demo/components/countup/index.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/src/views/demo/components/editor-quill/index.vue b/src/views/demo/components/editor-quill/index.vue new file mode 100644 index 00000000..ab1001cf --- /dev/null +++ b/src/views/demo/components/editor-quill/index.vue @@ -0,0 +1,49 @@ + + + diff --git a/src/views/demo/components/editor-quill/value.js b/src/views/demo/components/editor-quill/value.js new file mode 100644 index 00000000..89744593 --- /dev/null +++ b/src/views/demo/components/editor-quill/value.js @@ -0,0 +1,6 @@ +export default `

+D2 Admin + +by +vue.js +

` diff --git a/src/views/demo/components/editor-simpleMDE/index.vue b/src/views/demo/components/editor-simpleMDE/index.vue new file mode 100644 index 00000000..b0f399fc --- /dev/null +++ b/src/views/demo/components/editor-simpleMDE/index.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/src/views/demo/components/editor-simpleMDE/text.js b/src/views/demo/components/editor-simpleMDE/text.js new file mode 100644 index 00000000..0a51f5c3 --- /dev/null +++ b/src/views/demo/components/editor-simpleMDE/text.js @@ -0,0 +1,10 @@ +export default `# 标题 + +- 列表 +- 列表 + +\`\`\` +alert('Hello') +\`\`\` + +[D2Admin in github](https://github.com/d2-projects/d2-admin)` diff --git a/src/views/demo/components/highlight/code/css.js b/src/views/demo/components/highlight/code/css.js new file mode 100644 index 00000000..f41e0a90 --- /dev/null +++ b/src/views/demo/components/highlight/code/css.js @@ -0,0 +1,8 @@ +export default `body { + background-color: aliceblue; + height: 100%; +} +.my-card { + height: 300px; + width: 300px; +}` diff --git a/src/views/demo/components/highlight/code/html.js b/src/views/demo/components/highlight/code/html.js new file mode 100644 index 00000000..739a2b9d --- /dev/null +++ b/src/views/demo/components/highlight/code/html.js @@ -0,0 +1,8 @@ +export default `
    +
  • Hello

  • +
  • + + Hello + +
  • +
` diff --git a/src/views/demo/components/highlight/code/javascript.js b/src/views/demo/components/highlight/code/javascript.js new file mode 100644 index 00000000..ce752335 --- /dev/null +++ b/src/views/demo/components/highlight/code/javascript.js @@ -0,0 +1,3 @@ +export default `[].forEach.call($$("*"), a => { + a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) +})` diff --git a/src/views/demo/components/highlight/code/scss.js b/src/views/demo/components/highlight/code/scss.js new file mode 100644 index 00000000..d914909c --- /dev/null +++ b/src/views/demo/components/highlight/code/scss.js @@ -0,0 +1,8 @@ +export default `body { + background-color: aliceblue; + height: 100%; + .my-card { + height: 300px; + width: 300px; + } +}` diff --git a/src/views/demo/components/highlight/index.vue b/src/views/demo/components/highlight/index.vue new file mode 100644 index 00000000..737b17cd --- /dev/null +++ b/src/views/demo/components/highlight/index.vue @@ -0,0 +1,46 @@ + + + diff --git a/src/views/demo/components/icon/components/d2-icon-cell.vue b/src/views/demo/components/icon/components/d2-icon-cell.vue new file mode 100644 index 00000000..48f1c8e4 --- /dev/null +++ b/src/views/demo/components/icon/components/d2-icon-cell.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/src/views/demo/components/icon/icon.vue b/src/views/demo/components/icon/icon.vue new file mode 100644 index 00000000..5d87199c --- /dev/null +++ b/src/views/demo/components/icon/icon.vue @@ -0,0 +1,23 @@ + + + diff --git a/src/views/demo/components/icon/list.vue b/src/views/demo/components/icon/list.vue new file mode 100644 index 00000000..ff4ade16 --- /dev/null +++ b/src/views/demo/components/icon/list.vue @@ -0,0 +1,46 @@ + + + diff --git a/src/views/demo/components/icon/select.vue b/src/views/demo/components/icon/select.vue new file mode 100644 index 00000000..392d1a80 --- /dev/null +++ b/src/views/demo/components/icon/select.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/src/views/demo/components/icon/svg.vue b/src/views/demo/components/icon/svg.vue new file mode 100644 index 00000000..56b51abe --- /dev/null +++ b/src/views/demo/components/icon/svg.vue @@ -0,0 +1,43 @@ + + + diff --git a/src/views/demo/components/index/index.vue b/src/views/demo/components/index/index.vue new file mode 100644 index 00000000..64cf2ee6 --- /dev/null +++ b/src/views/demo/components/index/index.vue @@ -0,0 +1,9 @@ + diff --git a/src/views/demo/components/json-tree/index.vue b/src/views/demo/components/json-tree/index.vue new file mode 100644 index 00000000..88de83c0 --- /dev/null +++ b/src/views/demo/components/json-tree/index.vue @@ -0,0 +1,21 @@ + + + diff --git a/src/views/demo/components/layout/grid.vue b/src/views/demo/components/layout/grid.vue new file mode 100644 index 00000000..aa05db61 --- /dev/null +++ b/src/views/demo/components/layout/grid.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/src/views/demo/components/layout/splitpane.vue b/src/views/demo/components/layout/splitpane.vue new file mode 100644 index 00000000..9963884c --- /dev/null +++ b/src/views/demo/components/layout/splitpane.vue @@ -0,0 +1,34 @@ + + + diff --git a/src/views/demo/components/markdown/md/doc.md b/src/views/demo/components/markdown/md/doc.md new file mode 100644 index 00000000..c1917221 --- /dev/null +++ b/src/views/demo/components/markdown/md/doc.md @@ -0,0 +1,23 @@ +# 一级标题 + +| ID | Name | Email | +| --- | --- | --- | +| 0001 | FairyEver | 1711467488@qq.com | + +``` +alert('Hello World') +``` + +一般引用 + +> 引用文字 + +分享一个我很早前的一副设计作品 [in Lofter](http://fairyever.lofter.com/post/16ff00_6796fe8) 借此演示百度云链接的显示优化 + +> https://pan.baidu.com/s/1kW6uUwB + +设计源文件 + +> 链接: https://pan.baidu.com/s/1ggFW21l 密码: 877y + +[https://github.com/d2-projects](https://github.com/d2-projects) \ No newline at end of file diff --git a/src/views/demo/components/markdown/source.vue b/src/views/demo/components/markdown/source.vue new file mode 100644 index 00000000..92d04893 --- /dev/null +++ b/src/views/demo/components/markdown/source.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/views/demo/components/markdown/url.vue b/src/views/demo/components/markdown/url.vue new file mode 100644 index 00000000..70e9a77c --- /dev/null +++ b/src/views/demo/components/markdown/url.vue @@ -0,0 +1,6 @@ + diff --git a/src/views/demo/element/basic-button/index.vue b/src/views/demo/element/basic-button/index.vue new file mode 100644 index 00000000..68c03af9 --- /dev/null +++ b/src/views/demo/element/basic-button/index.vue @@ -0,0 +1,106 @@ + diff --git a/src/views/demo/element/basic-color/components/info.vue b/src/views/demo/element/basic-color/components/info.vue new file mode 100644 index 00000000..c985cd6b --- /dev/null +++ b/src/views/demo/element/basic-color/components/info.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/views/demo/element/basic-color/index.vue b/src/views/demo/element/basic-color/index.vue new file mode 100644 index 00000000..fef284b6 --- /dev/null +++ b/src/views/demo/element/basic-color/index.vue @@ -0,0 +1,143 @@ + + + + + diff --git a/src/views/demo/element/basic-container/index.vue b/src/views/demo/element/basic-container/index.vue new file mode 100644 index 00000000..fc5db55b --- /dev/null +++ b/src/views/demo/element/basic-container/index.vue @@ -0,0 +1,93 @@ + + + diff --git a/src/views/demo/element/basic-icon/index.vue b/src/views/demo/element/basic-icon/index.vue new file mode 100644 index 00000000..b9013db2 --- /dev/null +++ b/src/views/demo/element/basic-icon/index.vue @@ -0,0 +1,23 @@ + diff --git a/src/views/demo/element/basic-layout/index.vue b/src/views/demo/element/basic-layout/index.vue new file mode 100644 index 00000000..3ae66d99 --- /dev/null +++ b/src/views/demo/element/basic-layout/index.vue @@ -0,0 +1,135 @@ + + + diff --git a/src/views/demo/element/basic-typography/index.vue b/src/views/demo/element/basic-typography/index.vue new file mode 100644 index 00000000..0cd796db --- /dev/null +++ b/src/views/demo/element/basic-typography/index.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/src/views/demo/element/data-badge/index.vue b/src/views/demo/element/data-badge/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/data-badge/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/data-pagination/index.vue b/src/views/demo/element/data-pagination/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/data-pagination/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/data-progress/index.vue b/src/views/demo/element/data-progress/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/data-progress/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/data-table/index.vue b/src/views/demo/element/data-table/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/data-table/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/data-tag/index.vue b/src/views/demo/element/data-tag/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/data-tag/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/data-tree/index.vue b/src/views/demo/element/data-tree/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/data-tree/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/form-cascader/index.vue b/src/views/demo/element/form-cascader/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/form-cascader/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/form-checkbox/index.vue b/src/views/demo/element/form-checkbox/index.vue new file mode 100644 index 00000000..4a665b00 --- /dev/null +++ b/src/views/demo/element/form-checkbox/index.vue @@ -0,0 +1,104 @@ + + + diff --git a/src/views/demo/element/form-color-picker/index.vue b/src/views/demo/element/form-color-picker/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/form-color-picker/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/form-date-picker/index.vue b/src/views/demo/element/form-date-picker/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/form-date-picker/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/form-datetime-picker/index.vue b/src/views/demo/element/form-datetime-picker/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/form-datetime-picker/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/form-form/index.vue b/src/views/demo/element/form-form/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/form-form/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/form-input-number/index.vue b/src/views/demo/element/form-input-number/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/form-input-number/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/form-input/index.vue.REMOVED.git-id b/src/views/demo/element/form-input/index.vue.REMOVED.git-id new file mode 100644 index 00000000..a091bda9 --- /dev/null +++ b/src/views/demo/element/form-input/index.vue.REMOVED.git-id @@ -0,0 +1 @@ +90a3104a58b6654c6323fe8f698255dfaf2f76da \ No newline at end of file diff --git a/src/views/demo/element/form-radio/index.vue b/src/views/demo/element/form-radio/index.vue new file mode 100644 index 00000000..0ec9bc2a --- /dev/null +++ b/src/views/demo/element/form-radio/index.vue @@ -0,0 +1,99 @@ + + + diff --git a/src/views/demo/element/form-rate/index.vue b/src/views/demo/element/form-rate/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/form-rate/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/form-select/index.vue b/src/views/demo/element/form-select/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/form-select/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/form-slider/index.vue b/src/views/demo/element/form-slider/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/form-slider/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/form-switch/index.vue b/src/views/demo/element/form-switch/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/form-switch/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/form-time-picker/index.vue b/src/views/demo/element/form-time-picker/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/form-time-picker/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/form-transfer/index.vue b/src/views/demo/element/form-transfer/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/form-transfer/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/form-upload/index.vue b/src/views/demo/element/form-upload/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/form-upload/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/index/index.vue b/src/views/demo/element/index/index.vue new file mode 100644 index 00000000..6fee5661 --- /dev/null +++ b/src/views/demo/element/index/index.vue @@ -0,0 +1,9 @@ + diff --git a/src/views/demo/element/navigation-breadcrumb/index.vue b/src/views/demo/element/navigation-breadcrumb/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/navigation-breadcrumb/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/navigation-dropdown/index.vue b/src/views/demo/element/navigation-dropdown/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/navigation-dropdown/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/navigation-menu/index.vue b/src/views/demo/element/navigation-menu/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/navigation-menu/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/navigation-steps/index.vue b/src/views/demo/element/navigation-steps/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/navigation-steps/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/navigation-tabs/index.vue b/src/views/demo/element/navigation-tabs/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/navigation-tabs/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/notice-alert/index.vue b/src/views/demo/element/notice-alert/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/notice-alert/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/notice-loading/index.vue b/src/views/demo/element/notice-loading/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/notice-loading/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/notice-message-box/index.vue b/src/views/demo/element/notice-message-box/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/notice-message-box/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/notice-message/index.vue b/src/views/demo/element/notice-message/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/notice-message/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/notice-notification/index.vue b/src/views/demo/element/notice-notification/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/notice-notification/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/others-card/index.vue b/src/views/demo/element/others-card/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/others-card/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/others-carousel/index.vue b/src/views/demo/element/others-carousel/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/others-carousel/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/others-collapse/index.vue b/src/views/demo/element/others-collapse/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/others-collapse/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/others-dialog/index.vue b/src/views/demo/element/others-dialog/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/others-dialog/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/others-popover/index.vue b/src/views/demo/element/others-popover/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/others-popover/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/element/others-tooltip/index.vue b/src/views/demo/element/others-tooltip/index.vue new file mode 100644 index 00000000..2502ac67 --- /dev/null +++ b/src/views/demo/element/others-tooltip/index.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/demo/playground/db/index.vue b/src/views/demo/playground/db/index.vue new file mode 100644 index 00000000..c7eaf72b --- /dev/null +++ b/src/views/demo/playground/db/index.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/views/demo/playground/fullscreen/index.vue b/src/views/demo/playground/fullscreen/index.vue new file mode 100644 index 00000000..5826a15b --- /dev/null +++ b/src/views/demo/playground/fullscreen/index.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/views/demo/playground/gray/index.vue b/src/views/demo/playground/gray/index.vue new file mode 100644 index 00000000..fb51b269 --- /dev/null +++ b/src/views/demo/playground/gray/index.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/src/views/demo/playground/index/index.vue b/src/views/demo/playground/index/index.vue new file mode 100644 index 00000000..146fa39f --- /dev/null +++ b/src/views/demo/playground/index/index.vue @@ -0,0 +1,9 @@ + diff --git a/src/views/demo/playground/page-argu/get.vue b/src/views/demo/playground/page-argu/get.vue new file mode 100644 index 00000000..720e99e4 --- /dev/null +++ b/src/views/demo/playground/page-argu/get.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/demo/playground/page-argu/send.vue b/src/views/demo/playground/page-argu/send.vue new file mode 100644 index 00000000..a52a816d --- /dev/null +++ b/src/views/demo/playground/page-argu/send.vue @@ -0,0 +1,55 @@ + + + diff --git a/src/views/demo/playground/page-cache/off.vue b/src/views/demo/playground/page-cache/off.vue new file mode 100644 index 00000000..79444750 --- /dev/null +++ b/src/views/demo/playground/page-cache/off.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/views/demo/playground/page-cache/on.vue b/src/views/demo/playground/page-cache/on.vue new file mode 100644 index 00000000..4c9bc566 --- /dev/null +++ b/src/views/demo/playground/page-cache/on.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/views/demo/playground/theme/index.vue b/src/views/demo/playground/theme/index.vue new file mode 100644 index 00000000..89a76a70 --- /dev/null +++ b/src/views/demo/playground/theme/index.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/views/demo/plugins/better-scroll/base.vue b/src/views/demo/plugins/better-scroll/base.vue new file mode 100644 index 00000000..b6ba1027 --- /dev/null +++ b/src/views/demo/plugins/better-scroll/base.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/src/views/demo/plugins/better-scroll/to.vue b/src/views/demo/plugins/better-scroll/to.vue new file mode 100644 index 00000000..022bf0b2 --- /dev/null +++ b/src/views/demo/plugins/better-scroll/to.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/src/views/demo/plugins/build/index.vue b/src/views/demo/plugins/build/index.vue new file mode 100644 index 00000000..52246673 --- /dev/null +++ b/src/views/demo/plugins/build/index.vue @@ -0,0 +1,6 @@ + diff --git a/src/views/demo/plugins/clipboard-polyfill/index.vue b/src/views/demo/plugins/clipboard-polyfill/index.vue new file mode 100644 index 00000000..2d23bea1 --- /dev/null +++ b/src/views/demo/plugins/clipboard-polyfill/index.vue @@ -0,0 +1,82 @@ + + + diff --git a/src/views/demo/plugins/day/index.vue b/src/views/demo/plugins/day/index.vue new file mode 100644 index 00000000..2739a409 --- /dev/null +++ b/src/views/demo/plugins/day/index.vue @@ -0,0 +1,73 @@ + + + diff --git a/src/views/demo/plugins/export/data/index.js b/src/views/demo/plugins/export/data/index.js new file mode 100644 index 00000000..103434bb --- /dev/null +++ b/src/views/demo/plugins/export/data/index.js @@ -0,0 +1,37 @@ +import Mock from 'mockjs' + +const mockData = Mock.mock({ + 'data|3-6': [{ + 'id|+1': 1, + 'name': '@CNAME', + 'creatDate': '@DATE', + 'address': '@CITY', + 'zip': '@ZIP' + }] +}) + +export default { + data: mockData.data, + columns: [ + { + label: 'ID', + prop: 'id' + }, + { + label: '名称', + prop: 'name' + }, + { + label: '创建日期', + prop: 'creatDate' + }, + { + label: '地址', + prop: 'address' + }, + { + label: '邮编', + prop: 'zip' + } + ] +} diff --git a/src/views/demo/plugins/export/table.vue b/src/views/demo/plugins/export/table.vue new file mode 100644 index 00000000..af0f69f3 --- /dev/null +++ b/src/views/demo/plugins/export/table.vue @@ -0,0 +1,61 @@ + + + diff --git a/src/views/demo/plugins/export/txt.vue b/src/views/demo/plugins/export/txt.vue new file mode 100644 index 00000000..685f57ed --- /dev/null +++ b/src/views/demo/plugins/export/txt.vue @@ -0,0 +1,44 @@ + + + diff --git a/src/views/demo/plugins/i18n/components/DemoI18n.vue b/src/views/demo/plugins/i18n/components/DemoI18n.vue new file mode 100644 index 00000000..dca60605 --- /dev/null +++ b/src/views/demo/plugins/i18n/components/DemoI18n.vue @@ -0,0 +1,67 @@ + +{ + "cn": { + "subtitle": "点击上面的按钮,你可以在两个示例页面之间切换,检查语言变化", + "hello": "你好", + "vue": "Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。", + "check": { + "title": "请选择", + "label": { + "Beijing": "北京", + "Tokyo": "东京", + "NewYork": "纽约" + } + } + }, + "en": { + "subtitle": "Click the button above, you can switch between two sample pages to check language changes", + "hello": "hello", + "vue": "Vue (pronounced /vjuː/, like view) is a progressive framework for building user interfaces. Unlike other monolithic frameworks, Vue is designed from the ground up to be incrementally adoptable. The core library is focused on the view layer only, and is easy to pick up and integrate with other libraries or existing projects. On the other hand, Vue is also perfectly capable of powering sophisticated Single-Page Applications when used in combination with modern tooling and supporting libraries.", + "check": { + "title": "Please choose", + "label": { + "Beijing": "Beijing", + "Tokyo": "Tokyo", + "NewYork": "NewYork" + } + } + }, + "ja": { + "subtitle": "上のボタンをクリックして,あなたは2つの例のページの間で切り替えて、言語の変化を検査することができます", + "hello": "こんにちは", + "vue": "Vue (発音は /vjuː/、view と同様)はユーザーインターフェイスを構築するためのプログレッシブフレームワークです。他の一枚板(モノリシック: monolithic)なフレームワークとは異なり、Vue は少しずつ適用していけるように設計されています。中核となるライブラリは view 層だけに焦点を当てています。そのため、使い始めるのも、他のライブラリや既存のプロジェクトに統合するのも、とても簡単です。また、モダンなツールやサポートライブラリと併用することで、洗練されたシングルページアプリケーションの開発も可能です。", + "check": { + "title": "選択してください", + "label": { + "Beijing": "北京", + "Tokyo": "東京", + "NewYork": "ニューヨーク" + } + } + } +} + + + + + diff --git a/src/views/demo/plugins/i18n/components/DemoI18nControl.vue b/src/views/demo/plugins/i18n/components/DemoI18nControl.vue new file mode 100644 index 00000000..59a67b82 --- /dev/null +++ b/src/views/demo/plugins/i18n/components/DemoI18nControl.vue @@ -0,0 +1,27 @@ + + + diff --git a/src/views/demo/plugins/i18n/demo1.vue b/src/views/demo/plugins/i18n/demo1.vue new file mode 100644 index 00000000..ef7204ef --- /dev/null +++ b/src/views/demo/plugins/i18n/demo1.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/demo/plugins/i18n/demo2.vue b/src/views/demo/plugins/i18n/demo2.vue new file mode 100644 index 00000000..154ef2de --- /dev/null +++ b/src/views/demo/plugins/i18n/demo2.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/demo/plugins/import/csv.vue b/src/views/demo/plugins/import/csv.vue new file mode 100644 index 00000000..4ab02032 --- /dev/null +++ b/src/views/demo/plugins/import/csv.vue @@ -0,0 +1,59 @@ + + + diff --git a/src/views/demo/plugins/import/xlsx.vue b/src/views/demo/plugins/import/xlsx.vue new file mode 100644 index 00000000..f6907446 --- /dev/null +++ b/src/views/demo/plugins/import/xlsx.vue @@ -0,0 +1,61 @@ + + + diff --git a/src/views/demo/plugins/index/index.vue b/src/views/demo/plugins/index/index.vue new file mode 100644 index 00000000..cd08b522 --- /dev/null +++ b/src/views/demo/plugins/index/index.vue @@ -0,0 +1,9 @@ + diff --git a/src/views/demo/plugins/js-cookie/index.vue b/src/views/demo/plugins/js-cookie/index.vue new file mode 100644 index 00000000..120f1e5b --- /dev/null +++ b/src/views/demo/plugins/js-cookie/index.vue @@ -0,0 +1,46 @@ + + + diff --git a/src/views/demo/plugins/mock/ajax.vue b/src/views/demo/plugins/mock/ajax.vue new file mode 100644 index 00000000..838e8a45 --- /dev/null +++ b/src/views/demo/plugins/mock/ajax.vue @@ -0,0 +1,43 @@ + + + diff --git a/src/views/demo/plugins/mock/components/d2-demo-mock-card.vue b/src/views/demo/plugins/mock/components/d2-demo-mock-card.vue new file mode 100644 index 00000000..2b3aabd4 --- /dev/null +++ b/src/views/demo/plugins/mock/components/d2-demo-mock-card.vue @@ -0,0 +1,64 @@ + + + + + diff --git a/src/views/demo/plugins/mock/data/settingDPD.js b/src/views/demo/plugins/mock/data/settingDPD.js new file mode 100644 index 00000000..67de3913 --- /dev/null +++ b/src/views/demo/plugins/mock/data/settingDPD.js @@ -0,0 +1,15 @@ +/* eslint-disable */ +export default [ + // 字符串 + { + title: "占位符演示", + json: { + "name": { + first: '@FIRST', + middle: '@FIRST', + last: '@LAST', + full: '@first @middle @last' + } + } + } +] diff --git a/src/views/demo/plugins/mock/data/settingDTD.js b/src/views/demo/plugins/mock/data/settingDTD.js new file mode 100644 index 00000000..e3eca6e1 --- /dev/null +++ b/src/views/demo/plugins/mock/data/settingDTD.js @@ -0,0 +1,115 @@ +/* eslint-disable */ +export default [ + // 字符串 + { + title: "复制1-10次固定字符串", + json: { + "string|1-10": "★" + } + }, + { + title: "复制3次", + json: { + "string|3": "Ha" + } + }, + // 数字 + { + title: "范围随机取值", + json: { + "number|1-100": 50 + } + }, + { + title: "累加1", + json: { + "number|+1": 10 + } + }, + { + title: "累加2", + json: { + "number|+2": 10 + } + }, + { + title: "浮点数", + json: { + "number1|1-100.1-10": 1, + "number2|123.1-10": 1, + "number3|123.3": 1, + "number4|123.10": 1.123 + } + }, + // 布尔值 + { + title: "true 的概率是 1/2", + json: { + "boolean|1": true + } + }, + // 对象 + { + title: '随机选择3个属性', + json: { + "obj|3": { + name: 'FairyEver', + use: 'vue.js', + sex: 1, + qq: '1711467488', + tel: '123-4567-8910', + city: 'beijing', + mail: '1711467488liyang@gmail.com', + github: 'https://github.com/d2-projects', + blog: 'http://www.fairyever.com/', + creatDate: '2018-1-1', + updateDate: '2018-1-2', + delFlag: 0 + } + } + }, + { + title: '随机选择4-8个属性', + json: { + "obj|4-8": { + name: 'FairyEver', + use: 'vue.js', + sex: 1, + qq: '1711467488', + tel: '123-4567-8910', + city: 'beijing', + mail: '1711467488liyang@gmail.com', + github: 'https://github.com/FairyEver', + blog: 'http://www.fairyever.com/', + creatDate: '2018-1-1', + updateDate: '2018-1-2', + delFlag: 0 + } + } + }, + // 数组 + { + title: '随机选1个', + json: { + "arr|1": ['1-vue', '2-react', '3-angular', '4-node', '5-java'] + } + }, + { + title: '顺序选1个', + json: { + "arr|+1": ['1-vue', '2-react', '3-angular', '4-node', '5-java'] + } + }, + { + title: '重复3次', + json: { + "arr|3": ['o', 'o - o', 'o - o - o'] + } + }, + { + title: '重复2-10次', + json: { + "arr|2-10": ['-', '----'] + } + } +] diff --git a/src/views/demo/plugins/mock/dpd.vue b/src/views/demo/plugins/mock/dpd.vue new file mode 100644 index 00000000..ec1234ba --- /dev/null +++ b/src/views/demo/plugins/mock/dpd.vue @@ -0,0 +1,46 @@ + + + diff --git a/src/views/demo/plugins/mock/dtd.vue b/src/views/demo/plugins/mock/dtd.vue new file mode 100644 index 00000000..059e614c --- /dev/null +++ b/src/views/demo/plugins/mock/dtd.vue @@ -0,0 +1,66 @@ + + + diff --git a/src/views/demo/plugins/mock/md/doc.md b/src/views/demo/plugins/mock/md/doc.md new file mode 100644 index 00000000..2ddc66a3 --- /dev/null +++ b/src/views/demo/plugins/mock/md/doc.md @@ -0,0 +1,5 @@ +你可以点击每个演示卡片右上角的刷新按钮检查每次 `mock` 不同的结果 + +官方演示页面 [http://mockjs.com/examples.html](http://mockjs.com/examples.html) + +官方 `Wiki` [https://github.com/nuysoft/Mock/wiki/Getting-Started](https://github.com/nuysoft/Mock/wiki/Getting-Started) \ No newline at end of file diff --git a/src/views/demo/plugins/mock/mixins/function.js b/src/views/demo/plugins/mock/mixins/function.js new file mode 100644 index 00000000..d7d64ad7 --- /dev/null +++ b/src/views/demo/plugins/mock/mixins/function.js @@ -0,0 +1,30 @@ +/* eslint-disable */ +import Mock from 'mockjs' +export default { + data () { + return { + // 测试函数 + fn: { + title: '函数', + code: `{ + "name": "FairyEver", + "say": function() { + return 'I AM ' + this.name + } +}`, + json: { + "name": "FairyEver", + "say": function() { + return 'I AM ' + this.name + } + }, + mocked: '' + } + } + }, + methods: { + fnMock () { + this.fn.mocked = JSON.stringify(Mock.mock(this.fn.json), null, 2) + } + } +} diff --git a/src/views/demo/plugins/mock/mixins/regexp.js b/src/views/demo/plugins/mock/mixins/regexp.js new file mode 100644 index 00000000..8559c341 --- /dev/null +++ b/src/views/demo/plugins/mock/mixins/regexp.js @@ -0,0 +1,28 @@ +/* eslint-disable */ +import Mock from 'mockjs' +export default { + data () { + return { + // 测试正则表达式 + regexp: { + title: '正则表达式', + code: `{ + 'regexp1': /[a-z][A-Z][0-9]/, + 'regexp2': /\w\W\s\S\d\D/, + 'regexp3': /\d{5,10}/ +}`, + json: { + 'regexp1': /[a-z][A-Z][0-9]/, + 'regexp2': /\w\W\s\S\d\D/, + 'regexp3': /\d{5,10}/ + }, + mocked: '' + } + } + }, + methods: { + regexpMock () { + this.regexp.mocked = JSON.stringify(Mock.mock(this.regexp.json), null, 2) + } + } +} diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 00000000..2d74548c --- /dev/null +++ b/vue.config.js @@ -0,0 +1,51 @@ +const path = require('path') + +// 拼接路径 +function resolve (dir) { + return path.join(__dirname, dir) +} + +module.exports = { + baseUrl: '/d2-admin-preview/', // 根据你的实际情况更改这里 + lintOnSave: true, + devServer: { + publicPath: '/d2-admin-preview/' // 和 baseUrl 保持一致 + }, + // webpack 设置 + chainWebpack: config => { + // markdown + config.module + .rule('md') + .test(/\.md$/) + .use('text-loader') + .loader('text-loader') + .end() + // i18n + config.module + .rule('i18n') + .resourceQuery(/blockType=i18n/) + .use('i18n') + .loader('@kazupon/vue-i18n-loader') + .end() + // svg + const svgRule = config.module.rule('svg') + svgRule.uses.clear() + svgRule + .include + .add(resolve('src/assets/icons/svg')) + .end() + .use('svg-sprite-loader') + .loader('svg-sprite-loader') + .options({ + symbolId: 'd2-[name]' + }) + .end() + // image + const imagesRule = config.module.rule('images') + imagesRule + .test(/\.(png|jpe?g|gif|webp|svg)(\?.*)?$/) + .exclude + .add(resolve('src/assets/icons/svg')) + .end() + } +}