├── .gitignore ├── .npmignore ├── .travis.yml ├── LICENSE ├── README.md ├── bin └── smog ├── build ├── client ├── css │ ├── ext │ │ ├── DroidSans-Bold.ttf │ │ ├── DroidSans.ttf │ │ ├── bootstrap-responsive.css │ │ ├── bootstrap.css │ │ ├── glyphicons-halflings-white.png │ │ ├── glyphicons-halflings.png │ │ ├── jquery.noty.css │ │ └── noty_theme_twitter.css │ └── styles.css ├── img │ └── granite_bg.jpg ├── index.html ├── js │ ├── editor.coffee │ ├── ext │ │ ├── ace │ │ │ ├── ace.js │ │ │ ├── mode-coffee.js │ │ │ ├── mode-javascript.js │ │ │ ├── mode-json.js │ │ │ ├── mode-text.js │ │ │ ├── theme-chrome.js │ │ │ ├── theme-clouds.js │ │ │ ├── theme-clouds_midnight.js │ │ │ ├── theme-cobalt.js │ │ │ ├── theme-crimson_editor.js │ │ │ ├── theme-dawn.js │ │ │ ├── theme-dreamweaver.js │ │ │ ├── theme-eclipse.js │ │ │ ├── theme-idle_fingers.js │ │ │ ├── theme-kr_theme.js │ │ │ ├── theme-merbivore.js │ │ │ ├── theme-merbivore_soft.js │ │ │ ├── theme-mono_industrial.js │ │ │ ├── theme-monokai.js │ │ │ ├── theme-pastel_on_dark.js │ │ │ ├── theme-solarized_dark.js │ │ │ ├── theme-solarized_light.js │ │ │ ├── theme-textmate.js │ │ │ ├── theme-tomorrow.js │ │ │ ├── theme-tomorrow_night.js │ │ │ ├── theme-tomorrow_night_blue.js │ │ │ ├── theme-tomorrow_night_bright.js │ │ │ ├── theme-tomorrow_night_eighties.js │ │ │ ├── theme-twilight.js │ │ │ ├── theme-vibrant_ink.js │ │ │ ├── worker-coffee.js │ │ │ ├── worker-css.js │ │ │ ├── worker-javascript.js │ │ │ └── worker-json.js │ │ ├── bootstrap.js │ │ ├── dermis.js │ │ ├── jade.js │ │ ├── jquery.js │ │ ├── jquery.noty.js │ │ ├── require.js │ │ └── vein.js │ ├── notify.coffee │ ├── routes.coffee │ ├── routes │ │ ├── collection.coffee │ │ ├── delete.coffee │ │ ├── disconnect.coffee │ │ ├── drop.coffee │ │ ├── edit.coffee │ │ ├── empty.coffee │ │ ├── find.coffee │ │ ├── home.coffee │ │ ├── index.coffee │ │ ├── insert.coffee │ │ ├── mapReduce.coffee │ │ ├── new.coffee │ │ └── rename.coffee │ ├── server.coffee │ ├── smog.coffee │ └── util.coffee └── templates │ ├── admin.jade │ ├── collection.jade │ ├── confirm.jade │ ├── connect.jade │ ├── edit.jade │ ├── editbar.jade │ ├── input.jade │ └── sidebar.jade ├── lib └── services │ ├── admin.coffee │ ├── collection.coffee │ ├── connect.coffee │ ├── createCollection.coffee │ └── disconnect.coffee ├── package.json ├── public ├── css │ ├── ext │ │ ├── DroidSans-Bold.ttf │ │ ├── DroidSans.ttf │ │ ├── bootstrap-responsive.css │ │ ├── bootstrap.css │ │ ├── glyphicons-halflings-white.png │ │ ├── glyphicons-halflings.png │ │ ├── jquery.noty.css │ │ └── noty_theme_twitter.css │ └── styles.css ├── img │ └── granite_bg.jpg ├── index.html ├── js │ ├── editor.js │ ├── ext │ │ ├── ace │ │ │ ├── ace.js │ │ │ ├── mode-coffee.js │ │ │ ├── mode-javascript.js │ │ │ ├── mode-json.js │ │ │ ├── mode-text.js │ │ │ ├── theme-chrome.js │ │ │ ├── theme-clouds.js │ │ │ ├── theme-clouds_midnight.js │ │ │ ├── theme-cobalt.js │ │ │ ├── theme-crimson_editor.js │ │ │ ├── theme-dawn.js │ │ │ ├── theme-dreamweaver.js │ │ │ ├── theme-eclipse.js │ │ │ ├── theme-idle_fingers.js │ │ │ ├── theme-kr_theme.js │ │ │ ├── theme-merbivore.js │ │ │ ├── theme-merbivore_soft.js │ │ │ ├── theme-mono_industrial.js │ │ │ ├── theme-monokai.js │ │ │ ├── theme-pastel_on_dark.js │ │ │ ├── theme-solarized_dark.js │ │ │ ├── theme-solarized_light.js │ │ │ ├── theme-textmate.js │ │ │ ├── theme-tomorrow.js │ │ │ ├── theme-tomorrow_night.js │ │ │ ├── theme-tomorrow_night_blue.js │ │ │ ├── theme-tomorrow_night_bright.js │ │ │ ├── theme-tomorrow_night_eighties.js │ │ │ ├── theme-twilight.js │ │ │ ├── theme-vibrant_ink.js │ │ │ ├── worker-coffee.js │ │ │ ├── worker-css.js │ │ │ ├── worker-javascript.js │ │ │ └── worker-json.js │ │ ├── bootstrap.js │ │ ├── dermis.js │ │ ├── jade.js │ │ ├── jquery.js │ │ ├── jquery.noty.js │ │ ├── require.js │ │ └── vein.js │ ├── notify.js │ ├── routes.js │ ├── routes │ │ ├── collection.js │ │ ├── delete.js │ │ ├── disconnect.js │ │ ├── drop.js │ │ ├── edit.js │ │ ├── empty.js │ │ ├── find.js │ │ ├── home.js │ │ ├── index.js │ │ ├── insert.js │ │ ├── mapReduce.js │ │ ├── new.js │ │ └── rename.js │ ├── server.js │ ├── smog.js │ └── util.js └── templates │ ├── admin.js │ ├── collection.js │ ├── confirm.js │ ├── connect.js │ ├── edit.js │ ├── editbar.js │ ├── input.js │ └── sidebar.js └── start.coffee /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.log 3 | node_modules 4 | *.node -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.log 3 | node_modules 4 | *.node -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | - 0.7 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Fractal 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Looking for maintainers 2 | 3 | Want to maintain this? Post an issue! This project still works fine, but is not being actively developed. 4 | 5 | ## Information 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
Packagesmog
DescriptionHTML5/Node/WebSocket MongoDB viewer
Node Version>= 0.6
20 | 21 | ## Usage 22 | 23 | Install smog by running ```npm install smog -g``` 24 | 25 | ### Local 26 | 27 | smog will run on port 8080 by default (add PORT=X at the front of the command to change this) 28 | 29 | ``` 30 | $ smog 31 | ``` 32 | 33 | ### Web Client 34 | 35 | Don't want to trouble yourself with installing smog? Visit http://smog.jit.su/ to try it out 36 | 37 | ### Desktop UI 38 | 39 | Desktop UI is still in testing but you can try it at your own risk. Linux only (for now) 40 | 41 | ``` 42 | $ smog -u 43 | ``` 44 | 45 | ## Pictures 46 | 47 | ![Administration](http://i.minus.com/iD9QIHyUZGYEg.png) 48 | ![Editing](http://i.minus.com/i8JPNXYRWrxTk.png) 49 | 50 | ## TODO 51 | 52 | ##### Administration 53 | 54 | * Ability to shutdown/restart server 55 | * Streaming CPU/bandwidth usage graphs 56 | * Streaming Geo heatmap graph 57 | * Full replica set management 58 | 59 | ##### Editor 60 | 61 | * Command bar for executing raw commands (with auto-complete/syntax highlighting) 62 | * Support for arbitrary languages (coffee-script, clojurescript, etc.) 63 | * Allow changing of themes/syntax highlighters 64 | * Runtime syntax checks of all languages 65 | 66 | ##### Document Listing 67 | 68 | * Sort by X 69 | * Better document preview 70 | * Streaming results (when a new document is added that matches the query it should be added) 71 | * Inline editor 72 | * Graphs 73 | * Pagination 74 | 75 | ## LICENSE 76 | 77 | (MIT License) 78 | 79 | Copyright (c) 2012 Fractal 80 | 81 | Permission is hereby granted, free of charge, to any person obtaining 82 | a copy of this software and associated documentation files (the 83 | "Software"), to deal in the Software without restriction, including 84 | without limitation the rights to use, copy, modify, merge, publish, 85 | distribute, sublicense, and/or sell copies of the Software, and to 86 | permit persons to whom the Software is furnished to do so, subject to 87 | the following conditions: 88 | 89 | The above copyright notice and this permission notice shall be 90 | included in all copies or substantial portions of the Software. 91 | 92 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 93 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 94 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 95 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 96 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 97 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 98 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 99 | -------------------------------------------------------------------------------- /bin/smog: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require('coffee-script/register'); 4 | require('../start.coffee'); -------------------------------------------------------------------------------- /build: -------------------------------------------------------------------------------- 1 | rm -rf ./public 2 | mkdir -p ./public/templates 3 | mkdir -p ./public/js 4 | mkdir -p ./public/js/ext 5 | mkdir -p ./public/css 6 | mkdir -p ./public/img 7 | 8 | # Templates 9 | node_modules/.bin/jaded -a "ext/jade" -i ./client/templates -o ./public/templates 10 | 11 | # CoffeeScript 12 | node_modules/.bin/coffee -o ./public/js/ -c ./client/js/ 13 | 14 | # TODO - process that minifies all js 15 | # uglifyjs -nc --unsafe -mt -o ./public/js/main.min.js ./public/js/main.js 16 | 17 | # Non-built files 18 | cp ./client/*.html ./public 19 | cp -R ./client/js/ext/* ./public/js/ext 20 | cp -R ./client/css/* ./public/css 21 | cp -R ./client/img/* ./public/img 22 | 23 | echo "Build completed!" 24 | -------------------------------------------------------------------------------- /client/css/ext/DroidSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yocontra/smog/7af0d1c6edd23348f5d503c653e2e73c322e2138/client/css/ext/DroidSans-Bold.ttf -------------------------------------------------------------------------------- /client/css/ext/DroidSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yocontra/smog/7af0d1c6edd23348f5d503c653e2e73c322e2138/client/css/ext/DroidSans.ttf -------------------------------------------------------------------------------- /client/css/ext/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yocontra/smog/7af0d1c6edd23348f5d503c653e2e73c322e2138/client/css/ext/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /client/css/ext/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yocontra/smog/7af0d1c6edd23348f5d503c653e2e73c322e2138/client/css/ext/glyphicons-halflings.png -------------------------------------------------------------------------------- /client/css/ext/jquery.noty.css: -------------------------------------------------------------------------------- 1 | 2 | /* CORE STYLES */ 3 | 4 | /* noty bar */ 5 | .noty_bar { 6 | position: fixed; 7 | display: none; 8 | z-index: 9999999; 9 | } 10 | 11 | /* noty_message */ 12 | .noty_bar .noty_message { 13 | text-align: center; 14 | } 15 | 16 | /* noty close button */ 17 | .noty_bar .noty_close { 18 | cursor: pointer; 19 | } 20 | 21 | /* noty modal */ 22 | .noty_modal { 23 | position: fixed; 24 | width: 100%; 25 | height: 100%; 26 | background-color: #000; 27 | z-index: 10000; 28 | opacity: 0.6; 29 | display: none; 30 | left: 0; 31 | top: 0; 32 | } 33 | 34 | /* noty container for noty_layout_topLeft & noty_layout_topRight */ 35 | ul.noty_cont { 36 | position: fixed; 37 | z-index: 10000000; 38 | margin: 0px; 39 | padding: 0px; 40 | list-style: none; 41 | width: 300px; 42 | } 43 | ul.noty_cont li { 44 | position: relative; 45 | float: left; 46 | clear: both; 47 | list-style: none; 48 | padding: 0px; 49 | margin: 10px 0 0 0; 50 | width: 300px; /* Fix for: http://bugs.jquery.com/ticket/2278 */ 51 | } 52 | ul.noty_cont.noty_layout_topLeft {left:20px; top:20px;} 53 | ul.noty_cont.noty_layout_topRight {right:40px; top:20px;} 54 | ul.noty_cont.noty_layout_bottomLeft {left:20px; bottom:20px} 55 | ul.noty_cont.noty_layout_bottomRight {right:40px; bottom:20px} 56 | ul.noty_cont.noty_layout_topRight li {float:right} 57 | 58 | /* LAYOUTS */ 59 | 60 | /* noty_layout_top */ 61 | .noty_bar.noty_layout_top { 62 | top: 0; 63 | left: 0; 64 | width: 100%; 65 | -webkit-border-radius: 0px; 66 | -moz-border-radius: 0px; 67 | border-radius: 0px; 68 | } 69 | 70 | /* noty_layout_bottom */ 71 | .noty_bar.noty_layout_bottom { 72 | bottom: 0; 73 | left: 0; 74 | width: 100%; 75 | -webkit-border-radius: 0px; 76 | -moz-border-radius: 0px; 77 | border-radius: 0px; 78 | } 79 | 80 | /* noty_layout_center */ 81 | .noty_bar.noty_layout_center { 82 | top: 40%; 83 | } 84 | 85 | /* noty_layout_topLeft & noty_layout_topRight */ 86 | .noty_bar.noty_layout_topLeft, 87 | .noty_bar.noty_layout_topRight, 88 | .noty_bar.noty_layout_bottomLeft, 89 | .noty_bar.noty_layout_bottomRight { 90 | width: 100%; 91 | clear: both; 92 | position: relative; 93 | } 94 | 95 | .noty_bar.noty_layout_topLeft .noty_message, 96 | .noty_bar.noty_layout_topRight .noty_message, 97 | .noty_bar.noty_layout_bottomLeft .noty_message, 98 | .noty_bar.noty_layout_bottomRight .noty_message { 99 | text-align: left; 100 | } 101 | 102 | /* noty_layout_topCenter */ 103 | .noty_bar.noty_layout_topCenter { 104 | top: 20px; 105 | } -------------------------------------------------------------------------------- /client/css/ext/noty_theme_twitter.css: -------------------------------------------------------------------------------- 1 | 2 | /* CORE STYLES*/ 3 | 4 | /* noty bar */ 5 | .noty_bar.noty_theme_twitter { 6 | font-size: 13px; 7 | line-height: 18px; 8 | text-shadow: 0 1px 0 #fff; 9 | font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; 10 | } 11 | 12 | /* custom container */ 13 | .noty_custom_container.noty_theme_twitter.noty_layout_inline { 14 | position: relative; 15 | } 16 | 17 | /* custom growl container */ 18 | .noty_custom_container.noty_theme_twitter.noty_layout_inline .noty_cont.noty_layout_inline { 19 | position: static; 20 | } 21 | /* custom noty bar */ 22 | .noty_custom_container.noty_theme_twitter.noty_layout_inline .noty_bar { 23 | position: static; 24 | } 25 | .noty_custom_container.noty_theme_twitter.noty_layout_inline .noty_bar .noty_message { 26 | font-size: 13px; 27 | padding: 4px; 28 | } 29 | .noty_custom_container.noty_theme_twitter.noty_layout_inline .noty_bar .noty_message .noty_buttons { 30 | margin-top: -1px; 31 | } 32 | 33 | /* noty_message */ 34 | .noty_bar.noty_theme_twitter .noty_message { 35 | padding: 8px 14px; 36 | } 37 | /* noty_has_close_button */ 38 | .noty_bar.noty_theme_twitter.noty_closable .noty_message { 39 | padding: 8px 35px 8px 14px; 40 | } 41 | 42 | /* noty_buttons */ 43 | .noty_bar.noty_theme_twitter .noty_message .noty_buttons { 44 | float: right; 45 | margin-top: -5px; 46 | margin-left: 4px; 47 | } 48 | 49 | /* noty_button */ 50 | .noty_bar.noty_theme_twitter .noty_message .noty_buttons button { 51 | margin-left: 5px; 52 | } 53 | 54 | /* noty close button */ 55 | .noty_bar.noty_theme_twitter .noty_close { 56 | position: absolute; 57 | top: 7px; 58 | right: 16px; 59 | font-size: 18px; 60 | line-height: 18px; 61 | font-weight: bold; 62 | color: #000; 63 | opacity: 0.2; 64 | text-shadow: 0 1px 0 #fff; 65 | } 66 | 67 | /* noty close button hover */ 68 | .noty_bar.noty_theme_twitter .noty_close:hover { 69 | opacity: 0.4; 70 | } 71 | 72 | .noty_bar.noty_theme_twitter .noty_close:after { 73 | content: "x"; 74 | } 75 | 76 | /* noty modal */ 77 | .noty_modal.noty_theme_twitter { 78 | opacity: 0.7; 79 | } 80 | 81 | /* LAYOUTS */ 82 | 83 | /* noty_layout_topLeft & noty_layout_topRight */ 84 | .noty_bar.noty_theme_twitter.noty_layout_center, 85 | .noty_bar.noty_theme_twitter.noty_layout_topCenter, 86 | .noty_bar.noty_theme_twitter.noty_layout_topLeft, 87 | .noty_bar.noty_theme_twitter.noty_layout_topRight, 88 | .noty_bar.noty_theme_twitter.noty_layout_bottomLeft, 89 | .noty_bar.noty_theme_twitter.noty_layout_bottomRight { 90 | -webkit-border-radius: 4px; 91 | -moz-border-radius: 4px; 92 | border-radius: 4px; 93 | } 94 | .noty_bar.noty_theme_twitter.noty_layout_topLeft .noty_message .noty_buttons, 95 | .noty_bar.noty_theme_twitter.noty_layout_topRight .noty_message .noty_buttons, 96 | .noty_bar.noty_theme_twitter.noty_layout_bottomLeft .noty_message .noty_buttons, 97 | .noty_bar.noty_theme_twitter.noty_layout_bottomRight .noty_message .noty_buttons { 98 | float: none; 99 | border-top: 1px solid #FBEED5; 100 | margin-left: 0; 101 | margin-top: 10px; 102 | padding-top: 10px; 103 | text-align: right; 104 | } 105 | 106 | .noty_bar.noty_theme_twitter.noty_layout_center .noty_message .noty_buttons, 107 | .noty_bar.noty_theme_twitter.noty_layout_topCenter .noty_message .noty_buttons { 108 | margin-left: 15px; 109 | margin-top: -2px 110 | } 111 | 112 | /* NOTIFICATION TYPES */ 113 | 114 | /* noty_alert */ 115 | .noty_bar.noty_theme_twitter.noty_alert { 116 | background-color: #FCF8E3; 117 | border: 1px solid #FBEED5; 118 | color: #C09853; 119 | } 120 | /* noty_error */ 121 | .noty_bar.noty_theme_twitter.noty_error { 122 | background-color: #F2DEDE; 123 | border: 1px solid #EED3D7; 124 | color: #B94A48; 125 | } 126 | /* noty_success */ 127 | .noty_bar.noty_theme_twitter.noty_success { 128 | background-color: #DFF0D8; 129 | border: 1px solid #D6E9C6; 130 | color: #468847; 131 | } 132 | /* noty_information */ 133 | .noty_bar.noty_theme_twitter.noty_information { 134 | background-color: #D9EDF7; 135 | border: 1px solid #BCE8F1; 136 | color: #3A87AD; 137 | } -------------------------------------------------------------------------------- /client/css/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #0b2c46; 3 | background: url('../img/granite_bg.jpg'); 4 | padding-bottom: 10px; 5 | margin: 8px; 6 | } 7 | code { 8 | color: black; 9 | } 10 | 11 | .connect-container { 12 | background: #222; 13 | padding: 20px; 14 | margin-bottom: 10px; 15 | -webkit-border-radius: 5px; 16 | -moz-border-radius: 5px; 17 | border-radius: 5px; 18 | margin: 0 auto; 19 | float: none; 20 | } 21 | 22 | .small-modal { 23 | width: 330px; 24 | } 25 | .small-modal-box { 26 | width: 280px; 27 | } 28 | .big-modal { 29 | height: 700px; 30 | } 31 | 32 | /* 33 | .sidebar-nav { 34 | padding: 9px 0; 35 | } 36 | */ 37 | 38 | .edit-container { 39 | height: 500px; 40 | } 41 | 42 | .edit-editable { 43 | height: 490px; 44 | } 45 | 46 | .crop { 47 | overflow: hidden; 48 | white-space: nowrap; 49 | text-overflow: ellipsis; 50 | max-width: 500px; 51 | }​ -------------------------------------------------------------------------------- /client/img/granite_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yocontra/smog/7af0d1c6edd23348f5d503c653e2e73c322e2138/client/img/granite_bg.jpg -------------------------------------------------------------------------------- /client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Smog 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 39 | 40 | 41 |
42 |
43 | 44 |
45 |
46 |
47 | 48 | -------------------------------------------------------------------------------- /client/js/editor.coffee: -------------------------------------------------------------------------------- 1 | define ['ace/ace'], (ace) -> 2 | create: (el, {theme, mode, worker, wrap, tabSize, value, invisibles}) -> 3 | editor = ace.edit el 4 | editor.getSession().setUseSoftTabs true 5 | editor.setShowPrintMargin false 6 | editor.renderer.setHScrollBarAlwaysVisible false 7 | editor.renderer.setPrintMarginColumn false 8 | editor.renderer.setShowPrintMargin false 9 | editor.renderer.setAnimatedScroll true 10 | 11 | # defaults 12 | theme ?= "twilight" 13 | worker ?= true 14 | tabSize ?= 2 15 | invisibles ?= false 16 | 17 | editor.setTheme "ace/theme/#{theme}" 18 | editor.getSession().setUseWorker worker 19 | editor.getSession().setMode "ace/mode/#{mode}" 20 | editor.getSession().setValue value 21 | if wrap? 22 | editor.getSession().setUseWrapMode true 23 | editor.getSession().setWrapLimitRange wrap 24 | editor.renderer.setShowInvisibles invisibles 25 | 26 | # augment 27 | editor.getText = -> editor.getSession().getValue() 28 | return editor -------------------------------------------------------------------------------- /client/js/ext/ace/mode-text.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yocontra/smog/7af0d1c6edd23348f5d503c653e2e73c322e2138/client/js/ext/ace/mode-text.js -------------------------------------------------------------------------------- /client/js/ext/ace/theme-chrome.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(a,b,c){b.cssClass="ace-chrome",b.cssText=".ace-chrome .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-chrome .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-chrome .ace_gutter { background: #e8e8e8; color: #333; overflow : hidden;}.ace-chrome .ace_gutter-layer { width: 100%; text-align: right;}.ace-chrome .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-chrome .ace_text-layer { cursor: text;}.ace-chrome .ace_cursor { border-left: 2px solid black;}.ace-chrome .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid black;}.ace-chrome .ace_line .ace_invisible { color: rgb(191, 191, 191);}.ace-chrome .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246);}.ace-chrome .ace_line .ace_constant.ace_language { color: rgb(88, 92, 246);}.ace-chrome .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14);}.ace-chrome .ace_line .ace_invalid { background-color: rgb(153, 0, 0); color: white;}.ace-chrome .ace_line .ace_fold {}.ace-chrome .ace_line .ace_support.ace_function { color: rgb(60, 76, 114);}.ace-chrome .ace_line .ace_support.ace_constant { color: rgb(6, 150, 14);}.ace-chrome .ace_line .ace_support.ace_type,.ace-chrome .ace_line .ace_support.ace_class { color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter { font-style:italic;color:#FD971F;}.ace-chrome .ace_line .ace_keyword.ace_operator { color: rgb(104, 118, 135);}.ace-chrome .ace_line .ace_comment { color: #236e24;}.ace-chrome .ace_line .ace_comment.ace_doc { color: #236e24;}.ace-chrome .ace_line .ace_comment.ace_doc.ace_tag { color: #236e24;}.ace-chrome .ace_line .ace_constant.ace_numeric { color: rgb(0, 0, 205);}.ace-chrome .ace_line .ace_variable { color: rgb(49, 132, 149);}.ace-chrome .ace_line .ace_xml_pe { color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function { color: #0000A2;}.ace-chrome .ace_markup.ace_markupine { text-decoration:underline;}.ace-chrome .ace_markup.ace_heading { color: rgb(12, 7, 255);}.ace-chrome .ace_markup.ace_list { color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection { background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step { background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack { background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active_line { background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_marker-layer .ace_selected_word { background: rgb(250, 250, 255); border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_line .ace_keyword,.ace-chrome .ace_meta.ace_tag { color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex { color: rgb(255, 0, 0)}.ace-chrome .ace_line .ace_string,.ace-chrome .ace_entity.ace_other.ace_attribute-name{ color: #994409;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-clouds.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/clouds",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-clouds",b.cssText=".ace-clouds .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-clouds .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-clouds .ace_gutter { background: #e8e8e8; color: #333;}.ace-clouds .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-clouds .ace_scroller { background-color: #FFFFFF;}.ace-clouds .ace_text-layer { cursor: text; color: #000000;}.ace-clouds .ace_cursor { border-left: 2px solid #000000;}.ace-clouds .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #000000;}.ace-clouds .ace_marker-layer .ace_selection { background: #BDD5FC;}.ace-clouds.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #FFFFFF; border-radius: 2px;}.ace-clouds .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-clouds .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #BFBFBF;}.ace-clouds .ace_marker-layer .ace_active_line { background: #FFFBD1;}.ace-clouds .ace_marker-layer .ace_selected_word { border: 1px solid #BDD5FC;}.ace-clouds .ace_invisible { color: #BFBFBF;}.ace-clouds .ace_keyword, .ace-clouds .ace_meta { color:#AF956F;}.ace-clouds .ace_keyword.ace_operator { color:#484848;}.ace-clouds .ace_constant.ace_language { color:#39946A;}.ace-clouds .ace_constant.ace_numeric { color:#46A609;}.ace-clouds .ace_invalid { background-color:#FF002A;}.ace-clouds .ace_fold { background-color: #AF956F; border-color: #000000;}.ace-clouds .ace_support.ace_function { color:#C52727;}.ace-clouds .ace_storage { color:#C52727;}.ace-clouds .ace_string { color:#5D90CD;}.ace-clouds .ace_comment { color:#BCC8BA;}.ace-clouds .ace_entity.ace_other.ace_attribute-name { color:#606060;}.ace-clouds .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-clouds_midnight.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/clouds_midnight",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-clouds-midnight",b.cssText=".ace-clouds-midnight .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-clouds-midnight .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-clouds-midnight .ace_gutter { background: #e8e8e8; color: #333;}.ace-clouds-midnight .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-clouds-midnight .ace_scroller { background-color: #191919;}.ace-clouds-midnight .ace_text-layer { cursor: text; color: #929292;}.ace-clouds-midnight .ace_cursor { border-left: 2px solid #7DA5DC;}.ace-clouds-midnight .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #7DA5DC;}.ace-clouds-midnight .ace_marker-layer .ace_selection { background: #000000;}.ace-clouds-midnight.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #191919; border-radius: 2px;}.ace-clouds-midnight .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-clouds-midnight .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #BFBFBF;}.ace-clouds-midnight .ace_marker-layer .ace_active_line { background: rgba(215, 215, 215, 0.031);}.ace-clouds-midnight .ace_marker-layer .ace_selected_word { border: 1px solid #000000;}.ace-clouds-midnight .ace_invisible { color: #BFBFBF;}.ace-clouds-midnight .ace_keyword, .ace-clouds-midnight .ace_meta { color:#927C5D;}.ace-clouds-midnight .ace_keyword.ace_operator { color:#4B4B4B;}.ace-clouds-midnight .ace_constant.ace_language { color:#39946A;}.ace-clouds-midnight .ace_constant.ace_numeric { color:#46A609;}.ace-clouds-midnight .ace_invalid { color:#FFFFFF;background-color:#E92E2E;}.ace-clouds-midnight .ace_fold { background-color: #927C5D; border-color: #929292;}.ace-clouds-midnight .ace_support.ace_function { color:#E92E2E;}.ace-clouds-midnight .ace_storage { color:#E92E2E;}.ace-clouds-midnight .ace_string { color:#5D90CD;}.ace-clouds-midnight .ace_comment { color:#3C403B;}.ace-clouds-midnight .ace_entity.ace_other.ace_attribute-name { color:#606060;}.ace-clouds-midnight .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-cobalt.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/cobalt",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-cobalt",b.cssText=".ace-cobalt .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-cobalt .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-cobalt .ace_gutter { background: #e8e8e8; color: #333;}.ace-cobalt .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-cobalt .ace_scroller { background-color: #002240;}.ace-cobalt .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-cobalt .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-cobalt .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;}.ace-cobalt .ace_marker-layer .ace_selection { background: rgba(179, 101, 57, 0.75);}.ace-cobalt.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #002240; border-radius: 2px;}.ace-cobalt .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-cobalt .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(255, 255, 255, 0.15);}.ace-cobalt .ace_marker-layer .ace_active_line { background: rgba(0, 0, 0, 0.35);}.ace-cobalt .ace_marker-layer .ace_selected_word { border: 1px solid rgba(179, 101, 57, 0.75);}.ace-cobalt .ace_invisible { color: rgba(255, 255, 255, 0.15);}.ace-cobalt .ace_keyword, .ace-cobalt .ace_meta { color:#FF9D00;}.ace-cobalt .ace_constant, .ace-cobalt .ace_constant.ace_other { color:#FF628C;}.ace-cobalt .ace_constant.ace_character, { color:#FF628C;}.ace-cobalt .ace_constant.ace_character.ace_escape, { color:#FF628C;}.ace-cobalt .ace_invalid { color:#F8F8F8;background-color:#800F00;}.ace-cobalt .ace_support { color:#80FFBB;}.ace-cobalt .ace_support.ace_constant { color:#EB939A;}.ace-cobalt .ace_fold { background-color: #FF9D00; border-color: #FFFFFF;}.ace-cobalt .ace_support.ace_function { color:#FFB054;}.ace-cobalt .ace_storage { color:#FFEE80;}.ace-cobalt .ace_string.ace_regexp { color:#80FFC2;}.ace-cobalt .ace_comment { font-style:italic;color:#0088FF;}.ace-cobalt .ace_variable { color:#CCCCCC;}.ace-cobalt .ace_variable.ace_language { color:#FF80E1;}.ace-cobalt .ace_meta.ace_tag { color:#9EFFFF;}.ace-cobalt .ace_markup.ace_underline { text-decoration:underline;}.ace-cobalt .ace_markup.ace_heading { color:#C8E4FD;background-color:#001221;}.ace-cobalt .ace_markup.ace_list { background-color:#130D26;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-crimson_editor.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/crimson_editor",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssText=".ace-crimson-editor .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-crimson-editor .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-crimson-editor .ace_gutter { width: 50px; background: #e8e8e8; color: #333; overflow : hidden;}.ace-crimson-editor .ace_gutter-layer { width: 100%; text-align: right;}.ace-crimson-editor .ace_gutter-layer .ace_gutter-cell { padding-right: 6px;}.ace-crimson-editor .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-crimson-editor .ace_text-layer { cursor: text; color: rgb(64, 64, 64);}.ace-crimson-editor .ace_cursor { border-left: 2px solid black;}.ace-crimson-editor .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid black;}.ace-crimson-editor .ace_line .ace_invisible { color: rgb(191, 191, 191);}.ace-crimson-editor .ace_line .ace_identifier { color: black;}.ace-crimson-editor .ace_line .ace_keyword { color: blue;}.ace-crimson-editor .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246);}.ace-crimson-editor .ace_line .ace_constant.ace_language { color: rgb(255, 156, 0);}.ace-crimson-editor .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14);}.ace-crimson-editor .ace_line .ace_invalid { text-decoration: line-through; color: rgb(224, 0, 0);}.ace-crimson-editor .ace_line .ace_fold {}.ace-crimson-editor .ace_line .ace_support.ace_function { color: rgb(192, 0, 0);}.ace-crimson-editor .ace_line .ace_support.ace_constant { color: rgb(6, 150, 14);}.ace-crimson-editor .ace_line .ace_support.ace_type,.ace-crimson-editor .ace_line .ace_support.ace_class { color: rgb(109, 121, 222);}.ace-crimson-editor .ace_line .ace_keyword.ace_operator { color: rgb(49, 132, 149);}.ace-crimson-editor .ace_line .ace_string { color: rgb(128, 0, 128);}.ace-crimson-editor .ace_line .ace_comment { color: rgb(76, 136, 107);}.ace-crimson-editor .ace_line .ace_comment.ace_doc { color: rgb(0, 102, 255);}.ace-crimson-editor .ace_line .ace_comment.ace_doc.ace_tag { color: rgb(128, 159, 191);}.ace-crimson-editor .ace_line .ace_constant.ace_numeric { color: rgb(0, 0, 64);}.ace-crimson-editor .ace_line .ace_variable { color: rgb(0, 64, 128);}.ace-crimson-editor .ace_line .ace_xml_pe { color: rgb(104, 104, 91);}.ace-crimson-editor .ace_marker-layer .ace_selection { background: rgb(181, 213, 255);}.ace-crimson-editor .ace_marker-layer .ace_step { background: rgb(252, 255, 0);}.ace-crimson-editor .ace_marker-layer .ace_stack { background: rgb(164, 229, 101);}.ace-crimson-editor .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgb(192, 192, 192);}.ace-crimson-editor .ace_marker-layer .ace_active_line { background: rgb(232, 242, 254);}.ace-crimson-editor .ace_meta.ace_tag { color:rgb(28, 2, 255);}.ace-crimson-editor .ace_marker-layer .ace_selected_word { background: rgb(250, 250, 255); border: 1px solid rgb(200, 200, 250);}.ace-crimson-editor .ace_string.ace_regex { color: rgb(192, 0, 192);}",b.cssClass="ace-crimson-editor";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-dawn.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/dawn",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-dawn",b.cssText=".ace-dawn .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-dawn .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-dawn .ace_gutter { background: #e8e8e8; color: #333;}.ace-dawn .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-dawn .ace_scroller { background-color: #F9F9F9;}.ace-dawn .ace_text-layer { cursor: text; color: #080808;}.ace-dawn .ace_cursor { border-left: 2px solid #000000;}.ace-dawn .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #000000;}.ace-dawn .ace_marker-layer .ace_selection { background: rgba(39, 95, 255, 0.30);}.ace-dawn.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #F9F9F9; border-radius: 2px;}.ace-dawn .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-dawn .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(75, 75, 126, 0.50);}.ace-dawn .ace_marker-layer .ace_active_line { background: rgba(36, 99, 180, 0.12);}.ace-dawn .ace_marker-layer .ace_selected_word { border: 1px solid rgba(39, 95, 255, 0.30);}.ace-dawn .ace_invisible { color: rgba(75, 75, 126, 0.50);}.ace-dawn .ace_keyword, .ace-dawn .ace_meta { color:#794938;}.ace-dawn .ace_constant, .ace-dawn .ace_constant.ace_other { color:#811F24;}.ace-dawn .ace_constant.ace_character, { color:#811F24;}.ace-dawn .ace_constant.ace_character.ace_escape, { color:#811F24;}.ace-dawn .ace_invalid.ace_illegal { text-decoration:underline;font-style:italic;color:#F8F8F8;background-color:#B52A1D;}.ace-dawn .ace_invalid.ace_deprecated { text-decoration:underline;font-style:italic;color:#B52A1D;}.ace-dawn .ace_support { color:#691C97;}.ace-dawn .ace_support.ace_constant { color:#B4371F;}.ace-dawn .ace_fold { background-color: #794938; border-color: #080808;}.ace-dawn .ace_support.ace_function { color:#693A17;}.ace-dawn .ace_storage { font-style:italic;color:#A71D5D;}.ace-dawn .ace_string { color:#0B6125;}.ace-dawn .ace_string.ace_regexp { color:#CF5628;}.ace-dawn .ace_comment { font-style:italic;color:#5A525F;}.ace-dawn .ace_variable { color:#234A97;}.ace-dawn .ace_markup.ace_underline { text-decoration:underline;}.ace-dawn .ace_markup.ace_heading { color:#19356D;}.ace-dawn .ace_markup.ace_list { color:#693A17;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-dreamweaver.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/dreamweaver",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-dreamweaver",b.cssText=".ace-dreamweaver .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-dreamweaver .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-dreamweaver .ace_gutter { background: #e8e8e8; color: #333;}.ace-dreamweaver .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-dreamweaver .ace_fold { background-color: #00F;}.ace-dreamweaver .ace_text-layer { cursor: text;}.ace-dreamweaver .ace_cursor { border-left: 2px solid black;}.ace-dreamweaver .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid black;} .ace-dreamweaver .ace_line .ace_invisible { color: rgb(191, 191, 191);}.ace-dreamweaver .ace_line .ace_storage,.ace-dreamweaver .ace_line .ace_keyword { color: blue;}.ace-dreamweaver .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246);}.ace-dreamweaver .ace_line .ace_constant.ace_language { color: rgb(88, 92, 246);}.ace-dreamweaver .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14);}.ace-dreamweaver .ace_line .ace_invalid { background-color: rgb(153, 0, 0); color: white;}.ace-dreamweaver .ace_line .ace_support.ace_function { color: rgb(60, 76, 114);}.ace-dreamweaver .ace_line .ace_support.ace_constant { color: rgb(6, 150, 14);}.ace-dreamweaver .ace_line .ace_support.ace_type,.ace-dreamweaver .ace_line .ace_support.ace_class { color: #009;}.ace-dreamweaver .ace_line .ace_support.ace_php_tag { color: #f00;}.ace-dreamweaver .ace_line .ace_keyword.ace_operator { color: rgb(104, 118, 135);}.ace-dreamweaver .ace_line .ace_string { color: #00F;}.ace-dreamweaver .ace_line .ace_comment { color: rgb(76, 136, 107);}.ace-dreamweaver .ace_line .ace_comment.ace_doc { color: rgb(0, 102, 255);}.ace-dreamweaver .ace_line .ace_comment.ace_doc.ace_tag { color: rgb(128, 159, 191);}.ace-dreamweaver .ace_line .ace_constant.ace_numeric { color: rgb(0, 0, 205);}.ace-dreamweaver .ace_line .ace_variable { color: #06F}.ace-dreamweaver .ace_line .ace_xml_pe { color: rgb(104, 104, 91);}.ace-dreamweaver .ace_entity.ace_name.ace_function { color: #00F;}.ace-dreamweaver .ace_markup.ace_markupine { text-decoration:underline;}.ace-dreamweaver .ace_markup.ace_heading { color: rgb(12, 7, 255);}.ace-dreamweaver .ace_markup.ace_list { color:rgb(185, 6, 144);}.ace-dreamweaver .ace_marker-layer .ace_selection { background: rgb(181, 213, 255);}.ace-dreamweaver .ace_marker-layer .ace_step { background: rgb(252, 255, 0);}.ace-dreamweaver .ace_marker-layer .ace_stack { background: rgb(164, 229, 101);}.ace-dreamweaver .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgb(192, 192, 192);}.ace-dreamweaver .ace_marker-layer .ace_active_line { background: rgba(0, 0, 0, 0.07);}.ace-dreamweaver .ace_marker-layer .ace_selected_word { background: rgb(250, 250, 255); border: 1px solid rgb(200, 200, 250);}.ace-dreamweaver .ace_meta.ace_tag { color:#009;}.ace-dreamweaver .ace_meta.ace_tag.ace_anchor { color:#060;}.ace-dreamweaver .ace_meta.ace_tag.ace_form { color:#F90;}.ace-dreamweaver .ace_meta.ace_tag.ace_image { color:#909;}.ace-dreamweaver .ace_meta.ace_tag.ace_script { color:#900;}.ace-dreamweaver .ace_meta.ace_tag.ace_style { color:#909;}.ace-dreamweaver .ace_meta.ace_tag.ace_table { color:#099;}.ace-dreamweaver .ace_string.ace_regex { color: rgb(255, 0, 0)}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-eclipse.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/eclipse",["require","exports","module","ace/lib/dom"],function(a,b,c){"use strict",b.isDark=!1,b.cssText=".ace-eclipse .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-eclipse .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-eclipse .ace_gutter { background: rgb(227, 227, 227); border-right: 1px solid rgb(159, 159, 159); color: rgb(136, 136, 136);}.ace-eclipse .ace_print_margin { width: 1px; background: #b1b4ba;}.ace-eclipse .ace_fold { background-color: rgb(60, 76, 114);}.ace-eclipse .ace_text-layer { cursor: text;}.ace-eclipse .ace_cursor { border-left: 2px solid black;}.ace-eclipse .ace_line .ace_storage,.ace-eclipse .ace_line .ace_keyword,.ace-eclipse .ace_line .ace_variable { color: rgb(127, 0, 85);}.ace-eclipse .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246);}.ace-eclipse .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14);}.ace-eclipse .ace_line .ace_function { color: rgb(60, 76, 114);}.ace-eclipse .ace_line .ace_string { color: rgb(42, 0, 255);}.ace-eclipse .ace_line .ace_comment { color: rgb(63, 127, 95);}.ace-eclipse .ace_line .ace_comment.ace_doc { color: rgb(63, 95, 191);}.ace-eclipse .ace_line .ace_comment.ace_doc.ace_tag { color: rgb(127, 159, 191);}.ace-eclipse .ace_line .ace_constant.ace_numeric {}.ace-eclipse .ace_line .ace_tag { color: rgb(63, 127, 127);}.ace-eclipse .ace_line .ace_type { color: rgb(127, 0, 127);}.ace-eclipse .ace_line .ace_xml_pe { color: rgb(104, 104, 91);}.ace-eclipse .ace_marker-layer .ace_selection { background: rgb(181, 213, 255);}.ace-eclipse .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgb(192, 192, 192);}.ace-eclipse .ace_line .ace_meta.ace_tag { color:rgb(63, 127, 127);}.ace-eclipse .ace_entity.ace_other.ace_attribute-name { color:rgb(127, 0, 127);}.ace-eclipse .ace_marker-layer .ace_active_line { background: rgb(232, 242, 254);}",b.cssClass="ace-eclipse";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-idle_fingers.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/idle_fingers",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-idle-fingers",b.cssText=".ace-idle-fingers .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-idle-fingers .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-idle-fingers .ace_gutter { background: #e8e8e8; color: #333;}.ace-idle-fingers .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-idle-fingers .ace_scroller { background-color: #323232;}.ace-idle-fingers .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-idle-fingers .ace_cursor { border-left: 2px solid #91FF00;}.ace-idle-fingers .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #91FF00;}.ace-idle-fingers .ace_marker-layer .ace_selection { background: rgba(90, 100, 126, 0.88);}.ace-idle-fingers.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #323232; border-radius: 2px;}.ace-idle-fingers .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-idle-fingers .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404040;}.ace-idle-fingers .ace_marker-layer .ace_active_line { background: #353637;}.ace-idle-fingers .ace_marker-layer .ace_selected_word { border: 1px solid rgba(90, 100, 126, 0.88);}.ace-idle-fingers .ace_invisible { color: #404040;}.ace-idle-fingers .ace_keyword, .ace-idle-fingers .ace_meta { color:#CC7833;}.ace-idle-fingers .ace_constant, .ace-idle-fingers .ace_constant.ace_other { color:#6C99BB;}.ace-idle-fingers .ace_constant.ace_character, { color:#6C99BB;}.ace-idle-fingers .ace_constant.ace_character.ace_escape, { color:#6C99BB;}.ace-idle-fingers .ace_invalid { color:#FFFFFF;background-color:#FF0000;}.ace-idle-fingers .ace_support.ace_constant { color:#6C99BB;}.ace-idle-fingers .ace_fold { background-color: #CC7833; border-color: #FFFFFF;}.ace-idle-fingers .ace_support.ace_function { color:#B83426;}.ace-idle-fingers .ace_variable.ace_parameter { font-style:italic;}.ace-idle-fingers .ace_string { color:#A5C261;}.ace-idle-fingers .ace_string.ace_regexp { color:#CCCC33;}.ace-idle-fingers .ace_comment { font-style:italic;color:#BC9458;}.ace-idle-fingers .ace_meta.ace_tag { color:#FFE5BB;}.ace-idle-fingers .ace_entity.ace_name { color:#FFC66D;}.ace-idle-fingers .ace_markup.ace_underline { text-decoration:underline;}.ace-idle-fingers .ace_collab.ace_user1 { color:#323232;background-color:#FFF980;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-kr_theme.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/kr_theme",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-kr-theme",b.cssText=".ace-kr-theme .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-kr-theme .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-kr-theme .ace_gutter { background: #e8e8e8; color: #333;}.ace-kr-theme .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-kr-theme .ace_scroller { background-color: #0B0A09;}.ace-kr-theme .ace_text-layer { cursor: text; color: #FCFFE0;}.ace-kr-theme .ace_cursor { border-left: 2px solid #FF9900;}.ace-kr-theme .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FF9900;}.ace-kr-theme .ace_marker-layer .ace_selection { background: rgba(170, 0, 255, 0.45);}.ace-kr-theme.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #0B0A09; border-radius: 2px;}.ace-kr-theme .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-kr-theme .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(255, 177, 111, 0.32);}.ace-kr-theme .ace_marker-layer .ace_active_line { background: #38403D;}.ace-kr-theme .ace_marker-layer .ace_selected_word { border: 1px solid rgba(170, 0, 255, 0.45);}.ace-kr-theme .ace_invisible { color: rgba(255, 177, 111, 0.32);}.ace-kr-theme .ace_keyword, .ace-kr-theme .ace_meta { color:#949C8B;}.ace-kr-theme .ace_constant, .ace-kr-theme .ace_constant.ace_other { color:rgba(210, 117, 24, 0.76);}.ace-kr-theme .ace_constant.ace_character, { color:rgba(210, 117, 24, 0.76);}.ace-kr-theme .ace_constant.ace_character.ace_escape, { color:rgba(210, 117, 24, 0.76);}.ace-kr-theme .ace_invalid { color:#F8F8F8;background-color:#A41300;}.ace-kr-theme .ace_support { color:#9FC28A;}.ace-kr-theme .ace_support.ace_constant { color:#C27E66;}.ace-kr-theme .ace_fold { background-color: #949C8B; border-color: #FCFFE0;}.ace-kr-theme .ace_support.ace_function { color:#85873A;}.ace-kr-theme .ace_storage { color:#FFEE80;}.ace-kr-theme .ace_string.ace_regexp { color:rgba(125, 255, 192, 0.65);}.ace-kr-theme .ace_comment { font-style:italic;color:#706D5B;}.ace-kr-theme .ace_variable { color:#D1A796;}.ace-kr-theme .ace_variable.ace_language { color:#FF80E1;}.ace-kr-theme .ace_meta.ace_tag { color:#BABD9C;}.ace-kr-theme .ace_markup.ace_underline { text-decoration:underline;}.ace-kr-theme .ace_markup.ace_list { background-color:#0F0040;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-merbivore.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/merbivore",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-merbivore",b.cssText=".ace-merbivore .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-merbivore .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-merbivore .ace_gutter { background: #e8e8e8; color: #333;}.ace-merbivore .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-merbivore .ace_scroller { background-color: #161616;}.ace-merbivore .ace_text-layer { cursor: text; color: #E6E1DC;}.ace-merbivore .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-merbivore .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;}.ace-merbivore .ace_marker-layer .ace_selection { background: #454545;}.ace-merbivore.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #161616; border-radius: 2px;}.ace-merbivore .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-merbivore .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404040;}.ace-merbivore .ace_marker-layer .ace_active_line { background: #333435;}.ace-merbivore .ace_marker-layer .ace_selected_word { border: 1px solid #454545;}.ace-merbivore .ace_invisible { color: #404040;}.ace-merbivore .ace_keyword, .ace-merbivore .ace_meta { color:#FC6F09;}.ace-merbivore .ace_constant, .ace-merbivore .ace_constant.ace_other { color:#1EDAFB;}.ace-merbivore .ace_constant.ace_character, { color:#1EDAFB;}.ace-merbivore .ace_constant.ace_character.ace_escape, { color:#1EDAFB;}.ace-merbivore .ace_constant.ace_language { color:#FDC251;}.ace-merbivore .ace_constant.ace_library { color:#8DFF0A;}.ace-merbivore .ace_constant.ace_numeric { color:#58C554;}.ace-merbivore .ace_invalid { color:#FFFFFF;background-color:#990000;}.ace-merbivore .ace_support.ace_constant { color:#8DFF0A;}.ace-merbivore .ace_fold { background-color: #FC6F09; border-color: #E6E1DC;}.ace-merbivore .ace_support.ace_function { color:#FC6F09;}.ace-merbivore .ace_storage { color:#FC6F09;}.ace-merbivore .ace_string { color:#8DFF0A;}.ace-merbivore .ace_comment { font-style:italic;color:#AD2EA4;}.ace-merbivore .ace_meta.ace_tag { color:#FC6F09;}.ace-merbivore .ace_entity.ace_other.ace_attribute-name { color:#FFFF89;}.ace-merbivore .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-merbivore_soft.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/merbivore_soft",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-merbivore-soft",b.cssText=".ace-merbivore-soft .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-merbivore-soft .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-merbivore-soft .ace_gutter { background: #e8e8e8; color: #333;}.ace-merbivore-soft .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-merbivore-soft .ace_scroller { background-color: #1C1C1C;}.ace-merbivore-soft .ace_text-layer { cursor: text; color: #E6E1DC;}.ace-merbivore-soft .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-merbivore-soft .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;}.ace-merbivore-soft .ace_marker-layer .ace_selection { background: #494949;}.ace-merbivore-soft.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #1C1C1C; border-radius: 2px;}.ace-merbivore-soft .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-merbivore-soft .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404040;}.ace-merbivore-soft .ace_marker-layer .ace_active_line { background: #333435;}.ace-merbivore-soft .ace_marker-layer .ace_selected_word { border: 1px solid #494949;}.ace-merbivore-soft .ace_invisible { color: #404040;}.ace-merbivore-soft .ace_keyword, .ace-merbivore-soft .ace_meta { color:#FC803A;}.ace-merbivore-soft .ace_constant, .ace-merbivore-soft .ace_constant.ace_other { color:#68C1D8;}.ace-merbivore-soft .ace_constant.ace_character, { color:#68C1D8;}.ace-merbivore-soft .ace_constant.ace_character.ace_escape, { color:#68C1D8;}.ace-merbivore-soft .ace_constant.ace_language { color:#E1C582;}.ace-merbivore-soft .ace_constant.ace_library { color:#8EC65F;}.ace-merbivore-soft .ace_constant.ace_numeric { color:#7FC578;}.ace-merbivore-soft .ace_invalid { color:#FFFFFF;background-color:#FE3838;}.ace-merbivore-soft .ace_invalid.ace_deprecated { color:#FFFFFF;background-color:#FE3838;}.ace-merbivore-soft .ace_support.ace_constant { color:#8EC65F;}.ace-merbivore-soft .ace_fold { background-color: #FC803A; border-color: #E6E1DC;}.ace-merbivore-soft .ace_storage { color:#FC803A;}.ace-merbivore-soft .ace_string { color:#8EC65F;}.ace-merbivore-soft .ace_comment { font-style:italic;color:#AC4BB8;}.ace-merbivore-soft .ace_meta { font-style:italic;color:#AC4BB8;}.ace-merbivore-soft .ace_meta.ace_tag { color:#FC803A;}.ace-merbivore-soft .ace_entity.ace_other.ace_attribute-name { color:#EAF1A3;}.ace-merbivore-soft .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-mono_industrial.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/mono_industrial",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-mono-industrial",b.cssText=".ace-mono-industrial .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-mono-industrial .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-mono-industrial .ace_gutter { background: #e8e8e8; color: #333;}.ace-mono-industrial .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-mono-industrial .ace_scroller { background-color: #222C28;}.ace-mono-industrial .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-mono-industrial .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-mono-industrial .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;}.ace-mono-industrial .ace_marker-layer .ace_selection { background: rgba(145, 153, 148, 0.40);}.ace-mono-industrial.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #222C28; border-radius: 2px;}.ace-mono-industrial .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-mono-industrial .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(102, 108, 104, 0.50);}.ace-mono-industrial .ace_marker-layer .ace_active_line { background: rgba(12, 13, 12, 0.25);}.ace-mono-industrial .ace_marker-layer .ace_selected_word { border: 1px solid rgba(145, 153, 148, 0.40);}.ace-mono-industrial .ace_invisible { color: rgba(102, 108, 104, 0.50);}.ace-mono-industrial .ace_keyword, .ace-mono-industrial .ace_meta { color:#A39E64;}.ace-mono-industrial .ace_keyword.ace_operator { color:#A8B3AB;}.ace-mono-industrial .ace_constant, .ace-mono-industrial .ace_constant.ace_other { color:#E98800;}.ace-mono-industrial .ace_constant.ace_character, { color:#E98800;}.ace-mono-industrial .ace_constant.ace_character.ace_escape, { color:#E98800;}.ace-mono-industrial .ace_constant.ace_numeric { color:#E98800;}.ace-mono-industrial .ace_invalid { color:#FFFFFF;background-color:rgba(153, 0, 0, 0.68);}.ace-mono-industrial .ace_support.ace_constant { color:#C87500;}.ace-mono-industrial .ace_fold { background-color: #A8B3AB; border-color: #FFFFFF;}.ace-mono-industrial .ace_support.ace_function { color:#588E60;}.ace-mono-industrial .ace_storage { color:#C23B00;}.ace-mono-industrial .ace_variable { color:#A8B3AB;}.ace-mono-industrial .ace_variable.ace_parameter { color:#648BD2;}.ace-mono-industrial .ace_comment { color:#666C68;background-color:#151C19;}.ace-mono-industrial .ace_variable.ace_language { color:#648BD2;}.ace-mono-industrial .ace_entity.ace_other.ace_attribute-name { color:#909993;}.ace-mono-industrial .ace_entity.ace_name { color:#5778B6;}.ace-mono-industrial .ace_entity.ace_name.ace_function { color:#A8B3AB;}.ace-mono-industrial .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-monokai.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/monokai",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-monokai",b.cssText=".ace-monokai .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-monokai .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-monokai .ace_gutter { background: #e8e8e8; color: #333;}.ace-monokai .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-monokai .ace_scroller { background-color: #272822;}.ace-monokai .ace_text-layer { cursor: text; color: #F8F8F2;}.ace-monokai .ace_cursor { border-left: 2px solid #F8F8F0;}.ace-monokai .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #F8F8F0;}.ace-monokai .ace_marker-layer .ace_selection { background: #49483E;}.ace-monokai.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #272822; border-radius: 2px;}.ace-monokai .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-monokai .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #49483E;}.ace-monokai .ace_marker-layer .ace_active_line { background: #49483E;}.ace-monokai .ace_marker-layer .ace_selected_word { border: 1px solid #49483E;}.ace-monokai .ace_invisible { color: #49483E;}.ace-monokai .ace_keyword, .ace-monokai .ace_meta { color:#F92672;}.ace-monokai .ace_constant.ace_language { color:#AE81FF;}.ace-monokai .ace_constant.ace_numeric { color:#AE81FF;}.ace-monokai .ace_constant.ace_other { color:#AE81FF;}.ace-monokai .ace_invalid { color:#F8F8F0;background-color:#F92672;}.ace-monokai .ace_invalid.ace_deprecated { color:#F8F8F0;background-color:#AE81FF;}.ace-monokai .ace_support.ace_constant { color:#66D9EF;}.ace-monokai .ace_fold { background-color: #A6E22E; border-color: #F8F8F2;}.ace-monokai .ace_support.ace_function { color:#66D9EF;}.ace-monokai .ace_storage { color:#F92672;}.ace-monokai .ace_storage.ace_type, .ace-monokai .ace_support.ace_type{ font-style:italic;color:#66D9EF;}.ace-monokai .ace_variable { color:#A6E22E;}.ace-monokai .ace_variable.ace_parameter { font-style:italic;color:#FD971F;}.ace-monokai .ace_string { color:#E6DB74;}.ace-monokai .ace_comment { color:#75715E;}.ace-monokai .ace_entity.ace_other.ace_attribute-name { color:#A6E22E;}.ace-monokai .ace_entity.ace_name.ace_function { color:#A6E22E;}.ace-monokai .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-pastel_on_dark.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/pastel_on_dark",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-pastel-on-dark",b.cssText=".ace-pastel-on-dark .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-pastel-on-dark .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-pastel-on-dark .ace_gutter { background: #e8e8e8; color: #333;}.ace-pastel-on-dark .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-pastel-on-dark .ace_scroller { background-color: #2C2828;}.ace-pastel-on-dark .ace_text-layer { cursor: text; color: #8F938F;}.ace-pastel-on-dark .ace_cursor { border-left: 2px solid #A7A7A7;}.ace-pastel-on-dark .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #A7A7A7;}.ace-pastel-on-dark .ace_marker-layer .ace_selection { background: rgba(221, 240, 255, 0.20);}.ace-pastel-on-dark.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #2C2828; border-radius: 2px;}.ace-pastel-on-dark .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-pastel-on-dark .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(255, 255, 255, 0.25);}.ace-pastel-on-dark .ace_marker-layer .ace_active_line { background: rgba(255, 255, 255, 0.031);}.ace-pastel-on-dark .ace_marker-layer .ace_selected_word { border: 1px solid rgba(221, 240, 255, 0.20);}.ace-pastel-on-dark .ace_invisible { color: rgba(255, 255, 255, 0.25);}.ace-pastel-on-dark .ace_keyword, .ace-pastel-on-dark .ace_meta { color:#757aD8;}.ace-pastel-on-dark .ace_keyword.ace_operator { color:#797878;}.ace-pastel-on-dark .ace_constant, .ace-pastel-on-dark .ace_constant.ace_other { color:#4FB7C5;}.ace-pastel-on-dark .ace_constant.ace_character, { color:#4FB7C5;}.ace-pastel-on-dark .ace_constant.ace_character.ace_escape, { color:#4FB7C5;}.ace-pastel-on-dark .ace_constant.ace_language { color:#DE8E30;}.ace-pastel-on-dark .ace_constant.ace_numeric { color:#CCCCCC;}.ace-pastel-on-dark .ace_invalid { color:#F8F8F8;background-color:rgba(86, 45, 86, 0.75);}.ace-pastel-on-dark .ace_invalid.ace_illegal { color:#F8F8F8;background-color:rgba(86, 45, 86, 0.75);}.ace-pastel-on-dark .ace_invalid.ace_deprecated { text-decoration:underline;font-style:italic;color:#D2A8A1;}.ace-pastel-on-dark .ace_fold { background-color: #757aD8; border-color: #8F938F;}.ace-pastel-on-dark .ace_support.ace_function { color:#AEB2F8;}.ace-pastel-on-dark .ace_string { color:#66A968;}.ace-pastel-on-dark .ace_string.ace_regexp { color:#E9C062;}.ace-pastel-on-dark .ace_comment { color:#A6C6FF;}.ace-pastel-on-dark .ace_variable { color:#BEBF55;}.ace-pastel-on-dark .ace_variable.ace_language { color:#C1C144;}.ace-pastel-on-dark .ace_xml_pe { color:#494949;}.ace-pastel-on-dark .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-solarized_dark.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/solarized_dark",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-solarized-dark",b.cssText=".ace-solarized-dark .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-solarized-dark .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-solarized-dark .ace_gutter { background: #e8e8e8; color: #333;}.ace-solarized-dark .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-solarized-dark .ace_scroller { background-color: #002B36;}.ace-solarized-dark .ace_text-layer { cursor: text; color: #93A1A1;}.ace-solarized-dark .ace_cursor { border-left: 2px solid #D30102;}.ace-solarized-dark .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #D30102;}.ace-solarized-dark .ace_marker-layer .ace_selection { background: #073642;}.ace-solarized-dark.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #002B36; border-radius: 2px;}.ace-solarized-dark .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-solarized-dark .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(147, 161, 161, 0.50);}.ace-solarized-dark .ace_marker-layer .ace_active_line { background: #073642;}.ace-solarized-dark .ace_marker-layer .ace_selected_word { border: 1px solid #073642;}.ace-solarized-dark .ace_invisible { color: rgba(147, 161, 161, 0.50);}.ace-solarized-dark .ace_keyword, .ace-solarized-dark .ace_meta { color:#859900;}.ace-solarized-dark .ace_constant.ace_language { color:#B58900;}.ace-solarized-dark .ace_constant.ace_numeric { color:#D33682;}.ace-solarized-dark .ace_constant.ace_other { color:#CB4B16;}.ace-solarized-dark .ace_fold { background-color: #268BD2; border-color: #93A1A1;}.ace-solarized-dark .ace_support.ace_function { color:#268BD2;}.ace-solarized-dark .ace_storage { color:#93A1A1;}.ace-solarized-dark .ace_variable { color:#268BD2;}.ace-solarized-dark .ace_string { color:#2AA198;}.ace-solarized-dark .ace_string.ace_regexp { color:#D30102;}.ace-solarized-dark .ace_comment { font-style:italic;color:#657B83;}.ace-solarized-dark .ace_variable.ace_language { color:#268BD2;}.ace-solarized-dark .ace_entity.ace_other.ace_attribute-name { color:#93A1A1;}.ace-solarized-dark .ace_entity.ace_name.ace_function { color:#268BD2;}.ace-solarized-dark .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-solarized_light.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/solarized_light",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-solarized-light",b.cssText=".ace-solarized-light .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-solarized-light .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-solarized-light .ace_gutter { background: #e8e8e8; color: #333;}.ace-solarized-light .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-solarized-light .ace_scroller { background-color: #FDF6E3;}.ace-solarized-light .ace_text-layer { cursor: text; color: #586E75;}.ace-solarized-light .ace_cursor { border-left: 2px solid #000000;}.ace-solarized-light .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #000000;}.ace-solarized-light .ace_marker-layer .ace_selection { background: #073642;}.ace-solarized-light.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #FDF6E3; border-radius: 2px;}.ace-solarized-light .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-solarized-light .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(147, 161, 161, 0.50);}.ace-solarized-light .ace_marker-layer .ace_active_line { background: #EEE8D5;}.ace-solarized-light .ace_marker-layer .ace_selected_word { border: 1px solid #073642;}.ace-solarized-light .ace_invisible { color: rgba(147, 161, 161, 0.50);}.ace-solarized-light .ace_keyword, .ace-solarized-light .ace_meta { color:#859900;}.ace-solarized-light .ace_constant.ace_language { color:#B58900;}.ace-solarized-light .ace_constant.ace_numeric { color:#D33682;}.ace-solarized-light .ace_constant.ace_other { color:#CB4B16;}.ace-solarized-light .ace_fold { background-color: #268BD2; border-color: #586E75;}.ace-solarized-light .ace_support.ace_function { color:#268BD2;}.ace-solarized-light .ace_storage { color:#073642;}.ace-solarized-light .ace_variable { color:#268BD2;}.ace-solarized-light .ace_string { color:#2AA198;}.ace-solarized-light .ace_string.ace_regexp { color:#D30102;}.ace-solarized-light .ace_comment { color:#93A1A1;}.ace-solarized-light .ace_variable.ace_language { color:#268BD2;}.ace-solarized-light .ace_entity.ace_other.ace_attribute-name { color:#93A1A1;}.ace-solarized-light .ace_entity.ace_name.ace_function { color:#268BD2;}.ace-solarized-light .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-textmate.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yocontra/smog/7af0d1c6edd23348f5d503c653e2e73c322e2138/client/js/ext/ace/theme-textmate.js -------------------------------------------------------------------------------- /client/js/ext/ace/theme-tomorrow.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/tomorrow",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-tomorrow",b.cssText=".ace-tomorrow .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow .ace_scroller { background-color: #FFFFFF;}.ace-tomorrow .ace_text-layer { cursor: text; color: #4D4D4C;}.ace-tomorrow .ace_cursor { border-left: 2px solid #AEAFAD;}.ace-tomorrow .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #AEAFAD;}.ace-tomorrow .ace_marker-layer .ace_selection { background: #D6D6D6;}.ace-tomorrow.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #FFFFFF; border-radius: 2px;}.ace-tomorrow .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #D1D1D1;}.ace-tomorrow .ace_marker-layer .ace_active_line { background: #EFEFEF;}.ace-tomorrow .ace_marker-layer .ace_selected_word { border: 1px solid #D6D6D6;}.ace-tomorrow .ace_invisible { color: #D1D1D1;}.ace-tomorrow .ace_keyword, .ace-tomorrow .ace_meta { color:#8959A8;}.ace-tomorrow .ace_keyword.ace_operator { color:#3E999F;}.ace-tomorrow .ace_constant.ace_language { color:#F5871F;}.ace-tomorrow .ace_constant.ace_numeric { color:#F5871F;}.ace-tomorrow .ace_constant.ace_other { color:#666969;}.ace-tomorrow .ace_invalid { color:#FFFFFF;background-color:#C82829;}.ace-tomorrow .ace_invalid.ace_deprecated { color:#FFFFFF;background-color:#8959A8;}.ace-tomorrow .ace_support.ace_constant { color:#F5871F;}.ace-tomorrow .ace_fold { background-color: #4271AE; border-color: #4D4D4C;}.ace-tomorrow .ace_support.ace_function { color:#4271AE;}.ace-tomorrow .ace_storage { color:#8959A8;}.ace-tomorrow .ace_storage.ace_type, .ace-tomorrow .ace_support.ace_type{ color:#8959A8;}.ace-tomorrow .ace_variable { color:#4271AE;}.ace-tomorrow .ace_variable.ace_parameter { color:#F5871F;}.ace-tomorrow .ace_string { color:#718C00;}.ace-tomorrow .ace_string.ace_regexp { color:#C82829;}.ace-tomorrow .ace_comment { color:#8E908C;}.ace-tomorrow .ace_variable { color:#C82829;}.ace-tomorrow .ace_meta.ace_tag { color:#C82829;}.ace-tomorrow .ace_entity.ace_other.ace_attribute-name { color:#C82829;}.ace-tomorrow .ace_entity.ace_name.ace_function { color:#4271AE;}.ace-tomorrow .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow .ace_markup.ace_heading { color:#718C00;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-tomorrow_night.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/tomorrow_night",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-tomorrow-night",b.cssText=".ace-tomorrow-night .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow-night .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow-night .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow-night .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow-night .ace_scroller { background-color: #1D1F21;}.ace-tomorrow-night .ace_text-layer { cursor: text; color: #C5C8C6;}.ace-tomorrow-night .ace_cursor { border-left: 2px solid #AEAFAD;}.ace-tomorrow-night .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #AEAFAD;}.ace-tomorrow-night .ace_marker-layer .ace_selection { background: #373B41;}.ace-tomorrow-night.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #1D1F21; border-radius: 2px;}.ace-tomorrow-night .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow-night .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #4B4E55;}.ace-tomorrow-night .ace_marker-layer .ace_active_line { background: #282A2E;}.ace-tomorrow-night .ace_marker-layer .ace_selected_word { border: 1px solid #373B41;}.ace-tomorrow-night .ace_invisible { color: #4B4E55;}.ace-tomorrow-night .ace_keyword, .ace-tomorrow-night .ace_meta { color:#B294BB;}.ace-tomorrow-night .ace_keyword.ace_operator { color:#8ABEB7;}.ace-tomorrow-night .ace_constant.ace_language { color:#DE935F;}.ace-tomorrow-night .ace_constant.ace_numeric { color:#DE935F;}.ace-tomorrow-night .ace_constant.ace_other { color:#CED1CF;}.ace-tomorrow-night .ace_invalid { color:#CED2CF;background-color:#DF5F5F;}.ace-tomorrow-night .ace_invalid.ace_deprecated { color:#CED2CF;background-color:#B798BF;}.ace-tomorrow-night .ace_support.ace_constant { color:#DE935F;}.ace-tomorrow-night .ace_fold { background-color: #81A2BE; border-color: #C5C8C6;}.ace-tomorrow-night .ace_support.ace_function { color:#81A2BE;}.ace-tomorrow-night .ace_storage { color:#B294BB;}.ace-tomorrow-night .ace_storage.ace_type, .ace-tomorrow-night .ace_support.ace_type{ color:#B294BB;}.ace-tomorrow-night .ace_variable { color:#81A2BE;}.ace-tomorrow-night .ace_variable.ace_parameter { color:#DE935F;}.ace-tomorrow-night .ace_string { color:#B5BD68;}.ace-tomorrow-night .ace_string.ace_regexp { color:#CC6666;}.ace-tomorrow-night .ace_comment { color:#969896;}.ace-tomorrow-night .ace_variable { color:#CC6666;}.ace-tomorrow-night .ace_meta.ace_tag { color:#CC6666;}.ace-tomorrow-night .ace_entity.ace_other.ace_attribute-name { color:#CC6666;}.ace-tomorrow-night .ace_entity.ace_name.ace_function { color:#81A2BE;}.ace-tomorrow-night .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow-night .ace_markup.ace_heading { color:#B5BD68;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-tomorrow_night_blue.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/tomorrow_night_blue",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-tomorrow-night-blue",b.cssText=".ace-tomorrow-night-blue .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow-night-blue .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow-night-blue .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow-night-blue .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow-night-blue .ace_scroller { background-color: #002451;}.ace-tomorrow-night-blue .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-tomorrow-night-blue .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-tomorrow-night-blue .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;}.ace-tomorrow-night-blue .ace_marker-layer .ace_selection { background: #003F8E;}.ace-tomorrow-night-blue.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #002451; border-radius: 2px;}.ace-tomorrow-night-blue .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow-night-blue .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404F7D;}.ace-tomorrow-night-blue .ace_marker-layer .ace_active_line { background: #00346E;}.ace-tomorrow-night-blue .ace_marker-layer .ace_selected_word { border: 1px solid #003F8E;}.ace-tomorrow-night-blue .ace_invisible { color: #404F7D;}.ace-tomorrow-night-blue .ace_keyword, .ace-tomorrow-night-blue .ace_meta { color:#EBBBFF;}.ace-tomorrow-night-blue .ace_keyword.ace_operator { color:#99FFFF;}.ace-tomorrow-night-blue .ace_constant.ace_language { color:#FFC58F;}.ace-tomorrow-night-blue .ace_constant.ace_numeric { color:#FFC58F;}.ace-tomorrow-night-blue .ace_constant.ace_other { color:#FFFFFF;}.ace-tomorrow-night-blue .ace_invalid { color:#FFFFFF;background-color:#F99DA5;}.ace-tomorrow-night-blue .ace_invalid.ace_deprecated { color:#FFFFFF;background-color:#EBBBFF;}.ace-tomorrow-night-blue .ace_support.ace_constant { color:#FFC58F;}.ace-tomorrow-night-blue .ace_fold { background-color: #BBDAFF; border-color: #FFFFFF;}.ace-tomorrow-night-blue .ace_support.ace_function { color:#BBDAFF;}.ace-tomorrow-night-blue .ace_storage { color:#EBBBFF;}.ace-tomorrow-night-blue .ace_storage.ace_type, .ace-tomorrow-night-blue .ace_support.ace_type{ color:#EBBBFF;}.ace-tomorrow-night-blue .ace_variable { color:#BBDAFF;}.ace-tomorrow-night-blue .ace_variable.ace_parameter { color:#FFC58F;}.ace-tomorrow-night-blue .ace_string { color:#D1F1A9;}.ace-tomorrow-night-blue .ace_string.ace_regexp { color:#FF9DA4;}.ace-tomorrow-night-blue .ace_comment { color:#7285B7;}.ace-tomorrow-night-blue .ace_variable { color:#FF9DA4;}.ace-tomorrow-night-blue .ace_meta.ace_tag { color:#FF9DA4;}.ace-tomorrow-night-blue .ace_entity.ace_other.ace_attribute-name { color:#FF9DA4;}.ace-tomorrow-night-blue .ace_entity.ace_name.ace_function { color:#BBDAFF;}.ace-tomorrow-night-blue .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow-night-blue .ace_markup.ace_heading { color:#D1F1A9;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-tomorrow_night_bright.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/tomorrow_night_bright",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-tomorrow-night-bright",b.cssText=".ace-tomorrow-night-bright .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow-night-bright .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow-night-bright .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow-night-bright .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow-night-bright .ace_scroller { background-color: #000000;}.ace-tomorrow-night-bright .ace_text-layer { cursor: text; color: #DEDEDE;}.ace-tomorrow-night-bright .ace_cursor { border-left: 2px solid #9F9F9F;}.ace-tomorrow-night-bright .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #9F9F9F;}.ace-tomorrow-night-bright .ace_marker-layer .ace_selection { background: #424242;}.ace-tomorrow-night-bright.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #000000; border-radius: 2px;}.ace-tomorrow-night-bright .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow-night-bright .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #343434;}.ace-tomorrow-night-bright .ace_marker-layer .ace_active_line { background: #2A2A2A;}.ace-tomorrow-night-bright .ace_marker-layer .ace_selected_word { border: 1px solid #424242;}.ace-tomorrow-night-bright .ace_invisible { color: #343434;}.ace-tomorrow-night-bright .ace_keyword, .ace-tomorrow-night-bright .ace_meta { color:#C397D8;}.ace-tomorrow-night-bright .ace_keyword.ace_operator { color:#70C0B1;}.ace-tomorrow-night-bright .ace_constant.ace_language { color:#E78C45;}.ace-tomorrow-night-bright .ace_constant.ace_numeric { color:#E78C45;}.ace-tomorrow-night-bright .ace_constant.ace_other { color:#EEEEEE;}.ace-tomorrow-night-bright .ace_invalid { color:#CED2CF;background-color:#DF5F5F;}.ace-tomorrow-night-bright .ace_invalid.ace_deprecated { color:#CED2CF;background-color:#B798BF;}.ace-tomorrow-night-bright .ace_support.ace_constant { color:#E78C45;}.ace-tomorrow-night-bright .ace_fold { background-color: #7AA6DA; border-color: #DEDEDE;}.ace-tomorrow-night-bright .ace_support.ace_function { color:#7AA6DA;}.ace-tomorrow-night-bright .ace_storage { color:#C397D8;}.ace-tomorrow-night-bright .ace_storage.ace_type, .ace-tomorrow-night-bright .ace_support.ace_type{ color:#C397D8;}.ace-tomorrow-night-bright .ace_variable { color:#7AA6DA;}.ace-tomorrow-night-bright .ace_variable.ace_parameter { color:#E78C45;}.ace-tomorrow-night-bright .ace_string { color:#B9CA4A;}.ace-tomorrow-night-bright .ace_string.ace_regexp { color:#D54E53;}.ace-tomorrow-night-bright .ace_comment { color:#969896;}.ace-tomorrow-night-bright .ace_variable { color:#D54E53;}.ace-tomorrow-night-bright .ace_meta.ace_tag { color:#D54E53;}.ace-tomorrow-night-bright .ace_entity.ace_other.ace_attribute-name { color:#D54E53;}.ace-tomorrow-night-bright .ace_entity.ace_name.ace_function { color:#7AA6DA;}.ace-tomorrow-night-bright .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow-night-bright .ace_markup.ace_heading { color:#B9CA4A;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-tomorrow_night_eighties.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/tomorrow_night_eighties",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-tomorrow-night-eighties",b.cssText=".ace-tomorrow-night-eighties .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow-night-eighties .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow-night-eighties .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow-night-eighties .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow-night-eighties .ace_scroller { background-color: #2D2D2D;}.ace-tomorrow-night-eighties .ace_text-layer { cursor: text; color: #CCCCCC;}.ace-tomorrow-night-eighties .ace_cursor { border-left: 2px solid #CCCCCC;}.ace-tomorrow-night-eighties .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #CCCCCC;}.ace-tomorrow-night-eighties .ace_marker-layer .ace_selection { background: #515151;}.ace-tomorrow-night-eighties.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #2D2D2D; border-radius: 2px;}.ace-tomorrow-night-eighties .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow-night-eighties .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #6A6A6A;}.ace-tomorrow-night-eighties .ace_marker-layer .ace_active_line { background: #393939;}.ace-tomorrow-night-eighties .ace_marker-layer .ace_selected_word { border: 1px solid #515151;}.ace-tomorrow-night-eighties .ace_invisible { color: #6A6A6A;}.ace-tomorrow-night-eighties .ace_keyword, .ace-tomorrow-night-eighties .ace_meta { color:#CC99CC;}.ace-tomorrow-night-eighties .ace_keyword.ace_operator { color:#66CCCC;}.ace-tomorrow-night-eighties .ace_constant.ace_language { color:#F99157;}.ace-tomorrow-night-eighties .ace_constant.ace_numeric { color:#F99157;}.ace-tomorrow-night-eighties .ace_constant.ace_other { color:#CCCCCC;}.ace-tomorrow-night-eighties .ace_invalid { color:#CDCDCD;background-color:#F2777A;}.ace-tomorrow-night-eighties .ace_invalid.ace_deprecated { color:#CDCDCD;background-color:#CC99CC;}.ace-tomorrow-night-eighties .ace_support.ace_constant { color:#F99157;}.ace-tomorrow-night-eighties .ace_fold { background-color: #6699CC; border-color: #CCCCCC;}.ace-tomorrow-night-eighties .ace_support.ace_function { color:#6699CC;}.ace-tomorrow-night-eighties .ace_storage { color:#CC99CC;}.ace-tomorrow-night-eighties .ace_storage.ace_type, .ace-tomorrow-night-eighties .ace_support.ace_type{ color:#CC99CC;}.ace-tomorrow-night-eighties .ace_variable { color:#6699CC;}.ace-tomorrow-night-eighties .ace_variable.ace_parameter { color:#F99157;}.ace-tomorrow-night-eighties .ace_string { color:#99CC99;}.ace-tomorrow-night-eighties .ace_comment { color:#999999;}.ace-tomorrow-night-eighties .ace_variable { color:#F2777A;}.ace-tomorrow-night-eighties .ace_meta.ace_tag { color:#F2777A;}.ace-tomorrow-night-eighties .ace_entity.ace_other.ace_attribute-name { color:#F2777A;}.ace-tomorrow-night-eighties .ace_entity.ace_name.ace_function { color:#6699CC;}.ace-tomorrow-night-eighties .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow-night-eighties .ace_markup.ace_heading { color:#99CC99;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-twilight.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/twilight",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-twilight",b.cssText=".ace-twilight .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-twilight .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-twilight .ace_gutter { background: #e8e8e8; color: #333;}.ace-twilight .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-twilight .ace_scroller { background-color: #141414;}.ace-twilight .ace_text-layer { cursor: text; color: #F8F8F8;}.ace-twilight .ace_cursor { border-left: 2px solid #A7A7A7;}.ace-twilight .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #A7A7A7;}.ace-twilight .ace_marker-layer .ace_selection { background: rgba(221, 240, 255, 0.20);}.ace-twilight.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #141414; border-radius: 2px;}.ace-twilight .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-twilight .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(255, 255, 255, 0.25);}.ace-twilight .ace_marker-layer .ace_active_line { background: rgba(255, 255, 255, 0.031);}.ace-twilight .ace_marker-layer .ace_selected_word { border: 1px solid rgba(221, 240, 255, 0.20);}.ace-twilight .ace_invisible { color: rgba(255, 255, 255, 0.25);}.ace-twilight .ace_keyword, .ace-twilight .ace_meta { color:#CDA869;}.ace-twilight .ace_constant, .ace-twilight .ace_constant.ace_other { color:#CF6A4C;}.ace-twilight .ace_constant.ace_character, { color:#CF6A4C;}.ace-twilight .ace_constant.ace_character.ace_escape, { color:#CF6A4C;}.ace-twilight .ace_invalid.ace_illegal { color:#F8F8F8;background-color:rgba(86, 45, 86, 0.75);}.ace-twilight .ace_invalid.ace_deprecated { text-decoration:underline;font-style:italic;color:#D2A8A1;}.ace-twilight .ace_support { color:#9B859D;}.ace-twilight .ace_support.ace_constant { color:#CF6A4C;}.ace-twilight .ace_fold { background-color: #AC885B; border-color: #F8F8F8;}.ace-twilight .ace_support.ace_function { color:#DAD085;}.ace-twilight .ace_storage { color:#F9EE98;}.ace-twilight .ace_variable { color:#AC885B;}.ace-twilight .ace_string { color:#8F9D6A;}.ace-twilight .ace_string.ace_regexp { color:#E9C062;}.ace-twilight .ace_comment { font-style:italic;color:#5F5A60;}.ace-twilight .ace_variable { color:#7587A6;}.ace-twilight .ace_xml_pe { color:#494949;}.ace-twilight .ace_meta.ace_tag { color:#AC885B;}.ace-twilight .ace_entity.ace_name.ace_function { color:#AC885B;}.ace-twilight .ace_markup.ace_underline { text-decoration:underline;}.ace-twilight .ace_markup.ace_heading { color:#CF6A4C;}.ace-twilight .ace_markup.ace_list { color:#F9EE98;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/ace/theme-vibrant_ink.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/vibrant_ink",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-vibrant-ink",b.cssText=".ace-vibrant-ink .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-vibrant-ink .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-vibrant-ink .ace_gutter { background: #e8e8e8; color: #333;}.ace-vibrant-ink .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-vibrant-ink .ace_scroller { background-color: #0F0F0F;}.ace-vibrant-ink .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-vibrant-ink .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-vibrant-ink .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;}.ace-vibrant-ink .ace_marker-layer .ace_selection { background: #6699CC;}.ace-vibrant-ink.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #0F0F0F; border-radius: 2px;}.ace-vibrant-ink .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-vibrant-ink .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404040;}.ace-vibrant-ink .ace_marker-layer .ace_active_line { background: #333333;}.ace-vibrant-ink .ace_marker-layer .ace_selected_word { border: 1px solid #6699CC;}.ace-vibrant-ink .ace_invisible { color: #404040;}.ace-vibrant-ink .ace_keyword, .ace-vibrant-ink .ace_meta { color:#FF6600;}.ace-vibrant-ink .ace_constant, .ace-vibrant-ink .ace_constant.ace_other { color:#339999;}.ace-vibrant-ink .ace_constant.ace_character, { color:#339999;}.ace-vibrant-ink .ace_constant.ace_character.ace_escape, { color:#339999;}.ace-vibrant-ink .ace_constant.ace_numeric { color:#99CC99;}.ace-vibrant-ink .ace_invalid { color:#CCFF33;background-color:#000000;}.ace-vibrant-ink .ace_invalid.ace_deprecated { color:#CCFF33;background-color:#000000;}.ace-vibrant-ink .ace_fold { background-color: #FFCC00; border-color: #FFFFFF;}.ace-vibrant-ink .ace_support.ace_function { color:#FFCC00;}.ace-vibrant-ink .ace_variable { color:#FFCC00;}.ace-vibrant-ink .ace_variable.ace_parameter { font-style:italic;}.ace-vibrant-ink .ace_string { color:#66FF00;}.ace-vibrant-ink .ace_string.ace_regexp { color:#44B4CC;}.ace-vibrant-ink .ace_comment { color:#9933CC;}.ace-vibrant-ink .ace_entity.ace_other.ace_attribute-name { font-style:italic;color:#99CC99;}.ace-vibrant-ink .ace_entity.ace_name.ace_function { color:#FFCC00;}.ace-vibrant-ink .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /client/js/ext/jade.js: -------------------------------------------------------------------------------- 1 | jade=function(exports){Array.isArray||(Array.isArray=function(arr){return"[object Array]"==Object.prototype.toString.call(arr)}),Object.keys||(Object.keys=function(obj){var arr=[];for(var key in obj)obj.hasOwnProperty(key)&&arr.push(key);return arr}),exports.merge=function merge(a,b){var ac=a["class"],bc=b["class"];if(ac||bc)ac=ac||[],bc=bc||[],Array.isArray(ac)||(ac=[ac]),Array.isArray(bc)||(bc=[bc]),ac=ac.filter(nulls),bc=bc.filter(nulls),a["class"]=ac.concat(bc).join(" ");for(var key in b)key!="class"&&(a[key]=b[key]);return a};function nulls(val){return val!=null}return exports.attrs=function attrs(obj,escaped){var buf=[],terse=obj.terse;delete obj.terse;var keys=Object.keys(obj),len=keys.length;if(len){buf.push("");for(var i=0;i/g,">").replace(/"/g,""")},exports.rethrow=function rethrow(err,filename,lineno){if(!filename)throw err;var context=3,str=require("fs").readFileSync(filename,"utf8"),lines=str.split("\n"),start=Math.max(lineno-context,0),end=Math.min(lines.length,lineno+context),context=lines.slice(start,end).map(function(line,i){var curr=i+start+1;return(curr==lineno?" > ":" ")+curr+"| "+line}).join("\n");throw err.path=filename,err.message=(filename||"Jade")+":"+lineno+"\n"+context+"\n\n"+err.message,err},exports}({}); -------------------------------------------------------------------------------- /client/js/notify.coffee: -------------------------------------------------------------------------------- 1 | define -> 2 | notify = (text, type, pos="bottom") -> 3 | noty 4 | text: text 5 | theme: 'noty_theme_twitter' 6 | layout: pos 7 | type: type 8 | animateOpen: 9 | height: "toggle" 10 | animateClose: 11 | height: "toggle" 12 | speed: 500 13 | timeout: 3000 14 | closeButton: false 15 | closeOnSelfClick: true 16 | closeOnSelfOver: false 17 | return 18 | 19 | notify.error = (text, pos) -> notify text, 'error', pos 20 | notify.success = (text, pos) -> notify text, 'success', pos 21 | notify.info = (text, pos) -> notify text, 'information', pos 22 | notify.alert = (text, pos) -> notify text, 'alert', pos 23 | return notify -------------------------------------------------------------------------------- /client/js/routes.coffee: -------------------------------------------------------------------------------- 1 | define -> 2 | dermis.route '/' 3 | dermis.route '/connect', 'routes/index' 4 | dermis.route '/disconnect' 5 | dermis.route '/home' 6 | dermis.route '/new' 7 | 8 | dermis.route '/collection/:name' 9 | dermis.route '/rename/:name' 10 | dermis.route '/drop/:name' 11 | dermis.route '/empty/:name' 12 | dermis.route '/insert/:name' 13 | dermis.route '/find/:name' 14 | dermis.route '/mapReduce/:name' 15 | 16 | # document actions 17 | dermis.route '/edit/:name/:id' 18 | dermis.route '/delete/:name/:id/:nativeId' -------------------------------------------------------------------------------- /client/js/routes/collection.coffee: -------------------------------------------------------------------------------- 1 | define ["smog/server", "smog/util", "smog/notify", "templates/collection", "templates/editbar"], (server, util, notify, templ, editbar) -> 2 | show: ({name}) -> 3 | server.collection 4 | collection: name 5 | type: 'find' 6 | query: "{}" 7 | options: 8 | limit: 1000 9 | (err, docs) -> 10 | return notify.error "Error retrieving documents: #{err.err or err}" if err? 11 | notify.alert "Document limit reached - only displaying first 1000" if docs.length >= 999 12 | 13 | $('#content').html templ 14 | name: name 15 | documents: util.filterDocuments docs 16 | $('#editbar').html editbar name: name 17 | $('.dataPreview').click -> $(this).toggleClass "crop" -------------------------------------------------------------------------------- /client/js/routes/delete.coffee: -------------------------------------------------------------------------------- 1 | define ["smog/server", "smog/notify"], (server, notify) -> 2 | show: ({name, id, nativeId}) -> 3 | if nativeId is 'true' 4 | q = '{"_id": new ObjectID("' + id + '")}' 5 | else 6 | q = '{"_id": "' + id + '"}' 7 | console.log q 8 | server.collection 9 | collection: name 10 | type: 'delete' 11 | query: q 12 | (err) -> 13 | return notify.error "Error deleting document: #{err.err or err}" if err? 14 | notify.success "Document deleted" 15 | window.location.hash = "#/collection/#{name}" -------------------------------------------------------------------------------- /client/js/routes/disconnect.coffee: -------------------------------------------------------------------------------- 1 | define ["smog/server", "smog/notify"], (server, notify) -> 2 | show: -> 3 | server.disconnect (err) -> 4 | return notify.error "Error disconnecting: #{err}" if err? 5 | window.location = '/' -------------------------------------------------------------------------------- /client/js/routes/drop.coffee: -------------------------------------------------------------------------------- 1 | define ["smog/server", "smog/notify", "templates/confirm"], (server, notify, templ) -> 2 | show: ({name}) -> 3 | $('#content').append templ 4 | title: 'Drop' 5 | text: 'Dropping a collection will completely remove it from the database.\nYou will not be able to recover any data lost.' 6 | 7 | $('#confirm-modal').modal() 8 | $('#confirm-modal').on 'hidden', -> 9 | $('#confirm-modal').remove() 10 | 11 | $('#confirm-button').click -> 12 | server.collection 13 | collection: name 14 | type: 'drop' 15 | (err) -> 16 | return notify.error "Error dropping collection: #{err}" if err? 17 | $('#confirm-modal').modal 'hide' 18 | notify.success "Collection dropped" 19 | window.location.hash = '#/home' -------------------------------------------------------------------------------- /client/js/routes/edit.coffee: -------------------------------------------------------------------------------- 1 | define ["smog/server", "smog/notify", "smog/editor", "templates/edit"], (server, notify, editor, templ) -> 2 | show: ({name, id}) -> 3 | val = $("##{id}-value").text() 4 | 5 | $('#content').html templ 6 | title: "Editing #{id}" 7 | id: id 8 | button: 'Save' 9 | 10 | edit = editor.create "#{id}-edit-view", 11 | mode: "javascript" 12 | wrap: 100 13 | worker: false 14 | value: val 15 | 16 | $('#edit-button').click -> 17 | server.collection 18 | collection: name 19 | type: 'update' 20 | query: edit.getText() 21 | (err) -> 22 | return notify.error "Error saving document: #{err.err or err}" if err? 23 | edit.destroy() 24 | notify.success "Document saved!" 25 | window.location.hash = "#/collection/#{name}" -------------------------------------------------------------------------------- /client/js/routes/empty.coffee: -------------------------------------------------------------------------------- 1 | define ["smog/server", "smog/notify", "templates/confirm"], (server, notify, templ) -> 2 | show: ({name}) -> 3 | $('#content').append templ 4 | title: 'Empty' 5 | text: 'Emptying a collection will remove every document it contains.\nYou will not be able to recover any data lost.' 6 | 7 | $('#confirm-modal').modal() 8 | $('#confirm-modal').on 'hidden', -> 9 | $('#confirm-modal').remove() 10 | 11 | $('#confirm-button').click -> 12 | server.collection 13 | collection: name 14 | type: 'empty' 15 | (err) -> 16 | return notify.error "Error emptying collection: #{err.err or err}" if err? 17 | $('#confirm-modal').modal 'hide' 18 | notify.success "Collection emptied" 19 | window.location.hash = "#/collection/#{name}" -------------------------------------------------------------------------------- /client/js/routes/find.coffee: -------------------------------------------------------------------------------- 1 | define ["smog/server", "smog/util", "smog/notify", "smog/editor", "templates/edit", "templates/collection"], (server, util, notify, editor, templ, collection) -> 2 | show: ({name}) -> 3 | $('#content').html templ 4 | title: 'Find' 5 | id: name 6 | button: 'Execute' 7 | 8 | edit = editor.create "#{name}-edit-view", 9 | mode: "javascript" 10 | wrap: 100 11 | worker: false 12 | value: "{\r\n\r\n}" 13 | 14 | $('#edit-button').click -> 15 | server.collection 16 | collection: name 17 | type: 'find' 18 | query: edit.getText() 19 | (err, docs) -> 20 | return notify.error "Error retrieving documents: #{err.err or err}" if err? 21 | edit.destroy() 22 | $('#content').html collection 23 | name: name 24 | documents: util.filterDocuments docs 25 | 26 | $('.dataPreview').click -> $(this).toggleClass "crop" -------------------------------------------------------------------------------- /client/js/routes/home.coffee: -------------------------------------------------------------------------------- 1 | define ["smog/server", "smog/util", "smog/notify", "templates/sidebar", "templates/admin"], (server, util, notify, sidebar, admin) -> 2 | show: -> 3 | server.admin (err, info) -> 4 | return notify.error "Error grabbing information: #{err.err or err}" if err? 5 | 6 | # Filter collection names 7 | info.collections = util.filterCollections info.collections 8 | $('#sidebar').html sidebar info 9 | 10 | # Filter admin info 11 | info.serverStatus.network.bytesIn = util.readableSize info.serverStatus.network.bytesIn 12 | info.serverStatus.network.bytesOut = util.readableSize info.serverStatus.network.bytesOut 13 | info.serverStatus.mem.mapped = "#{info.serverStatus.mem.mapped} MB" 14 | info.serverStatus.mem.virtual = "#{info.serverStatus.mem.virtual} MB" 15 | info.serverStatus.connections.total = info.serverStatus.connections.current + info.serverStatus.connections.available 16 | info.serverStatus.uptime = util.prettySeconds info.serverStatus.uptime 17 | $('#content').html admin info -------------------------------------------------------------------------------- /client/js/routes/index.coffee: -------------------------------------------------------------------------------- 1 | define ["smog/server", "smog/notify", "templates/connect"], (server, notify, templ) -> 2 | show: -> 3 | $('#content').html templ() 4 | 5 | $('#connect-modal').modal backdrop: false 6 | $('#connect-button').click -> 7 | host = $('#host').val() 8 | 9 | server.connect host, (err, okay) -> 10 | if err? 11 | err = "Server unavailable" if typeof err is 'object' and Object.keys(err).length is 0 12 | notify.error "Connection error: #{err.err or err}" 13 | else 14 | $('#connect-modal').modal 'hide' 15 | window.location.hash = '#/home' -------------------------------------------------------------------------------- /client/js/routes/insert.coffee: -------------------------------------------------------------------------------- 1 | define ["smog/server", "smog/notify", "smog/editor", "templates/edit"], (server, notify, editor, templ) -> 2 | show: ({name}) -> 3 | $('#content').html templ 4 | title: 'Insert' 5 | id: name 6 | button: 'Insert' 7 | 8 | edit = editor.create "#{name}-edit-view", 9 | mode: "javascript" 10 | wrap: 100 11 | worker: false 12 | value: "{\r\n\r\n}" 13 | 14 | $('#edit-button').click -> 15 | server.collection 16 | collection: name 17 | type: 'insert' 18 | query: edit.getText() 19 | (err) -> 20 | return notify.error "Error inserting document: #{err.err or err}" if err? 21 | edit.destroy() 22 | notify.success "Document inserted!" 23 | window.location.hash = "#/collection/#{name}" -------------------------------------------------------------------------------- /client/js/routes/mapReduce.coffee: -------------------------------------------------------------------------------- 1 | define ["smog/server", "smog/util", "smog/notify", "smog/editor", "templates/edit", "templates/collection"], (server, util, notify, editor, templ, collection) -> 2 | show: ({name}) -> 3 | $('#content').html templ 4 | title: 'Map Reduce' 5 | id: name 6 | button: 'Execute' 7 | 8 | edit = editor.create "#{name}-edit-view", 9 | mode: "javascript" 10 | worker: false 11 | wrap: 100 12 | value: """ 13 | //This is a simple map/reduce that counts documents by name 14 | { 15 | map: function () { 16 | emit(this.name, {count: 1}); 17 | }, 18 | reduce: function (key, values) { 19 | var result = 0; 20 | values.forEach(function (value) { 21 | result += value.count; 22 | }); 23 | return {count: result}; 24 | } 25 | } 26 | """ 27 | 28 | $('#edit-button').click -> 29 | server.collection 30 | collection: name 31 | type: 'mapReduce' 32 | query: edit.getText() 33 | (err, docs, stat) -> 34 | return notify.error "Error retrieving documents: #{err.err or err}" if err? 35 | edit.destroy() 36 | $('#content').html collection 37 | name: name 38 | documents: util.filterDocuments docs -------------------------------------------------------------------------------- /client/js/routes/new.coffee: -------------------------------------------------------------------------------- 1 | define ["smog/server", "templates/input", "smog/notify"], (server, templ, notify) -> 2 | show: -> 3 | $('#content').append templ 4 | title: 'New' 5 | button: 'Create' 6 | placeholder: 'Name' 7 | 8 | $('#input-modal').modal() 9 | $('#input-modal').on 'hidden', -> 10 | $('#input-modal').remove() 11 | 12 | $('#input-button').click -> 13 | server.createCollection $('#input-text').val(), {}, (err) -> 14 | return notify.error "Error creating collection: #{err.err or err}" if err? 15 | $('#input-modal').modal 'hide' 16 | notify.success "Collection created" 17 | window.location.hash = '#/home' -------------------------------------------------------------------------------- /client/js/routes/rename.coffee: -------------------------------------------------------------------------------- 1 | define ["smog/server", "templates/input", "smog/notify"], (server, templ, notify) -> 2 | show: ({name}) -> 3 | $('#content').append templ 4 | title: 'Rename' 5 | button: 'Rename' 6 | placeholder: 'New name' 7 | 8 | $('#input-modal').modal() 9 | $('#input-modal').on 'hidden', -> 10 | $('#input-modal').remove() 11 | 12 | $('#input-button').click -> 13 | server.collection 14 | collection: name 15 | type: 'rename' 16 | query: 17 | name: $('#input-text').val() 18 | (err) -> 19 | return notify.error "Error renaming collection: #{err.err or err}" if err? 20 | $('#input-modal').modal 'hide' 21 | notify.success "Collection renamed" 22 | window.location.hash = '#/home' -------------------------------------------------------------------------------- /client/js/server.coffee: -------------------------------------------------------------------------------- 1 | define -> Vein.createClient() -------------------------------------------------------------------------------- /client/js/smog.coffee: -------------------------------------------------------------------------------- 1 | define ["smog/server", "smog/routes", "smog/notify"], (server, routes, notify) -> 2 | 3 | dermis.use (mod, args, next) -> 4 | server.ready (services) -> next() 5 | 6 | server.ready (services) -> 7 | console.log "Connected - Available services: #{services}" 8 | 9 | #server.close -> 10 | # notify.error 'Connection lost - reload to re-establish' -------------------------------------------------------------------------------- /client/js/util.coffee: -------------------------------------------------------------------------------- 1 | define -> 2 | filterCollections: (collections) -> 3 | out = [] 4 | for item in collections when item.name.indexOf('.system.') is -1 5 | name = item.name.substring item.name.indexOf('.') + 1 6 | out.push name 7 | return out 8 | 9 | filterDocuments: (docs) -> 10 | for doc in docs 11 | doc.created = @getCreated doc._id 12 | doc.size = @readableSize doc.size 13 | return docs 14 | 15 | readableSize: (size) -> 16 | units = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"] 17 | i = 0 18 | while size >= 1024 19 | size /= 1024 20 | ++i 21 | return "#{Math.floor(size.toFixed(1))} #{units[i]}" 22 | 23 | getCreated: (id) -> 24 | de = "Unknown" 25 | return de unless id? 26 | try 27 | return prettyDate(parseInt(id.slice(0,8), 16)*1000) or de 28 | return de 29 | 30 | prettySeconds: (secs) -> 31 | days = Math.floor secs / 86400 32 | hours = Math.floor (secs % 86400) / 3600 33 | minutes = Math.floor ((secs % 86400) % 3600) / 60 34 | seconds = ((secs % 86400) % 3600) % 60 35 | out = "" 36 | out += "#{days} days " if days > 0 37 | out += "#{hours} hours " if hours > 0 38 | out += "#{minutes} minutes" if minutes > 0 39 | out += " #{seconds} seconds" if seconds > 0 and days <= 0 40 | return out -------------------------------------------------------------------------------- /client/templates/admin.jade: -------------------------------------------------------------------------------- 1 | .well 2 | .page-header: h1 Administration 3 | 4 | .row-fluid 5 | .span4 6 | h2 Build 7 | b System: 8 | p.crop(title="#{buildInfo.sysInfo}") #{buildInfo.sysInfo} 9 | b Version: 10 | p #{buildInfo.version} 11 | b Bits: 12 | p #{buildInfo.bits} 13 | b Debug: 14 | p #{buildInfo.debug} 15 | 16 | .span4 17 | h2 System 18 | b Host: 19 | p #{serverStatus.host} 20 | b Uptime: 21 | p #{serverStatus.uptime} 22 | b Collections: 23 | p #{collections.length} 24 | b Connections: 25 | p #{serverStatus.connections.current}/#{serverStatus.connections.total} 26 | 27 | .span4 28 | h2 Performance 29 | b Requests: 30 | p #{serverStatus.network.numRequests} 31 | b Input: 32 | p #{serverStatus.network.bytesIn} 33 | b Output: 34 | p #{serverStatus.network.bytesOut} 35 | b Disk Memory: 36 | p #{serverStatus.mem.mapped} 37 | b Virtual Memory: 38 | p #{serverStatus.mem.virtual} -------------------------------------------------------------------------------- /client/templates/collection.jade: -------------------------------------------------------------------------------- 1 | .well 2 | .page-header: h1 #{name} 3 | 4 | .row-fluid 5 | .span12 6 | table#datagrid.table.table-striped.table-bordered.table-condensed(cellpadding="0", cellspacing="0", border="0") 7 | thead 8 | tr 9 | th Id 10 | th Size 11 | th Created 12 | th Document 13 | th Actions 14 | tbody 15 | each document in documents 16 | tr(id="#{document._id}-row") 17 | td(id="#{document._id}-id") #{document._id} 18 | td(id="#{document._id}-size") #{document.size} 19 | td(id="#{document._id}-created") #{document.created} 20 | td: pre.crop.dataPreview(id="#{document._id}-value") #{document.value} 21 | td(id="#{document._id}-actions") 22 | a(id="#{document._id}-edit", href="#/edit/#{name}/#{document._id}", title="Edit") 23 | i.icon-edit.icon-white 24 | a(id="#{document._id}-delete", href="#/delete/#{name}/#{document._id}/#{document.nativeId}", title="Delete") 25 | i.icon-trash.icon-white -------------------------------------------------------------------------------- /client/templates/confirm.jade: -------------------------------------------------------------------------------- 1 | #confirm-modal.modal.fade.small-modal 2 | .modal-header 3 | h3 #{title} 4 | 5 | .modal-body 6 | p #{text} 7 | 8 | .modal-footer 9 | a#confirm-button.btn.btn-danger Continue 10 | a#confirm-cancel.btn(data-dismiss="modal") Cancel -------------------------------------------------------------------------------- /client/templates/connect.jade: -------------------------------------------------------------------------------- 1 | #connect-modal.modal.small-modal 2 | .modal-header 3 | h3 Connect 4 | 5 | .modal-body 6 | input#host.small-modal-box(type="text", placeholder="Host", value="mongodb://localhost:27017/test?auto_reconnect") 7 | 8 | .modal-footer 9 | a#connect-button.btn.btn-primary Connect -------------------------------------------------------------------------------- /client/templates/edit.jade: -------------------------------------------------------------------------------- 1 | .well 2 | .page-header: h1 #{title} 3 | 4 | .row-fluid.edit-container 5 | .span9.edit-editable(id="#{id}-edit-view") 6 | 7 | .row-fluid 8 | a#edit-button.btn.btn-primary #{button} -------------------------------------------------------------------------------- /client/templates/editbar.jade: -------------------------------------------------------------------------------- 1 | .well.sidebar-nav 2 | ul.nav.nav-list 3 | li 4 | a(href="#/rename/#{name}") 5 | i.icon-pencil.icon-white 6 | | Rename 7 | li 8 | a(href="#/empty/#{name}") 9 | i.icon-trash.icon-white 10 | | Empty 11 | li 12 | a(href="#/drop/#{name}") 13 | i.icon-fire.icon-white 14 | | Drop 15 | li.divider 16 | li 17 | a(href="#/insert/#{name}") 18 | i.icon-asterisk.icon-white 19 | | Insert 20 | li 21 | a(href="#/find/#{name}") 22 | i.icon-search.icon-white 23 | | Find 24 | li 25 | a(href="#/mapReduce/#{name}") 26 | i.icon-filter.icon-white 27 | | Map Reduce 28 | li 29 | a(href="#/aggregate/#{name}") 30 | i.icon-tasks.icon-white 31 | | Aggregate -------------------------------------------------------------------------------- /client/templates/input.jade: -------------------------------------------------------------------------------- 1 | #input-modal.modal.fade.small-modal 2 | .modal-header 3 | h3 #{title} 4 | 5 | .modal-body 6 | input#input-text.small-modal-box(type="text", placeholder="#{placeholder}") 7 | 8 | .modal-footer 9 | a#input-button.btn.btn-primary #{button} -------------------------------------------------------------------------------- /client/templates/sidebar.jade: -------------------------------------------------------------------------------- 1 | .well.sidebar-nav 2 | ul.nav.nav-list 3 | li 4 | a(href="#/home") 5 | i.icon-home.icon-white 6 | | Home 7 | li 8 | a(href="#/settings") 9 | i.icon-cog.icon-white 10 | | Settings 11 | li 12 | a(href="#/disconnect") 13 | i.icon-off.icon-white 14 | | Disconnect 15 | li.divider 16 | 17 | li.nav-header Collections 18 | 19 | li 20 | a(href="#/new") 21 | i.icon-plus.icon-white 22 | | Create new 23 | 24 | each collection in collections 25 | li 26 | a(href="#/collection/#{collection}") 27 | i.icon-list-alt.icon-white 28 | | #{collection} 29 | 30 | #editbar -------------------------------------------------------------------------------- /lib/services/admin.coffee: -------------------------------------------------------------------------------- 1 | module.exports = (cb, socket) -> 2 | return cb "Not connected" unless cb.socket.mongo.database? 3 | 4 | out = {} 5 | db = cb.socket.mongo.database 6 | admin = db.admin 7 | 8 | # authenticate against "admin" db first, then go back to original. 9 | if db._dbconn.options.password 10 | dbOrig = db._dbconn.databaseName 11 | db._dbconn.databaseName = "admin" 12 | db.open (err, r) -> 13 | db._dbconn.databaseName = dbOrig 14 | db.open (err, r) -> 15 | 16 | db.collectionNames (err, r) -> 17 | return cb err.message if err? 18 | out.collections = r 19 | 20 | admin.serverStatus (err, r) -> 21 | # return cb err.message if err? 22 | out.serverStatus = r unless err? 23 | 24 | admin.buildInfo (err, r) -> 25 | # return cb err.message if err? 26 | out.buildInfo = r unless err? 27 | 28 | admin.profilingLevel (err, r) -> 29 | # return cb err.message if err? 30 | out.profilingLevel = r unless err? 31 | 32 | admin.profilingInfo (err, r) -> 33 | # return cb err.message if err? 34 | out.profilingInfo = r unless err? 35 | 36 | admin.replSetGetStatus (err, r) -> 37 | out.replSetGetStatus = r unless err? 38 | return cb null, out -------------------------------------------------------------------------------- /lib/services/collection.coffee: -------------------------------------------------------------------------------- 1 | ton = require "mongo-ton" 2 | uglify = require "uglify-js" 3 | {BSON} = require('mongodb').pure() 4 | 5 | prettify = (code) -> 6 | try 7 | ish = uglify.uglify.gen_code uglify.parser.parse("(#{code})"), beautify: true, quote_keys: true 8 | return ish.substring 1, ish.length-2 9 | catch err 10 | console.log code, err 11 | return "Error parsing JS #{err.message}" 12 | 13 | formatDocuments = (res) -> 14 | out = [] 15 | for doc in res 16 | out.push 17 | _id: doc._id 18 | nativeId: (doc._id instanceof ObjectID) 19 | size: BSON.calculateObjectSize(doc, true) 20 | value: prettify ton.stringify doc 21 | return out 22 | 23 | tasks = 24 | # collection tasks 25 | rename: (col, command, cb) -> 26 | return cb "Missing query" unless command.query? 27 | return cb "Missing name" unless command.query.name? and typeof command.query.name is 'string' and command.query.name.length > 0 28 | col.rename command.query.name, (err, res) -> 29 | return cb err if err? 30 | return cb "Rename failed" unless res? 31 | cb() 32 | 33 | empty: (col, command, cb) -> 34 | col.remove (err, res) -> 35 | return cb err if err? 36 | return cb "Empty failed" unless res? 37 | cb() 38 | 39 | drop: (col, command, cb) -> 40 | col.drop (err, res) -> 41 | return cb err if err? 42 | return cb "Drop failed" unless res? 43 | cb() 44 | 45 | # other 46 | find: (col, command, cb) -> 47 | return cb "Missing query" unless command.query? 48 | command.options ?= {} 49 | col.find(command.query, command.options).toArray (err, res) -> 50 | return cb err if err? 51 | return cb null, [] unless res? 52 | cb null, formatDocuments res 53 | 54 | mapReduce: (col, command, cb) -> 55 | return cb "Missing query" unless command.query? 56 | {map, reduce} = command.query 57 | return cb "Missing map" unless typeof map is 'function' 58 | return cb "Missing reduce" unless typeof reduce is 'function' 59 | col.mapReduce map, reduce, {out:{inline:1}}, (err, res, stat) -> 60 | return cb err if err? 61 | cb null, formatDocuments(res), stat 62 | 63 | delete: (col, command, cb) -> 64 | return cb "Missing query" unless command.query? 65 | return cb "Missing _id" unless command.query._id? 66 | col.remove {_id:command.query._id}, (err, res) -> 67 | return cb err if err? 68 | return cb "Delete failed" unless res? and res > 0 69 | cb() 70 | 71 | insert: (col, command, cb) -> 72 | return cb "Missing query" unless command.query? 73 | col.insert command.query, cb 74 | 75 | update: (col, command, cb) -> 76 | return cb "Missing query" unless command.query? 77 | return cb "Missing _id" unless command.query._id? 78 | col.save command.query, cb 79 | 80 | 81 | module.exports = (cb, command) -> 82 | return unless cb.socket? 83 | return cb "Not connected" unless cb.socket.mongo? 84 | return cb "Missing command" unless command? 85 | return cb "Missing type" unless command.type? 86 | return cb "Missing collection" unless command.collection? 87 | return cb "Invalid command" unless tasks[command.type]? 88 | 89 | col = cb.socket.mongo.database.collection command.collection 90 | if command.query? and typeof command.query is 'string' 91 | try 92 | command.query = ton.parse command.query 93 | catch err 94 | return cb err.message 95 | tasks[command.type] col, command, cb -------------------------------------------------------------------------------- /lib/services/connect.coffee: -------------------------------------------------------------------------------- 1 | mongo = require 'mongoskin' 2 | 3 | module.exports = (cb, host) -> 4 | #console.log "connect #{host}" 5 | return cb "Missing connection string" unless typeof host is 'string' 6 | return cb null, true if cb.socket.mongo?.database? 7 | 8 | cb.socket.mongo = {} 9 | db = cb.socket.mongo.database = mongo.db host 10 | cb null, true -------------------------------------------------------------------------------- /lib/services/createCollection.coffee: -------------------------------------------------------------------------------- 1 | module.exports = (cb, name, options={}) -> 2 | return cb "Not connected" unless cb.socket.mongo? 3 | return cb "Missing name" unless name? and typeof name is "string" and name.length > 0 4 | 5 | options.safe = true 6 | cb.socket.mongo.database.createCollection name, options, (err, col) -> 7 | return cb err if err? 8 | return cb "Not created" unless col? 9 | cb() -------------------------------------------------------------------------------- /lib/services/disconnect.coffee: -------------------------------------------------------------------------------- 1 | module.exports = (cb, host, port, database) -> 2 | return cb "Not connected" unless cb.socket.mongo? 3 | 4 | cb.socket.mongo.database.close (err) -> 5 | return cb err if err? 6 | cb() 7 | delete cb.socket.mongo -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "smog", 3 | "description": "HTML5/Node/WebSocket MongoDB viewer", 4 | "version": "0.1.8", 5 | "homepage": "http://github.com/wearefractal/smog", 6 | "repository": "git://github.com/wearefractal/smog.git", 7 | "author": "Fractal (http://wearefractal.com/)", 8 | "bin": { 9 | "smog": "./bin/smog" 10 | }, 11 | "dependencies": { 12 | "coffee-script": "^1.7.1", 13 | "mongoskin": "^1.0.0", 14 | "express": "^3.4.8", 15 | "vein": "^0.5.5", 16 | "async": "^0.9.0", 17 | "mongo-ton": "^0.0.3", 18 | "ton": "^0.0.2", 19 | "uglify-js": "^2.4.15", 20 | "mongodb": "^1.4.19" 21 | }, 22 | "optionalDependencies": { 23 | "pane": "^0.0.10" 24 | }, 25 | "devDependencies": { 26 | "jaded": "^0.1.1", 27 | "less": "^1.7.5", 28 | "mocha": "^2.0.1", 29 | "should": "^4.2.1" 30 | }, 31 | "scripts": { 32 | "test": "mocha --compilers coffee:coffee-script", 33 | "start": "coffee start.coffee" 34 | }, 35 | "engines": { 36 | "node": ">= 0.4.0" 37 | }, 38 | "licenses": [ 39 | { 40 | "type": "MIT", 41 | "url": "http://github.com/wearefractal/smog/raw/master/LICENSE" 42 | } 43 | ], 44 | "subdomain": "smog" 45 | } 46 | -------------------------------------------------------------------------------- /public/css/ext/DroidSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yocontra/smog/7af0d1c6edd23348f5d503c653e2e73c322e2138/public/css/ext/DroidSans-Bold.ttf -------------------------------------------------------------------------------- /public/css/ext/DroidSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yocontra/smog/7af0d1c6edd23348f5d503c653e2e73c322e2138/public/css/ext/DroidSans.ttf -------------------------------------------------------------------------------- /public/css/ext/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yocontra/smog/7af0d1c6edd23348f5d503c653e2e73c322e2138/public/css/ext/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /public/css/ext/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yocontra/smog/7af0d1c6edd23348f5d503c653e2e73c322e2138/public/css/ext/glyphicons-halflings.png -------------------------------------------------------------------------------- /public/css/ext/jquery.noty.css: -------------------------------------------------------------------------------- 1 | 2 | /* CORE STYLES */ 3 | 4 | /* noty bar */ 5 | .noty_bar { 6 | position: fixed; 7 | display: none; 8 | z-index: 9999999; 9 | } 10 | 11 | /* noty_message */ 12 | .noty_bar .noty_message { 13 | text-align: center; 14 | } 15 | 16 | /* noty close button */ 17 | .noty_bar .noty_close { 18 | cursor: pointer; 19 | } 20 | 21 | /* noty modal */ 22 | .noty_modal { 23 | position: fixed; 24 | width: 100%; 25 | height: 100%; 26 | background-color: #000; 27 | z-index: 10000; 28 | opacity: 0.6; 29 | display: none; 30 | left: 0; 31 | top: 0; 32 | } 33 | 34 | /* noty container for noty_layout_topLeft & noty_layout_topRight */ 35 | ul.noty_cont { 36 | position: fixed; 37 | z-index: 10000000; 38 | margin: 0px; 39 | padding: 0px; 40 | list-style: none; 41 | width: 300px; 42 | } 43 | ul.noty_cont li { 44 | position: relative; 45 | float: left; 46 | clear: both; 47 | list-style: none; 48 | padding: 0px; 49 | margin: 10px 0 0 0; 50 | width: 300px; /* Fix for: http://bugs.jquery.com/ticket/2278 */ 51 | } 52 | ul.noty_cont.noty_layout_topLeft {left:20px; top:20px;} 53 | ul.noty_cont.noty_layout_topRight {right:40px; top:20px;} 54 | ul.noty_cont.noty_layout_bottomLeft {left:20px; bottom:20px} 55 | ul.noty_cont.noty_layout_bottomRight {right:40px; bottom:20px} 56 | ul.noty_cont.noty_layout_topRight li {float:right} 57 | 58 | /* LAYOUTS */ 59 | 60 | /* noty_layout_top */ 61 | .noty_bar.noty_layout_top { 62 | top: 0; 63 | left: 0; 64 | width: 100%; 65 | -webkit-border-radius: 0px; 66 | -moz-border-radius: 0px; 67 | border-radius: 0px; 68 | } 69 | 70 | /* noty_layout_bottom */ 71 | .noty_bar.noty_layout_bottom { 72 | bottom: 0; 73 | left: 0; 74 | width: 100%; 75 | -webkit-border-radius: 0px; 76 | -moz-border-radius: 0px; 77 | border-radius: 0px; 78 | } 79 | 80 | /* noty_layout_center */ 81 | .noty_bar.noty_layout_center { 82 | top: 40%; 83 | } 84 | 85 | /* noty_layout_topLeft & noty_layout_topRight */ 86 | .noty_bar.noty_layout_topLeft, 87 | .noty_bar.noty_layout_topRight, 88 | .noty_bar.noty_layout_bottomLeft, 89 | .noty_bar.noty_layout_bottomRight { 90 | width: 100%; 91 | clear: both; 92 | position: relative; 93 | } 94 | 95 | .noty_bar.noty_layout_topLeft .noty_message, 96 | .noty_bar.noty_layout_topRight .noty_message, 97 | .noty_bar.noty_layout_bottomLeft .noty_message, 98 | .noty_bar.noty_layout_bottomRight .noty_message { 99 | text-align: left; 100 | } 101 | 102 | /* noty_layout_topCenter */ 103 | .noty_bar.noty_layout_topCenter { 104 | top: 20px; 105 | } -------------------------------------------------------------------------------- /public/css/ext/noty_theme_twitter.css: -------------------------------------------------------------------------------- 1 | 2 | /* CORE STYLES*/ 3 | 4 | /* noty bar */ 5 | .noty_bar.noty_theme_twitter { 6 | font-size: 13px; 7 | line-height: 18px; 8 | text-shadow: 0 1px 0 #fff; 9 | font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; 10 | } 11 | 12 | /* custom container */ 13 | .noty_custom_container.noty_theme_twitter.noty_layout_inline { 14 | position: relative; 15 | } 16 | 17 | /* custom growl container */ 18 | .noty_custom_container.noty_theme_twitter.noty_layout_inline .noty_cont.noty_layout_inline { 19 | position: static; 20 | } 21 | /* custom noty bar */ 22 | .noty_custom_container.noty_theme_twitter.noty_layout_inline .noty_bar { 23 | position: static; 24 | } 25 | .noty_custom_container.noty_theme_twitter.noty_layout_inline .noty_bar .noty_message { 26 | font-size: 13px; 27 | padding: 4px; 28 | } 29 | .noty_custom_container.noty_theme_twitter.noty_layout_inline .noty_bar .noty_message .noty_buttons { 30 | margin-top: -1px; 31 | } 32 | 33 | /* noty_message */ 34 | .noty_bar.noty_theme_twitter .noty_message { 35 | padding: 8px 14px; 36 | } 37 | /* noty_has_close_button */ 38 | .noty_bar.noty_theme_twitter.noty_closable .noty_message { 39 | padding: 8px 35px 8px 14px; 40 | } 41 | 42 | /* noty_buttons */ 43 | .noty_bar.noty_theme_twitter .noty_message .noty_buttons { 44 | float: right; 45 | margin-top: -5px; 46 | margin-left: 4px; 47 | } 48 | 49 | /* noty_button */ 50 | .noty_bar.noty_theme_twitter .noty_message .noty_buttons button { 51 | margin-left: 5px; 52 | } 53 | 54 | /* noty close button */ 55 | .noty_bar.noty_theme_twitter .noty_close { 56 | position: absolute; 57 | top: 7px; 58 | right: 16px; 59 | font-size: 18px; 60 | line-height: 18px; 61 | font-weight: bold; 62 | color: #000; 63 | opacity: 0.2; 64 | text-shadow: 0 1px 0 #fff; 65 | } 66 | 67 | /* noty close button hover */ 68 | .noty_bar.noty_theme_twitter .noty_close:hover { 69 | opacity: 0.4; 70 | } 71 | 72 | .noty_bar.noty_theme_twitter .noty_close:after { 73 | content: "x"; 74 | } 75 | 76 | /* noty modal */ 77 | .noty_modal.noty_theme_twitter { 78 | opacity: 0.7; 79 | } 80 | 81 | /* LAYOUTS */ 82 | 83 | /* noty_layout_topLeft & noty_layout_topRight */ 84 | .noty_bar.noty_theme_twitter.noty_layout_center, 85 | .noty_bar.noty_theme_twitter.noty_layout_topCenter, 86 | .noty_bar.noty_theme_twitter.noty_layout_topLeft, 87 | .noty_bar.noty_theme_twitter.noty_layout_topRight, 88 | .noty_bar.noty_theme_twitter.noty_layout_bottomLeft, 89 | .noty_bar.noty_theme_twitter.noty_layout_bottomRight { 90 | -webkit-border-radius: 4px; 91 | -moz-border-radius: 4px; 92 | border-radius: 4px; 93 | } 94 | .noty_bar.noty_theme_twitter.noty_layout_topLeft .noty_message .noty_buttons, 95 | .noty_bar.noty_theme_twitter.noty_layout_topRight .noty_message .noty_buttons, 96 | .noty_bar.noty_theme_twitter.noty_layout_bottomLeft .noty_message .noty_buttons, 97 | .noty_bar.noty_theme_twitter.noty_layout_bottomRight .noty_message .noty_buttons { 98 | float: none; 99 | border-top: 1px solid #FBEED5; 100 | margin-left: 0; 101 | margin-top: 10px; 102 | padding-top: 10px; 103 | text-align: right; 104 | } 105 | 106 | .noty_bar.noty_theme_twitter.noty_layout_center .noty_message .noty_buttons, 107 | .noty_bar.noty_theme_twitter.noty_layout_topCenter .noty_message .noty_buttons { 108 | margin-left: 15px; 109 | margin-top: -2px 110 | } 111 | 112 | /* NOTIFICATION TYPES */ 113 | 114 | /* noty_alert */ 115 | .noty_bar.noty_theme_twitter.noty_alert { 116 | background-color: #FCF8E3; 117 | border: 1px solid #FBEED5; 118 | color: #C09853; 119 | } 120 | /* noty_error */ 121 | .noty_bar.noty_theme_twitter.noty_error { 122 | background-color: #F2DEDE; 123 | border: 1px solid #EED3D7; 124 | color: #B94A48; 125 | } 126 | /* noty_success */ 127 | .noty_bar.noty_theme_twitter.noty_success { 128 | background-color: #DFF0D8; 129 | border: 1px solid #D6E9C6; 130 | color: #468847; 131 | } 132 | /* noty_information */ 133 | .noty_bar.noty_theme_twitter.noty_information { 134 | background-color: #D9EDF7; 135 | border: 1px solid #BCE8F1; 136 | color: #3A87AD; 137 | } -------------------------------------------------------------------------------- /public/css/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #0b2c46; 3 | background: url('../img/granite_bg.jpg'); 4 | padding-bottom: 10px; 5 | margin: 8px; 6 | } 7 | code { 8 | color: black; 9 | } 10 | 11 | .connect-container { 12 | background: #222; 13 | padding: 20px; 14 | margin-bottom: 10px; 15 | -webkit-border-radius: 5px; 16 | -moz-border-radius: 5px; 17 | border-radius: 5px; 18 | margin: 0 auto; 19 | float: none; 20 | } 21 | 22 | .small-modal { 23 | width: 330px; 24 | } 25 | .small-modal-box { 26 | width: 280px; 27 | } 28 | .big-modal { 29 | height: 700px; 30 | } 31 | 32 | /* 33 | .sidebar-nav { 34 | padding: 9px 0; 35 | } 36 | */ 37 | 38 | .edit-container { 39 | height: 500px; 40 | } 41 | 42 | .edit-editable { 43 | height: 490px; 44 | } 45 | 46 | .crop { 47 | overflow: hidden; 48 | white-space: nowrap; 49 | text-overflow: ellipsis; 50 | max-width: 500px; 51 | }​ -------------------------------------------------------------------------------- /public/img/granite_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yocontra/smog/7af0d1c6edd23348f5d503c653e2e73c322e2138/public/img/granite_bg.jpg -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Smog 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 39 | 40 | 41 |
42 |
43 | 44 |
45 |
46 |
47 | 48 | -------------------------------------------------------------------------------- /public/js/editor.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(['ace/ace'], function(ace) { 5 | return { 6 | create: function(el, _arg) { 7 | var editor, invisibles, mode, tabSize, theme, value, worker, wrap; 8 | theme = _arg.theme, mode = _arg.mode, worker = _arg.worker, wrap = _arg.wrap, tabSize = _arg.tabSize, value = _arg.value, invisibles = _arg.invisibles; 9 | editor = ace.edit(el); 10 | editor.getSession().setUseSoftTabs(true); 11 | editor.setShowPrintMargin(false); 12 | editor.renderer.setHScrollBarAlwaysVisible(false); 13 | editor.renderer.setPrintMarginColumn(false); 14 | editor.renderer.setShowPrintMargin(false); 15 | editor.renderer.setAnimatedScroll(true); 16 | if (theme == null) { 17 | theme = "twilight"; 18 | } 19 | if (worker == null) { 20 | worker = true; 21 | } 22 | if (tabSize == null) { 23 | tabSize = 2; 24 | } 25 | if (invisibles == null) { 26 | invisibles = false; 27 | } 28 | editor.setTheme("ace/theme/" + theme); 29 | editor.getSession().setUseWorker(worker); 30 | editor.getSession().setMode("ace/mode/" + mode); 31 | editor.getSession().setValue(value); 32 | if (wrap != null) { 33 | editor.getSession().setUseWrapMode(true); 34 | editor.getSession().setWrapLimitRange(wrap); 35 | } 36 | editor.renderer.setShowInvisibles(invisibles); 37 | editor.getText = function() { 38 | return editor.getSession().getValue(); 39 | }; 40 | return editor; 41 | } 42 | }; 43 | }); 44 | 45 | }).call(this); 46 | -------------------------------------------------------------------------------- /public/js/ext/ace/mode-text.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yocontra/smog/7af0d1c6edd23348f5d503c653e2e73c322e2138/public/js/ext/ace/mode-text.js -------------------------------------------------------------------------------- /public/js/ext/ace/theme-chrome.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(a,b,c){b.cssClass="ace-chrome",b.cssText=".ace-chrome .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-chrome .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-chrome .ace_gutter { background: #e8e8e8; color: #333; overflow : hidden;}.ace-chrome .ace_gutter-layer { width: 100%; text-align: right;}.ace-chrome .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-chrome .ace_text-layer { cursor: text;}.ace-chrome .ace_cursor { border-left: 2px solid black;}.ace-chrome .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid black;}.ace-chrome .ace_line .ace_invisible { color: rgb(191, 191, 191);}.ace-chrome .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246);}.ace-chrome .ace_line .ace_constant.ace_language { color: rgb(88, 92, 246);}.ace-chrome .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14);}.ace-chrome .ace_line .ace_invalid { background-color: rgb(153, 0, 0); color: white;}.ace-chrome .ace_line .ace_fold {}.ace-chrome .ace_line .ace_support.ace_function { color: rgb(60, 76, 114);}.ace-chrome .ace_line .ace_support.ace_constant { color: rgb(6, 150, 14);}.ace-chrome .ace_line .ace_support.ace_type,.ace-chrome .ace_line .ace_support.ace_class { color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter { font-style:italic;color:#FD971F;}.ace-chrome .ace_line .ace_keyword.ace_operator { color: rgb(104, 118, 135);}.ace-chrome .ace_line .ace_comment { color: #236e24;}.ace-chrome .ace_line .ace_comment.ace_doc { color: #236e24;}.ace-chrome .ace_line .ace_comment.ace_doc.ace_tag { color: #236e24;}.ace-chrome .ace_line .ace_constant.ace_numeric { color: rgb(0, 0, 205);}.ace-chrome .ace_line .ace_variable { color: rgb(49, 132, 149);}.ace-chrome .ace_line .ace_xml_pe { color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function { color: #0000A2;}.ace-chrome .ace_markup.ace_markupine { text-decoration:underline;}.ace-chrome .ace_markup.ace_heading { color: rgb(12, 7, 255);}.ace-chrome .ace_markup.ace_list { color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection { background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step { background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack { background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active_line { background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_marker-layer .ace_selected_word { background: rgb(250, 250, 255); border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_line .ace_keyword,.ace-chrome .ace_meta.ace_tag { color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex { color: rgb(255, 0, 0)}.ace-chrome .ace_line .ace_string,.ace-chrome .ace_entity.ace_other.ace_attribute-name{ color: #994409;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-clouds.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/clouds",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-clouds",b.cssText=".ace-clouds .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-clouds .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-clouds .ace_gutter { background: #e8e8e8; color: #333;}.ace-clouds .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-clouds .ace_scroller { background-color: #FFFFFF;}.ace-clouds .ace_text-layer { cursor: text; color: #000000;}.ace-clouds .ace_cursor { border-left: 2px solid #000000;}.ace-clouds .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #000000;}.ace-clouds .ace_marker-layer .ace_selection { background: #BDD5FC;}.ace-clouds.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #FFFFFF; border-radius: 2px;}.ace-clouds .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-clouds .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #BFBFBF;}.ace-clouds .ace_marker-layer .ace_active_line { background: #FFFBD1;}.ace-clouds .ace_marker-layer .ace_selected_word { border: 1px solid #BDD5FC;}.ace-clouds .ace_invisible { color: #BFBFBF;}.ace-clouds .ace_keyword, .ace-clouds .ace_meta { color:#AF956F;}.ace-clouds .ace_keyword.ace_operator { color:#484848;}.ace-clouds .ace_constant.ace_language { color:#39946A;}.ace-clouds .ace_constant.ace_numeric { color:#46A609;}.ace-clouds .ace_invalid { background-color:#FF002A;}.ace-clouds .ace_fold { background-color: #AF956F; border-color: #000000;}.ace-clouds .ace_support.ace_function { color:#C52727;}.ace-clouds .ace_storage { color:#C52727;}.ace-clouds .ace_string { color:#5D90CD;}.ace-clouds .ace_comment { color:#BCC8BA;}.ace-clouds .ace_entity.ace_other.ace_attribute-name { color:#606060;}.ace-clouds .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-clouds_midnight.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/clouds_midnight",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-clouds-midnight",b.cssText=".ace-clouds-midnight .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-clouds-midnight .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-clouds-midnight .ace_gutter { background: #e8e8e8; color: #333;}.ace-clouds-midnight .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-clouds-midnight .ace_scroller { background-color: #191919;}.ace-clouds-midnight .ace_text-layer { cursor: text; color: #929292;}.ace-clouds-midnight .ace_cursor { border-left: 2px solid #7DA5DC;}.ace-clouds-midnight .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #7DA5DC;}.ace-clouds-midnight .ace_marker-layer .ace_selection { background: #000000;}.ace-clouds-midnight.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #191919; border-radius: 2px;}.ace-clouds-midnight .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-clouds-midnight .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #BFBFBF;}.ace-clouds-midnight .ace_marker-layer .ace_active_line { background: rgba(215, 215, 215, 0.031);}.ace-clouds-midnight .ace_marker-layer .ace_selected_word { border: 1px solid #000000;}.ace-clouds-midnight .ace_invisible { color: #BFBFBF;}.ace-clouds-midnight .ace_keyword, .ace-clouds-midnight .ace_meta { color:#927C5D;}.ace-clouds-midnight .ace_keyword.ace_operator { color:#4B4B4B;}.ace-clouds-midnight .ace_constant.ace_language { color:#39946A;}.ace-clouds-midnight .ace_constant.ace_numeric { color:#46A609;}.ace-clouds-midnight .ace_invalid { color:#FFFFFF;background-color:#E92E2E;}.ace-clouds-midnight .ace_fold { background-color: #927C5D; border-color: #929292;}.ace-clouds-midnight .ace_support.ace_function { color:#E92E2E;}.ace-clouds-midnight .ace_storage { color:#E92E2E;}.ace-clouds-midnight .ace_string { color:#5D90CD;}.ace-clouds-midnight .ace_comment { color:#3C403B;}.ace-clouds-midnight .ace_entity.ace_other.ace_attribute-name { color:#606060;}.ace-clouds-midnight .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-cobalt.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/cobalt",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-cobalt",b.cssText=".ace-cobalt .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-cobalt .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-cobalt .ace_gutter { background: #e8e8e8; color: #333;}.ace-cobalt .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-cobalt .ace_scroller { background-color: #002240;}.ace-cobalt .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-cobalt .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-cobalt .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;}.ace-cobalt .ace_marker-layer .ace_selection { background: rgba(179, 101, 57, 0.75);}.ace-cobalt.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #002240; border-radius: 2px;}.ace-cobalt .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-cobalt .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(255, 255, 255, 0.15);}.ace-cobalt .ace_marker-layer .ace_active_line { background: rgba(0, 0, 0, 0.35);}.ace-cobalt .ace_marker-layer .ace_selected_word { border: 1px solid rgba(179, 101, 57, 0.75);}.ace-cobalt .ace_invisible { color: rgba(255, 255, 255, 0.15);}.ace-cobalt .ace_keyword, .ace-cobalt .ace_meta { color:#FF9D00;}.ace-cobalt .ace_constant, .ace-cobalt .ace_constant.ace_other { color:#FF628C;}.ace-cobalt .ace_constant.ace_character, { color:#FF628C;}.ace-cobalt .ace_constant.ace_character.ace_escape, { color:#FF628C;}.ace-cobalt .ace_invalid { color:#F8F8F8;background-color:#800F00;}.ace-cobalt .ace_support { color:#80FFBB;}.ace-cobalt .ace_support.ace_constant { color:#EB939A;}.ace-cobalt .ace_fold { background-color: #FF9D00; border-color: #FFFFFF;}.ace-cobalt .ace_support.ace_function { color:#FFB054;}.ace-cobalt .ace_storage { color:#FFEE80;}.ace-cobalt .ace_string.ace_regexp { color:#80FFC2;}.ace-cobalt .ace_comment { font-style:italic;color:#0088FF;}.ace-cobalt .ace_variable { color:#CCCCCC;}.ace-cobalt .ace_variable.ace_language { color:#FF80E1;}.ace-cobalt .ace_meta.ace_tag { color:#9EFFFF;}.ace-cobalt .ace_markup.ace_underline { text-decoration:underline;}.ace-cobalt .ace_markup.ace_heading { color:#C8E4FD;background-color:#001221;}.ace-cobalt .ace_markup.ace_list { background-color:#130D26;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-crimson_editor.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/crimson_editor",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssText=".ace-crimson-editor .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-crimson-editor .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-crimson-editor .ace_gutter { width: 50px; background: #e8e8e8; color: #333; overflow : hidden;}.ace-crimson-editor .ace_gutter-layer { width: 100%; text-align: right;}.ace-crimson-editor .ace_gutter-layer .ace_gutter-cell { padding-right: 6px;}.ace-crimson-editor .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-crimson-editor .ace_text-layer { cursor: text; color: rgb(64, 64, 64);}.ace-crimson-editor .ace_cursor { border-left: 2px solid black;}.ace-crimson-editor .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid black;}.ace-crimson-editor .ace_line .ace_invisible { color: rgb(191, 191, 191);}.ace-crimson-editor .ace_line .ace_identifier { color: black;}.ace-crimson-editor .ace_line .ace_keyword { color: blue;}.ace-crimson-editor .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246);}.ace-crimson-editor .ace_line .ace_constant.ace_language { color: rgb(255, 156, 0);}.ace-crimson-editor .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14);}.ace-crimson-editor .ace_line .ace_invalid { text-decoration: line-through; color: rgb(224, 0, 0);}.ace-crimson-editor .ace_line .ace_fold {}.ace-crimson-editor .ace_line .ace_support.ace_function { color: rgb(192, 0, 0);}.ace-crimson-editor .ace_line .ace_support.ace_constant { color: rgb(6, 150, 14);}.ace-crimson-editor .ace_line .ace_support.ace_type,.ace-crimson-editor .ace_line .ace_support.ace_class { color: rgb(109, 121, 222);}.ace-crimson-editor .ace_line .ace_keyword.ace_operator { color: rgb(49, 132, 149);}.ace-crimson-editor .ace_line .ace_string { color: rgb(128, 0, 128);}.ace-crimson-editor .ace_line .ace_comment { color: rgb(76, 136, 107);}.ace-crimson-editor .ace_line .ace_comment.ace_doc { color: rgb(0, 102, 255);}.ace-crimson-editor .ace_line .ace_comment.ace_doc.ace_tag { color: rgb(128, 159, 191);}.ace-crimson-editor .ace_line .ace_constant.ace_numeric { color: rgb(0, 0, 64);}.ace-crimson-editor .ace_line .ace_variable { color: rgb(0, 64, 128);}.ace-crimson-editor .ace_line .ace_xml_pe { color: rgb(104, 104, 91);}.ace-crimson-editor .ace_marker-layer .ace_selection { background: rgb(181, 213, 255);}.ace-crimson-editor .ace_marker-layer .ace_step { background: rgb(252, 255, 0);}.ace-crimson-editor .ace_marker-layer .ace_stack { background: rgb(164, 229, 101);}.ace-crimson-editor .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgb(192, 192, 192);}.ace-crimson-editor .ace_marker-layer .ace_active_line { background: rgb(232, 242, 254);}.ace-crimson-editor .ace_meta.ace_tag { color:rgb(28, 2, 255);}.ace-crimson-editor .ace_marker-layer .ace_selected_word { background: rgb(250, 250, 255); border: 1px solid rgb(200, 200, 250);}.ace-crimson-editor .ace_string.ace_regex { color: rgb(192, 0, 192);}",b.cssClass="ace-crimson-editor";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-dawn.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/dawn",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-dawn",b.cssText=".ace-dawn .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-dawn .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-dawn .ace_gutter { background: #e8e8e8; color: #333;}.ace-dawn .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-dawn .ace_scroller { background-color: #F9F9F9;}.ace-dawn .ace_text-layer { cursor: text; color: #080808;}.ace-dawn .ace_cursor { border-left: 2px solid #000000;}.ace-dawn .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #000000;}.ace-dawn .ace_marker-layer .ace_selection { background: rgba(39, 95, 255, 0.30);}.ace-dawn.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #F9F9F9; border-radius: 2px;}.ace-dawn .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-dawn .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(75, 75, 126, 0.50);}.ace-dawn .ace_marker-layer .ace_active_line { background: rgba(36, 99, 180, 0.12);}.ace-dawn .ace_marker-layer .ace_selected_word { border: 1px solid rgba(39, 95, 255, 0.30);}.ace-dawn .ace_invisible { color: rgba(75, 75, 126, 0.50);}.ace-dawn .ace_keyword, .ace-dawn .ace_meta { color:#794938;}.ace-dawn .ace_constant, .ace-dawn .ace_constant.ace_other { color:#811F24;}.ace-dawn .ace_constant.ace_character, { color:#811F24;}.ace-dawn .ace_constant.ace_character.ace_escape, { color:#811F24;}.ace-dawn .ace_invalid.ace_illegal { text-decoration:underline;font-style:italic;color:#F8F8F8;background-color:#B52A1D;}.ace-dawn .ace_invalid.ace_deprecated { text-decoration:underline;font-style:italic;color:#B52A1D;}.ace-dawn .ace_support { color:#691C97;}.ace-dawn .ace_support.ace_constant { color:#B4371F;}.ace-dawn .ace_fold { background-color: #794938; border-color: #080808;}.ace-dawn .ace_support.ace_function { color:#693A17;}.ace-dawn .ace_storage { font-style:italic;color:#A71D5D;}.ace-dawn .ace_string { color:#0B6125;}.ace-dawn .ace_string.ace_regexp { color:#CF5628;}.ace-dawn .ace_comment { font-style:italic;color:#5A525F;}.ace-dawn .ace_variable { color:#234A97;}.ace-dawn .ace_markup.ace_underline { text-decoration:underline;}.ace-dawn .ace_markup.ace_heading { color:#19356D;}.ace-dawn .ace_markup.ace_list { color:#693A17;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-dreamweaver.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/dreamweaver",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-dreamweaver",b.cssText=".ace-dreamweaver .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-dreamweaver .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-dreamweaver .ace_gutter { background: #e8e8e8; color: #333;}.ace-dreamweaver .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-dreamweaver .ace_fold { background-color: #00F;}.ace-dreamweaver .ace_text-layer { cursor: text;}.ace-dreamweaver .ace_cursor { border-left: 2px solid black;}.ace-dreamweaver .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid black;} .ace-dreamweaver .ace_line .ace_invisible { color: rgb(191, 191, 191);}.ace-dreamweaver .ace_line .ace_storage,.ace-dreamweaver .ace_line .ace_keyword { color: blue;}.ace-dreamweaver .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246);}.ace-dreamweaver .ace_line .ace_constant.ace_language { color: rgb(88, 92, 246);}.ace-dreamweaver .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14);}.ace-dreamweaver .ace_line .ace_invalid { background-color: rgb(153, 0, 0); color: white;}.ace-dreamweaver .ace_line .ace_support.ace_function { color: rgb(60, 76, 114);}.ace-dreamweaver .ace_line .ace_support.ace_constant { color: rgb(6, 150, 14);}.ace-dreamweaver .ace_line .ace_support.ace_type,.ace-dreamweaver .ace_line .ace_support.ace_class { color: #009;}.ace-dreamweaver .ace_line .ace_support.ace_php_tag { color: #f00;}.ace-dreamweaver .ace_line .ace_keyword.ace_operator { color: rgb(104, 118, 135);}.ace-dreamweaver .ace_line .ace_string { color: #00F;}.ace-dreamweaver .ace_line .ace_comment { color: rgb(76, 136, 107);}.ace-dreamweaver .ace_line .ace_comment.ace_doc { color: rgb(0, 102, 255);}.ace-dreamweaver .ace_line .ace_comment.ace_doc.ace_tag { color: rgb(128, 159, 191);}.ace-dreamweaver .ace_line .ace_constant.ace_numeric { color: rgb(0, 0, 205);}.ace-dreamweaver .ace_line .ace_variable { color: #06F}.ace-dreamweaver .ace_line .ace_xml_pe { color: rgb(104, 104, 91);}.ace-dreamweaver .ace_entity.ace_name.ace_function { color: #00F;}.ace-dreamweaver .ace_markup.ace_markupine { text-decoration:underline;}.ace-dreamweaver .ace_markup.ace_heading { color: rgb(12, 7, 255);}.ace-dreamweaver .ace_markup.ace_list { color:rgb(185, 6, 144);}.ace-dreamweaver .ace_marker-layer .ace_selection { background: rgb(181, 213, 255);}.ace-dreamweaver .ace_marker-layer .ace_step { background: rgb(252, 255, 0);}.ace-dreamweaver .ace_marker-layer .ace_stack { background: rgb(164, 229, 101);}.ace-dreamweaver .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgb(192, 192, 192);}.ace-dreamweaver .ace_marker-layer .ace_active_line { background: rgba(0, 0, 0, 0.07);}.ace-dreamweaver .ace_marker-layer .ace_selected_word { background: rgb(250, 250, 255); border: 1px solid rgb(200, 200, 250);}.ace-dreamweaver .ace_meta.ace_tag { color:#009;}.ace-dreamweaver .ace_meta.ace_tag.ace_anchor { color:#060;}.ace-dreamweaver .ace_meta.ace_tag.ace_form { color:#F90;}.ace-dreamweaver .ace_meta.ace_tag.ace_image { color:#909;}.ace-dreamweaver .ace_meta.ace_tag.ace_script { color:#900;}.ace-dreamweaver .ace_meta.ace_tag.ace_style { color:#909;}.ace-dreamweaver .ace_meta.ace_tag.ace_table { color:#099;}.ace-dreamweaver .ace_string.ace_regex { color: rgb(255, 0, 0)}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-eclipse.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/eclipse",["require","exports","module","ace/lib/dom"],function(a,b,c){"use strict",b.isDark=!1,b.cssText=".ace-eclipse .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-eclipse .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-eclipse .ace_gutter { background: rgb(227, 227, 227); border-right: 1px solid rgb(159, 159, 159); color: rgb(136, 136, 136);}.ace-eclipse .ace_print_margin { width: 1px; background: #b1b4ba;}.ace-eclipse .ace_fold { background-color: rgb(60, 76, 114);}.ace-eclipse .ace_text-layer { cursor: text;}.ace-eclipse .ace_cursor { border-left: 2px solid black;}.ace-eclipse .ace_line .ace_storage,.ace-eclipse .ace_line .ace_keyword,.ace-eclipse .ace_line .ace_variable { color: rgb(127, 0, 85);}.ace-eclipse .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246);}.ace-eclipse .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14);}.ace-eclipse .ace_line .ace_function { color: rgb(60, 76, 114);}.ace-eclipse .ace_line .ace_string { color: rgb(42, 0, 255);}.ace-eclipse .ace_line .ace_comment { color: rgb(63, 127, 95);}.ace-eclipse .ace_line .ace_comment.ace_doc { color: rgb(63, 95, 191);}.ace-eclipse .ace_line .ace_comment.ace_doc.ace_tag { color: rgb(127, 159, 191);}.ace-eclipse .ace_line .ace_constant.ace_numeric {}.ace-eclipse .ace_line .ace_tag { color: rgb(63, 127, 127);}.ace-eclipse .ace_line .ace_type { color: rgb(127, 0, 127);}.ace-eclipse .ace_line .ace_xml_pe { color: rgb(104, 104, 91);}.ace-eclipse .ace_marker-layer .ace_selection { background: rgb(181, 213, 255);}.ace-eclipse .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgb(192, 192, 192);}.ace-eclipse .ace_line .ace_meta.ace_tag { color:rgb(63, 127, 127);}.ace-eclipse .ace_entity.ace_other.ace_attribute-name { color:rgb(127, 0, 127);}.ace-eclipse .ace_marker-layer .ace_active_line { background: rgb(232, 242, 254);}",b.cssClass="ace-eclipse";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-idle_fingers.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/idle_fingers",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-idle-fingers",b.cssText=".ace-idle-fingers .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-idle-fingers .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-idle-fingers .ace_gutter { background: #e8e8e8; color: #333;}.ace-idle-fingers .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-idle-fingers .ace_scroller { background-color: #323232;}.ace-idle-fingers .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-idle-fingers .ace_cursor { border-left: 2px solid #91FF00;}.ace-idle-fingers .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #91FF00;}.ace-idle-fingers .ace_marker-layer .ace_selection { background: rgba(90, 100, 126, 0.88);}.ace-idle-fingers.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #323232; border-radius: 2px;}.ace-idle-fingers .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-idle-fingers .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404040;}.ace-idle-fingers .ace_marker-layer .ace_active_line { background: #353637;}.ace-idle-fingers .ace_marker-layer .ace_selected_word { border: 1px solid rgba(90, 100, 126, 0.88);}.ace-idle-fingers .ace_invisible { color: #404040;}.ace-idle-fingers .ace_keyword, .ace-idle-fingers .ace_meta { color:#CC7833;}.ace-idle-fingers .ace_constant, .ace-idle-fingers .ace_constant.ace_other { color:#6C99BB;}.ace-idle-fingers .ace_constant.ace_character, { color:#6C99BB;}.ace-idle-fingers .ace_constant.ace_character.ace_escape, { color:#6C99BB;}.ace-idle-fingers .ace_invalid { color:#FFFFFF;background-color:#FF0000;}.ace-idle-fingers .ace_support.ace_constant { color:#6C99BB;}.ace-idle-fingers .ace_fold { background-color: #CC7833; border-color: #FFFFFF;}.ace-idle-fingers .ace_support.ace_function { color:#B83426;}.ace-idle-fingers .ace_variable.ace_parameter { font-style:italic;}.ace-idle-fingers .ace_string { color:#A5C261;}.ace-idle-fingers .ace_string.ace_regexp { color:#CCCC33;}.ace-idle-fingers .ace_comment { font-style:italic;color:#BC9458;}.ace-idle-fingers .ace_meta.ace_tag { color:#FFE5BB;}.ace-idle-fingers .ace_entity.ace_name { color:#FFC66D;}.ace-idle-fingers .ace_markup.ace_underline { text-decoration:underline;}.ace-idle-fingers .ace_collab.ace_user1 { color:#323232;background-color:#FFF980;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-kr_theme.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/kr_theme",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-kr-theme",b.cssText=".ace-kr-theme .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-kr-theme .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-kr-theme .ace_gutter { background: #e8e8e8; color: #333;}.ace-kr-theme .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-kr-theme .ace_scroller { background-color: #0B0A09;}.ace-kr-theme .ace_text-layer { cursor: text; color: #FCFFE0;}.ace-kr-theme .ace_cursor { border-left: 2px solid #FF9900;}.ace-kr-theme .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FF9900;}.ace-kr-theme .ace_marker-layer .ace_selection { background: rgba(170, 0, 255, 0.45);}.ace-kr-theme.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #0B0A09; border-radius: 2px;}.ace-kr-theme .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-kr-theme .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(255, 177, 111, 0.32);}.ace-kr-theme .ace_marker-layer .ace_active_line { background: #38403D;}.ace-kr-theme .ace_marker-layer .ace_selected_word { border: 1px solid rgba(170, 0, 255, 0.45);}.ace-kr-theme .ace_invisible { color: rgba(255, 177, 111, 0.32);}.ace-kr-theme .ace_keyword, .ace-kr-theme .ace_meta { color:#949C8B;}.ace-kr-theme .ace_constant, .ace-kr-theme .ace_constant.ace_other { color:rgba(210, 117, 24, 0.76);}.ace-kr-theme .ace_constant.ace_character, { color:rgba(210, 117, 24, 0.76);}.ace-kr-theme .ace_constant.ace_character.ace_escape, { color:rgba(210, 117, 24, 0.76);}.ace-kr-theme .ace_invalid { color:#F8F8F8;background-color:#A41300;}.ace-kr-theme .ace_support { color:#9FC28A;}.ace-kr-theme .ace_support.ace_constant { color:#C27E66;}.ace-kr-theme .ace_fold { background-color: #949C8B; border-color: #FCFFE0;}.ace-kr-theme .ace_support.ace_function { color:#85873A;}.ace-kr-theme .ace_storage { color:#FFEE80;}.ace-kr-theme .ace_string.ace_regexp { color:rgba(125, 255, 192, 0.65);}.ace-kr-theme .ace_comment { font-style:italic;color:#706D5B;}.ace-kr-theme .ace_variable { color:#D1A796;}.ace-kr-theme .ace_variable.ace_language { color:#FF80E1;}.ace-kr-theme .ace_meta.ace_tag { color:#BABD9C;}.ace-kr-theme .ace_markup.ace_underline { text-decoration:underline;}.ace-kr-theme .ace_markup.ace_list { background-color:#0F0040;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-merbivore.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/merbivore",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-merbivore",b.cssText=".ace-merbivore .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-merbivore .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-merbivore .ace_gutter { background: #e8e8e8; color: #333;}.ace-merbivore .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-merbivore .ace_scroller { background-color: #161616;}.ace-merbivore .ace_text-layer { cursor: text; color: #E6E1DC;}.ace-merbivore .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-merbivore .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;}.ace-merbivore .ace_marker-layer .ace_selection { background: #454545;}.ace-merbivore.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #161616; border-radius: 2px;}.ace-merbivore .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-merbivore .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404040;}.ace-merbivore .ace_marker-layer .ace_active_line { background: #333435;}.ace-merbivore .ace_marker-layer .ace_selected_word { border: 1px solid #454545;}.ace-merbivore .ace_invisible { color: #404040;}.ace-merbivore .ace_keyword, .ace-merbivore .ace_meta { color:#FC6F09;}.ace-merbivore .ace_constant, .ace-merbivore .ace_constant.ace_other { color:#1EDAFB;}.ace-merbivore .ace_constant.ace_character, { color:#1EDAFB;}.ace-merbivore .ace_constant.ace_character.ace_escape, { color:#1EDAFB;}.ace-merbivore .ace_constant.ace_language { color:#FDC251;}.ace-merbivore .ace_constant.ace_library { color:#8DFF0A;}.ace-merbivore .ace_constant.ace_numeric { color:#58C554;}.ace-merbivore .ace_invalid { color:#FFFFFF;background-color:#990000;}.ace-merbivore .ace_support.ace_constant { color:#8DFF0A;}.ace-merbivore .ace_fold { background-color: #FC6F09; border-color: #E6E1DC;}.ace-merbivore .ace_support.ace_function { color:#FC6F09;}.ace-merbivore .ace_storage { color:#FC6F09;}.ace-merbivore .ace_string { color:#8DFF0A;}.ace-merbivore .ace_comment { font-style:italic;color:#AD2EA4;}.ace-merbivore .ace_meta.ace_tag { color:#FC6F09;}.ace-merbivore .ace_entity.ace_other.ace_attribute-name { color:#FFFF89;}.ace-merbivore .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-merbivore_soft.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/merbivore_soft",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-merbivore-soft",b.cssText=".ace-merbivore-soft .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-merbivore-soft .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-merbivore-soft .ace_gutter { background: #e8e8e8; color: #333;}.ace-merbivore-soft .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-merbivore-soft .ace_scroller { background-color: #1C1C1C;}.ace-merbivore-soft .ace_text-layer { cursor: text; color: #E6E1DC;}.ace-merbivore-soft .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-merbivore-soft .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;}.ace-merbivore-soft .ace_marker-layer .ace_selection { background: #494949;}.ace-merbivore-soft.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #1C1C1C; border-radius: 2px;}.ace-merbivore-soft .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-merbivore-soft .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404040;}.ace-merbivore-soft .ace_marker-layer .ace_active_line { background: #333435;}.ace-merbivore-soft .ace_marker-layer .ace_selected_word { border: 1px solid #494949;}.ace-merbivore-soft .ace_invisible { color: #404040;}.ace-merbivore-soft .ace_keyword, .ace-merbivore-soft .ace_meta { color:#FC803A;}.ace-merbivore-soft .ace_constant, .ace-merbivore-soft .ace_constant.ace_other { color:#68C1D8;}.ace-merbivore-soft .ace_constant.ace_character, { color:#68C1D8;}.ace-merbivore-soft .ace_constant.ace_character.ace_escape, { color:#68C1D8;}.ace-merbivore-soft .ace_constant.ace_language { color:#E1C582;}.ace-merbivore-soft .ace_constant.ace_library { color:#8EC65F;}.ace-merbivore-soft .ace_constant.ace_numeric { color:#7FC578;}.ace-merbivore-soft .ace_invalid { color:#FFFFFF;background-color:#FE3838;}.ace-merbivore-soft .ace_invalid.ace_deprecated { color:#FFFFFF;background-color:#FE3838;}.ace-merbivore-soft .ace_support.ace_constant { color:#8EC65F;}.ace-merbivore-soft .ace_fold { background-color: #FC803A; border-color: #E6E1DC;}.ace-merbivore-soft .ace_storage { color:#FC803A;}.ace-merbivore-soft .ace_string { color:#8EC65F;}.ace-merbivore-soft .ace_comment { font-style:italic;color:#AC4BB8;}.ace-merbivore-soft .ace_meta { font-style:italic;color:#AC4BB8;}.ace-merbivore-soft .ace_meta.ace_tag { color:#FC803A;}.ace-merbivore-soft .ace_entity.ace_other.ace_attribute-name { color:#EAF1A3;}.ace-merbivore-soft .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-mono_industrial.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/mono_industrial",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-mono-industrial",b.cssText=".ace-mono-industrial .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-mono-industrial .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-mono-industrial .ace_gutter { background: #e8e8e8; color: #333;}.ace-mono-industrial .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-mono-industrial .ace_scroller { background-color: #222C28;}.ace-mono-industrial .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-mono-industrial .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-mono-industrial .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;}.ace-mono-industrial .ace_marker-layer .ace_selection { background: rgba(145, 153, 148, 0.40);}.ace-mono-industrial.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #222C28; border-radius: 2px;}.ace-mono-industrial .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-mono-industrial .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(102, 108, 104, 0.50);}.ace-mono-industrial .ace_marker-layer .ace_active_line { background: rgba(12, 13, 12, 0.25);}.ace-mono-industrial .ace_marker-layer .ace_selected_word { border: 1px solid rgba(145, 153, 148, 0.40);}.ace-mono-industrial .ace_invisible { color: rgba(102, 108, 104, 0.50);}.ace-mono-industrial .ace_keyword, .ace-mono-industrial .ace_meta { color:#A39E64;}.ace-mono-industrial .ace_keyword.ace_operator { color:#A8B3AB;}.ace-mono-industrial .ace_constant, .ace-mono-industrial .ace_constant.ace_other { color:#E98800;}.ace-mono-industrial .ace_constant.ace_character, { color:#E98800;}.ace-mono-industrial .ace_constant.ace_character.ace_escape, { color:#E98800;}.ace-mono-industrial .ace_constant.ace_numeric { color:#E98800;}.ace-mono-industrial .ace_invalid { color:#FFFFFF;background-color:rgba(153, 0, 0, 0.68);}.ace-mono-industrial .ace_support.ace_constant { color:#C87500;}.ace-mono-industrial .ace_fold { background-color: #A8B3AB; border-color: #FFFFFF;}.ace-mono-industrial .ace_support.ace_function { color:#588E60;}.ace-mono-industrial .ace_storage { color:#C23B00;}.ace-mono-industrial .ace_variable { color:#A8B3AB;}.ace-mono-industrial .ace_variable.ace_parameter { color:#648BD2;}.ace-mono-industrial .ace_comment { color:#666C68;background-color:#151C19;}.ace-mono-industrial .ace_variable.ace_language { color:#648BD2;}.ace-mono-industrial .ace_entity.ace_other.ace_attribute-name { color:#909993;}.ace-mono-industrial .ace_entity.ace_name { color:#5778B6;}.ace-mono-industrial .ace_entity.ace_name.ace_function { color:#A8B3AB;}.ace-mono-industrial .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-monokai.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/monokai",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-monokai",b.cssText=".ace-monokai .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-monokai .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-monokai .ace_gutter { background: #e8e8e8; color: #333;}.ace-monokai .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-monokai .ace_scroller { background-color: #272822;}.ace-monokai .ace_text-layer { cursor: text; color: #F8F8F2;}.ace-monokai .ace_cursor { border-left: 2px solid #F8F8F0;}.ace-monokai .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #F8F8F0;}.ace-monokai .ace_marker-layer .ace_selection { background: #49483E;}.ace-monokai.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #272822; border-radius: 2px;}.ace-monokai .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-monokai .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #49483E;}.ace-monokai .ace_marker-layer .ace_active_line { background: #49483E;}.ace-monokai .ace_marker-layer .ace_selected_word { border: 1px solid #49483E;}.ace-monokai .ace_invisible { color: #49483E;}.ace-monokai .ace_keyword, .ace-monokai .ace_meta { color:#F92672;}.ace-monokai .ace_constant.ace_language { color:#AE81FF;}.ace-monokai .ace_constant.ace_numeric { color:#AE81FF;}.ace-monokai .ace_constant.ace_other { color:#AE81FF;}.ace-monokai .ace_invalid { color:#F8F8F0;background-color:#F92672;}.ace-monokai .ace_invalid.ace_deprecated { color:#F8F8F0;background-color:#AE81FF;}.ace-monokai .ace_support.ace_constant { color:#66D9EF;}.ace-monokai .ace_fold { background-color: #A6E22E; border-color: #F8F8F2;}.ace-monokai .ace_support.ace_function { color:#66D9EF;}.ace-monokai .ace_storage { color:#F92672;}.ace-monokai .ace_storage.ace_type, .ace-monokai .ace_support.ace_type{ font-style:italic;color:#66D9EF;}.ace-monokai .ace_variable { color:#A6E22E;}.ace-monokai .ace_variable.ace_parameter { font-style:italic;color:#FD971F;}.ace-monokai .ace_string { color:#E6DB74;}.ace-monokai .ace_comment { color:#75715E;}.ace-monokai .ace_entity.ace_other.ace_attribute-name { color:#A6E22E;}.ace-monokai .ace_entity.ace_name.ace_function { color:#A6E22E;}.ace-monokai .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-pastel_on_dark.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/pastel_on_dark",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-pastel-on-dark",b.cssText=".ace-pastel-on-dark .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-pastel-on-dark .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-pastel-on-dark .ace_gutter { background: #e8e8e8; color: #333;}.ace-pastel-on-dark .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-pastel-on-dark .ace_scroller { background-color: #2C2828;}.ace-pastel-on-dark .ace_text-layer { cursor: text; color: #8F938F;}.ace-pastel-on-dark .ace_cursor { border-left: 2px solid #A7A7A7;}.ace-pastel-on-dark .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #A7A7A7;}.ace-pastel-on-dark .ace_marker-layer .ace_selection { background: rgba(221, 240, 255, 0.20);}.ace-pastel-on-dark.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #2C2828; border-radius: 2px;}.ace-pastel-on-dark .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-pastel-on-dark .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(255, 255, 255, 0.25);}.ace-pastel-on-dark .ace_marker-layer .ace_active_line { background: rgba(255, 255, 255, 0.031);}.ace-pastel-on-dark .ace_marker-layer .ace_selected_word { border: 1px solid rgba(221, 240, 255, 0.20);}.ace-pastel-on-dark .ace_invisible { color: rgba(255, 255, 255, 0.25);}.ace-pastel-on-dark .ace_keyword, .ace-pastel-on-dark .ace_meta { color:#757aD8;}.ace-pastel-on-dark .ace_keyword.ace_operator { color:#797878;}.ace-pastel-on-dark .ace_constant, .ace-pastel-on-dark .ace_constant.ace_other { color:#4FB7C5;}.ace-pastel-on-dark .ace_constant.ace_character, { color:#4FB7C5;}.ace-pastel-on-dark .ace_constant.ace_character.ace_escape, { color:#4FB7C5;}.ace-pastel-on-dark .ace_constant.ace_language { color:#DE8E30;}.ace-pastel-on-dark .ace_constant.ace_numeric { color:#CCCCCC;}.ace-pastel-on-dark .ace_invalid { color:#F8F8F8;background-color:rgba(86, 45, 86, 0.75);}.ace-pastel-on-dark .ace_invalid.ace_illegal { color:#F8F8F8;background-color:rgba(86, 45, 86, 0.75);}.ace-pastel-on-dark .ace_invalid.ace_deprecated { text-decoration:underline;font-style:italic;color:#D2A8A1;}.ace-pastel-on-dark .ace_fold { background-color: #757aD8; border-color: #8F938F;}.ace-pastel-on-dark .ace_support.ace_function { color:#AEB2F8;}.ace-pastel-on-dark .ace_string { color:#66A968;}.ace-pastel-on-dark .ace_string.ace_regexp { color:#E9C062;}.ace-pastel-on-dark .ace_comment { color:#A6C6FF;}.ace-pastel-on-dark .ace_variable { color:#BEBF55;}.ace-pastel-on-dark .ace_variable.ace_language { color:#C1C144;}.ace-pastel-on-dark .ace_xml_pe { color:#494949;}.ace-pastel-on-dark .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-solarized_dark.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/solarized_dark",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-solarized-dark",b.cssText=".ace-solarized-dark .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-solarized-dark .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-solarized-dark .ace_gutter { background: #e8e8e8; color: #333;}.ace-solarized-dark .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-solarized-dark .ace_scroller { background-color: #002B36;}.ace-solarized-dark .ace_text-layer { cursor: text; color: #93A1A1;}.ace-solarized-dark .ace_cursor { border-left: 2px solid #D30102;}.ace-solarized-dark .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #D30102;}.ace-solarized-dark .ace_marker-layer .ace_selection { background: #073642;}.ace-solarized-dark.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #002B36; border-radius: 2px;}.ace-solarized-dark .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-solarized-dark .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(147, 161, 161, 0.50);}.ace-solarized-dark .ace_marker-layer .ace_active_line { background: #073642;}.ace-solarized-dark .ace_marker-layer .ace_selected_word { border: 1px solid #073642;}.ace-solarized-dark .ace_invisible { color: rgba(147, 161, 161, 0.50);}.ace-solarized-dark .ace_keyword, .ace-solarized-dark .ace_meta { color:#859900;}.ace-solarized-dark .ace_constant.ace_language { color:#B58900;}.ace-solarized-dark .ace_constant.ace_numeric { color:#D33682;}.ace-solarized-dark .ace_constant.ace_other { color:#CB4B16;}.ace-solarized-dark .ace_fold { background-color: #268BD2; border-color: #93A1A1;}.ace-solarized-dark .ace_support.ace_function { color:#268BD2;}.ace-solarized-dark .ace_storage { color:#93A1A1;}.ace-solarized-dark .ace_variable { color:#268BD2;}.ace-solarized-dark .ace_string { color:#2AA198;}.ace-solarized-dark .ace_string.ace_regexp { color:#D30102;}.ace-solarized-dark .ace_comment { font-style:italic;color:#657B83;}.ace-solarized-dark .ace_variable.ace_language { color:#268BD2;}.ace-solarized-dark .ace_entity.ace_other.ace_attribute-name { color:#93A1A1;}.ace-solarized-dark .ace_entity.ace_name.ace_function { color:#268BD2;}.ace-solarized-dark .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-solarized_light.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/solarized_light",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-solarized-light",b.cssText=".ace-solarized-light .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-solarized-light .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-solarized-light .ace_gutter { background: #e8e8e8; color: #333;}.ace-solarized-light .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-solarized-light .ace_scroller { background-color: #FDF6E3;}.ace-solarized-light .ace_text-layer { cursor: text; color: #586E75;}.ace-solarized-light .ace_cursor { border-left: 2px solid #000000;}.ace-solarized-light .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #000000;}.ace-solarized-light .ace_marker-layer .ace_selection { background: #073642;}.ace-solarized-light.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #FDF6E3; border-radius: 2px;}.ace-solarized-light .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-solarized-light .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(147, 161, 161, 0.50);}.ace-solarized-light .ace_marker-layer .ace_active_line { background: #EEE8D5;}.ace-solarized-light .ace_marker-layer .ace_selected_word { border: 1px solid #073642;}.ace-solarized-light .ace_invisible { color: rgba(147, 161, 161, 0.50);}.ace-solarized-light .ace_keyword, .ace-solarized-light .ace_meta { color:#859900;}.ace-solarized-light .ace_constant.ace_language { color:#B58900;}.ace-solarized-light .ace_constant.ace_numeric { color:#D33682;}.ace-solarized-light .ace_constant.ace_other { color:#CB4B16;}.ace-solarized-light .ace_fold { background-color: #268BD2; border-color: #586E75;}.ace-solarized-light .ace_support.ace_function { color:#268BD2;}.ace-solarized-light .ace_storage { color:#073642;}.ace-solarized-light .ace_variable { color:#268BD2;}.ace-solarized-light .ace_string { color:#2AA198;}.ace-solarized-light .ace_string.ace_regexp { color:#D30102;}.ace-solarized-light .ace_comment { color:#93A1A1;}.ace-solarized-light .ace_variable.ace_language { color:#268BD2;}.ace-solarized-light .ace_entity.ace_other.ace_attribute-name { color:#93A1A1;}.ace-solarized-light .ace_entity.ace_name.ace_function { color:#268BD2;}.ace-solarized-light .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-textmate.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yocontra/smog/7af0d1c6edd23348f5d503c653e2e73c322e2138/public/js/ext/ace/theme-textmate.js -------------------------------------------------------------------------------- /public/js/ext/ace/theme-tomorrow.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/tomorrow",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-tomorrow",b.cssText=".ace-tomorrow .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow .ace_scroller { background-color: #FFFFFF;}.ace-tomorrow .ace_text-layer { cursor: text; color: #4D4D4C;}.ace-tomorrow .ace_cursor { border-left: 2px solid #AEAFAD;}.ace-tomorrow .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #AEAFAD;}.ace-tomorrow .ace_marker-layer .ace_selection { background: #D6D6D6;}.ace-tomorrow.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #FFFFFF; border-radius: 2px;}.ace-tomorrow .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #D1D1D1;}.ace-tomorrow .ace_marker-layer .ace_active_line { background: #EFEFEF;}.ace-tomorrow .ace_marker-layer .ace_selected_word { border: 1px solid #D6D6D6;}.ace-tomorrow .ace_invisible { color: #D1D1D1;}.ace-tomorrow .ace_keyword, .ace-tomorrow .ace_meta { color:#8959A8;}.ace-tomorrow .ace_keyword.ace_operator { color:#3E999F;}.ace-tomorrow .ace_constant.ace_language { color:#F5871F;}.ace-tomorrow .ace_constant.ace_numeric { color:#F5871F;}.ace-tomorrow .ace_constant.ace_other { color:#666969;}.ace-tomorrow .ace_invalid { color:#FFFFFF;background-color:#C82829;}.ace-tomorrow .ace_invalid.ace_deprecated { color:#FFFFFF;background-color:#8959A8;}.ace-tomorrow .ace_support.ace_constant { color:#F5871F;}.ace-tomorrow .ace_fold { background-color: #4271AE; border-color: #4D4D4C;}.ace-tomorrow .ace_support.ace_function { color:#4271AE;}.ace-tomorrow .ace_storage { color:#8959A8;}.ace-tomorrow .ace_storage.ace_type, .ace-tomorrow .ace_support.ace_type{ color:#8959A8;}.ace-tomorrow .ace_variable { color:#4271AE;}.ace-tomorrow .ace_variable.ace_parameter { color:#F5871F;}.ace-tomorrow .ace_string { color:#718C00;}.ace-tomorrow .ace_string.ace_regexp { color:#C82829;}.ace-tomorrow .ace_comment { color:#8E908C;}.ace-tomorrow .ace_variable { color:#C82829;}.ace-tomorrow .ace_meta.ace_tag { color:#C82829;}.ace-tomorrow .ace_entity.ace_other.ace_attribute-name { color:#C82829;}.ace-tomorrow .ace_entity.ace_name.ace_function { color:#4271AE;}.ace-tomorrow .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow .ace_markup.ace_heading { color:#718C00;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-tomorrow_night.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/tomorrow_night",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-tomorrow-night",b.cssText=".ace-tomorrow-night .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow-night .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow-night .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow-night .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow-night .ace_scroller { background-color: #1D1F21;}.ace-tomorrow-night .ace_text-layer { cursor: text; color: #C5C8C6;}.ace-tomorrow-night .ace_cursor { border-left: 2px solid #AEAFAD;}.ace-tomorrow-night .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #AEAFAD;}.ace-tomorrow-night .ace_marker-layer .ace_selection { background: #373B41;}.ace-tomorrow-night.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #1D1F21; border-radius: 2px;}.ace-tomorrow-night .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow-night .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #4B4E55;}.ace-tomorrow-night .ace_marker-layer .ace_active_line { background: #282A2E;}.ace-tomorrow-night .ace_marker-layer .ace_selected_word { border: 1px solid #373B41;}.ace-tomorrow-night .ace_invisible { color: #4B4E55;}.ace-tomorrow-night .ace_keyword, .ace-tomorrow-night .ace_meta { color:#B294BB;}.ace-tomorrow-night .ace_keyword.ace_operator { color:#8ABEB7;}.ace-tomorrow-night .ace_constant.ace_language { color:#DE935F;}.ace-tomorrow-night .ace_constant.ace_numeric { color:#DE935F;}.ace-tomorrow-night .ace_constant.ace_other { color:#CED1CF;}.ace-tomorrow-night .ace_invalid { color:#CED2CF;background-color:#DF5F5F;}.ace-tomorrow-night .ace_invalid.ace_deprecated { color:#CED2CF;background-color:#B798BF;}.ace-tomorrow-night .ace_support.ace_constant { color:#DE935F;}.ace-tomorrow-night .ace_fold { background-color: #81A2BE; border-color: #C5C8C6;}.ace-tomorrow-night .ace_support.ace_function { color:#81A2BE;}.ace-tomorrow-night .ace_storage { color:#B294BB;}.ace-tomorrow-night .ace_storage.ace_type, .ace-tomorrow-night .ace_support.ace_type{ color:#B294BB;}.ace-tomorrow-night .ace_variable { color:#81A2BE;}.ace-tomorrow-night .ace_variable.ace_parameter { color:#DE935F;}.ace-tomorrow-night .ace_string { color:#B5BD68;}.ace-tomorrow-night .ace_string.ace_regexp { color:#CC6666;}.ace-tomorrow-night .ace_comment { color:#969896;}.ace-tomorrow-night .ace_variable { color:#CC6666;}.ace-tomorrow-night .ace_meta.ace_tag { color:#CC6666;}.ace-tomorrow-night .ace_entity.ace_other.ace_attribute-name { color:#CC6666;}.ace-tomorrow-night .ace_entity.ace_name.ace_function { color:#81A2BE;}.ace-tomorrow-night .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow-night .ace_markup.ace_heading { color:#B5BD68;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-tomorrow_night_blue.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/tomorrow_night_blue",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-tomorrow-night-blue",b.cssText=".ace-tomorrow-night-blue .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow-night-blue .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow-night-blue .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow-night-blue .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow-night-blue .ace_scroller { background-color: #002451;}.ace-tomorrow-night-blue .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-tomorrow-night-blue .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-tomorrow-night-blue .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;}.ace-tomorrow-night-blue .ace_marker-layer .ace_selection { background: #003F8E;}.ace-tomorrow-night-blue.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #002451; border-radius: 2px;}.ace-tomorrow-night-blue .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow-night-blue .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404F7D;}.ace-tomorrow-night-blue .ace_marker-layer .ace_active_line { background: #00346E;}.ace-tomorrow-night-blue .ace_marker-layer .ace_selected_word { border: 1px solid #003F8E;}.ace-tomorrow-night-blue .ace_invisible { color: #404F7D;}.ace-tomorrow-night-blue .ace_keyword, .ace-tomorrow-night-blue .ace_meta { color:#EBBBFF;}.ace-tomorrow-night-blue .ace_keyword.ace_operator { color:#99FFFF;}.ace-tomorrow-night-blue .ace_constant.ace_language { color:#FFC58F;}.ace-tomorrow-night-blue .ace_constant.ace_numeric { color:#FFC58F;}.ace-tomorrow-night-blue .ace_constant.ace_other { color:#FFFFFF;}.ace-tomorrow-night-blue .ace_invalid { color:#FFFFFF;background-color:#F99DA5;}.ace-tomorrow-night-blue .ace_invalid.ace_deprecated { color:#FFFFFF;background-color:#EBBBFF;}.ace-tomorrow-night-blue .ace_support.ace_constant { color:#FFC58F;}.ace-tomorrow-night-blue .ace_fold { background-color: #BBDAFF; border-color: #FFFFFF;}.ace-tomorrow-night-blue .ace_support.ace_function { color:#BBDAFF;}.ace-tomorrow-night-blue .ace_storage { color:#EBBBFF;}.ace-tomorrow-night-blue .ace_storage.ace_type, .ace-tomorrow-night-blue .ace_support.ace_type{ color:#EBBBFF;}.ace-tomorrow-night-blue .ace_variable { color:#BBDAFF;}.ace-tomorrow-night-blue .ace_variable.ace_parameter { color:#FFC58F;}.ace-tomorrow-night-blue .ace_string { color:#D1F1A9;}.ace-tomorrow-night-blue .ace_string.ace_regexp { color:#FF9DA4;}.ace-tomorrow-night-blue .ace_comment { color:#7285B7;}.ace-tomorrow-night-blue .ace_variable { color:#FF9DA4;}.ace-tomorrow-night-blue .ace_meta.ace_tag { color:#FF9DA4;}.ace-tomorrow-night-blue .ace_entity.ace_other.ace_attribute-name { color:#FF9DA4;}.ace-tomorrow-night-blue .ace_entity.ace_name.ace_function { color:#BBDAFF;}.ace-tomorrow-night-blue .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow-night-blue .ace_markup.ace_heading { color:#D1F1A9;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-tomorrow_night_bright.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/tomorrow_night_bright",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-tomorrow-night-bright",b.cssText=".ace-tomorrow-night-bright .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow-night-bright .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow-night-bright .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow-night-bright .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow-night-bright .ace_scroller { background-color: #000000;}.ace-tomorrow-night-bright .ace_text-layer { cursor: text; color: #DEDEDE;}.ace-tomorrow-night-bright .ace_cursor { border-left: 2px solid #9F9F9F;}.ace-tomorrow-night-bright .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #9F9F9F;}.ace-tomorrow-night-bright .ace_marker-layer .ace_selection { background: #424242;}.ace-tomorrow-night-bright.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #000000; border-radius: 2px;}.ace-tomorrow-night-bright .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow-night-bright .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #343434;}.ace-tomorrow-night-bright .ace_marker-layer .ace_active_line { background: #2A2A2A;}.ace-tomorrow-night-bright .ace_marker-layer .ace_selected_word { border: 1px solid #424242;}.ace-tomorrow-night-bright .ace_invisible { color: #343434;}.ace-tomorrow-night-bright .ace_keyword, .ace-tomorrow-night-bright .ace_meta { color:#C397D8;}.ace-tomorrow-night-bright .ace_keyword.ace_operator { color:#70C0B1;}.ace-tomorrow-night-bright .ace_constant.ace_language { color:#E78C45;}.ace-tomorrow-night-bright .ace_constant.ace_numeric { color:#E78C45;}.ace-tomorrow-night-bright .ace_constant.ace_other { color:#EEEEEE;}.ace-tomorrow-night-bright .ace_invalid { color:#CED2CF;background-color:#DF5F5F;}.ace-tomorrow-night-bright .ace_invalid.ace_deprecated { color:#CED2CF;background-color:#B798BF;}.ace-tomorrow-night-bright .ace_support.ace_constant { color:#E78C45;}.ace-tomorrow-night-bright .ace_fold { background-color: #7AA6DA; border-color: #DEDEDE;}.ace-tomorrow-night-bright .ace_support.ace_function { color:#7AA6DA;}.ace-tomorrow-night-bright .ace_storage { color:#C397D8;}.ace-tomorrow-night-bright .ace_storage.ace_type, .ace-tomorrow-night-bright .ace_support.ace_type{ color:#C397D8;}.ace-tomorrow-night-bright .ace_variable { color:#7AA6DA;}.ace-tomorrow-night-bright .ace_variable.ace_parameter { color:#E78C45;}.ace-tomorrow-night-bright .ace_string { color:#B9CA4A;}.ace-tomorrow-night-bright .ace_string.ace_regexp { color:#D54E53;}.ace-tomorrow-night-bright .ace_comment { color:#969896;}.ace-tomorrow-night-bright .ace_variable { color:#D54E53;}.ace-tomorrow-night-bright .ace_meta.ace_tag { color:#D54E53;}.ace-tomorrow-night-bright .ace_entity.ace_other.ace_attribute-name { color:#D54E53;}.ace-tomorrow-night-bright .ace_entity.ace_name.ace_function { color:#7AA6DA;}.ace-tomorrow-night-bright .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow-night-bright .ace_markup.ace_heading { color:#B9CA4A;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-tomorrow_night_eighties.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/tomorrow_night_eighties",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-tomorrow-night-eighties",b.cssText=".ace-tomorrow-night-eighties .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-tomorrow-night-eighties .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-tomorrow-night-eighties .ace_gutter { background: #e8e8e8; color: #333;}.ace-tomorrow-night-eighties .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-tomorrow-night-eighties .ace_scroller { background-color: #2D2D2D;}.ace-tomorrow-night-eighties .ace_text-layer { cursor: text; color: #CCCCCC;}.ace-tomorrow-night-eighties .ace_cursor { border-left: 2px solid #CCCCCC;}.ace-tomorrow-night-eighties .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #CCCCCC;}.ace-tomorrow-night-eighties .ace_marker-layer .ace_selection { background: #515151;}.ace-tomorrow-night-eighties.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #2D2D2D; border-radius: 2px;}.ace-tomorrow-night-eighties .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-tomorrow-night-eighties .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #6A6A6A;}.ace-tomorrow-night-eighties .ace_marker-layer .ace_active_line { background: #393939;}.ace-tomorrow-night-eighties .ace_marker-layer .ace_selected_word { border: 1px solid #515151;}.ace-tomorrow-night-eighties .ace_invisible { color: #6A6A6A;}.ace-tomorrow-night-eighties .ace_keyword, .ace-tomorrow-night-eighties .ace_meta { color:#CC99CC;}.ace-tomorrow-night-eighties .ace_keyword.ace_operator { color:#66CCCC;}.ace-tomorrow-night-eighties .ace_constant.ace_language { color:#F99157;}.ace-tomorrow-night-eighties .ace_constant.ace_numeric { color:#F99157;}.ace-tomorrow-night-eighties .ace_constant.ace_other { color:#CCCCCC;}.ace-tomorrow-night-eighties .ace_invalid { color:#CDCDCD;background-color:#F2777A;}.ace-tomorrow-night-eighties .ace_invalid.ace_deprecated { color:#CDCDCD;background-color:#CC99CC;}.ace-tomorrow-night-eighties .ace_support.ace_constant { color:#F99157;}.ace-tomorrow-night-eighties .ace_fold { background-color: #6699CC; border-color: #CCCCCC;}.ace-tomorrow-night-eighties .ace_support.ace_function { color:#6699CC;}.ace-tomorrow-night-eighties .ace_storage { color:#CC99CC;}.ace-tomorrow-night-eighties .ace_storage.ace_type, .ace-tomorrow-night-eighties .ace_support.ace_type{ color:#CC99CC;}.ace-tomorrow-night-eighties .ace_variable { color:#6699CC;}.ace-tomorrow-night-eighties .ace_variable.ace_parameter { color:#F99157;}.ace-tomorrow-night-eighties .ace_string { color:#99CC99;}.ace-tomorrow-night-eighties .ace_comment { color:#999999;}.ace-tomorrow-night-eighties .ace_variable { color:#F2777A;}.ace-tomorrow-night-eighties .ace_meta.ace_tag { color:#F2777A;}.ace-tomorrow-night-eighties .ace_entity.ace_other.ace_attribute-name { color:#F2777A;}.ace-tomorrow-night-eighties .ace_entity.ace_name.ace_function { color:#6699CC;}.ace-tomorrow-night-eighties .ace_markup.ace_underline { text-decoration:underline;}.ace-tomorrow-night-eighties .ace_markup.ace_heading { color:#99CC99;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-twilight.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/twilight",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-twilight",b.cssText=".ace-twilight .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-twilight .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-twilight .ace_gutter { background: #e8e8e8; color: #333;}.ace-twilight .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-twilight .ace_scroller { background-color: #141414;}.ace-twilight .ace_text-layer { cursor: text; color: #F8F8F8;}.ace-twilight .ace_cursor { border-left: 2px solid #A7A7A7;}.ace-twilight .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #A7A7A7;}.ace-twilight .ace_marker-layer .ace_selection { background: rgba(221, 240, 255, 0.20);}.ace-twilight.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #141414; border-radius: 2px;}.ace-twilight .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-twilight .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgba(255, 255, 255, 0.25);}.ace-twilight .ace_marker-layer .ace_active_line { background: rgba(255, 255, 255, 0.031);}.ace-twilight .ace_marker-layer .ace_selected_word { border: 1px solid rgba(221, 240, 255, 0.20);}.ace-twilight .ace_invisible { color: rgba(255, 255, 255, 0.25);}.ace-twilight .ace_keyword, .ace-twilight .ace_meta { color:#CDA869;}.ace-twilight .ace_constant, .ace-twilight .ace_constant.ace_other { color:#CF6A4C;}.ace-twilight .ace_constant.ace_character, { color:#CF6A4C;}.ace-twilight .ace_constant.ace_character.ace_escape, { color:#CF6A4C;}.ace-twilight .ace_invalid.ace_illegal { color:#F8F8F8;background-color:rgba(86, 45, 86, 0.75);}.ace-twilight .ace_invalid.ace_deprecated { text-decoration:underline;font-style:italic;color:#D2A8A1;}.ace-twilight .ace_support { color:#9B859D;}.ace-twilight .ace_support.ace_constant { color:#CF6A4C;}.ace-twilight .ace_fold { background-color: #AC885B; border-color: #F8F8F8;}.ace-twilight .ace_support.ace_function { color:#DAD085;}.ace-twilight .ace_storage { color:#F9EE98;}.ace-twilight .ace_variable { color:#AC885B;}.ace-twilight .ace_string { color:#8F9D6A;}.ace-twilight .ace_string.ace_regexp { color:#E9C062;}.ace-twilight .ace_comment { font-style:italic;color:#5F5A60;}.ace-twilight .ace_variable { color:#7587A6;}.ace-twilight .ace_xml_pe { color:#494949;}.ace-twilight .ace_meta.ace_tag { color:#AC885B;}.ace-twilight .ace_entity.ace_name.ace_function { color:#AC885B;}.ace-twilight .ace_markup.ace_underline { text-decoration:underline;}.ace-twilight .ace_markup.ace_heading { color:#CF6A4C;}.ace-twilight .ace_markup.ace_list { color:#F9EE98;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/ace/theme-vibrant_ink.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/vibrant_ink",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-vibrant-ink",b.cssText=".ace-vibrant-ink .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-vibrant-ink .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-vibrant-ink .ace_gutter { background: #e8e8e8; color: #333;}.ace-vibrant-ink .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-vibrant-ink .ace_scroller { background-color: #0F0F0F;}.ace-vibrant-ink .ace_text-layer { cursor: text; color: #FFFFFF;}.ace-vibrant-ink .ace_cursor { border-left: 2px solid #FFFFFF;}.ace-vibrant-ink .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #FFFFFF;}.ace-vibrant-ink .ace_marker-layer .ace_selection { background: #6699CC;}.ace-vibrant-ink.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #0F0F0F; border-radius: 2px;}.ace-vibrant-ink .ace_marker-layer .ace_step { background: rgb(198, 219, 174);}.ace-vibrant-ink .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404040;}.ace-vibrant-ink .ace_marker-layer .ace_active_line { background: #333333;}.ace-vibrant-ink .ace_marker-layer .ace_selected_word { border: 1px solid #6699CC;}.ace-vibrant-ink .ace_invisible { color: #404040;}.ace-vibrant-ink .ace_keyword, .ace-vibrant-ink .ace_meta { color:#FF6600;}.ace-vibrant-ink .ace_constant, .ace-vibrant-ink .ace_constant.ace_other { color:#339999;}.ace-vibrant-ink .ace_constant.ace_character, { color:#339999;}.ace-vibrant-ink .ace_constant.ace_character.ace_escape, { color:#339999;}.ace-vibrant-ink .ace_constant.ace_numeric { color:#99CC99;}.ace-vibrant-ink .ace_invalid { color:#CCFF33;background-color:#000000;}.ace-vibrant-ink .ace_invalid.ace_deprecated { color:#CCFF33;background-color:#000000;}.ace-vibrant-ink .ace_fold { background-color: #FFCC00; border-color: #FFFFFF;}.ace-vibrant-ink .ace_support.ace_function { color:#FFCC00;}.ace-vibrant-ink .ace_variable { color:#FFCC00;}.ace-vibrant-ink .ace_variable.ace_parameter { font-style:italic;}.ace-vibrant-ink .ace_string { color:#66FF00;}.ace-vibrant-ink .ace_string.ace_regexp { color:#44B4CC;}.ace-vibrant-ink .ace_comment { color:#9933CC;}.ace-vibrant-ink .ace_entity.ace_other.ace_attribute-name { font-style:italic;color:#99CC99;}.ace-vibrant-ink .ace_entity.ace_name.ace_function { color:#FFCC00;}.ace-vibrant-ink .ace_markup.ace_underline { text-decoration:underline;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) -------------------------------------------------------------------------------- /public/js/ext/jade.js: -------------------------------------------------------------------------------- 1 | jade=function(exports){Array.isArray||(Array.isArray=function(arr){return"[object Array]"==Object.prototype.toString.call(arr)}),Object.keys||(Object.keys=function(obj){var arr=[];for(var key in obj)obj.hasOwnProperty(key)&&arr.push(key);return arr}),exports.merge=function merge(a,b){var ac=a["class"],bc=b["class"];if(ac||bc)ac=ac||[],bc=bc||[],Array.isArray(ac)||(ac=[ac]),Array.isArray(bc)||(bc=[bc]),ac=ac.filter(nulls),bc=bc.filter(nulls),a["class"]=ac.concat(bc).join(" ");for(var key in b)key!="class"&&(a[key]=b[key]);return a};function nulls(val){return val!=null}return exports.attrs=function attrs(obj,escaped){var buf=[],terse=obj.terse;delete obj.terse;var keys=Object.keys(obj),len=keys.length;if(len){buf.push("");for(var i=0;i/g,">").replace(/"/g,""")},exports.rethrow=function rethrow(err,filename,lineno){if(!filename)throw err;var context=3,str=require("fs").readFileSync(filename,"utf8"),lines=str.split("\n"),start=Math.max(lineno-context,0),end=Math.min(lines.length,lineno+context),context=lines.slice(start,end).map(function(line,i){var curr=i+start+1;return(curr==lineno?" > ":" ")+curr+"| "+line}).join("\n");throw err.path=filename,err.message=(filename||"Jade")+":"+lineno+"\n"+context+"\n\n"+err.message,err},exports}({}); -------------------------------------------------------------------------------- /public/js/notify.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(function() { 5 | var notify; 6 | notify = function(text, type, pos) { 7 | if (pos == null) { 8 | pos = "bottom"; 9 | } 10 | noty({ 11 | text: text, 12 | theme: 'noty_theme_twitter', 13 | layout: pos, 14 | type: type, 15 | animateOpen: { 16 | height: "toggle" 17 | }, 18 | animateClose: { 19 | height: "toggle" 20 | }, 21 | speed: 500, 22 | timeout: 3000, 23 | closeButton: false, 24 | closeOnSelfClick: true, 25 | closeOnSelfOver: false 26 | }); 27 | }; 28 | notify.error = function(text, pos) { 29 | return notify(text, 'error', pos); 30 | }; 31 | notify.success = function(text, pos) { 32 | return notify(text, 'success', pos); 33 | }; 34 | notify.info = function(text, pos) { 35 | return notify(text, 'information', pos); 36 | }; 37 | notify.alert = function(text, pos) { 38 | return notify(text, 'alert', pos); 39 | }; 40 | return notify; 41 | }); 42 | 43 | }).call(this); 44 | -------------------------------------------------------------------------------- /public/js/routes.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(function() { 5 | dermis.route('/'); 6 | dermis.route('/connect', 'routes/index'); 7 | dermis.route('/disconnect'); 8 | dermis.route('/home'); 9 | dermis.route('/new'); 10 | dermis.route('/collection/:name'); 11 | dermis.route('/rename/:name'); 12 | dermis.route('/drop/:name'); 13 | dermis.route('/empty/:name'); 14 | dermis.route('/insert/:name'); 15 | dermis.route('/find/:name'); 16 | dermis.route('/mapReduce/:name'); 17 | dermis.route('/edit/:name/:id'); 18 | return dermis.route('/delete/:name/:id/:nativeId'); 19 | }); 20 | 21 | }).call(this); 22 | -------------------------------------------------------------------------------- /public/js/routes/collection.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(["smog/server", "smog/util", "smog/notify", "templates/collection", "templates/editbar"], function(server, util, notify, templ, editbar) { 5 | return { 6 | show: function(_arg) { 7 | var name; 8 | name = _arg.name; 9 | return server.collection({ 10 | collection: name, 11 | type: 'find', 12 | query: "{}", 13 | options: { 14 | limit: 1000 15 | } 16 | }, function(err, docs) { 17 | if (err != null) { 18 | return notify.error("Error retrieving documents: " + (err.err || err)); 19 | } 20 | if (docs.length >= 999) { 21 | notify.alert("Document limit reached - only displaying first 1000"); 22 | } 23 | $('#content').html(templ({ 24 | name: name, 25 | documents: util.filterDocuments(docs) 26 | })); 27 | $('#editbar').html(editbar({ 28 | name: name 29 | })); 30 | return $('.dataPreview').click(function() { 31 | return $(this).toggleClass("crop"); 32 | }); 33 | }); 34 | } 35 | }; 36 | }); 37 | 38 | }).call(this); 39 | -------------------------------------------------------------------------------- /public/js/routes/delete.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(["smog/server", "smog/notify"], function(server, notify) { 5 | return { 6 | show: function(_arg) { 7 | var id, name, nativeId, q; 8 | name = _arg.name, id = _arg.id, nativeId = _arg.nativeId; 9 | if (nativeId === 'true') { 10 | q = '{"_id": new ObjectID("' + id + '")}'; 11 | } else { 12 | q = '{"_id": "' + id + '"}'; 13 | } 14 | console.log(q); 15 | return server.collection({ 16 | collection: name, 17 | type: 'delete', 18 | query: q 19 | }, function(err) { 20 | if (err != null) { 21 | return notify.error("Error deleting document: " + (err.err || err)); 22 | } 23 | notify.success("Document deleted"); 24 | return window.location.hash = "#/collection/" + name; 25 | }); 26 | } 27 | }; 28 | }); 29 | 30 | }).call(this); 31 | -------------------------------------------------------------------------------- /public/js/routes/disconnect.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(["smog/server", "smog/notify"], function(server, notify) { 5 | return { 6 | show: function() { 7 | return server.disconnect(function(err) { 8 | if (err != null) { 9 | return notify.error("Error disconnecting: " + err); 10 | } 11 | return window.location = '/'; 12 | }); 13 | } 14 | }; 15 | }); 16 | 17 | }).call(this); 18 | -------------------------------------------------------------------------------- /public/js/routes/drop.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(["smog/server", "smog/notify", "templates/confirm"], function(server, notify, templ) { 5 | return { 6 | show: function(_arg) { 7 | var name; 8 | name = _arg.name; 9 | $('#content').append(templ({ 10 | title: 'Drop', 11 | text: 'Dropping a collection will completely remove it from the database.\nYou will not be able to recover any data lost.' 12 | })); 13 | $('#confirm-modal').modal(); 14 | $('#confirm-modal').on('hidden', function() { 15 | return $('#confirm-modal').remove(); 16 | }); 17 | return $('#confirm-button').click(function() { 18 | return server.collection({ 19 | collection: name, 20 | type: 'drop' 21 | }, function(err) { 22 | if (err != null) { 23 | return notify.error("Error dropping collection: " + err); 24 | } 25 | $('#confirm-modal').modal('hide'); 26 | notify.success("Collection dropped"); 27 | return window.location.hash = '#/home'; 28 | }); 29 | }); 30 | } 31 | }; 32 | }); 33 | 34 | }).call(this); 35 | -------------------------------------------------------------------------------- /public/js/routes/edit.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(["smog/server", "smog/notify", "smog/editor", "templates/edit"], function(server, notify, editor, templ) { 5 | return { 6 | show: function(_arg) { 7 | var edit, id, name, val; 8 | name = _arg.name, id = _arg.id; 9 | val = $("#" + id + "-value").text(); 10 | $('#content').html(templ({ 11 | title: "Editing " + id, 12 | id: id, 13 | button: 'Save' 14 | })); 15 | edit = editor.create("" + id + "-edit-view", { 16 | mode: "javascript", 17 | wrap: 100, 18 | worker: false, 19 | value: val 20 | }); 21 | return $('#edit-button').click(function() { 22 | return server.collection({ 23 | collection: name, 24 | type: 'update', 25 | query: edit.getText() 26 | }, function(err) { 27 | if (err != null) { 28 | return notify.error("Error saving document: " + (err.err || err)); 29 | } 30 | edit.destroy(); 31 | notify.success("Document saved!"); 32 | return window.location.hash = "#/collection/" + name; 33 | }); 34 | }); 35 | } 36 | }; 37 | }); 38 | 39 | }).call(this); 40 | -------------------------------------------------------------------------------- /public/js/routes/empty.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(["smog/server", "smog/notify", "templates/confirm"], function(server, notify, templ) { 5 | return { 6 | show: function(_arg) { 7 | var name; 8 | name = _arg.name; 9 | $('#content').append(templ({ 10 | title: 'Empty', 11 | text: 'Emptying a collection will remove every document it contains.\nYou will not be able to recover any data lost.' 12 | })); 13 | $('#confirm-modal').modal(); 14 | $('#confirm-modal').on('hidden', function() { 15 | return $('#confirm-modal').remove(); 16 | }); 17 | return $('#confirm-button').click(function() { 18 | return server.collection({ 19 | collection: name, 20 | type: 'empty' 21 | }, function(err) { 22 | if (err != null) { 23 | return notify.error("Error emptying collection: " + (err.err || err)); 24 | } 25 | $('#confirm-modal').modal('hide'); 26 | notify.success("Collection emptied"); 27 | return window.location.hash = "#/collection/" + name; 28 | }); 29 | }); 30 | } 31 | }; 32 | }); 33 | 34 | }).call(this); 35 | -------------------------------------------------------------------------------- /public/js/routes/find.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(["smog/server", "smog/util", "smog/notify", "smog/editor", "templates/edit", "templates/collection"], function(server, util, notify, editor, templ, collection) { 5 | return { 6 | show: function(_arg) { 7 | var edit, name; 8 | name = _arg.name; 9 | $('#content').html(templ({ 10 | title: 'Find', 11 | id: name, 12 | button: 'Execute' 13 | })); 14 | edit = editor.create("" + name + "-edit-view", { 15 | mode: "javascript", 16 | wrap: 100, 17 | worker: false, 18 | value: "{\r\n\r\n}" 19 | }); 20 | return $('#edit-button').click(function() { 21 | return server.collection({ 22 | collection: name, 23 | type: 'find', 24 | query: edit.getText() 25 | }, function(err, docs) { 26 | if (err != null) { 27 | return notify.error("Error retrieving documents: " + (err.err || err)); 28 | } 29 | edit.destroy(); 30 | $('#content').html(collection({ 31 | name: name, 32 | documents: util.filterDocuments(docs) 33 | })); 34 | return $('.dataPreview').click(function() { 35 | return $(this).toggleClass("crop"); 36 | }); 37 | }); 38 | }); 39 | } 40 | }; 41 | }); 42 | 43 | }).call(this); 44 | -------------------------------------------------------------------------------- /public/js/routes/home.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(["smog/server", "smog/util", "smog/notify", "templates/sidebar", "templates/admin"], function(server, util, notify, sidebar, admin) { 5 | return { 6 | show: function() { 7 | return server.admin(function(err, info) { 8 | if (err != null) { 9 | return notify.error("Error grabbing information: " + (err.err || err)); 10 | } 11 | info.collections = util.filterCollections(info.collections); 12 | $('#sidebar').html(sidebar(info)); 13 | info.serverStatus.network.bytesIn = util.readableSize(info.serverStatus.network.bytesIn); 14 | info.serverStatus.network.bytesOut = util.readableSize(info.serverStatus.network.bytesOut); 15 | info.serverStatus.mem.mapped = "" + info.serverStatus.mem.mapped + " MB"; 16 | info.serverStatus.mem.virtual = "" + info.serverStatus.mem.virtual + " MB"; 17 | info.serverStatus.connections.total = info.serverStatus.connections.current + info.serverStatus.connections.available; 18 | info.serverStatus.uptime = util.prettySeconds(info.serverStatus.uptime); 19 | return $('#content').html(admin(info)); 20 | }); 21 | } 22 | }; 23 | }); 24 | 25 | }).call(this); 26 | -------------------------------------------------------------------------------- /public/js/routes/index.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(["smog/server", "smog/notify", "templates/connect"], function(server, notify, templ) { 5 | return { 6 | show: function() { 7 | $('#content').html(templ()); 8 | $('#connect-modal').modal({ 9 | backdrop: false 10 | }); 11 | return $('#connect-button').click(function() { 12 | var host; 13 | host = $('#host').val(); 14 | return server.connect(host, function(err, okay) { 15 | if (err != null) { 16 | if (typeof err === 'object' && Object.keys(err).length === 0) { 17 | err = "Server unavailable"; 18 | } 19 | return notify.error("Connection error: " + (err.err || err)); 20 | } else { 21 | $('#connect-modal').modal('hide'); 22 | return window.location.hash = '#/home'; 23 | } 24 | }); 25 | }); 26 | } 27 | }; 28 | }); 29 | 30 | }).call(this); 31 | -------------------------------------------------------------------------------- /public/js/routes/insert.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(["smog/server", "smog/notify", "smog/editor", "templates/edit"], function(server, notify, editor, templ) { 5 | return { 6 | show: function(_arg) { 7 | var edit, name; 8 | name = _arg.name; 9 | $('#content').html(templ({ 10 | title: 'Insert', 11 | id: name, 12 | button: 'Insert' 13 | })); 14 | edit = editor.create("" + name + "-edit-view", { 15 | mode: "javascript", 16 | wrap: 100, 17 | worker: false, 18 | value: "{\r\n\r\n}" 19 | }); 20 | return $('#edit-button').click(function() { 21 | return server.collection({ 22 | collection: name, 23 | type: 'insert', 24 | query: edit.getText() 25 | }, function(err) { 26 | if (err != null) { 27 | return notify.error("Error inserting document: " + (err.err || err)); 28 | } 29 | edit.destroy(); 30 | notify.success("Document inserted!"); 31 | return window.location.hash = "#/collection/" + name; 32 | }); 33 | }); 34 | } 35 | }; 36 | }); 37 | 38 | }).call(this); 39 | -------------------------------------------------------------------------------- /public/js/routes/mapReduce.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(["smog/server", "smog/util", "smog/notify", "smog/editor", "templates/edit", "templates/collection"], function(server, util, notify, editor, templ, collection) { 5 | return { 6 | show: function(_arg) { 7 | var edit, name; 8 | name = _arg.name; 9 | $('#content').html(templ({ 10 | title: 'Map Reduce', 11 | id: name, 12 | button: 'Execute' 13 | })); 14 | edit = editor.create("" + name + "-edit-view", { 15 | mode: "javascript", 16 | worker: false, 17 | wrap: 100, 18 | value: "//This is a simple map/reduce that counts documents by name\n{\n map: function () {\n emit(this.name, {count: 1});\n },\n reduce: function (key, values) {\n var result = 0;\n values.forEach(function (value) {\n result += value.count;\n });\n return {count: result};\n }\n}" 19 | }); 20 | return $('#edit-button').click(function() { 21 | return server.collection({ 22 | collection: name, 23 | type: 'mapReduce', 24 | query: edit.getText() 25 | }, function(err, docs, stat) { 26 | if (err != null) { 27 | return notify.error("Error retrieving documents: " + (err.err || err)); 28 | } 29 | edit.destroy(); 30 | return $('#content').html(collection({ 31 | name: name, 32 | documents: util.filterDocuments(docs) 33 | })); 34 | }); 35 | }); 36 | } 37 | }; 38 | }); 39 | 40 | }).call(this); 41 | -------------------------------------------------------------------------------- /public/js/routes/new.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(["smog/server", "templates/input", "smog/notify"], function(server, templ, notify) { 5 | return { 6 | show: function() { 7 | $('#content').append(templ({ 8 | title: 'New', 9 | button: 'Create', 10 | placeholder: 'Name' 11 | })); 12 | $('#input-modal').modal(); 13 | $('#input-modal').on('hidden', function() { 14 | return $('#input-modal').remove(); 15 | }); 16 | return $('#input-button').click(function() { 17 | return server.createCollection($('#input-text').val(), {}, function(err) { 18 | if (err != null) { 19 | return notify.error("Error creating collection: " + (err.err || err)); 20 | } 21 | $('#input-modal').modal('hide'); 22 | notify.success("Collection created"); 23 | return window.location.hash = '#/home'; 24 | }); 25 | }); 26 | } 27 | }; 28 | }); 29 | 30 | }).call(this); 31 | -------------------------------------------------------------------------------- /public/js/routes/rename.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(["smog/server", "templates/input", "smog/notify"], function(server, templ, notify) { 5 | return { 6 | show: function(_arg) { 7 | var name; 8 | name = _arg.name; 9 | $('#content').append(templ({ 10 | title: 'Rename', 11 | button: 'Rename', 12 | placeholder: 'New name' 13 | })); 14 | $('#input-modal').modal(); 15 | $('#input-modal').on('hidden', function() { 16 | return $('#input-modal').remove(); 17 | }); 18 | return $('#input-button').click(function() { 19 | return server.collection({ 20 | collection: name, 21 | type: 'rename', 22 | query: { 23 | name: $('#input-text').val() 24 | } 25 | }, function(err) { 26 | if (err != null) { 27 | return notify.error("Error renaming collection: " + (err.err || err)); 28 | } 29 | $('#input-modal').modal('hide'); 30 | notify.success("Collection renamed"); 31 | return window.location.hash = '#/home'; 32 | }); 33 | }); 34 | } 35 | }; 36 | }); 37 | 38 | }).call(this); 39 | -------------------------------------------------------------------------------- /public/js/server.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(function() { 5 | return Vein.createClient(); 6 | }); 7 | 8 | }).call(this); 9 | -------------------------------------------------------------------------------- /public/js/smog.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(["smog/server", "smog/routes", "smog/notify"], function(server, routes, notify) { 5 | dermis.use(function(mod, args, next) { 6 | return server.ready(function(services) { 7 | return next(); 8 | }); 9 | }); 10 | return server.ready(function(services) { 11 | return console.log("Connected - Available services: " + services); 12 | }); 13 | }); 14 | 15 | }).call(this); 16 | -------------------------------------------------------------------------------- /public/js/util.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | 4 | define(function() { 5 | return { 6 | filterCollections: function(collections) { 7 | var item, name, out, _i, _len; 8 | out = []; 9 | for (_i = 0, _len = collections.length; _i < _len; _i++) { 10 | item = collections[_i]; 11 | if (!(item.name.indexOf('.system.') === -1)) { 12 | continue; 13 | } 14 | name = item.name.substring(item.name.indexOf('.') + 1); 15 | out.push(name); 16 | } 17 | return out; 18 | }, 19 | filterDocuments: function(docs) { 20 | var doc, _i, _len; 21 | for (_i = 0, _len = docs.length; _i < _len; _i++) { 22 | doc = docs[_i]; 23 | doc.created = this.getCreated(doc._id); 24 | doc.size = this.readableSize(doc.size); 25 | } 26 | return docs; 27 | }, 28 | readableSize: function(size) { 29 | var i, units; 30 | units = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]; 31 | i = 0; 32 | while (size >= 1024) { 33 | size /= 1024; 34 | ++i; 35 | } 36 | return "" + (Math.floor(size.toFixed(1))) + " " + units[i]; 37 | }, 38 | getCreated: function(id) { 39 | var de; 40 | de = "Unknown"; 41 | if (id == null) { 42 | return de; 43 | } 44 | try { 45 | return prettyDate(parseInt(id.slice(0, 8), 16) * 1000) || de; 46 | } catch (_error) {} 47 | return de; 48 | }, 49 | prettySeconds: function(secs) { 50 | var days, hours, minutes, out, seconds; 51 | days = Math.floor(secs / 86400); 52 | hours = Math.floor((secs % 86400) / 3600); 53 | minutes = Math.floor(((secs % 86400) % 3600) / 60); 54 | seconds = ((secs % 86400) % 3600) % 60; 55 | out = ""; 56 | if (days > 0) { 57 | out += "" + days + " days "; 58 | } 59 | if (hours > 0) { 60 | out += "" + hours + " hours "; 61 | } 62 | if (minutes > 0) { 63 | out += "" + minutes + " minutes"; 64 | } 65 | if (seconds > 0 && days <= 0) { 66 | out += " " + seconds + " seconds"; 67 | } 68 | return out; 69 | } 70 | }; 71 | }); 72 | 73 | }).call(this); 74 | -------------------------------------------------------------------------------- /public/templates/admin.js: -------------------------------------------------------------------------------- 1 | define(function(){return function anonymous(locals,attrs,escape,rethrow,merge){attrs=attrs||jade.attrs,escape=escape||jade.escape,rethrow=rethrow||jade.rethrow,merge=merge||jade.merge;var buf=[];with(locals||{}){var interp;buf.push('

Build

System: "+escape((interp=buildInfo.sysInfo)==null?"":interp)+"

Version:

"+escape((interp=buildInfo.version)==null?"":interp)+"

Bits:

"+escape((interp=buildInfo.bits)==null?"":interp)+"

Debug:

"+escape((interp=buildInfo.debug)==null?"":interp)+'

System

Host:

'+escape((interp=serverStatus.host)==null?"":interp)+"

Uptime:

"+escape((interp=serverStatus.uptime)==null?"":interp)+"

Collections:

"+escape((interp=collections.length)==null?"":interp)+"

Connections:

"+escape((interp=serverStatus.connections.current)==null?"":interp)+"/"+escape((interp=serverStatus.connections.total)==null?"":interp)+'

Performance

Requests:

'+escape((interp=serverStatus.network.numRequests)==null?"":interp)+"

Input:

"+escape((interp=serverStatus.network.bytesIn)==null?"":interp)+"

Output:

"+escape((interp=serverStatus.network.bytesOut)==null?"":interp)+"

Disk Memory:

"+escape((interp=serverStatus.mem.mapped)==null?"":interp)+"

Virtual Memory:

"+escape((interp=serverStatus.mem.virtual)==null?"":interp)+"

")}return buf.join("")}}) -------------------------------------------------------------------------------- /public/templates/collection.js: -------------------------------------------------------------------------------- 1 | define(function(){return function anonymous(locals,attrs,escape,rethrow,merge){attrs=attrs||jade.attrs,escape=escape||jade.escape,rethrow=rethrow||jade.rethrow,merge=merge||jade.merge;var buf=[];with(locals||{}){var interp;buf.push('
'),function(){if("number"==typeof documents.length)for(var e=0,t=documents.length;e"+escape((interp=n._id)==null?"":interp)+""+escape((interp=n.size)==null?"":interp)+""+escape((interp=n.created)==null?"":interp)+"')}else for(var e in documents){var n=documents[e];buf.push(""+escape((interp=n._id)==null?"":interp)+""+escape((interp=n.size)==null?"":interp)+""+escape((interp=n.created)==null?"":interp)+"')}}.call(this),buf.push("
IdSizeCreatedDocumentActions
"+escape((interp=n.value)==null?"":interp)+"
"+escape((interp=n.value)==null?"":interp)+"
")}return buf.join("")}}) -------------------------------------------------------------------------------- /public/templates/confirm.js: -------------------------------------------------------------------------------- 1 | define(function(){return function anonymous(locals,attrs,escape,rethrow,merge){attrs=attrs||jade.attrs,escape=escape||jade.escape,rethrow=rethrow||jade.rethrow,merge=merge||jade.merge;var buf=[];with(locals||{}){var interp;buf.push('')}return buf.join("")}}) -------------------------------------------------------------------------------- /public/templates/connect.js: -------------------------------------------------------------------------------- 1 | define(function(){return function anonymous(locals,attrs,escape,rethrow,merge){attrs=attrs||jade.attrs,escape=escape||jade.escape,rethrow=rethrow||jade.rethrow,merge=merge||jade.merge;var buf=[];with(locals||{}){var interp;buf.push('')}return buf.join("")}}) -------------------------------------------------------------------------------- /public/templates/edit.js: -------------------------------------------------------------------------------- 1 | define(function(){return function anonymous(locals,attrs,escape,rethrow,merge){attrs=attrs||jade.attrs,escape=escape||jade.escape,rethrow=rethrow||jade.rethrow,merge=merge||jade.merge;var buf=[];with(locals||{}){var interp;buf.push('
")}return buf.join("")}}) -------------------------------------------------------------------------------- /public/templates/editbar.js: -------------------------------------------------------------------------------- 1 | define(function(){return function anonymous(locals,attrs,escape,rethrow,merge){attrs=attrs||jade.attrs,escape=escape||jade.escape,rethrow=rethrow||jade.rethrow,merge=merge||jade.merge;var buf=[];with(locals||{}){var interp;buf.push('')}return buf.join("")}}) -------------------------------------------------------------------------------- /public/templates/input.js: -------------------------------------------------------------------------------- 1 | define(function(){return function anonymous(locals,attrs,escape,rethrow,merge){attrs=attrs||jade.attrs,escape=escape||jade.escape,rethrow=rethrow||jade.rethrow,merge=merge||jade.merge;var buf=[];with(locals||{}){var interp;buf.push('")}return buf.join("")}}) -------------------------------------------------------------------------------- /public/templates/sidebar.js: -------------------------------------------------------------------------------- 1 | define(function(){return function anonymous(locals,attrs,escape,rethrow,merge){attrs=attrs||jade.attrs,escape=escape||jade.escape,rethrow=rethrow||jade.rethrow,merge=merge||jade.merge;var buf=[];with(locals||{}){var interp;buf.push('
')}return buf.join("")}}) -------------------------------------------------------------------------------- /start.coffee: -------------------------------------------------------------------------------- 1 | express = require "express" 2 | http = require "http" 3 | {join} = require "path" 4 | Vein = require 'vein' 5 | 6 | port = process.env.PORT or 8080 7 | 8 | # Web server 9 | app = express() 10 | app.use express.staticCache() 11 | app.use express.static join __dirname, './public/' 12 | server = http.createServer(app).listen port 13 | 14 | # Vein 15 | vein = Vein.createServer server 16 | vein.addFolder join __dirname, './lib/services/' 17 | 18 | console.log "Server started on #{port}" 19 | 20 | if process.argv[2] is '-u' 21 | try 22 | Pane = require 'pane' 23 | opt = 24 | title: "Smog" 25 | height: 700 26 | width: 1200 27 | url: "http://localhost:#{port}" 28 | 29 | process.nextTick -> 30 | window = new Pane opt 31 | window.open() 32 | catch err 33 | console.log 'You need to install libqtwebkit-dev to use the desktop UI.' --------------------------------------------------------------------------------