├── admin_views.py ├── contest_views.py ├── database.db ├── discuss_views.py ├── loadb ├── loadbalancer.py ├── pqueue.py └── templates │ └── index.html ├── login_views.py ├── profile_views.py ├── question_comments.py ├── runner ├── runner.c ├── runserver.py ├── schema.sql ├── server1 ├── Problems │ ├── 1_input │ ├── 1_input_err_1366211070 │ ├── 1_input_out_1366211070 │ ├── 2_input │ ├── 2_input_err_1366211255 │ ├── 2_input_out_1366211255 │ ├── 3_input │ ├── 3_input_err_1366211304 │ ├── 3_input_out_1366211304 │ └── README ├── bw.py ├── runner ├── runner.c ├── server1.py └── templates │ └── index.html ├── static ├── css │ ├── bootstrap.css │ ├── bootstrap.min.css │ ├── editor.css │ └── style.css ├── files │ ├── 1.jpg │ ├── 2.jpg │ ├── 2.pdf │ ├── 3.jpg │ ├── 4.jpg │ ├── README │ └── default.jpg ├── images │ ├── 1.jpg │ ├── 2.jpg │ ├── 3.png │ ├── S1.jpg │ ├── S2.jpg │ ├── bg3.jpg │ └── sr.jpg ├── img │ ├── error.png │ ├── glyphicons-halflings-white.png │ ├── glyphicons-halflings.png │ └── valid.png └── js │ ├── bootstrap.js │ ├── bootstrap.min.js │ ├── changevalidate.js │ ├── jquery.js │ ├── src │ ├── ace.js │ ├── ext-elastic_tabstops_lite.js │ ├── ext-emmet.js │ ├── ext-searchbox.js │ ├── ext-spellcheck.js │ ├── ext-static_highlight.js │ ├── ext-textarea.js │ ├── ext-whitespace.js │ ├── keybinding-emacs.js │ ├── keybinding-vim.js │ ├── mode-abap.js │ ├── mode-asciidoc.js │ ├── mode-c9search.js │ ├── mode-c_cpp.js │ ├── mode-clojure.js │ ├── mode-coffee.js │ ├── mode-coldfusion.js │ ├── mode-csharp.js │ ├── mode-css.js │ ├── mode-curly.js │ ├── mode-dart.js │ ├── mode-diff.js │ ├── mode-django.js │ ├── mode-dot.js │ ├── mode-ftl.js │ ├── mode-glsl.js │ ├── mode-golang.js │ ├── mode-groovy.js │ ├── mode-haml.js │ ├── mode-haxe.js │ ├── mode-html.js │ ├── mode-jade.js │ ├── mode-java.js │ ├── mode-javascript.js │ ├── mode-json.js │ ├── mode-jsp.js │ ├── mode-jsx.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-mushcode.js │ ├── mode-mushcode_high_rules.js │ ├── mode-objectivec.js │ ├── mode-ocaml.js │ ├── mode-pascal.js │ ├── mode-perl.js │ ├── mode-pgsql.js │ ├── mode-php.js │ ├── mode-powershell.js │ ├── mode-python.js │ ├── mode-r.js │ ├── mode-rdoc.js │ ├── mode-rhtml.js │ ├── mode-ruby.js │ ├── mode-sass.js │ ├── mode-scad.js │ ├── mode-scala.js │ ├── mode-scheme.js │ ├── mode-scss.js │ ├── mode-sh.js │ ├── mode-sql.js │ ├── mode-stylus.js │ ├── mode-svg.js │ ├── mode-tcl.js │ ├── mode-tex.js │ ├── mode-text.js │ ├── mode-textile.js │ ├── mode-tmsnippet.js │ ├── mode-toml.js │ ├── mode-typescript.js │ ├── mode-vbscript.js │ ├── mode-velocity.js │ ├── mode-xml.js │ ├── mode-xquery.js │ ├── mode-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-kr.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-javascript.js │ ├── worker-json.js │ ├── worker-lua.js │ ├── worker-php.js │ └── worker-xquery.js │ └── validate.js ├── templates ├── about.html ├── admin.html ├── admin_header.html ├── change.html ├── code.html ├── contact.html ├── contest_questions.html ├── edit_contest.html ├── edit_contest_details.html ├── follow.html ├── forgot.html ├── header.html ├── index.html ├── notifications.html ├── organize.html ├── profile.html ├── profile_edit.html ├── question_comments.html ├── question_discuss.html ├── register.html ├── scoreboard.html ├── search_results.html ├── show_entries.html ├── show_entries_with.html ├── show_question.html ├── submissions.html └── success.html └── views.py /database.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/database.db -------------------------------------------------------------------------------- /discuss_views.py: -------------------------------------------------------------------------------- 1 | from __future__ import with_statement 2 | from sqlite3 import dbapi2 as sqlite3 3 | from flask import Flask, request, session, g, redirect, url_for, abort, \ 4 | render_template, flash, _app_ctx_stack, Blueprint 5 | from time import gmtime, strftime 6 | 7 | 8 | discuss_views = Blueprint('discuss_views',__name__) 9 | 10 | 11 | def get_db(): 12 | top = _app_ctx_stack.top 13 | if not hasattr(top, 'sqlite_db'): 14 | sqlite_db = sqlite3.connect('database.db') 15 | sqlite_db.row_factory = sqlite3.Row 16 | top.sqlite_db = sqlite_db 17 | return top.sqlite_db 18 | 19 | 20 | @discuss_views.route('/discuss') 21 | def show_questions(): 22 | db = get_db() 23 | com = db.execute('SELECT * FROM question_discuss AS q JOIN users AS u ON q.user_id=u.user_id order by question_id desc;') 24 | entries = com.fetchall() 25 | return render_template('show_entries.html', entries=entries) 26 | 27 | 28 | @discuss_views.route('/discuss/add', methods=['GET']) 29 | def add_question(): 30 | db = get_db() 31 | db2 = get_db() 32 | 33 | user_id = session['userId'] 34 | 35 | #comment = 'Hi' 36 | curtime = strftime("%Y-%m-%d %H:%M:%S") 37 | #use this when we need to use local time of the server 38 | db.execute('insert into question_discuss (user_id, question, title, time) values (?, ?, ?, ?)', 39 | [user_id, request.args.get('comment'), request.args.get('title'), curtime]) 40 | db.commit() 41 | 42 | que = db.execute('SELECT question_id FROM question_discuss order by question_id DESC LIMIT 1') 43 | q_id = que.fetchone() 44 | 45 | activity = 'questioned' 46 | url = '/discuss/show/answers/' + str(q_id[0]) 47 | db2.execute('insert into activity_log (user_id, activity, time, url) values (?, ?, ?, ?)', 48 | [user_id, activity, curtime, url]) 49 | db2.commit() 50 | 51 | flash('New comment was successfully posted') 52 | return redirect(url_for('.show_questions')) 53 | 54 | 55 | @discuss_views.route('/discuss/show/answers/', methods=[ 'GET']) 56 | def show_answers(id=0) : 57 | db = get_db() 58 | que = db.execute('SELECT * FROM question_discuss WHERE question_id = ?', [id]) 59 | ques = que.fetchone() 60 | user = db.execute('SELECT * FROM users WHERE user_id = ?', [ques[1]]) 61 | name = user.fetchone() 62 | ans = db.execute('SELECT * FROM answer_discuss AS q JOIN users AS u ON q.user_id=u.user_id WHERE question_id = ? order by time desc', [id]) 63 | entries = ans.fetchall() 64 | return render_template('question_discuss.html', ques=ques, entries=entries, name=name) 65 | 66 | 67 | @discuss_views.route('/discuss/show/answers/add', methods=['GET']) 68 | def add_answer(): 69 | db = get_db() 70 | q_id = request.args.get('q_id') 71 | if(request.method =='GET') : 72 | user_id = session['userId'] 73 | #comment = 'Hi' 74 | curtime = strftime("%Y-%m-%d %H:%M:%S") 75 | #use this when we need to use local time of the server 76 | db.execute('insert into answer_discuss (user_id, answer, question_id, time) values (?, ?, ?, ?)', 77 | [user_id, request.args.get('answer'), request.args.get('q_id'), curtime]) 78 | db.commit() 79 | 80 | # in activity log 81 | activity = 'answered' + ';' + str(request.args.get('q_id')) 82 | url = '/discuss/show/answers/' + str(q_id) 83 | db.execute('insert into activity_log (user_id, activity, time, url) values (?, ?, ?, ?)', 84 | [user_id, activity, curtime, url]) 85 | db.commit() 86 | 87 | que = db.execute('SELECT * FROM question_discuss WHERE question_id = ?', [q_id]) 88 | ques = que.fetchone() 89 | 90 | ans = db.execute('SELECT * FROM answer_discuss WHERE question_id = ? order by time desc', [q_id]) 91 | entries = ans.fetchall() 92 | user = session['username'] 93 | 94 | user = db.execute('SELECT * FROM users WHERE user_id = ?', [ques[1]]) 95 | name = user.fetchone() 96 | #return render_template('question_discuss.html', ques=ques, entries=entries, user=user) 97 | #return render_template('question_discuss.html', ques=ques, entries=entries, name=name) 98 | return redirect(url_for('.show_answers' , id = q_id)) 99 | -------------------------------------------------------------------------------- /loadb/loadbalancer.py: -------------------------------------------------------------------------------- 1 | # Main File : This has to be run to start the server 2 | from __future__ import with_statement 3 | from pqueue import priority_dict 4 | from flask import Flask, request, session, g, redirect, url_for, abort, \ 5 | render_template, flash, _app_ctx_stack,Blueprint, jsonify 6 | from sqlite3 import dbapi2 as sqlite3 7 | from flask import Flask, _app_ctx_stack 8 | from Queue import PriorityQueue 9 | 10 | import urllib 11 | import urllib2 12 | 13 | # Database Configuration 14 | DATABASE = 'database.db' 15 | DEBUG = True 16 | SECRET_KEY = 'development key' 17 | USERNAME = 'admin' 18 | PASSWORD = 'default' 19 | 20 | # Defining the application by creating an instance of Flask 21 | app = Flask(__name__) 22 | app.config.from_object(__name__) 23 | app.config.from_envvar('FLASKR_SETTINGS', silent=True) 24 | 25 | p = PriorityQueue() 26 | 27 | def initp(): 28 | global p 29 | p = priority_dict() 30 | p['http://localhost:2345'] = 0 31 | #print 'sdf' 32 | #print p.get() 33 | 34 | @app.route('/', methods=['GET', 'POST']) 35 | def getserver(): 36 | #print 'dsf' 37 | #print p 38 | global p 39 | sm = p.smallest() 40 | p[sm] += 1 41 | if request.method=='POST': 42 | print request.form 43 | url = sm #least loaded server 44 | values = {'qid' : request.form['qid'], 'code': request.form['code'], 'lang': request.form['lang'], 'user_id': request.form['user_id'] } 45 | 46 | data = urllib.urlencode(values) 47 | response = urllib2.urlopen(url, data) 48 | page = response.read() 49 | return jsonify(server=sm) 50 | 51 | if __name__ == '__main__': 52 | #init_db() 53 | initp() 54 | app.run(host='0.0.0.0', port=1234) 55 | 56 | 57 | -------------------------------------------------------------------------------- /loadb/pqueue.py: -------------------------------------------------------------------------------- 1 | ## {{{ http://code.activestate.com/recipes/522995/ (r1) 2 | from heapq import heapify, heappush, heappop 3 | 4 | class priority_dict(dict): 5 | """Dictionary that can be used as a priority queue. 6 | 7 | Keys of the dictionary are items to be put into the queue, and values 8 | are their respective priorities. All dictionary methods work as expected. 9 | The advantage over a standard heapq-based priority queue is 10 | that priorities of items can be efficiently updated (amortized O(1)) 11 | using code as 'thedict[item] = new_priority.' 12 | 13 | The 'smallest' method can be used to return the object with lowest 14 | priority, and 'pop_smallest' also removes it. 15 | 16 | The 'sorted_iter' method provides a destructive sorted iterator. 17 | """ 18 | 19 | def __init__(self, *args, **kwargs): 20 | super(priority_dict, self).__init__(*args, **kwargs) 21 | self._rebuild_heap() 22 | 23 | def _rebuild_heap(self): 24 | self._heap = [(v, k) for k, v in self.iteritems()] 25 | heapify(self._heap) 26 | 27 | def smallest(self): 28 | """Return the item with the lowest priority. 29 | 30 | Raises IndexError if the object is empty. 31 | """ 32 | 33 | heap = self._heap 34 | v, k = heap[0] 35 | while k not in self or self[k] != v: 36 | heappop(heap) 37 | v, k = heap[0] 38 | return k 39 | 40 | def pop_smallest(self): 41 | """Return the item with the lowest priority and remove it. 42 | 43 | Raises IndexError if the object is empty. 44 | """ 45 | 46 | heap = self._heap 47 | v, k = heappop(heap) 48 | while k not in self or self[k] != v: 49 | v, k = heappop(heap) 50 | del self[k] 51 | return k 52 | 53 | def __setitem__(self, key, val): 54 | # We are not going to remove the previous value from the heap, 55 | # since this would have a cost O(n). 56 | 57 | super(priority_dict, self).__setitem__(key, val) 58 | 59 | if len(self._heap) < 2 * len(self): 60 | heappush(self._heap, (val, key)) 61 | else: 62 | # When the heap grows larger than 2 * len(self), we rebuild it 63 | # from scratch to avoid wasting too much memory. 64 | self._rebuild_heap() 65 | 66 | def setdefault(self, key, val): 67 | if key not in self: 68 | self[key] = val 69 | return val 70 | return self[key] 71 | 72 | def update(self, *args, **kwargs): 73 | # Reimplementing dict.update is tricky -- see e.g. 74 | # http://mail.python.org/pipermail/python-ideas/2007-May/000744.html 75 | # We just rebuild the heap from scratch after passing to super. 76 | 77 | super(priority_dict, self).update(*args, **kwargs) 78 | self._rebuild_heap() 79 | 80 | def sorted_iter(self): 81 | """Sorted iterator of the priority dictionary items. 82 | 83 | Beware: this will destroy elements as they are returned. 84 | """ 85 | 86 | while self: 87 | yield self.pop_smallest() 88 | ## end of http://code.activestate.com/recipes/522995/ }}} 89 | -------------------------------------------------------------------------------- /loadb/templates/index.html: -------------------------------------------------------------------------------- 1 | hello world -------------------------------------------------------------------------------- /login_views.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import with_statement 3 | from sqlite3 import dbapi2 as sqlite3 4 | import sqlite3 5 | from flask import Flask, request, session, g, redirect, url_for, abort, \ 6 | render_template, flash, _app_ctx_stack,Blueprint 7 | import os , shutil 8 | 9 | #Defining the Blueprint for views.py 10 | login_views = Blueprint('login_views',__name__) 11 | # configuration 12 | 13 | def get_db(): 14 | top = _app_ctx_stack.top 15 | if not hasattr(top, 'sqlite_db'): 16 | sqlite_db = sqlite3.connect('database.db') 17 | sqlite_db.row_factory = sqlite3.Row 18 | top.sqlite_db = sqlite_db 19 | return top.sqlite_db 20 | 21 | @login_views.route('/login', methods=['GET', 'POST']) 22 | def login(): #form validation using this function in signup.html 23 | error = None 24 | message = None 25 | if request.method == 'POST': 26 | flag=0 27 | db = get_db() 28 | cur = db.execute('select * from users') 29 | rows = cur.fetchall() 30 | for row in rows: 31 | if row[1]==request.form['username'] and row[2]==request.form['password']: 32 | userid=row[0] 33 | username=row[1] 34 | flag=1 35 | break 36 | if flag==0: 37 | error = 'Invalid username or password' 38 | flash('Invalid username or password') 39 | session['logged_in'] = False 40 | session['username'] = '' 41 | session['userId'] = None 42 | else: 43 | error = 0 44 | session['logged_in'] = True 45 | session['username'] = username 46 | session['userId'] = userid 47 | message = "Logged in succesfully" 48 | return render_template('index.html', error=error , message=message ) 49 | 50 | @login_views.route('/register' , methods=['POST','GET']) 51 | def register(): #renders the signup.html 52 | if request.method == 'POST' : 53 | db = get_db() 54 | cur = db.execute('select * from users where username=?',[request.form['username']]); 55 | cur = cur.fetchall() 56 | if (len(cur)>0) : 57 | error = "Username not available" 58 | return render_template('register.html' , error=error ) 59 | else : 60 | print request.form['username'] 61 | print request.form['password'] 62 | print request.form['email'] 63 | print request.form['name'] 64 | db.execute('insert into users (username, password, email, name) values (?, ?, ?, ?)',[request.form['username'], request.form['password'], request.form['email'], request.form['name']]) 65 | message = "Congratulations "+request.form['username']+", You are now a member of Bazinga Community " 66 | user = db.execute('select * from users where username=?',[request.form['username']]) 67 | user = user.fetchone() 68 | shutil.copy2('static/files/default.jpg','static/files/'+str(user['user_id'])+'.jpg') 69 | db.commit() 70 | return render_template('index.html' , message=message ) 71 | return render_template('register.html') 72 | 73 | @login_views.route('/logout') 74 | def logout(): 75 | session.clear() 76 | message = "Logged out succesfully" 77 | return render_template('index.html' , message=message) 78 | 79 | @login_views.route('/forgot', methods=['GET', 'POST']) 80 | def forgot(): 81 | message = None 82 | error = None 83 | if request.method == 'POST': 84 | print 'Message =' + request.form['username'] 85 | print 'Message =' + request.form['email'] 86 | message = "An email has been sent to " + request.form['email'] 87 | return render_template('forgot.html', error=error ,message=message) 88 | 89 | @login_views.route('/change', methods=['GET', 'POST']) 90 | def change(): 91 | message = None 92 | error = None 93 | if request.method == 'POST': 94 | db=get_db() 95 | cur=db.execute('select * from users where username=?',[request.form['username']]) 96 | cur = cur.fetchone() 97 | if (len(cur)>0 and cur['password']==request.form['password']): 98 | db.execute('update users set password=? where username=?',[request.form['newpassword'],request.form['username']]) 99 | message="Your password is changed successfully" 100 | db.commit() 101 | return render_template('index.html', message=message) 102 | else: 103 | error = "Please enter the corret username and password" 104 | return render_template('change.html', error=error , message=message) 105 | 106 | def user(user_id): 107 | db = get_db() 108 | cur = db.execute('select * from users where user_id=?',[user_id]) 109 | cur = cur.fetchone() 110 | return cur -------------------------------------------------------------------------------- /question_comments.py: -------------------------------------------------------------------------------- 1 | from __future__ import with_statement 2 | from sqlite3 import dbapi2 as sqlite3 3 | from flask import Flask, request, session, g, redirect, url_for, abort, \ 4 | render_template, flash, _app_ctx_stack,Blueprint 5 | from time import gmtime, strftime 6 | from login_views import user 7 | 8 | 9 | question_comments = Blueprint('question_comments',__name__) 10 | 11 | 12 | def get_db(): 13 | top = _app_ctx_stack.top 14 | if not hasattr(top, 'sqlite_db'): 15 | sqlite_db = sqlite3.connect('database.db') 16 | sqlite_db.row_factory = sqlite3.Row 17 | top.sqlite_db = sqlite_db 18 | return top.sqlite_db 19 | 20 | 21 | 22 | @question_comments.route('/') 23 | def show_questions(): 24 | return 'Welcome you should not come here' 25 | 26 | 27 | @question_comments.route('/show/comments/', methods=['POST' , 'GET']) 28 | def show_question_comments(id=0): 29 | print 'in db' 30 | db = get_db() 31 | # q_no = request.form['q_no'] 32 | cur = db.execute('SELECT * FROM question_comments WHERE question_id = ? order by time DESC', [id]) 33 | com = cur.fetchall() 34 | users =[] 35 | for i in range(len(com)) : 36 | users.append(user(com[i]['user_id'])['username']) 37 | 38 | return render_template("question_comments.html", entries=com , q_no=id, users=users) 39 | #return render_template("discussion_forum.html") 40 | 41 | 42 | @question_comments.route('/add_comments', methods=['GET']) 43 | def add_question_comment(): 44 | db = get_db() 45 | user_id = session['userId'] 46 | q_no = request.args.get('q_id') 47 | print q_no 48 | curtime = strftime("%Y-%m-%d %H:%M:%S") 49 | if(request.method =='GET') : 50 | db.execute('insert into question_comments (user_id, comment, question_id, time) values (?, ?, ?, ?)', 51 | [user_id, request.args.get('comment'), q_no, curtime]) 52 | db.commit() 53 | print "Here F" 54 | activity = 'commented' + ';' + str(q_no) 55 | url = '/show/comments/' + str(q_no) 56 | db.execute('insert into activity_log (user_id, activity, time, url) values (?, ?, ?, ?)', 57 | [user_id, activity, curtime, url]) 58 | db.commit() 59 | cur = db.execute('SELECT * FROM question_comments WHERE question_id = ? order by comment_id ', [q_no]) 60 | com = cur.fetchall() 61 | db2 = get_db() 62 | cur2 = db2.execute('select * from contest_questions where question_id = ?', [q_no]) 63 | q = cur2.fetchone() 64 | return redirect(url_for('contest_views.show_question' , id = q_no)) 65 | -------------------------------------------------------------------------------- /runner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/runner -------------------------------------------------------------------------------- /runserver.py: -------------------------------------------------------------------------------- 1 | # Main File : This has to be run to start the server 2 | from __future__ import with_statement 3 | from sqlite3 import dbapi2 as sqlite3 4 | from flask import Flask, _app_ctx_stack 5 | from views import views 6 | from contest_views import contest_views 7 | from login_views import login_views 8 | from profile_views import profile_views 9 | from discuss_views import discuss_views 10 | from admin_views import admin_views 11 | from question_comments import question_comments 12 | 13 | # Database Configuration 14 | DATABASE = 'database.db' 15 | DEBUG = True 16 | SECRET_KEY = 'development key' 17 | USERNAME = 'admin' 18 | PASSWORD = 'default' 19 | 20 | # Defining the application by creating an instance of Flask 21 | app = Flask(__name__) 22 | app.config.from_object(__name__) 23 | app.config.from_envvar('FLASKR_SETTINGS', silent=True) 24 | 25 | # Blueprints : Setting the blueprints for handling various routes 26 | app.register_blueprint(views) 27 | app.register_blueprint(contest_views) 28 | app.register_blueprint(login_views) 29 | app.register_blueprint(profile_views) 30 | app.register_blueprint(discuss_views) 31 | app.register_blueprint(admin_views) 32 | app.register_blueprint(question_comments) 33 | #Initaialzes the database from the database schema give in 'schema.sql' 34 | def init_db(): 35 | with app.app_context(): 36 | db = get_db() 37 | with app.open_resource('schema.sql') as f: 38 | db.cursor().executescript(f.read()) 39 | db.commit() 40 | print db 41 | 42 | #Establishes the connection with the database 43 | def get_db(): 44 | top = _app_ctx_stack.top 45 | if not hasattr(top, 'sqlite_db'): 46 | sqlite_db = sqlite3.connect(app.config['DATABASE']) 47 | sqlite_db.row_factory = sqlite3.Row 48 | top.sqlite_db = sqlite_db 49 | return top.sqlite_db 50 | 51 | if __name__ == '__main__': 52 | #init_db() 53 | app.run(host='0.0.0.0') 54 | 55 | 56 | -------------------------------------------------------------------------------- /schema.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE contest ("contest_id" INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE , "start_time" DATETIME, "end_time" DATETIME, "name" TEXT , "company" TEXT , "short_description" TEXT ,"long_description" TEXT , "owner" INTEGER ); 2 | CREATE TABLE contest_questions ( 3 | "question_id" INTEGER PRIMARY KEY AUTOINCREMENT , 4 | "contest_id" INTEGER , 5 | "owner" INTEGER , 6 | "question_name" TEXT , 7 | "question_string" TEXT 8 | ); 9 | CREATE TABLE question_testcase (testcase_id INTEGER PRIMARY KEY AUTOINCREMENT , question_id INTEGER, test TEXT, answer TEXT, points INTEGER, time_limit REAL, space_limit INTEGER); 10 | CREATE TABLE submission_testcase (id INTEGER PRIMARY KEY AUTOINCREMENT , testcase_id INTEGER, submission_id INTEGER, result_type INTEGER, result TEXT, run_time REAL, run_space INTEGER); 11 | CREATE TABLE "follow" ("follower" INTEGER, "following" INTEGER); 12 | CREATE TABLE "history" ("user_id" INTEGER, "q_id" INTEGER, "status" TEXT DEFAULT Accepted); 13 | CREATE TABLE "users" ( 14 | "user_id" INTEGER PRIMARY KEY AUTOINCREMENT , 15 | "username" TEXT , 16 | "password" TEXT , 17 | "email" TEXT , 18 | "name" TEXT , 19 | "contact" TEXT, 20 | "profession" TEXT, 21 | "organization" TEXT, 22 | "website" TEXT 23 | ); 24 | CREATE TABLE "admins" ( 25 | "admin_id" INTEGER PRIMARY KEY AUTOINCREMENT , 26 | "username" TEXT , 27 | "password" TEXT , 28 | "email" TEXT , 29 | "name" TEXT , 30 | "contact" TEXT, 31 | "organization" TEXT, 32 | "website" TEXT, 33 | "picture" BLOB 34 | ); 35 | CREATE TABLE "question_comments" ( 36 | "comment_id" INTEGER PRIMARY KEY AUTOINCREMENT , 37 | "question_id" INTEGER , 38 | "user_id" INTEGER , 39 | "comment" TEXT , 40 | "time" DATETIME 41 | ); 42 | CREATE TABLE "answer_comments" ( 43 | "comment_id" INTEGER PRIMARY KEY AUTOINCREMENT , 44 | "submission_id" INTEGER , 45 | "user_id" INTEGER , 46 | "comment" TEXT , 47 | "time" DATETIME 48 | ); 49 | CREATE TABLE "answer_discuss" ( 50 | "answer_id" INTEGER PRIMARY KEY AUTOINCREMENT , 51 | "user_id" INTEGER , 52 | "question_id" INTEGER , 53 | "answer" TEXT , 54 | "time" DATETIME 55 | ); 56 | CREATE TABLE submissions ( 57 | "points" INTEGER, 58 | "lang" TEXT, 59 | "code" TEXT, 60 | "id" INTEGER PRIMARY KEY AUTOINCREMENT , 61 | "user_id" INTEGER, 62 | "submission_time" DATETIME, 63 | "question_id" INTEGER DEFAULT (0) 64 | ); 65 | CREATE TABLE activity_log ( 66 | "activity_id" INTEGER PRIMARY KEY AUTOINCREMENT , 67 | "user_id" INTEGER , 68 | "activity" TEXT , 69 | "time" DATETIME 70 | , "url" TEXT); 71 | CREATE TABLE question_discuss ( 72 | "question_id" INTEGER PRIMARY KEY AUTOINCREMENT , 73 | "user_id" INTEGER , 74 | "question" TEXT , 75 | "time" DATETIME 76 | , "title" TEXT); -------------------------------------------------------------------------------- /server1/Problems/1_input: -------------------------------------------------------------------------------- 1 | 2 2 | 2 3 | 4 4 | -------------------------------------------------------------------------------- /server1/Problems/1_input_err_1366211070: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/server1/Problems/1_input_err_1366211070 -------------------------------------------------------------------------------- /server1/Problems/1_input_out_1366211070: -------------------------------------------------------------------------------- 1 | 2 | 2 3 | 4 4 | -------------------------------------------------------------------------------- /server1/Problems/2_input: -------------------------------------------------------------------------------- 1 | 2 2 | 2 3 | 4 4 | -------------------------------------------------------------------------------- /server1/Problems/2_input_err_1366211255: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/server1/Problems/2_input_err_1366211255 -------------------------------------------------------------------------------- /server1/Problems/2_input_out_1366211255: -------------------------------------------------------------------------------- 1 | 2 | 2 3 | 4 4 | -------------------------------------------------------------------------------- /server1/Problems/3_input: -------------------------------------------------------------------------------- 1 | 2 2 | 2 3 | 4 4 | -------------------------------------------------------------------------------- /server1/Problems/3_input_err_1366211304: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/server1/Problems/3_input_err_1366211304 -------------------------------------------------------------------------------- /server1/Problems/3_input_out_1366211304: -------------------------------------------------------------------------------- 1 | 2 | 2 3 | 4 4 | -------------------------------------------------------------------------------- /server1/Problems/README: -------------------------------------------------------------------------------- 1 | #In this folder all the submissions made on the server 1 are stored 2 | -------------------------------------------------------------------------------- /server1/runner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/server1/runner -------------------------------------------------------------------------------- /server1/server1.py: -------------------------------------------------------------------------------- 1 | # Main File : This has to be run to start the server 2 | from __future__ import with_statement 3 | from flask import Flask, request, session, g, redirect, url_for, abort, \ 4 | render_template, flash, _app_ctx_stack,Blueprint, jsonify 5 | from sqlite3 import dbapi2 as sqlite3 6 | from flask import Flask, _app_ctx_stack 7 | from Queue import PriorityQueue 8 | from time import gmtime, strftime 9 | import bw 10 | # Database Configuration 11 | DATABASE = '../database.db' 12 | DEBUG = True 13 | SECRET_KEY = 'development key' 14 | USERNAME = 'admin' 15 | PASSWORD = 'default' 16 | 17 | # Defining the application by creating an instance of Flask 18 | app = Flask(__name__) 19 | app.config.from_object(__name__) 20 | app.config.from_envvar('FLASKR_SETTINGS', silent=True) 21 | 22 | def curtime(): 23 | return strftime("%Y-%m-%d %H:%M:%S") 24 | 25 | 26 | def get_db(): 27 | top = _app_ctx_stack.top 28 | if not hasattr(top, 'sqlite_db'): 29 | sqlite_db = sqlite3.connect('../database.db') 30 | sqlite_db.row_factory = sqlite3.Row 31 | top.sqlite_db = sqlite_db 32 | return top.sqlite_db 33 | 34 | @app.route('/', methods=['GET', 'POST']) 35 | def evalreq(): 36 | g.params = request 37 | return render_template('index.html') 38 | 39 | @app.after_request 40 | def evaluate(response): 41 | db = get_db() 42 | request = g.params 43 | if request.method=='POST': 44 | print request.form 45 | userid = request.form['user_id'] 46 | code = request.form['code'] 47 | lang = request.form['lang'] 48 | id = request.form['qid'] 49 | 50 | db.execute('insert into submissions (user_id, submission_time, code, lang, points, question_id) VALUES (?,?,?,?,?,?)', [userid, curtime(), code, lang, 0, id]) 51 | cur = db.execute('SELECT last_insert_rowid() AS id FROM submissions'); 52 | sid = int(cur.fetchone()['id']) 53 | 54 | cur = db.execute('select username from users where user_id = ?', [userid]) 55 | username = cur.fetchone()['username'] 56 | cur = db.execute('select question_name from contest_questions where question_id = ?', [id]) 57 | qname = cur.fetchone()['question_name'] 58 | activity_string = '%s solved %s' % (username, qname) 59 | url = 'http://localhost:5000/questions/%d' % int(id) 60 | 61 | cur = db.execute('SELECT * FROM question_testcase WHERE question_id = ?', [id]) 62 | testcases = cur.fetchall() 63 | pts = 0 64 | for tc in testcases: 65 | (out, err) = bw.compilerun(sid, code, tc['test'], lang, tc['space_limit'], tc['time_limit']) 66 | print 'ERROR: %s' % err 67 | #result type: -1 => WRONG ANSWER, -2 => ERROR, >0 => correct, -3 => TLE 68 | if (err == '' and out == tc['answer']): 69 | pts += int(tc['points']) 70 | db.execute('insert into submission_testcase (testcase_id, submission_id, result_type, result, run_time, run_space) VALUES (?,?,?,"",0,0)', [tc['testcase_id'], sid, tc['points']]) 71 | elif (err[:3] == 'TLE'): 72 | db.execute('insert into submission_testcase (testcase_id, submission_id, result_type, result, run_time, run_space) VALUES (?,?,?,?,0,0)', [tc['testcase_id'], sid, -3, err]) 73 | elif (err != ''): 74 | db.execute('insert into submission_testcase (testcase_id, submission_id, result_type, result, run_time, run_space) VALUES (?,?,?,?,0,0)', [tc['testcase_id'], sid, -2, err]) 75 | elif (out != tc['answer']): 76 | db.execute('insert into submission_testcase (testcase_id, submission_id, result_type, result, run_time, run_space) VALUES (?,?,?,?,0,0)', [tc['testcase_id'], sid, -1, ""]) 77 | db.execute('UPDATE submissions SET points = ? WHERE id=?', [pts, sid]) 78 | #return render_template('submission_result.html', points=pts) 79 | #add to activity log 80 | if pts > 0: 81 | db.execute('insert into activity_log (user_id, activity, time, url) VALUES (?,?,?,?)', [userid, activity_string, curtime(), url]) 82 | db.commit() 83 | print 'points: %d' % pts 84 | return response 85 | #return render_template('index.html') 86 | 87 | if __name__ == '__main__': 88 | app.run(debug=True, port=2345) 89 | 90 | 91 | -------------------------------------------------------------------------------- /server1/templates/index.html: -------------------------------------------------------------------------------- 1 | hello world -------------------------------------------------------------------------------- /static/css/editor.css: -------------------------------------------------------------------------------- 1 | .ace_editor { 2 | position: relative !important; 3 | border: 1px solid lightgray; 4 | margin: auto; 5 | height: 600px; 6 | width: 100%; 7 | } 8 | 9 | .ace_editor.fullScreen { 10 | height: auto; 11 | width: auto; 12 | border: 0; 13 | margin: 0; 14 | position: fixed !important; 15 | top: 0; 16 | bottom: 0; 17 | left: 0; 18 | right: 0; 19 | z-index: 10; 20 | background: white; 21 | } 22 | 23 | .fullScreen { 24 | overflow: hidden 25 | } -------------------------------------------------------------------------------- /static/files/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/files/1.jpg -------------------------------------------------------------------------------- /static/files/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/files/2.jpg -------------------------------------------------------------------------------- /static/files/2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/files/2.pdf -------------------------------------------------------------------------------- /static/files/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/files/3.jpg -------------------------------------------------------------------------------- /static/files/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/files/4.jpg -------------------------------------------------------------------------------- /static/files/README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/files/README -------------------------------------------------------------------------------- /static/files/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/files/default.jpg -------------------------------------------------------------------------------- /static/images/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/images/1.jpg -------------------------------------------------------------------------------- /static/images/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/images/2.jpg -------------------------------------------------------------------------------- /static/images/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/images/3.png -------------------------------------------------------------------------------- /static/images/S1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/images/S1.jpg -------------------------------------------------------------------------------- /static/images/S2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/images/S2.jpg -------------------------------------------------------------------------------- /static/images/bg3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/images/bg3.jpg -------------------------------------------------------------------------------- /static/images/sr.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/images/sr.jpg -------------------------------------------------------------------------------- /static/img/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/img/error.png -------------------------------------------------------------------------------- /static/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /static/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /static/img/valid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/img/valid.png -------------------------------------------------------------------------------- /static/js/changevalidate.js: -------------------------------------------------------------------------------- 1 | function validatechange() 2 | { 3 | 4 | var username=document.forms["change"]["username"].value; 5 | var password=document.forms["change"]["password"].value; 6 | var newpassword=document.forms["change"]["newpassword"].value; 7 | var cofpassword=document.forms["change"]["cofpassword"].value; 8 | var flag=0; 9 | if (username==null || username=="") 10 | { 11 | change.username.style.borderColor='red'; 12 | change.username.focus(); 13 | flag=1; 14 | } 15 | else 16 | { 17 | change.username.style.borderColor='green'; 18 | } 19 | 20 | if (password==null || password=="") 21 | { 22 | change.password.style.borderColor='red'; 23 | change.password.focus(); 24 | flag=1; 25 | } 26 | else 27 | { 28 | change.password.style.borderColor='green'; 29 | } 30 | 31 | if (newpassword==null || newpassword=="") 32 | { 33 | change.newpassword.style.borderColor='red'; 34 | change.newpassword.focus(); 35 | flag=1; 36 | } 37 | else 38 | { 39 | change.newpassword.style.borderColor='green'; 40 | } 41 | 42 | if (cofpassword==null || cofpassword=="") 43 | { 44 | change.cofpassword.style.borderColor='red'; 45 | change.cofpassword.focus(); 46 | flag=1; 47 | } 48 | else 49 | { 50 | change.cofpassword.style.borderColor='green'; 51 | } 52 | if(cofpassword!="" && newpassword!="") 53 | { 54 | if (newpassword!=cofpassword) 55 | { 56 | change.newpassword.style.borderColor='red'; 57 | change.cofpassword.style.borderColor='red'; 58 | flag=1; 59 | } 60 | else 61 | { 62 | change.cofpassword.style.borderColor='green'; 63 | change.newpassword.style.borderColor='green'; 64 | } 65 | } 66 | 67 | if (flag==1) 68 | { 69 | return false; 70 | } 71 | } 72 | 73 | -------------------------------------------------------------------------------- /static/js/src/ext-spellcheck.js: -------------------------------------------------------------------------------- 1 | define('ace/ext/spellcheck', ['require', 'exports', 'module' , 'ace/lib/event', 'ace/editor', 'ace/config'], function(require, exports, module) { 2 | 3 | var event = require("../lib/event"); 4 | 5 | exports.contextMenuHandler = function(e){ 6 | var host = e.target; 7 | var text = host.textInput.getElement(); 8 | if (!host.selection.isEmpty()) 9 | return; 10 | var c = host.getCursorPosition(); 11 | var r = host.session.getWordRange(c.row, c.column); 12 | var w = host.session.getTextRange(r); 13 | 14 | host.session.tokenRe.lastIndex = 0; 15 | if (!host.session.tokenRe.test(w)) 16 | return; 17 | var PLACEHOLDER = "\x01\x01"; 18 | var value = w + " " + PLACEHOLDER; 19 | text.value = value; 20 | text.setSelectionRange(w.length + 1, w.length + 1); 21 | text.setSelectionRange(0, 0); 22 | 23 | var afterKeydown = false; 24 | event.addListener(text, "keydown", function onKeydown() { 25 | event.removeListener(text, "keydown", onKeydown); 26 | afterKeydown = true; 27 | }); 28 | 29 | host.textInput.setInputHandler(function(newVal) { 30 | console.log(newVal , value, text.selectionStart, text.selectionEnd) 31 | if (newVal == value) 32 | return ''; 33 | if (newVal.lastIndexOf(value, 0) === 0) 34 | return newVal.slice(value.length); 35 | if (newVal.substr(text.selectionEnd) == value) 36 | return newVal.slice(0, -value.length); 37 | if (newVal.slice(-2) == PLACEHOLDER) { 38 | var val = newVal.slice(0, -2); 39 | if (val.slice(-1) == " ") { 40 | if (afterKeydown) 41 | return val.substring(0, text.selectionEnd); 42 | val = val.slice(0, -1); 43 | host.session.replace(r, val); 44 | return ""; 45 | } 46 | } 47 | 48 | return newVal; 49 | }); 50 | }; 51 | var Editor = require("../editor").Editor; 52 | require("../config").defineOptions(Editor.prototype, "editor", { 53 | spellcheck: { 54 | set: function(val) { 55 | var text = this.textInput.getElement(); 56 | text.spellcheck = !!val; 57 | if (!val) 58 | this.removeListener("nativecontextmenu", exports.contextMenuHandler); 59 | else 60 | this.on("nativecontextmenu", exports.contextMenuHandler); 61 | }, 62 | value: true 63 | } 64 | }); 65 | 66 | }); 67 | 68 | -------------------------------------------------------------------------------- /static/js/src/ext-static_highlight.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/ext/static_highlight', ['require', 'exports', 'module' , 'ace/edit_session', 'ace/layer/text'], function(require, exports, module) { 32 | 33 | 34 | var EditSession = require("../edit_session").EditSession; 35 | var TextLayer = require("../layer/text").Text; 36 | var baseStyles = ".ace_editor {\ 37 | font-family: 'Monaco', 'Menlo', 'Droid Sans Mono', 'Courier New', monospace;\ 38 | font-size: 12px;\ 39 | }\ 40 | .ace_editor .ace_gutter { \ 41 | width: 25px !important;\ 42 | display: block;\ 43 | float: left;\ 44 | text-align: right; \ 45 | padding: 0 3px 0 0; \ 46 | margin-right: 3px;\ 47 | }\ 48 | .ace_line { clear: both; }\ 49 | *.ace_gutter-cell {\ 50 | -moz-user-select: -moz-none;\ 51 | -khtml-user-select: none;\ 52 | -webkit-user-select: none;\ 53 | user-select: none;\ 54 | }"; 55 | 56 | exports.render = function(input, mode, theme, lineStart, disableGutter) { 57 | lineStart = parseInt(lineStart || 1, 10); 58 | 59 | var session = new EditSession(""); 60 | session.setMode(mode); 61 | session.setUseWorker(false); 62 | 63 | var textLayer = new TextLayer(document.createElement("div")); 64 | textLayer.setSession(session); 65 | textLayer.config = { 66 | characterWidth: 10, 67 | lineHeight: 20 68 | }; 69 | 70 | session.setValue(input); 71 | 72 | var stringBuilder = []; 73 | var length = session.getLength(); 74 | 75 | for(var ix = 0; ix < length; ix++) { 76 | stringBuilder.push("
"); 77 | if (!disableGutter) 78 | stringBuilder.push("" + (ix + lineStart) + ""); 79 | textLayer.$renderLine(stringBuilder, ix, true, false); 80 | stringBuilder.push("
"); 81 | } 82 | var html = "
\ 83 |
\ 84 | :code\ 85 |
\ 86 |
".replace(/:cssClass/, theme.cssClass).replace(/:code/, stringBuilder.join("")); 87 | 88 | textLayer.destroy(); 89 | 90 | return { 91 | css: baseStyles + theme.cssText, 92 | html: html 93 | }; 94 | }; 95 | 96 | }); 97 | -------------------------------------------------------------------------------- /static/js/src/mode-lisp.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2012, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * 30 | * ***** END LICENSE BLOCK ***** */ 31 | 32 | define('ace/mode/lisp', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/lisp_highlight_rules'], function(require, exports, module) { 33 | 34 | 35 | var oop = require("../lib/oop"); 36 | var TextMode = require("./text").Mode; 37 | var Tokenizer = require("../tokenizer").Tokenizer; 38 | var LispHighlightRules = require("./lisp_highlight_rules").LispHighlightRules; 39 | 40 | var Mode = function() { 41 | var highlighter = new LispHighlightRules(); 42 | 43 | this.$tokenizer = new Tokenizer(highlighter.getRules()); 44 | }; 45 | oop.inherits(Mode, TextMode); 46 | 47 | (function() { 48 | 49 | this.lineCommentStart = ";"; 50 | 51 | }).call(Mode.prototype); 52 | 53 | exports.Mode = Mode; 54 | }); 55 | 56 | 57 | define('ace/mode/lisp_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) { 58 | 59 | 60 | var oop = require("../lib/oop"); 61 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 62 | 63 | var LispHighlightRules = function() { 64 | var keywordControl = "case|do|let|loop|if|else|when"; 65 | var keywordOperator = "eq|neq|and|or"; 66 | var constantLanguage = "null|nil"; 67 | var supportFunctions = "cons|car|cdr|cond|lambda|format|setq|setf|quote|eval|append|list|listp|memberp|t|load|progn"; 68 | 69 | var keywordMapper = this.createKeywordMapper({ 70 | "keyword.control": keywordControl, 71 | "keyword.operator": keywordOperator, 72 | "constant.language": constantLanguage, 73 | "support.function": supportFunctions 74 | }, "identifier", true); 75 | 76 | this.$rules = 77 | { 78 | "start": [ 79 | { 80 | token : "comment", 81 | regex : ";.*$" 82 | }, 83 | { 84 | token: ["storage.type.function-type.lisp", "text", "entity.name.function.lisp"], 85 | regex: "(?:\\b(?:(defun|defmethod|defmacro))\\b)(\\s+)((?:\\w|\\-|\\!|\\?)*)" 86 | }, 87 | { 88 | token: ["punctuation.definition.constant.character.lisp", "constant.character.lisp"], 89 | regex: "(#)((?:\\w|[\\\\+-=<>'\"&#])+)" 90 | }, 91 | { 92 | token: ["punctuation.definition.variable.lisp", "variable.other.global.lisp", "punctuation.definition.variable.lisp"], 93 | regex: "(\\*)(\\S*)(\\*)" 94 | }, 95 | { 96 | token : "constant.numeric", // hex 97 | regex : "0[xX][0-9a-fA-F]+(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b" 98 | }, 99 | { 100 | token : "constant.numeric", // float 101 | regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b" 102 | }, 103 | { 104 | token : keywordMapper, 105 | regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" 106 | }, 107 | { 108 | token : "string", 109 | regex : '"(?=.)', 110 | next : "qqstring" 111 | } 112 | ], 113 | "qqstring": [ 114 | { 115 | token: "constant.character.escape.lisp", 116 | regex: "\\\\." 117 | }, 118 | { 119 | token : "string", 120 | regex : '[^"\\\\]+' 121 | }, { 122 | token : "string", 123 | regex : "\\\\$", 124 | next : "qqstring" 125 | }, { 126 | token : "string", 127 | regex : '"|$', 128 | next : "start" 129 | } 130 | ] 131 | } 132 | 133 | }; 134 | 135 | oop.inherits(LispHighlightRules, TextHighlightRules); 136 | 137 | exports.LispHighlightRules = LispHighlightRules; 138 | }); 139 | -------------------------------------------------------------------------------- /static/js/src/mode-lucene.js: -------------------------------------------------------------------------------- 1 | define('ace/mode/lucene', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/lucene_highlight_rules'], function(require, exports, module) { 2 | 3 | 4 | var oop = require("../lib/oop"); 5 | var TextMode = require("./text").Mode; 6 | var Tokenizer = require("../tokenizer").Tokenizer; 7 | var LuceneHighlightRules = require("./lucene_highlight_rules").LuceneHighlightRules; 8 | 9 | var Mode = function() { 10 | this.$tokenizer = new Tokenizer(new LuceneHighlightRules().getRules()); 11 | }; 12 | 13 | oop.inherits(Mode, TextMode); 14 | 15 | exports.Mode = Mode; 16 | });define('ace/mode/lucene_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/mode/text_highlight_rules'], function(require, exports, module) { 17 | 18 | 19 | var oop = require("../lib/oop"); 20 | var lang = require("../lib/lang"); 21 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 22 | 23 | var LuceneHighlightRules = function() { 24 | this.$rules = { 25 | "start" : [ 26 | { 27 | token : "constant.character.negation", 28 | regex : "[\\-]" 29 | }, { 30 | token : "constant.character.interro", 31 | regex : "[\\?]" 32 | }, { 33 | token : "constant.character.asterisk", 34 | regex : "[\\*]" 35 | }, { 36 | token: 'constant.character.proximity', 37 | regex: '~[0-9]+\\b' 38 | }, { 39 | token : 'keyword.operator', 40 | regex: '(?:AND|OR|NOT)\\b' 41 | }, { 42 | token : "paren.lparen", 43 | regex : "[\\(]" 44 | }, { 45 | token : "paren.rparen", 46 | regex : "[\\)]" 47 | }, { 48 | token : "keyword", 49 | regex : "[\\S]+:" 50 | }, { 51 | token : "string", // " string 52 | regex : '".*?"' 53 | }, { 54 | token : "text", 55 | regex : "\\s+" 56 | } 57 | ] 58 | }; 59 | }; 60 | 61 | oop.inherits(LuceneHighlightRules, TextHighlightRules); 62 | 63 | exports.LuceneHighlightRules = LuceneHighlightRules; 64 | }); 65 | -------------------------------------------------------------------------------- /static/js/src/mode-scheme.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2012, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * 30 | * Contributor(s): 31 | * 32 | * NalaGinrut@gmail.com 33 | * 34 | * ***** END LICENSE BLOCK ***** */ 35 | 36 | define('ace/mode/scheme', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/scheme_highlight_rules'], function(require, exports, module) { 37 | 38 | 39 | var oop = require("../lib/oop"); 40 | var TextMode = require("./text").Mode; 41 | var Tokenizer = require("../tokenizer").Tokenizer; 42 | var SchemeHighlightRules = require("./scheme_highlight_rules").SchemeHighlightRules; 43 | 44 | var Mode = function() { 45 | var highlighter = new SchemeHighlightRules(); 46 | 47 | this.$tokenizer = new Tokenizer(highlighter.getRules()); 48 | }; 49 | oop.inherits(Mode, TextMode); 50 | 51 | (function() { 52 | 53 | this.lineCommentStart = ";"; 54 | 55 | }).call(Mode.prototype); 56 | 57 | exports.Mode = Mode; 58 | }); 59 | 60 | define('ace/mode/scheme_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) { 61 | 62 | 63 | var oop = require("../lib/oop"); 64 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 65 | 66 | var SchemeHighlightRules = function() { 67 | var keywordControl = "case|do|let|loop|if|else|when"; 68 | var keywordOperator = "eq?|eqv?|equal?|and|or|not|null?"; 69 | var constantLanguage = "#t|#f"; 70 | var supportFunctions = "cons|car|cdr|cond|lambda|lambda*|syntax-rules|format|set!|quote|eval|append|list|list?|member?|load"; 71 | 72 | var keywordMapper = this.createKeywordMapper({ 73 | "keyword.control": keywordControl, 74 | "keyword.operator": keywordOperator, 75 | "constant.language": constantLanguage, 76 | "support.function": supportFunctions 77 | }, "identifier", true); 78 | 79 | this.$rules = 80 | { 81 | "start": [ 82 | { 83 | token : "comment", 84 | regex : ";.*$" 85 | }, 86 | { 87 | "token": ["storage.type.function-type.scheme", "text", "entity.name.function.scheme"], 88 | "regex": "(?:\\b(?:(define|define-syntax|define-macro))\\b)(\\s+)((?:\\w|\\-|\\!|\\?)*)" 89 | }, 90 | { 91 | "token": "punctuation.definition.constant.character.scheme", 92 | "regex": "#:\\S+" 93 | }, 94 | { 95 | "token": ["punctuation.definition.variable.scheme", "variable.other.global.scheme", "punctuation.definition.variable.scheme"], 96 | "regex": "(\\*)(\\S*)(\\*)" 97 | }, 98 | { 99 | "token" : "constant.numeric", // hex 100 | "regex" : "#[xXoObB][0-9a-fA-F]+" 101 | }, 102 | { 103 | "token" : "constant.numeric", // float 104 | "regex" : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?" 105 | }, 106 | { 107 | "token" : keywordMapper, 108 | "regex" : "[a-zA-Z_#][a-zA-Z0-9_\\-\\?\\!\\*]*" 109 | }, 110 | { 111 | "token" : "string", 112 | "regex" : '"(?=.)', 113 | "next" : "qqstring" 114 | } 115 | ], 116 | "qqstring": [ 117 | { 118 | "token": "constant.character.escape.scheme", 119 | "regex": "\\\\." 120 | }, 121 | { 122 | "token" : "string", 123 | "regex" : '[^"\\\\]+', 124 | "merge" : true 125 | }, { 126 | "token" : "string", 127 | "regex" : "\\\\$", 128 | "next" : "qqstring", 129 | "merge" : true 130 | }, { 131 | "token" : "string", 132 | "regex" : '"|$', 133 | "next" : "start", 134 | "merge" : true 135 | } 136 | ] 137 | } 138 | 139 | }; 140 | 141 | oop.inherits(SchemeHighlightRules, TextHighlightRules); 142 | 143 | exports.SchemeHighlightRules = SchemeHighlightRules; 144 | }); 145 | -------------------------------------------------------------------------------- /static/js/src/mode-sql.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/mode/sql', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/sql_highlight_rules', 'ace/range'], function(require, exports, module) { 32 | 33 | 34 | var oop = require("../lib/oop"); 35 | var TextMode = require("./text").Mode; 36 | var Tokenizer = require("../tokenizer").Tokenizer; 37 | var SqlHighlightRules = require("./sql_highlight_rules").SqlHighlightRules; 38 | var Range = require("../range").Range; 39 | 40 | var Mode = function() { 41 | this.$tokenizer = new Tokenizer(new SqlHighlightRules().getRules()); 42 | }; 43 | oop.inherits(Mode, TextMode); 44 | 45 | (function() { 46 | 47 | this.lineCommentStart = "--"; 48 | 49 | }).call(Mode.prototype); 50 | 51 | exports.Mode = Mode; 52 | 53 | }); 54 | 55 | define('ace/mode/sql_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) { 56 | 57 | 58 | var oop = require("../lib/oop"); 59 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 60 | 61 | var SqlHighlightRules = function() { 62 | 63 | var keywords = ( 64 | "select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|" + 65 | "when|else|end|type|left|right|join|on|outer|desc|asc" 66 | ); 67 | 68 | var builtinConstants = ( 69 | "true|false|null" 70 | ); 71 | 72 | var builtinFunctions = ( 73 | "count|min|max|avg|sum|rank|now|coalesce" 74 | ); 75 | 76 | var keywordMapper = this.createKeywordMapper({ 77 | "support.function": builtinFunctions, 78 | "keyword": keywords, 79 | "constant.language": builtinConstants 80 | }, "identifier", true); 81 | 82 | this.$rules = { 83 | "start" : [ { 84 | token : "comment", 85 | regex : "--.*$" 86 | }, { 87 | token : "string", // " string 88 | regex : '".*?"' 89 | }, { 90 | token : "string", // ' string 91 | regex : "'.*?'" 92 | }, { 93 | token : "constant.numeric", // float 94 | regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b" 95 | }, { 96 | token : keywordMapper, 97 | regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" 98 | }, { 99 | token : "keyword.operator", 100 | regex : "\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|=" 101 | }, { 102 | token : "paren.lparen", 103 | regex : "[\\(]" 104 | }, { 105 | token : "paren.rparen", 106 | regex : "[\\)]" 107 | }, { 108 | token : "text", 109 | regex : "\\s+" 110 | } ] 111 | }; 112 | }; 113 | 114 | oop.inherits(SqlHighlightRules, TextHighlightRules); 115 | 116 | exports.SqlHighlightRules = SqlHighlightRules; 117 | }); 118 | 119 | -------------------------------------------------------------------------------- /static/js/src/mode-text.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/js/src/mode-text.js -------------------------------------------------------------------------------- /static/js/src/theme-chaos.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright 2011 Irakli Gozalishvili. All rights reserved. 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy 6 | * of this software and associated documentation files (the "Software"), to 7 | * deal in the Software without restriction, including without limitation the 8 | * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 | * sell copies of the Software, and to permit persons to whom the Software is 10 | * furnished to do so, subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in 13 | * all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21 | * IN THE SOFTWARE. 22 | * ***** END LICENSE BLOCK ***** */ 23 | 24 | define('ace/theme/chaos', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 25 | 26 | exports.isDark = true; 27 | exports.cssClass = "ace-chaos"; 28 | exports.cssText = ".ace-chaos .ace_gutter {\ 29 | background: #141414;\ 30 | color: #595959;\ 31 | border-right: 1px solid #282828;\ 32 | }\ 33 | .ace-chaos .ace_gutter-cell.ace_warning {\ 34 | background-image: none;\ 35 | background: #FC0;\ 36 | border-left: none;\ 37 | padding-left: 0;\ 38 | color: #000;\ 39 | }\ 40 | .ace-chaos .ace_gutter-cell.ace_error {\ 41 | background-position: -6px center;\ 42 | background-image: none;\ 43 | background: #F10;\ 44 | border-left: none;\ 45 | padding-left: 0;\ 46 | color: #000;\ 47 | }\ 48 | .ace-chaos .ace_print-margin {\ 49 | border-left: 1px solid #555;\ 50 | right: 0;\ 51 | background: #1D1D1D;\ 52 | }\ 53 | .ace-chaos .ace_scroller {\ 54 | background-color: #161616;\ 55 | }\ 56 | .ace-chaos .ace_text-layer {\ 57 | cursor: text;\ 58 | color: #E6E1DC;\ 59 | }\ 60 | .ace-chaos .ace_cursor {\ 61 | border-left: 2px solid #FFFFFF;\ 62 | }\ 63 | .ace-chaos .ace_cursor.ace_overwrite {\ 64 | border-left: 0px;\ 65 | border-bottom: 1px solid #FFFFFF;\ 66 | }\ 67 | .ace-chaos .ace_marker-layer .ace_selection {\ 68 | background: #494836;\ 69 | }\ 70 | .ace-chaos .ace_marker-layer .ace_step {\ 71 | background: rgb(198, 219, 174);\ 72 | }\ 73 | .ace-chaos .ace_marker-layer .ace_bracket {\ 74 | margin: -1px 0 0 -1px;\ 75 | border: 1px solid #FCE94F;\ 76 | }\ 77 | .ace-chaos .ace_marker-layer .ace_active-line {\ 78 | background: #333;\ 79 | }\ 80 | .ace-chaos .ace_gutter-active-line {\ 81 | background-color: #222;\ 82 | }\ 83 | .ace-chaos .ace_invisible {\ 84 | color: #404040;\ 85 | }\ 86 | .ace-chaos .ace_keyword {\ 87 | color:#00698F;\ 88 | }\ 89 | .ace-chaos .ace_keyword.ace_operator {\ 90 | color:#FF308F;\ 91 | }\ 92 | .ace-chaos .ace_constant {\ 93 | color:#1EDAFB;\ 94 | }\ 95 | .ace-chaos .ace_constant.ace_language {\ 96 | color:#FDC251;\ 97 | }\ 98 | .ace-chaos .ace_constant.ace_library {\ 99 | color:#8DFF0A;\ 100 | }\ 101 | .ace-chaos .ace_constant.ace_numeric {\ 102 | color:#58C554;\ 103 | }\ 104 | .ace-chaos .ace_invalid {\ 105 | color:#FFFFFF;\ 106 | background-color:#990000;\ 107 | }\ 108 | .ace-chaos .ace_invalid.ace_deprecated {\ 109 | color:#FFFFFF;\ 110 | background-color:#990000;\ 111 | }\ 112 | .ace-chaos .ace_support {\ 113 | color: #999;\ 114 | }\ 115 | .ace-chaos .ace_support.ace_function {\ 116 | color:#00AEEF;\ 117 | }\ 118 | .ace-chaos .ace_function {\ 119 | color:#00AEEF;\ 120 | }\ 121 | .ace-chaos .ace_string {\ 122 | color:#58C554;\ 123 | }\ 124 | .ace-chaos .ace_comment {\ 125 | color:#555;\ 126 | font-style:italic;\ 127 | padding-bottom: 0px;\ 128 | }\ 129 | .ace-chaos .ace_variable {\ 130 | color:#997744;\ 131 | }\ 132 | .ace-chaos .ace_meta.ace_tag {\ 133 | color:#BE53E6;\ 134 | }\ 135 | .ace-chaos .ace_entity.ace_other.ace_attribute-name {\ 136 | color:#FFFF89;\ 137 | }\ 138 | .ace-chaos .ace_markup.ace_underline {\ 139 | text-decoration: underline;\ 140 | }\ 141 | .ace-chaos .ace_fold-widget {\ 142 | text-align: center;\ 143 | }\ 144 | .ace-chaos .ace_fold-widget:hover {\ 145 | color: #777;\ 146 | }\ 147 | .ace-chaos .ace_fold-widget.ace_start,\ 148 | .ace-chaos .ace_fold-widget.ace_end,\ 149 | .ace-chaos .ace_fold-widget.ace_closed{\ 150 | background: none;\ 151 | border: none;\ 152 | box-shadow: none;\ 153 | }\ 154 | .ace-chaos .ace_fold-widget.ace_start:after {\ 155 | content: '▾'\ 156 | }\ 157 | .ace-chaos .ace_fold-widget.ace_end:after {\ 158 | content: '▴'\ 159 | }\ 160 | .ace-chaos .ace_fold-widget.ace_closed:after {\ 161 | content: '‣'\ 162 | }\ 163 | .ace-chaos .ace_indent-guide {\ 164 | border-right:1px dotted #333;\ 165 | margin-right:-1px;\ 166 | }\ 167 | .ace-chaos .ace_fold { \ 168 | background: #222; \ 169 | border-radius: 3px; \ 170 | color: #7AF; \ 171 | border: none; \ 172 | }\ 173 | .ace-chaos .ace_fold:hover {\ 174 | background: #CCC; \ 175 | color: #000;\ 176 | }\ 177 | "; 178 | 179 | var dom = require("../lib/dom"); 180 | dom.importCssString(exports.cssText, exports.cssClass); 181 | 182 | }); -------------------------------------------------------------------------------- /static/js/src/theme-chrome.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/chrome', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = false; 34 | exports.cssClass = "ace-chrome"; 35 | exports.cssText = ".ace-chrome .ace_gutter {\ 36 | background: #ebebeb;\ 37 | color: #333;\ 38 | overflow : hidden;\ 39 | }\ 40 | .ace-chrome .ace_print-margin {\ 41 | width: 1px;\ 42 | background: #e8e8e8;\ 43 | }\ 44 | .ace-chrome .ace_scroller {\ 45 | background-color: #FFFFFF;\ 46 | }\ 47 | .ace-chrome .ace_cursor {\ 48 | border-left: 2px solid black;\ 49 | }\ 50 | .ace-chrome .ace_overwrite-cursors .ace_cursor {\ 51 | border-left: 0px;\ 52 | border-bottom: 1px solid black;\ 53 | }\ 54 | .ace-chrome .ace_invisible {\ 55 | color: rgb(191, 191, 191);\ 56 | }\ 57 | .ace-chrome .ace_constant.ace_buildin {\ 58 | color: rgb(88, 72, 246);\ 59 | }\ 60 | .ace-chrome .ace_constant.ace_language {\ 61 | color: rgb(88, 92, 246);\ 62 | }\ 63 | .ace-chrome .ace_constant.ace_library {\ 64 | color: rgb(6, 150, 14);\ 65 | }\ 66 | .ace-chrome .ace_invalid {\ 67 | background-color: rgb(153, 0, 0);\ 68 | color: white;\ 69 | }\ 70 | .ace-chrome .ace_fold {\ 71 | }\ 72 | .ace-chrome .ace_support.ace_function {\ 73 | color: rgb(60, 76, 114);\ 74 | }\ 75 | .ace-chrome .ace_support.ace_constant {\ 76 | color: rgb(6, 150, 14);\ 77 | }\ 78 | .ace-chrome .ace_support.ace_type,\ 79 | .ace-chrome .ace_support.ace_class\ 80 | .ace-chrome .ace_support.ace_other {\ 81 | color: rgb(109, 121, 222);\ 82 | }\ 83 | .ace-chrome .ace_variable.ace_parameter {\ 84 | font-style:italic;\ 85 | color:#FD971F;\ 86 | }\ 87 | .ace-chrome .ace_keyword.ace_operator {\ 88 | color: rgb(104, 118, 135);\ 89 | }\ 90 | .ace-chrome .ace_comment {\ 91 | color: #236e24;\ 92 | }\ 93 | .ace-chrome .ace_comment.ace_doc {\ 94 | color: #236e24;\ 95 | }\ 96 | .ace-chrome .ace_comment.ace_doc.ace_tag {\ 97 | color: #236e24;\ 98 | }\ 99 | .ace-chrome .ace_constant.ace_numeric {\ 100 | color: rgb(0, 0, 205);\ 101 | }\ 102 | .ace-chrome .ace_variable {\ 103 | color: rgb(49, 132, 149);\ 104 | }\ 105 | .ace-chrome .ace_xml-pe {\ 106 | color: rgb(104, 104, 91);\ 107 | }\ 108 | .ace-chrome .ace_entity.ace_name.ace_function {\ 109 | color: #0000A2;\ 110 | }\ 111 | .ace-chrome .ace_markup.ace_heading {\ 112 | color: rgb(12, 7, 255);\ 113 | }\ 114 | .ace-chrome .ace_markup.ace_list {\ 115 | color:rgb(185, 6, 144);\ 116 | }\ 117 | .ace-chrome .ace_marker-layer .ace_selection {\ 118 | background: rgb(181, 213, 255);\ 119 | }\ 120 | .ace-chrome .ace_marker-layer .ace_step {\ 121 | background: rgb(252, 255, 0);\ 122 | }\ 123 | .ace-chrome .ace_marker-layer .ace_stack {\ 124 | background: rgb(164, 229, 101);\ 125 | }\ 126 | .ace-chrome .ace_marker-layer .ace_bracket {\ 127 | margin: -1px 0 0 -1px;\ 128 | border: 1px solid rgb(192, 192, 192);\ 129 | }\ 130 | .ace-chrome .ace_marker-layer .ace_active-line {\ 131 | background: rgba(0, 0, 0, 0.07);\ 132 | }\ 133 | .ace-chrome .ace_gutter-active-line {\ 134 | background-color : #dcdcdc;\ 135 | }\ 136 | .ace-chrome .ace_marker-layer .ace_selected-word {\ 137 | background: rgb(250, 250, 255);\ 138 | border: 1px solid rgb(200, 200, 250);\ 139 | }\ 140 | .ace-chrome .ace_storage,\ 141 | .ace-chrome .ace_keyword,\ 142 | .ace-chrome .ace_meta.ace_tag {\ 143 | color: rgb(147, 15, 128);\ 144 | }\ 145 | .ace-chrome .ace_string.ace_regex {\ 146 | color: rgb(255, 0, 0)\ 147 | }\ 148 | .ace-chrome .ace_string {\ 149 | color: #1A1AA6;\ 150 | }\ 151 | .ace-chrome .ace_entity.ace_other.ace_attribute-name {\ 152 | color: #994409;\ 153 | }\ 154 | .ace-chrome .ace_indent-guide {\ 155 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 156 | }\ 157 | "; 158 | 159 | var dom = require("../lib/dom"); 160 | dom.importCssString(exports.cssText, exports.cssClass); 161 | }); 162 | -------------------------------------------------------------------------------- /static/js/src/theme-clouds.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/clouds', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = false; 34 | exports.cssClass = "ace-clouds"; 35 | exports.cssText = ".ace-clouds .ace_gutter {\ 36 | background: #ebebeb;\ 37 | color: #333\ 38 | }\ 39 | .ace-clouds .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #e8e8e8\ 42 | }\ 43 | .ace-clouds .ace_scroller {\ 44 | background-color: #FFFFFF\ 45 | }\ 46 | .ace-clouds .ace_text-layer {\ 47 | color: #000000\ 48 | }\ 49 | .ace-clouds .ace_cursor {\ 50 | border-left: 2px solid #000000\ 51 | }\ 52 | .ace-clouds .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #000000\ 55 | }\ 56 | .ace-clouds .ace_marker-layer .ace_selection {\ 57 | background: #BDD5FC\ 58 | }\ 59 | .ace-clouds.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #FFFFFF;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-clouds .ace_marker-layer .ace_step {\ 64 | background: rgb(255, 255, 0)\ 65 | }\ 66 | .ace-clouds .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid #BFBFBF\ 69 | }\ 70 | .ace-clouds .ace_marker-layer .ace_active-line {\ 71 | background: #FFFBD1\ 72 | }\ 73 | .ace-clouds .ace_gutter-active-line {\ 74 | background-color : #dcdcdc\ 75 | }\ 76 | .ace-clouds .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid #BDD5FC\ 78 | }\ 79 | .ace-clouds .ace_invisible {\ 80 | color: #BFBFBF\ 81 | }\ 82 | .ace-clouds .ace_keyword,\ 83 | .ace-clouds .ace_meta,\ 84 | .ace-clouds .ace_support.ace_constant.ace_property-value {\ 85 | color: #AF956F\ 86 | }\ 87 | .ace-clouds .ace_keyword.ace_operator {\ 88 | color: #484848\ 89 | }\ 90 | .ace-clouds .ace_keyword.ace_other.ace_unit {\ 91 | color: #96DC5F\ 92 | }\ 93 | .ace-clouds .ace_constant.ace_language {\ 94 | color: #39946A\ 95 | }\ 96 | .ace-clouds .ace_constant.ace_numeric {\ 97 | color: #46A609\ 98 | }\ 99 | .ace-clouds .ace_constant.ace_character.ace_entity {\ 100 | color: #BF78CC\ 101 | }\ 102 | .ace-clouds .ace_invalid {\ 103 | background-color: #FF002A\ 104 | }\ 105 | .ace-clouds .ace_fold {\ 106 | background-color: #AF956F;\ 107 | border-color: #000000\ 108 | }\ 109 | .ace-clouds .ace_storage,\ 110 | .ace-clouds .ace_support.ace_class,\ 111 | .ace-clouds .ace_support.ace_function,\ 112 | .ace-clouds .ace_support.ace_other,\ 113 | .ace-clouds .ace_support.ace_type {\ 114 | color: #C52727\ 115 | }\ 116 | .ace-clouds .ace_string {\ 117 | color: #5D90CD\ 118 | }\ 119 | .ace-clouds .ace_comment {\ 120 | color: #BCC8BA\ 121 | }\ 122 | .ace-clouds .ace_entity.ace_name.ace_tag,\ 123 | .ace-clouds .ace_entity.ace_other.ace_attribute-name {\ 124 | color: #606060\ 125 | }\ 126 | .ace-clouds .ace_markup.ace_underline {\ 127 | text-decoration: underline\ 128 | }\ 129 | .ace-clouds .ace_indent-guide {\ 130 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y\ 131 | }"; 132 | 133 | var dom = require("../lib/dom"); 134 | dom.importCssString(exports.cssText, exports.cssClass); 135 | }); 136 | -------------------------------------------------------------------------------- /static/js/src/theme-clouds_midnight.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/clouds_midnight', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = true; 34 | exports.cssClass = "ace-clouds-midnight"; 35 | exports.cssText = ".ace-clouds-midnight .ace_gutter {\ 36 | background: #232323;\ 37 | color: #929292\ 38 | }\ 39 | .ace-clouds-midnight .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #232323\ 42 | }\ 43 | .ace-clouds-midnight .ace_scroller {\ 44 | background-color: #191919\ 45 | }\ 46 | .ace-clouds-midnight .ace_text-layer {\ 47 | color: #929292\ 48 | }\ 49 | .ace-clouds-midnight .ace_cursor {\ 50 | border-left: 2px solid #7DA5DC\ 51 | }\ 52 | .ace-clouds-midnight .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #7DA5DC\ 55 | }\ 56 | .ace-clouds-midnight .ace_marker-layer .ace_selection {\ 57 | background: #000000\ 58 | }\ 59 | .ace-clouds-midnight.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #191919;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-clouds-midnight .ace_marker-layer .ace_step {\ 64 | background: rgb(102, 82, 0)\ 65 | }\ 66 | .ace-clouds-midnight .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid #BFBFBF\ 69 | }\ 70 | .ace-clouds-midnight .ace_marker-layer .ace_active-line {\ 71 | background: rgba(215, 215, 215, 0.031)\ 72 | }\ 73 | .ace-clouds-midnight .ace_gutter-active-line {\ 74 | background-color: rgba(215, 215, 215, 0.031)\ 75 | }\ 76 | .ace-clouds-midnight .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid #000000\ 78 | }\ 79 | .ace-clouds-midnight .ace_invisible {\ 80 | color: #BFBFBF\ 81 | }\ 82 | .ace-clouds-midnight .ace_keyword,\ 83 | .ace-clouds-midnight .ace_meta,\ 84 | .ace-clouds-midnight .ace_support.ace_constant.ace_property-value {\ 85 | color: #927C5D\ 86 | }\ 87 | .ace-clouds-midnight .ace_keyword.ace_operator {\ 88 | color: #4B4B4B\ 89 | }\ 90 | .ace-clouds-midnight .ace_keyword.ace_other.ace_unit {\ 91 | color: #366F1A\ 92 | }\ 93 | .ace-clouds-midnight .ace_constant.ace_language {\ 94 | color: #39946A\ 95 | }\ 96 | .ace-clouds-midnight .ace_constant.ace_numeric {\ 97 | color: #46A609\ 98 | }\ 99 | .ace-clouds-midnight .ace_constant.ace_character.ace_entity {\ 100 | color: #A165AC\ 101 | }\ 102 | .ace-clouds-midnight .ace_invalid {\ 103 | color: #FFFFFF;\ 104 | background-color: #E92E2E\ 105 | }\ 106 | .ace-clouds-midnight .ace_fold {\ 107 | background-color: #927C5D;\ 108 | border-color: #929292\ 109 | }\ 110 | .ace-clouds-midnight .ace_storage,\ 111 | .ace-clouds-midnight .ace_support.ace_class,\ 112 | .ace-clouds-midnight .ace_support.ace_function,\ 113 | .ace-clouds-midnight .ace_support.ace_other,\ 114 | .ace-clouds-midnight .ace_support.ace_type {\ 115 | color: #E92E2E\ 116 | }\ 117 | .ace-clouds-midnight .ace_string {\ 118 | color: #5D90CD\ 119 | }\ 120 | .ace-clouds-midnight .ace_comment {\ 121 | color: #3C403B\ 122 | }\ 123 | .ace-clouds-midnight .ace_entity.ace_name.ace_tag,\ 124 | .ace-clouds-midnight .ace_entity.ace_other.ace_attribute-name {\ 125 | color: #606060\ 126 | }\ 127 | .ace-clouds-midnight .ace_markup.ace_underline {\ 128 | text-decoration: underline\ 129 | }\ 130 | .ace-clouds-midnight .ace_indent-guide {\ 131 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQlJT8z1BeXv4fAA2KA6+h9Z+2AAAAAElFTkSuQmCC) right repeat-y\ 132 | }"; 133 | 134 | var dom = require("../lib/dom"); 135 | dom.importCssString(exports.cssText, exports.cssClass); 136 | }); 137 | -------------------------------------------------------------------------------- /static/js/src/theme-cobalt.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/cobalt', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = true; 34 | exports.cssClass = "ace-cobalt"; 35 | exports.cssText = ".ace-cobalt .ace_gutter {\ 36 | background: #011e3a;\ 37 | color: #fff\ 38 | }\ 39 | .ace-cobalt .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #011e3a\ 42 | }\ 43 | .ace-cobalt .ace_scroller {\ 44 | background-color: #002240\ 45 | }\ 46 | .ace-cobalt .ace_text-layer {\ 47 | color: #FFFFFF\ 48 | }\ 49 | .ace-cobalt .ace_cursor {\ 50 | border-left: 2px solid #FFFFFF\ 51 | }\ 52 | .ace-cobalt .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #FFFFFF\ 55 | }\ 56 | .ace-cobalt .ace_marker-layer .ace_selection {\ 57 | background: rgba(179, 101, 57, 0.75)\ 58 | }\ 59 | .ace-cobalt.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #002240;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-cobalt .ace_marker-layer .ace_step {\ 64 | background: rgb(127, 111, 19)\ 65 | }\ 66 | .ace-cobalt .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid rgba(255, 255, 255, 0.15)\ 69 | }\ 70 | .ace-cobalt .ace_marker-layer .ace_active-line {\ 71 | background: rgba(0, 0, 0, 0.35)\ 72 | }\ 73 | .ace-cobalt .ace_gutter-active-line {\ 74 | background-color: rgba(0, 0, 0, 0.35)\ 75 | }\ 76 | .ace-cobalt .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid rgba(179, 101, 57, 0.75)\ 78 | }\ 79 | .ace-cobalt .ace_invisible {\ 80 | color: rgba(255, 255, 255, 0.15)\ 81 | }\ 82 | .ace-cobalt .ace_keyword,\ 83 | .ace-cobalt .ace_meta {\ 84 | color: #FF9D00\ 85 | }\ 86 | .ace-cobalt .ace_constant,\ 87 | .ace-cobalt .ace_constant.ace_character,\ 88 | .ace-cobalt .ace_constant.ace_character.ace_escape,\ 89 | .ace-cobalt .ace_constant.ace_other {\ 90 | color: #FF628C\ 91 | }\ 92 | .ace-cobalt .ace_invalid {\ 93 | color: #F8F8F8;\ 94 | background-color: #800F00\ 95 | }\ 96 | .ace-cobalt .ace_support {\ 97 | color: #80FFBB\ 98 | }\ 99 | .ace-cobalt .ace_support.ace_constant {\ 100 | color: #EB939A\ 101 | }\ 102 | .ace-cobalt .ace_fold {\ 103 | background-color: #FF9D00;\ 104 | border-color: #FFFFFF\ 105 | }\ 106 | .ace-cobalt .ace_support.ace_function {\ 107 | color: #FFB054\ 108 | }\ 109 | .ace-cobalt .ace_storage {\ 110 | color: #FFEE80\ 111 | }\ 112 | .ace-cobalt .ace_entity {\ 113 | color: #FFDD00\ 114 | }\ 115 | .ace-cobalt .ace_string {\ 116 | color: #3AD900\ 117 | }\ 118 | .ace-cobalt .ace_string.ace_regexp {\ 119 | color: #80FFC2\ 120 | }\ 121 | .ace-cobalt .ace_comment {\ 122 | font-style: italic;\ 123 | color: #0088FF\ 124 | }\ 125 | .ace-cobalt .ace_variable {\ 126 | color: #CCCCCC\ 127 | }\ 128 | .ace-cobalt .ace_variable.ace_language {\ 129 | color: #FF80E1\ 130 | }\ 131 | .ace-cobalt .ace_meta.ace_tag {\ 132 | color: #9EFFFF\ 133 | }\ 134 | .ace-cobalt .ace_markup.ace_underline {\ 135 | text-decoration: underline\ 136 | }\ 137 | .ace-cobalt .ace_markup.ace_heading {\ 138 | color: #C8E4FD;\ 139 | background-color: #001221\ 140 | }\ 141 | .ace-cobalt .ace_markup.ace_list {\ 142 | background-color: #130D26\ 143 | }\ 144 | .ace-cobalt .ace_indent-guide {\ 145 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgUHL4zzBz5sz/AA80BCzv+WXhAAAAAElFTkSuQmCC) right repeat-y\ 146 | }"; 147 | 148 | var dom = require("../lib/dom"); 149 | dom.importCssString(exports.cssText, exports.cssClass); 150 | }); 151 | -------------------------------------------------------------------------------- /static/js/src/theme-crimson_editor.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/crimson_editor', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | exports.isDark = false; 33 | exports.cssText = ".ace-crimson-editor .ace_gutter {\ 34 | background: #ebebeb;\ 35 | color: #333;\ 36 | overflow : hidden;\ 37 | }\ 38 | .ace-crimson-editor .ace_gutter-layer {\ 39 | width: 100%;\ 40 | text-align: right;\ 41 | }\ 42 | .ace-crimson-editor .ace_print-margin {\ 43 | width: 1px;\ 44 | background: #e8e8e8;\ 45 | }\ 46 | .ace-crimson-editor .ace_scroller {\ 47 | background-color: #FFFFFF;\ 48 | }\ 49 | .ace-crimson-editor .ace_text-layer {\ 50 | color: rgb(64, 64, 64);\ 51 | }\ 52 | .ace-crimson-editor .ace_cursor {\ 53 | border-left: 2px solid black;\ 54 | }\ 55 | .ace-crimson-editor .ace_overwrite-cursors .ace_cursor {\ 56 | border-left: 0px;\ 57 | border-bottom: 1px solid black;\ 58 | }\ 59 | .ace-crimson-editor .ace_invisible {\ 60 | color: rgb(191, 191, 191);\ 61 | }\ 62 | .ace-crimson-editor .ace_identifier {\ 63 | color: black;\ 64 | }\ 65 | .ace-crimson-editor .ace_keyword {\ 66 | color: blue;\ 67 | }\ 68 | .ace-crimson-editor .ace_constant.ace_buildin {\ 69 | color: rgb(88, 72, 246);\ 70 | }\ 71 | .ace-crimson-editor .ace_constant.ace_language {\ 72 | color: rgb(255, 156, 0);\ 73 | }\ 74 | .ace-crimson-editor .ace_constant.ace_library {\ 75 | color: rgb(6, 150, 14);\ 76 | }\ 77 | .ace-crimson-editor .ace_invalid {\ 78 | text-decoration: line-through;\ 79 | color: rgb(224, 0, 0);\ 80 | }\ 81 | .ace-crimson-editor .ace_fold {\ 82 | }\ 83 | .ace-crimson-editor .ace_support.ace_function {\ 84 | color: rgb(192, 0, 0);\ 85 | }\ 86 | .ace-crimson-editor .ace_support.ace_constant {\ 87 | color: rgb(6, 150, 14);\ 88 | }\ 89 | .ace-crimson-editor .ace_support.ace_type,\ 90 | .ace-crimson-editor .ace_support.ace_class {\ 91 | color: rgb(109, 121, 222);\ 92 | }\ 93 | .ace-crimson-editor .ace_keyword.ace_operator {\ 94 | color: rgb(49, 132, 149);\ 95 | }\ 96 | .ace-crimson-editor .ace_string {\ 97 | color: rgb(128, 0, 128);\ 98 | }\ 99 | .ace-crimson-editor .ace_comment {\ 100 | color: rgb(76, 136, 107);\ 101 | }\ 102 | .ace-crimson-editor .ace_comment.ace_doc {\ 103 | color: rgb(0, 102, 255);\ 104 | }\ 105 | .ace-crimson-editor .ace_comment.ace_doc.ace_tag {\ 106 | color: rgb(128, 159, 191);\ 107 | }\ 108 | .ace-crimson-editor .ace_constant.ace_numeric {\ 109 | color: rgb(0, 0, 64);\ 110 | }\ 111 | .ace-crimson-editor .ace_variable {\ 112 | color: rgb(0, 64, 128);\ 113 | }\ 114 | .ace-crimson-editor .ace_xml-pe {\ 115 | color: rgb(104, 104, 91);\ 116 | }\ 117 | .ace-crimson-editor .ace_marker-layer .ace_selection {\ 118 | background: rgb(181, 213, 255);\ 119 | }\ 120 | .ace-crimson-editor .ace_marker-layer .ace_step {\ 121 | background: rgb(252, 255, 0);\ 122 | }\ 123 | .ace-crimson-editor .ace_marker-layer .ace_stack {\ 124 | background: rgb(164, 229, 101);\ 125 | }\ 126 | .ace-crimson-editor .ace_marker-layer .ace_bracket {\ 127 | margin: -1px 0 0 -1px;\ 128 | border: 1px solid rgb(192, 192, 192);\ 129 | }\ 130 | .ace-crimson-editor .ace_marker-layer .ace_active-line {\ 131 | background: rgb(232, 242, 254);\ 132 | }\ 133 | .ace-crimson-editor .ace_gutter-active-line {\ 134 | background-color : #dcdcdc;\ 135 | }\ 136 | .ace-crimson-editor .ace_meta.ace_tag {\ 137 | color:rgb(28, 2, 255);\ 138 | }\ 139 | .ace-crimson-editor .ace_marker-layer .ace_selected-word {\ 140 | background: rgb(250, 250, 255);\ 141 | border: 1px solid rgb(200, 200, 250);\ 142 | }\ 143 | .ace-crimson-editor .ace_string.ace_regex {\ 144 | color: rgb(192, 0, 192);\ 145 | }\ 146 | .ace-crimson-editor .ace_indent-guide {\ 147 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 148 | }"; 149 | 150 | exports.cssClass = "ace-crimson-editor"; 151 | 152 | var dom = require("../lib/dom"); 153 | dom.importCssString(exports.cssText, exports.cssClass); 154 | }); 155 | -------------------------------------------------------------------------------- /static/js/src/theme-dawn.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/dawn', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = false; 34 | exports.cssClass = "ace-dawn"; 35 | exports.cssText = ".ace-dawn .ace_gutter {\ 36 | background: #ebebeb;\ 37 | color: #333\ 38 | }\ 39 | .ace-dawn .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #e8e8e8\ 42 | }\ 43 | .ace-dawn .ace_scroller {\ 44 | background-color: #F9F9F9\ 45 | }\ 46 | .ace-dawn .ace_text-layer {\ 47 | color: #080808\ 48 | }\ 49 | .ace-dawn .ace_cursor {\ 50 | border-left: 2px solid #000000\ 51 | }\ 52 | .ace-dawn .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #000000\ 55 | }\ 56 | .ace-dawn .ace_marker-layer .ace_selection {\ 57 | background: rgba(39, 95, 255, 0.30)\ 58 | }\ 59 | .ace-dawn.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #F9F9F9;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-dawn .ace_marker-layer .ace_step {\ 64 | background: rgb(255, 255, 0)\ 65 | }\ 66 | .ace-dawn .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid rgba(75, 75, 126, 0.50)\ 69 | }\ 70 | .ace-dawn .ace_marker-layer .ace_active-line {\ 71 | background: rgba(36, 99, 180, 0.12)\ 72 | }\ 73 | .ace-dawn .ace_gutter-active-line {\ 74 | background-color : #dcdcdc\ 75 | }\ 76 | .ace-dawn .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid rgba(39, 95, 255, 0.30)\ 78 | }\ 79 | .ace-dawn .ace_invisible {\ 80 | color: rgba(75, 75, 126, 0.50)\ 81 | }\ 82 | .ace-dawn .ace_keyword,\ 83 | .ace-dawn .ace_meta {\ 84 | color: #794938\ 85 | }\ 86 | .ace-dawn .ace_constant,\ 87 | .ace-dawn .ace_constant.ace_character,\ 88 | .ace-dawn .ace_constant.ace_character.ace_escape,\ 89 | .ace-dawn .ace_constant.ace_other {\ 90 | color: #811F24\ 91 | }\ 92 | .ace-dawn .ace_invalid.ace_illegal {\ 93 | text-decoration: underline;\ 94 | font-style: italic;\ 95 | color: #F8F8F8;\ 96 | background-color: #B52A1D\ 97 | }\ 98 | .ace-dawn .ace_invalid.ace_deprecated {\ 99 | text-decoration: underline;\ 100 | font-style: italic;\ 101 | color: #B52A1D\ 102 | }\ 103 | .ace-dawn .ace_support {\ 104 | color: #691C97\ 105 | }\ 106 | .ace-dawn .ace_support.ace_constant {\ 107 | color: #B4371F\ 108 | }\ 109 | .ace-dawn .ace_fold {\ 110 | background-color: #794938;\ 111 | border-color: #080808\ 112 | }\ 113 | .ace-dawn .ace_markup.ace_list,\ 114 | .ace-dawn .ace_support.ace_function {\ 115 | color: #693A17\ 116 | }\ 117 | .ace-dawn .ace_storage {\ 118 | font-style: italic;\ 119 | color: #A71D5D\ 120 | }\ 121 | .ace-dawn .ace_string {\ 122 | color: #0B6125\ 123 | }\ 124 | .ace-dawn .ace_string.ace_regexp {\ 125 | color: #CF5628\ 126 | }\ 127 | .ace-dawn .ace_comment {\ 128 | font-style: italic;\ 129 | color: #5A525F\ 130 | }\ 131 | .ace-dawn .ace_variable {\ 132 | color: #234A97\ 133 | }\ 134 | .ace-dawn .ace_markup.ace_underline {\ 135 | text-decoration: underline\ 136 | }\ 137 | .ace-dawn .ace_markup.ace_heading {\ 138 | color: #19356D\ 139 | }\ 140 | .ace-dawn .ace_indent-guide {\ 141 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4+fPnf4ZVq1b9BwAkVQboFQv98gAAAABJRU5ErkJggg==) right repeat-y\ 142 | }"; 143 | 144 | var dom = require("../lib/dom"); 145 | dom.importCssString(exports.cssText, exports.cssClass); 146 | }); 147 | -------------------------------------------------------------------------------- /static/js/src/theme-eclipse.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/eclipse', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | 34 | exports.isDark = false; 35 | exports.cssText = ".ace-eclipse .ace_gutter {\ 36 | background: #ebebeb;\ 37 | border-right: 1px solid rgb(159, 159, 159);\ 38 | color: rgb(136, 136, 136);\ 39 | }\ 40 | .ace-eclipse .ace_print-margin {\ 41 | width: 1px;\ 42 | background: #ebebeb;\ 43 | }\ 44 | .ace-eclipse .ace_scroller {\ 45 | background-color: #FFFFFF;\ 46 | }\ 47 | .ace-eclipse .ace_fold {\ 48 | background-color: rgb(60, 76, 114);\ 49 | }\ 50 | .ace-eclipse .ace_text-layer {\ 51 | }\ 52 | .ace-eclipse .ace_cursor {\ 53 | border-left: 2px solid black;\ 54 | }\ 55 | .ace-eclipse .ace_storage,\ 56 | .ace-eclipse .ace_keyword,\ 57 | .ace-eclipse .ace_variable {\ 58 | color: rgb(127, 0, 85);\ 59 | }\ 60 | .ace-eclipse .ace_constant.ace_buildin {\ 61 | color: rgb(88, 72, 246);\ 62 | }\ 63 | .ace-eclipse .ace_constant.ace_library {\ 64 | color: rgb(6, 150, 14);\ 65 | }\ 66 | .ace-eclipse .ace_function {\ 67 | color: rgb(60, 76, 114);\ 68 | }\ 69 | .ace-eclipse .ace_string {\ 70 | color: rgb(42, 0, 255);\ 71 | }\ 72 | .ace-eclipse .ace_comment {\ 73 | color: rgb(63, 127, 95);\ 74 | }\ 75 | .ace-eclipse .ace_comment.ace_doc {\ 76 | color: rgb(63, 95, 191);\ 77 | }\ 78 | .ace-eclipse .ace_comment.ace_doc.ace_tag {\ 79 | color: rgb(127, 159, 191);\ 80 | }\ 81 | .ace-eclipse .ace_constant.ace_numeric {\ 82 | }\ 83 | .ace-eclipse .ace_tag {\ 84 | color: rgb(63, 127, 127);\ 85 | }\ 86 | .ace-eclipse .ace_type {\ 87 | color: rgb(127, 0, 127);\ 88 | }\ 89 | .ace-eclipse .ace_xml-pe {\ 90 | color: rgb(104, 104, 91);\ 91 | }\ 92 | .ace-eclipse .ace_marker-layer .ace_selection {\ 93 | background: rgb(181, 213, 255);\ 94 | }\ 95 | .ace-eclipse .ace_marker-layer .ace_bracket {\ 96 | margin: -1px 0 0 -1px;\ 97 | border: 1px solid rgb(192, 192, 192);\ 98 | }\ 99 | .ace-eclipse .ace_meta.ace_tag {\ 100 | color:rgb(63, 127, 127);\ 101 | }\ 102 | .ace-eclipse .ace_entity.ace_other.ace_attribute-name {\ 103 | color:rgb(127, 0, 127);\ 104 | }\ 105 | .ace-eclipse .ace_marker-layer .ace_step {\ 106 | background: rgb(255, 255, 0);\ 107 | }\ 108 | .ace-eclipse .ace_marker-layer .ace_active-line {\ 109 | background: rgb(232, 242, 254);\ 110 | }\ 111 | .ace-eclipse .ace_marker-layer .ace_selected-word {\ 112 | border: 1px solid rgb(181, 213, 255);\ 113 | }\ 114 | .ace-eclipse .ace_indent-guide {\ 115 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 116 | }"; 117 | 118 | exports.cssClass = "ace-eclipse"; 119 | 120 | var dom = require("../lib/dom"); 121 | dom.importCssString(exports.cssText, exports.cssClass); 122 | }); 123 | -------------------------------------------------------------------------------- /static/js/src/theme-github.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/github', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = false; 34 | exports.cssClass = "ace-github"; 35 | exports.cssText = "/* CSS style content from github's default pygments highlighter template.\ 36 | Cursor and selection styles from textmate.css. */\ 37 | .ace-github .ace_gutter {\ 38 | background: #e8e8e8;\ 39 | color: #AAA;\ 40 | }\ 41 | .ace-github .ace_scroller {\ 42 | background: #fff;\ 43 | }\ 44 | .ace-github .ace_keyword {\ 45 | font-weight: bold;\ 46 | }\ 47 | .ace-github .ace_string {\ 48 | color: #D14;\ 49 | }\ 50 | .ace-github .ace_variable.ace_class {\ 51 | color: teal;\ 52 | }\ 53 | .ace-github .ace_constant.ace_numeric {\ 54 | color: #099;\ 55 | }\ 56 | .ace-github .ace_constant.ace_buildin {\ 57 | color: #0086B3;\ 58 | }\ 59 | .ace-github .ace_support.ace_function {\ 60 | color: #0086B3;\ 61 | }\ 62 | .ace-github .ace_comment {\ 63 | color: #998;\ 64 | font-style: italic;\ 65 | }\ 66 | .ace-github .ace_variable.ace_language {\ 67 | color: #0086B3;\ 68 | }\ 69 | .ace-github .ace_paren {\ 70 | font-weight: bold;\ 71 | }\ 72 | .ace-github .ace_boolean {\ 73 | font-weight: bold;\ 74 | }\ 75 | .ace-github .ace_string.ace_regexp {\ 76 | color: #009926;\ 77 | font-weight: normal;\ 78 | }\ 79 | .ace-github .ace_variable.ace_instance {\ 80 | color: teal;\ 81 | }\ 82 | .ace-github .ace_constant.ace_language {\ 83 | font-weight: bold;\ 84 | }\ 85 | .ace-github .ace_text-layer {\ 86 | }\ 87 | .ace-github .ace_cursor {\ 88 | border-left: 2px solid black;\ 89 | }\ 90 | .ace-github .ace_overwrite-cursors .ace_cursor {\ 91 | border-left: 0px;\ 92 | border-bottom: 1px solid black;\ 93 | }\ 94 | .ace-github .ace_marker-layer .ace_active-line {\ 95 | background: rgb(255, 255, 204);\ 96 | }\ 97 | .ace-github .ace_marker-layer .ace_selection {\ 98 | background: rgb(181, 213, 255);\ 99 | }\ 100 | .ace-github.ace_multiselect .ace_selection.ace_start {\ 101 | box-shadow: 0 0 3px 0px white;\ 102 | border-radius: 2px;\ 103 | }\ 104 | /* bold keywords cause cursor issues for some fonts */\ 105 | /* this disables bold style for editor and keeps for static highlighter */\ 106 | .ace-github.ace_nobold .ace_line > span {\ 107 | font-weight: normal !important;\ 108 | }\ 109 | .ace-github .ace_marker-layer .ace_step {\ 110 | background: rgb(252, 255, 0);\ 111 | }\ 112 | .ace-github .ace_marker-layer .ace_stack {\ 113 | background: rgb(164, 229, 101);\ 114 | }\ 115 | .ace-github .ace_marker-layer .ace_bracket {\ 116 | margin: -1px 0 0 -1px;\ 117 | border: 1px solid rgb(192, 192, 192);\ 118 | }\ 119 | .ace-github .ace_gutter-active-line {\ 120 | background-color : rgba(0, 0, 0, 0.07);\ 121 | }\ 122 | .ace-github .ace_marker-layer .ace_selected-word {\ 123 | background: rgb(250, 250, 255);\ 124 | border: 1px solid rgb(200, 200, 250);\ 125 | }\ 126 | .ace-github .ace_print-margin {\ 127 | width: 1px;\ 128 | background: #e8e8e8;\ 129 | }\ 130 | .ace-github .ace_indent-guide {\ 131 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 132 | }"; 133 | 134 | var dom = require("../lib/dom"); 135 | dom.importCssString(exports.cssText, exports.cssClass); 136 | }); 137 | -------------------------------------------------------------------------------- /static/js/src/theme-idle_fingers.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/idle_fingers', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = true; 34 | exports.cssClass = "ace-idle-fingers"; 35 | exports.cssText = ".ace-idle-fingers .ace_gutter {\ 36 | background: #3b3b3b;\ 37 | color: #fff\ 38 | }\ 39 | .ace-idle-fingers .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #3b3b3b\ 42 | }\ 43 | .ace-idle-fingers .ace_scroller {\ 44 | background-color: #323232\ 45 | }\ 46 | .ace-idle-fingers .ace_text-layer {\ 47 | color: #FFFFFF\ 48 | }\ 49 | .ace-idle-fingers .ace_cursor {\ 50 | border-left: 2px solid #91FF00\ 51 | }\ 52 | .ace-idle-fingers .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #91FF00\ 55 | }\ 56 | .ace-idle-fingers .ace_marker-layer .ace_selection {\ 57 | background: rgba(90, 100, 126, 0.88)\ 58 | }\ 59 | .ace-idle-fingers.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #323232;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-idle-fingers .ace_marker-layer .ace_step {\ 64 | background: rgb(102, 82, 0)\ 65 | }\ 66 | .ace-idle-fingers .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid #404040\ 69 | }\ 70 | .ace-idle-fingers .ace_marker-layer .ace_active-line {\ 71 | background: #353637\ 72 | }\ 73 | .ace-idle-fingers .ace_gutter-active-line {\ 74 | background-color: #353637\ 75 | }\ 76 | .ace-idle-fingers .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid rgba(90, 100, 126, 0.88)\ 78 | }\ 79 | .ace-idle-fingers .ace_invisible {\ 80 | color: #404040\ 81 | }\ 82 | .ace-idle-fingers .ace_keyword,\ 83 | .ace-idle-fingers .ace_meta {\ 84 | color: #CC7833\ 85 | }\ 86 | .ace-idle-fingers .ace_constant,\ 87 | .ace-idle-fingers .ace_constant.ace_character,\ 88 | .ace-idle-fingers .ace_constant.ace_character.ace_escape,\ 89 | .ace-idle-fingers .ace_constant.ace_other,\ 90 | .ace-idle-fingers .ace_support.ace_constant {\ 91 | color: #6C99BB\ 92 | }\ 93 | .ace-idle-fingers .ace_invalid {\ 94 | color: #FFFFFF;\ 95 | background-color: #FF0000\ 96 | }\ 97 | .ace-idle-fingers .ace_fold {\ 98 | background-color: #CC7833;\ 99 | border-color: #FFFFFF\ 100 | }\ 101 | .ace-idle-fingers .ace_support.ace_function {\ 102 | color: #B83426\ 103 | }\ 104 | .ace-idle-fingers .ace_variable.ace_parameter {\ 105 | font-style: italic\ 106 | }\ 107 | .ace-idle-fingers .ace_string {\ 108 | color: #A5C261\ 109 | }\ 110 | .ace-idle-fingers .ace_string.ace_regexp {\ 111 | color: #CCCC33\ 112 | }\ 113 | .ace-idle-fingers .ace_comment {\ 114 | font-style: italic;\ 115 | color: #BC9458\ 116 | }\ 117 | .ace-idle-fingers .ace_meta.ace_tag {\ 118 | color: #FFE5BB\ 119 | }\ 120 | .ace-idle-fingers .ace_entity.ace_name {\ 121 | color: #FFC66D\ 122 | }\ 123 | .ace-idle-fingers .ace_markup.ace_underline {\ 124 | text-decoration: underline\ 125 | }\ 126 | .ace-idle-fingers .ace_collab.ace_user1 {\ 127 | color: #323232;\ 128 | background-color: #FFF980\ 129 | }\ 130 | .ace-idle-fingers .ace_indent-guide {\ 131 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjL6zzBz5sz/ABEUBGCqhK6UAAAAAElFTkSuQmCC) right repeat-y\ 132 | }"; 133 | 134 | var dom = require("../lib/dom"); 135 | dom.importCssString(exports.cssText, exports.cssClass); 136 | }); 137 | -------------------------------------------------------------------------------- /static/js/src/theme-kr.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/kr_theme', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = true; 34 | exports.cssClass = "ace-kr-theme"; 35 | exports.cssText = ".ace-kr-theme .ace_gutter {\ 36 | background: #1c1917;\ 37 | color: #FCFFE0\ 38 | }\ 39 | .ace-kr-theme .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #1c1917\ 42 | }\ 43 | .ace-kr-theme .ace_scroller {\ 44 | background-color: #0B0A09\ 45 | }\ 46 | .ace-kr-theme .ace_text-layer {\ 47 | color: #FCFFE0\ 48 | }\ 49 | .ace-kr-theme .ace_cursor {\ 50 | border-left: 2px solid #FF9900\ 51 | }\ 52 | .ace-kr-theme .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #FF9900\ 55 | }\ 56 | .ace-kr-theme .ace_marker-layer .ace_selection {\ 57 | background: rgba(170, 0, 255, 0.45)\ 58 | }\ 59 | .ace-kr-theme.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #0B0A09;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-kr-theme .ace_marker-layer .ace_step {\ 64 | background: rgb(102, 82, 0)\ 65 | }\ 66 | .ace-kr-theme .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid rgba(255, 177, 111, 0.32)\ 69 | }\ 70 | .ace-kr-theme .ace_marker-layer .ace_active-line {\ 71 | background: #38403D\ 72 | }\ 73 | .ace-kr-theme .ace_gutter-active-line {\ 74 | background-color : #38403D\ 75 | }\ 76 | .ace-kr-theme .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid rgba(170, 0, 255, 0.45)\ 78 | }\ 79 | .ace-kr-theme .ace_invisible {\ 80 | color: rgba(255, 177, 111, 0.32)\ 81 | }\ 82 | .ace-kr-theme .ace_keyword,\ 83 | .ace-kr-theme .ace_meta {\ 84 | color: #949C8B\ 85 | }\ 86 | .ace-kr-theme .ace_constant,\ 87 | .ace-kr-theme .ace_constant.ace_character,\ 88 | .ace-kr-theme .ace_constant.ace_character.ace_escape,\ 89 | .ace-kr-theme .ace_constant.ace_other {\ 90 | color: rgba(210, 117, 24, 0.76)\ 91 | }\ 92 | .ace-kr-theme .ace_invalid {\ 93 | color: #F8F8F8;\ 94 | background-color: #A41300\ 95 | }\ 96 | .ace-kr-theme .ace_support {\ 97 | color: #9FC28A\ 98 | }\ 99 | .ace-kr-theme .ace_support.ace_constant {\ 100 | color: #C27E66\ 101 | }\ 102 | .ace-kr-theme .ace_fold {\ 103 | background-color: #949C8B;\ 104 | border-color: #FCFFE0\ 105 | }\ 106 | .ace-kr-theme .ace_support.ace_function {\ 107 | color: #85873A\ 108 | }\ 109 | .ace-kr-theme .ace_storage {\ 110 | color: #FFEE80\ 111 | }\ 112 | .ace-kr-theme .ace_string {\ 113 | color: rgba(164, 161, 181, 0.8)\ 114 | }\ 115 | .ace-kr-theme .ace_string.ace_regexp {\ 116 | color: rgba(125, 255, 192, 0.65)\ 117 | }\ 118 | .ace-kr-theme .ace_comment {\ 119 | font-style: italic;\ 120 | color: #706D5B\ 121 | }\ 122 | .ace-kr-theme .ace_variable {\ 123 | color: #D1A796\ 124 | }\ 125 | .ace-kr-theme .ace_variable.ace_language {\ 126 | color: #FF80E1\ 127 | }\ 128 | .ace-kr-theme .ace_meta.ace_tag {\ 129 | color: #BABD9C\ 130 | }\ 131 | .ace-kr-theme .ace_markup.ace_underline {\ 132 | text-decoration: underline\ 133 | }\ 134 | .ace-kr-theme .ace_markup.ace_list {\ 135 | background-color: #0F0040\ 136 | }\ 137 | .ace-kr-theme .ace_indent-guide {\ 138 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPg5uL8zzBz5sz/AA1WA+hUYIqjAAAAAElFTkSuQmCC) right repeat-y\ 139 | }"; 140 | 141 | var dom = require("../lib/dom"); 142 | dom.importCssString(exports.cssText, exports.cssClass); 143 | }); 144 | -------------------------------------------------------------------------------- /static/js/src/theme-merbivore.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/merbivore', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = true; 34 | exports.cssClass = "ace-merbivore"; 35 | exports.cssText = ".ace-merbivore .ace_gutter {\ 36 | background: #202020;\ 37 | color: #E6E1DC\ 38 | }\ 39 | .ace-merbivore .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #555651\ 42 | }\ 43 | .ace-merbivore .ace_scroller {\ 44 | background-color: #161616\ 45 | }\ 46 | .ace-merbivore .ace_text-layer {\ 47 | color: #E6E1DC\ 48 | }\ 49 | .ace-merbivore .ace_cursor {\ 50 | border-left: 2px solid #FFFFFF\ 51 | }\ 52 | .ace-merbivore .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #FFFFFF\ 55 | }\ 56 | .ace-merbivore .ace_marker-layer .ace_selection {\ 57 | background: #454545\ 58 | }\ 59 | .ace-merbivore.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #161616;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-merbivore .ace_marker-layer .ace_step {\ 64 | background: rgb(102, 82, 0)\ 65 | }\ 66 | .ace-merbivore .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid #404040\ 69 | }\ 70 | .ace-merbivore .ace_marker-layer .ace_active-line {\ 71 | background: #333435\ 72 | }\ 73 | .ace-merbivore .ace_gutter-active-line {\ 74 | background-color: #333435\ 75 | }\ 76 | .ace-merbivore .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid #454545\ 78 | }\ 79 | .ace-merbivore .ace_invisible {\ 80 | color: #404040\ 81 | }\ 82 | .ace-merbivore .ace_entity.ace_name.ace_tag,\ 83 | .ace-merbivore .ace_keyword,\ 84 | .ace-merbivore .ace_meta,\ 85 | .ace-merbivore .ace_meta.ace_tag,\ 86 | .ace-merbivore .ace_storage,\ 87 | .ace-merbivore .ace_support.ace_function {\ 88 | color: #FC6F09\ 89 | }\ 90 | .ace-merbivore .ace_constant,\ 91 | .ace-merbivore .ace_constant.ace_character,\ 92 | .ace-merbivore .ace_constant.ace_character.ace_escape,\ 93 | .ace-merbivore .ace_constant.ace_other,\ 94 | .ace-merbivore .ace_support.ace_type {\ 95 | color: #1EDAFB\ 96 | }\ 97 | .ace-merbivore .ace_constant.ace_character.ace_escape {\ 98 | color: #519F50\ 99 | }\ 100 | .ace-merbivore .ace_constant.ace_language {\ 101 | color: #FDC251\ 102 | }\ 103 | .ace-merbivore .ace_constant.ace_library,\ 104 | .ace-merbivore .ace_string,\ 105 | .ace-merbivore .ace_support.ace_constant {\ 106 | color: #8DFF0A\ 107 | }\ 108 | .ace-merbivore .ace_constant.ace_numeric {\ 109 | color: #58C554\ 110 | }\ 111 | .ace-merbivore .ace_invalid {\ 112 | color: #FFFFFF;\ 113 | background-color: #990000\ 114 | }\ 115 | .ace-merbivore .ace_fold {\ 116 | background-color: #FC6F09;\ 117 | border-color: #E6E1DC\ 118 | }\ 119 | .ace-merbivore .ace_comment {\ 120 | font-style: italic;\ 121 | color: #AD2EA4\ 122 | }\ 123 | .ace-merbivore .ace_entity.ace_other.ace_attribute-name {\ 124 | color: #FFFF89\ 125 | }\ 126 | .ace-merbivore .ace_markup.ace_underline {\ 127 | text-decoration: underline\ 128 | }\ 129 | .ace-merbivore .ace_indent-guide {\ 130 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQExP7zzBz5sz/AA50BAyDznYhAAAAAElFTkSuQmCC) right repeat-y\ 131 | }"; 132 | 133 | var dom = require("../lib/dom"); 134 | dom.importCssString(exports.cssText, exports.cssClass); 135 | }); 136 | -------------------------------------------------------------------------------- /static/js/src/theme-merbivore_soft.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/merbivore_soft', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = true; 34 | exports.cssClass = "ace-merbivore-soft"; 35 | exports.cssText = ".ace-merbivore-soft .ace_gutter {\ 36 | background: #262424;\ 37 | color: #E6E1DC\ 38 | }\ 39 | .ace-merbivore-soft .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #262424\ 42 | }\ 43 | .ace-merbivore-soft .ace_scroller {\ 44 | background-color: #1C1C1C\ 45 | }\ 46 | .ace-merbivore-soft .ace_text-layer {\ 47 | color: #E6E1DC\ 48 | }\ 49 | .ace-merbivore-soft .ace_cursor {\ 50 | border-left: 2px solid #FFFFFF\ 51 | }\ 52 | .ace-merbivore-soft .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #FFFFFF\ 55 | }\ 56 | .ace-merbivore-soft .ace_marker-layer .ace_selection {\ 57 | background: #494949\ 58 | }\ 59 | .ace-merbivore-soft.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #1C1C1C;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-merbivore-soft .ace_marker-layer .ace_step {\ 64 | background: rgb(102, 82, 0)\ 65 | }\ 66 | .ace-merbivore-soft .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid #404040\ 69 | }\ 70 | .ace-merbivore-soft .ace_marker-layer .ace_active-line {\ 71 | background: #333435\ 72 | }\ 73 | .ace-merbivore-soft .ace_gutter-active-line {\ 74 | background-color: #333435\ 75 | }\ 76 | .ace-merbivore-soft .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid #494949\ 78 | }\ 79 | .ace-merbivore-soft .ace_invisible {\ 80 | color: #404040\ 81 | }\ 82 | .ace-merbivore-soft .ace_entity.ace_name.ace_tag,\ 83 | .ace-merbivore-soft .ace_keyword,\ 84 | .ace-merbivore-soft .ace_meta,\ 85 | .ace-merbivore-soft .ace_meta.ace_tag,\ 86 | .ace-merbivore-soft .ace_storage {\ 87 | color: #FC803A\ 88 | }\ 89 | .ace-merbivore-soft .ace_constant,\ 90 | .ace-merbivore-soft .ace_constant.ace_character,\ 91 | .ace-merbivore-soft .ace_constant.ace_character.ace_escape,\ 92 | .ace-merbivore-soft .ace_constant.ace_other,\ 93 | .ace-merbivore-soft .ace_support.ace_type {\ 94 | color: #68C1D8\ 95 | }\ 96 | .ace-merbivore-soft .ace_constant.ace_character.ace_escape {\ 97 | color: #B3E5B4\ 98 | }\ 99 | .ace-merbivore-soft .ace_constant.ace_language {\ 100 | color: #E1C582\ 101 | }\ 102 | .ace-merbivore-soft .ace_constant.ace_library,\ 103 | .ace-merbivore-soft .ace_string,\ 104 | .ace-merbivore-soft .ace_support.ace_constant {\ 105 | color: #8EC65F\ 106 | }\ 107 | .ace-merbivore-soft .ace_constant.ace_numeric {\ 108 | color: #7FC578\ 109 | }\ 110 | .ace-merbivore-soft .ace_invalid,\ 111 | .ace-merbivore-soft .ace_invalid.ace_deprecated {\ 112 | color: #FFFFFF;\ 113 | background-color: #FE3838\ 114 | }\ 115 | .ace-merbivore-soft .ace_fold {\ 116 | background-color: #FC803A;\ 117 | border-color: #E6E1DC\ 118 | }\ 119 | .ace-merbivore-soft .ace_comment,\ 120 | .ace-merbivore-soft .ace_meta {\ 121 | font-style: italic;\ 122 | color: #AC4BB8\ 123 | }\ 124 | .ace-merbivore-soft .ace_entity.ace_other.ace_attribute-name {\ 125 | color: #EAF1A3\ 126 | }\ 127 | .ace-merbivore-soft .ace_markup.ace_underline {\ 128 | text-decoration: underline\ 129 | }\ 130 | .ace-merbivore-soft .ace_indent-guide {\ 131 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQkZH5zzBz5sz/AA8EBB6crd1rAAAAAElFTkSuQmCC) right repeat-y\ 132 | }"; 133 | 134 | var dom = require("../lib/dom"); 135 | dom.importCssString(exports.cssText, exports.cssClass); 136 | }); 137 | -------------------------------------------------------------------------------- /static/js/src/theme-mono_industrial.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/mono_industrial', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = true; 34 | exports.cssClass = "ace-mono-industrial"; 35 | exports.cssText = ".ace-mono-industrial .ace_gutter {\ 36 | background: #1d2521;\ 37 | color: #C5C9C9\ 38 | }\ 39 | .ace-mono-industrial .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #555651\ 42 | }\ 43 | .ace-mono-industrial .ace_scroller {\ 44 | background-color: #222C28\ 45 | }\ 46 | .ace-mono-industrial .ace_text-layer {\ 47 | color: #FFFFFF\ 48 | }\ 49 | .ace-mono-industrial .ace_cursor {\ 50 | border-left: 2px solid #FFFFFF\ 51 | }\ 52 | .ace-mono-industrial .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #FFFFFF\ 55 | }\ 56 | .ace-mono-industrial .ace_marker-layer .ace_selection {\ 57 | background: rgba(145, 153, 148, 0.40)\ 58 | }\ 59 | .ace-mono-industrial.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #222C28;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-mono-industrial .ace_marker-layer .ace_step {\ 64 | background: rgb(102, 82, 0)\ 65 | }\ 66 | .ace-mono-industrial .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid rgba(102, 108, 104, 0.50)\ 69 | }\ 70 | .ace-mono-industrial .ace_marker-layer .ace_active-line {\ 71 | background: rgba(12, 13, 12, 0.25)\ 72 | }\ 73 | .ace-mono-industrial .ace_gutter-active-line {\ 74 | background-color: rgba(12, 13, 12, 0.25)\ 75 | }\ 76 | .ace-mono-industrial .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid rgba(145, 153, 148, 0.40)\ 78 | }\ 79 | .ace-mono-industrial .ace_invisible {\ 80 | color: rgba(102, 108, 104, 0.50)\ 81 | }\ 82 | .ace-mono-industrial .ace_string {\ 83 | background-color: #151C19;\ 84 | color: #FFFFFF\ 85 | }\ 86 | .ace-mono-industrial .ace_keyword,\ 87 | .ace-mono-industrial .ace_meta {\ 88 | color: #A39E64\ 89 | }\ 90 | .ace-mono-industrial .ace_constant,\ 91 | .ace-mono-industrial .ace_constant.ace_character,\ 92 | .ace-mono-industrial .ace_constant.ace_character.ace_escape,\ 93 | .ace-mono-industrial .ace_constant.ace_numeric,\ 94 | .ace-mono-industrial .ace_constant.ace_other {\ 95 | color: #E98800\ 96 | }\ 97 | .ace-mono-industrial .ace_entity.ace_name.ace_function,\ 98 | .ace-mono-industrial .ace_keyword.ace_operator,\ 99 | .ace-mono-industrial .ace_variable {\ 100 | color: #A8B3AB\ 101 | }\ 102 | .ace-mono-industrial .ace_invalid {\ 103 | color: #FFFFFF;\ 104 | background-color: rgba(153, 0, 0, 0.68)\ 105 | }\ 106 | .ace-mono-industrial .ace_support.ace_constant {\ 107 | color: #C87500\ 108 | }\ 109 | .ace-mono-industrial .ace_fold {\ 110 | background-color: #A8B3AB;\ 111 | border-color: #FFFFFF\ 112 | }\ 113 | .ace-mono-industrial .ace_support.ace_function {\ 114 | color: #588E60\ 115 | }\ 116 | .ace-mono-industrial .ace_entity.ace_name,\ 117 | .ace-mono-industrial .ace_support.ace_class,\ 118 | .ace-mono-industrial .ace_support.ace_type {\ 119 | color: #5778B6\ 120 | }\ 121 | .ace-mono-industrial .ace_storage {\ 122 | color: #C23B00\ 123 | }\ 124 | .ace-mono-industrial .ace_variable.ace_language,\ 125 | .ace-mono-industrial .ace_variable.ace_parameter {\ 126 | color: #648BD2\ 127 | }\ 128 | .ace-mono-industrial .ace_comment {\ 129 | color: #666C68;\ 130 | background-color: #151C19\ 131 | }\ 132 | .ace-mono-industrial .ace_entity.ace_other.ace_attribute-name {\ 133 | color: #909993\ 134 | }\ 135 | .ace-mono-industrial .ace_markup.ace_underline {\ 136 | text-decoration: underline\ 137 | }\ 138 | .ace-mono-industrial .ace_entity.ace_name.ace_tag {\ 139 | color: #A65EFF\ 140 | }\ 141 | .ace-mono-industrial .ace_indent-guide {\ 142 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQ0tH4zzBz5sz/ABAOBECKH+evAAAAAElFTkSuQmCC) right repeat-y\ 143 | }\ 144 | "; 145 | 146 | var dom = require("../lib/dom"); 147 | dom.importCssString(exports.cssText, exports.cssClass); 148 | }); 149 | -------------------------------------------------------------------------------- /static/js/src/theme-monokai.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/monokai', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = true; 34 | exports.cssClass = "ace-monokai"; 35 | exports.cssText = ".ace-monokai .ace_gutter {\ 36 | background: #2F3129;\ 37 | color: #8F908A\ 38 | }\ 39 | .ace-monokai .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #555651\ 42 | }\ 43 | .ace-monokai .ace_scroller {\ 44 | background-color: #272822\ 45 | }\ 46 | .ace-monokai .ace_text-layer {\ 47 | color: #F8F8F2\ 48 | }\ 49 | .ace-monokai .ace_cursor {\ 50 | border-left: 2px solid #F8F8F0\ 51 | }\ 52 | .ace-monokai .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #F8F8F0\ 55 | }\ 56 | .ace-monokai .ace_marker-layer .ace_selection {\ 57 | background: #49483E\ 58 | }\ 59 | .ace-monokai.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #272822;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-monokai .ace_marker-layer .ace_step {\ 64 | background: rgb(102, 82, 0)\ 65 | }\ 66 | .ace-monokai .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid #49483E\ 69 | }\ 70 | .ace-monokai .ace_marker-layer .ace_active-line {\ 71 | background: #202020\ 72 | }\ 73 | .ace-monokai .ace_gutter-active-line {\ 74 | background-color: #272727\ 75 | }\ 76 | .ace-monokai .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid #49483E\ 78 | }\ 79 | .ace-monokai .ace_invisible {\ 80 | color: #52524d\ 81 | }\ 82 | .ace-monokai .ace_entity.ace_name.ace_tag,\ 83 | .ace-monokai .ace_keyword,\ 84 | .ace-monokai .ace_meta,\ 85 | .ace-monokai .ace_storage {\ 86 | color: #F92672\ 87 | }\ 88 | .ace-monokai .ace_constant.ace_character,\ 89 | .ace-monokai .ace_constant.ace_language,\ 90 | .ace-monokai .ace_constant.ace_numeric,\ 91 | .ace-monokai .ace_constant.ace_other {\ 92 | color: #AE81FF\ 93 | }\ 94 | .ace-monokai .ace_invalid {\ 95 | color: #F8F8F0;\ 96 | background-color: #F92672\ 97 | }\ 98 | .ace-monokai .ace_invalid.ace_deprecated {\ 99 | color: #F8F8F0;\ 100 | background-color: #AE81FF\ 101 | }\ 102 | .ace-monokai .ace_support.ace_constant,\ 103 | .ace-monokai .ace_support.ace_function {\ 104 | color: #66D9EF\ 105 | }\ 106 | .ace-monokai .ace_fold {\ 107 | background-color: #A6E22E;\ 108 | border-color: #F8F8F2\ 109 | }\ 110 | .ace-monokai .ace_storage.ace_type,\ 111 | .ace-monokai .ace_support.ace_class,\ 112 | .ace-monokai .ace_support.ace_type {\ 113 | font-style: italic;\ 114 | color: #66D9EF\ 115 | }\ 116 | .ace-monokai .ace_entity.ace_name.ace_function,\ 117 | .ace-monokai .ace_entity.ace_other,\ 118 | .ace-monokai .ace_variable {\ 119 | color: #A6E22E\ 120 | }\ 121 | .ace-monokai .ace_variable.ace_parameter {\ 122 | font-style: italic;\ 123 | color: #FD971F\ 124 | }\ 125 | .ace-monokai .ace_string {\ 126 | color: #E6DB74\ 127 | }\ 128 | .ace-monokai .ace_comment {\ 129 | color: #75715E\ 130 | }\ 131 | .ace-monokai .ace_markup.ace_underline {\ 132 | text-decoration: underline\ 133 | }\ 134 | .ace-monokai .ace_indent-guide {\ 135 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQ11D6z7Bq1ar/ABCKBG6g04U2AAAAAElFTkSuQmCC) right repeat-y\ 136 | }"; 137 | 138 | var dom = require("../lib/dom"); 139 | dom.importCssString(exports.cssText, exports.cssClass); 140 | }); 141 | -------------------------------------------------------------------------------- /static/js/src/theme-pastel_on_dark.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/pastel_on_dark', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = true; 34 | exports.cssClass = "ace-pastel-on-dark"; 35 | exports.cssText = ".ace-pastel-on-dark .ace_gutter {\ 36 | background: #353030;\ 37 | color: #8F938F\ 38 | }\ 39 | .ace-pastel-on-dark .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #353030\ 42 | }\ 43 | .ace-pastel-on-dark .ace_scroller {\ 44 | background-color: #2C2828\ 45 | }\ 46 | .ace-pastel-on-dark .ace_text-layer {\ 47 | color: #8F938F\ 48 | }\ 49 | .ace-pastel-on-dark .ace_cursor {\ 50 | border-left: 2px solid #A7A7A7\ 51 | }\ 52 | .ace-pastel-on-dark .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #A7A7A7\ 55 | }\ 56 | .ace-pastel-on-dark .ace_marker-layer .ace_selection {\ 57 | background: rgba(221, 240, 255, 0.20)\ 58 | }\ 59 | .ace-pastel-on-dark.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #2C2828;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-pastel-on-dark .ace_marker-layer .ace_step {\ 64 | background: rgb(102, 82, 0)\ 65 | }\ 66 | .ace-pastel-on-dark .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid rgba(255, 255, 255, 0.25)\ 69 | }\ 70 | .ace-pastel-on-dark .ace_marker-layer .ace_active-line {\ 71 | background: rgba(255, 255, 255, 0.031)\ 72 | }\ 73 | .ace-pastel-on-dark .ace_gutter-active-line {\ 74 | background-color: rgba(255, 255, 255, 0.031)\ 75 | }\ 76 | .ace-pastel-on-dark .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid rgba(221, 240, 255, 0.20)\ 78 | }\ 79 | .ace-pastel-on-dark .ace_invisible {\ 80 | color: rgba(255, 255, 255, 0.25)\ 81 | }\ 82 | .ace-pastel-on-dark .ace_keyword,\ 83 | .ace-pastel-on-dark .ace_meta {\ 84 | color: #757aD8\ 85 | }\ 86 | .ace-pastel-on-dark .ace_constant,\ 87 | .ace-pastel-on-dark .ace_constant.ace_character,\ 88 | .ace-pastel-on-dark .ace_constant.ace_character.ace_escape,\ 89 | .ace-pastel-on-dark .ace_constant.ace_other {\ 90 | color: #4FB7C5\ 91 | }\ 92 | .ace-pastel-on-dark .ace_keyword.ace_operator {\ 93 | color: #797878\ 94 | }\ 95 | .ace-pastel-on-dark .ace_constant.ace_character {\ 96 | color: #AFA472\ 97 | }\ 98 | .ace-pastel-on-dark .ace_constant.ace_language {\ 99 | color: #DE8E30\ 100 | }\ 101 | .ace-pastel-on-dark .ace_constant.ace_numeric {\ 102 | color: #CCCCCC\ 103 | }\ 104 | .ace-pastel-on-dark .ace_invalid,\ 105 | .ace-pastel-on-dark .ace_invalid.ace_illegal {\ 106 | color: #F8F8F8;\ 107 | background-color: rgba(86, 45, 86, 0.75)\ 108 | }\ 109 | .ace-pastel-on-dark .ace_invalid.ace_deprecated {\ 110 | text-decoration: underline;\ 111 | font-style: italic;\ 112 | color: #D2A8A1\ 113 | }\ 114 | .ace-pastel-on-dark .ace_fold {\ 115 | background-color: #757aD8;\ 116 | border-color: #8F938F\ 117 | }\ 118 | .ace-pastel-on-dark .ace_support.ace_function {\ 119 | color: #AEB2F8\ 120 | }\ 121 | .ace-pastel-on-dark .ace_string {\ 122 | color: #66A968\ 123 | }\ 124 | .ace-pastel-on-dark .ace_string.ace_regexp {\ 125 | color: #E9C062\ 126 | }\ 127 | .ace-pastel-on-dark .ace_comment {\ 128 | color: #A6C6FF\ 129 | }\ 130 | .ace-pastel-on-dark .ace_variable {\ 131 | color: #BEBF55\ 132 | }\ 133 | .ace-pastel-on-dark .ace_variable.ace_language {\ 134 | color: #C1C144\ 135 | }\ 136 | .ace-pastel-on-dark .ace_xml-pe {\ 137 | color: #494949\ 138 | }\ 139 | .ace-pastel-on-dark .ace_markup.ace_underline {\ 140 | text-decoration: underline\ 141 | }\ 142 | .ace-pastel-on-dark .ace_indent-guide {\ 143 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0dD4z9DR0fEfAA+vBBPqhbn1AAAAAElFTkSuQmCC) right repeat-y\ 144 | }"; 145 | 146 | var dom = require("../lib/dom"); 147 | dom.importCssString(exports.cssText, exports.cssClass); 148 | }); 149 | -------------------------------------------------------------------------------- /static/js/src/theme-solarized_dark.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/solarized_dark', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = true; 34 | exports.cssClass = "ace-solarized-dark"; 35 | exports.cssText = ".ace-solarized-dark .ace_gutter {\ 36 | background: #01313f;\ 37 | color: #d0edf7\ 38 | }\ 39 | .ace-solarized-dark .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #33555E\ 42 | }\ 43 | .ace-solarized-dark .ace_scroller {\ 44 | background-color: #002B36\ 45 | }\ 46 | .ace-solarized-dark .ace_entity.ace_other.ace_attribute-name,\ 47 | .ace-solarized-dark .ace_storage,\ 48 | .ace-solarized-dark .ace_text-layer {\ 49 | color: #93A1A1\ 50 | }\ 51 | .ace-solarized-dark .ace_cursor {\ 52 | border-left: 2px solid #D30102\ 53 | }\ 54 | .ace-solarized-dark .ace_overwrite-cursors .ace_cursor {\ 55 | border-left: 0px;\ 56 | border-bottom: 1px solid #D30102\ 57 | }\ 58 | .ace-solarized-dark .ace_marker-layer .ace_active-line,\ 59 | .ace-solarized-dark .ace_marker-layer .ace_selection {\ 60 | background: rgba(255, 255, 255, 0.1)\ 61 | }\ 62 | .ace-solarized-dark.ace_multiselect .ace_selection.ace_start {\ 63 | box-shadow: 0 0 3px 0px #002B36;\ 64 | border-radius: 2px\ 65 | }\ 66 | .ace-solarized-dark .ace_marker-layer .ace_step {\ 67 | background: rgb(102, 82, 0)\ 68 | }\ 69 | .ace-solarized-dark .ace_marker-layer .ace_bracket {\ 70 | margin: -1px 0 0 -1px;\ 71 | border: 1px solid rgba(147, 161, 161, 0.50)\ 72 | }\ 73 | .ace-solarized-dark .ace_gutter-active-line {\ 74 | background-color: #0d3440\ 75 | }\ 76 | .ace-solarized-dark .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid #073642\ 78 | }\ 79 | .ace-solarized-dark .ace_invisible {\ 80 | color: rgba(147, 161, 161, 0.50)\ 81 | }\ 82 | .ace-solarized-dark .ace_keyword,\ 83 | .ace-solarized-dark .ace_meta,\ 84 | .ace-solarized-dark .ace_support.ace_class,\ 85 | .ace-solarized-dark .ace_support.ace_type {\ 86 | color: #859900\ 87 | }\ 88 | .ace-solarized-dark .ace_constant.ace_character,\ 89 | .ace-solarized-dark .ace_constant.ace_other {\ 90 | color: #CB4B16\ 91 | }\ 92 | .ace-solarized-dark .ace_constant.ace_language {\ 93 | color: #B58900\ 94 | }\ 95 | .ace-solarized-dark .ace_constant.ace_numeric {\ 96 | color: #D33682\ 97 | }\ 98 | .ace-solarized-dark .ace_fold {\ 99 | background-color: #268BD2;\ 100 | border-color: #93A1A1\ 101 | }\ 102 | .ace-solarized-dark .ace_entity.ace_name.ace_function,\ 103 | .ace-solarized-dark .ace_entity.ace_name.ace_tag,\ 104 | .ace-solarized-dark .ace_support.ace_function,\ 105 | .ace-solarized-dark .ace_variable,\ 106 | .ace-solarized-dark .ace_variable.ace_language {\ 107 | color: #268BD2\ 108 | }\ 109 | .ace-solarized-dark .ace_string {\ 110 | color: #2AA198\ 111 | }\ 112 | .ace-solarized-dark .ace_string.ace_regexp {\ 113 | color: #D30102\ 114 | }\ 115 | .ace-solarized-dark .ace_comment {\ 116 | font-style: italic;\ 117 | color: #657B83\ 118 | }\ 119 | .ace-solarized-dark .ace_markup.ace_underline {\ 120 | text-decoration: underline\ 121 | }\ 122 | .ace-solarized-dark .ace_indent-guide {\ 123 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNg0Db7zzBz5sz/AA82BCv7wOIDAAAAAElFTkSuQmCC) right repeat-y\ 124 | }"; 125 | 126 | var dom = require("../lib/dom"); 127 | dom.importCssString(exports.cssText, exports.cssClass); 128 | }); 129 | -------------------------------------------------------------------------------- /static/js/src/theme-solarized_light.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/solarized_light', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = false; 34 | exports.cssClass = "ace-solarized-light"; 35 | exports.cssText = ".ace-solarized-light .ace_gutter {\ 36 | background: #fbf1d3;\ 37 | color: #333\ 38 | }\ 39 | .ace-solarized-light .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #e8e8e8\ 42 | }\ 43 | .ace-solarized-light .ace_scroller {\ 44 | background-color: #FDF6E3\ 45 | }\ 46 | .ace-solarized-light .ace_text-layer {\ 47 | color: #586E75\ 48 | }\ 49 | .ace-solarized-light .ace_cursor {\ 50 | border-left: 2px solid #000000\ 51 | }\ 52 | .ace-solarized-light .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #000000\ 55 | }\ 56 | .ace-solarized-light .ace_marker-layer .ace_selection {\ 57 | background: #073642\ 58 | }\ 59 | .ace-solarized-light.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #FDF6E3;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-solarized-light .ace_marker-layer .ace_step {\ 64 | background: rgb(255, 255, 0)\ 65 | }\ 66 | .ace-solarized-light .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid rgba(147, 161, 161, 0.50)\ 69 | }\ 70 | .ace-solarized-light .ace_marker-layer .ace_active-line {\ 71 | background: #EEE8D5\ 72 | }\ 73 | .ace-solarized-light .ace_gutter-active-line {\ 74 | background-color : #dcdcdc\ 75 | }\ 76 | .ace-solarized-light .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid #073642\ 78 | }\ 79 | .ace-solarized-light .ace_invisible {\ 80 | color: rgba(147, 161, 161, 0.50)\ 81 | }\ 82 | .ace-solarized-light .ace_keyword,\ 83 | .ace-solarized-light .ace_meta,\ 84 | .ace-solarized-light .ace_support.ace_class,\ 85 | .ace-solarized-light .ace_support.ace_type {\ 86 | color: #859900\ 87 | }\ 88 | .ace-solarized-light .ace_constant.ace_character,\ 89 | .ace-solarized-light .ace_constant.ace_other {\ 90 | color: #CB4B16\ 91 | }\ 92 | .ace-solarized-light .ace_constant.ace_language {\ 93 | color: #B58900\ 94 | }\ 95 | .ace-solarized-light .ace_constant.ace_numeric {\ 96 | color: #D33682\ 97 | }\ 98 | .ace-solarized-light .ace_fold {\ 99 | background-color: #268BD2;\ 100 | border-color: #586E75\ 101 | }\ 102 | .ace-solarized-light .ace_entity.ace_name.ace_function,\ 103 | .ace-solarized-light .ace_entity.ace_name.ace_tag,\ 104 | .ace-solarized-light .ace_support.ace_function,\ 105 | .ace-solarized-light .ace_variable,\ 106 | .ace-solarized-light .ace_variable.ace_language {\ 107 | color: #268BD2\ 108 | }\ 109 | .ace-solarized-light .ace_storage {\ 110 | color: #073642\ 111 | }\ 112 | .ace-solarized-light .ace_string {\ 113 | color: #2AA198\ 114 | }\ 115 | .ace-solarized-light .ace_string.ace_regexp {\ 116 | color: #D30102\ 117 | }\ 118 | .ace-solarized-light .ace_comment,\ 119 | .ace-solarized-light .ace_entity.ace_other.ace_attribute-name {\ 120 | color: #93A1A1\ 121 | }\ 122 | .ace-solarized-light .ace_markup.ace_underline {\ 123 | text-decoration: underline\ 124 | }\ 125 | .ace-solarized-light .ace_indent-guide {\ 126 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4++3xf4ZVq1b9BwAjxwbT1g3hiwAAAABJRU5ErkJggg==) right repeat-y\ 127 | }"; 128 | 129 | var dom = require("../lib/dom"); 130 | dom.importCssString(exports.cssText, exports.cssClass); 131 | }); 132 | -------------------------------------------------------------------------------- /static/js/src/theme-textmate.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arihantsethia/ProjectBazinga/aa69f0ac7654c7f7b311d57d4b578fb92ceb6580/static/js/src/theme-textmate.js -------------------------------------------------------------------------------- /static/js/src/theme-tomorrow.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/tomorrow', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = false; 34 | exports.cssClass = "ace-tomorrow"; 35 | exports.cssText = ".ace-tomorrow .ace_gutter {\ 36 | background: #f6f6f6;\ 37 | color: #4D4D4C\ 38 | }\ 39 | .ace-tomorrow .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #f6f6f6\ 42 | }\ 43 | .ace-tomorrow .ace_scroller {\ 44 | background-color: #FFFFFF\ 45 | }\ 46 | .ace-tomorrow .ace_text-layer {\ 47 | color: #4D4D4C\ 48 | }\ 49 | .ace-tomorrow .ace_cursor {\ 50 | border-left: 2px solid #AEAFAD\ 51 | }\ 52 | .ace-tomorrow .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #AEAFAD\ 55 | }\ 56 | .ace-tomorrow .ace_marker-layer .ace_selection {\ 57 | background: #D6D6D6\ 58 | }\ 59 | .ace-tomorrow.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #FFFFFF;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-tomorrow .ace_marker-layer .ace_step {\ 64 | background: rgb(255, 255, 0)\ 65 | }\ 66 | .ace-tomorrow .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid #D1D1D1\ 69 | }\ 70 | .ace-tomorrow .ace_marker-layer .ace_active-line {\ 71 | background: #EFEFEF\ 72 | }\ 73 | .ace-tomorrow .ace_gutter-active-line {\ 74 | background-color : #dcdcdc\ 75 | }\ 76 | .ace-tomorrow .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid #D6D6D6\ 78 | }\ 79 | .ace-tomorrow .ace_invisible {\ 80 | color: #D1D1D1\ 81 | }\ 82 | .ace-tomorrow .ace_keyword,\ 83 | .ace-tomorrow .ace_meta,\ 84 | .ace-tomorrow .ace_storage,\ 85 | .ace-tomorrow .ace_storage.ace_type,\ 86 | .ace-tomorrow .ace_support.ace_type {\ 87 | color: #8959A8\ 88 | }\ 89 | .ace-tomorrow .ace_keyword.ace_operator {\ 90 | color: #3E999F\ 91 | }\ 92 | .ace-tomorrow .ace_constant.ace_character,\ 93 | .ace-tomorrow .ace_constant.ace_language,\ 94 | .ace-tomorrow .ace_constant.ace_numeric,\ 95 | .ace-tomorrow .ace_keyword.ace_other.ace_unit,\ 96 | .ace-tomorrow .ace_support.ace_constant,\ 97 | .ace-tomorrow .ace_variable.ace_parameter {\ 98 | color: #F5871F\ 99 | }\ 100 | .ace-tomorrow .ace_constant.ace_other {\ 101 | color: #666969\ 102 | }\ 103 | .ace-tomorrow .ace_invalid {\ 104 | color: #FFFFFF;\ 105 | background-color: #C82829\ 106 | }\ 107 | .ace-tomorrow .ace_invalid.ace_deprecated {\ 108 | color: #FFFFFF;\ 109 | background-color: #8959A8\ 110 | }\ 111 | .ace-tomorrow .ace_fold {\ 112 | background-color: #4271AE;\ 113 | border-color: #4D4D4C\ 114 | }\ 115 | .ace-tomorrow .ace_entity.ace_name.ace_function,\ 116 | .ace-tomorrow .ace_support.ace_function,\ 117 | .ace-tomorrow .ace_variable {\ 118 | color: #4271AE\ 119 | }\ 120 | .ace-tomorrow .ace_support.ace_class,\ 121 | .ace-tomorrow .ace_support.ace_type {\ 122 | color: #C99E00\ 123 | }\ 124 | .ace-tomorrow .ace_markup.ace_heading,\ 125 | .ace-tomorrow .ace_string {\ 126 | color: #718C00\ 127 | }\ 128 | .ace-tomorrow .ace_entity.ace_name.ace_tag,\ 129 | .ace-tomorrow .ace_entity.ace_other.ace_attribute-name,\ 130 | .ace-tomorrow .ace_meta.ace_tag,\ 131 | .ace-tomorrow .ace_string.ace_regexp,\ 132 | .ace-tomorrow .ace_variable {\ 133 | color: #C82829\ 134 | }\ 135 | .ace-tomorrow .ace_comment {\ 136 | color: #8E908C\ 137 | }\ 138 | .ace-tomorrow .ace_markup.ace_underline {\ 139 | text-decoration: underline\ 140 | }\ 141 | .ace-tomorrow .ace_indent-guide {\ 142 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bdu3f/BwAlfgctduB85QAAAABJRU5ErkJggg==) right repeat-y\ 143 | }"; 144 | 145 | var dom = require("../lib/dom"); 146 | dom.importCssString(exports.cssText, exports.cssClass); 147 | }); 148 | -------------------------------------------------------------------------------- /static/js/src/theme-tomorrow_night.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/tomorrow_night', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = true; 34 | exports.cssClass = "ace-tomorrow-night"; 35 | exports.cssText = ".ace-tomorrow-night .ace_gutter {\ 36 | background: #25282c;\ 37 | color: #C5C8C6\ 38 | }\ 39 | .ace-tomorrow-night .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #25282c\ 42 | }\ 43 | .ace-tomorrow-night .ace_scroller {\ 44 | background-color: #1D1F21\ 45 | }\ 46 | .ace-tomorrow-night .ace_text-layer {\ 47 | color: #C5C8C6\ 48 | }\ 49 | .ace-tomorrow-night .ace_cursor {\ 50 | border-left: 2px solid #AEAFAD\ 51 | }\ 52 | .ace-tomorrow-night .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #AEAFAD\ 55 | }\ 56 | .ace-tomorrow-night .ace_marker-layer .ace_selection {\ 57 | background: #373B41\ 58 | }\ 59 | .ace-tomorrow-night.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #1D1F21;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-tomorrow-night .ace_marker-layer .ace_step {\ 64 | background: rgb(102, 82, 0)\ 65 | }\ 66 | .ace-tomorrow-night .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid #4B4E55\ 69 | }\ 70 | .ace-tomorrow-night .ace_marker-layer .ace_active-line {\ 71 | background: #282A2E\ 72 | }\ 73 | .ace-tomorrow-night .ace_gutter-active-line {\ 74 | background-color: #282A2E\ 75 | }\ 76 | .ace-tomorrow-night .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid #373B41\ 78 | }\ 79 | .ace-tomorrow-night .ace_invisible {\ 80 | color: #4B4E55\ 81 | }\ 82 | .ace-tomorrow-night .ace_keyword,\ 83 | .ace-tomorrow-night .ace_meta,\ 84 | .ace-tomorrow-night .ace_storage,\ 85 | .ace-tomorrow-night .ace_storage.ace_type,\ 86 | .ace-tomorrow-night .ace_support.ace_type {\ 87 | color: #B294BB\ 88 | }\ 89 | .ace-tomorrow-night .ace_keyword.ace_operator {\ 90 | color: #8ABEB7\ 91 | }\ 92 | .ace-tomorrow-night .ace_constant.ace_character,\ 93 | .ace-tomorrow-night .ace_constant.ace_language,\ 94 | .ace-tomorrow-night .ace_constant.ace_numeric,\ 95 | .ace-tomorrow-night .ace_keyword.ace_other.ace_unit,\ 96 | .ace-tomorrow-night .ace_support.ace_constant,\ 97 | .ace-tomorrow-night .ace_variable.ace_parameter {\ 98 | color: #DE935F\ 99 | }\ 100 | .ace-tomorrow-night .ace_constant.ace_other {\ 101 | color: #CED1CF\ 102 | }\ 103 | .ace-tomorrow-night .ace_invalid {\ 104 | color: #CED2CF;\ 105 | background-color: #DF5F5F\ 106 | }\ 107 | .ace-tomorrow-night .ace_invalid.ace_deprecated {\ 108 | color: #CED2CF;\ 109 | background-color: #B798BF\ 110 | }\ 111 | .ace-tomorrow-night .ace_fold {\ 112 | background-color: #81A2BE;\ 113 | border-color: #C5C8C6\ 114 | }\ 115 | .ace-tomorrow-night .ace_entity.ace_name.ace_function,\ 116 | .ace-tomorrow-night .ace_support.ace_function,\ 117 | .ace-tomorrow-night .ace_variable {\ 118 | color: #81A2BE\ 119 | }\ 120 | .ace-tomorrow-night .ace_support.ace_class,\ 121 | .ace-tomorrow-night .ace_support.ace_type {\ 122 | color: #F0C674\ 123 | }\ 124 | .ace-tomorrow-night .ace_markup.ace_heading,\ 125 | .ace-tomorrow-night .ace_string {\ 126 | color: #B5BD68\ 127 | }\ 128 | .ace-tomorrow-night .ace_entity.ace_name.ace_tag,\ 129 | .ace-tomorrow-night .ace_entity.ace_other.ace_attribute-name,\ 130 | .ace-tomorrow-night .ace_meta.ace_tag,\ 131 | .ace-tomorrow-night .ace_string.ace_regexp,\ 132 | .ace-tomorrow-night .ace_variable {\ 133 | color: #CC6666\ 134 | }\ 135 | .ace-tomorrow-night .ace_comment {\ 136 | color: #969896\ 137 | }\ 138 | .ace-tomorrow-night .ace_markup.ace_underline {\ 139 | text-decoration: underline\ 140 | }\ 141 | .ace-tomorrow-night .ace_indent-guide {\ 142 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQlVf8z7Bq1ar/AA/hBFp7egmpAAAAAElFTkSuQmCC) right repeat-y\ 143 | }"; 144 | 145 | var dom = require("../lib/dom"); 146 | dom.importCssString(exports.cssText, exports.cssClass); 147 | }); 148 | -------------------------------------------------------------------------------- /static/js/src/theme-twilight.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/twilight', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = true; 34 | exports.cssClass = "ace-twilight"; 35 | exports.cssText = ".ace-twilight .ace_gutter {\ 36 | background: #232323;\ 37 | color: #E2E2E2\ 38 | }\ 39 | .ace-twilight .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #232323\ 42 | }\ 43 | .ace-twilight .ace_scroller {\ 44 | background-color: #141414\ 45 | }\ 46 | .ace-twilight .ace_text-layer {\ 47 | color: #F8F8F8\ 48 | }\ 49 | .ace-twilight .ace_cursor {\ 50 | border-left: 2px solid #A7A7A7\ 51 | }\ 52 | .ace-twilight .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #A7A7A7\ 55 | }\ 56 | .ace-twilight .ace_marker-layer .ace_selection {\ 57 | background: rgba(221, 240, 255, 0.20)\ 58 | }\ 59 | .ace-twilight.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #141414;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-twilight .ace_marker-layer .ace_step {\ 64 | background: rgb(102, 82, 0)\ 65 | }\ 66 | .ace-twilight .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid rgba(255, 255, 255, 0.25)\ 69 | }\ 70 | .ace-twilight .ace_marker-layer .ace_active-line {\ 71 | background: rgba(255, 255, 255, 0.031)\ 72 | }\ 73 | .ace-twilight .ace_gutter-active-line {\ 74 | background-color: rgba(255, 255, 255, 0.031)\ 75 | }\ 76 | .ace-twilight .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid rgba(221, 240, 255, 0.20)\ 78 | }\ 79 | .ace-twilight .ace_invisible {\ 80 | color: rgba(255, 255, 255, 0.25)\ 81 | }\ 82 | .ace-twilight .ace_keyword,\ 83 | .ace-twilight .ace_meta {\ 84 | color: #CDA869\ 85 | }\ 86 | .ace-twilight .ace_constant,\ 87 | .ace-twilight .ace_constant.ace_character,\ 88 | .ace-twilight .ace_constant.ace_character.ace_escape,\ 89 | .ace-twilight .ace_constant.ace_other,\ 90 | .ace-twilight .ace_markup.ace_heading,\ 91 | .ace-twilight .ace_support.ace_constant {\ 92 | color: #CF6A4C\ 93 | }\ 94 | .ace-twilight .ace_invalid.ace_illegal {\ 95 | color: #F8F8F8;\ 96 | background-color: rgba(86, 45, 86, 0.75)\ 97 | }\ 98 | .ace-twilight .ace_invalid.ace_deprecated {\ 99 | text-decoration: underline;\ 100 | font-style: italic;\ 101 | color: #D2A8A1\ 102 | }\ 103 | .ace-twilight .ace_support {\ 104 | color: #9B859D\ 105 | }\ 106 | .ace-twilight .ace_fold {\ 107 | background-color: #AC885B;\ 108 | border-color: #F8F8F8\ 109 | }\ 110 | .ace-twilight .ace_support.ace_function {\ 111 | color: #DAD085\ 112 | }\ 113 | .ace-twilight .ace_markup.ace_list,\ 114 | .ace-twilight .ace_storage {\ 115 | color: #F9EE98\ 116 | }\ 117 | .ace-twilight .ace_entity.ace_name.ace_function,\ 118 | .ace-twilight .ace_meta.ace_tag,\ 119 | .ace-twilight .ace_variable {\ 120 | color: #AC885B\ 121 | }\ 122 | .ace-twilight .ace_string {\ 123 | color: #8F9D6A\ 124 | }\ 125 | .ace-twilight .ace_string.ace_regexp {\ 126 | color: #E9C062\ 127 | }\ 128 | .ace-twilight .ace_comment {\ 129 | font-style: italic;\ 130 | color: #5F5A60\ 131 | }\ 132 | .ace-twilight .ace_variable {\ 133 | color: #7587A6\ 134 | }\ 135 | .ace-twilight .ace_xml-pe {\ 136 | color: #494949\ 137 | }\ 138 | .ace-twilight .ace_markup.ace_underline {\ 139 | text-decoration: underline\ 140 | }\ 141 | .ace-twilight .ace_indent-guide {\ 142 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERH5zzBz5sz/AA5EBAYqeZXWAAAAAElFTkSuQmCC) right repeat-y\ 143 | }"; 144 | 145 | var dom = require("../lib/dom"); 146 | dom.importCssString(exports.cssText, exports.cssClass); 147 | }); 148 | -------------------------------------------------------------------------------- /static/js/src/theme-vibrant_ink.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/vibrant_ink', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = true; 34 | exports.cssClass = "ace-vibrant-ink"; 35 | exports.cssText = ".ace-vibrant-ink .ace_gutter {\ 36 | background: #1a1a1a;\ 37 | color: #BEBEBE\ 38 | }\ 39 | .ace-vibrant-ink .ace_print-margin {\ 40 | width: 1px;\ 41 | background: #1a1a1a\ 42 | }\ 43 | .ace-vibrant-ink .ace_scroller {\ 44 | background-color: #0F0F0F\ 45 | }\ 46 | .ace-vibrant-ink .ace_text-layer {\ 47 | color: #FFFFFF\ 48 | }\ 49 | .ace-vibrant-ink .ace_cursor {\ 50 | border-left: 2px solid #FFFFFF\ 51 | }\ 52 | .ace-vibrant-ink .ace_overwrite-cursors .ace_cursor {\ 53 | border-left: 0px;\ 54 | border-bottom: 1px solid #FFFFFF\ 55 | }\ 56 | .ace-vibrant-ink .ace_marker-layer .ace_selection {\ 57 | background: #6699CC\ 58 | }\ 59 | .ace-vibrant-ink.ace_multiselect .ace_selection.ace_start {\ 60 | box-shadow: 0 0 3px 0px #0F0F0F;\ 61 | border-radius: 2px\ 62 | }\ 63 | .ace-vibrant-ink .ace_marker-layer .ace_step {\ 64 | background: rgb(102, 82, 0)\ 65 | }\ 66 | .ace-vibrant-ink .ace_marker-layer .ace_bracket {\ 67 | margin: -1px 0 0 -1px;\ 68 | border: 1px solid #404040\ 69 | }\ 70 | .ace-vibrant-ink .ace_marker-layer .ace_active-line {\ 71 | background: #333333\ 72 | }\ 73 | .ace-vibrant-ink .ace_gutter-active-line {\ 74 | background-color: #333333\ 75 | }\ 76 | .ace-vibrant-ink .ace_marker-layer .ace_selected-word {\ 77 | border: 1px solid #6699CC\ 78 | }\ 79 | .ace-vibrant-ink .ace_invisible {\ 80 | color: #404040\ 81 | }\ 82 | .ace-vibrant-ink .ace_keyword,\ 83 | .ace-vibrant-ink .ace_meta {\ 84 | color: #FF6600\ 85 | }\ 86 | .ace-vibrant-ink .ace_constant,\ 87 | .ace-vibrant-ink .ace_constant.ace_character,\ 88 | .ace-vibrant-ink .ace_constant.ace_character.ace_escape,\ 89 | .ace-vibrant-ink .ace_constant.ace_other {\ 90 | color: #339999\ 91 | }\ 92 | .ace-vibrant-ink .ace_constant.ace_numeric {\ 93 | color: #99CC99\ 94 | }\ 95 | .ace-vibrant-ink .ace_invalid,\ 96 | .ace-vibrant-ink .ace_invalid.ace_deprecated {\ 97 | color: #CCFF33;\ 98 | background-color: #000000\ 99 | }\ 100 | .ace-vibrant-ink .ace_fold {\ 101 | background-color: #FFCC00;\ 102 | border-color: #FFFFFF\ 103 | }\ 104 | .ace-vibrant-ink .ace_entity.ace_name.ace_function,\ 105 | .ace-vibrant-ink .ace_support.ace_function,\ 106 | .ace-vibrant-ink .ace_variable {\ 107 | color: #FFCC00\ 108 | }\ 109 | .ace-vibrant-ink .ace_variable.ace_parameter {\ 110 | font-style: italic\ 111 | }\ 112 | .ace-vibrant-ink .ace_string {\ 113 | color: #66FF00\ 114 | }\ 115 | .ace-vibrant-ink .ace_string.ace_regexp {\ 116 | color: #44B4CC\ 117 | }\ 118 | .ace-vibrant-ink .ace_comment {\ 119 | color: #9933CC\ 120 | }\ 121 | .ace-vibrant-ink .ace_entity.ace_other.ace_attribute-name {\ 122 | font-style: italic;\ 123 | color: #99CC99\ 124 | }\ 125 | .ace-vibrant-ink .ace_indent-guide {\ 126 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPg5+f/z7Bq1ar/AA5lBCqoLxsgAAAAAElFTkSuQmCC) right repeat-y\ 127 | }"; 128 | 129 | var dom = require("../lib/dom"); 130 | dom.importCssString(exports.cssText, exports.cssClass); 131 | }); 132 | -------------------------------------------------------------------------------- /static/js/src/theme-xcode.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Distributed under the BSD license: 3 | * 4 | * Copyright (c) 2010, Ajax.org B.V. 5 | * All rights reserved. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * * Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * * Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * * Neither the name of Ajax.org B.V. nor the 15 | * names of its contributors may be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | * ***** END LICENSE BLOCK ***** */ 30 | 31 | define('ace/theme/xcode', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) { 32 | 33 | exports.isDark = false; 34 | exports.cssClass = "ace-xcode"; 35 | exports.cssText = "/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css (UUID: EE3AD170-2B7F-4DE1-B724-C75F13FE0085) */\ 36 | .ace-xcode .ace_gutter {\ 37 | background: #e8e8e8;\ 38 | color: #333\ 39 | }\ 40 | .ace-xcode .ace_print-margin {\ 41 | width: 1px;\ 42 | background: #e8e8e8\ 43 | }\ 44 | .ace-xcode .ace_scroller {\ 45 | background-color: #FFFFFF\ 46 | }\ 47 | .ace-xcode .ace_text-layer {\ 48 | color: #000000\ 49 | }\ 50 | .ace-xcode .ace_cursor {\ 51 | border-left: 2px solid #000000\ 52 | }\ 53 | .ace-xcode .ace_overwrite-cursors .ace_cursor {\ 54 | border-left: 0px;\ 55 | border-bottom: 1px solid #000000\ 56 | }\ 57 | .ace-xcode .ace_marker-layer .ace_selection {\ 58 | background: #B5D5FF\ 59 | }\ 60 | .ace-xcode.ace_multiselect .ace_selection.ace_start {\ 61 | box-shadow: 0 0 3px 0px #FFFFFF;\ 62 | border-radius: 2px\ 63 | }\ 64 | .ace-xcode .ace_marker-layer .ace_step {\ 65 | background: rgb(198, 219, 174)\ 66 | }\ 67 | .ace-xcode .ace_marker-layer .ace_bracket {\ 68 | margin: -1px 0 0 -1px;\ 69 | border: 1px solid #BFBFBF\ 70 | }\ 71 | .ace-xcode .ace_marker-layer .ace_active-line {\ 72 | background: rgba(0, 0, 0, 0.071)\ 73 | }\ 74 | .ace-xcode .ace_gutter-active-line {\ 75 | background-color: rgba(0, 0, 0, 0.071)\ 76 | }\ 77 | .ace-xcode .ace_marker-layer .ace_selected-word {\ 78 | border: 1px solid #B5D5FF\ 79 | }\ 80 | .ace-xcode .ace_constant.ace_language,\ 81 | .ace-xcode .ace_keyword,\ 82 | .ace-xcode .ace_meta,\ 83 | .ace-xcode .ace_variable.ace_language {\ 84 | color: #C800A4\ 85 | }\ 86 | .ace-xcode .ace_invisible {\ 87 | color: #BFBFBF\ 88 | }\ 89 | .ace-xcode .ace_constant.ace_character,\ 90 | .ace-xcode .ace_constant.ace_other {\ 91 | color: #275A5E\ 92 | }\ 93 | .ace-xcode .ace_constant.ace_numeric {\ 94 | color: #3A00DC\ 95 | }\ 96 | .ace-xcode .ace_entity.ace_other.ace_attribute-name,\ 97 | .ace-xcode .ace_support.ace_constant,\ 98 | .ace-xcode .ace_support.ace_function {\ 99 | color: #450084\ 100 | }\ 101 | .ace-xcode .ace_fold {\ 102 | background-color: #C800A4;\ 103 | border-color: #000000\ 104 | }\ 105 | .ace-xcode .ace_entity.ace_name.ace_tag,\ 106 | .ace-xcode .ace_support.ace_class,\ 107 | .ace-xcode .ace_support.ace_type {\ 108 | color: #790EAD\ 109 | }\ 110 | .ace-xcode .ace_storage {\ 111 | color: #C900A4\ 112 | }\ 113 | .ace-xcode .ace_string {\ 114 | color: #DF0002\ 115 | }\ 116 | .ace-xcode .ace_comment {\ 117 | color: #008E00\ 118 | }\ 119 | .ace-xcode .ace_indent-guide {\ 120 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==) right repeat-y;\ 121 | }"; 122 | 123 | var dom = require("../lib/dom"); 124 | dom.importCssString(exports.cssText, exports.cssClass); 125 | }); 126 | -------------------------------------------------------------------------------- /static/js/validate.js: -------------------------------------------------------------------------------- 1 | function validateform() 2 | { 3 | 4 | var username=document.forms["register"]["username"].value; 5 | var password=document.forms["register"]["password"].value; 6 | var cofpassword=document.forms["register"]["cofpassword"].value; 7 | var mail=document.forms["register"]["email"].value; 8 | var name=document.forms["register"]["name"].value; 9 | var atpos=mail.indexOf("@"); 10 | var dotpos=mail.lastIndexOf("."); 11 | var flag=0; 12 | if (username==null || username=="") 13 | { 14 | register.username.style.borderColor='red'; 15 | register.username.focus(); 16 | flag=1; 17 | } 18 | else 19 | { 20 | register.username.style.borderColor='green'; 21 | } 22 | 23 | if (password==null || password=="") 24 | { 25 | register.password.style.borderColor='red'; 26 | register.password.focus(); 27 | flag=1; 28 | } 29 | else 30 | { 31 | register.password.style.borderColor='green'; 32 | } 33 | 34 | if (cofpassword==null || cofpassword=="") 35 | { 36 | register.cofpassword.style.borderColor='red'; 37 | register.cofpassword.focus(); 38 | flag=1; 39 | } 40 | else 41 | { 42 | register.cofpassword.style.borderColor='green'; 43 | } 44 | 45 | if(cofpassword!="" && password!="") 46 | { 47 | if (password!=cofpassword) 48 | { 49 | register.password.style.borderColor='red'; 50 | register.cofpassword.style.borderColor='red'; 51 | flag=1; 52 | } 53 | else 54 | { 55 | register.cofpassword.style.borderColor='green'; 56 | } 57 | } 58 | 59 | 60 | if (mail==null || mail=="") 61 | { 62 | register.email.style.borderColor='red'; 63 | register.email.focus(); 64 | flag=1; 65 | } 66 | else 67 | { 68 | if (atpos<1 || dotpos=mail.length) 69 | { 70 | register.email.style.borderColor='red'; 71 | flag=1; 72 | } 73 | else 74 | { 75 | register.email.style.borderColor='green'; 76 | } 77 | } 78 | 79 | if (name==null || name=="") 80 | { 81 | register.name.style.borderColor='red'; 82 | register.name.focus(); 83 | flag=1; 84 | } 85 | else 86 | { 87 | register.name.style.borderColor='green'; 88 | } 89 | 90 | if (flag==1) 91 | { 92 | return false; 93 | } 94 | } 95 | 96 | -------------------------------------------------------------------------------- /templates/about.html: -------------------------------------------------------------------------------- 1 | {% extends "header.html" %} 2 | {% block body %} 3 |
4 |
5 |
6 |

About

7 |
8 |

Project Bazinga is a global programming community. We host contests, trainings and events for programmers around the world. Our goal is to provide a platform for programmers everywhere to meet, compete, and have fun. Project Bazinga is a noncommercial organization operated by a bunch of students studying in IIT Guwahati

9 |
10 |

The Community

11 |
12 |

Project Bazinga is not just a contest platform - it's a community for aspiring programmers.

13 |
    14 |
  • We post such questions on Project Bazinga which pull the user's interest in programming.
  • 15 |
  • We host events online and in person.
  • 16 |
  • "Following" feature makes the user get social with other programmers.
  • 17 |
  • Discussion modules for all questions makes the logic and doubts behind the questions clear.
  • 18 |
  • Our Facebook Group and page help everyone stay updated and connected.
  • 19 |
20 |

Many people worldwide have joined Project Bazinga so far, and we're always looking for more.

21 |
22 |

The IIT-Gians

23 |
24 |

Project Bazinga is a noncommercial Educational Initiative from students of department of CSE,IIT Guwahati, a very profound technical institute in India. With Project Bazinga, we aim to create a global community that fosters learning and friendly competition. As we are based in India, we take extra steps to encourage the programming community here. 25 |


The Contest Organizers


26 |

Project Bazinga relies on its dedicated community to help us run the site. If you are interested in holding a contest for your company or organization, feel free to contact us to become moderators.

27 |

Contact


28 |

If you have any suggestions on how we can make Project Bazinga better, or if you have any questions, please don't hesitate to get in touch. Just use feedback@bazinga.com.

29 | 30 | 31 | 32 | 33 | 34 | 35 | {% endblock %} 36 | -------------------------------------------------------------------------------- /templates/change.html: -------------------------------------------------------------------------------- 1 | {% extends "header.html" %} 2 | {% block body %} 3 |
4 |
5 | 7 | 8 |
9 |
10 |
11 |
12 |

Change your Password

13 |
14 |
15 | 16 | 17 |
18 | 19 |

Username can contain any letters or numbers, without spaces

20 |
21 |
22 |
23 | 24 | 25 |
26 | 27 |

Password should be at least 4 characters

28 |
29 |
30 |
31 | 32 | 33 |
34 | 35 |

Password should be at least 4 characters

36 |
37 |
38 |
39 | 40 | 41 |
42 | 43 |

Please confirm password

44 |
45 |
46 |
47 | 48 |
49 | 50 |
51 |
52 |
53 |
54 |
55 | {% endblock %} 56 | 57 | -------------------------------------------------------------------------------- /templates/code.html: -------------------------------------------------------------------------------- 1 | {% extends "header.html" %} 2 | {% block body %} 3 |
4 |
5 | 7 | 8 |
9 | 10 |
11 | {% for contest in contests %} 12 |
13 | 14 |

{{ contest.name }}

15 |

{{ contest.short_description }}

16 |

View details »

17 |
18 | {% endfor %} 19 |
20 |
21 | 22 | {% endblock %} 23 | 24 | -------------------------------------------------------------------------------- /templates/contact.html: -------------------------------------------------------------------------------- 1 | {% extends "header.html" %} 2 | {% block body %} 3 |
4 |
5 | {% if not message %} 6 |
7 | 10 |
11 |
12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 |
23 | 24 | 25 |
26 |
27 | 28 |
29 |
30 | {% endif %} 31 | {% endblock %} -------------------------------------------------------------------------------- /templates/contest_questions.html: -------------------------------------------------------------------------------- 1 | {% extends "header.html" %} 2 | {% block body %} 3 |
4 |
5 |
6 | 9 |
10 | 14 |
15 |
16 |

{{ contest.name }}

17 |
{{ contest.long_description|safe }}
18 |
19 |
20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | {% for question in questions %} 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | {% endfor %} 41 |

Questions

QuestionPointsDifficultySolved
{{ question.question_name }}{{ question.question_name }} {{ question.question_name }}{{ question.question_name }}
42 | 43 |
44 | 45 |
46 |
47 |
48 |
49 |
50 |
51 | 52 | 53 | 64 | {% endblock %} 65 | -------------------------------------------------------------------------------- /templates/edit_contest.html: -------------------------------------------------------------------------------- 1 | {% extends "admin_header.html" %} 2 | {% block body %} 3 | {% if not session.admin_logged_in %} 4 |
5 |

Login

6 | {% if error %}

Error: {{ error }}{% endif %} 7 |


8 |
9 |
10 |
11 | Please Sign In 12 |
13 | ×Incorrect Username or Password! 14 |
15 |
16 | 17 | 18 | 21 | 22 |
23 |
24 |
25 |
26 |
27 |
28 | {% else %} 29 |
30 |
31 |
32 | 35 |
36 | {% for contest in contests %} 37 |
38 | 39 |

{{ contest.name }}

40 |

{{ contest.short_description }}

41 |

View details »

42 |
43 | {% endfor %} 44 |
45 | {% endif %} 46 | {% endblock %} 47 | -------------------------------------------------------------------------------- /templates/follow.html: -------------------------------------------------------------------------------- 1 | {% extends "header.html" %} 2 | {% block body %} 3 |
4 |
5 |
6 | 9 | {% for i in following %} 10 |

{{i.username}} ({{i.name}})

11 | 12 | 13 | {% for j in info %} 14 | {% if j.user_id == i.following %} 15 | 16 | {% endif %} 17 | {% endfor %} 18 |
ProblemLanguagePointsSubmission Time
{{j.question_name}}{{j.lang}}{{j.points}}{{j.submission_time}}
19 |


20 | {% endfor %} 21 |
22 | {% endblock %} -------------------------------------------------------------------------------- /templates/forgot.html: -------------------------------------------------------------------------------- 1 | {% extends "header.html" %} 2 | {% block body %} 3 |
4 |
5 | 7 | 8 |
9 |
10 |
11 |
12 |

Reset your Password

13 |
14 |
15 | 16 | 17 |
18 | 19 |

Username can contain any letters or numbers, without spaces

20 |
21 |
22 | 23 |
24 | 25 | 26 |
27 | 28 |

Please provide your E-mail

29 |
30 |
31 |
32 | 33 |
34 | 35 |
36 |
37 |
38 |
39 |
40 | {% endblock %} 41 | 42 | -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- 1 | {% set page=0 %} 2 | {% extends "header.html" %} 3 | {% block body %} 4 | 6 | 39 | 40 | 41 |
42 | 43 | 44 | 45 | 47 | 48 | 49 |
50 | 51 |
52 |
53 | 54 |

Start To Code

55 |

Glance through the challanges, choose your question , and code.It's that simple.

56 |

Start Now »

57 |
58 |
59 | 60 |

Start A Discussion

61 |

Have a problem or doubt in mind, put it in our discussion module or take a glance through it to find some intersting problems of different people

62 |

View Discussions »

63 |
64 |
65 | 66 |

About Us

67 |

Project Bazinga is a open source project to help people improve their coding skills and help companies to hire better coders

68 |

Know more »

69 |
70 |
71 | 72 |
73 |
74 | 75 |

Why Project Bazinga ? It'll blow your mind.

76 |

Love to code, want your skills to be tested, Project Bazinga is the place for you. 77 | A fine set of problem to code and a sleek text editor, fast compilation and evaluation guaranted, 78 | and that's not all, you can also socialise with other coders, and most of all have lot of fun!!

79 |
80 | 81 |
82 | 83 |
84 | 85 |

Multiple submissions. Great set of problems

86 |

Project Bazinga supports Python, C and C++ programming languages for you. It's a coding portal for one and all. 87 | Multiple Submissions and no limit on test cases for the question setters, tricky problems with enjoyable solutions. 88 | Crack and code tough problems, participate in different competitions , get famous and make the hirers come running to you.

89 |
90 | 91 |
92 | 93 |
94 | 95 |

Follow other coders. Discuss your problems

96 |

Project Bazinga provides a platform for discussion were you get to ask questions about problems 97 | and clear your doubts, follow the top people and learn from them, get together with other coders 98 | find better solutions and make yourself one of the BEST.

99 |
100 | 101 |
102 | {% endblock %} 103 | -------------------------------------------------------------------------------- /templates/notifications.html: -------------------------------------------------------------------------------- 1 | ({{length}}) 2 | 8 | -------------------------------------------------------------------------------- /templates/profile.html: -------------------------------------------------------------------------------- 1 | {% extends "header.html" %} 2 | {% block body %} 3 |
4 |
5 |
6 | 26 | 39 |
40 |
41 | 42 | 43 |
44 | 45 |
46 |
47 | 48 |
49 | 50 | 51 |
52 | 53 |
54 |
55 | 56 |
57 | 58 | 59 |
60 | 61 |
62 |
63 | 64 | 65 |
66 | 67 | 68 |
69 | 70 |
71 |
72 | 73 |
74 | 75 | 76 |
77 | 78 |
79 |
80 | 81 |
82 | 83 | 84 |
85 | 86 |
87 |
88 | 89 |
90 | 91 | 92 |
93 | 94 |
95 |
96 | 97 |
98 | 99 | 100 |
101 | Resume 102 |
103 |
104 | 105 |
106 | 107 |
108 | 109 | 110 | {% endblock %} 111 | -------------------------------------------------------------------------------- /templates/profile_edit.html: -------------------------------------------------------------------------------- 1 | {% extends "header.html" %} 2 | {% block body %} 3 |
4 |
5 |
6 |
7 |
8 |
9 |

Edit Profile

10 |
11 |
12 | 13 | 14 |
15 | 16 |
17 |
18 | 19 |
20 | 21 | 22 |
23 | 24 |
25 |
26 | 27 |
28 | 29 | 30 |
31 | 32 |
33 |
34 | 35 | 36 |
37 | 38 | 39 |
40 | 41 |
42 |
43 | 44 |
45 | 46 | 47 |
48 | 49 |
50 |
51 | 52 |
53 | 54 | 55 |
56 | 57 |
58 |
59 | 60 |
61 | 62 | 63 |
64 | 65 |
66 |
67 | 68 |
69 | 70 | 71 |
72 | 73 |
74 |
75 | 76 |
77 | 78 | 79 |
80 | 81 |
82 |
83 | 84 |
85 | 86 |
87 | 88 |
89 |
90 |
91 |
92 |
93 | {% endblock %} 94 | -------------------------------------------------------------------------------- /templates/question_comments.html: -------------------------------------------------------------------------------- 1 | {% if session.logged_in %} 2 |
3 |
4 |
5 |

Comment on this Question

6 |

7 |
8 | 9 |
10 | 11 |
12 |
13 |
14 | {% endif %} 15 | {% set i =0%} 16 | {% for text in entries %} 17 | 22 | {% set i = i+1 %} 23 | {% endfor %} 24 | 25 | 26 | -------------------------------------------------------------------------------- /templates/question_discuss.html: -------------------------------------------------------------------------------- 1 | {% extends "header.html" %} 2 | {% block body %} 3 |
4 |
5 |
6 | 13 | {% if session.logged_in %} 14 |
15 |
16 | 17 |
18 | 19 |
20 | 21 |
22 |
23 | {% endif %} 24 |

See Answers

25 | {% for text in entries %} 26 |
27 |

{{text.answer}}

28 |
29 | Answered on {{ text.time }} 30 |
31 |
32 | {% endfor %} 33 |
34 | {% endblock %} 35 | -------------------------------------------------------------------------------- /templates/scoreboard.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | {% for score in scores %} 10 | 11 | {% endfor %} 12 |

Scoreboard

UserPoints
{{ score.username }}{{ score.points }}
13 |
-------------------------------------------------------------------------------- /templates/search_results.html: -------------------------------------------------------------------------------- 1 | {% extends "header.html" %} 2 | {% block body %} 3 |
4 |
5 | 8 | {% if count==0 %} 9 | There are no results to display. 10 | {% else %} 11 | {% for name in names %} 12 |

{{name.name}} ({{name.username}})

13 | {% endfor %} 14 | {% endif %} 15 |





16 | {% endblock %} -------------------------------------------------------------------------------- /templates/show_entries.html: -------------------------------------------------------------------------------- 1 | {% extends "header.html" %} 2 | {% block body %} 3 |
4 |
5 |
6 | 9 |
10 | {% if session.logged_in %} 11 |
12 |
13 |

Ask a Question

14 |

15 | 16 |
17 |
18 | 19 |
20 |
21 | {% endif %} 22 |
23 |
24 |
25 |

See Questions

26 | {% for text in entries %} 27 |
28 |

{{text.title}}

29 |

{{text.description}}

30 |
31 | Posted on {{ text.time }} 32 |
33 |
34 |
35 | {% endfor %} 36 |
37 |
38 | 39 | {% endblock %} 40 | 41 | -------------------------------------------------------------------------------- /templates/show_entries_with.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

WElcome to disscussion module

6 | 7 | {% if session.logged_in %} 8 |
9 | Question?: 10 | 11 |
12 | {% endif %} 13 | 14 | 15 |
    16 | {% for text in preques %} 17 |
  • 18 | user: {{ text.user_id }} -- {{ text.question }} 19 |
    20 | 21 | 22 |
    23 |
  • 24 | {% endfor %} 25 |
26 | 27 |
    28 |
  • 29 |

    user: {{ ques.user_id }} -- {{ ques.question }}

    30 |
    31 | 32 | {% if session.logged_in %} 33 |
    34 | write answer: 35 | 36 | 37 |
    38 | {% endif %} 39 | 40 |
      41 | {% for text2 in entries %} 42 |
    • 43 | user: {{ text2.user_id }} - {{ text2.answer }} 44 |
    • 45 | {% endfor %} 46 |
    47 |
  • 48 |
49 | 50 |
    51 | {% for text3 in postques %} 52 |
  • 53 | user:{{ text3.user_id }} -- {{ text3.question }} 54 |
    55 | 56 | 57 |
    58 |
  • 59 | {% endfor %} 60 |
61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /templates/show_question.html: -------------------------------------------------------------------------------- 1 | {% extends "header.html" %} 2 | {% block body %} 3 | 4 |
5 |
6 |
7 | 10 | 11 | Description : {{ question.question_string|safe }}

12 |
13 | {% if session.logged_in %} 14 |

Submit Code

15 |
16 | 17 | 24 |
25 |
26 | 27 | 28 | 29 |
30 | 31 | 32 |
33 |
34 | {% else %} 35 |

Please login to sumbit the solution

36 |
37 | {% endif %} 38 |
39 |
40 | 41 |
42 | 43 | 44 | 45 | 76 | 77 | {% endblock %} 78 | -------------------------------------------------------------------------------- /templates/submissions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% extends "header.html" %} 4 | {% block body %} 5 |
6 |
7 | 9 | 10 |
11 | 12 |
13 |
14 |
15 | {% for sub in subs %} 16 |
17 | 22 |
23 |
24 | Show Question 25 |
26 | {{ sub[0].code }}
27 |   			
28 | {% for tc in sub[1] %} 29 | {% set count=0 %} 30 |
31 | {% if tc.result_type > 0 %} 32 | Test Case {{ count }}: {{ tc.result_type }} Points 33 | {% endif %} 34 | {% if tc.result_type == -1 %} 35 | Test Case {{ count }}: Wrong Answer 36 | {% endif %} 37 | {% if tc.result_type == -2 %} 38 | Test Case {{ count }}: {{ tc.result }} 39 | {% endif %} 40 | {% if tc.result_type == -3 %} 41 | Test Case {{ count }}: {{ tc.result }} 42 | {% endif %} 43 |
44 | {% set count = count + 1 %} 45 | 46 | {% else %} 47 |
You have no submissions
48 | {% endfor %} 49 |
50 |
51 |
52 | {% endfor %} 53 |
54 |
55 | 56 |
57 | 63 | {% endblock %} 64 | 65 | -------------------------------------------------------------------------------- /templates/success.html: -------------------------------------------------------------------------------- 1 | {% extends "admin_header.html" %} 2 | {% block body %} 3 |
4 |

Contest

5 | {% if message %}

Error: {{ message }}{% endif %} 6 |


7 |
8 | {% endblock %} -------------------------------------------------------------------------------- /views.py: -------------------------------------------------------------------------------- 1 | # Views.py : Handles the views of general modules 2 | from flask import Flask, request, session, g, redirect, url_for, abort, \ 3 | render_template, flash, _app_ctx_stack,Blueprint 4 | import smtplib 5 | #Defining the Blueprint for views.py 6 | views = Blueprint('views',__name__) 7 | 8 | @views.route('/') 9 | def index(): 10 | return render_template("index.html") 11 | 12 | @views.route('/home') 13 | def home(): 14 | return render_template("index.html") 15 | 16 | @views.route('/about') 17 | def about(): 18 | return render_template("about.html") 19 | 20 | @views.route('/contact', methods=['GET', 'POST']) 21 | def contact(): 22 | if request.method == 'POST': 23 | email_to = "contact@bazinga.com" 24 | email_from = request.form['email'] 25 | email_subject = request.form['subject'] 26 | email_msg = request.form['msg']+'\n'+ request.form['firstname']+' '+request.form['lastname'] 27 | #Define host to send mail 28 | #server = smtplib.SMTP(HOST) 29 | #server.sendmail(email_from, [email_to], email_msg) 30 | #server.quit() 31 | message = "Thank You for Contacting Us. We will soon get in touch with you." 32 | return render_template("index.html" , message = message) 33 | return render_template("contact.html") 34 | 35 | 36 | --------------------------------------------------------------------------------