├── .gitignore ├── README.md ├── app.js ├── config └── default.js ├── controllers ├── api │ ├── code.js │ └── user.js └── web │ └── index.js ├── helper ├── index.js └── stat.js ├── middleware ├── auth.js └── set_session.js ├── models ├── base.js ├── code.js └── user.js ├── package.json ├── process.json ├── public ├── css │ └── style.css ├── dist │ ├── bundle.common.js │ ├── bundle.html.js │ └── bundle.js.js ├── images │ ├── avatar.png │ ├── close.png │ ├── favicon.ico │ └── scroll.png ├── lib │ ├── ace │ │ ├── .gitignore │ │ ├── ace.bak.js │ │ ├── ace.js │ │ ├── emmet.js │ │ ├── emmet.js.bak │ │ ├── ext-beautify.js │ │ ├── ext-chromevox.js │ │ ├── ext-elastic_tabstops_lite.js │ │ ├── ext-emmet.bak.js │ │ ├── ext-emmet.js │ │ ├── ext-error_marker.js │ │ ├── ext-keybinding_menu.js │ │ ├── ext-language_tools.js │ │ ├── ext-linking.js │ │ ├── ext-modelist.js │ │ ├── ext-old_ie.js │ │ ├── ext-searchbox.js │ │ ├── ext-settings_menu.js │ │ ├── ext-spellcheck.js │ │ ├── ext-split.js │ │ ├── ext-static_highlight.js │ │ ├── ext-statusbar.js │ │ ├── ext-textarea.js │ │ ├── ext-themelist.js │ │ ├── ext-whitespace.js │ │ ├── keybinding-emacs.js │ │ ├── keybinding-vim.js │ │ ├── mode-abap.js │ │ ├── mode-actionscript.js │ │ ├── mode-ada.js │ │ ├── mode-apache_conf.js │ │ ├── mode-applescript.js │ │ ├── mode-asciidoc.js │ │ ├── mode-assembly_x86.js │ │ ├── mode-autohotkey.js │ │ ├── mode-batchfile.js │ │ ├── mode-c9search.js │ │ ├── mode-c_cpp.js │ │ ├── mode-cirru.js │ │ ├── mode-clojure.js │ │ ├── mode-cobol.js │ │ ├── mode-coffee.js │ │ ├── mode-coldfusion.js │ │ ├── mode-csharp.js │ │ ├── mode-css.js │ │ ├── mode-curly.js │ │ ├── mode-d.js │ │ ├── mode-dart.js │ │ ├── mode-diff.js │ │ ├── mode-django.js │ │ ├── mode-dockerfile.js │ │ ├── mode-dot.js │ │ ├── mode-eiffel.js │ │ ├── mode-ejs.js │ │ ├── mode-erlang.js │ │ ├── mode-forth.js │ │ ├── mode-ftl.js │ │ ├── mode-gcode.js │ │ ├── mode-gherkin.js │ │ ├── mode-gitignore.js │ │ ├── mode-glsl.js │ │ ├── mode-golang.js │ │ ├── mode-groovy.js │ │ ├── mode-haml.js │ │ ├── mode-handlebars.js │ │ ├── mode-haskell.js │ │ ├── mode-haxe.js │ │ ├── mode-html.bak.js │ │ ├── mode-html.js │ │ ├── mode-html_ruby.js │ │ ├── mode-ini.js │ │ ├── mode-jack.js │ │ ├── mode-jade.js │ │ ├── mode-java.js │ │ ├── mode-javascript.js │ │ ├── mode-json.js │ │ ├── mode-jsoniq.js │ │ ├── mode-jsp.js │ │ ├── mode-jsx.js │ │ ├── mode-julia.js │ │ ├── mode-latex.js │ │ ├── mode-less.js │ │ ├── mode-liquid.js │ │ ├── mode-lisp.js │ │ ├── mode-livescript.js │ │ ├── mode-logiql.js │ │ ├── mode-lsl.js │ │ ├── mode-lua.js │ │ ├── mode-luapage.js │ │ ├── mode-lucene.js │ │ ├── mode-makefile.js │ │ ├── mode-markdown.js │ │ ├── mode-matlab.js │ │ ├── mode-mel.js │ │ ├── mode-mushcode.js │ │ ├── mode-mysql.js │ │ ├── mode-nix.js │ │ ├── mode-objectivec.js │ │ ├── mode-ocaml.js │ │ ├── mode-pascal.js │ │ ├── mode-perl.js │ │ ├── mode-pgsql.js │ │ ├── mode-php.js │ │ ├── mode-plain_text.js │ │ ├── mode-powershell.js │ │ ├── mode-praat.js │ │ ├── mode-prolog.js │ │ ├── mode-properties.js │ │ ├── mode-protobuf.js │ │ ├── mode-python.js │ │ ├── mode-r.js │ │ ├── mode-rdoc.js │ │ ├── mode-rhtml.js │ │ ├── mode-ruby.js │ │ ├── mode-rust.js │ │ ├── mode-sass.js │ │ ├── mode-scad.js │ │ ├── mode-scala.js │ │ ├── mode-scheme.js │ │ ├── mode-scss.js │ │ ├── mode-sh.js │ │ ├── mode-sjs.js │ │ ├── mode-smarty.js │ │ ├── mode-snippets.js │ │ ├── mode-soy_template.js │ │ ├── mode-space.js │ │ ├── mode-sql.js │ │ ├── mode-stylus.js │ │ ├── mode-svg.js │ │ ├── mode-tcl.js │ │ ├── mode-tex.js │ │ ├── mode-text.js │ │ ├── mode-textile.js │ │ ├── mode-toml.js │ │ ├── mode-twig.js │ │ ├── mode-typescript.js │ │ ├── mode-vala.js │ │ ├── mode-vbscript.js │ │ ├── mode-velocity.js │ │ ├── mode-verilog.js │ │ ├── mode-vhdl.js │ │ ├── mode-xml.js │ │ ├── mode-xquery.js │ │ ├── mode-yaml.js │ │ ├── snippets │ │ │ ├── abap.js │ │ │ ├── actionscript.js │ │ │ ├── ada.js │ │ │ ├── apache_conf.js │ │ │ ├── applescript.js │ │ │ ├── asciidoc.js │ │ │ ├── assembly_x86.js │ │ │ ├── autohotkey.js │ │ │ ├── batchfile.js │ │ │ ├── c9search.js │ │ │ ├── c_cpp.js │ │ │ ├── cirru.js │ │ │ ├── clojure.js │ │ │ ├── cobol.js │ │ │ ├── coffee.js │ │ │ ├── coldfusion.js │ │ │ ├── csharp.js │ │ │ ├── css.js │ │ │ ├── curly.js │ │ │ ├── d.js │ │ │ ├── dart.js │ │ │ ├── diff.js │ │ │ ├── django.js │ │ │ ├── dockerfile.js │ │ │ ├── dot.js │ │ │ ├── eiffel.js │ │ │ ├── ejs.js │ │ │ ├── erlang.js │ │ │ ├── forth.js │ │ │ ├── ftl.js │ │ │ ├── gcode.js │ │ │ ├── gherkin.js │ │ │ ├── gitignore.js │ │ │ ├── glsl.js │ │ │ ├── golang.js │ │ │ ├── groovy.js │ │ │ ├── haml.js │ │ │ ├── handlebars.js │ │ │ ├── haskell.js │ │ │ ├── haxe.js │ │ │ ├── html.js │ │ │ ├── html_ruby.js │ │ │ ├── ini.js │ │ │ ├── jack.js │ │ │ ├── jade.js │ │ │ ├── java.js │ │ │ ├── javascript.js │ │ │ ├── json.js │ │ │ ├── jsoniq.js │ │ │ ├── jsp.js │ │ │ ├── jsx.js │ │ │ ├── julia.js │ │ │ ├── latex.js │ │ │ ├── less.js │ │ │ ├── liquid.js │ │ │ ├── lisp.js │ │ │ ├── livescript.js │ │ │ ├── logiql.js │ │ │ ├── lsl.js │ │ │ ├── lua.js │ │ │ ├── luapage.js │ │ │ ├── lucene.js │ │ │ ├── makefile.js │ │ │ ├── markdown.js │ │ │ ├── matlab.js │ │ │ ├── mel.js │ │ │ ├── mushcode.js │ │ │ ├── mysql.js │ │ │ ├── nix.js │ │ │ ├── objectivec.js │ │ │ ├── ocaml.js │ │ │ ├── pascal.js │ │ │ ├── perl.js │ │ │ ├── pgsql.js │ │ │ ├── php.js │ │ │ ├── plain_text.js │ │ │ ├── powershell.js │ │ │ ├── praat.js │ │ │ ├── prolog.js │ │ │ ├── properties.js │ │ │ ├── protobuf.js │ │ │ ├── python.js │ │ │ ├── r.js │ │ │ ├── rdoc.js │ │ │ ├── rhtml.js │ │ │ ├── ruby.js │ │ │ ├── rust.js │ │ │ ├── sass.js │ │ │ ├── scad.js │ │ │ ├── scala.js │ │ │ ├── scheme.js │ │ │ ├── scss.js │ │ │ ├── sh.js │ │ │ ├── sjs.js │ │ │ ├── smarty.js │ │ │ ├── snippets.js │ │ │ ├── soy_template.js │ │ │ ├── space.js │ │ │ ├── sql.js │ │ │ ├── stylus.js │ │ │ ├── svg.js │ │ │ ├── tcl.js │ │ │ ├── tex.js │ │ │ ├── text.js │ │ │ ├── textile.js │ │ │ ├── toml.js │ │ │ ├── twig.js │ │ │ ├── typescript.js │ │ │ ├── vala.js │ │ │ ├── vbscript.js │ │ │ ├── velocity.js │ │ │ ├── verilog.js │ │ │ ├── vhdl.js │ │ │ ├── xml.js │ │ │ ├── xquery.js │ │ │ └── yaml.js │ │ ├── theme-ambiance.js │ │ ├── theme-chaos.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-github.js │ │ ├── theme-idle_fingers.js │ │ ├── theme-katzenmilch.js │ │ ├── theme-kr.js │ │ ├── theme-kr_theme.js │ │ ├── theme-kuroir.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-terminal.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 │ │ ├── theme-xcode.js │ │ ├── worker-coffee.js │ │ ├── worker-css.js │ │ ├── worker-html.bak.js │ │ ├── worker-html.js │ │ ├── worker-javascript.js │ │ ├── worker-json.js │ │ ├── worker-lua.js │ │ ├── worker-php.js │ │ └── worker-xquery.js │ ├── animate.css │ ├── jqconsole.min.js │ ├── jquery-1.8.3.min.js │ ├── nprogress │ │ ├── nprogress.min.css │ │ └── nprogress.min.js │ └── toastr │ │ ├── toastr.min.css │ │ └── toastr.min.js └── src │ ├── edit │ ├── base.js │ ├── html │ │ ├── core.js │ │ └── index.js │ └── js │ │ ├── consoleJS.js │ │ └── index.js │ ├── helper │ ├── common.js │ ├── requester.js │ └── utils.js │ └── menu │ ├── controller.js │ └── index.js ├── routes ├── api_route.js ├── index.js └── web_route.js ├── services ├── code │ ├── index.js │ └── insert_code.js └── user │ └── index.js └── views ├── common ├── footer.ejs ├── header.ejs └── menu.ejs ├── html └── index.ejs ├── index.ejs ├── js └── index.ejs └── other └── activate.ejs /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | config/index.js 4 | logs -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Demos 2 | 3 | Demos 是一个风格简洁的代码编辑器,用来写demo,小案例等。 4 | 5 | Demos 基于 Koa 与 MongoDB 开发 6 | 7 | 8 | ## Clone codes and run 9 | 10 | ```bash 11 | # clone from git 12 | $ git clone git@github.com:berwin/demos.git 13 | 14 | $ cd demos 15 | 16 | # install dependencies 17 | $ npm install 18 | 19 | # copy the default configuration file 20 | $ cp config/default.js config/index.js 21 | 22 | # modify configuration file 23 | $ vim config/index.js 24 | 25 | # run 26 | node app.js 27 | ``` 28 | 29 | ## deploy 30 | 31 | ```bash 32 | # Start 33 | pm2 start process.json 34 | 35 | # Reload 36 | pm2 reload process.json 37 | 38 | # Delete 39 | pm2 delete process.json 40 | ``` -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | /**! 2 | * Demos - app.js 3 | * 4 | * 项目入口文件 5 | * 6 | * Authors: 7 | * Berwin 8 | */ 9 | 10 | var app = require('koa')(); 11 | var path = require('path'); 12 | var logger = require('koa-logger'); 13 | var serve = require('koa-static'); 14 | var bodyParser = require('koa-bodyparser'); 15 | var render = require('koa-ejs'); 16 | var route = require('./routes/index.js'); 17 | var config = require('./config/index.js'); 18 | 19 | // 注册中间件 20 | app.use(logger()); 21 | app.use(serve(path.join(__dirname, 'public'))); 22 | app.use(bodyParser()); 23 | 24 | render(app, { 25 | root: path.join(__dirname, 'views'), 26 | layout: false, 27 | viewExt: 'ejs', 28 | cache: false, 29 | debug: true 30 | }); 31 | 32 | app.use(route.routes()); 33 | 34 | if (!module.parent) { 35 | var server = app.listen(config.port, function () { 36 | console.info(`Demos listening on port ${config.port}`); 37 | console.info(`God bless love....`); 38 | console.info(`You can debug your app with http://127.0.0.1:${config.port}`); 39 | console.info(''); 40 | }); 41 | } 42 | 43 | module.exports = app; -------------------------------------------------------------------------------- /config/default.js: -------------------------------------------------------------------------------- 1 | /**! 2 | * Demos - config/index.js 3 | * 4 | * 项目配置文件 5 | * 6 | * Authors: 7 | * Berwin 8 | */ 9 | 10 | 11 | 'use strict'; 12 | 13 | var config = { 14 | port: 1995, 15 | mongo_url: 'mongodb://127.0.0.1:27017/demos', 16 | md5_suffix: 'Encryption', 17 | mailname: 'email-address', 18 | mailpass: 'email-password', 19 | hostname: 'http://www.demos.so', 20 | stat: { 21 | url: 'http://stat.berwin.me/api/v1/content', 22 | sourceID: '57500e23f8e333b51993ad86', 23 | token: '57500e23f8e333b51993ad85', 24 | codeErrGroupID: '57500e68f8e333b51993ad88', 25 | uvGroupID: '57500e55f8e333b51993ad87' 26 | } 27 | }; 28 | 29 | module.exports = config; -------------------------------------------------------------------------------- /controllers/api/code.js: -------------------------------------------------------------------------------- 1 | /**! 2 | * Demos - controller/api/code.js 3 | * 4 | * Authors: 5 | * Berwin 6 | */ 7 | 8 | 'use strict'; 9 | 10 | var codeService = require('../../services/code/index.js'); 11 | 12 | /* 13 | * 返回code相关信息 14 | * 15 | * @req-param {String} id codeID 16 | * @req-param {String} type {html|js} 17 | * @res {Object} codeInfo {code : '', userID: 'xxxxx', type: 'html'} 18 | */ 19 | exports.codeInfo = function *() { 20 | var id = this.params.id; 21 | var type = this.params.type; 22 | 23 | var code = yield *codeService.getCodeById(id); 24 | 25 | if (code) { 26 | this.body = code; 27 | } else { 28 | var userID = this.cookies.get('demos_session'); 29 | var str = '\n\n\n \n Demos\n\n\n \n\n'; 30 | var jsHeaderStr = '/**\n * filename: ' + id + '\n */\n'; 31 | var obj = {code : '', userID: userID, type: type}; 32 | if (type === 'html') obj.code = str; 33 | else if(type === 'js') obj.code = jsHeaderStr; 34 | this.body = obj; 35 | } 36 | }; 37 | 38 | /* 39 | * 保存code 40 | * 创建code包括 创建新code、更新旧code,另存为新code 41 | * 42 | * - 创建新code:在数据库中创建一条新数据 43 | * - 更新旧code:根据codeID更新code 44 | * - 另存为新code:保存code的用户并不是code的创建人时,会另存一份新数据 45 | * 46 | * @return {Object} 更新后的新数据 47 | */ 48 | exports.saveCode = function *() { 49 | var userID = this.cookies.get('demos_session'); 50 | 51 | if (!userID) { 52 | this.status = 403; 53 | this.body = 'not cookie demos_session'; 54 | } 55 | 56 | var body = this.request.body; 57 | body.userID = userID; 58 | 59 | this.body = yield *codeService.insertCode(body); 60 | }; 61 | 62 | /* 63 | * 获取code列表 64 | * 根据userID获取用户保存过的所有code 65 | * 66 | * @return {Array} code列表 67 | */ 68 | exports.getCodesByUserId = function *() { 69 | var userID = this.cookies.get('demos_session'); 70 | this.body = yield *codeService.getCodesByUserId(userID); 71 | }; 72 | 73 | /* 74 | * 通过codeID删除保存过的code数据 75 | */ 76 | exports.deleteCode = function *() { 77 | var id = this.params.id; 78 | var userID = this.cookies.get('demos_session'); 79 | 80 | try { 81 | this.body = yield *codeService.rmCodeById(id, userID); 82 | } catch(e) { 83 | this.status = this.status = 403; 84 | this.body = e.message; 85 | } 86 | }; -------------------------------------------------------------------------------- /controllers/web/index.js: -------------------------------------------------------------------------------- 1 | /**! 2 | * Demos - controller/web/index.js 3 | * 4 | * 用来渲染web页面的 controller 5 | * 6 | * Authors: 7 | * Berwin 8 | */ 9 | 10 | 'use strict'; 11 | 12 | var codeService = require('../../services/code/index.js'); 13 | var userService = require('../../services/user/index.js'); 14 | var ObjectID = require('../../models/base.js').ObjectID; 15 | var helper = require('../../helper/index.js'); 16 | var config = require('../../config/index.js'); 17 | 18 | exports.home = function *() { 19 | yield this.render('index'); 20 | }; 21 | 22 | exports.redirectHtml = function *() { 23 | var id = ObjectID().toString(); 24 | this.redirect('/html/' + id); 25 | }; 26 | 27 | exports.redirectJs = function *() { 28 | var id = ObjectID().toString(); 29 | this.redirect('/js/' + id); 30 | }; 31 | 32 | exports.edit = function *() { 33 | yield this.render('html/index', {data :{_id: this.params.id}}); 34 | }; 35 | 36 | exports.editJS = function *() { 37 | yield this.render('js/index', {data: {_id: this.params.id}}); 38 | }; 39 | 40 | exports.result = function *() { 41 | var result = yield *codeService.getCodeById(this.params.id); 42 | this.body = result ? result.code : '404'; 43 | }; 44 | 45 | exports.activate = function *() { 46 | var mail = this.params.mail; 47 | var passMd5 = this.params.md5; 48 | var newPassMd5 = helper.getMd5(mail + config.md5_suffix); 49 | 50 | if (passMd5 === newPassMd5) { 51 | var result = yield *userService.active(mail); 52 | yield this.render('other/activate', {mail: mail}); 53 | } else { 54 | this.status = 404; 55 | this.body = 'Incorrect parameters'; 56 | } 57 | }; -------------------------------------------------------------------------------- /helper/index.js: -------------------------------------------------------------------------------- 1 | /**! 2 | * Demos - helper/index.js 3 | * 4 | * Authors: 5 | * Berwin 6 | */ 7 | 8 | 'use strict'; 9 | 10 | var crypto = require('crypto'); 11 | var nodemailer = require('nodemailer'); 12 | var request = require('request'); 13 | var config = require('../config/index.js'); 14 | 15 | /* 16 | * 获取MD5 17 | * 18 | * @param {String} 任意字符串 19 | * @return {String} MD5之后的字符串 20 | */ 21 | exports.getMd5 = function (str) { 22 | if (!str && arguments.length === 0) return ''; 23 | 24 | var md5 = crypto.createHash('md5'); 25 | return md5.update(str, 'utf-8').digest('hex'); 26 | }; 27 | 28 | /* 29 | * 发送邮件 30 | * 31 | * @param {String} 目标邮箱地址 32 | * @param {String} 邮件标题 33 | * @param {String} 邮件内容 34 | * @param {Function} 回调函数 35 | */ 36 | exports.sendMail = function (mail, title, html) { 37 | var transporter = nodemailer.createTransport({ 38 | service: 'qq', 39 | auth: { 40 | user: config.mailname, 41 | pass: config.mailpass 42 | } 43 | }); 44 | var mailOptions = { 45 | from: 'Demos', 46 | to: mail, 47 | subject: title, 48 | html: html 49 | }; 50 | 51 | return function (done) { 52 | transporter.sendMail(mailOptions, done); 53 | } 54 | }; 55 | 56 | /* 57 | * 随机数 58 | * 59 | * @param {Number} 开始位置(包含) 60 | * @param {Number} 结束位置(包含) 61 | * @return {Number} 随机数字 62 | */ 63 | exports.ran = function (n, m) { 64 | return Math.round(Math.random() * (m-n) + n); 65 | }; 66 | 67 | /* 68 | * 生成随机字符串 69 | * 70 | * @param {Number} 字符串长度 71 | * @param {String} 字符串类型 72 | * 73 | * @例子 74 | * 75 | * ``` 76 | * // 返回包含 小写字符串,大写字符串,数字,特殊字符总数为6的随机字符串 77 | * randomPassword(6, 'naAs'); // '1dG#h^' 78 | * ``` 79 | * 80 | * @return {String} 随机字符串 81 | */ 82 | exports.randomPassword = function (length, type) { 83 | var obj = { 84 | n : '1234567890', 85 | a : 'abcdefghizklmnopqrstuvwsyz', 86 | A : 'ABCDEFGHIZKLMNOPQRSTUVWSYZ', 87 | s : '~!@#$%^&*()_+;,./?<>' 88 | }; 89 | 90 | var arr = []; 91 | var pw = ''; 92 | 93 | if (type.indexOf('n') !== -1) arr.push(obj.n); 94 | if (type.indexOf('a') !== -1) arr.push(obj.a); 95 | if (type.indexOf('A') !== -1) arr.push(obj.A); 96 | if (type.indexOf('s') !== -1) arr.push(obj.s); 97 | 98 | for (var i = 0; i < length; i++) { 99 | var j = exports.ran(0, arr.length - 1); 100 | var k = exports.ran(0, arr[j].length -1); 101 | pw += arr[j].charAt(k); 102 | } 103 | 104 | return pw; 105 | }; -------------------------------------------------------------------------------- /helper/stat.js: -------------------------------------------------------------------------------- 1 | /**! 2 | * Demos - helper/stat.js 3 | * 4 | * 提供一些向统计系统发送各种统计请求的方法 5 | * 6 | * Authors: 7 | * Berwin 8 | */ 9 | 10 | 'use strict'; 11 | 12 | var request = require('request'); 13 | var config = require('../config/index.js'); 14 | 15 | /* 16 | * 统计代码报错 17 | * 执行该函数,将想 stat.berwin.me 系统发送一条请求通知demos报错了。 18 | */ 19 | exports.statError = function () { 20 | var options = { 21 | url: config.stat.url, 22 | json: true, 23 | method: 'POST', 24 | timeout: 30000, 25 | body: { 26 | groupID : config.stat.codeErrGroupID, 27 | sourceID : config.stat.sourceID, 28 | token: config.stat.token, 29 | data : { 30 | value: 'error' 31 | } 32 | } 33 | }; 34 | request(options, function (e, r, body) {}); 35 | }; 36 | 37 | /* 38 | * 统计访问量 39 | * 执行该函数,将想 stat.berwin.me 系统发送一条请求通知demos报错了。 40 | */ 41 | exports.statUV = function (user) { 42 | var options = { 43 | url: config.stat.url, 44 | json: true, 45 | method: 'POST', 46 | timeout: 30000, 47 | body: { 48 | groupID : config.stat.uvGroupID, 49 | sourceID : config.stat.sourceID, 50 | token: config.stat.token, 51 | data : { 52 | user: user, 53 | value: 'load' 54 | } 55 | } 56 | }; 57 | request(options, function (e, r, body) {}); 58 | }; -------------------------------------------------------------------------------- /middleware/auth.js: -------------------------------------------------------------------------------- 1 | /**! 2 | * Demos - middleware/auth.js 3 | * 4 | * 认证用户是否是合法用户(合法用户是人,而不是机器之类的脚本) 5 | * 主要为了防止有人用脚本恶意往数据库中插入垃圾代码 6 | * 7 | * Authors: 8 | * Berwin 9 | */ 10 | 11 | 'use strict'; 12 | 13 | var helper = require('../helper/index.js'); 14 | var config = require('../config/index.js'); 15 | 16 | module.exports = function *(next) { 17 | var passMd5 = helper.getMd5(this.request.body.id + config.md5_suffix); 18 | 19 | if (this.cookies.get(passMd5)) { 20 | yield *next; 21 | } else { 22 | this.status = 403; 23 | this.body = 'Unable to pass authentication'; 24 | } 25 | }; -------------------------------------------------------------------------------- /middleware/set_session.js: -------------------------------------------------------------------------------- 1 | /**! 2 | * Demos - middleware/set_session.js 3 | * 4 | * 设置session和cookie 5 | * 6 | * Authors: 7 | * Berwin 8 | */ 9 | 10 | 'use strict'; 11 | 12 | var helper = require('../helper/index.js'); 13 | var config = require('../config/index.js'); 14 | var stat = require('../helper/stat.js'); 15 | var ObjectID = require('../models/base.js').ObjectID; 16 | 17 | /* 18 | * 为了防止恶意写入垃圾代码,做的一个策略 19 | * 1. 用codeID+md5_suffix 生成一个秘钥,设置到cookie中 20 | * 2. 保存代码的时候,验证这个秘钥是否正确 21 | * 事实证明,通过这种方式,成功了阻止了之前有人用脚本恶意往数据中插入大量垃圾数据的问题 22 | */ 23 | module.exports = function *(next) { 24 | var passMd5 = helper.getMd5(this.params.id + config.md5_suffix); 25 | 26 | // 如果是第一次访问,设置一个秘钥 27 | if (!this.cookies.get(passMd5)) { 28 | this.cookies.set(passMd5, 1, { httpOnly: true }); 29 | } 30 | 31 | // 给未注册的用户,设置一个userID(不注册也会有一个用户ID,用来查询这个匿名用户保存过哪些code) 32 | var userID = ObjectID().toString(); 33 | if (!this.cookies.get('demos_session')) { 34 | // 过期时间一个月,并且web端不可访问cookie值 35 | this.cookies.set('demos_session', userID, {expires: new Date(Date.now() + 86400000*30), httpOnly: true}); 36 | } 37 | 38 | // 为了配合前端,单独设置一个前端可以访问的cookie,让前端访问userID 39 | if (!this.cookies.get('userID')) { 40 | this.cookies.set('userID', userID, {expires: new Date(Date.now() + 86400000*30), httpOnly: false}); 41 | } 42 | 43 | // 统计访问量 44 | stat.statUV(this.cookies.get('demos_session') || '新用户(首次访问用户)'); 45 | 46 | yield *next; 47 | }; -------------------------------------------------------------------------------- /models/base.js: -------------------------------------------------------------------------------- 1 | /**! 2 | * Demos - models/base.js 3 | * 4 | * Authors: 5 | * Berwin 6 | */ 7 | 8 | 'use strict'; 9 | 10 | var config = require('../config/index.js'); 11 | var mongoskin = require('mongoskin'); 12 | var db = mongoskin.db(config.mongo_url, {native_parser: true}); 13 | 14 | exports.getCollection = function (collectionName) { 15 | return db.collection(collectionName); 16 | }; 17 | 18 | exports.ObjectID = mongoskin.ObjectID; -------------------------------------------------------------------------------- /models/code.js: -------------------------------------------------------------------------------- 1 | /**! 2 | * Demos - models/code.js 3 | * 4 | * Authors: 5 | * Berwin 6 | */ 7 | 8 | 'use strict'; 9 | 10 | var base = require('./base.js'); 11 | var db = base.getCollection('code'); 12 | 13 | /* 14 | * 插入数据到 code collection 中 15 | * 16 | * @param {Object} 要插入的数据 17 | * @return {Object} 插入后的数据 18 | */ 19 | exports.insertCode = function (data) { 20 | return function (done) { 21 | db.insert(data, done); 22 | } 23 | }; 24 | 25 | /* 26 | * 通过 codeID 修改数据 27 | * 28 | * @param {String} codeID 29 | * @param {Object} 想修改的数据 30 | * @return {Object} 修改后的数据 31 | */ 32 | exports.updateCodeById = function (id, data) { 33 | return function (done) { 34 | db.findAndModify({_id: id}, [], {$set: data}, {upsert: true, new: true}, done); 35 | } 36 | }; 37 | 38 | /* 39 | * 获取code信息 40 | * 41 | * @param {String} codeID 42 | * @return {Object} code相关信息 43 | */ 44 | exports.getCodeById = function (id) { 45 | return function (done) { 46 | db.findOne({_id: id}, done); 47 | } 48 | }; 49 | 50 | /* 51 | * 获取code列表 52 | * 53 | * @param {String} usreID 54 | * @return {Array} code列表 55 | */ 56 | exports.getCodesByUserId = function (userID) { 57 | return function (done) { 58 | db.find({userID : userID}).toArray(done); 59 | } 60 | }; 61 | 62 | /* 63 | * 删除数据 64 | * 65 | * @param {String} codeID 66 | */ 67 | exports.rmCodeById = function (id) { 68 | return function (done) { 69 | db.remove({_id: id}, done); 70 | } 71 | }; -------------------------------------------------------------------------------- /models/user.js: -------------------------------------------------------------------------------- 1 | /**! 2 | * Demos - models/user.js 3 | * 4 | * Authors: 5 | * Berwin 6 | */ 7 | 8 | 'use strict'; 9 | 10 | var base = require('./base.js'); 11 | var db = base.getCollection('user'); 12 | 13 | /* 14 | * 插入数据到 user collection 中 15 | * 16 | * @param {Object} 要插入的数据 17 | * @return {Object} 插入后的数据 18 | */ 19 | exports.insert = function (data) { 20 | return function (done) { 21 | db.insert(data, done); 22 | } 23 | }; 24 | 25 | /* 26 | * 获取用户数据 27 | * 28 | * @param {String} Email 29 | * @return {Object} 用户数据 30 | */ 31 | exports.getUserByMail = function (mail) { 32 | return function (done) { 33 | db.findOne({mail: mail}, done); 34 | } 35 | }; 36 | 37 | /* 38 | * 获取用户数据 39 | * 40 | * @param {String} userID 41 | * @return {Object} 用户数据 42 | */ 43 | exports.getUserById = function (id) { 44 | return function (done) { 45 | db.findOne({_id: id}, done); 46 | } 47 | }; 48 | 49 | /* 50 | * 修改用户数据 51 | * 52 | * @param {String} Email 53 | * @param {Object} 要修改的数据 54 | * @return {Object} 修改后的数据 55 | */ 56 | exports.updateUserByMail = function (mail, data) { 57 | return function (done) { 58 | db.findAndModify({mail: mail}, [], {$set: data}, {new: true}, done); 59 | } 60 | }; 61 | 62 | /* 63 | * 修改用户数据 64 | * 65 | * @param {String} userID 66 | * @param {Object} 要修改的数据 67 | * @return {Object} 修改后的数据 68 | */ 69 | exports.updateUserById = function (id, data) { 70 | return function (done) { 71 | db.findAndModify({_id: id}, [], {$set: data}, {new: true}, done); 72 | } 73 | }; -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "demos", 3 | "version": "2.0.0", 4 | "description": "Code Editor in the Browser", 5 | "main": "app.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "build": "browserify public/src/edit/html/index.js -o public/dist/bundle.html.js && browserify public/src/edit/js/index.js -o public/dist/bundle.js.js && browserify public/src/helper/common.js -o public/dist/bundle.common.js" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/berwin/demos.git" 13 | }, 14 | "keywords": [ 15 | "demos" 16 | ], 17 | "author": "Berwin", 18 | "license": "MIT", 19 | "bugs": { 20 | "url": "https://github.com/berwin/demos/issues" 21 | }, 22 | "homepage": "https://github.com/berwin/demos#readme", 23 | "dependencies": { 24 | "koa": "^1.2.0", 25 | "koa-bodyparser": "^2.1.0", 26 | "koa-ejs": "^3.0.0", 27 | "koa-logger": "^1.3.0", 28 | "koa-router": "^5.4.0", 29 | "koa-static": "^2.0.0", 30 | "mongodb": "^2.1.21", 31 | "mongoskin": "^2.1.0", 32 | "nodemailer": "^2.4.2", 33 | "request": "^2.72.0" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /process.json: -------------------------------------------------------------------------------- 1 | { 2 | "apps" : [{ 3 | "name": "demos", 4 | "script": "app.js", 5 | "exec_mode": "cluster", 6 | "instances": 0, 7 | "max_memory_restart": "150M", 8 | "log_date_format": "YYYY-MM-DD HH:mm Z", 9 | "log_file": "logs/combined.outerr.log", 10 | "error_file": "logs/err.log", 11 | "out_file": "logs/out.log", 12 | "merge_logs": true 13 | }] 14 | } -------------------------------------------------------------------------------- /public/dist/bundle.common.js: -------------------------------------------------------------------------------- 1 | (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|=" 47 | }, { 48 | token : "paren.lparen", 49 | regex : "[\\(]" 50 | }, { 51 | token : "paren.rparen", 52 | regex : "[\\)]" 53 | }, { 54 | token : "text", 55 | regex : "\\s+" 56 | } ] 57 | }; 58 | }; 59 | 60 | oop.inherits(AdaHighlightRules, TextHighlightRules); 61 | 62 | exports.AdaHighlightRules = AdaHighlightRules; 63 | }); 64 | 65 | define("ace/mode/ada",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ada_highlight_rules","ace/range"], function(require, exports, module) { 66 | "use strict"; 67 | 68 | var oop = require("../lib/oop"); 69 | var TextMode = require("./text").Mode; 70 | var AdaHighlightRules = require("./ada_highlight_rules").AdaHighlightRules; 71 | var Range = require("../range").Range; 72 | 73 | var Mode = function() { 74 | this.HighlightRules = AdaHighlightRules; 75 | }; 76 | oop.inherits(Mode, TextMode); 77 | 78 | (function() { 79 | 80 | this.lineCommentStart = "--"; 81 | 82 | this.$id = "ace/mode/ada"; 83 | }).call(Mode.prototype); 84 | 85 | exports.Mode = Mode; 86 | 87 | }); 88 | -------------------------------------------------------------------------------- /public/lib/ace/mode-gcode.js: -------------------------------------------------------------------------------- 1 | define("ace/mode/gcode_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | var oop = require("../lib/oop"); 5 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 6 | 7 | var GcodeHighlightRules = function() { 8 | 9 | var keywords = ( 10 | "IF|DO|WHILE|ENDWHILE|CALL|ENDIF|SUB|ENDSUB|GOTO|REPEAT|ENDREPEAT|CALL" 11 | ); 12 | 13 | var builtinConstants = ( 14 | "PI" 15 | ); 16 | 17 | var builtinFunctions = ( 18 | "ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN" 19 | ); 20 | var keywordMapper = this.createKeywordMapper({ 21 | "support.function": builtinFunctions, 22 | "keyword": keywords, 23 | "constant.language": builtinConstants 24 | }, "identifier", true); 25 | 26 | this.$rules = { 27 | "start" : [ { 28 | token : "comment", 29 | regex : "\\(.*\\)" 30 | }, { 31 | token : "comment", // block number 32 | regex : "([N])([0-9]+)" 33 | }, { 34 | token : "string", // " string 35 | regex : "([G])([0-9]+\\.?[0-9]?)" 36 | }, { 37 | token : "string", // ' string 38 | regex : "([M])([0-9]+\\.?[0-9]?)" 39 | }, { 40 | token : "constant.numeric", // float 41 | regex : "([-+]?([0-9]*\\.?[0-9]+\\.?))|(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)" 42 | }, { 43 | token : keywordMapper, 44 | regex : "[A-Z]" 45 | }, { 46 | token : "keyword.operator", 47 | regex : "EQ|LT|GT|NE|GE|LE|OR|XOR" 48 | }, { 49 | token : "paren.lparen", 50 | regex : "[\\[]" 51 | }, { 52 | token : "paren.rparen", 53 | regex : "[\\]]" 54 | }, { 55 | token : "text", 56 | regex : "\\s+" 57 | } ] 58 | }; 59 | }; 60 | 61 | oop.inherits(GcodeHighlightRules, TextHighlightRules); 62 | 63 | exports.GcodeHighlightRules = GcodeHighlightRules; 64 | }); 65 | 66 | define("ace/mode/gcode",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gcode_highlight_rules","ace/range"], function(require, exports, module) { 67 | "use strict"; 68 | 69 | var oop = require("../lib/oop"); 70 | var TextMode = require("./text").Mode; 71 | var GcodeHighlightRules = require("./gcode_highlight_rules").GcodeHighlightRules; 72 | var Range = require("../range").Range; 73 | 74 | var Mode = function() { 75 | this.HighlightRules = GcodeHighlightRules; 76 | }; 77 | oop.inherits(Mode, TextMode); 78 | 79 | (function() { 80 | this.$id = "ace/mode/gcode"; 81 | }).call(Mode.prototype); 82 | 83 | exports.Mode = Mode; 84 | 85 | }); 86 | -------------------------------------------------------------------------------- /public/lib/ace/mode-gitignore.js: -------------------------------------------------------------------------------- 1 | define("ace/mode/gitignore_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | var oop = require("../lib/oop"); 5 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 6 | 7 | var GitignoreHighlightRules = function() { 8 | this.$rules = { 9 | "start" : [ 10 | { 11 | token : "comment", 12 | regex : /^\s*#.*$/ 13 | }, { 14 | token : "keyword", // negated patterns 15 | regex : /^\s*!.*$/ 16 | } 17 | ] 18 | }; 19 | 20 | this.normalizeRules(); 21 | }; 22 | 23 | GitignoreHighlightRules.metaData = { 24 | fileTypes: ['gitignore'], 25 | name: 'Gitignore' 26 | }; 27 | 28 | oop.inherits(GitignoreHighlightRules, TextHighlightRules); 29 | 30 | exports.GitignoreHighlightRules = GitignoreHighlightRules; 31 | }); 32 | 33 | define("ace/mode/gitignore",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gitignore_highlight_rules"], function(require, exports, module) { 34 | "use strict"; 35 | 36 | var oop = require("../lib/oop"); 37 | var TextMode = require("./text").Mode; 38 | var GitignoreHighlightRules = require("./gitignore_highlight_rules").GitignoreHighlightRules; 39 | 40 | var Mode = function() { 41 | this.HighlightRules = GitignoreHighlightRules; 42 | }; 43 | oop.inherits(Mode, TextMode); 44 | 45 | (function() { 46 | this.$id = "ace/mode/gitignore"; 47 | }).call(Mode.prototype); 48 | 49 | exports.Mode = Mode; 50 | }); 51 | -------------------------------------------------------------------------------- /public/lib/ace/mode-lisp.js: -------------------------------------------------------------------------------- 1 | define("ace/mode/lisp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | var oop = require("../lib/oop"); 5 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 6 | 7 | var LispHighlightRules = function() { 8 | var keywordControl = "case|do|let|loop|if|else|when"; 9 | var keywordOperator = "eq|neq|and|or"; 10 | var constantLanguage = "null|nil"; 11 | var supportFunctions = "cons|car|cdr|cond|lambda|format|setq|setf|quote|eval|append|list|listp|memberp|t|load|progn"; 12 | 13 | var keywordMapper = this.createKeywordMapper({ 14 | "keyword.control": keywordControl, 15 | "keyword.operator": keywordOperator, 16 | "constant.language": constantLanguage, 17 | "support.function": supportFunctions 18 | }, "identifier", true); 19 | 20 | this.$rules = 21 | { 22 | "start": [ 23 | { 24 | token : "comment", 25 | regex : ";.*$" 26 | }, 27 | { 28 | token: ["storage.type.function-type.lisp", "text", "entity.name.function.lisp"], 29 | regex: "(?:\\b(?:(defun|defmethod|defmacro))\\b)(\\s+)((?:\\w|\\-|\\!|\\?)*)" 30 | }, 31 | { 32 | token: ["punctuation.definition.constant.character.lisp", "constant.character.lisp"], 33 | regex: "(#)((?:\\w|[\\\\+-=<>'\"&#])+)" 34 | }, 35 | { 36 | token: ["punctuation.definition.variable.lisp", "variable.other.global.lisp", "punctuation.definition.variable.lisp"], 37 | regex: "(\\*)(\\S*)(\\*)" 38 | }, 39 | { 40 | token : "constant.numeric", // hex 41 | regex : "0[xX][0-9a-fA-F]+(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b" 42 | }, 43 | { 44 | token : "constant.numeric", // float 45 | regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b" 46 | }, 47 | { 48 | token : keywordMapper, 49 | regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" 50 | }, 51 | { 52 | token : "string", 53 | regex : '"(?=.)', 54 | next : "qqstring" 55 | } 56 | ], 57 | "qqstring": [ 58 | { 59 | token: "constant.character.escape.lisp", 60 | regex: "\\\\." 61 | }, 62 | { 63 | token : "string", 64 | regex : '[^"\\\\]+' 65 | }, { 66 | token : "string", 67 | regex : "\\\\$", 68 | next : "qqstring" 69 | }, { 70 | token : "string", 71 | regex : '"|$', 72 | next : "start" 73 | } 74 | ] 75 | } 76 | 77 | }; 78 | 79 | oop.inherits(LispHighlightRules, TextHighlightRules); 80 | 81 | exports.LispHighlightRules = LispHighlightRules; 82 | }); 83 | 84 | define("ace/mode/lisp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lisp_highlight_rules"], function(require, exports, module) { 85 | "use strict"; 86 | 87 | var oop = require("../lib/oop"); 88 | var TextMode = require("./text").Mode; 89 | var LispHighlightRules = require("./lisp_highlight_rules").LispHighlightRules; 90 | 91 | var Mode = function() { 92 | this.HighlightRules = LispHighlightRules; 93 | }; 94 | oop.inherits(Mode, TextMode); 95 | 96 | (function() { 97 | 98 | this.lineCommentStart = ";"; 99 | 100 | this.$id = "ace/mode/lisp"; 101 | }).call(Mode.prototype); 102 | 103 | exports.Mode = Mode; 104 | }); 105 | -------------------------------------------------------------------------------- /public/lib/ace/mode-lucene.js: -------------------------------------------------------------------------------- 1 | define("ace/mode/lucene_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | var oop = require("../lib/oop"); 5 | var lang = require("../lib/lang"); 6 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 7 | 8 | var LuceneHighlightRules = function() { 9 | this.$rules = { 10 | "start" : [ 11 | { 12 | token : "constant.character.negation", 13 | regex : "[\\-]" 14 | }, { 15 | token : "constant.character.interro", 16 | regex : "[\\?]" 17 | }, { 18 | token : "constant.character.asterisk", 19 | regex : "[\\*]" 20 | }, { 21 | token: 'constant.character.proximity', 22 | regex: '~[0-9]+\\b' 23 | }, { 24 | token : 'keyword.operator', 25 | regex: '(?:AND|OR|NOT)\\b' 26 | }, { 27 | token : "paren.lparen", 28 | regex : "[\\(]" 29 | }, { 30 | token : "paren.rparen", 31 | regex : "[\\)]" 32 | }, { 33 | token : "keyword", 34 | regex : "[\\S]+:" 35 | }, { 36 | token : "string", // " string 37 | regex : '".*?"' 38 | }, { 39 | token : "text", 40 | regex : "\\s+" 41 | } 42 | ] 43 | }; 44 | }; 45 | 46 | oop.inherits(LuceneHighlightRules, TextHighlightRules); 47 | 48 | exports.LuceneHighlightRules = LuceneHighlightRules; 49 | }); 50 | 51 | define("ace/mode/lucene",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lucene_highlight_rules"], function(require, exports, module) { 52 | 'use strict'; 53 | 54 | var oop = require("../lib/oop"); 55 | var TextMode = require("./text").Mode; 56 | var LuceneHighlightRules = require("./lucene_highlight_rules").LuceneHighlightRules; 57 | 58 | var Mode = function() { 59 | this.HighlightRules = LuceneHighlightRules; 60 | }; 61 | 62 | oop.inherits(Mode, TextMode); 63 | 64 | (function() { 65 | this.$id = "ace/mode/lucene"; 66 | }).call(Mode.prototype); 67 | 68 | exports.Mode = Mode; 69 | }); 70 | -------------------------------------------------------------------------------- /public/lib/ace/mode-plain_text.js: -------------------------------------------------------------------------------- 1 | define("ace/mode/plain_text",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/behaviour"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | var oop = require("../lib/oop"); 5 | var TextMode = require("./text").Mode; 6 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 7 | var Behaviour = require("./behaviour").Behaviour; 8 | 9 | var Mode = function() { 10 | this.HighlightRules = TextHighlightRules; 11 | this.$behaviour = new Behaviour(); 12 | }; 13 | 14 | oop.inherits(Mode, TextMode); 15 | 16 | (function() { 17 | this.type = "text"; 18 | this.getNextLineIndent = function(state, line, tab) { 19 | return ''; 20 | }; 21 | this.$id = "ace/mode/plain_text"; 22 | }).call(Mode.prototype); 23 | 24 | exports.Mode = Mode; 25 | }); 26 | -------------------------------------------------------------------------------- /public/lib/ace/mode-properties.js: -------------------------------------------------------------------------------- 1 | define("ace/mode/properties_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | var oop = require("../lib/oop"); 5 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 6 | 7 | var PropertiesHighlightRules = function() { 8 | 9 | var escapeRe = /\\u[0-9a-fA-F]{4}|\\/; 10 | 11 | this.$rules = { 12 | "start" : [ 13 | { 14 | token : "comment", 15 | regex : /[!#].*$/ 16 | }, { 17 | token : "keyword", 18 | regex : /[=:]$/ 19 | }, { 20 | token : "keyword", 21 | regex : /[=:]/, 22 | next : "value" 23 | }, { 24 | token : "constant.language.escape", 25 | regex : escapeRe 26 | }, { 27 | defaultToken: "variable" 28 | } 29 | ], 30 | "value" : [ 31 | { 32 | regex : /\\$/, 33 | token : "string", 34 | next : "value" 35 | }, { 36 | regex : /$/, 37 | token : "string", 38 | next : "start" 39 | }, { 40 | token : "constant.language.escape", 41 | regex : escapeRe 42 | }, { 43 | defaultToken: "string" 44 | } 45 | ] 46 | }; 47 | 48 | }; 49 | 50 | oop.inherits(PropertiesHighlightRules, TextHighlightRules); 51 | 52 | exports.PropertiesHighlightRules = PropertiesHighlightRules; 53 | }); 54 | 55 | define("ace/mode/properties",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/properties_highlight_rules"], function(require, exports, module) { 56 | "use strict"; 57 | 58 | var oop = require("../lib/oop"); 59 | var TextMode = require("./text").Mode; 60 | var PropertiesHighlightRules = require("./properties_highlight_rules").PropertiesHighlightRules; 61 | 62 | var Mode = function() { 63 | this.HighlightRules = PropertiesHighlightRules; 64 | }; 65 | oop.inherits(Mode, TextMode); 66 | 67 | (function() { 68 | this.$id = "ace/mode/properties"; 69 | }).call(Mode.prototype); 70 | 71 | exports.Mode = Mode; 72 | }); 73 | -------------------------------------------------------------------------------- /public/lib/ace/mode-sql.js: -------------------------------------------------------------------------------- 1 | define("ace/mode/sql_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | var oop = require("../lib/oop"); 5 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 6 | 7 | var SqlHighlightRules = function() { 8 | 9 | var keywords = ( 10 | "select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|" + 11 | "when|else|end|type|left|right|join|on|outer|desc|asc" 12 | ); 13 | 14 | var builtinConstants = ( 15 | "true|false|null" 16 | ); 17 | 18 | var builtinFunctions = ( 19 | "count|min|max|avg|sum|rank|now|coalesce" 20 | ); 21 | 22 | var keywordMapper = this.createKeywordMapper({ 23 | "support.function": builtinFunctions, 24 | "keyword": keywords, 25 | "constant.language": builtinConstants 26 | }, "identifier", true); 27 | 28 | this.$rules = { 29 | "start" : [ { 30 | token : "comment", 31 | regex : "--.*$" 32 | }, { 33 | token : "comment", 34 | start : "/\\*", 35 | end : "\\*/" 36 | }, { 37 | token : "string", // " string 38 | regex : '".*?"' 39 | }, { 40 | token : "string", // ' string 41 | regex : "'.*?'" 42 | }, { 43 | token : "constant.numeric", // float 44 | regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b" 45 | }, { 46 | token : keywordMapper, 47 | regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" 48 | }, { 49 | token : "keyword.operator", 50 | regex : "\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|=" 51 | }, { 52 | token : "paren.lparen", 53 | regex : "[\\(]" 54 | }, { 55 | token : "paren.rparen", 56 | regex : "[\\)]" 57 | }, { 58 | token : "text", 59 | regex : "\\s+" 60 | } ] 61 | }; 62 | this.normalizeRules(); 63 | }; 64 | 65 | oop.inherits(SqlHighlightRules, TextHighlightRules); 66 | 67 | exports.SqlHighlightRules = SqlHighlightRules; 68 | }); 69 | 70 | define("ace/mode/sql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sql_highlight_rules","ace/range"], function(require, exports, module) { 71 | "use strict"; 72 | 73 | var oop = require("../lib/oop"); 74 | var TextMode = require("./text").Mode; 75 | var SqlHighlightRules = require("./sql_highlight_rules").SqlHighlightRules; 76 | var Range = require("../range").Range; 77 | 78 | var Mode = function() { 79 | this.HighlightRules = SqlHighlightRules; 80 | }; 81 | oop.inherits(Mode, TextMode); 82 | 83 | (function() { 84 | 85 | this.lineCommentStart = "--"; 86 | 87 | this.$id = "ace/mode/sql"; 88 | }).call(Mode.prototype); 89 | 90 | exports.Mode = Mode; 91 | 92 | }); 93 | -------------------------------------------------------------------------------- /public/lib/ace/mode-text.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/abap.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/abap",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "abap"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/ada.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/ada",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "ada"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/apache_conf.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/apache_conf",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "apache_conf"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/applescript.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/applescript",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "applescript"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/asciidoc.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/asciidoc",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "asciidoc"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/assembly_x86.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/assembly_x86",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "assembly_x86"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/autohotkey.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/autohotkey",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "autohotkey"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/batchfile.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/batchfile",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "batchfile"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/c9search.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/c9search",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "c9search"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/cirru.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/cirru",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "cirru"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/clojure.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/clojure",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet comm\n\ 5 | (comment\n\ 6 | ${1}\n\ 7 | )\n\ 8 | snippet condp\n\ 9 | (condp ${1:pred} ${2:expr}\n\ 10 | ${3})\n\ 11 | snippet def\n\ 12 | (def ${1})\n\ 13 | snippet defm\n\ 14 | (defmethod ${1:multifn} \"${2:doc-string}\" ${3:dispatch-val} [${4:args}]\n\ 15 | ${5})\n\ 16 | snippet defmm\n\ 17 | (defmulti ${1:name} \"${2:doc-string}\" ${3:dispatch-fn})\n\ 18 | snippet defma\n\ 19 | (defmacro ${1:name} \"${2:doc-string}\" ${3:dispatch-fn})\n\ 20 | snippet defn\n\ 21 | (defn ${1:name} \"${2:doc-string}\" [${3:arg-list}]\n\ 22 | ${4})\n\ 23 | snippet defp\n\ 24 | (defprotocol ${1:name}\n\ 25 | ${2})\n\ 26 | snippet defr\n\ 27 | (defrecord ${1:name} [${2:fields}]\n\ 28 | ${3:protocol}\n\ 29 | ${4})\n\ 30 | snippet deft\n\ 31 | (deftest ${1:name}\n\ 32 | (is (= ${2:assertion})))\n\ 33 | ${3})\n\ 34 | snippet is\n\ 35 | (is (= ${1} ${2}))\n\ 36 | snippet defty\n\ 37 | (deftype ${1:Name} [${2:fields}]\n\ 38 | ${3:Protocol}\n\ 39 | ${4})\n\ 40 | snippet doseq\n\ 41 | (doseq [${1:elem} ${2:coll}]\n\ 42 | ${3})\n\ 43 | snippet fn\n\ 44 | (fn [${1:arg-list}] ${2})\n\ 45 | snippet if\n\ 46 | (if ${1:test-expr}\n\ 47 | ${2:then-expr}\n\ 48 | ${3:else-expr})\n\ 49 | snippet if-let \n\ 50 | (if-let [${1:result} ${2:test-expr}]\n\ 51 | (${3:then-expr} $1)\n\ 52 | (${4:else-expr}))\n\ 53 | snippet imp\n\ 54 | (:import [${1:package}])\n\ 55 | & {:keys [${1:keys}] :or {${2:defaults}}}\n\ 56 | snippet let\n\ 57 | (let [${1:name} ${2:expr}]\n\ 58 | ${3})\n\ 59 | snippet letfn\n\ 60 | (letfn [(${1:name) [${2:args}]\n\ 61 | ${3})])\n\ 62 | snippet map\n\ 63 | (map ${1:func} ${2:coll})\n\ 64 | snippet mapl\n\ 65 | (map #(${1:lambda}) ${2:coll})\n\ 66 | snippet met\n\ 67 | (${1:name} [${2:this} ${3:args}]\n\ 68 | ${4})\n\ 69 | snippet ns\n\ 70 | (ns ${1:name}\n\ 71 | ${2})\n\ 72 | snippet dotimes\n\ 73 | (dotimes [_ 10]\n\ 74 | (time\n\ 75 | (dotimes [_ ${1:times}]\n\ 76 | ${2})))\n\ 77 | snippet pmethod\n\ 78 | (${1:name} [${2:this} ${3:args}])\n\ 79 | snippet refer\n\ 80 | (:refer-clojure :exclude [${1}])\n\ 81 | snippet require\n\ 82 | (:require [${1:namespace} :as [${2}]])\n\ 83 | snippet use\n\ 84 | (:use [${1:namespace} :only [${2}]])\n\ 85 | snippet print\n\ 86 | (println ${1})\n\ 87 | snippet reduce\n\ 88 | (reduce ${1:(fn [p n] ${3})} ${2})\n\ 89 | snippet when\n\ 90 | (when ${1:test} ${2:body})\n\ 91 | snippet when-let\n\ 92 | (when-let [${1:result} ${2:test}]\n\ 93 | ${3:body})\n\ 94 | "; 95 | exports.scope = "clojure"; 96 | 97 | }); 98 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/cobol.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/cobol",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "cobol"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/coffee.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/coffee",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# Closure loop\n\ 5 | snippet forindo\n\ 6 | for ${1:name} in ${2:array}\n\ 7 | do ($1) ->\n\ 8 | ${3:// body}\n\ 9 | # Array comprehension\n\ 10 | snippet fora\n\ 11 | for ${1:name} in ${2:array}\n\ 12 | ${3:// body...}\n\ 13 | # Object comprehension\n\ 14 | snippet foro\n\ 15 | for ${1:key}, ${2:value} of ${3:object}\n\ 16 | ${4:// body...}\n\ 17 | # Range comprehension (inclusive)\n\ 18 | snippet forr\n\ 19 | for ${1:name} in [${2:start}..${3:finish}]\n\ 20 | ${4:// body...}\n\ 21 | snippet forrb\n\ 22 | for ${1:name} in [${2:start}..${3:finish}] by ${4:step}\n\ 23 | ${5:// body...}\n\ 24 | # Range comprehension (exclusive)\n\ 25 | snippet forrex\n\ 26 | for ${1:name} in [${2:start}...${3:finish}]\n\ 27 | ${4:// body...}\n\ 28 | snippet forrexb\n\ 29 | for ${1:name} in [${2:start}...${3:finish}] by ${4:step}\n\ 30 | ${5:// body...}\n\ 31 | # Function\n\ 32 | snippet fun\n\ 33 | (${1:args}) ->\n\ 34 | ${2:// body...}\n\ 35 | # Function (bound)\n\ 36 | snippet bfun\n\ 37 | (${1:args}) =>\n\ 38 | ${2:// body...}\n\ 39 | # Class\n\ 40 | snippet cla class ..\n\ 41 | class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\ 42 | ${2}\n\ 43 | snippet cla class .. constructor: ..\n\ 44 | class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\ 45 | constructor: (${2:args}) ->\n\ 46 | ${3}\n\ 47 | \n\ 48 | ${4}\n\ 49 | snippet cla class .. extends ..\n\ 50 | class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} extends ${2:ParentClass}\n\ 51 | ${3}\n\ 52 | snippet cla class .. extends .. constructor: ..\n\ 53 | class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} extends ${2:ParentClass}\n\ 54 | constructor: (${3:args}) ->\n\ 55 | ${4}\n\ 56 | \n\ 57 | ${5}\n\ 58 | # If\n\ 59 | snippet if\n\ 60 | if ${1:condition}\n\ 61 | ${2:// body...}\n\ 62 | # If __ Else\n\ 63 | snippet ife\n\ 64 | if ${1:condition}\n\ 65 | ${2:// body...}\n\ 66 | else\n\ 67 | ${3:// body...}\n\ 68 | # Else if\n\ 69 | snippet elif\n\ 70 | else if ${1:condition}\n\ 71 | ${2:// body...}\n\ 72 | # Ternary If\n\ 73 | snippet ifte\n\ 74 | if ${1:condition} then ${2:value} else ${3:other}\n\ 75 | # Unless\n\ 76 | snippet unl\n\ 77 | ${1:action} unless ${2:condition}\n\ 78 | # Switch\n\ 79 | snippet swi\n\ 80 | switch ${1:object}\n\ 81 | when ${2:value}\n\ 82 | ${3:// body...}\n\ 83 | \n\ 84 | # Log\n\ 85 | snippet log\n\ 86 | console.log ${1}\n\ 87 | # Try __ Catch\n\ 88 | snippet try\n\ 89 | try\n\ 90 | ${1}\n\ 91 | catch ${2:error}\n\ 92 | ${3}\n\ 93 | # Require\n\ 94 | snippet req\n\ 95 | ${2:$1} = require '${1:sys}'${3}\n\ 96 | # Export\n\ 97 | snippet exp\n\ 98 | ${1:root} = exports ? this\n\ 99 | "; 100 | exports.scope = "coffee"; 101 | 102 | }); 103 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/coldfusion.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/coldfusion",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "coldfusion"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/csharp.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/csharp",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "csharp"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/curly.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/curly",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "curly"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/d.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/d",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "d"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/dart.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/dart",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet lib\n\ 5 | library ${1};\n\ 6 | ${2}\n\ 7 | snippet im\n\ 8 | import '${1}';\n\ 9 | ${2}\n\ 10 | snippet pa\n\ 11 | part '${1}';\n\ 12 | ${2}\n\ 13 | snippet pao\n\ 14 | part of ${1};\n\ 15 | ${2}\n\ 16 | snippet main\n\ 17 | void main() {\n\ 18 | ${1:/* code */}\n\ 19 | }\n\ 20 | snippet st\n\ 21 | static ${1}\n\ 22 | snippet fi\n\ 23 | final ${1}\n\ 24 | snippet re\n\ 25 | return ${1}\n\ 26 | snippet br\n\ 27 | break;\n\ 28 | snippet th\n\ 29 | throw ${1}\n\ 30 | snippet cl\n\ 31 | class ${1:`Filename(\"\", \"untitled\")`} ${2}\n\ 32 | snippet imp\n\ 33 | implements ${1}\n\ 34 | snippet ext\n\ 35 | extends ${1}\n\ 36 | snippet if\n\ 37 | if (${1:true}) {\n\ 38 | ${2}\n\ 39 | }\n\ 40 | snippet ife\n\ 41 | if (${1:true}) {\n\ 42 | ${2}\n\ 43 | } else {\n\ 44 | ${3}\n\ 45 | }\n\ 46 | snippet el\n\ 47 | else\n\ 48 | snippet sw\n\ 49 | switch (${1}) {\n\ 50 | ${2}\n\ 51 | }\n\ 52 | snippet cs\n\ 53 | case ${1}:\n\ 54 | ${2}\n\ 55 | snippet de\n\ 56 | default:\n\ 57 | ${1}\n\ 58 | snippet for\n\ 59 | for (var ${2:i} = 0, len = ${1:things}.length; $2 < len; ${3:++}$2) {\n\ 60 | ${4:$1[$2]}\n\ 61 | }\n\ 62 | snippet fore\n\ 63 | for (final ${2:item} in ${1:itemList}) {\n\ 64 | ${3:/* code */}\n\ 65 | }\n\ 66 | snippet wh\n\ 67 | while (${1:/* condition */}) {\n\ 68 | ${2:/* code */}\n\ 69 | }\n\ 70 | snippet dowh\n\ 71 | do {\n\ 72 | ${2:/* code */}\n\ 73 | } while (${1:/* condition */});\n\ 74 | snippet as\n\ 75 | assert(${1:/* condition */});\n\ 76 | snippet try\n\ 77 | try {\n\ 78 | ${2}\n\ 79 | } catch (${1:Exception e}) {\n\ 80 | }\n\ 81 | snippet tryf\n\ 82 | try {\n\ 83 | ${2}\n\ 84 | } catch (${1:Exception e}) {\n\ 85 | } finally {\n\ 86 | }\n\ 87 | "; 88 | exports.scope = "dart"; 89 | 90 | }); 91 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/diff.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/diff",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# DEP-3 (http://dep.debian.net/deps/dep3/) style patch header\n\ 5 | snippet header DEP-3 style header\n\ 6 | Description: ${1}\n\ 7 | Origin: ${2:vendor|upstream|other}, ${3:url of the original patch}\n\ 8 | Bug: ${4:url in upstream bugtracker}\n\ 9 | Forwarded: ${5:no|not-needed|url}\n\ 10 | Author: ${6:`g:snips_author`}\n\ 11 | Reviewed-by: ${7:name and email}\n\ 12 | Last-Update: ${8:`strftime(\"%Y-%m-%d\")`}\n\ 13 | Applied-Upstream: ${9:upstream version|url|commit}\n\ 14 | \n\ 15 | "; 16 | exports.scope = "diff"; 17 | 18 | }); 19 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/dockerfile.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/dockerfile",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "dockerfile"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/dot.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/dot",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "dot"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/eiffel.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/eiffel",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "eiffel"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/ejs.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/ejs",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "ejs"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/forth.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/forth",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "forth"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/ftl.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/ftl",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "ftl"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/gcode.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/gcode",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "gcode"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/gherkin.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/gherkin",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "gherkin"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/gitignore.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/gitignore",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "gitignore"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/glsl.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/glsl",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "glsl"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/golang.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/golang",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "golang"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/groovy.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/groovy",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "groovy"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/haml.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/haml",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet t\n\ 5 | %table\n\ 6 | %tr\n\ 7 | %th\n\ 8 | ${1:headers}\n\ 9 | %tr\n\ 10 | %td\n\ 11 | ${2:headers}\n\ 12 | snippet ul\n\ 13 | %ul\n\ 14 | %li\n\ 15 | ${1:item}\n\ 16 | %li\n\ 17 | snippet =rp\n\ 18 | = render :partial => '${1:partial}'\n\ 19 | snippet =rpl\n\ 20 | = render :partial => '${1:partial}', :locals => {}\n\ 21 | snippet =rpc\n\ 22 | = render :partial => '${1:partial}', :collection => @$1\n\ 23 | \n\ 24 | "; 25 | exports.scope = "haml"; 26 | 27 | }); 28 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/handlebars.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/handlebars",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "handlebars"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/haskell.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/haskell",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet lang\n\ 5 | {-# LANGUAGE ${1:OverloadedStrings} #-}\n\ 6 | snippet info\n\ 7 | -- |\n\ 8 | -- Module : ${1:Module.Namespace}\n\ 9 | -- Copyright : ${2:Author} ${3:2011-2012}\n\ 10 | -- License : ${4:BSD3}\n\ 11 | --\n\ 12 | -- Maintainer : ${5:email@something.com}\n\ 13 | -- Stability : ${6:experimental}\n\ 14 | -- Portability : ${7:unknown}\n\ 15 | --\n\ 16 | -- ${8:Description}\n\ 17 | --\n\ 18 | snippet import\n\ 19 | import ${1:Data.Text}\n\ 20 | snippet import2\n\ 21 | import ${1:Data.Text} (${2:head})\n\ 22 | snippet importq\n\ 23 | import qualified ${1:Data.Text} as ${2:T}\n\ 24 | snippet inst\n\ 25 | instance ${1:Monoid} ${2:Type} where\n\ 26 | ${3}\n\ 27 | snippet type\n\ 28 | type ${1:Type} = ${2:Type}\n\ 29 | snippet data\n\ 30 | data ${1:Type} = ${2:$1} ${3:Int}\n\ 31 | snippet newtype\n\ 32 | newtype ${1:Type} = ${2:$1} ${3:Int}\n\ 33 | snippet class\n\ 34 | class ${1:Class} a where\n\ 35 | ${2}\n\ 36 | snippet module\n\ 37 | module `substitute(substitute(expand('%:r'), '[/\\\\]','.','g'),'^\\%(\\l*\\.\\)\\?','','')` (\n\ 38 | ) where\n\ 39 | `expand('%') =~ 'Main' ? \"\\n\\nmain = do\\n print \\\"hello world\\\"\" : \"\"`\n\ 40 | \n\ 41 | snippet const\n\ 42 | ${1:name} :: ${2:a}\n\ 43 | $1 = ${3:undefined}\n\ 44 | snippet fn\n\ 45 | ${1:fn} :: ${2:a} -> ${3:a}\n\ 46 | $1 ${4} = ${5:undefined}\n\ 47 | snippet fn2\n\ 48 | ${1:fn} :: ${2:a} -> ${3:a} -> ${4:a}\n\ 49 | $1 ${5} = ${6:undefined}\n\ 50 | snippet ap\n\ 51 | ${1:map} ${2:fn} ${3:list}\n\ 52 | snippet do\n\ 53 | do\n\ 54 | \n\ 55 | snippet λ\n\ 56 | \\${1:x} -> ${2}\n\ 57 | snippet \\\n\ 58 | \\${1:x} -> ${2}\n\ 59 | snippet <-\n\ 60 | ${1:a} <- ${2:m a}\n\ 61 | snippet ←\n\ 62 | ${1:a} <- ${2:m a}\n\ 63 | snippet ->\n\ 64 | ${1:m a} -> ${2:a}\n\ 65 | snippet →\n\ 66 | ${1:m a} -> ${2:a}\n\ 67 | snippet tup\n\ 68 | (${1:a}, ${2:b})\n\ 69 | snippet tup2\n\ 70 | (${1:a}, ${2:b}, ${3:c})\n\ 71 | snippet tup3\n\ 72 | (${1:a}, ${2:b}, ${3:c}, ${4:d})\n\ 73 | snippet rec\n\ 74 | ${1:Record} { ${2:recFieldA} = ${3:undefined}\n\ 75 | , ${4:recFieldB} = ${5:undefined}\n\ 76 | }\n\ 77 | snippet case\n\ 78 | case ${1:something} of\n\ 79 | ${2} -> ${3}\n\ 80 | snippet let\n\ 81 | let ${1} = ${2}\n\ 82 | in ${3}\n\ 83 | snippet where\n\ 84 | where\n\ 85 | ${1:fn} = ${2:undefined}\n\ 86 | "; 87 | exports.scope = "haskell"; 88 | 89 | }); 90 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/haxe.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/haxe",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "haxe"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/html_ruby.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/html_ruby",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "html_ruby"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/ini.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/ini",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "ini"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/jack.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/jack",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "jack"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/jade.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/jade",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "jade"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/json.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/json",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "json"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/jsoniq.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/jsoniq",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet for\n\ 5 | for $${1:item} in ${2:expr}\n\ 6 | snippet return\n\ 7 | return ${1:expr}\n\ 8 | snippet import\n\ 9 | import module namespace ${1:ns} = \"${2:http://www.example.com/}\";\n\ 10 | snippet some\n\ 11 | some $${1:varname} in ${2:expr} satisfies ${3:expr}\n\ 12 | snippet every\n\ 13 | every $${1:varname} in ${2:expr} satisfies ${3:expr}\n\ 14 | snippet if\n\ 15 | if(${1:true}) then ${2:expr} else ${3:true}\n\ 16 | snippet switch\n\ 17 | switch(${1:\"foo\"})\n\ 18 | case ${2:\"foo\"}\n\ 19 | return ${3:true}\n\ 20 | default return ${4:false}\n\ 21 | snippet try\n\ 22 | try { ${1:expr} } catch ${2:*} { ${3:expr} }\n\ 23 | snippet tumbling\n\ 24 | for tumbling window $${1:varname} in ${2:expr}\n\ 25 | start at $${3:start} when ${4:expr}\n\ 26 | end at $${5:end} when ${6:expr}\n\ 27 | return ${7:expr}\n\ 28 | snippet sliding\n\ 29 | for sliding window $${1:varname} in ${2:expr}\n\ 30 | start at $${3:start} when ${4:expr}\n\ 31 | end at $${5:end} when ${6:expr}\n\ 32 | return ${7:expr}\n\ 33 | snippet let\n\ 34 | let $${1:varname} := ${2:expr}\n\ 35 | snippet group\n\ 36 | group by $${1:varname} := ${2:expr}\n\ 37 | snippet order\n\ 38 | order by ${1:expr} ${2:descending}\n\ 39 | snippet stable\n\ 40 | stable order by ${1:expr}\n\ 41 | snippet count\n\ 42 | count $${1:varname}\n\ 43 | snippet ordered\n\ 44 | ordered { ${1:expr} }\n\ 45 | snippet unordered\n\ 46 | unordered { ${1:expr} }\n\ 47 | snippet treat \n\ 48 | treat as ${1:expr}\n\ 49 | snippet castable\n\ 50 | castable as ${1:atomicType}\n\ 51 | snippet cast\n\ 52 | cast as ${1:atomicType}\n\ 53 | snippet typeswitch\n\ 54 | typeswitch(${1:expr})\n\ 55 | case ${2:type} return ${3:expr}\n\ 56 | default return ${4:expr}\n\ 57 | snippet var\n\ 58 | declare variable $${1:varname} := ${2:expr};\n\ 59 | snippet fn\n\ 60 | declare function ${1:ns}:${2:name}(){\n\ 61 | ${3:expr}\n\ 62 | };\n\ 63 | snippet module\n\ 64 | module namespace ${1:ns} = \"${2:http://www.example.com}\";\n\ 65 | "; 66 | exports.scope = "jsoniq"; 67 | 68 | }); 69 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/jsp.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/jsp",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet @page\n\ 5 | <%@page contentType=\"text/html\" pageEncoding=\"UTF-8\"%>\n\ 6 | snippet jstl\n\ 7 | <%@ taglib uri=\"http://java.sun.com/jsp/jstl/core\" prefix=\"c\" %>\n\ 8 | <%@ taglib uri=\"http://java.sun.com/jsp/jstl/functions\" prefix=\"fn\" %>\n\ 9 | snippet jstl:c\n\ 10 | <%@ taglib uri=\"http://java.sun.com/jsp/jstl/core\" prefix=\"c\" %>\n\ 11 | snippet jstl:fn\n\ 12 | <%@ taglib uri=\"http://java.sun.com/jsp/jstl/functions\" prefix=\"fn\" %>\n\ 13 | snippet cpath\n\ 14 | ${pageContext.request.contextPath}\n\ 15 | snippet cout\n\ 16 | \n\ 17 | snippet cset\n\ 18 | \n\ 19 | snippet cremove\n\ 20 | \n\ 21 | snippet ccatch\n\ 22 | \n\ 23 | snippet cif\n\ 24 | \n\ 25 | ${2}\n\ 26 | \n\ 27 | snippet cchoose\n\ 28 | \n\ 29 | ${1}\n\ 30 | \n\ 31 | snippet cwhen\n\ 32 | \n\ 33 | ${2}\n\ 34 | \n\ 35 | snippet cother\n\ 36 | \n\ 37 | ${1}\n\ 38 | \n\ 39 | snippet cfore\n\ 40 | \n\ 41 | ${4:}\n\ 42 | \n\ 43 | snippet cfort\n\ 44 | ${2:item1,item2,item3}\n\ 45 | \n\ 46 | ${5:}\n\ 47 | \n\ 48 | snippet cparam\n\ 49 | \n\ 50 | snippet cparam+\n\ 51 | \n\ 52 | cparam+${3}\n\ 53 | snippet cimport\n\ 54 | \n\ 55 | snippet cimport+\n\ 56 | \n\ 57 | \n\ 58 | cparam+${4}\n\ 59 | \n\ 60 | snippet curl\n\ 61 | \n\ 62 | ${3}\n\ 63 | snippet curl+\n\ 64 | \n\ 65 | \n\ 66 | cparam+${6}\n\ 67 | \n\ 68 | ${3}\n\ 69 | snippet credirect\n\ 70 | \n\ 71 | snippet contains\n\ 72 | ${fn:contains(${1:string}, ${2:substr})}\n\ 73 | snippet contains:i\n\ 74 | ${fn:containsIgnoreCase(${1:string}, ${2:substr})}\n\ 75 | snippet endswith\n\ 76 | ${fn:endsWith(${1:string}, ${2:suffix})}\n\ 77 | snippet escape\n\ 78 | ${fn:escapeXml(${1:string})}\n\ 79 | snippet indexof\n\ 80 | ${fn:indexOf(${1:string}, ${2:substr})}\n\ 81 | snippet join\n\ 82 | ${fn:join(${1:collection}, ${2:delims})}\n\ 83 | snippet length\n\ 84 | ${fn:length(${1:collection_or_string})}\n\ 85 | snippet replace\n\ 86 | ${fn:replace(${1:string}, ${2:substr}, ${3:replace})}\n\ 87 | snippet split\n\ 88 | ${fn:split(${1:string}, ${2:delims})}\n\ 89 | snippet startswith\n\ 90 | ${fn:startsWith(${1:string}, ${2:prefix})}\n\ 91 | snippet substr\n\ 92 | ${fn:substring(${1:string}, ${2:begin}, ${3:end})}\n\ 93 | snippet substr:a\n\ 94 | ${fn:substringAfter(${1:string}, ${2:substr})}\n\ 95 | snippet substr:b\n\ 96 | ${fn:substringBefore(${1:string}, ${2:substr})}\n\ 97 | snippet lc\n\ 98 | ${fn:toLowerCase(${1:string})}\n\ 99 | snippet uc\n\ 100 | ${fn:toUpperCase(${1:string})}\n\ 101 | snippet trim\n\ 102 | ${fn:trim(${1:string})}\n\ 103 | "; 104 | exports.scope = "jsp"; 105 | 106 | }); 107 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/jsx.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/jsx",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "jsx"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/julia.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/julia",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "julia"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/latex.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/latex",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "latex"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/less.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/less",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "less"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/liquid.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/liquid",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "liquid"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/lisp.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/lisp",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "lisp"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/livescript.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/livescript",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "livescript"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/logiql.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/logiql",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "logiql"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/lua.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/lua",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet #!\n\ 5 | #!/usr/bin/env lua\n\ 6 | $1\n\ 7 | snippet local\n\ 8 | local ${1:x} = ${2:1}\n\ 9 | snippet fun\n\ 10 | function ${1:fname}(${2:...})\n\ 11 | ${3:-- body}\n\ 12 | end\n\ 13 | snippet for\n\ 14 | for ${1:i}=${2:1},${3:10} do\n\ 15 | ${4:print(i)}\n\ 16 | end\n\ 17 | snippet forp\n\ 18 | for ${1:i},${2:v} in pairs(${3:table_name}) do\n\ 19 | ${4:-- body}\n\ 20 | end\n\ 21 | snippet fori\n\ 22 | for ${1:i},${2:v} in ipairs(${3:table_name}) do\n\ 23 | ${4:-- body}\n\ 24 | end\n\ 25 | "; 26 | exports.scope = "lua"; 27 | 28 | }); 29 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/luapage.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/luapage",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "luapage"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/lucene.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/lucene",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "lucene"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/makefile.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/makefile",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet ifeq\n\ 5 | ifeq (${1:cond0},${2:cond1})\n\ 6 | ${3:code}\n\ 7 | endif\n\ 8 | "; 9 | exports.scope = "makefile"; 10 | 11 | }); 12 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/markdown.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/markdown",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# Markdown\n\ 5 | \n\ 6 | # Includes octopress (http://octopress.org/) snippets\n\ 7 | \n\ 8 | snippet [\n\ 9 | [${1:text}](http://${2:address} \"${3:title}\")\n\ 10 | snippet [*\n\ 11 | [${1:link}](${2:`@*`} \"${3:title}\")${4}\n\ 12 | \n\ 13 | snippet [:\n\ 14 | [${1:id}]: http://${2:url} \"${3:title}\"\n\ 15 | snippet [:*\n\ 16 | [${1:id}]: ${2:`@*`} \"${3:title}\"\n\ 17 | \n\ 18 | snippet ![\n\ 19 | ![${1:alttext}](${2:/images/image.jpg} \"${3:title}\")\n\ 20 | snippet ![*\n\ 21 | ![${1:alt}](${2:`@*`} \"${3:title}\")${4}\n\ 22 | \n\ 23 | snippet ![:\n\ 24 | ![${1:id}]: ${2:url} \"${3:title}\"\n\ 25 | snippet ![:*\n\ 26 | ![${1:id}]: ${2:`@*`} \"${3:title}\"\n\ 27 | \n\ 28 | snippet ===\n\ 29 | regex /^/=+/=*//\n\ 30 | ${PREV_LINE/./=/g}\n\ 31 | \n\ 32 | ${0}\n\ 33 | snippet ---\n\ 34 | regex /^/-+/-*//\n\ 35 | ${PREV_LINE/./-/g}\n\ 36 | \n\ 37 | ${0}\n\ 38 | snippet blockquote\n\ 39 | {% blockquote %}\n\ 40 | ${1:quote}\n\ 41 | {% endblockquote %}\n\ 42 | \n\ 43 | snippet blockquote-author\n\ 44 | {% blockquote ${1:author}, ${2:title} %}\n\ 45 | ${3:quote}\n\ 46 | {% endblockquote %}\n\ 47 | \n\ 48 | snippet blockquote-link\n\ 49 | {% blockquote ${1:author} ${2:URL} ${3:link_text} %}\n\ 50 | ${4:quote}\n\ 51 | {% endblockquote %}\n\ 52 | \n\ 53 | snippet bt-codeblock-short\n\ 54 | ```\n\ 55 | ${1:code_snippet}\n\ 56 | ```\n\ 57 | \n\ 58 | snippet bt-codeblock-full\n\ 59 | ``` ${1:language} ${2:title} ${3:URL} ${4:link_text}\n\ 60 | ${5:code_snippet}\n\ 61 | ```\n\ 62 | \n\ 63 | snippet codeblock-short\n\ 64 | {% codeblock %}\n\ 65 | ${1:code_snippet}\n\ 66 | {% endcodeblock %}\n\ 67 | \n\ 68 | snippet codeblock-full\n\ 69 | {% codeblock ${1:title} lang:${2:language} ${3:URL} ${4:link_text} %}\n\ 70 | ${5:code_snippet}\n\ 71 | {% endcodeblock %}\n\ 72 | \n\ 73 | snippet gist-full\n\ 74 | {% gist ${1:gist_id} ${2:filename} %}\n\ 75 | \n\ 76 | snippet gist-short\n\ 77 | {% gist ${1:gist_id} %}\n\ 78 | \n\ 79 | snippet img\n\ 80 | {% img ${1:class} ${2:URL} ${3:width} ${4:height} ${5:title_text} ${6:alt_text} %}\n\ 81 | \n\ 82 | snippet youtube\n\ 83 | {% youtube ${1:video_id} %}\n\ 84 | \n\ 85 | # The quote should appear only once in the text. It is inherently part of it.\n\ 86 | # See http://octopress.org/docs/plugins/pullquote/ for more info.\n\ 87 | \n\ 88 | snippet pullquote\n\ 89 | {% pullquote %}\n\ 90 | ${1:text} {\" ${2:quote} \"} ${3:text}\n\ 91 | {% endpullquote %}\n\ 92 | "; 93 | exports.scope = "markdown"; 94 | 95 | }); 96 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/matlab.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/matlab",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "matlab"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/mel.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/mel",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "mel"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/mushcode.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/mushcode",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "mushcode"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/mysql.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/mysql",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "mysql"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/nix.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/nix",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "nix"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/objectivec.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/objectivec",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "objectivec"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/ocaml.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/ocaml",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "ocaml"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/pascal.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/pascal",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "pascal"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/pgsql.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/pgsql",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "pgsql"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/plain_text.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/plain_text",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "plain_text"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/powershell.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/powershell",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "powershell"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/praat.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/praat",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "praat"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/prolog.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/prolog",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "prolog"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/properties.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/properties",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "properties"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/protobuf.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/protobuf",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = ""; 5 | exports.scope = "protobuf"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/r.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/r",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet #!\n\ 5 | #!/usr/bin/env Rscript\n\ 6 | \n\ 7 | # includes\n\ 8 | snippet lib\n\ 9 | library(${1:package})\n\ 10 | snippet req\n\ 11 | require(${1:package})\n\ 12 | snippet source\n\ 13 | source('${1:file}')\n\ 14 | \n\ 15 | # conditionals\n\ 16 | snippet if\n\ 17 | if (${1:condition}) {\n\ 18 | ${2:code}\n\ 19 | }\n\ 20 | snippet el\n\ 21 | else {\n\ 22 | ${1:code}\n\ 23 | }\n\ 24 | snippet ei\n\ 25 | else if (${1:condition}) {\n\ 26 | ${2:code}\n\ 27 | }\n\ 28 | \n\ 29 | # functions\n\ 30 | snippet fun\n\ 31 | ${1:name} = function (${2:variables}) {\n\ 32 | ${3:code}\n\ 33 | }\n\ 34 | snippet ret\n\ 35 | return(${1:code})\n\ 36 | \n\ 37 | # dataframes, lists, etc\n\ 38 | snippet df\n\ 39 | ${1:name}[${2:rows}, ${3:cols}]\n\ 40 | snippet c\n\ 41 | c(${1:items})\n\ 42 | snippet li\n\ 43 | list(${1:items})\n\ 44 | snippet mat\n\ 45 | matrix(${1:data}, nrow=${2:rows}, ncol=${3:cols})\n\ 46 | \n\ 47 | # apply functions\n\ 48 | snippet apply\n\ 49 | apply(${1:array}, ${2:margin}, ${3:function})\n\ 50 | snippet lapply\n\ 51 | lapply(${1:list}, ${2:function})\n\ 52 | snippet sapply\n\ 53 | lapply(${1:list}, ${2:function})\n\ 54 | snippet vapply\n\ 55 | vapply(${1:list}, ${2:function}, ${3:type})\n\ 56 | snippet mapply\n\ 57 | mapply(${1:function}, ${2:...})\n\ 58 | snippet tapply\n\ 59 | tapply(${1:vector}, ${2:index}, ${3:function})\n\ 60 | snippet rapply\n\ 61 | rapply(${1:list}, ${2:function})\n\ 62 | \n\ 63 | # plyr functions\n\ 64 | snippet dd\n\ 65 | ddply(${1:frame}, ${2:variables}, ${3:function})\n\ 66 | snippet dl\n\ 67 | dlply(${1:frame}, ${2:variables}, ${3:function})\n\ 68 | snippet da\n\ 69 | daply(${1:frame}, ${2:variables}, ${3:function})\n\ 70 | snippet d_\n\ 71 | d_ply(${1:frame}, ${2:variables}, ${3:function})\n\ 72 | \n\ 73 | snippet ad\n\ 74 | adply(${1:array}, ${2:margin}, ${3:function})\n\ 75 | snippet al\n\ 76 | alply(${1:array}, ${2:margin}, ${3:function})\n\ 77 | snippet aa\n\ 78 | aaply(${1:array}, ${2:margin}, ${3:function})\n\ 79 | snippet a_\n\ 80 | a_ply(${1:array}, ${2:margin}, ${3:function})\n\ 81 | \n\ 82 | snippet ld\n\ 83 | ldply(${1:list}, ${2:function})\n\ 84 | snippet ll\n\ 85 | llply(${1:list}, ${2:function})\n\ 86 | snippet la\n\ 87 | laply(${1:list}, ${2:function})\n\ 88 | snippet l_\n\ 89 | l_ply(${1:list}, ${2:function})\n\ 90 | \n\ 91 | snippet md\n\ 92 | mdply(${1:matrix}, ${2:function})\n\ 93 | snippet ml\n\ 94 | mlply(${1:matrix}, ${2:function})\n\ 95 | snippet ma\n\ 96 | maply(${1:matrix}, ${2:function})\n\ 97 | snippet m_\n\ 98 | m_ply(${1:matrix}, ${2:function})\n\ 99 | \n\ 100 | # plot functions\n\ 101 | snippet pl\n\ 102 | plot(${1:x}, ${2:y})\n\ 103 | snippet ggp\n\ 104 | ggplot(${1:data}, aes(${2:aesthetics}))\n\ 105 | snippet img\n\ 106 | ${1:(jpeg,bmp,png,tiff)}(filename=\"${2:filename}\", width=${3}, height=${4}, unit=\"${5}\")\n\ 107 | ${6:plot}\n\ 108 | dev.off()\n\ 109 | \n\ 110 | # statistical test functions\n\ 111 | snippet fis\n\ 112 | fisher.test(${1:x}, ${2:y})\n\ 113 | snippet chi\n\ 114 | chisq.test(${1:x}, ${2:y})\n\ 115 | snippet tt\n\ 116 | t.test(${1:x}, ${2:y})\n\ 117 | snippet wil\n\ 118 | wilcox.test(${1:x}, ${2:y})\n\ 119 | snippet cor\n\ 120 | cor.test(${1:x}, ${2:y})\n\ 121 | snippet fte\n\ 122 | var.test(${1:x}, ${2:y})\n\ 123 | snippet kvt \n\ 124 | kv.test(${1:x}, ${2:y})\n\ 125 | "; 126 | exports.scope = "r"; 127 | 128 | }); 129 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/rdoc.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/rdoc",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "rdoc"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/rhtml.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/rhtml",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "rhtml"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/rust.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/rust",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "rust"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/sass.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/sass",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "sass"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/scad.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/scad",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "scad"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/scala.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/scala",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "scala"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/scheme.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/scheme",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "scheme"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/scss.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/scss",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "scss"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/sh.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/sh",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# Shebang. Executing bash via /usr/bin/env makes scripts more portable.\n\ 5 | snippet #!\n\ 6 | #!/usr/bin/env bash\n\ 7 | \n\ 8 | snippet if\n\ 9 | if [[ ${1:condition} ]]; then\n\ 10 | ${2:#statements}\n\ 11 | fi\n\ 12 | snippet elif\n\ 13 | elif [[ ${1:condition} ]]; then\n\ 14 | ${2:#statements}\n\ 15 | snippet for\n\ 16 | for (( ${2:i} = 0; $2 < ${1:count}; $2++ )); do\n\ 17 | ${3:#statements}\n\ 18 | done\n\ 19 | snippet fori\n\ 20 | for ${1:needle} in ${2:haystack} ; do\n\ 21 | ${3:#statements}\n\ 22 | done\n\ 23 | snippet wh\n\ 24 | while [[ ${1:condition} ]]; do\n\ 25 | ${2:#statements}\n\ 26 | done\n\ 27 | snippet until\n\ 28 | until [[ ${1:condition} ]]; do\n\ 29 | ${2:#statements}\n\ 30 | done\n\ 31 | snippet case\n\ 32 | case ${1:word} in\n\ 33 | ${2:pattern})\n\ 34 | ${3};;\n\ 35 | esac\n\ 36 | snippet go \n\ 37 | while getopts '${1:o}' ${2:opts} \n\ 38 | do \n\ 39 | case $$2 in\n\ 40 | ${3:o0})\n\ 41 | ${4:#staments};;\n\ 42 | esac\n\ 43 | done\n\ 44 | # Set SCRIPT_DIR variable to directory script is located.\n\ 45 | snippet sdir\n\ 46 | SCRIPT_DIR=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && pwd )\"\n\ 47 | # getopt\n\ 48 | snippet getopt\n\ 49 | __ScriptVersion=\"${1:version}\"\n\ 50 | \n\ 51 | #=== FUNCTION ================================================================\n\ 52 | # NAME: usage\n\ 53 | # DESCRIPTION: Display usage information.\n\ 54 | #===============================================================================\n\ 55 | function usage ()\n\ 56 | {\n\ 57 | cat <<- EOT\n\ 58 | \n\ 59 | Usage : $${0:0} [options] [--] \n\ 60 | \n\ 61 | Options: \n\ 62 | -h|help Display this message\n\ 63 | -v|version Display script version\n\ 64 | \n\ 65 | EOT\n\ 66 | } # ---------- end of function usage ----------\n\ 67 | \n\ 68 | #-----------------------------------------------------------------------\n\ 69 | # Handle command line arguments\n\ 70 | #-----------------------------------------------------------------------\n\ 71 | \n\ 72 | while getopts \":hv\" opt\n\ 73 | do\n\ 74 | case $opt in\n\ 75 | \n\ 76 | h|help ) usage; exit 0 ;;\n\ 77 | \n\ 78 | v|version ) echo \"$${0:0} -- Version $__ScriptVersion\"; exit 0 ;;\n\ 79 | \n\ 80 | \\? ) echo -e \"\\n Option does not exist : $OPTARG\\n\"\n\ 81 | usage; exit 1 ;;\n\ 82 | \n\ 83 | esac # --- end of case ---\n\ 84 | done\n\ 85 | shift $(($OPTIND-1))\n\ 86 | \n\ 87 | "; 88 | exports.scope = "sh"; 89 | 90 | }); 91 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/sjs.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/sjs",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "sjs"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/smarty.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/smarty",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "smarty"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/snippets.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/snippets",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# snippets for making snippets :)\n\ 5 | snippet snip\n\ 6 | snippet ${1:trigger}\n\ 7 | ${2}\n\ 8 | snippet msnip\n\ 9 | snippet ${1:trigger} ${2:description}\n\ 10 | ${3}\n\ 11 | snippet v\n\ 12 | {VISUAL}\n\ 13 | "; 14 | exports.scope = "snippets"; 15 | 16 | }); 17 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/soy_template.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/soy_template",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "soy_template"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/space.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/space",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "space"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/sql.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/sql",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet tbl\n\ 5 | create table ${1:table} (\n\ 6 | ${2:columns}\n\ 7 | );\n\ 8 | snippet col\n\ 9 | ${1:name} ${2:type} ${3:default ''} ${4:not null}\n\ 10 | snippet ccol\n\ 11 | ${1:name} varchar2(${2:size}) ${3:default ''} ${4:not null}\n\ 12 | snippet ncol\n\ 13 | ${1:name} number ${3:default 0} ${4:not null}\n\ 14 | snippet dcol\n\ 15 | ${1:name} date ${3:default sysdate} ${4:not null}\n\ 16 | snippet ind\n\ 17 | create index ${3:$1_$2} on ${1:table}(${2:column});\n\ 18 | snippet uind\n\ 19 | create unique index ${1:name} on ${2:table}(${3:column});\n\ 20 | snippet tblcom\n\ 21 | comment on table ${1:table} is '${2:comment}';\n\ 22 | snippet colcom\n\ 23 | comment on column ${1:table}.${2:column} is '${3:comment}';\n\ 24 | snippet addcol\n\ 25 | alter table ${1:table} add (${2:column} ${3:type});\n\ 26 | snippet seq\n\ 27 | create sequence ${1:name} start with ${2:1} increment by ${3:1} minvalue ${4:1};\n\ 28 | snippet s*\n\ 29 | select * from ${1:table}\n\ 30 | "; 31 | exports.scope = "sql"; 32 | 33 | }); 34 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/stylus.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/stylus",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "stylus"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/svg.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/svg",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "svg"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/tcl.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/tcl",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# #!/usr/bin/env tclsh\n\ 5 | snippet #!\n\ 6 | #!/usr/bin/env tclsh\n\ 7 | \n\ 8 | # Process\n\ 9 | snippet pro\n\ 10 | proc ${1:function_name} {${2:args}} {\n\ 11 | ${3:#body ...}\n\ 12 | }\n\ 13 | #xif\n\ 14 | snippet xif\n\ 15 | ${1:expr}? ${2:true} : ${3:false}\n\ 16 | # Conditional\n\ 17 | snippet if\n\ 18 | if {${1}} {\n\ 19 | ${2:# body...}\n\ 20 | }\n\ 21 | # Conditional if..else\n\ 22 | snippet ife\n\ 23 | if {${1}} {\n\ 24 | ${2:# body...}\n\ 25 | } else {\n\ 26 | ${3:# else...}\n\ 27 | }\n\ 28 | # Conditional if..elsif..else\n\ 29 | snippet ifee\n\ 30 | if {${1}} {\n\ 31 | ${2:# body...}\n\ 32 | } elseif {${3}} {\n\ 33 | ${4:# elsif...}\n\ 34 | } else {\n\ 35 | ${5:# else...}\n\ 36 | }\n\ 37 | # If catch then\n\ 38 | snippet ifc\n\ 39 | if { [catch {${1:#do something...}} ${2:err}] } {\n\ 40 | ${3:# handle failure...}\n\ 41 | }\n\ 42 | # Catch\n\ 43 | snippet catch\n\ 44 | catch {${1}} ${2:err} ${3:options}\n\ 45 | # While Loop\n\ 46 | snippet wh\n\ 47 | while {${1}} {\n\ 48 | ${2:# body...}\n\ 49 | }\n\ 50 | # For Loop\n\ 51 | snippet for\n\ 52 | for {set ${2:var} 0} {$$2 < ${1:count}} {${3:incr} $2} {\n\ 53 | ${4:# body...}\n\ 54 | }\n\ 55 | # Foreach Loop\n\ 56 | snippet fore\n\ 57 | foreach ${1:x} {${2:#list}} {\n\ 58 | ${3:# body...}\n\ 59 | }\n\ 60 | # after ms script...\n\ 61 | snippet af\n\ 62 | after ${1:ms} ${2:#do something}\n\ 63 | # after cancel id\n\ 64 | snippet afc\n\ 65 | after cancel ${1:id or script}\n\ 66 | # after idle\n\ 67 | snippet afi\n\ 68 | after idle ${1:script}\n\ 69 | # after info id\n\ 70 | snippet afin\n\ 71 | after info ${1:id}\n\ 72 | # Expr\n\ 73 | snippet exp\n\ 74 | expr {${1:#expression here}}\n\ 75 | # Switch\n\ 76 | snippet sw\n\ 77 | switch ${1:var} {\n\ 78 | ${3:pattern 1} {\n\ 79 | ${4:#do something}\n\ 80 | }\n\ 81 | default {\n\ 82 | ${2:#do something}\n\ 83 | }\n\ 84 | }\n\ 85 | # Case\n\ 86 | snippet ca\n\ 87 | ${1:pattern} {\n\ 88 | ${2:#do something}\n\ 89 | }${3}\n\ 90 | # Namespace eval\n\ 91 | snippet ns\n\ 92 | namespace eval ${1:path} {${2:#script...}}\n\ 93 | # Namespace current\n\ 94 | snippet nsc\n\ 95 | namespace current\n\ 96 | "; 97 | exports.scope = "tcl"; 98 | 99 | }); 100 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/text.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/text",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "text"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/textile.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/textile",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# Jekyll post header\n\ 5 | snippet header\n\ 6 | ---\n\ 7 | title: ${1:title}\n\ 8 | layout: post\n\ 9 | date: ${2:date} ${3:hour:minute:second} -05:00\n\ 10 | ---\n\ 11 | \n\ 12 | # Image\n\ 13 | snippet img\n\ 14 | !${1:url}(${2:title}):${3:link}!\n\ 15 | \n\ 16 | # Table\n\ 17 | snippet |\n\ 18 | |${1}|${2}\n\ 19 | \n\ 20 | # Link\n\ 21 | snippet link\n\ 22 | \"${1:link text}\":${2:url}\n\ 23 | \n\ 24 | # Acronym\n\ 25 | snippet (\n\ 26 | (${1:Expand acronym})${2}\n\ 27 | \n\ 28 | # Footnote\n\ 29 | snippet fn\n\ 30 | [${1:ref number}] ${3}\n\ 31 | \n\ 32 | fn$1. ${2:footnote}\n\ 33 | \n\ 34 | "; 35 | exports.scope = "textile"; 36 | 37 | }); 38 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/toml.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/toml",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "toml"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/twig.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/twig",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "twig"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/typescript.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/typescript",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "typescript"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/vbscript.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/vbscript",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "vbscript"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/velocity.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/velocity",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# macro\n\ 5 | snippet #macro\n\ 6 | #macro ( ${1:macroName} ${2:\\$var1, [\\$var2, ...]} )\n\ 7 | ${3:## macro code}\n\ 8 | #end\n\ 9 | # foreach\n\ 10 | snippet #foreach\n\ 11 | #foreach ( ${1:\\$item} in ${2:\\$collection} )\n\ 12 | ${3:## foreach code}\n\ 13 | #end\n\ 14 | # if\n\ 15 | snippet #if\n\ 16 | #if ( ${1:true} )\n\ 17 | ${0}\n\ 18 | #end\n\ 19 | # if ... else\n\ 20 | snippet #ife\n\ 21 | #if ( ${1:true} )\n\ 22 | ${2}\n\ 23 | #else\n\ 24 | ${0}\n\ 25 | #end\n\ 26 | #import\n\ 27 | snippet #import\n\ 28 | #import ( \"${1:path/to/velocity/format}\" )\n\ 29 | # set\n\ 30 | snippet #set\n\ 31 | #set ( $${1:var} = ${0} )\n\ 32 | "; 33 | exports.scope = "velocity"; 34 | exports.includeScopes = ["html", "javascript", "css"]; 35 | 36 | }); 37 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/verilog.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/verilog",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "verilog"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/vhdl.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/vhdl",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "vhdl"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/xml.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/xml",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "xml"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/xquery.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/xquery",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet for\n\ 5 | for $${1:item} in ${2:expr}\n\ 6 | snippet return\n\ 7 | return ${1:expr}\n\ 8 | snippet import\n\ 9 | import module namespace ${1:ns} = \"${2:http://www.example.com/}\";\n\ 10 | snippet some\n\ 11 | some $${1:varname} in ${2:expr} satisfies ${3:expr}\n\ 12 | snippet every\n\ 13 | every $${1:varname} in ${2:expr} satisfies ${3:expr}\n\ 14 | snippet if\n\ 15 | if(${1:true}) then ${2:expr} else ${3:true}\n\ 16 | snippet switch\n\ 17 | switch(${1:\"foo\"})\n\ 18 | case ${2:\"foo\"}\n\ 19 | return ${3:true}\n\ 20 | default return ${4:false}\n\ 21 | snippet try\n\ 22 | try { ${1:expr} } catch ${2:*} { ${3:expr} }\n\ 23 | snippet tumbling\n\ 24 | for tumbling window $${1:varname} in ${2:expr}\n\ 25 | start at $${3:start} when ${4:expr}\n\ 26 | end at $${5:end} when ${6:expr}\n\ 27 | return ${7:expr}\n\ 28 | snippet sliding\n\ 29 | for sliding window $${1:varname} in ${2:expr}\n\ 30 | start at $${3:start} when ${4:expr}\n\ 31 | end at $${5:end} when ${6:expr}\n\ 32 | return ${7:expr}\n\ 33 | snippet let\n\ 34 | let $${1:varname} := ${2:expr}\n\ 35 | snippet group\n\ 36 | group by $${1:varname} := ${2:expr}\n\ 37 | snippet order\n\ 38 | order by ${1:expr} ${2:descending}\n\ 39 | snippet stable\n\ 40 | stable order by ${1:expr}\n\ 41 | snippet count\n\ 42 | count $${1:varname}\n\ 43 | snippet ordered\n\ 44 | ordered { ${1:expr} }\n\ 45 | snippet unordered\n\ 46 | unordered { ${1:expr} }\n\ 47 | snippet treat \n\ 48 | treat as ${1:expr}\n\ 49 | snippet castable\n\ 50 | castable as ${1:atomicType}\n\ 51 | snippet cast\n\ 52 | cast as ${1:atomicType}\n\ 53 | snippet typeswitch\n\ 54 | typeswitch(${1:expr})\n\ 55 | case ${2:type} return ${3:expr}\n\ 56 | default return ${4:expr}\n\ 57 | snippet var\n\ 58 | declare variable $${1:varname} := ${2:expr};\n\ 59 | snippet fn\n\ 60 | declare function ${1:ns}:${2:name}(){\n\ 61 | ${3:expr}\n\ 62 | };\n\ 63 | snippet module\n\ 64 | module namespace ${1:ns} = \"${2:http://www.example.com}\";\n\ 65 | "; 66 | exports.scope = "xquery"; 67 | 68 | }); 69 | -------------------------------------------------------------------------------- /public/lib/ace/snippets/yaml.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/yaml",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "yaml"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /public/lib/ace/theme-clouds.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/clouds",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = false; 4 | exports.cssClass = "ace-clouds"; 5 | exports.cssText = ".ace-clouds .ace_gutter {\ 6 | background: #ebebeb;\ 7 | color: #333\ 8 | }\ 9 | .ace-clouds .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #e8e8e8\ 12 | }\ 13 | .ace-clouds {\ 14 | background-color: #FFFFFF;\ 15 | color: #000000\ 16 | }\ 17 | .ace-clouds .ace_cursor {\ 18 | color: #000000\ 19 | }\ 20 | .ace-clouds .ace_marker-layer .ace_selection {\ 21 | background: #BDD5FC\ 22 | }\ 23 | .ace-clouds.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #FFFFFF;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-clouds .ace_marker-layer .ace_step {\ 28 | background: rgb(255, 255, 0)\ 29 | }\ 30 | .ace-clouds .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid #BFBFBF\ 33 | }\ 34 | .ace-clouds .ace_marker-layer .ace_active-line {\ 35 | background: #FFFBD1\ 36 | }\ 37 | .ace-clouds .ace_gutter-active-line {\ 38 | background-color : #dcdcdc\ 39 | }\ 40 | .ace-clouds .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid #BDD5FC\ 42 | }\ 43 | .ace-clouds .ace_invisible {\ 44 | color: #BFBFBF\ 45 | }\ 46 | .ace-clouds .ace_keyword,\ 47 | .ace-clouds .ace_meta,\ 48 | .ace-clouds .ace_support.ace_constant.ace_property-value {\ 49 | color: #AF956F\ 50 | }\ 51 | .ace-clouds .ace_keyword.ace_operator {\ 52 | color: #484848\ 53 | }\ 54 | .ace-clouds .ace_keyword.ace_other.ace_unit {\ 55 | color: #96DC5F\ 56 | }\ 57 | .ace-clouds .ace_constant.ace_language {\ 58 | color: #39946A\ 59 | }\ 60 | .ace-clouds .ace_constant.ace_numeric {\ 61 | color: #46A609\ 62 | }\ 63 | .ace-clouds .ace_constant.ace_character.ace_entity {\ 64 | color: #BF78CC\ 65 | }\ 66 | .ace-clouds .ace_invalid {\ 67 | background-color: #FF002A\ 68 | }\ 69 | .ace-clouds .ace_fold {\ 70 | background-color: #AF956F;\ 71 | border-color: #000000\ 72 | }\ 73 | .ace-clouds .ace_storage,\ 74 | .ace-clouds .ace_support.ace_class,\ 75 | .ace-clouds .ace_support.ace_function,\ 76 | .ace-clouds .ace_support.ace_other,\ 77 | .ace-clouds .ace_support.ace_type {\ 78 | color: #C52727\ 79 | }\ 80 | .ace-clouds .ace_string {\ 81 | color: #5D90CD\ 82 | }\ 83 | .ace-clouds .ace_comment {\ 84 | color: #BCC8BA\ 85 | }\ 86 | .ace-clouds .ace_entity.ace_name.ace_tag,\ 87 | .ace-clouds .ace_entity.ace_other.ace_attribute-name {\ 88 | color: #606060\ 89 | }\ 90 | .ace-clouds .ace_indent-guide {\ 91 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y\ 92 | }"; 93 | 94 | var dom = require("../lib/dom"); 95 | dom.importCssString(exports.cssText, exports.cssClass); 96 | }); 97 | -------------------------------------------------------------------------------- /public/lib/ace/theme-clouds_midnight.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/clouds_midnight",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-clouds-midnight"; 5 | exports.cssText = ".ace-clouds-midnight .ace_gutter {\ 6 | background: #232323;\ 7 | color: #929292\ 8 | }\ 9 | .ace-clouds-midnight .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #232323\ 12 | }\ 13 | .ace-clouds-midnight {\ 14 | background-color: #191919;\ 15 | color: #929292\ 16 | }\ 17 | .ace-clouds-midnight .ace_cursor {\ 18 | color: #7DA5DC\ 19 | }\ 20 | .ace-clouds-midnight .ace_marker-layer .ace_selection {\ 21 | background: #000000\ 22 | }\ 23 | .ace-clouds-midnight.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #191919;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-clouds-midnight .ace_marker-layer .ace_step {\ 28 | background: rgb(102, 82, 0)\ 29 | }\ 30 | .ace-clouds-midnight .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid #BFBFBF\ 33 | }\ 34 | .ace-clouds-midnight .ace_marker-layer .ace_active-line {\ 35 | background: rgba(215, 215, 215, 0.031)\ 36 | }\ 37 | .ace-clouds-midnight .ace_gutter-active-line {\ 38 | background-color: rgba(215, 215, 215, 0.031)\ 39 | }\ 40 | .ace-clouds-midnight .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid #000000\ 42 | }\ 43 | .ace-clouds-midnight .ace_invisible {\ 44 | color: #BFBFBF\ 45 | }\ 46 | .ace-clouds-midnight .ace_keyword,\ 47 | .ace-clouds-midnight .ace_meta,\ 48 | .ace-clouds-midnight .ace_support.ace_constant.ace_property-value {\ 49 | color: #927C5D\ 50 | }\ 51 | .ace-clouds-midnight .ace_keyword.ace_operator {\ 52 | color: #4B4B4B\ 53 | }\ 54 | .ace-clouds-midnight .ace_keyword.ace_other.ace_unit {\ 55 | color: #366F1A\ 56 | }\ 57 | .ace-clouds-midnight .ace_constant.ace_language {\ 58 | color: #39946A\ 59 | }\ 60 | .ace-clouds-midnight .ace_constant.ace_numeric {\ 61 | color: #46A609\ 62 | }\ 63 | .ace-clouds-midnight .ace_constant.ace_character.ace_entity {\ 64 | color: #A165AC\ 65 | }\ 66 | .ace-clouds-midnight .ace_invalid {\ 67 | color: #FFFFFF;\ 68 | background-color: #E92E2E\ 69 | }\ 70 | .ace-clouds-midnight .ace_fold {\ 71 | background-color: #927C5D;\ 72 | border-color: #929292\ 73 | }\ 74 | .ace-clouds-midnight .ace_storage,\ 75 | .ace-clouds-midnight .ace_support.ace_class,\ 76 | .ace-clouds-midnight .ace_support.ace_function,\ 77 | .ace-clouds-midnight .ace_support.ace_other,\ 78 | .ace-clouds-midnight .ace_support.ace_type {\ 79 | color: #E92E2E\ 80 | }\ 81 | .ace-clouds-midnight .ace_string {\ 82 | color: #5D90CD\ 83 | }\ 84 | .ace-clouds-midnight .ace_comment {\ 85 | color: #3C403B\ 86 | }\ 87 | .ace-clouds-midnight .ace_entity.ace_name.ace_tag,\ 88 | .ace-clouds-midnight .ace_entity.ace_other.ace_attribute-name {\ 89 | color: #606060\ 90 | }\ 91 | .ace-clouds-midnight .ace_indent-guide {\ 92 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y\ 93 | }"; 94 | 95 | var dom = require("../lib/dom"); 96 | dom.importCssString(exports.cssText, exports.cssClass); 97 | }); 98 | -------------------------------------------------------------------------------- /public/lib/ace/theme-cobalt.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/cobalt",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-cobalt"; 5 | exports.cssText = ".ace-cobalt .ace_gutter {\ 6 | background: #011e3a;\ 7 | color: #fff\ 8 | }\ 9 | .ace-cobalt .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #011e3a\ 12 | }\ 13 | .ace-cobalt {\ 14 | background-color: #002240;\ 15 | color: #FFFFFF\ 16 | }\ 17 | .ace-cobalt .ace_cursor {\ 18 | color: #FFFFFF\ 19 | }\ 20 | .ace-cobalt .ace_marker-layer .ace_selection {\ 21 | background: rgba(179, 101, 57, 0.75)\ 22 | }\ 23 | .ace-cobalt.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #002240;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-cobalt .ace_marker-layer .ace_step {\ 28 | background: rgb(127, 111, 19)\ 29 | }\ 30 | .ace-cobalt .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid rgba(255, 255, 255, 0.15)\ 33 | }\ 34 | .ace-cobalt .ace_marker-layer .ace_active-line {\ 35 | background: rgba(0, 0, 0, 0.35)\ 36 | }\ 37 | .ace-cobalt .ace_gutter-active-line {\ 38 | background-color: rgba(0, 0, 0, 0.35)\ 39 | }\ 40 | .ace-cobalt .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid rgba(179, 101, 57, 0.75)\ 42 | }\ 43 | .ace-cobalt .ace_invisible {\ 44 | color: rgba(255, 255, 255, 0.15)\ 45 | }\ 46 | .ace-cobalt .ace_keyword,\ 47 | .ace-cobalt .ace_meta {\ 48 | color: #FF9D00\ 49 | }\ 50 | .ace-cobalt .ace_constant,\ 51 | .ace-cobalt .ace_constant.ace_character,\ 52 | .ace-cobalt .ace_constant.ace_character.ace_escape,\ 53 | .ace-cobalt .ace_constant.ace_other {\ 54 | color: #FF628C\ 55 | }\ 56 | .ace-cobalt .ace_invalid {\ 57 | color: #F8F8F8;\ 58 | background-color: #800F00\ 59 | }\ 60 | .ace-cobalt .ace_support {\ 61 | color: #80FFBB\ 62 | }\ 63 | .ace-cobalt .ace_support.ace_constant {\ 64 | color: #EB939A\ 65 | }\ 66 | .ace-cobalt .ace_fold {\ 67 | background-color: #FF9D00;\ 68 | border-color: #FFFFFF\ 69 | }\ 70 | .ace-cobalt .ace_support.ace_function {\ 71 | color: #FFB054\ 72 | }\ 73 | .ace-cobalt .ace_storage {\ 74 | color: #FFEE80\ 75 | }\ 76 | .ace-cobalt .ace_entity {\ 77 | color: #FFDD00\ 78 | }\ 79 | .ace-cobalt .ace_string {\ 80 | color: #3AD900\ 81 | }\ 82 | .ace-cobalt .ace_string.ace_regexp {\ 83 | color: #80FFC2\ 84 | }\ 85 | .ace-cobalt .ace_comment {\ 86 | font-style: italic;\ 87 | color: #0088FF\ 88 | }\ 89 | .ace-cobalt .ace_heading,\ 90 | .ace-cobalt .ace_markup.ace_heading {\ 91 | color: #C8E4FD;\ 92 | background-color: #001221\ 93 | }\ 94 | .ace-cobalt .ace_list,\ 95 | .ace-cobalt .ace_markup.ace_list {\ 96 | background-color: #130D26\ 97 | }\ 98 | .ace-cobalt .ace_variable {\ 99 | color: #CCCCCC\ 100 | }\ 101 | .ace-cobalt .ace_variable.ace_language {\ 102 | color: #FF80E1\ 103 | }\ 104 | .ace-cobalt .ace_meta.ace_tag {\ 105 | color: #9EFFFF\ 106 | }\ 107 | .ace-cobalt .ace_indent-guide {\ 108 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHCLSvkPAAP3AgSDTRd4AAAAAElFTkSuQmCC) right repeat-y\ 109 | }"; 110 | 111 | var dom = require("../lib/dom"); 112 | dom.importCssString(exports.cssText, exports.cssClass); 113 | }); 114 | -------------------------------------------------------------------------------- /public/lib/ace/theme-dawn.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/dawn",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = false; 4 | exports.cssClass = "ace-dawn"; 5 | exports.cssText = ".ace-dawn .ace_gutter {\ 6 | background: #ebebeb;\ 7 | color: #333\ 8 | }\ 9 | .ace-dawn .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #e8e8e8\ 12 | }\ 13 | .ace-dawn {\ 14 | background-color: #F9F9F9;\ 15 | color: #080808\ 16 | }\ 17 | .ace-dawn .ace_cursor {\ 18 | color: #000000\ 19 | }\ 20 | .ace-dawn .ace_marker-layer .ace_selection {\ 21 | background: rgba(39, 95, 255, 0.30)\ 22 | }\ 23 | .ace-dawn.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #F9F9F9;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-dawn .ace_marker-layer .ace_step {\ 28 | background: rgb(255, 255, 0)\ 29 | }\ 30 | .ace-dawn .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid rgba(75, 75, 126, 0.50)\ 33 | }\ 34 | .ace-dawn .ace_marker-layer .ace_active-line {\ 35 | background: rgba(36, 99, 180, 0.12)\ 36 | }\ 37 | .ace-dawn .ace_gutter-active-line {\ 38 | background-color : #dcdcdc\ 39 | }\ 40 | .ace-dawn .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid rgba(39, 95, 255, 0.30)\ 42 | }\ 43 | .ace-dawn .ace_invisible {\ 44 | color: rgba(75, 75, 126, 0.50)\ 45 | }\ 46 | .ace-dawn .ace_keyword,\ 47 | .ace-dawn .ace_meta {\ 48 | color: #794938\ 49 | }\ 50 | .ace-dawn .ace_constant,\ 51 | .ace-dawn .ace_constant.ace_character,\ 52 | .ace-dawn .ace_constant.ace_character.ace_escape,\ 53 | .ace-dawn .ace_constant.ace_other {\ 54 | color: #811F24\ 55 | }\ 56 | .ace-dawn .ace_invalid.ace_illegal {\ 57 | text-decoration: underline;\ 58 | font-style: italic;\ 59 | color: #F8F8F8;\ 60 | background-color: #B52A1D\ 61 | }\ 62 | .ace-dawn .ace_invalid.ace_deprecated {\ 63 | text-decoration: underline;\ 64 | font-style: italic;\ 65 | color: #B52A1D\ 66 | }\ 67 | .ace-dawn .ace_support {\ 68 | color: #691C97\ 69 | }\ 70 | .ace-dawn .ace_support.ace_constant {\ 71 | color: #B4371F\ 72 | }\ 73 | .ace-dawn .ace_fold {\ 74 | background-color: #794938;\ 75 | border-color: #080808\ 76 | }\ 77 | .ace-dawn .ace_list,\ 78 | .ace-dawn .ace_markup.ace_list,\ 79 | .ace-dawn .ace_support.ace_function {\ 80 | color: #693A17\ 81 | }\ 82 | .ace-dawn .ace_storage {\ 83 | font-style: italic;\ 84 | color: #A71D5D\ 85 | }\ 86 | .ace-dawn .ace_string {\ 87 | color: #0B6125\ 88 | }\ 89 | .ace-dawn .ace_string.ace_regexp {\ 90 | color: #CF5628\ 91 | }\ 92 | .ace-dawn .ace_comment {\ 93 | font-style: italic;\ 94 | color: #5A525F\ 95 | }\ 96 | .ace-dawn .ace_heading,\ 97 | .ace-dawn .ace_markup.ace_heading {\ 98 | color: #19356D\ 99 | }\ 100 | .ace-dawn .ace_variable {\ 101 | color: #234A97\ 102 | }\ 103 | .ace-dawn .ace_indent-guide {\ 104 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYLh/5+x/AAizA4hxNNsZAAAAAElFTkSuQmCC) right repeat-y\ 105 | }"; 106 | 107 | var dom = require("../lib/dom"); 108 | dom.importCssString(exports.cssText, exports.cssClass); 109 | }); 110 | -------------------------------------------------------------------------------- /public/lib/ace/theme-eclipse.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/eclipse",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.isDark = false; 5 | exports.cssText = ".ace-eclipse .ace_gutter {\ 6 | background: #ebebeb;\ 7 | border-right: 1px solid rgb(159, 159, 159);\ 8 | color: rgb(136, 136, 136);\ 9 | }\ 10 | .ace-eclipse .ace_print-margin {\ 11 | width: 1px;\ 12 | background: #ebebeb;\ 13 | }\ 14 | .ace-eclipse {\ 15 | background-color: #FFFFFF;\ 16 | color: black;\ 17 | }\ 18 | .ace-eclipse .ace_fold {\ 19 | background-color: rgb(60, 76, 114);\ 20 | }\ 21 | .ace-eclipse .ace_cursor {\ 22 | color: black;\ 23 | }\ 24 | .ace-eclipse .ace_storage,\ 25 | .ace-eclipse .ace_keyword,\ 26 | .ace-eclipse .ace_variable {\ 27 | color: rgb(127, 0, 85);\ 28 | }\ 29 | .ace-eclipse .ace_constant.ace_buildin {\ 30 | color: rgb(88, 72, 246);\ 31 | }\ 32 | .ace-eclipse .ace_constant.ace_library {\ 33 | color: rgb(6, 150, 14);\ 34 | }\ 35 | .ace-eclipse .ace_function {\ 36 | color: rgb(60, 76, 114);\ 37 | }\ 38 | .ace-eclipse .ace_string {\ 39 | color: rgb(42, 0, 255);\ 40 | }\ 41 | .ace-eclipse .ace_comment {\ 42 | color: rgb(113, 150, 130);\ 43 | }\ 44 | .ace-eclipse .ace_comment.ace_doc {\ 45 | color: rgb(63, 95, 191);\ 46 | }\ 47 | .ace-eclipse .ace_comment.ace_doc.ace_tag {\ 48 | color: rgb(127, 159, 191);\ 49 | }\ 50 | .ace-eclipse .ace_constant.ace_numeric {\ 51 | color: darkblue;\ 52 | }\ 53 | .ace-eclipse .ace_tag {\ 54 | color: rgb(25, 118, 116);\ 55 | }\ 56 | .ace-eclipse .ace_type {\ 57 | color: rgb(127, 0, 127);\ 58 | }\ 59 | .ace-eclipse .ace_xml-pe {\ 60 | color: rgb(104, 104, 91);\ 61 | }\ 62 | .ace-eclipse .ace_marker-layer .ace_selection {\ 63 | background: rgb(181, 213, 255);\ 64 | }\ 65 | .ace-eclipse .ace_marker-layer .ace_bracket {\ 66 | margin: -1px 0 0 -1px;\ 67 | border: 1px solid rgb(192, 192, 192);\ 68 | }\ 69 | .ace-eclipse .ace_meta.ace_tag {\ 70 | color:rgb(25, 118, 116);\ 71 | }\ 72 | .ace-eclipse .ace_invisible {\ 73 | color: #ddd;\ 74 | }\ 75 | .ace-eclipse .ace_entity.ace_other.ace_attribute-name {\ 76 | color:rgb(127, 0, 127);\ 77 | }\ 78 | .ace-eclipse .ace_marker-layer .ace_step {\ 79 | background: rgb(255, 255, 0);\ 80 | }\ 81 | .ace-eclipse .ace_active-line {\ 82 | background: rgb(232, 242, 254);\ 83 | }\ 84 | .ace-eclipse .ace_gutter-active-line {\ 85 | background-color : #DADADA;\ 86 | }\ 87 | .ace-eclipse .ace_marker-layer .ace_selected-word {\ 88 | border: 1px solid rgb(181, 213, 255);\ 89 | }\ 90 | .ace-eclipse .ace_indent-guide {\ 91 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 92 | }"; 93 | 94 | exports.cssClass = "ace-eclipse"; 95 | 96 | var dom = require("../lib/dom"); 97 | dom.importCssString(exports.cssText, exports.cssClass); 98 | }); 99 | -------------------------------------------------------------------------------- /public/lib/ace/theme-github.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/github",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = false; 4 | exports.cssClass = "ace-github"; 5 | exports.cssText = "\ 6 | .ace-github .ace_gutter {\ 7 | background: #e8e8e8;\ 8 | color: #AAA;\ 9 | }\ 10 | .ace-github {\ 11 | background: #fff;\ 12 | color: #000;\ 13 | }\ 14 | .ace-github .ace_keyword {\ 15 | font-weight: bold;\ 16 | }\ 17 | .ace-github .ace_string {\ 18 | color: #D14;\ 19 | }\ 20 | .ace-github .ace_variable.ace_class {\ 21 | color: teal;\ 22 | }\ 23 | .ace-github .ace_constant.ace_numeric {\ 24 | color: #099;\ 25 | }\ 26 | .ace-github .ace_constant.ace_buildin {\ 27 | color: #0086B3;\ 28 | }\ 29 | .ace-github .ace_support.ace_function {\ 30 | color: #0086B3;\ 31 | }\ 32 | .ace-github .ace_comment {\ 33 | color: #998;\ 34 | font-style: italic;\ 35 | }\ 36 | .ace-github .ace_variable.ace_language {\ 37 | color: #0086B3;\ 38 | }\ 39 | .ace-github .ace_paren {\ 40 | font-weight: bold;\ 41 | }\ 42 | .ace-github .ace_boolean {\ 43 | font-weight: bold;\ 44 | }\ 45 | .ace-github .ace_string.ace_regexp {\ 46 | color: #009926;\ 47 | font-weight: normal;\ 48 | }\ 49 | .ace-github .ace_variable.ace_instance {\ 50 | color: teal;\ 51 | }\ 52 | .ace-github .ace_constant.ace_language {\ 53 | font-weight: bold;\ 54 | }\ 55 | .ace-github .ace_cursor {\ 56 | color: black;\ 57 | }\ 58 | .ace-github .ace_marker-layer .ace_active-line {\ 59 | background: rgb(255, 255, 204);\ 60 | }\ 61 | .ace-github .ace_marker-layer .ace_selection {\ 62 | background: rgb(181, 213, 255);\ 63 | }\ 64 | .ace-github.ace_multiselect .ace_selection.ace_start {\ 65 | box-shadow: 0 0 3px 0px white;\ 66 | border-radius: 2px;\ 67 | }\ 68 | .ace-github.ace_nobold .ace_line > span {\ 69 | font-weight: normal !important;\ 70 | }\ 71 | .ace-github .ace_marker-layer .ace_step {\ 72 | background: rgb(252, 255, 0);\ 73 | }\ 74 | .ace-github .ace_marker-layer .ace_stack {\ 75 | background: rgb(164, 229, 101);\ 76 | }\ 77 | .ace-github .ace_marker-layer .ace_bracket {\ 78 | margin: -1px 0 0 -1px;\ 79 | border: 1px solid rgb(192, 192, 192);\ 80 | }\ 81 | .ace-github .ace_gutter-active-line {\ 82 | background-color : rgba(0, 0, 0, 0.07);\ 83 | }\ 84 | .ace-github .ace_marker-layer .ace_selected-word {\ 85 | background: rgb(250, 250, 255);\ 86 | border: 1px solid rgb(200, 200, 250);\ 87 | }\ 88 | .ace-github .ace_print-margin {\ 89 | width: 1px;\ 90 | background: #e8e8e8;\ 91 | }\ 92 | .ace-github .ace_indent-guide {\ 93 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 94 | }"; 95 | 96 | var dom = require("../lib/dom"); 97 | dom.importCssString(exports.cssText, exports.cssClass); 98 | }); 99 | -------------------------------------------------------------------------------- /public/lib/ace/theme-idle_fingers.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/idle_fingers",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-idle-fingers"; 5 | exports.cssText = ".ace-idle-fingers .ace_gutter {\ 6 | background: #3b3b3b;\ 7 | color: #fff\ 8 | }\ 9 | .ace-idle-fingers .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #3b3b3b\ 12 | }\ 13 | .ace-idle-fingers {\ 14 | background-color: #323232;\ 15 | color: #FFFFFF\ 16 | }\ 17 | .ace-idle-fingers .ace_cursor {\ 18 | color: #91FF00\ 19 | }\ 20 | .ace-idle-fingers .ace_marker-layer .ace_selection {\ 21 | background: rgba(90, 100, 126, 0.88)\ 22 | }\ 23 | .ace-idle-fingers.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #323232;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-idle-fingers .ace_marker-layer .ace_step {\ 28 | background: rgb(102, 82, 0)\ 29 | }\ 30 | .ace-idle-fingers .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid #404040\ 33 | }\ 34 | .ace-idle-fingers .ace_marker-layer .ace_active-line {\ 35 | background: #353637\ 36 | }\ 37 | .ace-idle-fingers .ace_gutter-active-line {\ 38 | background-color: #353637\ 39 | }\ 40 | .ace-idle-fingers .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid rgba(90, 100, 126, 0.88)\ 42 | }\ 43 | .ace-idle-fingers .ace_invisible {\ 44 | color: #404040\ 45 | }\ 46 | .ace-idle-fingers .ace_keyword,\ 47 | .ace-idle-fingers .ace_meta {\ 48 | color: #CC7833\ 49 | }\ 50 | .ace-idle-fingers .ace_constant,\ 51 | .ace-idle-fingers .ace_constant.ace_character,\ 52 | .ace-idle-fingers .ace_constant.ace_character.ace_escape,\ 53 | .ace-idle-fingers .ace_constant.ace_other,\ 54 | .ace-idle-fingers .ace_support.ace_constant {\ 55 | color: #6C99BB\ 56 | }\ 57 | .ace-idle-fingers .ace_invalid {\ 58 | color: #FFFFFF;\ 59 | background-color: #FF0000\ 60 | }\ 61 | .ace-idle-fingers .ace_fold {\ 62 | background-color: #CC7833;\ 63 | border-color: #FFFFFF\ 64 | }\ 65 | .ace-idle-fingers .ace_support.ace_function {\ 66 | color: #B83426\ 67 | }\ 68 | .ace-idle-fingers .ace_variable.ace_parameter {\ 69 | font-style: italic\ 70 | }\ 71 | .ace-idle-fingers .ace_string {\ 72 | color: #A5C261\ 73 | }\ 74 | .ace-idle-fingers .ace_string.ace_regexp {\ 75 | color: #CCCC33\ 76 | }\ 77 | .ace-idle-fingers .ace_comment {\ 78 | font-style: italic;\ 79 | color: #BC9458\ 80 | }\ 81 | .ace-idle-fingers .ace_meta.ace_tag {\ 82 | color: #FFE5BB\ 83 | }\ 84 | .ace-idle-fingers .ace_entity.ace_name {\ 85 | color: #FFC66D\ 86 | }\ 87 | .ace-idle-fingers .ace_collab.ace_user1 {\ 88 | color: #323232;\ 89 | background-color: #FFF980\ 90 | }\ 91 | .ace-idle-fingers .ace_indent-guide {\ 92 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y\ 93 | }"; 94 | 95 | var dom = require("../lib/dom"); 96 | dom.importCssString(exports.cssText, exports.cssClass); 97 | }); 98 | -------------------------------------------------------------------------------- /public/lib/ace/theme-kr.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/kr_theme",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-kr-theme"; 5 | exports.cssText = ".ace-kr-theme .ace_gutter {\ 6 | background: #1c1917;\ 7 | color: #FCFFE0\ 8 | }\ 9 | .ace-kr-theme .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #1c1917\ 12 | }\ 13 | .ace-kr-theme {\ 14 | background-color: #0B0A09;\ 15 | color: #FCFFE0\ 16 | }\ 17 | .ace-kr-theme .ace_cursor {\ 18 | color: #FF9900\ 19 | }\ 20 | .ace-kr-theme .ace_marker-layer .ace_selection {\ 21 | background: rgba(170, 0, 255, 0.45)\ 22 | }\ 23 | .ace-kr-theme.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #0B0A09;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-kr-theme .ace_marker-layer .ace_step {\ 28 | background: rgb(102, 82, 0)\ 29 | }\ 30 | .ace-kr-theme .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid rgba(255, 177, 111, 0.32)\ 33 | }\ 34 | .ace-kr-theme .ace_marker-layer .ace_active-line {\ 35 | background: #38403D\ 36 | }\ 37 | .ace-kr-theme .ace_gutter-active-line {\ 38 | background-color : #38403D\ 39 | }\ 40 | .ace-kr-theme .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid rgba(170, 0, 255, 0.45)\ 42 | }\ 43 | .ace-kr-theme .ace_invisible {\ 44 | color: rgba(255, 177, 111, 0.32)\ 45 | }\ 46 | .ace-kr-theme .ace_keyword,\ 47 | .ace-kr-theme .ace_meta {\ 48 | color: #949C8B\ 49 | }\ 50 | .ace-kr-theme .ace_constant,\ 51 | .ace-kr-theme .ace_constant.ace_character,\ 52 | .ace-kr-theme .ace_constant.ace_character.ace_escape,\ 53 | .ace-kr-theme .ace_constant.ace_other {\ 54 | color: rgba(210, 117, 24, 0.76)\ 55 | }\ 56 | .ace-kr-theme .ace_invalid {\ 57 | color: #F8F8F8;\ 58 | background-color: #A41300\ 59 | }\ 60 | .ace-kr-theme .ace_support {\ 61 | color: #9FC28A\ 62 | }\ 63 | .ace-kr-theme .ace_support.ace_constant {\ 64 | color: #C27E66\ 65 | }\ 66 | .ace-kr-theme .ace_fold {\ 67 | background-color: #949C8B;\ 68 | border-color: #FCFFE0\ 69 | }\ 70 | .ace-kr-theme .ace_support.ace_function {\ 71 | color: #85873A\ 72 | }\ 73 | .ace-kr-theme .ace_storage {\ 74 | color: #FFEE80\ 75 | }\ 76 | .ace-kr-theme .ace_string {\ 77 | color: rgba(164, 161, 181, 0.8)\ 78 | }\ 79 | .ace-kr-theme .ace_string.ace_regexp {\ 80 | color: rgba(125, 255, 192, 0.65)\ 81 | }\ 82 | .ace-kr-theme .ace_comment {\ 83 | font-style: italic;\ 84 | color: #706D5B\ 85 | }\ 86 | .ace-kr-theme .ace_variable {\ 87 | color: #D1A796\ 88 | }\ 89 | .ace-kr-theme .ace_list,\ 90 | .ace-kr-theme .ace_markup.ace_list {\ 91 | background-color: #0F0040\ 92 | }\ 93 | .ace-kr-theme .ace_variable.ace_language {\ 94 | color: #FF80E1\ 95 | }\ 96 | .ace-kr-theme .ace_meta.ace_tag {\ 97 | color: #BABD9C\ 98 | }\ 99 | .ace-kr-theme .ace_indent-guide {\ 100 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYFBXV/8PAAJoAXX4kT2EAAAAAElFTkSuQmCC) right repeat-y\ 101 | }"; 102 | 103 | var dom = require("../lib/dom"); 104 | dom.importCssString(exports.cssText, exports.cssClass); 105 | }); 106 | -------------------------------------------------------------------------------- /public/lib/ace/theme-kr_theme.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/kr_theme",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-kr-theme"; 5 | exports.cssText = ".ace-kr-theme .ace_gutter {\ 6 | background: #1c1917;\ 7 | color: #FCFFE0\ 8 | }\ 9 | .ace-kr-theme .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #1c1917\ 12 | }\ 13 | .ace-kr-theme {\ 14 | background-color: #0B0A09;\ 15 | color: #FCFFE0\ 16 | }\ 17 | .ace-kr-theme .ace_cursor {\ 18 | color: #FF9900\ 19 | }\ 20 | .ace-kr-theme .ace_marker-layer .ace_selection {\ 21 | background: rgba(170, 0, 255, 0.45)\ 22 | }\ 23 | .ace-kr-theme.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #0B0A09;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-kr-theme .ace_marker-layer .ace_step {\ 28 | background: rgb(102, 82, 0)\ 29 | }\ 30 | .ace-kr-theme .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid rgba(255, 177, 111, 0.32)\ 33 | }\ 34 | .ace-kr-theme .ace_marker-layer .ace_active-line {\ 35 | background: #38403D\ 36 | }\ 37 | .ace-kr-theme .ace_gutter-active-line {\ 38 | background-color : #38403D\ 39 | }\ 40 | .ace-kr-theme .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid rgba(170, 0, 255, 0.45)\ 42 | }\ 43 | .ace-kr-theme .ace_invisible {\ 44 | color: rgba(255, 177, 111, 0.32)\ 45 | }\ 46 | .ace-kr-theme .ace_keyword,\ 47 | .ace-kr-theme .ace_meta {\ 48 | color: #949C8B\ 49 | }\ 50 | .ace-kr-theme .ace_constant,\ 51 | .ace-kr-theme .ace_constant.ace_character,\ 52 | .ace-kr-theme .ace_constant.ace_character.ace_escape,\ 53 | .ace-kr-theme .ace_constant.ace_other {\ 54 | color: rgba(210, 117, 24, 0.76)\ 55 | }\ 56 | .ace-kr-theme .ace_invalid {\ 57 | color: #F8F8F8;\ 58 | background-color: #A41300\ 59 | }\ 60 | .ace-kr-theme .ace_support {\ 61 | color: #9FC28A\ 62 | }\ 63 | .ace-kr-theme .ace_support.ace_constant {\ 64 | color: #C27E66\ 65 | }\ 66 | .ace-kr-theme .ace_fold {\ 67 | background-color: #949C8B;\ 68 | border-color: #FCFFE0\ 69 | }\ 70 | .ace-kr-theme .ace_support.ace_function {\ 71 | color: #85873A\ 72 | }\ 73 | .ace-kr-theme .ace_storage {\ 74 | color: #FFEE80\ 75 | }\ 76 | .ace-kr-theme .ace_string {\ 77 | color: rgba(164, 161, 181, 0.8)\ 78 | }\ 79 | .ace-kr-theme .ace_string.ace_regexp {\ 80 | color: rgba(125, 255, 192, 0.65)\ 81 | }\ 82 | .ace-kr-theme .ace_comment {\ 83 | font-style: italic;\ 84 | color: #706D5B\ 85 | }\ 86 | .ace-kr-theme .ace_variable {\ 87 | color: #D1A796\ 88 | }\ 89 | .ace-kr-theme .ace_list,\ 90 | .ace-kr-theme .ace_markup.ace_list {\ 91 | background-color: #0F0040\ 92 | }\ 93 | .ace-kr-theme .ace_variable.ace_language {\ 94 | color: #FF80E1\ 95 | }\ 96 | .ace-kr-theme .ace_meta.ace_tag {\ 97 | color: #BABD9C\ 98 | }\ 99 | .ace-kr-theme .ace_indent-guide {\ 100 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYFBXV/8PAAJoAXX4kT2EAAAAAElFTkSuQmCC) right repeat-y\ 101 | }"; 102 | 103 | var dom = require("../lib/dom"); 104 | dom.importCssString(exports.cssText, exports.cssClass); 105 | }); 106 | -------------------------------------------------------------------------------- /public/lib/ace/theme-kuroir.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/kuroir",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = false; 4 | exports.cssClass = "ace-kuroir"; 5 | exports.cssText = "\ 6 | .ace-kuroir .ace_gutter {\ 7 | background: #e8e8e8;\ 8 | color: #333;\ 9 | }\ 10 | .ace-kuroir .ace_print-margin {\ 11 | width: 1px;\ 12 | background: #e8e8e8;\ 13 | }\ 14 | .ace-kuroir {\ 15 | background-color: #E8E9E8;\ 16 | color: #363636;\ 17 | }\ 18 | .ace-kuroir .ace_cursor {\ 19 | color: #202020;\ 20 | }\ 21 | .ace-kuroir .ace_marker-layer .ace_selection {\ 22 | background: rgba(245, 170, 0, 0.57);\ 23 | }\ 24 | .ace-kuroir.ace_multiselect .ace_selection.ace_start {\ 25 | box-shadow: 0 0 3px 0px #E8E9E8;\ 26 | border-radius: 2px;\ 27 | }\ 28 | .ace-kuroir .ace_marker-layer .ace_step {\ 29 | background: rgb(198, 219, 174);\ 30 | }\ 31 | .ace-kuroir .ace_marker-layer .ace_bracket {\ 32 | margin: -1px 0 0 -1px;\ 33 | border: 1px solid rgba(0, 0, 0, 0.29);\ 34 | }\ 35 | .ace-kuroir .ace_marker-layer .ace_active-line {\ 36 | background: rgba(203, 220, 47, 0.22);\ 37 | }\ 38 | .ace-kuroir .ace_gutter-active-line {\ 39 | background-color: rgba(203, 220, 47, 0.22);\ 40 | }\ 41 | .ace-kuroir .ace_marker-layer .ace_selected-word {\ 42 | border: 1px solid rgba(245, 170, 0, 0.57);\ 43 | }\ 44 | .ace-kuroir .ace_fold {\ 45 | border-color: #363636;\ 46 | }\ 47 | .ace-kuroir .ace_constant{color:#CD6839;}.ace-kuroir .ace_constant.ace_numeric{color:#9A5925;}.ace-kuroir .ace_support{color:#104E8B;}.ace-kuroir .ace_support.ace_function{color:#005273;}.ace-kuroir .ace_support.ace_constant{color:#CF6A4C;}.ace-kuroir .ace_storage{color:#A52A2A;}.ace-kuroir .ace_invalid.ace_illegal{color:#FD1224;\ 48 | background-color:rgba(255, 6, 0, 0.15);}.ace-kuroir .ace_invalid.ace_deprecated{text-decoration:underline;\ 49 | font-style:italic;\ 50 | color:#FD1732;\ 51 | background-color:#E8E9E8;}.ace-kuroir .ace_string{color:#639300;}.ace-kuroir .ace_string.ace_regexp{color:#417E00;\ 52 | background-color:#C9D4BE;}.ace-kuroir .ace_comment{color:rgba(148, 148, 148, 0.91);\ 53 | background-color:rgba(220, 220, 220, 0.56);}.ace-kuroir .ace_variable{color:#009ACD;}.ace-kuroir .ace_meta.ace_tag{color:#005273;}.ace-kuroir .ace_markup.ace_heading{color:#B8012D;\ 54 | background-color:rgba(191, 97, 51, 0.051);}.ace-kuroir .ace_markup.ace_list{color:#8F5B26;}\ 55 | "; 56 | 57 | var dom = require("../lib/dom"); 58 | dom.importCssString(exports.cssText, exports.cssClass); 59 | }); 60 | -------------------------------------------------------------------------------- /public/lib/ace/theme-merbivore.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/merbivore",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-merbivore"; 5 | exports.cssText = ".ace-merbivore .ace_gutter {\ 6 | background: #202020;\ 7 | color: #E6E1DC\ 8 | }\ 9 | .ace-merbivore .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #555651\ 12 | }\ 13 | .ace-merbivore {\ 14 | background-color: #161616;\ 15 | color: #E6E1DC\ 16 | }\ 17 | .ace-merbivore .ace_cursor {\ 18 | color: #FFFFFF\ 19 | }\ 20 | .ace-merbivore .ace_marker-layer .ace_selection {\ 21 | background: #454545\ 22 | }\ 23 | .ace-merbivore.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #161616;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-merbivore .ace_marker-layer .ace_step {\ 28 | background: rgb(102, 82, 0)\ 29 | }\ 30 | .ace-merbivore .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid #404040\ 33 | }\ 34 | .ace-merbivore .ace_marker-layer .ace_active-line {\ 35 | background: #333435\ 36 | }\ 37 | .ace-merbivore .ace_gutter-active-line {\ 38 | background-color: #333435\ 39 | }\ 40 | .ace-merbivore .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid #454545\ 42 | }\ 43 | .ace-merbivore .ace_invisible {\ 44 | color: #404040\ 45 | }\ 46 | .ace-merbivore .ace_entity.ace_name.ace_tag,\ 47 | .ace-merbivore .ace_keyword,\ 48 | .ace-merbivore .ace_meta,\ 49 | .ace-merbivore .ace_meta.ace_tag,\ 50 | .ace-merbivore .ace_storage,\ 51 | .ace-merbivore .ace_support.ace_function {\ 52 | color: #FC6F09\ 53 | }\ 54 | .ace-merbivore .ace_constant,\ 55 | .ace-merbivore .ace_constant.ace_character,\ 56 | .ace-merbivore .ace_constant.ace_character.ace_escape,\ 57 | .ace-merbivore .ace_constant.ace_other,\ 58 | .ace-merbivore .ace_support.ace_type {\ 59 | color: #1EDAFB\ 60 | }\ 61 | .ace-merbivore .ace_constant.ace_character.ace_escape {\ 62 | color: #519F50\ 63 | }\ 64 | .ace-merbivore .ace_constant.ace_language {\ 65 | color: #FDC251\ 66 | }\ 67 | .ace-merbivore .ace_constant.ace_library,\ 68 | .ace-merbivore .ace_string,\ 69 | .ace-merbivore .ace_support.ace_constant {\ 70 | color: #8DFF0A\ 71 | }\ 72 | .ace-merbivore .ace_constant.ace_numeric {\ 73 | color: #58C554\ 74 | }\ 75 | .ace-merbivore .ace_invalid {\ 76 | color: #FFFFFF;\ 77 | background-color: #990000\ 78 | }\ 79 | .ace-merbivore .ace_fold {\ 80 | background-color: #FC6F09;\ 81 | border-color: #E6E1DC\ 82 | }\ 83 | .ace-merbivore .ace_comment {\ 84 | font-style: italic;\ 85 | color: #AD2EA4\ 86 | }\ 87 | .ace-merbivore .ace_entity.ace_other.ace_attribute-name {\ 88 | color: #FFFF89\ 89 | }\ 90 | .ace-merbivore .ace_indent-guide {\ 91 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQFxf3ZXB1df0PAAdsAmERTkEHAAAAAElFTkSuQmCC) right repeat-y\ 92 | }"; 93 | 94 | var dom = require("../lib/dom"); 95 | dom.importCssString(exports.cssText, exports.cssClass); 96 | }); 97 | -------------------------------------------------------------------------------- /public/lib/ace/theme-merbivore_soft.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/merbivore_soft",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-merbivore-soft"; 5 | exports.cssText = ".ace-merbivore-soft .ace_gutter {\ 6 | background: #262424;\ 7 | color: #E6E1DC\ 8 | }\ 9 | .ace-merbivore-soft .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #262424\ 12 | }\ 13 | .ace-merbivore-soft {\ 14 | background-color: #1C1C1C;\ 15 | color: #E6E1DC\ 16 | }\ 17 | .ace-merbivore-soft .ace_cursor {\ 18 | color: #FFFFFF\ 19 | }\ 20 | .ace-merbivore-soft .ace_marker-layer .ace_selection {\ 21 | background: #494949\ 22 | }\ 23 | .ace-merbivore-soft.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #1C1C1C;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-merbivore-soft .ace_marker-layer .ace_step {\ 28 | background: rgb(102, 82, 0)\ 29 | }\ 30 | .ace-merbivore-soft .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid #404040\ 33 | }\ 34 | .ace-merbivore-soft .ace_marker-layer .ace_active-line {\ 35 | background: #333435\ 36 | }\ 37 | .ace-merbivore-soft .ace_gutter-active-line {\ 38 | background-color: #333435\ 39 | }\ 40 | .ace-merbivore-soft .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid #494949\ 42 | }\ 43 | .ace-merbivore-soft .ace_invisible {\ 44 | color: #404040\ 45 | }\ 46 | .ace-merbivore-soft .ace_entity.ace_name.ace_tag,\ 47 | .ace-merbivore-soft .ace_keyword,\ 48 | .ace-merbivore-soft .ace_meta,\ 49 | .ace-merbivore-soft .ace_meta.ace_tag,\ 50 | .ace-merbivore-soft .ace_storage {\ 51 | color: #FC803A\ 52 | }\ 53 | .ace-merbivore-soft .ace_constant,\ 54 | .ace-merbivore-soft .ace_constant.ace_character,\ 55 | .ace-merbivore-soft .ace_constant.ace_character.ace_escape,\ 56 | .ace-merbivore-soft .ace_constant.ace_other,\ 57 | .ace-merbivore-soft .ace_support.ace_type {\ 58 | color: #68C1D8\ 59 | }\ 60 | .ace-merbivore-soft .ace_constant.ace_character.ace_escape {\ 61 | color: #B3E5B4\ 62 | }\ 63 | .ace-merbivore-soft .ace_constant.ace_language {\ 64 | color: #E1C582\ 65 | }\ 66 | .ace-merbivore-soft .ace_constant.ace_library,\ 67 | .ace-merbivore-soft .ace_string,\ 68 | .ace-merbivore-soft .ace_support.ace_constant {\ 69 | color: #8EC65F\ 70 | }\ 71 | .ace-merbivore-soft .ace_constant.ace_numeric {\ 72 | color: #7FC578\ 73 | }\ 74 | .ace-merbivore-soft .ace_invalid,\ 75 | .ace-merbivore-soft .ace_invalid.ace_deprecated {\ 76 | color: #FFFFFF;\ 77 | background-color: #FE3838\ 78 | }\ 79 | .ace-merbivore-soft .ace_fold {\ 80 | background-color: #FC803A;\ 81 | border-color: #E6E1DC\ 82 | }\ 83 | .ace-merbivore-soft .ace_comment,\ 84 | .ace-merbivore-soft .ace_meta {\ 85 | font-style: italic;\ 86 | color: #AC4BB8\ 87 | }\ 88 | .ace-merbivore-soft .ace_entity.ace_other.ace_attribute-name {\ 89 | color: #EAF1A3\ 90 | }\ 91 | .ace-merbivore-soft .ace_indent-guide {\ 92 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQkpLyZfD09PwPAAfYAnaStpHRAAAAAElFTkSuQmCC) right repeat-y\ 93 | }"; 94 | 95 | var dom = require("../lib/dom"); 96 | dom.importCssString(exports.cssText, exports.cssClass); 97 | }); 98 | -------------------------------------------------------------------------------- /public/lib/ace/theme-mono_industrial.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/mono_industrial",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-mono-industrial"; 5 | exports.cssText = ".ace-mono-industrial .ace_gutter {\ 6 | background: #1d2521;\ 7 | color: #C5C9C9\ 8 | }\ 9 | .ace-mono-industrial .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #555651\ 12 | }\ 13 | .ace-mono-industrial {\ 14 | background-color: #222C28;\ 15 | color: #FFFFFF\ 16 | }\ 17 | .ace-mono-industrial .ace_cursor {\ 18 | color: #FFFFFF\ 19 | }\ 20 | .ace-mono-industrial .ace_marker-layer .ace_selection {\ 21 | background: rgba(145, 153, 148, 0.40)\ 22 | }\ 23 | .ace-mono-industrial.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #222C28;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-mono-industrial .ace_marker-layer .ace_step {\ 28 | background: rgb(102, 82, 0)\ 29 | }\ 30 | .ace-mono-industrial .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid rgba(102, 108, 104, 0.50)\ 33 | }\ 34 | .ace-mono-industrial .ace_marker-layer .ace_active-line {\ 35 | background: rgba(12, 13, 12, 0.25)\ 36 | }\ 37 | .ace-mono-industrial .ace_gutter-active-line {\ 38 | background-color: rgba(12, 13, 12, 0.25)\ 39 | }\ 40 | .ace-mono-industrial .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid rgba(145, 153, 148, 0.40)\ 42 | }\ 43 | .ace-mono-industrial .ace_invisible {\ 44 | color: rgba(102, 108, 104, 0.50)\ 45 | }\ 46 | .ace-mono-industrial .ace_string {\ 47 | background-color: #151C19;\ 48 | color: #FFFFFF\ 49 | }\ 50 | .ace-mono-industrial .ace_keyword,\ 51 | .ace-mono-industrial .ace_meta {\ 52 | color: #A39E64\ 53 | }\ 54 | .ace-mono-industrial .ace_constant,\ 55 | .ace-mono-industrial .ace_constant.ace_character,\ 56 | .ace-mono-industrial .ace_constant.ace_character.ace_escape,\ 57 | .ace-mono-industrial .ace_constant.ace_numeric,\ 58 | .ace-mono-industrial .ace_constant.ace_other {\ 59 | color: #E98800\ 60 | }\ 61 | .ace-mono-industrial .ace_entity.ace_name.ace_function,\ 62 | .ace-mono-industrial .ace_keyword.ace_operator,\ 63 | .ace-mono-industrial .ace_variable {\ 64 | color: #A8B3AB\ 65 | }\ 66 | .ace-mono-industrial .ace_invalid {\ 67 | color: #FFFFFF;\ 68 | background-color: rgba(153, 0, 0, 0.68)\ 69 | }\ 70 | .ace-mono-industrial .ace_support.ace_constant {\ 71 | color: #C87500\ 72 | }\ 73 | .ace-mono-industrial .ace_fold {\ 74 | background-color: #A8B3AB;\ 75 | border-color: #FFFFFF\ 76 | }\ 77 | .ace-mono-industrial .ace_support.ace_function {\ 78 | color: #588E60\ 79 | }\ 80 | .ace-mono-industrial .ace_entity.ace_name,\ 81 | .ace-mono-industrial .ace_support.ace_class,\ 82 | .ace-mono-industrial .ace_support.ace_type {\ 83 | color: #5778B6\ 84 | }\ 85 | .ace-mono-industrial .ace_storage {\ 86 | color: #C23B00\ 87 | }\ 88 | .ace-mono-industrial .ace_variable.ace_language,\ 89 | .ace-mono-industrial .ace_variable.ace_parameter {\ 90 | color: #648BD2\ 91 | }\ 92 | .ace-mono-industrial .ace_comment {\ 93 | color: #666C68;\ 94 | background-color: #151C19\ 95 | }\ 96 | .ace-mono-industrial .ace_entity.ace_other.ace_attribute-name {\ 97 | color: #909993\ 98 | }\ 99 | .ace-mono-industrial .ace_entity.ace_name.ace_tag {\ 100 | color: #A65EFF\ 101 | }\ 102 | .ace-mono-industrial .ace_indent-guide {\ 103 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQ1NbwZfALD/4PAAlTArlEC4r/AAAAAElFTkSuQmCC) right repeat-y\ 104 | }"; 105 | 106 | var dom = require("../lib/dom"); 107 | dom.importCssString(exports.cssText, exports.cssClass); 108 | }); 109 | -------------------------------------------------------------------------------- /public/lib/ace/theme-monokai.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/monokai",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-monokai"; 5 | exports.cssText = ".ace-monokai .ace_gutter {\ 6 | background: #2F3129;\ 7 | color: #8F908A\ 8 | }\ 9 | .ace-monokai .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #555651\ 12 | }\ 13 | .ace-monokai {\ 14 | background-color: #272822;\ 15 | color: #F8F8F2\ 16 | }\ 17 | .ace-monokai .ace_cursor {\ 18 | color: #F8F8F0\ 19 | }\ 20 | .ace-monokai .ace_marker-layer .ace_selection {\ 21 | background: #49483E\ 22 | }\ 23 | .ace-monokai.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #272822;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-monokai .ace_marker-layer .ace_step {\ 28 | background: rgb(102, 82, 0)\ 29 | }\ 30 | .ace-monokai .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid #49483E\ 33 | }\ 34 | .ace-monokai .ace_marker-layer .ace_active-line {\ 35 | background: #202020\ 36 | }\ 37 | .ace-monokai .ace_gutter-active-line {\ 38 | background-color: #272727\ 39 | }\ 40 | .ace-monokai .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid #49483E\ 42 | }\ 43 | .ace-monokai .ace_invisible {\ 44 | color: #52524d\ 45 | }\ 46 | .ace-monokai .ace_entity.ace_name.ace_tag,\ 47 | .ace-monokai .ace_keyword,\ 48 | .ace-monokai .ace_meta.ace_tag,\ 49 | .ace-monokai .ace_storage {\ 50 | color: #F92672\ 51 | }\ 52 | .ace-monokai .ace_punctuation,\ 53 | .ace-monokai .ace_punctuation.ace_tag {\ 54 | color: #fff\ 55 | }\ 56 | .ace-monokai .ace_constant.ace_character,\ 57 | .ace-monokai .ace_constant.ace_language,\ 58 | .ace-monokai .ace_constant.ace_numeric,\ 59 | .ace-monokai .ace_constant.ace_other {\ 60 | color: #AE81FF\ 61 | }\ 62 | .ace-monokai .ace_invalid {\ 63 | color: #F8F8F0;\ 64 | background-color: #F92672\ 65 | }\ 66 | .ace-monokai .ace_invalid.ace_deprecated {\ 67 | color: #F8F8F0;\ 68 | background-color: #AE81FF\ 69 | }\ 70 | .ace-monokai .ace_support.ace_constant,\ 71 | .ace-monokai .ace_support.ace_function {\ 72 | color: #66D9EF\ 73 | }\ 74 | .ace-monokai .ace_fold {\ 75 | background-color: #A6E22E;\ 76 | border-color: #F8F8F2\ 77 | }\ 78 | .ace-monokai .ace_storage.ace_type,\ 79 | .ace-monokai .ace_support.ace_class,\ 80 | .ace-monokai .ace_support.ace_type {\ 81 | font-style: italic;\ 82 | color: #66D9EF\ 83 | }\ 84 | .ace-monokai .ace_entity.ace_name.ace_function,\ 85 | .ace-monokai .ace_entity.ace_other,\ 86 | .ace-monokai .ace_entity.ace_other.ace_attribute-name,\ 87 | .ace-monokai .ace_variable {\ 88 | color: #A6E22E\ 89 | }\ 90 | .ace-monokai .ace_variable.ace_parameter {\ 91 | font-style: italic;\ 92 | color: #FD971F\ 93 | }\ 94 | .ace-monokai .ace_string {\ 95 | color: #E6DB74\ 96 | }\ 97 | .ace-monokai .ace_comment {\ 98 | color: #75715E\ 99 | }\ 100 | .ace-monokai .ace_indent-guide {\ 101 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y\ 102 | }"; 103 | 104 | var dom = require("../lib/dom"); 105 | dom.importCssString(exports.cssText, exports.cssClass); 106 | }); 107 | -------------------------------------------------------------------------------- /public/lib/ace/theme-pastel_on_dark.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/pastel_on_dark",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-pastel-on-dark"; 5 | exports.cssText = ".ace-pastel-on-dark .ace_gutter {\ 6 | background: #353030;\ 7 | color: #8F938F\ 8 | }\ 9 | .ace-pastel-on-dark .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #353030\ 12 | }\ 13 | .ace-pastel-on-dark {\ 14 | background-color: #2C2828;\ 15 | color: #8F938F\ 16 | }\ 17 | .ace-pastel-on-dark .ace_cursor {\ 18 | color: #A7A7A7\ 19 | }\ 20 | .ace-pastel-on-dark .ace_marker-layer .ace_selection {\ 21 | background: rgba(221, 240, 255, 0.20)\ 22 | }\ 23 | .ace-pastel-on-dark.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #2C2828;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-pastel-on-dark .ace_marker-layer .ace_step {\ 28 | background: rgb(102, 82, 0)\ 29 | }\ 30 | .ace-pastel-on-dark .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid rgba(255, 255, 255, 0.25)\ 33 | }\ 34 | .ace-pastel-on-dark .ace_marker-layer .ace_active-line {\ 35 | background: rgba(255, 255, 255, 0.031)\ 36 | }\ 37 | .ace-pastel-on-dark .ace_gutter-active-line {\ 38 | background-color: rgba(255, 255, 255, 0.031)\ 39 | }\ 40 | .ace-pastel-on-dark .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid rgba(221, 240, 255, 0.20)\ 42 | }\ 43 | .ace-pastel-on-dark .ace_invisible {\ 44 | color: rgba(255, 255, 255, 0.25)\ 45 | }\ 46 | .ace-pastel-on-dark .ace_keyword,\ 47 | .ace-pastel-on-dark .ace_meta {\ 48 | color: #757aD8\ 49 | }\ 50 | .ace-pastel-on-dark .ace_constant,\ 51 | .ace-pastel-on-dark .ace_constant.ace_character,\ 52 | .ace-pastel-on-dark .ace_constant.ace_character.ace_escape,\ 53 | .ace-pastel-on-dark .ace_constant.ace_other {\ 54 | color: #4FB7C5\ 55 | }\ 56 | .ace-pastel-on-dark .ace_keyword.ace_operator {\ 57 | color: #797878\ 58 | }\ 59 | .ace-pastel-on-dark .ace_constant.ace_character {\ 60 | color: #AFA472\ 61 | }\ 62 | .ace-pastel-on-dark .ace_constant.ace_language {\ 63 | color: #DE8E30\ 64 | }\ 65 | .ace-pastel-on-dark .ace_constant.ace_numeric {\ 66 | color: #CCCCCC\ 67 | }\ 68 | .ace-pastel-on-dark .ace_invalid,\ 69 | .ace-pastel-on-dark .ace_invalid.ace_illegal {\ 70 | color: #F8F8F8;\ 71 | background-color: rgba(86, 45, 86, 0.75)\ 72 | }\ 73 | .ace-pastel-on-dark .ace_invalid.ace_deprecated {\ 74 | text-decoration: underline;\ 75 | font-style: italic;\ 76 | color: #D2A8A1\ 77 | }\ 78 | .ace-pastel-on-dark .ace_fold {\ 79 | background-color: #757aD8;\ 80 | border-color: #8F938F\ 81 | }\ 82 | .ace-pastel-on-dark .ace_support.ace_function {\ 83 | color: #AEB2F8\ 84 | }\ 85 | .ace-pastel-on-dark .ace_string {\ 86 | color: #66A968\ 87 | }\ 88 | .ace-pastel-on-dark .ace_string.ace_regexp {\ 89 | color: #E9C062\ 90 | }\ 91 | .ace-pastel-on-dark .ace_comment {\ 92 | color: #A6C6FF\ 93 | }\ 94 | .ace-pastel-on-dark .ace_variable {\ 95 | color: #BEBF55\ 96 | }\ 97 | .ace-pastel-on-dark .ace_variable.ace_language {\ 98 | color: #C1C144\ 99 | }\ 100 | .ace-pastel-on-dark .ace_xml-pe {\ 101 | color: #494949\ 102 | }\ 103 | .ace-pastel-on-dark .ace_indent-guide {\ 104 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYIiPj/8PAARgAh2NTMh8AAAAAElFTkSuQmCC) right repeat-y\ 105 | }"; 106 | 107 | var dom = require("../lib/dom"); 108 | dom.importCssString(exports.cssText, exports.cssClass); 109 | }); 110 | -------------------------------------------------------------------------------- /public/lib/ace/theme-solarized_dark.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/solarized_dark",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-solarized-dark"; 5 | exports.cssText = ".ace-solarized-dark .ace_gutter {\ 6 | background: #01313f;\ 7 | color: #d0edf7\ 8 | }\ 9 | .ace-solarized-dark .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #33555E\ 12 | }\ 13 | .ace-solarized-dark {\ 14 | background-color: #002B36;\ 15 | color: #93A1A1\ 16 | }\ 17 | .ace-solarized-dark .ace_entity.ace_other.ace_attribute-name,\ 18 | .ace-solarized-dark .ace_storage {\ 19 | color: #93A1A1\ 20 | }\ 21 | .ace-solarized-dark .ace_cursor,\ 22 | .ace-solarized-dark .ace_string.ace_regexp {\ 23 | color: #D30102\ 24 | }\ 25 | .ace-solarized-dark .ace_marker-layer .ace_active-line,\ 26 | .ace-solarized-dark .ace_marker-layer .ace_selection {\ 27 | background: rgba(255, 255, 255, 0.1)\ 28 | }\ 29 | .ace-solarized-dark.ace_multiselect .ace_selection.ace_start {\ 30 | box-shadow: 0 0 3px 0px #002B36;\ 31 | border-radius: 2px\ 32 | }\ 33 | .ace-solarized-dark .ace_marker-layer .ace_step {\ 34 | background: rgb(102, 82, 0)\ 35 | }\ 36 | .ace-solarized-dark .ace_marker-layer .ace_bracket {\ 37 | margin: -1px 0 0 -1px;\ 38 | border: 1px solid rgba(147, 161, 161, 0.50)\ 39 | }\ 40 | .ace-solarized-dark .ace_gutter-active-line {\ 41 | background-color: #0d3440\ 42 | }\ 43 | .ace-solarized-dark .ace_marker-layer .ace_selected-word {\ 44 | border: 1px solid #073642\ 45 | }\ 46 | .ace-solarized-dark .ace_invisible {\ 47 | color: rgba(147, 161, 161, 0.50)\ 48 | }\ 49 | .ace-solarized-dark .ace_keyword,\ 50 | .ace-solarized-dark .ace_meta,\ 51 | .ace-solarized-dark .ace_support.ace_class,\ 52 | .ace-solarized-dark .ace_support.ace_type {\ 53 | color: #859900\ 54 | }\ 55 | .ace-solarized-dark .ace_constant.ace_character,\ 56 | .ace-solarized-dark .ace_constant.ace_other {\ 57 | color: #CB4B16\ 58 | }\ 59 | .ace-solarized-dark .ace_constant.ace_language {\ 60 | color: #B58900\ 61 | }\ 62 | .ace-solarized-dark .ace_constant.ace_numeric {\ 63 | color: #D33682\ 64 | }\ 65 | .ace-solarized-dark .ace_fold {\ 66 | background-color: #268BD2;\ 67 | border-color: #93A1A1\ 68 | }\ 69 | .ace-solarized-dark .ace_entity.ace_name.ace_function,\ 70 | .ace-solarized-dark .ace_entity.ace_name.ace_tag,\ 71 | .ace-solarized-dark .ace_support.ace_function,\ 72 | .ace-solarized-dark .ace_variable,\ 73 | .ace-solarized-dark .ace_variable.ace_language {\ 74 | color: #268BD2\ 75 | }\ 76 | .ace-solarized-dark .ace_string {\ 77 | color: #2AA198\ 78 | }\ 79 | .ace-solarized-dark .ace_comment {\ 80 | font-style: italic;\ 81 | color: #657B83\ 82 | }\ 83 | .ace-solarized-dark .ace_indent-guide {\ 84 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNg0Db1ZVCxc/sPAAd4AlUHlLenAAAAAElFTkSuQmCC) right repeat-y\ 85 | }"; 86 | 87 | var dom = require("../lib/dom"); 88 | dom.importCssString(exports.cssText, exports.cssClass); 89 | }); 90 | -------------------------------------------------------------------------------- /public/lib/ace/theme-solarized_light.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/solarized_light",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = false; 4 | exports.cssClass = "ace-solarized-light"; 5 | exports.cssText = ".ace-solarized-light .ace_gutter {\ 6 | background: #fbf1d3;\ 7 | color: #333\ 8 | }\ 9 | .ace-solarized-light .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #e8e8e8\ 12 | }\ 13 | .ace-solarized-light {\ 14 | background-color: #FDF6E3;\ 15 | color: #586E75\ 16 | }\ 17 | .ace-solarized-light .ace_cursor {\ 18 | color: #000000\ 19 | }\ 20 | .ace-solarized-light .ace_marker-layer .ace_selection {\ 21 | background: rgba(7, 54, 67, 0.09)\ 22 | }\ 23 | .ace-solarized-light.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #FDF6E3;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-solarized-light .ace_marker-layer .ace_step {\ 28 | background: rgb(255, 255, 0)\ 29 | }\ 30 | .ace-solarized-light .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid rgba(147, 161, 161, 0.50)\ 33 | }\ 34 | .ace-solarized-light .ace_marker-layer .ace_active-line {\ 35 | background: #EEE8D5\ 36 | }\ 37 | .ace-solarized-light .ace_gutter-active-line {\ 38 | background-color : #EDE5C1\ 39 | }\ 40 | .ace-solarized-light .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid #073642\ 42 | }\ 43 | .ace-solarized-light .ace_invisible {\ 44 | color: rgba(147, 161, 161, 0.50)\ 45 | }\ 46 | .ace-solarized-light .ace_keyword,\ 47 | .ace-solarized-light .ace_meta,\ 48 | .ace-solarized-light .ace_support.ace_class,\ 49 | .ace-solarized-light .ace_support.ace_type {\ 50 | color: #859900\ 51 | }\ 52 | .ace-solarized-light .ace_constant.ace_character,\ 53 | .ace-solarized-light .ace_constant.ace_other {\ 54 | color: #CB4B16\ 55 | }\ 56 | .ace-solarized-light .ace_constant.ace_language {\ 57 | color: #B58900\ 58 | }\ 59 | .ace-solarized-light .ace_constant.ace_numeric {\ 60 | color: #D33682\ 61 | }\ 62 | .ace-solarized-light .ace_fold {\ 63 | background-color: #268BD2;\ 64 | border-color: #586E75\ 65 | }\ 66 | .ace-solarized-light .ace_entity.ace_name.ace_function,\ 67 | .ace-solarized-light .ace_entity.ace_name.ace_tag,\ 68 | .ace-solarized-light .ace_support.ace_function,\ 69 | .ace-solarized-light .ace_variable,\ 70 | .ace-solarized-light .ace_variable.ace_language {\ 71 | color: #268BD2\ 72 | }\ 73 | .ace-solarized-light .ace_storage {\ 74 | color: #073642\ 75 | }\ 76 | .ace-solarized-light .ace_string {\ 77 | color: #2AA198\ 78 | }\ 79 | .ace-solarized-light .ace_string.ace_regexp {\ 80 | color: #D30102\ 81 | }\ 82 | .ace-solarized-light .ace_comment,\ 83 | .ace-solarized-light .ace_entity.ace_other.ace_attribute-name {\ 84 | color: #93A1A1\ 85 | }\ 86 | .ace-solarized-light .ace_indent-guide {\ 87 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHjy8NJ/AAjgA5fzQUmBAAAAAElFTkSuQmCC) right repeat-y\ 88 | }"; 89 | 90 | var dom = require("../lib/dom"); 91 | dom.importCssString(exports.cssText, exports.cssClass); 92 | }); 93 | -------------------------------------------------------------------------------- /public/lib/ace/theme-textmate.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/textmate",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.isDark = false; 5 | exports.cssClass = "ace-tm"; 6 | exports.cssText = ".ace-tm .ace_gutter {\ 7 | background: #f0f0f0;\ 8 | color: #333;\ 9 | }\ 10 | .ace-tm .ace_print-margin {\ 11 | width: 1px;\ 12 | background: #e8e8e8;\ 13 | }\ 14 | .ace-tm .ace_fold {\ 15 | background-color: #6B72E6;\ 16 | }\ 17 | .ace-tm {\ 18 | background-color: #FFFFFF;\ 19 | color: black;\ 20 | }\ 21 | .ace-tm .ace_cursor {\ 22 | color: black;\ 23 | }\ 24 | .ace-tm .ace_invisible {\ 25 | color: rgb(191, 191, 191);\ 26 | }\ 27 | .ace-tm .ace_storage,\ 28 | .ace-tm .ace_keyword {\ 29 | color: blue;\ 30 | }\ 31 | .ace-tm .ace_constant {\ 32 | color: rgb(197, 6, 11);\ 33 | }\ 34 | .ace-tm .ace_constant.ace_buildin {\ 35 | color: rgb(88, 72, 246);\ 36 | }\ 37 | .ace-tm .ace_constant.ace_language {\ 38 | color: rgb(88, 92, 246);\ 39 | }\ 40 | .ace-tm .ace_constant.ace_library {\ 41 | color: rgb(6, 150, 14);\ 42 | }\ 43 | .ace-tm .ace_invalid {\ 44 | background-color: rgba(255, 0, 0, 0.1);\ 45 | color: red;\ 46 | }\ 47 | .ace-tm .ace_support.ace_function {\ 48 | color: rgb(60, 76, 114);\ 49 | }\ 50 | .ace-tm .ace_support.ace_constant {\ 51 | color: rgb(6, 150, 14);\ 52 | }\ 53 | .ace-tm .ace_support.ace_type,\ 54 | .ace-tm .ace_support.ace_class {\ 55 | color: rgb(109, 121, 222);\ 56 | }\ 57 | .ace-tm .ace_keyword.ace_operator {\ 58 | color: rgb(104, 118, 135);\ 59 | }\ 60 | .ace-tm .ace_string {\ 61 | color: rgb(3, 106, 7);\ 62 | }\ 63 | .ace-tm .ace_comment {\ 64 | color: rgb(76, 136, 107);\ 65 | }\ 66 | .ace-tm .ace_comment.ace_doc {\ 67 | color: rgb(0, 102, 255);\ 68 | }\ 69 | .ace-tm .ace_comment.ace_doc.ace_tag {\ 70 | color: rgb(128, 159, 191);\ 71 | }\ 72 | .ace-tm .ace_constant.ace_numeric {\ 73 | color: rgb(0, 0, 205);\ 74 | }\ 75 | .ace-tm .ace_variable {\ 76 | color: rgb(49, 132, 149);\ 77 | }\ 78 | .ace-tm .ace_xml-pe {\ 79 | color: rgb(104, 104, 91);\ 80 | }\ 81 | .ace-tm .ace_entity.ace_name.ace_function {\ 82 | color: #0000A2;\ 83 | }\ 84 | .ace-tm .ace_heading {\ 85 | color: rgb(12, 7, 255);\ 86 | }\ 87 | .ace-tm .ace_list {\ 88 | color:rgb(185, 6, 144);\ 89 | }\ 90 | .ace-tm .ace_meta.ace_tag {\ 91 | color:rgb(0, 22, 142);\ 92 | }\ 93 | .ace-tm .ace_string.ace_regex {\ 94 | color: rgb(255, 0, 0)\ 95 | }\ 96 | .ace-tm .ace_marker-layer .ace_selection {\ 97 | background: rgb(181, 213, 255);\ 98 | }\ 99 | .ace-tm.ace_multiselect .ace_selection.ace_start {\ 100 | box-shadow: 0 0 3px 0px white;\ 101 | border-radius: 2px;\ 102 | }\ 103 | .ace-tm .ace_marker-layer .ace_step {\ 104 | background: rgb(252, 255, 0);\ 105 | }\ 106 | .ace-tm .ace_marker-layer .ace_stack {\ 107 | background: rgb(164, 229, 101);\ 108 | }\ 109 | .ace-tm .ace_marker-layer .ace_bracket {\ 110 | margin: -1px 0 0 -1px;\ 111 | border: 1px solid rgb(192, 192, 192);\ 112 | }\ 113 | .ace-tm .ace_marker-layer .ace_active-line {\ 114 | background: rgba(0, 0, 0, 0.07);\ 115 | }\ 116 | .ace-tm .ace_gutter-active-line {\ 117 | background-color : #dcdcdc;\ 118 | }\ 119 | .ace-tm .ace_marker-layer .ace_selected-word {\ 120 | background: rgb(250, 250, 255);\ 121 | border: 1px solid rgb(200, 200, 250);\ 122 | }\ 123 | .ace-tm .ace_indent-guide {\ 124 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 125 | }\ 126 | "; 127 | 128 | var dom = require("../lib/dom"); 129 | dom.importCssString(exports.cssText, exports.cssClass); 130 | }); 131 | -------------------------------------------------------------------------------- /public/lib/ace/theme-tomorrow.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/tomorrow",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = false; 4 | exports.cssClass = "ace-tomorrow"; 5 | exports.cssText = ".ace-tomorrow .ace_gutter {\ 6 | background: #f6f6f6;\ 7 | color: #4D4D4C\ 8 | }\ 9 | .ace-tomorrow .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #f6f6f6\ 12 | }\ 13 | .ace-tomorrow {\ 14 | background-color: #FFFFFF;\ 15 | color: #4D4D4C\ 16 | }\ 17 | .ace-tomorrow .ace_cursor {\ 18 | color: #AEAFAD\ 19 | }\ 20 | .ace-tomorrow .ace_marker-layer .ace_selection {\ 21 | background: #D6D6D6\ 22 | }\ 23 | .ace-tomorrow.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #FFFFFF;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-tomorrow .ace_marker-layer .ace_step {\ 28 | background: rgb(255, 255, 0)\ 29 | }\ 30 | .ace-tomorrow .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid #D1D1D1\ 33 | }\ 34 | .ace-tomorrow .ace_marker-layer .ace_active-line {\ 35 | background: #EFEFEF\ 36 | }\ 37 | .ace-tomorrow .ace_gutter-active-line {\ 38 | background-color : #dcdcdc\ 39 | }\ 40 | .ace-tomorrow .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid #D6D6D6\ 42 | }\ 43 | .ace-tomorrow .ace_invisible {\ 44 | color: #D1D1D1\ 45 | }\ 46 | .ace-tomorrow .ace_keyword,\ 47 | .ace-tomorrow .ace_meta,\ 48 | .ace-tomorrow .ace_storage,\ 49 | .ace-tomorrow .ace_storage.ace_type,\ 50 | .ace-tomorrow .ace_support.ace_type {\ 51 | color: #8959A8\ 52 | }\ 53 | .ace-tomorrow .ace_keyword.ace_operator {\ 54 | color: #3E999F\ 55 | }\ 56 | .ace-tomorrow .ace_constant.ace_character,\ 57 | .ace-tomorrow .ace_constant.ace_language,\ 58 | .ace-tomorrow .ace_constant.ace_numeric,\ 59 | .ace-tomorrow .ace_keyword.ace_other.ace_unit,\ 60 | .ace-tomorrow .ace_support.ace_constant,\ 61 | .ace-tomorrow .ace_variable.ace_parameter {\ 62 | color: #F5871F\ 63 | }\ 64 | .ace-tomorrow .ace_constant.ace_other {\ 65 | color: #666969\ 66 | }\ 67 | .ace-tomorrow .ace_invalid {\ 68 | color: #FFFFFF;\ 69 | background-color: #C82829\ 70 | }\ 71 | .ace-tomorrow .ace_invalid.ace_deprecated {\ 72 | color: #FFFFFF;\ 73 | background-color: #8959A8\ 74 | }\ 75 | .ace-tomorrow .ace_fold {\ 76 | background-color: #4271AE;\ 77 | border-color: #4D4D4C\ 78 | }\ 79 | .ace-tomorrow .ace_entity.ace_name.ace_function,\ 80 | .ace-tomorrow .ace_support.ace_function,\ 81 | .ace-tomorrow .ace_variable {\ 82 | color: #4271AE\ 83 | }\ 84 | .ace-tomorrow .ace_support.ace_class,\ 85 | .ace-tomorrow .ace_support.ace_type {\ 86 | color: #C99E00\ 87 | }\ 88 | .ace-tomorrow .ace_heading,\ 89 | .ace-tomorrow .ace_markup.ace_heading,\ 90 | .ace-tomorrow .ace_string {\ 91 | color: #718C00\ 92 | }\ 93 | .ace-tomorrow .ace_entity.ace_name.ace_tag,\ 94 | .ace-tomorrow .ace_entity.ace_other.ace_attribute-name,\ 95 | .ace-tomorrow .ace_meta.ace_tag,\ 96 | .ace-tomorrow .ace_string.ace_regexp,\ 97 | .ace-tomorrow .ace_variable {\ 98 | color: #C82829\ 99 | }\ 100 | .ace-tomorrow .ace_comment {\ 101 | color: #8E908C\ 102 | }\ 103 | .ace-tomorrow .ace_indent-guide {\ 104 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bdu3f/BwAlfgctduB85QAAAABJRU5ErkJggg==) right repeat-y\ 105 | }"; 106 | 107 | var dom = require("../lib/dom"); 108 | dom.importCssString(exports.cssText, exports.cssClass); 109 | }); 110 | -------------------------------------------------------------------------------- /public/lib/ace/theme-tomorrow_night.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/tomorrow_night",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-tomorrow-night"; 5 | exports.cssText = ".ace-tomorrow-night .ace_gutter {\ 6 | background: #25282c;\ 7 | color: #C5C8C6\ 8 | }\ 9 | .ace-tomorrow-night .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #25282c\ 12 | }\ 13 | .ace-tomorrow-night {\ 14 | background-color: #1D1F21;\ 15 | color: #C5C8C6\ 16 | }\ 17 | .ace-tomorrow-night .ace_cursor {\ 18 | color: #AEAFAD\ 19 | }\ 20 | .ace-tomorrow-night .ace_marker-layer .ace_selection {\ 21 | background: #373B41\ 22 | }\ 23 | .ace-tomorrow-night.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #1D1F21;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-tomorrow-night .ace_marker-layer .ace_step {\ 28 | background: rgb(102, 82, 0)\ 29 | }\ 30 | .ace-tomorrow-night .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid #4B4E55\ 33 | }\ 34 | .ace-tomorrow-night .ace_marker-layer .ace_active-line {\ 35 | background: #282A2E\ 36 | }\ 37 | .ace-tomorrow-night .ace_gutter-active-line {\ 38 | background-color: #282A2E\ 39 | }\ 40 | .ace-tomorrow-night .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid #373B41\ 42 | }\ 43 | .ace-tomorrow-night .ace_invisible {\ 44 | color: #4B4E55\ 45 | }\ 46 | .ace-tomorrow-night .ace_keyword,\ 47 | .ace-tomorrow-night .ace_meta,\ 48 | .ace-tomorrow-night .ace_storage,\ 49 | .ace-tomorrow-night .ace_storage.ace_type,\ 50 | .ace-tomorrow-night .ace_support.ace_type {\ 51 | color: #B294BB\ 52 | }\ 53 | .ace-tomorrow-night .ace_keyword.ace_operator {\ 54 | color: #8ABEB7\ 55 | }\ 56 | .ace-tomorrow-night .ace_constant.ace_character,\ 57 | .ace-tomorrow-night .ace_constant.ace_language,\ 58 | .ace-tomorrow-night .ace_constant.ace_numeric,\ 59 | .ace-tomorrow-night .ace_keyword.ace_other.ace_unit,\ 60 | .ace-tomorrow-night .ace_support.ace_constant,\ 61 | .ace-tomorrow-night .ace_variable.ace_parameter {\ 62 | color: #DE935F\ 63 | }\ 64 | .ace-tomorrow-night .ace_constant.ace_other {\ 65 | color: #CED1CF\ 66 | }\ 67 | .ace-tomorrow-night .ace_invalid {\ 68 | color: #CED2CF;\ 69 | background-color: #DF5F5F\ 70 | }\ 71 | .ace-tomorrow-night .ace_invalid.ace_deprecated {\ 72 | color: #CED2CF;\ 73 | background-color: #B798BF\ 74 | }\ 75 | .ace-tomorrow-night .ace_fold {\ 76 | background-color: #81A2BE;\ 77 | border-color: #C5C8C6\ 78 | }\ 79 | .ace-tomorrow-night .ace_entity.ace_name.ace_function,\ 80 | .ace-tomorrow-night .ace_support.ace_function,\ 81 | .ace-tomorrow-night .ace_variable {\ 82 | color: #81A2BE\ 83 | }\ 84 | .ace-tomorrow-night .ace_support.ace_class,\ 85 | .ace-tomorrow-night .ace_support.ace_type {\ 86 | color: #F0C674\ 87 | }\ 88 | .ace-tomorrow-night .ace_heading,\ 89 | .ace-tomorrow-night .ace_markup.ace_heading,\ 90 | .ace-tomorrow-night .ace_string {\ 91 | color: #B5BD68\ 92 | }\ 93 | .ace-tomorrow-night .ace_entity.ace_name.ace_tag,\ 94 | .ace-tomorrow-night .ace_entity.ace_other.ace_attribute-name,\ 95 | .ace-tomorrow-night .ace_meta.ace_tag,\ 96 | .ace-tomorrow-night .ace_string.ace_regexp,\ 97 | .ace-tomorrow-night .ace_variable {\ 98 | color: #CC6666\ 99 | }\ 100 | .ace-tomorrow-night .ace_comment {\ 101 | color: #969896\ 102 | }\ 103 | .ace-tomorrow-night .ace_indent-guide {\ 104 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y\ 105 | }"; 106 | 107 | var dom = require("../lib/dom"); 108 | dom.importCssString(exports.cssText, exports.cssClass); 109 | }); 110 | -------------------------------------------------------------------------------- /public/lib/ace/theme-twilight.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/twilight",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-twilight"; 5 | exports.cssText = ".ace-twilight .ace_gutter {\ 6 | background: #232323;\ 7 | color: #E2E2E2\ 8 | }\ 9 | .ace-twilight .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #232323\ 12 | }\ 13 | .ace-twilight {\ 14 | background-color: #141414;\ 15 | color: #F8F8F8\ 16 | }\ 17 | .ace-twilight .ace_cursor {\ 18 | color: #A7A7A7\ 19 | }\ 20 | .ace-twilight .ace_marker-layer .ace_selection {\ 21 | background: rgba(221, 240, 255, 0.20)\ 22 | }\ 23 | .ace-twilight.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #141414;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-twilight .ace_marker-layer .ace_step {\ 28 | background: rgb(102, 82, 0)\ 29 | }\ 30 | .ace-twilight .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid rgba(255, 255, 255, 0.25)\ 33 | }\ 34 | .ace-twilight .ace_marker-layer .ace_active-line {\ 35 | background: rgba(255, 255, 255, 0.031)\ 36 | }\ 37 | .ace-twilight .ace_gutter-active-line {\ 38 | background-color: rgba(255, 255, 255, 0.031)\ 39 | }\ 40 | .ace-twilight .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid rgba(221, 240, 255, 0.20)\ 42 | }\ 43 | .ace-twilight .ace_invisible {\ 44 | color: rgba(255, 255, 255, 0.25)\ 45 | }\ 46 | .ace-twilight .ace_keyword,\ 47 | .ace-twilight .ace_meta {\ 48 | color: #CDA869\ 49 | }\ 50 | .ace-twilight .ace_constant,\ 51 | .ace-twilight .ace_constant.ace_character,\ 52 | .ace-twilight .ace_constant.ace_character.ace_escape,\ 53 | .ace-twilight .ace_constant.ace_other,\ 54 | .ace-twilight .ace_heading,\ 55 | .ace-twilight .ace_markup.ace_heading,\ 56 | .ace-twilight .ace_support.ace_constant {\ 57 | color: #CF6A4C\ 58 | }\ 59 | .ace-twilight .ace_invalid.ace_illegal {\ 60 | color: #F8F8F8;\ 61 | background-color: rgba(86, 45, 86, 0.75)\ 62 | }\ 63 | .ace-twilight .ace_invalid.ace_deprecated {\ 64 | text-decoration: underline;\ 65 | font-style: italic;\ 66 | color: #D2A8A1\ 67 | }\ 68 | .ace-twilight .ace_support {\ 69 | color: #9B859D\ 70 | }\ 71 | .ace-twilight .ace_fold {\ 72 | background-color: #AC885B;\ 73 | border-color: #F8F8F8\ 74 | }\ 75 | .ace-twilight .ace_support.ace_function {\ 76 | color: #DAD085\ 77 | }\ 78 | .ace-twilight .ace_list,\ 79 | .ace-twilight .ace_markup.ace_list,\ 80 | .ace-twilight .ace_storage {\ 81 | color: #F9EE98\ 82 | }\ 83 | .ace-twilight .ace_entity.ace_name.ace_function,\ 84 | .ace-twilight .ace_meta.ace_tag,\ 85 | .ace-twilight .ace_variable {\ 86 | color: #AC885B\ 87 | }\ 88 | .ace-twilight .ace_string {\ 89 | color: #8F9D6A\ 90 | }\ 91 | .ace-twilight .ace_string.ace_regexp {\ 92 | color: #E9C062\ 93 | }\ 94 | .ace-twilight .ace_comment {\ 95 | font-style: italic;\ 96 | color: #5F5A60\ 97 | }\ 98 | .ace-twilight .ace_variable {\ 99 | color: #7587A6\ 100 | }\ 101 | .ace-twilight .ace_xml-pe {\ 102 | color: #494949\ 103 | }\ 104 | .ace-twilight .ace_indent-guide {\ 105 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y\ 106 | }"; 107 | 108 | var dom = require("../lib/dom"); 109 | dom.importCssString(exports.cssText, exports.cssClass); 110 | }); 111 | -------------------------------------------------------------------------------- /public/lib/ace/theme-vibrant_ink.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/vibrant_ink",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-vibrant-ink"; 5 | exports.cssText = ".ace-vibrant-ink .ace_gutter {\ 6 | background: #1a1a1a;\ 7 | color: #BEBEBE\ 8 | }\ 9 | .ace-vibrant-ink .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #1a1a1a\ 12 | }\ 13 | .ace-vibrant-ink {\ 14 | background-color: #0F0F0F;\ 15 | color: #FFFFFF\ 16 | }\ 17 | .ace-vibrant-ink .ace_cursor {\ 18 | color: #FFFFFF\ 19 | }\ 20 | .ace-vibrant-ink .ace_marker-layer .ace_selection {\ 21 | background: #6699CC\ 22 | }\ 23 | .ace-vibrant-ink.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #0F0F0F;\ 25 | border-radius: 2px\ 26 | }\ 27 | .ace-vibrant-ink .ace_marker-layer .ace_step {\ 28 | background: rgb(102, 82, 0)\ 29 | }\ 30 | .ace-vibrant-ink .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid #404040\ 33 | }\ 34 | .ace-vibrant-ink .ace_marker-layer .ace_active-line {\ 35 | background: #333333\ 36 | }\ 37 | .ace-vibrant-ink .ace_gutter-active-line {\ 38 | background-color: #333333\ 39 | }\ 40 | .ace-vibrant-ink .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid #6699CC\ 42 | }\ 43 | .ace-vibrant-ink .ace_invisible {\ 44 | color: #404040\ 45 | }\ 46 | .ace-vibrant-ink .ace_keyword,\ 47 | .ace-vibrant-ink .ace_meta {\ 48 | color: #FF6600\ 49 | }\ 50 | .ace-vibrant-ink .ace_constant,\ 51 | .ace-vibrant-ink .ace_constant.ace_character,\ 52 | .ace-vibrant-ink .ace_constant.ace_character.ace_escape,\ 53 | .ace-vibrant-ink .ace_constant.ace_other {\ 54 | color: #339999\ 55 | }\ 56 | .ace-vibrant-ink .ace_constant.ace_numeric {\ 57 | color: #99CC99\ 58 | }\ 59 | .ace-vibrant-ink .ace_invalid,\ 60 | .ace-vibrant-ink .ace_invalid.ace_deprecated {\ 61 | color: #CCFF33;\ 62 | background-color: #000000\ 63 | }\ 64 | .ace-vibrant-ink .ace_fold {\ 65 | background-color: #FFCC00;\ 66 | border-color: #FFFFFF\ 67 | }\ 68 | .ace-vibrant-ink .ace_entity.ace_name.ace_function,\ 69 | .ace-vibrant-ink .ace_support.ace_function,\ 70 | .ace-vibrant-ink .ace_variable {\ 71 | color: #FFCC00\ 72 | }\ 73 | .ace-vibrant-ink .ace_variable.ace_parameter {\ 74 | font-style: italic\ 75 | }\ 76 | .ace-vibrant-ink .ace_string {\ 77 | color: #66FF00\ 78 | }\ 79 | .ace-vibrant-ink .ace_string.ace_regexp {\ 80 | color: #44B4CC\ 81 | }\ 82 | .ace-vibrant-ink .ace_comment {\ 83 | color: #9933CC\ 84 | }\ 85 | .ace-vibrant-ink .ace_entity.ace_other.ace_attribute-name {\ 86 | font-style: italic;\ 87 | color: #99CC99\ 88 | }\ 89 | .ace-vibrant-ink .ace_indent-guide {\ 90 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYNDTc/oPAALPAZ7hxlbYAAAAAElFTkSuQmCC) right repeat-y\ 91 | }"; 92 | 93 | var dom = require("../lib/dom"); 94 | dom.importCssString(exports.cssText, exports.cssClass); 95 | }); 96 | -------------------------------------------------------------------------------- /public/lib/ace/theme-xcode.js: -------------------------------------------------------------------------------- 1 | define("ace/theme/xcode",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = false; 4 | exports.cssClass = "ace-xcode"; 5 | exports.cssText = "\ 6 | .ace-xcode .ace_gutter {\ 7 | background: #e8e8e8;\ 8 | color: #333\ 9 | }\ 10 | .ace-xcode .ace_print-margin {\ 11 | width: 1px;\ 12 | background: #e8e8e8\ 13 | }\ 14 | .ace-xcode {\ 15 | background-color: #FFFFFF;\ 16 | color: #000000\ 17 | }\ 18 | .ace-xcode .ace_cursor {\ 19 | color: #000000\ 20 | }\ 21 | .ace-xcode .ace_marker-layer .ace_selection {\ 22 | background: #B5D5FF\ 23 | }\ 24 | .ace-xcode.ace_multiselect .ace_selection.ace_start {\ 25 | box-shadow: 0 0 3px 0px #FFFFFF;\ 26 | border-radius: 2px\ 27 | }\ 28 | .ace-xcode .ace_marker-layer .ace_step {\ 29 | background: rgb(198, 219, 174)\ 30 | }\ 31 | .ace-xcode .ace_marker-layer .ace_bracket {\ 32 | margin: -1px 0 0 -1px;\ 33 | border: 1px solid #BFBFBF\ 34 | }\ 35 | .ace-xcode .ace_marker-layer .ace_active-line {\ 36 | background: rgba(0, 0, 0, 0.071)\ 37 | }\ 38 | .ace-xcode .ace_gutter-active-line {\ 39 | background-color: rgba(0, 0, 0, 0.071)\ 40 | }\ 41 | .ace-xcode .ace_marker-layer .ace_selected-word {\ 42 | border: 1px solid #B5D5FF\ 43 | }\ 44 | .ace-xcode .ace_constant.ace_language,\ 45 | .ace-xcode .ace_keyword,\ 46 | .ace-xcode .ace_meta,\ 47 | .ace-xcode .ace_variable.ace_language {\ 48 | color: #C800A4\ 49 | }\ 50 | .ace-xcode .ace_invisible {\ 51 | color: #BFBFBF\ 52 | }\ 53 | .ace-xcode .ace_constant.ace_character,\ 54 | .ace-xcode .ace_constant.ace_other {\ 55 | color: #275A5E\ 56 | }\ 57 | .ace-xcode .ace_constant.ace_numeric {\ 58 | color: #3A00DC\ 59 | }\ 60 | .ace-xcode .ace_entity.ace_other.ace_attribute-name,\ 61 | .ace-xcode .ace_support.ace_constant,\ 62 | .ace-xcode .ace_support.ace_function {\ 63 | color: #450084\ 64 | }\ 65 | .ace-xcode .ace_fold {\ 66 | background-color: #C800A4;\ 67 | border-color: #000000\ 68 | }\ 69 | .ace-xcode .ace_entity.ace_name.ace_tag,\ 70 | .ace-xcode .ace_support.ace_class,\ 71 | .ace-xcode .ace_support.ace_type {\ 72 | color: #790EAD\ 73 | }\ 74 | .ace-xcode .ace_storage {\ 75 | color: #C900A4\ 76 | }\ 77 | .ace-xcode .ace_string {\ 78 | color: #DF0002\ 79 | }\ 80 | .ace-xcode .ace_comment {\ 81 | color: #008E00\ 82 | }\ 83 | .ace-xcode .ace_indent-guide {\ 84 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==) right repeat-y\ 85 | }"; 86 | 87 | var dom = require("../lib/dom"); 88 | dom.importCssString(exports.cssText, exports.cssClass); 89 | }); 90 | -------------------------------------------------------------------------------- /public/lib/nprogress/nprogress.min.css: -------------------------------------------------------------------------------- 1 | #nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translate(0px,-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner 400ms linear infinite;animation:nprogress-spinner 400ms linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}} -------------------------------------------------------------------------------- /public/lib/toastr/toastr.min.js: -------------------------------------------------------------------------------- 1 | (function(n){n(["jquery"],function(n){return function(){function l(n,t,f){return u({type:r.error,iconClass:i().iconClasses.error,message:n,optionsOverride:f,title:t})}function a(n,t,f){return u({type:r.info,iconClass:i().iconClasses.info,message:n,optionsOverride:f,title:t})}function v(n){e=n}function y(n,t,f){return u({type:r.success,iconClass:i().iconClasses.success,message:n,optionsOverride:f,title:t})}function p(n,t,f){return u({type:r.warning,iconClass:i().iconClasses.warning,message:n,optionsOverride:f,title:t})}function w(r){var u=i();if(t||f(u),r&&n(":focus",r).length===0){r[u.hideMethod]({duration:u.hideDuration,easing:u.hideEasing,complete:function(){c(r)}});return}t.children().length&&t[u.hideMethod]({duration:u.hideDuration,easing:u.hideEasing,complete:function(){t.remove()}})}function b(){return{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:undefined,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:undefined,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",target:"body",closeHtml:"

12 | 15 | 16 | 17 |
18 |
19 |

20 |

21 |

22 | 26 |
27 |
28 |

29 |

30 |

31 | 35 |
36 |
37 |

38 |

39 | 43 |
44 |
45 | 46 |
47 |
48 |

历史记录

49 |
50 |
51 |
52 | -------------------------------------------------------------------------------- /views/html/index.ejs: -------------------------------------------------------------------------------- 1 | <% include ../common/header %> 2 |
3 |
4 |

本产品由 Berwin 独立开发

5 |
菜单
6 |
保存
7 |
实时预览
8 | 9 |
10 | <% include ../common/menu %> 11 | <% include ../common/footer %> 12 | 13 | 14 | -------------------------------------------------------------------------------- /views/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Demos - Collaborative JavaScript Debugging 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |

demos 一个开源的Web开发调试工具

17 |

Here, you can enjoy, fun programming

18 |
19 |
20 | create html 21 | create js 22 |
23 | 26 | 27 | -------------------------------------------------------------------------------- /views/js/index.ejs: -------------------------------------------------------------------------------- 1 | <% include ../common/header %> 2 |
3 |
4 |
5 |
6 |

本产品由 Berwin 独立开发

7 |
菜单
8 |
保存
9 |
运行
10 |
清屏
11 | 12 |
13 | <% include ../common/menu %> 14 | <% include ../common/footer %> 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /views/other/activate.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Demos - activate 6 | 7 | 8 | 9 | 10 |
11 |

感谢您使用Demos,您已成功激活账户:<%- mail %>。

12 | 进入Demos 13 |
14 | 15 | 16 | --------------------------------------------------------------------------------