├── src
├── assets
│ ├── css
│ │ ├── ajax.css
│ │ ├── home.css
│ │ ├── page.css
│ │ ├── index.css
│ │ ├── error.css
│ │ ├── ajax-detail.css
│ │ ├── login.css
│ │ └── setting.css
│ ├── sass
│ │ ├── ajax.scss
│ │ ├── home.scss
│ │ ├── error.scss
│ │ ├── index.scss
│ │ ├── ajax-detail.scss
│ │ ├── setting.scss
│ │ └── login.scss
│ ├── other
│ │ └── fileauth.txt
│ ├── images
│ │ └── common
│ │ │ ├── bg.png
│ │ │ ├── icon.png
│ │ │ ├── logo.png
│ │ │ ├── icon-1.png
│ │ │ ├── icon-2.png
│ │ │ ├── icon-3.png
│ │ │ ├── logo_1.png
│ │ │ ├── search.png
│ │ │ ├── totop.png
│ │ │ ├── favicon.ico
│ │ │ ├── loading-1.gif
│ │ │ ├── loading-2.gif
│ │ │ ├── loading-3.gif
│ │ │ ├── loading.gif
│ │ │ └── PopLayer-close.png
│ ├── markdown
│ │ ├── fonts
│ │ │ ├── FontAwesome.otf
│ │ │ ├── editormd-logo.eot
│ │ │ ├── editormd-logo.ttf
│ │ │ ├── editormd-logo.woff
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ ├── fontawesome-webfont.woff
│ │ │ ├── fontawesome-webfont.woff2
│ │ │ └── editormd-logo.svg
│ │ ├── js
│ │ │ ├── codemirror
│ │ │ │ ├── theme
│ │ │ │ │ ├── ambiance-mobile.css
│ │ │ │ │ ├── neat.css
│ │ │ │ │ ├── elegant.css
│ │ │ │ │ ├── neo.css
│ │ │ │ │ ├── eclipse.css
│ │ │ │ │ ├── cobalt.css
│ │ │ │ │ ├── monokai.css
│ │ │ │ │ ├── rubyblue.css
│ │ │ │ │ ├── night.css
│ │ │ │ │ ├── the-matrix.css
│ │ │ │ │ ├── colorforth.css
│ │ │ │ │ ├── blackboard.css
│ │ │ │ │ ├── 3024-day.css
│ │ │ │ │ ├── tomorrow-night-bright.css
│ │ │ │ │ ├── paraiso-light.css
│ │ │ │ │ ├── paraiso-dark.css
│ │ │ │ │ ├── 3024-night.css
│ │ │ │ │ ├── base16-dark.css
│ │ │ │ │ ├── base16-light.css
│ │ │ │ │ ├── mbo.css
│ │ │ │ │ ├── vibrant-ink.css
│ │ │ │ │ ├── twilight.css
│ │ │ │ │ ├── midnight.css
│ │ │ │ │ ├── zenburn.css
│ │ │ │ │ └── erlang-dark.css
│ │ │ │ ├── addon
│ │ │ │ │ ├── display
│ │ │ │ │ │ ├── fullscreen.css
│ │ │ │ │ │ ├── fullscreen.js
│ │ │ │ │ │ └── placeholder.js
│ │ │ │ │ ├── search
│ │ │ │ │ │ └── matchesonscrollbar.css
│ │ │ │ │ ├── fold
│ │ │ │ │ │ ├── foldgutter.css
│ │ │ │ │ │ ├── indent-fold.js
│ │ │ │ │ │ └── markdown-fold.js
│ │ │ │ │ ├── dialog
│ │ │ │ │ │ └── dialog.css
│ │ │ │ │ ├── hint
│ │ │ │ │ │ ├── show-hint.css
│ │ │ │ │ │ ├── anyword-hint.js
│ │ │ │ │ │ └── css-hint.js
│ │ │ │ │ ├── mode
│ │ │ │ │ │ └── multiplex_test.js
│ │ │ │ │ ├── lint
│ │ │ │ │ │ ├── yaml-lint.js
│ │ │ │ │ │ ├── json-lint.js
│ │ │ │ │ │ ├── css-lint.js
│ │ │ │ │ │ └── coffeescript-lint.js
│ │ │ │ │ ├── edit
│ │ │ │ │ │ ├── trailingspace.js
│ │ │ │ │ │ └── continuelist.js
│ │ │ │ │ ├── tern
│ │ │ │ │ │ └── worker.js
│ │ │ │ │ ├── runmode
│ │ │ │ │ │ └── colorize.js
│ │ │ │ │ └── scroll
│ │ │ │ │ │ ├── simplescrollbars.css
│ │ │ │ │ │ └── scrollpastend.js
│ │ │ │ ├── mode
│ │ │ │ │ ├── tiddlywiki
│ │ │ │ │ │ └── tiddlywiki.css
│ │ │ │ │ ├── ruby
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── tiki
│ │ │ │ │ │ ├── tiki.css
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── diff
│ │ │ │ │ │ └── diff.js
│ │ │ │ │ ├── ntriples
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── spreadsheet
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── http
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── solr
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── z80
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── ecl
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── rust
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── turtle
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── pascal
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── pig
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── vbscript
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── gherkin
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── properties
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── javascript
│ │ │ │ │ │ └── typescript.html
│ │ │ │ │ ├── sass
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── perl
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── idl
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── dart
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── dart.js
│ │ │ │ │ ├── xml
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── jinja2
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── css
│ │ │ │ │ │ └── less_test.js
│ │ │ │ │ ├── shell
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── sparql
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── django
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── tornado
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── forth
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── gas
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── toml
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── octave
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── pegjs
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── cypher
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── smalltalk
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── htmlembedded
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── soy
│ │ │ │ │ │ └── index.html
│ │ │ │ ├── bower.json
│ │ │ │ ├── README.md
│ │ │ │ ├── package.json
│ │ │ │ └── LICENSE
│ │ │ └── jquery.flowchart.min.js
│ │ └── css
│ │ │ └── editormd.logo.min.css
│ ├── js
│ │ ├── view-home.js
│ │ ├── config.js
│ │ ├── view-error-detail-item.js
│ │ ├── view-system.js
│ │ ├── view-login.js
│ │ ├── view-slowresources.js
│ │ ├── view-error-detail.js
│ │ └── view-ajax.js
│ └── cert
│ │ └── 214545337340023.key
├── routes
│ └── index.js
├── tool
│ ├── index.js
│ ├── mysql.js
│ ├── transaction.js
│ └── qiniu.js
├── controllers
│ ├── index.js
│ ├── home.js
│ └── sources.js
├── view
│ ├── footer.html
│ ├── home.html
│ ├── header.html
│ ├── template.html
│ ├── login.html
│ ├── ajax.html
│ ├── slowresources.html
│ ├── side.html
│ └── error.html
└── config.js
├── demo
├── 01.png
├── 02.png
├── 03.png
├── 04.png
├── 05.png
├── 06.png
└── 07.png
├── .gitignore
├── .babelrc
└── pm2.config.json
/src/assets/css/ajax.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/sass/ajax.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/other/fileauth.txt:
--------------------------------------------------------------------------------
1 | 201804100000003x3mu0zjzmqdzoz5zmhw35bxoi8qt9a3cddlmm44qoqwua0lim
--------------------------------------------------------------------------------
/demo/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/demo/01.png
--------------------------------------------------------------------------------
/demo/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/demo/02.png
--------------------------------------------------------------------------------
/demo/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/demo/03.png
--------------------------------------------------------------------------------
/demo/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/demo/04.png
--------------------------------------------------------------------------------
/demo/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/demo/05.png
--------------------------------------------------------------------------------
/demo/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/demo/06.png
--------------------------------------------------------------------------------
/demo/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/demo/07.png
--------------------------------------------------------------------------------
/src/routes/index.js:
--------------------------------------------------------------------------------
1 | let requireDirectory = require('require-directory')
2 | module.exports = requireDirectory(module)
--------------------------------------------------------------------------------
/src/tool/index.js:
--------------------------------------------------------------------------------
1 | let requireDirectory = require('require-directory')
2 | module.exports = requireDirectory(module)
--------------------------------------------------------------------------------
/src/controllers/index.js:
--------------------------------------------------------------------------------
1 | let requireDirectory = require('require-directory')
2 | module.exports = requireDirectory(module)
--------------------------------------------------------------------------------
/src/view/footer.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/assets/images/common/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/bg.png
--------------------------------------------------------------------------------
/src/assets/images/common/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/icon.png
--------------------------------------------------------------------------------
/src/assets/images/common/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/logo.png
--------------------------------------------------------------------------------
/src/assets/css/home.css:
--------------------------------------------------------------------------------
1 | .container {
2 | margin-left: 0; }
3 |
4 | .home {
5 | background: #fff;
6 | font-size: 30px;
7 | color: #000; }
8 |
--------------------------------------------------------------------------------
/src/assets/images/common/icon-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/icon-1.png
--------------------------------------------------------------------------------
/src/assets/images/common/icon-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/icon-2.png
--------------------------------------------------------------------------------
/src/assets/images/common/icon-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/icon-3.png
--------------------------------------------------------------------------------
/src/assets/images/common/logo_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/logo_1.png
--------------------------------------------------------------------------------
/src/assets/images/common/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/search.png
--------------------------------------------------------------------------------
/src/assets/images/common/totop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/totop.png
--------------------------------------------------------------------------------
/src/assets/sass/home.scss:
--------------------------------------------------------------------------------
1 | .container{
2 | margin-left:0;
3 | }
4 | .home{
5 | background:#fff;
6 | font-size:30px;
7 | color:#000;
8 | }
--------------------------------------------------------------------------------
/src/assets/images/common/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/favicon.ico
--------------------------------------------------------------------------------
/src/assets/images/common/loading-1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/loading-1.gif
--------------------------------------------------------------------------------
/src/assets/images/common/loading-2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/loading-2.gif
--------------------------------------------------------------------------------
/src/assets/images/common/loading-3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/loading-3.gif
--------------------------------------------------------------------------------
/src/assets/images/common/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/loading.gif
--------------------------------------------------------------------------------
/src/assets/images/common/PopLayer-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/images/common/PopLayer-close.png
--------------------------------------------------------------------------------
/src/assets/markdown/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/markdown/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/src/assets/markdown/fonts/editormd-logo.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/markdown/fonts/editormd-logo.eot
--------------------------------------------------------------------------------
/src/assets/markdown/fonts/editormd-logo.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/markdown/fonts/editormd-logo.ttf
--------------------------------------------------------------------------------
/src/assets/markdown/fonts/editormd-logo.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/markdown/fonts/editormd-logo.woff
--------------------------------------------------------------------------------
/src/assets/markdown/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/markdown/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/src/assets/markdown/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/markdown/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/src/assets/markdown/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/markdown/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/theme/ambiance-mobile.css:
--------------------------------------------------------------------------------
1 | .cm-s-ambiance.CodeMirror {
2 | -webkit-box-shadow: none;
3 | -moz-box-shadow: none;
4 | box-shadow: none;
5 | }
6 |
--------------------------------------------------------------------------------
/src/assets/markdown/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangweianger/web-performance-monitoring-system/HEAD/src/assets/markdown/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/addon/display/fullscreen.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-fullscreen {
2 | position: fixed;
3 | top: 0; left: 0; right: 0; bottom: 0;
4 | height: auto;
5 | z-index: 9;
6 | }
7 |
--------------------------------------------------------------------------------
/src/assets/js/view-home.js:
--------------------------------------------------------------------------------
1 | // 前台首页
2 | console.log(
3 | `---------------Z---------------
4 | ----------------A---------------
5 | ----------------N---------------
6 | ----------------E---------------
7 | `
8 | )
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules
2 | /dist
3 | .idea/
4 | .DS_Store
5 | src/.DS_Store
6 | src/assets/.DS_Store
7 | */.DS_Store
8 | */*/.DS_Store
9 | npm-debug.log
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/addon/search/matchesonscrollbar.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-search-match {
2 | background: gold;
3 | border-top: 1px solid orange;
4 | border-bottom: 1px solid orange;
5 | -moz-box-sizing: border-box;
6 | box-sizing: border-box;
7 | opacity: .5;
8 | }
9 |
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "production": {
4 | "presets": ["es2015", "stage-2"],
5 | },
6 | "development":{
7 | "presets": ["es2015", "stage-2"],
8 | "plugins": ["transform-runtime"],
9 | }
10 | }
11 | }
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/mode/tiddlywiki/tiddlywiki.css:
--------------------------------------------------------------------------------
1 | span.cm-underlined {
2 | text-decoration: underline;
3 | }
4 | span.cm-strikethrough {
5 | text-decoration: line-through;
6 | }
7 | span.cm-brace {
8 | color: #170;
9 | font-weight: bold;
10 | }
11 | span.cm-table {
12 | color: blue;
13 | font-weight: bold;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "codemirror",
3 | "version":"5.0.0",
4 | "main": ["lib/codemirror.js", "lib/codemirror.css"],
5 | "ignore": [
6 | "**/.*",
7 | "node_modules",
8 | "components",
9 | "bin",
10 | "demo",
11 | "doc",
12 | "test",
13 | "index.html",
14 | "package.json"
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/pm2.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "apps" : [{
3 | "name" : "pm2-performance",
4 | "script" : "app.js",
5 | "env": {
6 | "NODE_ENV": "production",
7 | "BABEL_ENV": "BABEL_ENV",
8 | "IS_HTTPS": "TRUE"
9 | },
10 | "out_file": "./logs/out.log",
11 | "error_file": "./logs/error.log",
12 | "instances":2,
13 | "autorestart": true
14 | }]
15 | }
16 |
--------------------------------------------------------------------------------
/src/view/home.html:
--------------------------------------------------------------------------------
1 | <%- include("./header.html") %>
2 | <%- include("./side.html") %>
3 |
4 | and others
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/src/assets/js/view-system.js:
--------------------------------------------------------------------------------
1 | new Vue({
2 | el: '#index',
3 | data: function(){
4 | return{
5 | userId:'',
6 | datalist:[]
7 | }
8 | },
9 | beforeMount(){
10 | let userMsg = util.getStorage('local','userMsg')?JSON.parse(util.getStorage('local','userMsg')):{}
11 | this.userId = userMsg.id
12 | this.getDataList()
13 | },
14 | methods:{
15 | getDataList(){
16 | let _this = this;
17 | util.ajax({
18 | url:config.baseApi + 'api/system/getSystemList',
19 | data:{
20 | userId:this.userId,
21 | },
22 | success(data){
23 | _this.datalist=data.data
24 | }
25 | })
26 | },
27 | getDetail(item){
28 | $.cookie('systemId',item.id)
29 | util.setStorage('local','systemMsg',JSON.stringify(item))
30 | location.href="/pages"
31 | },
32 | goToSeeting(item){
33 | $.cookie('systemId',item.id)
34 | util.setStorage('local','systemMsg',JSON.stringify(item))
35 | location.href="/setting"
36 | }
37 | }
38 | })
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/theme/eclipse.css:
--------------------------------------------------------------------------------
1 | .cm-s-eclipse span.cm-meta {color: #FF1717;}
2 | .cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; color: #7F0055; }
3 | .cm-s-eclipse span.cm-atom {color: #219;}
4 | .cm-s-eclipse span.cm-number {color: #164;}
5 | .cm-s-eclipse span.cm-def {color: #00f;}
6 | .cm-s-eclipse span.cm-variable {color: black;}
7 | .cm-s-eclipse span.cm-variable-2 {color: #0000C0;}
8 | .cm-s-eclipse span.cm-variable-3 {color: #0000C0;}
9 | .cm-s-eclipse span.cm-property {color: black;}
10 | .cm-s-eclipse span.cm-operator {color: black;}
11 | .cm-s-eclipse span.cm-comment {color: #3F7F5F;}
12 | .cm-s-eclipse span.cm-string {color: #2A00FF;}
13 | .cm-s-eclipse span.cm-string-2 {color: #f50;}
14 | .cm-s-eclipse span.cm-qualifier {color: #555;}
15 | .cm-s-eclipse span.cm-builtin {color: #30a;}
16 | .cm-s-eclipse span.cm-bracket {color: #cc7;}
17 | .cm-s-eclipse span.cm-tag {color: #170;}
18 | .cm-s-eclipse span.cm-attribute {color: #00c;}
19 | .cm-s-eclipse span.cm-link {color: #219;}
20 | .cm-s-eclipse span.cm-error {color: #f00;}
21 |
22 | .cm-s-eclipse .CodeMirror-activeline-background {background: #e8f2ff !important;}
23 | .cm-s-eclipse .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;}
24 |
--------------------------------------------------------------------------------
/src/config.js:
--------------------------------------------------------------------------------
1 | import path from 'path'
2 | let PROT = 18088;
3 |
4 | // ORIGIN参数匹配是否是https
5 | const IS_HTTPS = process.env.IS_HTTPS || 'FALSE'
6 | let ORIGIN = `http://127.0.0.1:${PROT}`
7 | if(IS_HTTPS == 'TRUE') ORIGIN = `https://127.0.0.1:${PROT}`
8 |
9 | // 系统配置
10 | export let SYSTEM = {
11 | //允许调用接口的域名,用来检测防盗链
12 | ORIGIN: ORIGIN,
13 |
14 | // HTTP服务器端口号
15 | PROT: PROT,
16 |
17 | // 分页条数
18 | PAGESIZE: 50,
19 |
20 | DEBUG: false,
21 |
22 | // 七牛云根路径
23 | BASEIMG: 'http://xxx.bkt.clouddn.com/',
24 |
25 | // 后台登录账号和密码 (可替换为数据库用户密码登录方式)
26 | USERMSG:{
27 | USERNAME:'admin',
28 | PASSWORD:'123456789'
29 | },
30 | }
31 |
32 | export let DB = {
33 | // 服务器地址
34 | HOST: 'localhost',
35 |
36 | // 数据库端口号
37 | PROT: 3306,
38 |
39 | // 数据库用户名
40 | USER: 'root',
41 |
42 | // 数据库密码
43 | PASSWORD: '123456',
44 |
45 | // 数据库名称
46 | DATABASE: 'web-performance',
47 |
48 | // 默认"api_"
49 | PREFIX: 'web_',
50 |
51 | // 是否等待链接
52 | WAITFORCONNECTIONS: true,
53 |
54 | // 连接池数量
55 | POOLLIMIT: 20,
56 |
57 | // 排队限制数量
58 | QUEUELIMIT: 5,
59 | }
60 |
61 | export let NODEMAILER = {
62 | // SMTP服务提供商域名
63 | HOST: '163',
64 | // 用户名/用户邮箱
65 | USER: 'xxx@163.com',
66 | // 邮箱密码
67 | PASSWORD: '132456',
68 | }
69 |
70 |
71 |
--------------------------------------------------------------------------------
/src/view/template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | <%= datas.title %>
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | <%- body %>
24 |
25 |
--------------------------------------------------------------------------------
/src/assets/css/ajax-detail.css:
--------------------------------------------------------------------------------
1 | .border-right {
2 | border-right: solid 1px #eee; }
3 |
4 | .break-word {
5 | width: 150px; }
6 | .break-word span {
7 | display: block;
8 | width: 150px;
9 | word-wrap: break-word;
10 | overflow: hidden; }
11 |
12 | .block-time {
13 | margin: 20px;
14 | background: #fff;
15 | border-radius: 3px;
16 | padding: 30px 20px;
17 | display: flex;
18 | justify-content: center; }
19 | .block-time li {
20 | display: flex;
21 | flex-direction: column;
22 | align-items: center; }
23 | .block-time li.li1 {
24 | margin-right: 100px;
25 | width: 250px; }
26 | .block-time li.li1 h1 {
27 | width: 250px;
28 | text-align: center; }
29 | .block-time li.li2 {
30 | margin-right: 50px;
31 | width: 100px; }
32 | .block-time li.li3 {
33 | width: 100px; }
34 | .block-time h1 {
35 | font-size: 20px;
36 | color: #999;
37 | margin-bottom: 8px;
38 | padding-bottom: 8px;
39 | border-bottom: solid 1px #eee; }
40 | .block-time h2 {
41 | font-size: 22px;
42 | color: #333; }
43 |
44 | .charts {
45 | background: #fff;
46 | padding: 20px;
47 | margin: 20px; }
48 | .charts h1 {
49 | font-size: 18px; }
50 |
51 | .charts-pages {
52 | width: 100%;
53 | height: 250px; }
54 |
--------------------------------------------------------------------------------
/src/tool/transaction.js:
--------------------------------------------------------------------------------
1 | import {
2 | DB
3 | } from '../config.js'
4 |
5 | async function transaction(arr) {
6 |
7 | return new Promise((res,ret)=>{
8 | let mysql = require('mysql2');
9 | let transaction = require('node-mysql-transaction');
10 |
11 | let trCon = transaction({
12 | connection: [mysql.createConnection,{
13 | host: DB.HOST,
14 | user: DB.USER,
15 | password: DB.PASSWORD,
16 | database: DB.DATABASE,
17 | port: DB.PROT
18 | }],
19 | dynamicConnection: 32,
20 | idleConnectionCutoffTime: 1000,
21 | timeout:600
22 | });
23 |
24 | let chain = trCon.chain();
25 | chain.
26 | on('commit', function(){
27 | res();
28 | }).
29 | on('rollback', function(err){
30 | console.log(err.message)
31 | ret(err);
32 | });
33 |
34 | arr.forEach((item,i)=>{
35 | chain.
36 | query(item).
37 | on('result', function(result){
38 | if(i==arr.length-1){
39 | chain.commit();
40 | }
41 | }).autoCommit(false);
42 | })
43 | })
44 | };
45 |
46 | module.exports = transaction
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/addon/lint/css-lint.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | // Depends on csslint.js from https://github.com/stubbornella/csslint
5 |
6 | // declare global: CSSLint
7 |
8 | (function(mod) {
9 | if (typeof exports == "object" && typeof module == "object") // CommonJS
10 | mod(require("../../lib/codemirror"));
11 | else if (typeof define == "function" && define.amd) // AMD
12 | define(["../../lib/codemirror"], mod);
13 | else // Plain browser env
14 | mod(CodeMirror);
15 | })(function(CodeMirror) {
16 | "use strict";
17 |
18 | CodeMirror.registerHelper("lint", "css", function(text) {
19 | var found = [];
20 | if (!window.CSSLint) return found;
21 | var results = CSSLint.verify(text), messages = results.messages, message = null;
22 | for ( var i = 0; i < messages.length; i++) {
23 | message = messages[i];
24 | var startLine = message.line -1, endLine = message.line -1, startCol = message.col -1, endCol = message.col;
25 | found.push({
26 | from: CodeMirror.Pos(startLine, startCol),
27 | to: CodeMirror.Pos(endLine, endCol),
28 | message: message.message,
29 | severity : message.type
30 | });
31 | }
32 | return found;
33 | });
34 |
35 | });
36 |
--------------------------------------------------------------------------------
/src/controllers/sources.js:
--------------------------------------------------------------------------------
1 | import sql from 'node-transform-mysql'
2 | import moment from 'moment'
3 | import {
4 | SYSTEM
5 | } from '../config'
6 | import {
7 | util,
8 | mysql,
9 | getsql,
10 | } from '../tool'
11 |
12 | class pages {
13 | //初始化对象
14 | constructor() {
15 |
16 | };
17 | // 根据markPage获得页面资源信息
18 | async getSourcesForMarkPage(ctx){
19 | try {
20 | let markPage = ctx.request.body.markPage
21 | if(!markPage){
22 | ctx.body = util.result({
23 | code: 1001,
24 | desc: 'markPage参数有误!'
25 | });
26 | return
27 | }
28 | // 请求列表数据
29 | let sqlstr = sql
30 | .table('web_sources')
31 | .where({markPage:markPage})
32 | .select()
33 |
34 | let result = await mysql(sqlstr);
35 |
36 | ctx.body = util.result({
37 | data: result&&result.length?result[0]:{}
38 | });
39 |
40 | } catch (err) {
41 | console.log(err)
42 | ctx.body = util.result({
43 | code: 1001,
44 | desc: '系统错误!'
45 | });
46 | return '';
47 | }
48 | }
49 |
50 | }
51 |
52 | module.exports = new pages();
53 |
54 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/mode/diff/diff.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | CodeMirror.defineMode("diff", function() {
15 |
16 | var TOKEN_NAMES = {
17 | '+': 'positive',
18 | '-': 'negative',
19 | '@': 'meta'
20 | };
21 |
22 | return {
23 | token: function(stream) {
24 | var tw_pos = stream.string.search(/[\t ]+?$/);
25 |
26 | if (!stream.sol() || tw_pos === 0) {
27 | stream.skipToEnd();
28 | return ("error " + (
29 | TOKEN_NAMES[stream.string.charAt(0)] || '')).replace(/ $/, '');
30 | }
31 |
32 | var token_name = TOKEN_NAMES[stream.peek()] || stream.skipToEnd();
33 |
34 | if (tw_pos === -1) {
35 | stream.skipToEnd();
36 | } else {
37 | stream.pos = tw_pos;
38 | }
39 |
40 | return token_name;
41 | }
42 | };
43 | });
44 |
45 | CodeMirror.defineMIME("text/x-diff", "diff");
46 |
47 | });
48 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/jquery.flowchart.min.js:
--------------------------------------------------------------------------------
1 | /*! jQuery.flowchart.js v1.1.0 | jquery.flowchart.min.js | jQuery plugin for flowchart.js. | MIT License | By: Pandao | https://github.com/pandao/jquery.flowchart.js | 2015-03-09 */
2 | (function(factory){if(typeof require==="function"&&typeof exports==="object"&&typeof module==="object"){module.exports=factory}else{if(typeof define==="function"){factory(jQuery,flowchart)}else{factory($,flowchart)}}}(function(jQuery,flowchart){(function($){$.fn.flowChart=function(options){options=options||{};var defaults={"x":0,"y":0,"line-width":2,"line-length":50,"text-margin":10,"font-size":14,"font-color":"black","line-color":"black","element-color":"black","fill":"white","yes-text":"yes","no-text":"no","arrow-end":"block","symbols":{"start":{"font-color":"black","element-color":"black","fill":"white"},"end":{"class":"end-element"}},"flowstate":{"past":{"fill":"#CCCCCC","font-size":12},"current":{"fill":"black","font-color":"white","font-weight":"bold"},"future":{"fill":"white"},"request":{"fill":"blue"},"invalid":{"fill":"#444444"},"approved":{"fill":"#58C4A3","font-size":12,"yes-text":"APPROVED","no-text":"n/a"},"rejected":{"fill":"#C45879","font-size":12,"yes-text":"n/a","no-text":"REJECTED"}}};return this.each(function(){var $this=$(this);var diagram=flowchart.parse($this.text());var settings=$.extend(true,defaults,options);$this.html("");diagram.drawSVG(this,settings)})}})(jQuery)}));
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/addon/tern/worker.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | // declare global: tern, server
5 |
6 | var server;
7 |
8 | this.onmessage = function(e) {
9 | var data = e.data;
10 | switch (data.type) {
11 | case "init": return startServer(data.defs, data.plugins, data.scripts);
12 | case "add": return server.addFile(data.name, data.text);
13 | case "del": return server.delFile(data.name);
14 | case "req": return server.request(data.body, function(err, reqData) {
15 | postMessage({id: data.id, body: reqData, err: err && String(err)});
16 | });
17 | case "getFile":
18 | var c = pending[data.id];
19 | delete pending[data.id];
20 | return c(data.err, data.text);
21 | default: throw new Error("Unknown message type: " + data.type);
22 | }
23 | };
24 |
25 | var nextId = 0, pending = {};
26 | function getFile(file, c) {
27 | postMessage({type: "getFile", name: file, id: ++nextId});
28 | pending[nextId] = c;
29 | }
30 |
31 | function startServer(defs, plugins, scripts) {
32 | if (scripts) importScripts.apply(null, scripts);
33 |
34 | server = new tern.Server({
35 | getFile: getFile,
36 | async: true,
37 | defs: defs,
38 | plugins: plugins
39 | });
40 | }
41 |
42 | var console = {
43 | log: function(v) { postMessage({type: "debug", message: v}); }
44 | };
45 |
--------------------------------------------------------------------------------
/src/assets/sass/ajax-detail.scss:
--------------------------------------------------------------------------------
1 | .border-right{
2 | border-right: solid 1px #eee;
3 | }
4 | .break-word{
5 | width:150px;
6 | span{
7 | display:block;
8 | width:150px;
9 | word-wrap:break-word;
10 | overflow:hidden;
11 | }
12 | }
13 | .block-time{
14 | margin:20px;
15 | background:#fff;
16 | border-radius:3px;
17 | padding:30px 20px;
18 | display:flex;
19 | justify-content:center;
20 | li{
21 | display:flex;
22 | flex-direction: column;
23 | align-items:center;
24 | &.li1{
25 | margin-right:100px;
26 | width:250px;
27 | h1{
28 | width:250px;
29 | text-align:center;
30 | }
31 | }
32 | &.li2{
33 | margin-right:50px;
34 | width:100px;
35 | }
36 | &.li3{
37 | width:100px;
38 | }
39 | }
40 | h1{
41 | font-size:20px;
42 | color:#999;
43 | margin-bottom:8px;
44 | padding-bottom:8px;
45 | border-bottom:solid 1px #eee;
46 | }
47 | h2{
48 | font-size:22px;
49 | color:#333;
50 | }
51 | }
52 | .charts{
53 | background:#fff;
54 | padding:20px;
55 | margin:20px;
56 | h1{
57 | font-size:18px;
58 |
59 | }
60 | }
61 | .charts-pages{
62 | width:100%;
63 | height:250px;
64 | }
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/addon/lint/coffeescript-lint.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | // Depends on coffeelint.js from http://www.coffeelint.org/js/coffeelint.js
5 |
6 | // declare global: coffeelint
7 |
8 | (function(mod) {
9 | if (typeof exports == "object" && typeof module == "object") // CommonJS
10 | mod(require("../../lib/codemirror"));
11 | else if (typeof define == "function" && define.amd) // AMD
12 | define(["../../lib/codemirror"], mod);
13 | else // Plain browser env
14 | mod(CodeMirror);
15 | })(function(CodeMirror) {
16 | "use strict";
17 |
18 | CodeMirror.registerHelper("lint", "coffeescript", function(text) {
19 | var found = [];
20 | var parseError = function(err) {
21 | var loc = err.lineNumber;
22 | found.push({from: CodeMirror.Pos(loc-1, 0),
23 | to: CodeMirror.Pos(loc, 0),
24 | severity: err.level,
25 | message: err.message});
26 | };
27 | try {
28 | var res = coffeelint.lint(text);
29 | for(var i = 0; i < res.length; i++) {
30 | parseError(res[i]);
31 | }
32 | } catch(e) {
33 | found.push({from: CodeMirror.Pos(e.location.first_line, 0),
34 | to: CodeMirror.Pos(e.location.last_line, e.location.last_column),
35 | severity: 'error',
36 | message: e.message});
37 | }
38 | return found;
39 | });
40 |
41 | });
42 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/addon/runmode/colorize.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"), require("./runmode"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror", "./runmode"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | var isBlock = /^(p|li|div|h\\d|pre|blockquote|td)$/;
15 |
16 | function textContent(node, out) {
17 | if (node.nodeType == 3) return out.push(node.nodeValue);
18 | for (var ch = node.firstChild; ch; ch = ch.nextSibling) {
19 | textContent(ch, out);
20 | if (isBlock.test(node.nodeType)) out.push("\n");
21 | }
22 | }
23 |
24 | CodeMirror.colorize = function(collection, defaultMode) {
25 | if (!collection) collection = document.body.getElementsByTagName("pre");
26 |
27 | for (var i = 0; i < collection.length; ++i) {
28 | var node = collection[i];
29 | var mode = node.getAttribute("data-lang") || defaultMode;
30 | if (!mode) continue;
31 |
32 | var text = [];
33 | textContent(node, text);
34 | node.innerHTML = "";
35 | CodeMirror.runMode(text.join(""), mode, node);
36 |
37 | node.className += " cm-s-default";
38 | }
39 | };
40 | });
41 |
--------------------------------------------------------------------------------
/src/tool/qiniu.js:
--------------------------------------------------------------------------------
1 | import qiniu from 'qiniu'
2 | import util from './util'
3 |
4 | //config配置
5 | class qiuniuyun {
6 |
7 | constructor() {
8 | //要上传的空间
9 | this.bucket = 'xxx';
10 | this.init()
11 | }
12 |
13 | init() {
14 | qiniu.conf.ACCESS_KEY = 'xxxxxxxx';
15 | qiniu.conf.SECRET_KEY = 'xxxxxxxx';
16 | }
17 |
18 | //调用uploadFile上传
19 | async upload(filePath) {
20 | filePath = filePath
21 | //上传到七牛后保存的文件名
22 | let key = util.randomString() + '.png';
23 | //生成上传 Token
24 | let token = this.uptoken(this.bucket, key);
25 | //要上传文件的本地路径
26 |
27 |
28 | let imgs = await this.uploadFile(token, key, filePath)
29 | return imgs
30 | }
31 |
32 | //构建上传策略函数
33 | uptoken(bucket, key) {
34 | let putPolicy = new qiniu.rs.PutPolicy(bucket + ":" + key);
35 | return putPolicy.token();
36 | }
37 |
38 | uploadFile(uptoken, key, localFile) {
39 | var extra = new qiniu.io.PutExtra();
40 | return new Promise((resolve, reject) => {
41 | qiniu.io.putFile(uptoken, key, localFile, extra, function(err, ret) {
42 | if (!err) {
43 | // 上传成功, 处理返回值
44 | resolve(ret.key)
45 | } else {
46 | // 上传失败, 处理返回代码
47 | reject(err)
48 | }
49 | });
50 | });
51 | }
52 | }
53 |
54 | module.exports = new qiuniuyun()
55 |
56 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/mode/ntriples/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: NTriples mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
15 |
28 |
29 |
30 | NTriples mode
31 |
40 |
41 |
44 | MIME types defined: text/n-triples.
45 |
46 |
--------------------------------------------------------------------------------
/src/view/login.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |

7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/mode/spreadsheet/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Spreadsheet mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
25 |
26 |
27 | Spreadsheet mode
28 |
29 |
30 |
37 |
38 | MIME types defined: text/x-spreadsheet.
39 |
40 | The Spreadsheet Mode
41 | Created by Robert Plummer
42 |
43 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/mode/http/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: HTTP mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | HTTP mode
27 |
28 |
29 |
39 |
40 |
43 |
44 | MIME types defined: message/http.
45 |
46 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/theme/cobalt.css:
--------------------------------------------------------------------------------
1 | .cm-s-cobalt.CodeMirror { background: #002240; color: white; }
2 | .cm-s-cobalt div.CodeMirror-selected { background: #b36539 !important; }
3 | .cm-s-cobalt.CodeMirror ::selection { background: rgba(179, 101, 57, .99); }
4 | .cm-s-cobalt.CodeMirror ::-moz-selection { background: rgba(179, 101, 57, .99); }
5 | .cm-s-cobalt .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
6 | .cm-s-cobalt .CodeMirror-guttermarker { color: #ffee80; }
7 | .cm-s-cobalt .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
8 | .cm-s-cobalt .CodeMirror-linenumber { color: #d0d0d0; }
9 | .cm-s-cobalt .CodeMirror-cursor { border-left: 1px solid white !important; }
10 |
11 | .cm-s-cobalt span.cm-comment { color: #08f; }
12 | .cm-s-cobalt span.cm-atom { color: #845dc4; }
13 | .cm-s-cobalt span.cm-number, .cm-s-cobalt span.cm-attribute { color: #ff80e1; }
14 | .cm-s-cobalt span.cm-keyword { color: #ffee80; }
15 | .cm-s-cobalt span.cm-string { color: #3ad900; }
16 | .cm-s-cobalt span.cm-meta { color: #ff9d00; }
17 | .cm-s-cobalt span.cm-variable-2, .cm-s-cobalt span.cm-tag { color: #9effff; }
18 | .cm-s-cobalt span.cm-variable-3, .cm-s-cobalt span.cm-def { color: white; }
19 | .cm-s-cobalt span.cm-bracket { color: #d8d8d8; }
20 | .cm-s-cobalt span.cm-builtin, .cm-s-cobalt span.cm-special { color: #ff9e59; }
21 | .cm-s-cobalt span.cm-link { color: #845dc4; }
22 | .cm-s-cobalt span.cm-error { color: #9d1e15; }
23 |
24 | .cm-s-cobalt .CodeMirror-activeline-background {background: #002D57 !important;}
25 | .cm-s-cobalt .CodeMirror-matchingbracket {outline:1px solid grey;color:white !important}
26 |
--------------------------------------------------------------------------------
/src/assets/markdown/css/editormd.logo.min.css:
--------------------------------------------------------------------------------
1 | /*! Editor.md v1.5.0 | editormd.logo.min.css | Open source online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-06-09 */
2 | /*! prefixes.scss v0.1.0 | Author: Pandao | https://github.com/pandao/prefixes.scss | MIT license | Copyright (c) 2015 */@font-face{font-family:editormd-logo;src:url(../fonts/editormd-logo.eot?-5y8q6h);src:url(.../fonts/editormd-logo.eot?#iefix-5y8q6h)format("embedded-opentype"),url(../fonts/editormd-logo.woff?-5y8q6h)format("woff"),url(../fonts/editormd-logo.ttf?-5y8q6h)format("truetype"),url(../fonts/editormd-logo.svg?-5y8q6h#icomoon)format("svg");font-weight:400;font-style:normal}.editormd-logo,.editormd-logo-1x,.editormd-logo-2x,.editormd-logo-3x,.editormd-logo-4x,.editormd-logo-5x,.editormd-logo-6x,.editormd-logo-7x,.editormd-logo-8x{font-family:editormd-logo;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;font-size:inherit;line-height:1;display:inline-block;text-rendering:auto;vertical-align:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.editormd-logo-1x:before,.editormd-logo-2x:before,.editormd-logo-3x:before,.editormd-logo-4x:before,.editormd-logo-5x:before,.editormd-logo-6x:before,.editormd-logo-7x:before,.editormd-logo-8x:before,.editormd-logo:before{content:"\e1987"}.editormd-logo-1x{font-size:1em}.editormd-logo-lg{font-size:1.2em}.editormd-logo-2x{font-size:2em}.editormd-logo-3x{font-size:3em}.editormd-logo-4x{font-size:4em}.editormd-logo-5x{font-size:5em}.editormd-logo-6x{font-size:6em}.editormd-logo-7x{font-size:7em}.editormd-logo-8x{font-size:8em}.editormd-logo-color{color:#2196F3}
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/mode/solr/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Solr mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
20 |
33 |
34 |
35 | Solr mode
36 |
37 |
38 |
47 |
48 |
49 |
55 |
56 | MIME types defined: text/x-solr.
57 |
58 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/mode/z80/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Z80 assembly mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | Z80 assembly mode
27 |
28 |
29 |
44 |
45 |
50 |
51 | MIME type defined: text/x-z80.
52 |
53 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/mode/ecl/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: ECL mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | ECL mode
27 |
45 |
48 |
49 | Based on CodeMirror's clike mode. For more information see HPCC Systems web site.
50 | MIME types defined: text/x-ecl.
51 |
52 |
53 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/mode/rust/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Rust mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | Rust mode
27 |
28 |
29 |
52 |
53 |
58 |
59 | MIME types defined: text/x-rustsrc.
60 |
61 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/theme/monokai.css:
--------------------------------------------------------------------------------
1 | /* Based on Sublime Text's Monokai theme */
2 |
3 | .cm-s-monokai.CodeMirror {background: #272822; color: #f8f8f2;}
4 | .cm-s-monokai div.CodeMirror-selected {background: #49483E !important;}
5 | .cm-s-monokai.CodeMirror ::selection { background: rgba(73, 72, 62, .99); }
6 | .cm-s-monokai.CodeMirror ::-moz-selection { background: rgba(73, 72, 62, .99); }
7 | .cm-s-monokai .CodeMirror-gutters {background: #272822; border-right: 0px;}
8 | .cm-s-monokai .CodeMirror-guttermarker { color: white; }
9 | .cm-s-monokai .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
10 | .cm-s-monokai .CodeMirror-linenumber {color: #d0d0d0;}
11 | .cm-s-monokai .CodeMirror-cursor {border-left: 1px solid #f8f8f0 !important;}
12 |
13 | .cm-s-monokai span.cm-comment {color: #75715e;}
14 | .cm-s-monokai span.cm-atom {color: #ae81ff;}
15 | .cm-s-monokai span.cm-number {color: #ae81ff;}
16 |
17 | .cm-s-monokai span.cm-property, .cm-s-monokai span.cm-attribute {color: #a6e22e;}
18 | .cm-s-monokai span.cm-keyword {color: #f92672;}
19 | .cm-s-monokai span.cm-string {color: #e6db74;}
20 |
21 | .cm-s-monokai span.cm-variable {color: #a6e22e;}
22 | .cm-s-monokai span.cm-variable-2 {color: #9effff;}
23 | .cm-s-monokai span.cm-def {color: #fd971f;}
24 | .cm-s-monokai span.cm-bracket {color: #f8f8f2;}
25 | .cm-s-monokai span.cm-tag {color: #f92672;}
26 | .cm-s-monokai span.cm-link {color: #ae81ff;}
27 | .cm-s-monokai span.cm-error {background: #f92672; color: #f8f8f0;}
28 |
29 | .cm-s-monokai .CodeMirror-activeline-background {background: #373831 !important;}
30 | .cm-s-monokai .CodeMirror-matchingbracket {
31 | text-decoration: underline;
32 | color: white !important;
33 | }
34 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/theme/rubyblue.css:
--------------------------------------------------------------------------------
1 | .cm-s-rubyblue.CodeMirror { background: #112435; color: white; }
2 | .cm-s-rubyblue div.CodeMirror-selected { background: #38566F !important; }
3 | .cm-s-rubyblue.CodeMirror ::selection { background: rgba(56, 86, 111, 0.99); }
4 | .cm-s-rubyblue.CodeMirror ::-moz-selection { background: rgba(56, 86, 111, 0.99); }
5 | .cm-s-rubyblue .CodeMirror-gutters { background: #1F4661; border-right: 7px solid #3E7087; }
6 | .cm-s-rubyblue .CodeMirror-guttermarker { color: white; }
7 | .cm-s-rubyblue .CodeMirror-guttermarker-subtle { color: #3E7087; }
8 | .cm-s-rubyblue .CodeMirror-linenumber { color: white; }
9 | .cm-s-rubyblue .CodeMirror-cursor { border-left: 1px solid white !important; }
10 |
11 | .cm-s-rubyblue span.cm-comment { color: #999; font-style:italic; line-height: 1em; }
12 | .cm-s-rubyblue span.cm-atom { color: #F4C20B; }
13 | .cm-s-rubyblue span.cm-number, .cm-s-rubyblue span.cm-attribute { color: #82C6E0; }
14 | .cm-s-rubyblue span.cm-keyword { color: #F0F; }
15 | .cm-s-rubyblue span.cm-string { color: #F08047; }
16 | .cm-s-rubyblue span.cm-meta { color: #F0F; }
17 | .cm-s-rubyblue span.cm-variable-2, .cm-s-rubyblue span.cm-tag { color: #7BD827; }
18 | .cm-s-rubyblue span.cm-variable-3, .cm-s-rubyblue span.cm-def { color: white; }
19 | .cm-s-rubyblue span.cm-bracket { color: #F0F; }
20 | .cm-s-rubyblue span.cm-link { color: #F4C20B; }
21 | .cm-s-rubyblue span.CodeMirror-matchingbracket { color:#F0F !important; }
22 | .cm-s-rubyblue span.cm-builtin, .cm-s-rubyblue span.cm-special { color: #FF9D00; }
23 | .cm-s-rubyblue span.cm-error { color: #AF2018; }
24 |
25 | .cm-s-rubyblue .CodeMirror-activeline-background {background: #173047 !important;}
26 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/addon/scroll/simplescrollbars.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-simplescroll-horizontal div, .CodeMirror-simplescroll-vertical div {
2 | position: absolute;
3 | background: #ccc;
4 | -moz-box-sizing: border-box;
5 | box-sizing: border-box;
6 | border: 1px solid #bbb;
7 | border-radius: 2px;
8 | }
9 |
10 | .CodeMirror-simplescroll-horizontal, .CodeMirror-simplescroll-vertical {
11 | position: absolute;
12 | z-index: 6;
13 | background: #eee;
14 | }
15 |
16 | .CodeMirror-simplescroll-horizontal {
17 | bottom: 0; left: 0;
18 | height: 8px;
19 | }
20 | .CodeMirror-simplescroll-horizontal div {
21 | bottom: 0;
22 | height: 100%;
23 | }
24 |
25 | .CodeMirror-simplescroll-vertical {
26 | right: 0; top: 0;
27 | width: 8px;
28 | }
29 | .CodeMirror-simplescroll-vertical div {
30 | right: 0;
31 | width: 100%;
32 | }
33 |
34 |
35 | .CodeMirror-overlayscroll .CodeMirror-scrollbar-filler, .CodeMirror-overlayscroll .CodeMirror-gutter-filler {
36 | display: none;
37 | }
38 |
39 | .CodeMirror-overlayscroll-horizontal div, .CodeMirror-overlayscroll-vertical div {
40 | position: absolute;
41 | background: #bcd;
42 | border-radius: 3px;
43 | }
44 |
45 | .CodeMirror-overlayscroll-horizontal, .CodeMirror-overlayscroll-vertical {
46 | position: absolute;
47 | z-index: 6;
48 | }
49 |
50 | .CodeMirror-overlayscroll-horizontal {
51 | bottom: 0; left: 0;
52 | height: 6px;
53 | }
54 | .CodeMirror-overlayscroll-horizontal div {
55 | bottom: 0;
56 | height: 100%;
57 | }
58 |
59 | .CodeMirror-overlayscroll-vertical {
60 | right: 0; top: 0;
61 | width: 6px;
62 | }
63 | .CodeMirror-overlayscroll-vertical div {
64 | right: 0;
65 | width: 100%;
66 | }
67 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/addon/display/fullscreen.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | CodeMirror.defineOption("fullScreen", false, function(cm, val, old) {
15 | if (old == CodeMirror.Init) old = false;
16 | if (!old == !val) return;
17 | if (val) setFullscreen(cm);
18 | else setNormal(cm);
19 | });
20 |
21 | function setFullscreen(cm) {
22 | var wrap = cm.getWrapperElement();
23 | cm.state.fullScreenRestore = {scrollTop: window.pageYOffset, scrollLeft: window.pageXOffset,
24 | width: wrap.style.width, height: wrap.style.height};
25 | wrap.style.width = "";
26 | wrap.style.height = "auto";
27 | wrap.className += " CodeMirror-fullscreen";
28 | document.documentElement.style.overflow = "hidden";
29 | cm.refresh();
30 | }
31 |
32 | function setNormal(cm) {
33 | var wrap = cm.getWrapperElement();
34 | wrap.className = wrap.className.replace(/\s*CodeMirror-fullscreen\b/, "");
35 | document.documentElement.style.overflow = "";
36 | var info = cm.state.fullScreenRestore;
37 | wrap.style.width = info.width; wrap.style.height = info.height;
38 | window.scrollTo(info.scrollLeft, info.scrollTop);
39 | cm.refresh();
40 | }
41 | });
42 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/theme/night.css:
--------------------------------------------------------------------------------
1 | /* Loosely based on the Midnight Textmate theme */
2 |
3 | .cm-s-night.CodeMirror { background: #0a001f; color: #f8f8f8; }
4 | .cm-s-night div.CodeMirror-selected { background: #447 !important; }
5 | .cm-s-night.CodeMirror ::selection { background: rgba(68, 68, 119, .99); }
6 | .cm-s-night.CodeMirror ::-moz-selection { background: rgba(68, 68, 119, .99); }
7 | .cm-s-night .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
8 | .cm-s-night .CodeMirror-guttermarker { color: white; }
9 | .cm-s-night .CodeMirror-guttermarker-subtle { color: #bbb; }
10 | .cm-s-night .CodeMirror-linenumber { color: #f8f8f8; }
11 | .cm-s-night .CodeMirror-cursor { border-left: 1px solid white !important; }
12 |
13 | .cm-s-night span.cm-comment { color: #6900a1; }
14 | .cm-s-night span.cm-atom { color: #845dc4; }
15 | .cm-s-night span.cm-number, .cm-s-night span.cm-attribute { color: #ffd500; }
16 | .cm-s-night span.cm-keyword { color: #599eff; }
17 | .cm-s-night span.cm-string { color: #37f14a; }
18 | .cm-s-night span.cm-meta { color: #7678e2; }
19 | .cm-s-night span.cm-variable-2, .cm-s-night span.cm-tag { color: #99b2ff; }
20 | .cm-s-night span.cm-variable-3, .cm-s-night span.cm-def { color: white; }
21 | .cm-s-night span.cm-bracket { color: #8da6ce; }
22 | .cm-s-night span.cm-comment { color: #6900a1; }
23 | .cm-s-night span.cm-builtin, .cm-s-night span.cm-special { color: #ff9e59; }
24 | .cm-s-night span.cm-link { color: #845dc4; }
25 | .cm-s-night span.cm-error { color: #9d1e15; }
26 |
27 | .cm-s-night .CodeMirror-activeline-background {background: #1C005A !important;}
28 | .cm-s-night .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;}
29 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/mode/turtle/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Turtle mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | Turtle mode
27 |
41 |
47 |
48 | MIME types defined: text/turtle.
49 |
50 |
51 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/addon/scroll/scrollpastend.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | CodeMirror.defineOption("scrollPastEnd", false, function(cm, val, old) {
15 | if (old && old != CodeMirror.Init) {
16 | cm.off("change", onChange);
17 | cm.off("refresh", updateBottomMargin);
18 | cm.display.lineSpace.parentNode.style.paddingBottom = "";
19 | cm.state.scrollPastEndPadding = null;
20 | }
21 | if (val) {
22 | cm.on("change", onChange);
23 | cm.on("refresh", updateBottomMargin);
24 | updateBottomMargin(cm);
25 | }
26 | });
27 |
28 | function onChange(cm, change) {
29 | if (CodeMirror.changeEnd(change).line == cm.lastLine())
30 | updateBottomMargin(cm);
31 | }
32 |
33 | function updateBottomMargin(cm) {
34 | var padding = "";
35 | if (cm.lineCount() > 1) {
36 | var totalH = cm.display.scroller.clientHeight - 30,
37 | lastLineH = cm.getLineHandle(cm.lastLine()).height;
38 | padding = (totalH - lastLineH) + "px";
39 | }
40 | if (cm.state.scrollPastEndPadding != padding) {
41 | cm.state.scrollPastEndPadding = padding;
42 | cm.display.lineSpace.parentNode.style.paddingBottom = padding;
43 | cm.setSize();
44 | }
45 | }
46 | });
47 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/mode/pascal/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Pascal mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | Pascal mode
27 |
28 |
29 |
52 |
53 |
59 |
60 | MIME types defined: text/x-pascal.
61 |
62 |
--------------------------------------------------------------------------------
/src/assets/markdown/js/codemirror/mode/pig/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Pig Latin mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | Pig Latin mode
27 |
39 |
40 |
47 |
48 |
49 | Simple mode that handles Pig Latin language.
50 |
51 |
52 | MIME type defined: text/x-pig
53 | (PIG code)
54 |