From: Brendan Hansen Date: Thu, 5 Sep 2019 05:24:03 +0000 (-0500) Subject: Major upgrades to submission reports and competitions X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=61971d7d3439a21b7c0a747be1027c89a7043c31;p=codebox.git Major upgrades to submission reports and competitions --- diff --git a/codebox/app/app.moon b/codebox/app/app.moon index d4bb526..24c3079 100644 --- a/codebox/app/app.moon +++ b/codebox/app/app.moon @@ -1,7 +1,7 @@ lapis = require "lapis" console = require "lapis.console" -import Users from require "models" +import Users, Competitions from require "models" bind = require "utils.binding" bind\bind_static 'executer', require 'facades.executer' @@ -39,7 +39,11 @@ class extends lapis.Application ['executer.status_update': "/executer/status_update"]: require "controllers.executer.status_update" ['executer.request': '/executer/request']: require "controllers.executer.request" - ['admin.user': "/admin/user"]: => "NOT IMPLEMENTED" + ['admin': "/admin"]: => redirect_to: @url_for "admin.user" + + ['admin.user': "/admin/user"]: require "controllers.admin.user" + ['admin.user.reset_password': "/admin/user/reset_password"]: require "controllers.admin.user.reset_password" + ['admin.user.delete': "/admin/user/delete"]: require "controllers.admin.user.delete" ['admin.problem': "/admin/problem"]: require "controllers.admin.problem" ['admin.problem.new': "/admin/problem/new"]: require "controllers.admin.problem.new" @@ -50,7 +54,17 @@ class extends lapis.Application ['admin.testcase.edit': "/admin/testcase/edit"]: require "controllers.admin.testcase.edit" ['admin.testcase.delete': "/admin/testcase/delete"]: require "controllers.admin.testcase.delete" - ['admin.submission': "/admin/submission"]: => "NOT IMPLEMENTED" - ['admin.competition': "/admin/competition"]: => "NOT IMPLEMENTED" + ['admin.submission': "/admin/submission"]: require "controllers.admin.submission" + ['admin.submission.edit': "/admin/submission/edit"]: require "controllers.admin.submission.edit" + ['admin.submission.delete': "/admin/submission/delete"]: require "controllers.admin.submission.delete" + + ['admin.competition': "/admin/competition"]: require "controllers.admin.competition" + ['admin.competition.new': "/admin/competition/new"]: require "controllers.admin.competition.new" + + [test: '/test']: => + user = Users\find 5 + jobs = user\get_current_jobs! + + json: jobs "/console": console.make! diff --git a/codebox/controllers/admin/competition.moon b/codebox/controllers/admin/competition.moon new file mode 100644 index 0000000..591249a --- /dev/null +++ b/codebox/controllers/admin/competition.moon @@ -0,0 +1,18 @@ +import make_controller from require "controllers.controller" +import assert_valid from require "lapis.validate" +import capture_errors from require 'lapis.application' +import Competitions from require 'models' + +make_controller + layout: require 'views.partials.admin_layout' + + middleware: { 'logged_in', 'admin_required' } + + get: => + @navbar.selected = 3 + + @competitions = Competitions\select! + + render: 'admin.competition' + + diff --git a/codebox/controllers/admin/competition/Tupfile b/codebox/controllers/admin/competition/Tupfile new file mode 100644 index 0000000..f0fe651 --- /dev/null +++ b/codebox/controllers/admin/competition/Tupfile @@ -0,0 +1 @@ +include_rules diff --git a/codebox/controllers/admin/competition/new.moon b/codebox/controllers/admin/competition/new.moon new file mode 100644 index 0000000..eb205ea --- /dev/null +++ b/codebox/controllers/admin/competition/new.moon @@ -0,0 +1,32 @@ +import make_controller from require "controllers.controller" +import assert_valid from require "lapis.validate" +import capture_errors, capture_errors_json, yield_error from require 'lapis.application' +import Competitions from require 'models' + +make_controller + layout: require 'views.partials.admin_layout' + + middleware: { 'logged_in', 'admin_required' } + + get: => + @flow 'csrf_setup' + @navbar.selected = 3 + + render: true + + post: capture_errors => + @flow 'csrf_validate' + + assert_valid @params, { + { "name", exists: true } + { "start_time", exists: true } + { "end_time", exists: true } + } + + Competitions\create { + name: @params.name + start: @params.start_time + end: @params.end_time + } + + redirect_to: @url_for 'admin.compeition' diff --git a/codebox/controllers/admin/problem.moon b/codebox/controllers/admin/problem.moon index ec4bc22..0592184 100644 --- a/codebox/controllers/admin/problem.moon +++ b/codebox/controllers/admin/problem.moon @@ -9,9 +9,6 @@ make_controller middleware: { 'logged_in', 'admin_required' } - scripts: - 'admin_problem' - get: => @navbar.selected = 1 diff --git a/codebox/controllers/admin/submission.moon b/codebox/controllers/admin/submission.moon new file mode 100644 index 0000000..7597d33 --- /dev/null +++ b/codebox/controllers/admin/submission.moon @@ -0,0 +1,18 @@ +import make_controller from require "controllers.controller" +import assert_valid from require "lapis.validate" +import capture_errors from require 'lapis.application' +import Jobs from require 'models' + +make_controller + layout: require 'views.partials.admin_layout' + scripts: { 'admin_problem' } + + middleware: { 'logged_in', 'admin_required' } + + get: => + @navbar.selected = 2 + + @jobs = Jobs\select "order by id desc" + + render: 'admin.submission' + diff --git a/codebox/controllers/admin/submission/Tupfile b/codebox/controllers/admin/submission/Tupfile new file mode 100644 index 0000000..f0fe651 --- /dev/null +++ b/codebox/controllers/admin/submission/Tupfile @@ -0,0 +1 @@ +include_rules diff --git a/codebox/controllers/admin/submission/delete.moon b/codebox/controllers/admin/submission/delete.moon new file mode 100644 index 0000000..eff9a33 --- /dev/null +++ b/codebox/controllers/admin/submission/delete.moon @@ -0,0 +1,22 @@ +import make_controller from require "controllers.controller" +import assert_valid from require "lapis.validate" +import capture_errors, capture_errors_json, yield_error from require 'lapis.application' +import Jobs from require 'models' + +make_controller + layout: require "views.partials.admin_layout" + + middleware: { 'logged_in', 'admin_required' } + + get: capture_errors_json => + assert_valid @params, { + { 'submission_id', exists: true } + } + + job = Jobs\find job_id: @params.submission_id + unless job + yield_error 'Job not found' + + job\delete! + + redirect_to: @url_for 'admin.submission' diff --git a/codebox/controllers/admin/submission/edit.moon b/codebox/controllers/admin/submission/edit.moon new file mode 100644 index 0000000..8981baf --- /dev/null +++ b/codebox/controllers/admin/submission/edit.moon @@ -0,0 +1,26 @@ +import make_controller from require "controllers.controller" +import assert_valid from require "lapis.validate" +import capture_errors, capture_errors_json, yield_error from require 'lapis.application' +import Jobs from require 'models' + +make_controller + layout: require "views.partials.admin_layout" + middleware: { 'logged_in', 'admin_required' } + + scripts: { "vendor/highlight.pack", "vendor/highlight-line-numbers" } + + get: capture_errors_json => + @navbar.selected = 2 + + assert_valid @params, { + { "submission_id", exists: true } + } + + @job = Jobs\find job_id: @params.submission_id + unless @job + yield_error "Job not found" + + render: "admin.submission.edit" + + post: capture_errors_json => + json: { 'success': true } diff --git a/codebox/controllers/admin/user.moon b/codebox/controllers/admin/user.moon new file mode 100644 index 0000000..94e0c5e --- /dev/null +++ b/codebox/controllers/admin/user.moon @@ -0,0 +1,19 @@ +import make_controller from require "controllers.controller" +import assert_valid from require "lapis.validate" +import capture_errors from require 'lapis.application' +import Users from require 'models' + +make_controller + layout: require 'views.partials.admin_layout' + scripts: { 'admin_user' } + + middleware: { 'logged_in', 'admin_required' } + + get: => + @navbar.selected = 0 + + @users = Users\select! + + render: 'admin.user' + + diff --git a/codebox/controllers/admin/user/Tupfile b/codebox/controllers/admin/user/Tupfile new file mode 100644 index 0000000..f0fe651 --- /dev/null +++ b/codebox/controllers/admin/user/Tupfile @@ -0,0 +1 @@ +include_rules diff --git a/codebox/controllers/admin/user/delete.moon b/codebox/controllers/admin/user/delete.moon new file mode 100644 index 0000000..316389d --- /dev/null +++ b/codebox/controllers/admin/user/delete.moon @@ -0,0 +1,26 @@ +import make_controller from require "controllers.controller" +import assert_valid from require "lapis.validate" +import capture_errors, capture_errors_json from require 'lapis.application' +import Users, Jobs from require 'models' + +make_controller + middleware: { 'logged_in', 'admin_required' } + + post: capture_errors_json => + assert_valid @params, { + { "username", exists: true } + } + + user = Users\find username: @params.username + unless user + yield_error "User not found" + + jobs = Jobs\find user_id: user.id + if jobs + for job in *jobs + job\delete! + + user\delete! + + json: { success: true } + diff --git a/codebox/controllers/admin/user/reset_password.moon b/codebox/controllers/admin/user/reset_password.moon new file mode 100644 index 0000000..449958f --- /dev/null +++ b/codebox/controllers/admin/user/reset_password.moon @@ -0,0 +1,27 @@ +import make_controller from require "controllers.controller" +import assert_valid from require "lapis.validate" +import capture_errors, capture_errors_json from require 'lapis.application' +import Users from require 'models' + +make_controller + inject: + crypto: 'crypto' + + middleware: { 'logged_in', 'admin_required' } + + post: capture_errors_json => + assert_valid @params, { + { "username", exists: true } + { "password", exists: true } + } + + user = Users\find username: @params.username + unless user + yield_error "User not found" + + user\update { + password_hash: @crypto.encrypt @params.password + } + + json: { success: true } + diff --git a/codebox/controllers/executer/status_update.moon b/codebox/controllers/executer/status_update.moon index 4565ff9..46e6b2d 100644 --- a/codebox/controllers/executer/status_update.moon +++ b/codebox/controllers/executer/status_update.moon @@ -24,7 +24,8 @@ make_controller status: status.status data: to_json status.data } - + + print "Updated job: #{job.id}" json: { status: 'success' } ), => json: { status: 'error', errors: @errors } diff --git a/codebox/facades/executer.moon b/codebox/facades/executer.moon index 6b7ad6d..8202688 100644 --- a/codebox/facades/executer.moon +++ b/codebox/facades/executer.moon @@ -20,7 +20,7 @@ class ExecuterFacade job = Jobs\create { job_id: job_id - user_id: 1 + user_id: 5 problem_id: problem_id status: Jobs.statuses\for_db 'queued' lang: lang diff --git a/codebox/migrations.moon b/codebox/migrations.moon index 4ca6e3b..c9ce10b 100644 --- a/codebox/migrations.moon +++ b/codebox/migrations.moon @@ -59,4 +59,21 @@ import insert from require "lapis.db" nickname: "admin" email: "admin@admin.org" } + + [6]: => + create_table "competitions", { + { "id", types.serial } + { "start", types.time null: true } + { "end", types.time null: true } + { "name", types.varchar } + { "active", types.boolean } + } + + [7]: => + create_table "competition_problems", { + { "id", types.serial } + { "competition_id", types.foreign_key } + { "problem_id", types.foreign_key } + { "letter", types.varchar } + } } diff --git a/codebox/models/competition_problems.moon b/codebox/models/competition_problems.moon new file mode 100644 index 0000000..96fa7cf --- /dev/null +++ b/codebox/models/competition_problems.moon @@ -0,0 +1,3 @@ +import Model from require 'lapis.db.model' + +class CompetitionProblems extends Model diff --git a/codebox/models/competitions.moon b/codebox/models/competitions.moon new file mode 100644 index 0000000..25e9416 --- /dev/null +++ b/codebox/models/competitions.moon @@ -0,0 +1,13 @@ +import Model from require 'lapis.db.model' +db = require 'lapis.db' + +class Competitions extends Model + @relations: { + { "problems", fetch: => + db.select "problems.name, problems.short_name, problems.kind, problems.time_limit, competition_problems.letter + from problems + inner join competition_problems on problems.id = competition_problems.problem_id + inner join competitions on competition_problems.competition_id = competitions.id + where competitions.id=? orber by competition_problems.letter asc", @id + } + } diff --git a/codebox/models/jobs.moon b/codebox/models/jobs.moon index 9b63437..ba5e2b4 100644 --- a/codebox/models/jobs.moon +++ b/codebox/models/jobs.moon @@ -5,7 +5,7 @@ class Jobs extends Model queued: 1 compiling: 2 running: 3 - completed: 4 + correct: 4 wrong_answer: 5 timed_out: 6 bad_language: 7 diff --git a/codebox/models/problems.moon b/codebox/models/problems.moon index 140b29a..aab9b91 100644 --- a/codebox/models/problems.moon +++ b/codebox/models/problems.moon @@ -1,4 +1,5 @@ import Model, enum from require "lapis.db.model" +db = require 'lapis.db' class Problems extends Model @kinds: enum { @@ -13,4 +14,13 @@ class Problems extends Model has_many: 'TestCases' order: "testcase_order asc" } + { "correct_jobs", fetch: => + db.query "select count(job_id) from jobs where problem_id=? and status=4", @id + } + { "wrong_answer_jobs", fetch: => + db.query "select count(job_id) from jobs where problem_id=? and status=5", @id + } + { "timed_out_jobs", fetch: => + db.query "select count(job_id) from jobs where problem_id=? and status=6", @id + } } diff --git a/codebox/models/users.moon b/codebox/models/users.moon index d8b29e9..1b6e47c 100644 --- a/codebox/models/users.moon +++ b/codebox/models/users.moon @@ -1,10 +1,13 @@ import Model from require "lapis.db.model" +db = require 'lapis.db' class Users extends Model @relations: { { 'jobs', has_many: 'Jobs' } - { 'c_jobs' - has_many: 'Jobs' - where: { lang: 'C' } + { 'current_jobs', fetch: => + db.select "jobs.job_id, jobs.problem_id, jobs.lang, jobs.code, jobs.status, jobs.data, jobs.time_initiated from jobs + inner join competition_problems on competition_problems.problem_id = jobs.problem_id + inner join competitions on competitions.id = competition_problems.competition_id + where competitions.active=? and jobs.user_id=?", db.TRUE, @id } } diff --git a/codebox/static/coffee/admin_user.coffee b/codebox/static/coffee/admin_user.coffee new file mode 100644 index 0000000..3791db3 --- /dev/null +++ b/codebox/static/coffee/admin_user.coffee @@ -0,0 +1,22 @@ +$(document).ready -> + $('[data-user-reset-password]').click (e) -> + username = $(e.target).attr 'data-user-reset-password' + + new_password = prompt 'New password' + if not new_password? or new_password == "" + return + + $.post '/admin/user/reset_password', { 'username': username, 'password': new_password }, (data) -> + if data.success? + alert("#{username}'s password was changed") + + console.log(data) + + $('[data-user-delete]').click (e) -> + username = $(e.target).attr 'data-user-delete' + + $.post '/admin/user/delete', { 'username': username }, (data) -> + if data.success? + alert "#{username} was deleted" + + window.location.reload() diff --git a/codebox/static/css/core.css b/codebox/static/css/core.css index 50ec740..b44ad8c 100644 --- a/codebox/static/css/core.css +++ b/codebox/static/css/core.css @@ -62,6 +62,1027 @@ a { color: inherit; } +.split-2 { + display: grid; + grid-template-columns: repeat(2, 1fr); +} + +.split-3 { + display: grid; + grid-template-columns: repeat(3, 1fr); +} + +.split-4 { + display: grid; + grid-template-columns: repeat(4, 1fr); +} + +.split-lr { + display: grid; + grid-template-columns: 1fr 1fr; +} +.split-lr > *:first-child { + text-align: left; +} +.split-lr > *:last-child { + text-align: right; +} + +pre { + box-shadow: 0px 2px 6px 0.5px rgba(0, 0, 0, 0.5); + font-size: 1rem; +} +pre .hljs-ln td { + padding-right: 8px; +} +pre .hljs-ln-line { + max-width: 200px !important; +} + +.fixed-half-split { + display: grid; + grid-template-columns: 275px 1fr; +} + +.tabbed-split { + display: grid; +} +.tabbed-split.tab-12 { + grid-template-columns: 12px 1fr; +} +.tabbed-split.tab-16 { + grid-template-columns: 16px 1fr; +} +.tabbed-split.tab-24 { + grid-template-columns: 24px 1fr; +} +.tabbed-split.tab-32 { + grid-template-columns: 32px 1fr; +} +.tabbed-split.primary > span { + background-color: #42a5f5; +} +.tabbed-split.primary-light > span { + background-color: #80d6ff; +} +.tabbed-split.primary-dark > span { + background-color: #0077c2; +} +.tabbed-split.secondary > span { + background-color: #FFD700; +} +.tabbed-split.secondary-light > span { + background-color: #ffe766; +} +.tabbed-split.secondary-dark > span { + background-color: #998100; +} +.tabbed-split.error > span { + background-color: #dd0000; +} +.tabbed-split.error-light > span { + background-color: #ff4444; +} +.tabbed-split.error-dark > span { + background-color: #770000; +} + +.box { + box-shadow: 0px 2px 6px 0.5px rgba(0, 0, 0, 0.5); + background-color: #111; +} +.box .highlight:hover { + background-color: #333; +} + +.w50 { + width: 50%; +} + +.w100 { + width: 100%; +} + +.pad-1 { + padding: 1px; +} + +.pad-l-1 { + padding-left: 1px; +} + +.pad-r-1 { + padding-right: 1px; +} + +.pad-t-1 { + padding-top: 1px; +} + +.pad-b-1 { + padding-bottom: 1px; +} + +.mar-1 { + margin: 1px; +} + +.mar-l-1 { + margin-left: 1px; +} + +.mar-r-1 { + margin-right: 1px; +} + +.mar-t-1 { + margin-top: 1px; +} + +.mar-b-1 { + margin-bottom: 1px; +} + +.pad-2 { + padding: 2px; +} + +.pad-l-2 { + padding-left: 2px; +} + +.pad-r-2 { + padding-right: 2px; +} + +.pad-t-2 { + padding-top: 2px; +} + +.pad-b-2 { + padding-bottom: 2px; +} + +.mar-2 { + margin: 2px; +} + +.mar-l-2 { + margin-left: 2px; +} + +.mar-r-2 { + margin-right: 2px; +} + +.mar-t-2 { + margin-top: 2px; +} + +.mar-b-2 { + margin-bottom: 2px; +} + +.pad-3 { + padding: 3px; +} + +.pad-l-3 { + padding-left: 3px; +} + +.pad-r-3 { + padding-right: 3px; +} + +.pad-t-3 { + padding-top: 3px; +} + +.pad-b-3 { + padding-bottom: 3px; +} + +.mar-3 { + margin: 3px; +} + +.mar-l-3 { + margin-left: 3px; +} + +.mar-r-3 { + margin-right: 3px; +} + +.mar-t-3 { + margin-top: 3px; +} + +.mar-b-3 { + margin-bottom: 3px; +} + +.pad-4 { + padding: 4px; +} + +.pad-l-4 { + padding-left: 4px; +} + +.pad-r-4 { + padding-right: 4px; +} + +.pad-t-4 { + padding-top: 4px; +} + +.pad-b-4 { + padding-bottom: 4px; +} + +.mar-4 { + margin: 4px; +} + +.mar-l-4 { + margin-left: 4px; +} + +.mar-r-4 { + margin-right: 4px; +} + +.mar-t-4 { + margin-top: 4px; +} + +.mar-b-4 { + margin-bottom: 4px; +} + +.pad-5 { + padding: 5px; +} + +.pad-l-5 { + padding-left: 5px; +} + +.pad-r-5 { + padding-right: 5px; +} + +.pad-t-5 { + padding-top: 5px; +} + +.pad-b-5 { + padding-bottom: 5px; +} + +.mar-5 { + margin: 5px; +} + +.mar-l-5 { + margin-left: 5px; +} + +.mar-r-5 { + margin-right: 5px; +} + +.mar-t-5 { + margin-top: 5px; +} + +.mar-b-5 { + margin-bottom: 5px; +} + +.pad-6 { + padding: 6px; +} + +.pad-l-6 { + padding-left: 6px; +} + +.pad-r-6 { + padding-right: 6px; +} + +.pad-t-6 { + padding-top: 6px; +} + +.pad-b-6 { + padding-bottom: 6px; +} + +.mar-6 { + margin: 6px; +} + +.mar-l-6 { + margin-left: 6px; +} + +.mar-r-6 { + margin-right: 6px; +} + +.mar-t-6 { + margin-top: 6px; +} + +.mar-b-6 { + margin-bottom: 6px; +} + +.pad-7 { + padding: 7px; +} + +.pad-l-7 { + padding-left: 7px; +} + +.pad-r-7 { + padding-right: 7px; +} + +.pad-t-7 { + padding-top: 7px; +} + +.pad-b-7 { + padding-bottom: 7px; +} + +.mar-7 { + margin: 7px; +} + +.mar-l-7 { + margin-left: 7px; +} + +.mar-r-7 { + margin-right: 7px; +} + +.mar-t-7 { + margin-top: 7px; +} + +.mar-b-7 { + margin-bottom: 7px; +} + +.pad-8 { + padding: 8px; +} + +.pad-l-8 { + padding-left: 8px; +} + +.pad-r-8 { + padding-right: 8px; +} + +.pad-t-8 { + padding-top: 8px; +} + +.pad-b-8 { + padding-bottom: 8px; +} + +.mar-8 { + margin: 8px; +} + +.mar-l-8 { + margin-left: 8px; +} + +.mar-r-8 { + margin-right: 8px; +} + +.mar-t-8 { + margin-top: 8px; +} + +.mar-b-8 { + margin-bottom: 8px; +} + +.pad-9 { + padding: 9px; +} + +.pad-l-9 { + padding-left: 9px; +} + +.pad-r-9 { + padding-right: 9px; +} + +.pad-t-9 { + padding-top: 9px; +} + +.pad-b-9 { + padding-bottom: 9px; +} + +.mar-9 { + margin: 9px; +} + +.mar-l-9 { + margin-left: 9px; +} + +.mar-r-9 { + margin-right: 9px; +} + +.mar-t-9 { + margin-top: 9px; +} + +.mar-b-9 { + margin-bottom: 9px; +} + +.pad-10 { + padding: 10px; +} + +.pad-l-10 { + padding-left: 10px; +} + +.pad-r-10 { + padding-right: 10px; +} + +.pad-t-10 { + padding-top: 10px; +} + +.pad-b-10 { + padding-bottom: 10px; +} + +.mar-10 { + margin: 10px; +} + +.mar-l-10 { + margin-left: 10px; +} + +.mar-r-10 { + margin-right: 10px; +} + +.mar-t-10 { + margin-top: 10px; +} + +.mar-b-10 { + margin-bottom: 10px; +} + +.pad-11 { + padding: 11px; +} + +.pad-l-11 { + padding-left: 11px; +} + +.pad-r-11 { + padding-right: 11px; +} + +.pad-t-11 { + padding-top: 11px; +} + +.pad-b-11 { + padding-bottom: 11px; +} + +.mar-11 { + margin: 11px; +} + +.mar-l-11 { + margin-left: 11px; +} + +.mar-r-11 { + margin-right: 11px; +} + +.mar-t-11 { + margin-top: 11px; +} + +.mar-b-11 { + margin-bottom: 11px; +} + +.pad-12 { + padding: 12px; +} + +.pad-l-12 { + padding-left: 12px; +} + +.pad-r-12 { + padding-right: 12px; +} + +.pad-t-12 { + padding-top: 12px; +} + +.pad-b-12 { + padding-bottom: 12px; +} + +.mar-12 { + margin: 12px; +} + +.mar-l-12 { + margin-left: 12px; +} + +.mar-r-12 { + margin-right: 12px; +} + +.mar-t-12 { + margin-top: 12px; +} + +.mar-b-12 { + margin-bottom: 12px; +} + +.pad-13 { + padding: 13px; +} + +.pad-l-13 { + padding-left: 13px; +} + +.pad-r-13 { + padding-right: 13px; +} + +.pad-t-13 { + padding-top: 13px; +} + +.pad-b-13 { + padding-bottom: 13px; +} + +.mar-13 { + margin: 13px; +} + +.mar-l-13 { + margin-left: 13px; +} + +.mar-r-13 { + margin-right: 13px; +} + +.mar-t-13 { + margin-top: 13px; +} + +.mar-b-13 { + margin-bottom: 13px; +} + +.pad-14 { + padding: 14px; +} + +.pad-l-14 { + padding-left: 14px; +} + +.pad-r-14 { + padding-right: 14px; +} + +.pad-t-14 { + padding-top: 14px; +} + +.pad-b-14 { + padding-bottom: 14px; +} + +.mar-14 { + margin: 14px; +} + +.mar-l-14 { + margin-left: 14px; +} + +.mar-r-14 { + margin-right: 14px; +} + +.mar-t-14 { + margin-top: 14px; +} + +.mar-b-14 { + margin-bottom: 14px; +} + +.pad-15 { + padding: 15px; +} + +.pad-l-15 { + padding-left: 15px; +} + +.pad-r-15 { + padding-right: 15px; +} + +.pad-t-15 { + padding-top: 15px; +} + +.pad-b-15 { + padding-bottom: 15px; +} + +.mar-15 { + margin: 15px; +} + +.mar-l-15 { + margin-left: 15px; +} + +.mar-r-15 { + margin-right: 15px; +} + +.mar-t-15 { + margin-top: 15px; +} + +.mar-b-15 { + margin-bottom: 15px; +} + +.pad-16 { + padding: 16px; +} + +.pad-l-16 { + padding-left: 16px; +} + +.pad-r-16 { + padding-right: 16px; +} + +.pad-t-16 { + padding-top: 16px; +} + +.pad-b-16 { + padding-bottom: 16px; +} + +.mar-16 { + margin: 16px; +} + +.mar-l-16 { + margin-left: 16px; +} + +.mar-r-16 { + margin-right: 16px; +} + +.mar-t-16 { + margin-top: 16px; +} + +.mar-b-16 { + margin-bottom: 16px; +} + +.pad-17 { + padding: 17px; +} + +.pad-l-17 { + padding-left: 17px; +} + +.pad-r-17 { + padding-right: 17px; +} + +.pad-t-17 { + padding-top: 17px; +} + +.pad-b-17 { + padding-bottom: 17px; +} + +.mar-17 { + margin: 17px; +} + +.mar-l-17 { + margin-left: 17px; +} + +.mar-r-17 { + margin-right: 17px; +} + +.mar-t-17 { + margin-top: 17px; +} + +.mar-b-17 { + margin-bottom: 17px; +} + +.pad-18 { + padding: 18px; +} + +.pad-l-18 { + padding-left: 18px; +} + +.pad-r-18 { + padding-right: 18px; +} + +.pad-t-18 { + padding-top: 18px; +} + +.pad-b-18 { + padding-bottom: 18px; +} + +.mar-18 { + margin: 18px; +} + +.mar-l-18 { + margin-left: 18px; +} + +.mar-r-18 { + margin-right: 18px; +} + +.mar-t-18 { + margin-top: 18px; +} + +.mar-b-18 { + margin-bottom: 18px; +} + +.pad-19 { + padding: 19px; +} + +.pad-l-19 { + padding-left: 19px; +} + +.pad-r-19 { + padding-right: 19px; +} + +.pad-t-19 { + padding-top: 19px; +} + +.pad-b-19 { + padding-bottom: 19px; +} + +.mar-19 { + margin: 19px; +} + +.mar-l-19 { + margin-left: 19px; +} + +.mar-r-19 { + margin-right: 19px; +} + +.mar-t-19 { + margin-top: 19px; +} + +.mar-b-19 { + margin-bottom: 19px; +} + +.pad-20 { + padding: 20px; +} + +.pad-l-20 { + padding-left: 20px; +} + +.pad-r-20 { + padding-right: 20px; +} + +.pad-t-20 { + padding-top: 20px; +} + +.pad-b-20 { + padding-bottom: 20px; +} + +.mar-20 { + margin: 20px; +} + +.mar-l-20 { + margin-left: 20px; +} + +.mar-r-20 { + margin-right: 20px; +} + +.mar-t-20 { + margin-top: 20px; +} + +.mar-b-20 { + margin-bottom: 20px; +} + +.pad-21 { + padding: 21px; +} + +.pad-l-21 { + padding-left: 21px; +} + +.pad-r-21 { + padding-right: 21px; +} + +.pad-t-21 { + padding-top: 21px; +} + +.pad-b-21 { + padding-bottom: 21px; +} + +.mar-21 { + margin: 21px; +} + +.mar-l-21 { + margin-left: 21px; +} + +.mar-r-21 { + margin-right: 21px; +} + +.mar-t-21 { + margin-top: 21px; +} + +.mar-b-21 { + margin-bottom: 21px; +} + +.pad-22 { + padding: 22px; +} + +.pad-l-22 { + padding-left: 22px; +} + +.pad-r-22 { + padding-right: 22px; +} + +.pad-t-22 { + padding-top: 22px; +} + +.pad-b-22 { + padding-bottom: 22px; +} + +.mar-22 { + margin: 22px; +} + +.mar-l-22 { + margin-left: 22px; +} + +.mar-r-22 { + margin-right: 22px; +} + +.mar-t-22 { + margin-top: 22px; +} + +.mar-b-22 { + margin-bottom: 22px; +} + +.pad-23 { + padding: 23px; +} + +.pad-l-23 { + padding-left: 23px; +} + +.pad-r-23 { + padding-right: 23px; +} + +.pad-t-23 { + padding-top: 23px; +} + +.pad-b-23 { + padding-bottom: 23px; +} + +.mar-23 { + margin: 23px; +} + +.mar-l-23 { + margin-left: 23px; +} + +.mar-r-23 { + margin-right: 23px; +} + +.mar-t-23 { + margin-top: 23px; +} + +.mar-b-23 { + margin-bottom: 23px; +} + .sidebar-problem-list { z-index: 50; box-shadow: 0 10px 0 0 transparent, 0 10px 0 0 transparent, 10px 0 0 0 transparent, 0 8px 8px 2px rgba(0, 0, 0, 0.5); @@ -106,6 +1127,858 @@ a { margin-right: 10px; } +.rect-auto, .c100.p100 .slice, .c100.p99 .slice, .c100.p98 .slice, .c100.p97 .slice, .c100.p96 .slice, .c100.p95 .slice, .c100.p94 .slice, .c100.p93 .slice, .c100.p92 .slice, .c100.p91 .slice, .c100.p90 .slice, .c100.p89 .slice, .c100.p88 .slice, .c100.p87 .slice, .c100.p86 .slice, .c100.p85 .slice, .c100.p84 .slice, .c100.p83 .slice, .c100.p82 .slice, .c100.p81 .slice, .c100.p80 .slice, .c100.p79 .slice, .c100.p78 .slice, .c100.p77 .slice, .c100.p76 .slice, .c100.p75 .slice, .c100.p74 .slice, .c100.p73 .slice, .c100.p72 .slice, .c100.p71 .slice, .c100.p70 .slice, .c100.p69 .slice, .c100.p68 .slice, .c100.p67 .slice, .c100.p66 .slice, .c100.p65 .slice, .c100.p64 .slice, .c100.p63 .slice, .c100.p62 .slice, .c100.p61 .slice, .c100.p60 .slice, .c100.p59 .slice, .c100.p58 .slice, .c100.p57 .slice, .c100.p56 .slice, .c100.p55 .slice, .c100.p54 .slice, .c100.p53 .slice, .c100.p52 .slice, .c100.p51 .slice { + clip: rect(auto, auto, auto, auto); +} + +.pie, .c100.p100 .fill, .c100.p99 .fill, .c100.p98 .fill, .c100.p97 .fill, .c100.p96 .fill, .c100.p95 .fill, .c100.p94 .fill, .c100.p93 .fill, .c100.p92 .fill, .c100.p91 .fill, .c100.p90 .fill, .c100.p89 .fill, .c100.p88 .fill, .c100.p87 .fill, .c100.p86 .fill, .c100.p85 .fill, .c100.p84 .fill, .c100.p83 .fill, .c100.p82 .fill, .c100.p81 .fill, .c100.p80 .fill, .c100.p79 .fill, .c100.p78 .fill, .c100.p77 .fill, .c100.p76 .fill, .c100.p75 .fill, .c100.p74 .fill, .c100.p73 .fill, .c100.p72 .fill, .c100.p71 .fill, .c100.p70 .fill, .c100.p69 .fill, .c100.p68 .fill, .c100.p67 .fill, .c100.p66 .fill, .c100.p65 .fill, .c100.p64 .fill, .c100.p63 .fill, .c100.p62 .fill, .c100.p61 .fill, .c100.p60 .fill, .c100.p59 .fill, .c100.p58 .fill, .c100.p57 .fill, .c100.p56 .fill, .c100.p55 .fill, .c100.p54 .fill, .c100.p53 .fill, .c100.p52 .fill, .c100.p51 .fill, .c100 .bar { + position: absolute; + border: 0.08em solid #307bbb; + width: 0.84em; + height: 0.84em; + clip: rect(0em, 0.5em, 1em, 0em); + border-radius: 50%; + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -ms-transform: rotate(0deg); + -o-transform: rotate(0deg); + transform: rotate(0deg); +} + +.pie-fill, .c100.p100 .fill, .c100.p100.bar:after, .c100.p99 .fill, .c100.p99.bar:after, .c100.p98 .fill, .c100.p98.bar:after, .c100.p97 .fill, .c100.p97.bar:after, .c100.p96 .fill, .c100.p96.bar:after, .c100.p95 .fill, .c100.p95.bar:after, .c100.p94 .fill, .c100.p94.bar:after, .c100.p93 .fill, .c100.p93.bar:after, .c100.p92 .fill, .c100.p92.bar:after, .c100.p91 .fill, .c100.p91.bar:after, .c100.p90 .fill, .c100.p90.bar:after, .c100.p89 .fill, .c100.p89.bar:after, .c100.p88 .fill, .c100.p88.bar:after, .c100.p87 .fill, .c100.p87.bar:after, .c100.p86 .fill, .c100.p86.bar:after, .c100.p85 .fill, .c100.p85.bar:after, .c100.p84 .fill, .c100.p84.bar:after, .c100.p83 .fill, .c100.p83.bar:after, .c100.p82 .fill, .c100.p82.bar:after, .c100.p81 .fill, .c100.p81.bar:after, .c100.p80 .fill, .c100.p80.bar:after, .c100.p79 .fill, .c100.p79.bar:after, .c100.p78 .fill, .c100.p78.bar:after, .c100.p77 .fill, .c100.p77.bar:after, .c100.p76 .fill, .c100.p76.bar:after, .c100.p75 .fill, .c100.p75.bar:after, .c100.p74 .fill, .c100.p74.bar:after, .c100.p73 .fill, .c100.p73.bar:after, .c100.p72 .fill, .c100.p72.bar:after, .c100.p71 .fill, .c100.p71.bar:after, .c100.p70 .fill, .c100.p70.bar:after, .c100.p69 .fill, .c100.p69.bar:after, .c100.p68 .fill, .c100.p68.bar:after, .c100.p67 .fill, .c100.p67.bar:after, .c100.p66 .fill, .c100.p66.bar:after, .c100.p65 .fill, .c100.p65.bar:after, .c100.p64 .fill, .c100.p64.bar:after, .c100.p63 .fill, .c100.p63.bar:after, .c100.p62 .fill, .c100.p62.bar:after, .c100.p61 .fill, .c100.p61.bar:after, .c100.p60 .fill, .c100.p60.bar:after, .c100.p59 .fill, .c100.p59.bar:after, .c100.p58 .fill, .c100.p58.bar:after, .c100.p57 .fill, .c100.p57.bar:after, .c100.p56 .fill, .c100.p56.bar:after, .c100.p55 .fill, .c100.p55.bar:after, .c100.p54 .fill, .c100.p54.bar:after, .c100.p53 .fill, .c100.p53.bar:after, .c100.p52 .fill, .c100.p52.bar:after, .c100.p51 .fill, .c100.p51.bar:after { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); + transform: rotate(180deg); +} + +.c100 { + position: relative; + font-size: 120px; + width: 1em; + height: 1em; + border-radius: 50%; + float: left; + background-color: #ccc; +} +.c100 *, +.c100 *:before, +.c100 *:after { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +.c100.center { + float: none; + margin: 0 auto; +} +.c100.big { + font-size: 240px; +} +.c100.small { + font-size: 80px; +} +.c100 > span { + position: absolute; + width: 100%; + z-index: 1; + left: 0; + top: 0; + width: 5em; + line-height: 5em; + font-size: 0.2em; + color: #ccc; + display: block; + text-align: center; + white-space: nowrap; + -webkit-transition-property: all; + -moz-transition-property: all; + -o-transition-property: all; + transition-property: all; + -webkit-transition-duration: 0.2s; + -moz-transition-duration: 0.2s; + -o-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-timing-function: ease-out; + -moz-transition-timing-function: ease-out; + -o-transition-timing-function: ease-out; + transition-timing-function: ease-out; +} +.c100:after { + position: absolute; + top: 0.08em; + left: 0.08em; + display: block; + content: " "; + border-radius: 50%; + background-color: #f5f5f5; + width: 0.84em; + height: 0.84em; + -webkit-transition-property: all; + -moz-transition-property: all; + -o-transition-property: all; + transition-property: all; + -webkit-transition-duration: 0.2s; + -moz-transition-duration: 0.2s; + -o-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-timing-function: ease-in; + -moz-transition-timing-function: ease-in; + -o-transition-timing-function: ease-in; + transition-timing-function: ease-in; +} +.c100 .slice { + position: absolute; + width: 1em; + height: 1em; + clip: rect(0em, 1em, 1em, 0.5em); +} +.c100.p1 .bar { + -webkit-transform: rotate(3.6deg); + -moz-transform: rotate(3.6deg); + -ms-transform: rotate(3.6deg); + -o-transform: rotate(3.6deg); + transform: rotate(3.6deg); +} +.c100.p2 .bar { + -webkit-transform: rotate(7.2deg); + -moz-transform: rotate(7.2deg); + -ms-transform: rotate(7.2deg); + -o-transform: rotate(7.2deg); + transform: rotate(7.2deg); +} +.c100.p3 .bar { + -webkit-transform: rotate(10.8deg); + -moz-transform: rotate(10.8deg); + -ms-transform: rotate(10.8deg); + -o-transform: rotate(10.8deg); + transform: rotate(10.8deg); +} +.c100.p4 .bar { + -webkit-transform: rotate(14.4deg); + -moz-transform: rotate(14.4deg); + -ms-transform: rotate(14.4deg); + -o-transform: rotate(14.4deg); + transform: rotate(14.4deg); +} +.c100.p5 .bar { + -webkit-transform: rotate(18deg); + -moz-transform: rotate(18deg); + -ms-transform: rotate(18deg); + -o-transform: rotate(18deg); + transform: rotate(18deg); +} +.c100.p6 .bar { + -webkit-transform: rotate(21.6deg); + -moz-transform: rotate(21.6deg); + -ms-transform: rotate(21.6deg); + -o-transform: rotate(21.6deg); + transform: rotate(21.6deg); +} +.c100.p7 .bar { + -webkit-transform: rotate(25.2deg); + -moz-transform: rotate(25.2deg); + -ms-transform: rotate(25.2deg); + -o-transform: rotate(25.2deg); + transform: rotate(25.2deg); +} +.c100.p8 .bar { + -webkit-transform: rotate(28.8deg); + -moz-transform: rotate(28.8deg); + -ms-transform: rotate(28.8deg); + -o-transform: rotate(28.8deg); + transform: rotate(28.8deg); +} +.c100.p9 .bar { + -webkit-transform: rotate(32.4deg); + -moz-transform: rotate(32.4deg); + -ms-transform: rotate(32.4deg); + -o-transform: rotate(32.4deg); + transform: rotate(32.4deg); +} +.c100.p10 .bar { + -webkit-transform: rotate(36deg); + -moz-transform: rotate(36deg); + -ms-transform: rotate(36deg); + -o-transform: rotate(36deg); + transform: rotate(36deg); +} +.c100.p11 .bar { + -webkit-transform: rotate(39.6deg); + -moz-transform: rotate(39.6deg); + -ms-transform: rotate(39.6deg); + -o-transform: rotate(39.6deg); + transform: rotate(39.6deg); +} +.c100.p12 .bar { + -webkit-transform: rotate(43.2deg); + -moz-transform: rotate(43.2deg); + -ms-transform: rotate(43.2deg); + -o-transform: rotate(43.2deg); + transform: rotate(43.2deg); +} +.c100.p13 .bar { + -webkit-transform: rotate(46.8deg); + -moz-transform: rotate(46.8deg); + -ms-transform: rotate(46.8deg); + -o-transform: rotate(46.8deg); + transform: rotate(46.8deg); +} +.c100.p14 .bar { + -webkit-transform: rotate(50.4deg); + -moz-transform: rotate(50.4deg); + -ms-transform: rotate(50.4deg); + -o-transform: rotate(50.4deg); + transform: rotate(50.4deg); +} +.c100.p15 .bar { + -webkit-transform: rotate(54deg); + -moz-transform: rotate(54deg); + -ms-transform: rotate(54deg); + -o-transform: rotate(54deg); + transform: rotate(54deg); +} +.c100.p16 .bar { + -webkit-transform: rotate(57.6deg); + -moz-transform: rotate(57.6deg); + -ms-transform: rotate(57.6deg); + -o-transform: rotate(57.6deg); + transform: rotate(57.6deg); +} +.c100.p17 .bar { + -webkit-transform: rotate(61.2deg); + -moz-transform: rotate(61.2deg); + -ms-transform: rotate(61.2deg); + -o-transform: rotate(61.2deg); + transform: rotate(61.2deg); +} +.c100.p18 .bar { + -webkit-transform: rotate(64.8deg); + -moz-transform: rotate(64.8deg); + -ms-transform: rotate(64.8deg); + -o-transform: rotate(64.8deg); + transform: rotate(64.8deg); +} +.c100.p19 .bar { + -webkit-transform: rotate(68.4deg); + -moz-transform: rotate(68.4deg); + -ms-transform: rotate(68.4deg); + -o-transform: rotate(68.4deg); + transform: rotate(68.4deg); +} +.c100.p20 .bar { + -webkit-transform: rotate(72deg); + -moz-transform: rotate(72deg); + -ms-transform: rotate(72deg); + -o-transform: rotate(72deg); + transform: rotate(72deg); +} +.c100.p21 .bar { + -webkit-transform: rotate(75.6deg); + -moz-transform: rotate(75.6deg); + -ms-transform: rotate(75.6deg); + -o-transform: rotate(75.6deg); + transform: rotate(75.6deg); +} +.c100.p22 .bar { + -webkit-transform: rotate(79.2deg); + -moz-transform: rotate(79.2deg); + -ms-transform: rotate(79.2deg); + -o-transform: rotate(79.2deg); + transform: rotate(79.2deg); +} +.c100.p23 .bar { + -webkit-transform: rotate(82.8deg); + -moz-transform: rotate(82.8deg); + -ms-transform: rotate(82.8deg); + -o-transform: rotate(82.8deg); + transform: rotate(82.8deg); +} +.c100.p24 .bar { + -webkit-transform: rotate(86.4deg); + -moz-transform: rotate(86.4deg); + -ms-transform: rotate(86.4deg); + -o-transform: rotate(86.4deg); + transform: rotate(86.4deg); +} +.c100.p25 .bar { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -ms-transform: rotate(90deg); + -o-transform: rotate(90deg); + transform: rotate(90deg); +} +.c100.p26 .bar { + -webkit-transform: rotate(93.6deg); + -moz-transform: rotate(93.6deg); + -ms-transform: rotate(93.6deg); + -o-transform: rotate(93.6deg); + transform: rotate(93.6deg); +} +.c100.p27 .bar { + -webkit-transform: rotate(97.2deg); + -moz-transform: rotate(97.2deg); + -ms-transform: rotate(97.2deg); + -o-transform: rotate(97.2deg); + transform: rotate(97.2deg); +} +.c100.p28 .bar { + -webkit-transform: rotate(100.8deg); + -moz-transform: rotate(100.8deg); + -ms-transform: rotate(100.8deg); + -o-transform: rotate(100.8deg); + transform: rotate(100.8deg); +} +.c100.p29 .bar { + -webkit-transform: rotate(104.4deg); + -moz-transform: rotate(104.4deg); + -ms-transform: rotate(104.4deg); + -o-transform: rotate(104.4deg); + transform: rotate(104.4deg); +} +.c100.p30 .bar { + -webkit-transform: rotate(108deg); + -moz-transform: rotate(108deg); + -ms-transform: rotate(108deg); + -o-transform: rotate(108deg); + transform: rotate(108deg); +} +.c100.p31 .bar { + -webkit-transform: rotate(111.6deg); + -moz-transform: rotate(111.6deg); + -ms-transform: rotate(111.6deg); + -o-transform: rotate(111.6deg); + transform: rotate(111.6deg); +} +.c100.p32 .bar { + -webkit-transform: rotate(115.2deg); + -moz-transform: rotate(115.2deg); + -ms-transform: rotate(115.2deg); + -o-transform: rotate(115.2deg); + transform: rotate(115.2deg); +} +.c100.p33 .bar { + -webkit-transform: rotate(118.8deg); + -moz-transform: rotate(118.8deg); + -ms-transform: rotate(118.8deg); + -o-transform: rotate(118.8deg); + transform: rotate(118.8deg); +} +.c100.p34 .bar { + -webkit-transform: rotate(122.4deg); + -moz-transform: rotate(122.4deg); + -ms-transform: rotate(122.4deg); + -o-transform: rotate(122.4deg); + transform: rotate(122.4deg); +} +.c100.p35 .bar { + -webkit-transform: rotate(126deg); + -moz-transform: rotate(126deg); + -ms-transform: rotate(126deg); + -o-transform: rotate(126deg); + transform: rotate(126deg); +} +.c100.p36 .bar { + -webkit-transform: rotate(129.6deg); + -moz-transform: rotate(129.6deg); + -ms-transform: rotate(129.6deg); + -o-transform: rotate(129.6deg); + transform: rotate(129.6deg); +} +.c100.p37 .bar { + -webkit-transform: rotate(133.2deg); + -moz-transform: rotate(133.2deg); + -ms-transform: rotate(133.2deg); + -o-transform: rotate(133.2deg); + transform: rotate(133.2deg); +} +.c100.p38 .bar { + -webkit-transform: rotate(136.8deg); + -moz-transform: rotate(136.8deg); + -ms-transform: rotate(136.8deg); + -o-transform: rotate(136.8deg); + transform: rotate(136.8deg); +} +.c100.p39 .bar { + -webkit-transform: rotate(140.4deg); + -moz-transform: rotate(140.4deg); + -ms-transform: rotate(140.4deg); + -o-transform: rotate(140.4deg); + transform: rotate(140.4deg); +} +.c100.p40 .bar { + -webkit-transform: rotate(144deg); + -moz-transform: rotate(144deg); + -ms-transform: rotate(144deg); + -o-transform: rotate(144deg); + transform: rotate(144deg); +} +.c100.p41 .bar { + -webkit-transform: rotate(147.6deg); + -moz-transform: rotate(147.6deg); + -ms-transform: rotate(147.6deg); + -o-transform: rotate(147.6deg); + transform: rotate(147.6deg); +} +.c100.p42 .bar { + -webkit-transform: rotate(151.2deg); + -moz-transform: rotate(151.2deg); + -ms-transform: rotate(151.2deg); + -o-transform: rotate(151.2deg); + transform: rotate(151.2deg); +} +.c100.p43 .bar { + -webkit-transform: rotate(154.8deg); + -moz-transform: rotate(154.8deg); + -ms-transform: rotate(154.8deg); + -o-transform: rotate(154.8deg); + transform: rotate(154.8deg); +} +.c100.p44 .bar { + -webkit-transform: rotate(158.4deg); + -moz-transform: rotate(158.4deg); + -ms-transform: rotate(158.4deg); + -o-transform: rotate(158.4deg); + transform: rotate(158.4deg); +} +.c100.p45 .bar { + -webkit-transform: rotate(162deg); + -moz-transform: rotate(162deg); + -ms-transform: rotate(162deg); + -o-transform: rotate(162deg); + transform: rotate(162deg); +} +.c100.p46 .bar { + -webkit-transform: rotate(165.6deg); + -moz-transform: rotate(165.6deg); + -ms-transform: rotate(165.6deg); + -o-transform: rotate(165.6deg); + transform: rotate(165.6deg); +} +.c100.p47 .bar { + -webkit-transform: rotate(169.2deg); + -moz-transform: rotate(169.2deg); + -ms-transform: rotate(169.2deg); + -o-transform: rotate(169.2deg); + transform: rotate(169.2deg); +} +.c100.p48 .bar { + -webkit-transform: rotate(172.8deg); + -moz-transform: rotate(172.8deg); + -ms-transform: rotate(172.8deg); + -o-transform: rotate(172.8deg); + transform: rotate(172.8deg); +} +.c100.p49 .bar { + -webkit-transform: rotate(176.4deg); + -moz-transform: rotate(176.4deg); + -ms-transform: rotate(176.4deg); + -o-transform: rotate(176.4deg); + transform: rotate(176.4deg); +} +.c100.p50 .bar { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); + transform: rotate(180deg); +} +.c100.p51 .bar { + -webkit-transform: rotate(183.6deg); + -moz-transform: rotate(183.6deg); + -ms-transform: rotate(183.6deg); + -o-transform: rotate(183.6deg); + transform: rotate(183.6deg); +} +.c100.p52 .bar { + -webkit-transform: rotate(187.2deg); + -moz-transform: rotate(187.2deg); + -ms-transform: rotate(187.2deg); + -o-transform: rotate(187.2deg); + transform: rotate(187.2deg); +} +.c100.p53 .bar { + -webkit-transform: rotate(190.8deg); + -moz-transform: rotate(190.8deg); + -ms-transform: rotate(190.8deg); + -o-transform: rotate(190.8deg); + transform: rotate(190.8deg); +} +.c100.p54 .bar { + -webkit-transform: rotate(194.4deg); + -moz-transform: rotate(194.4deg); + -ms-transform: rotate(194.4deg); + -o-transform: rotate(194.4deg); + transform: rotate(194.4deg); +} +.c100.p55 .bar { + -webkit-transform: rotate(198deg); + -moz-transform: rotate(198deg); + -ms-transform: rotate(198deg); + -o-transform: rotate(198deg); + transform: rotate(198deg); +} +.c100.p56 .bar { + -webkit-transform: rotate(201.6deg); + -moz-transform: rotate(201.6deg); + -ms-transform: rotate(201.6deg); + -o-transform: rotate(201.6deg); + transform: rotate(201.6deg); +} +.c100.p57 .bar { + -webkit-transform: rotate(205.2deg); + -moz-transform: rotate(205.2deg); + -ms-transform: rotate(205.2deg); + -o-transform: rotate(205.2deg); + transform: rotate(205.2deg); +} +.c100.p58 .bar { + -webkit-transform: rotate(208.8deg); + -moz-transform: rotate(208.8deg); + -ms-transform: rotate(208.8deg); + -o-transform: rotate(208.8deg); + transform: rotate(208.8deg); +} +.c100.p59 .bar { + -webkit-transform: rotate(212.4deg); + -moz-transform: rotate(212.4deg); + -ms-transform: rotate(212.4deg); + -o-transform: rotate(212.4deg); + transform: rotate(212.4deg); +} +.c100.p60 .bar { + -webkit-transform: rotate(216deg); + -moz-transform: rotate(216deg); + -ms-transform: rotate(216deg); + -o-transform: rotate(216deg); + transform: rotate(216deg); +} +.c100.p61 .bar { + -webkit-transform: rotate(219.6deg); + -moz-transform: rotate(219.6deg); + -ms-transform: rotate(219.6deg); + -o-transform: rotate(219.6deg); + transform: rotate(219.6deg); +} +.c100.p62 .bar { + -webkit-transform: rotate(223.2deg); + -moz-transform: rotate(223.2deg); + -ms-transform: rotate(223.2deg); + -o-transform: rotate(223.2deg); + transform: rotate(223.2deg); +} +.c100.p63 .bar { + -webkit-transform: rotate(226.8deg); + -moz-transform: rotate(226.8deg); + -ms-transform: rotate(226.8deg); + -o-transform: rotate(226.8deg); + transform: rotate(226.8deg); +} +.c100.p64 .bar { + -webkit-transform: rotate(230.4deg); + -moz-transform: rotate(230.4deg); + -ms-transform: rotate(230.4deg); + -o-transform: rotate(230.4deg); + transform: rotate(230.4deg); +} +.c100.p65 .bar { + -webkit-transform: rotate(234deg); + -moz-transform: rotate(234deg); + -ms-transform: rotate(234deg); + -o-transform: rotate(234deg); + transform: rotate(234deg); +} +.c100.p66 .bar { + -webkit-transform: rotate(237.6deg); + -moz-transform: rotate(237.6deg); + -ms-transform: rotate(237.6deg); + -o-transform: rotate(237.6deg); + transform: rotate(237.6deg); +} +.c100.p67 .bar { + -webkit-transform: rotate(241.2deg); + -moz-transform: rotate(241.2deg); + -ms-transform: rotate(241.2deg); + -o-transform: rotate(241.2deg); + transform: rotate(241.2deg); +} +.c100.p68 .bar { + -webkit-transform: rotate(244.8deg); + -moz-transform: rotate(244.8deg); + -ms-transform: rotate(244.8deg); + -o-transform: rotate(244.8deg); + transform: rotate(244.8deg); +} +.c100.p69 .bar { + -webkit-transform: rotate(248.4deg); + -moz-transform: rotate(248.4deg); + -ms-transform: rotate(248.4deg); + -o-transform: rotate(248.4deg); + transform: rotate(248.4deg); +} +.c100.p70 .bar { + -webkit-transform: rotate(252deg); + -moz-transform: rotate(252deg); + -ms-transform: rotate(252deg); + -o-transform: rotate(252deg); + transform: rotate(252deg); +} +.c100.p71 .bar { + -webkit-transform: rotate(255.6deg); + -moz-transform: rotate(255.6deg); + -ms-transform: rotate(255.6deg); + -o-transform: rotate(255.6deg); + transform: rotate(255.6deg); +} +.c100.p72 .bar { + -webkit-transform: rotate(259.2deg); + -moz-transform: rotate(259.2deg); + -ms-transform: rotate(259.2deg); + -o-transform: rotate(259.2deg); + transform: rotate(259.2deg); +} +.c100.p73 .bar { + -webkit-transform: rotate(262.8deg); + -moz-transform: rotate(262.8deg); + -ms-transform: rotate(262.8deg); + -o-transform: rotate(262.8deg); + transform: rotate(262.8deg); +} +.c100.p74 .bar { + -webkit-transform: rotate(266.4deg); + -moz-transform: rotate(266.4deg); + -ms-transform: rotate(266.4deg); + -o-transform: rotate(266.4deg); + transform: rotate(266.4deg); +} +.c100.p75 .bar { + -webkit-transform: rotate(270deg); + -moz-transform: rotate(270deg); + -ms-transform: rotate(270deg); + -o-transform: rotate(270deg); + transform: rotate(270deg); +} +.c100.p76 .bar { + -webkit-transform: rotate(273.6deg); + -moz-transform: rotate(273.6deg); + -ms-transform: rotate(273.6deg); + -o-transform: rotate(273.6deg); + transform: rotate(273.6deg); +} +.c100.p77 .bar { + -webkit-transform: rotate(277.2deg); + -moz-transform: rotate(277.2deg); + -ms-transform: rotate(277.2deg); + -o-transform: rotate(277.2deg); + transform: rotate(277.2deg); +} +.c100.p78 .bar { + -webkit-transform: rotate(280.8deg); + -moz-transform: rotate(280.8deg); + -ms-transform: rotate(280.8deg); + -o-transform: rotate(280.8deg); + transform: rotate(280.8deg); +} +.c100.p79 .bar { + -webkit-transform: rotate(284.4deg); + -moz-transform: rotate(284.4deg); + -ms-transform: rotate(284.4deg); + -o-transform: rotate(284.4deg); + transform: rotate(284.4deg); +} +.c100.p80 .bar { + -webkit-transform: rotate(288deg); + -moz-transform: rotate(288deg); + -ms-transform: rotate(288deg); + -o-transform: rotate(288deg); + transform: rotate(288deg); +} +.c100.p81 .bar { + -webkit-transform: rotate(291.6deg); + -moz-transform: rotate(291.6deg); + -ms-transform: rotate(291.6deg); + -o-transform: rotate(291.6deg); + transform: rotate(291.6deg); +} +.c100.p82 .bar { + -webkit-transform: rotate(295.2deg); + -moz-transform: rotate(295.2deg); + -ms-transform: rotate(295.2deg); + -o-transform: rotate(295.2deg); + transform: rotate(295.2deg); +} +.c100.p83 .bar { + -webkit-transform: rotate(298.8deg); + -moz-transform: rotate(298.8deg); + -ms-transform: rotate(298.8deg); + -o-transform: rotate(298.8deg); + transform: rotate(298.8deg); +} +.c100.p84 .bar { + -webkit-transform: rotate(302.4deg); + -moz-transform: rotate(302.4deg); + -ms-transform: rotate(302.4deg); + -o-transform: rotate(302.4deg); + transform: rotate(302.4deg); +} +.c100.p85 .bar { + -webkit-transform: rotate(306deg); + -moz-transform: rotate(306deg); + -ms-transform: rotate(306deg); + -o-transform: rotate(306deg); + transform: rotate(306deg); +} +.c100.p86 .bar { + -webkit-transform: rotate(309.6deg); + -moz-transform: rotate(309.6deg); + -ms-transform: rotate(309.6deg); + -o-transform: rotate(309.6deg); + transform: rotate(309.6deg); +} +.c100.p87 .bar { + -webkit-transform: rotate(313.2deg); + -moz-transform: rotate(313.2deg); + -ms-transform: rotate(313.2deg); + -o-transform: rotate(313.2deg); + transform: rotate(313.2deg); +} +.c100.p88 .bar { + -webkit-transform: rotate(316.8deg); + -moz-transform: rotate(316.8deg); + -ms-transform: rotate(316.8deg); + -o-transform: rotate(316.8deg); + transform: rotate(316.8deg); +} +.c100.p89 .bar { + -webkit-transform: rotate(320.4deg); + -moz-transform: rotate(320.4deg); + -ms-transform: rotate(320.4deg); + -o-transform: rotate(320.4deg); + transform: rotate(320.4deg); +} +.c100.p90 .bar { + -webkit-transform: rotate(324deg); + -moz-transform: rotate(324deg); + -ms-transform: rotate(324deg); + -o-transform: rotate(324deg); + transform: rotate(324deg); +} +.c100.p91 .bar { + -webkit-transform: rotate(327.6deg); + -moz-transform: rotate(327.6deg); + -ms-transform: rotate(327.6deg); + -o-transform: rotate(327.6deg); + transform: rotate(327.6deg); +} +.c100.p92 .bar { + -webkit-transform: rotate(331.2deg); + -moz-transform: rotate(331.2deg); + -ms-transform: rotate(331.2deg); + -o-transform: rotate(331.2deg); + transform: rotate(331.2deg); +} +.c100.p93 .bar { + -webkit-transform: rotate(334.8deg); + -moz-transform: rotate(334.8deg); + -ms-transform: rotate(334.8deg); + -o-transform: rotate(334.8deg); + transform: rotate(334.8deg); +} +.c100.p94 .bar { + -webkit-transform: rotate(338.4deg); + -moz-transform: rotate(338.4deg); + -ms-transform: rotate(338.4deg); + -o-transform: rotate(338.4deg); + transform: rotate(338.4deg); +} +.c100.p95 .bar { + -webkit-transform: rotate(342deg); + -moz-transform: rotate(342deg); + -ms-transform: rotate(342deg); + -o-transform: rotate(342deg); + transform: rotate(342deg); +} +.c100.p96 .bar { + -webkit-transform: rotate(345.6deg); + -moz-transform: rotate(345.6deg); + -ms-transform: rotate(345.6deg); + -o-transform: rotate(345.6deg); + transform: rotate(345.6deg); +} +.c100.p97 .bar { + -webkit-transform: rotate(349.2deg); + -moz-transform: rotate(349.2deg); + -ms-transform: rotate(349.2deg); + -o-transform: rotate(349.2deg); + transform: rotate(349.2deg); +} +.c100.p98 .bar { + -webkit-transform: rotate(352.8deg); + -moz-transform: rotate(352.8deg); + -ms-transform: rotate(352.8deg); + -o-transform: rotate(352.8deg); + transform: rotate(352.8deg); +} +.c100.p99 .bar { + -webkit-transform: rotate(356.4deg); + -moz-transform: rotate(356.4deg); + -ms-transform: rotate(356.4deg); + -o-transform: rotate(356.4deg); + transform: rotate(356.4deg); +} +.c100.p100 .bar { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -ms-transform: rotate(360deg); + -o-transform: rotate(360deg); + transform: rotate(360deg); +} +.c100:hover { + cursor: default; +} +.c100:hover > span { + width: 3.33em; + line-height: 3.33em; + font-size: 0.3em; + color: #307bbb; +} +.c100:hover:after { + top: 0.04em; + left: 0.04em; + width: 0.92em; + height: 0.92em; +} +.c100.dark { + background-color: #0077c2; +} +.c100.dark .bar, +.c100.dark .fill { + border-color: #80d6ff !important; +} +.c100.dark > span { + color: #0077c2; +} +.c100.dark:after { + background-color: #111; +} +.c100.dark:hover > span { + color: #80d6ff; +} +.c100.error { + background-color: #770000; +} +.c100.error .bar, +.c100.error .fill { + border-color: #dd0000 !important; +} +.c100.error:hover > span { + color: #dd0000; +} +.c100.error > span { + color: #770000; +} + * { margin: 0; padding: 0; @@ -141,20 +2014,24 @@ button, a.button { display: inline-block; cursor: pointer; } +button + button, button + a.button, a.button + button, a.button + a.button { + margin-left: 12px; +} -input, button, textarea { - border: 1px solid #0077c2; - background-color: #0077c2; +input, textarea { + border: none; + background-color: #111; color: white; font-size: 1rem; display: inline-block; padding: 0.25rem; } -input::placeholder, button::placeholder, textarea::placeholder { +input::placeholder, textarea::placeholder { color: #999; } -form input, form button, form textarea { +form input, form textarea { + z-index: 20; box-shadow: 0px 2px 6px 0.5px rgba(0, 0, 0, 0.7); padding: 0.75rem; margin-bottom: 12px; @@ -165,10 +2042,14 @@ form textarea { height: 50vh; } form label { + z-index: 30; + box-shadow: 0px 2px 6px 0.5px rgba(0, 0, 0, 0.7); + background-color: #0077c2; + width: 100%; + line-height: 48px; display: inline-block; padding-left: 12px; margin-top: 16px; - margin-bottom: 8px; } .error-list ul li { @@ -187,7 +2068,7 @@ form label { grid-template-columns: 1fr 1fr; } -.test_case { +.test-case { outline: none; box-shadow: 0px 2px 6px 0.5px rgba(0, 0, 0, 0.5); resize: none; @@ -197,21 +2078,27 @@ form label { background-color: #111; color: #fff; } -.test_case:first-child { +.test-case:first-child { border-right: 2px solid #0077c2; } -.option-line { +.header-line, .option-line { box-shadow: 0px 2px 6px 0.5px rgba(0, 0, 0, 0.5); - display: grid; - grid-template-columns: 1fr 1fr; background-color: #0077c2; padding: 4px 12px 4px; + margin-top: 12px; + display: inline-block; + width: 100%; } -.option-line > * { +.header-line > *, .option-line > * { line-height: 44px; display: inline-block; } + +.option-line { + display: grid; + grid-template-columns: 1fr 1fr; +} .option-line > *:last-child { text-align: right; } diff --git a/codebox/static/css/core.css.map b/codebox/static/css/core.css.map index 200e023..7d0bbc6 100644 --- a/codebox/static/css/core.css.map +++ b/codebox/static/css/core.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../scss/_navbar.scss","../scss/_vars.scss","../scss/_utils.scss","../scss/problem/_sidebar.scss","../scss/core.scss","../scss/_elevate.scss"],"names":[],"mappings":"AAAA;EACC;EACA;EACA,YCIc;EDHd,QCgBe;EDff;EAEA;EAEA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;EACA;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA,kBClCY;EDoCZ;;AAEA;EACC;EACA;;;AE/CJ;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;ACnBD;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EAEA;EACA;EAEA;EACA;EAEA;EACA;EACA;EAEA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EAEA;EACA;EACA;EAEA;EACA;;;AC7CF;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EAEA;EACA;EACA;EACA;;;AAGD;EC/BI;EDiCH;EACA,kBH5Bc;EG6Bd;EAEA;EACA;EACA;EACA;EAEA;;;AAGD;EACC;EACA,kBHzCc;EG0Cd;EAEA;EACA;EACA;;AAEA;EACC;;;AAKD;EC5DG;ED+DF;EACA;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;EACA;EACA;;;AAOD;ECpFG;EDuFF;EACA,kBH9Ee;EG+Ef;EACA;;AAEA;EACC,kBHvFY;;;AG4Ff;EACC;EACA;;;AAGD;EAKC;EC5GG;ED+GH;EACA;EAEA;EACA;EACA;EACA,OHtHO;;AGyGP;EACC;;;AAeF;ECxHI;ED2HH;EACA;EACA,kBHvHc;EGwHd;;AAEA;EACC;EACA;;AAGD;EACC;;;AAKD;EACC;EACA,kBHzIQ;EG0IR;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA","file":"core.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../scss/_navbar.scss","../scss/_vars.scss","../scss/_utils.scss","../scss/_elevate.scss","../scss/problem/_sidebar.scss","../scss/vendor/circle.scss","../scss/vendor/_mixins.scss","../scss/vendor/_variables.scss","../scss/core.scss"],"names":[],"mappings":"AAAA;EACC;EACA;EACA,YCIc;EDHd,QCoBe;EDnBf;EAEA;EAEA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;EACA;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA,kBClCY;EDoCZ;;AAEA;EACC;EACA;;;AE/CJ;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAIA;EACC;EACA;;;AAFD;EACC;EACA;;;AAFD;EACC;EACA;;;AAIF;EACC;EACA;;AAGC;EACC;;AAGD;EACC;;;AAKH;EC3CI;ED6CH;;AAGC;EAEC;;AAIF;EAGC;;;AAIF;EACC;EACA;;;AAGD;EACC;;AAEA;EAAW;;AACX;EAAW;;AACX;EAAW;;AACX;EAAW;;AAEC;EAAW,kBDtEd;;ACuES;EAAW,kBDtEd;;ACuEE;EAAW,kBDtEd;;ACwEA;EAAW,kBDtEd;;ACuES;EAAW,kBDtEd;;ACuEE;EAAW,kBDtEd;;ACwEN;EAAW,kBDtEd;;ACuES;EAAW,kBDtEd;;ACuEE;EAAW,kBDtEd;;;ACyEb;ECvFI;EDyFH;;AAEA;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAIA;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AEpHhB;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EAEA;EACA;EAEA;EACA;EAEA;EACA;EACA;EAEA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EAEA;EACA;EACA;EAEA;EACA;;;AC9CF;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;ECNA;EACA;EACA;EACA;EACA;;;ADMJ;ECVI;EACA;EACA;EACA;EACA;;;ADWJ;EAMI;EACA;EACA;EACA;EACA;EACA;EACA,kBEjCc;;AFsBd;AAAA;AAAA;ECRA,oBDWwB;ECVxB,iBDUwB;ECTxB,YDSwB;;AAUxB;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OEzDU;EF0DV;EACA;EACA;ECzCJ,6BD0CiC;ECzCjC,0BDyCiC;ECxCjC,wBDwCiC;ECvCjC,qBDuCiC;ECnCjC,6BDoCiC;ECnCjC,0BDmCiC;EClCjC,wBDkCiC;ECjCjC,qBDiCiC;EC7BjC,oCD8BwC;EC7BxC,iCD6BwC;EC5BxC,+BD4BwC;EC3BxC,4BD2BwC;;AAGxC;EACI;EACA,KExEO;EFyEP,MEzEO;EF0EP;EACA;EACA;EACA,kBExEG;EFyEH;EACA;ECxDJ,6BDyDiC;ECxDjC,0BDwDiC;ECvDjC,wBDuDiC;ECtDjC,qBDsDiC;EClDjC,6BDmDiC;EClDjC,0BDkDiC;ECjDjC,wBDiDiC;EChDjC,qBDgDiC;EC5CjC,oCD6CwC;EC5CxC,iCD4CwC;EC3CxC,+BD2CwC;EC1CxC,4BD0CwC;;AAGxC;EACI;EACA;EACA;EACA;;AAuBA;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADwGA;EACI;;AACA;EACI;EACA;EACA;EACA,OEzHI;;AF2HR;EACI,KE9HS;EF+HT,ME/HS;EFgIT;EACA;;AAIR;EACI,kBJhIO;;AIiIP;AAAA;EAEI;;AAEJ;EACI,OJtIG;;AIwIP;EACI,kBErII;;AFwIJ;EACI,OJ9IA;;AIkJZ;EACF,kBJ1IW;;AI2IL;AAAA;EAEI;;AAGA;EACI,OJnJR;;AIsJN;EACC,OJrJU;;;AOPb;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EAEA;EACA;EACA;EACA;;;AAGD;ELhCI;EKkCH;EACA,kBP7Bc;EO8Bd;EAEA;EACA;EACA;EACA;EAEA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EAEA;EACA;EACA;;AAEA;EACC;;;AAKD;EACC;ELlEE;EKqEF;EACA;EACA;;AAGD;EACC;EACA;;AAGD;EACC;ELhFE;EKkFF,kBP5Ea;EO6Eb;EACA;EAEA;EACA;EACA;;;AAOD;EL/FG;EKkGF;EACA,kBPzFe;EO0Ff;EACA;;AAEA;EACC,kBPlGY;;;AOuGf;EACC;EACA;;;AAGD;EAKC;ELvHG;EK0HH;EACA;EAEA;EACA;EACA;EACA,OPjIO;;AOoHP;EACC;;;AAeF;ELnII;EKsIH,kBPhIc;EOiId;EACA;EACA;EACA;;AAEA;EACC;EACA;;;AAIF;EAGC;EACA;;AAEA;EACC;;;AAKD;EACC;EACA,kBP5JQ;EO6JR;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA","file":"core.css"} \ No newline at end of file diff --git a/codebox/static/css/highlight/a11y-dark.css b/codebox/static/css/highlight/a11y-dark.css new file mode 100644 index 0000000..b93b742 --- /dev/null +++ b/codebox/static/css/highlight/a11y-dark.css @@ -0,0 +1,99 @@ +/* a11y-dark theme */ +/* Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css */ +/* @author: ericwbailey */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #d4d0ab; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #ffa07a; +} + +/* Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f5ab35; +} + +/* Yellow */ +.hljs-attribute { + color: #ffd700; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #abe338; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #00e0e0; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #dcc6e0; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2b2b2b; + color: #f8f8f2; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +@media screen and (-ms-high-contrast: active) { + .hljs-addition, + .hljs-attribute, + .hljs-built_in, + .hljs-builtin-name, + .hljs-bullet, + .hljs-comment, + .hljs-link, + .hljs-literal, + .hljs-meta, + .hljs-number, + .hljs-params, + .hljs-string, + .hljs-symbol, + .hljs-type, + .hljs-quote { + color: highlight; + } + + .hljs-keyword, + .hljs-selector-tag { + font-weight: bold; + } +} diff --git a/codebox/static/css/highlight/a11y-light.css b/codebox/static/css/highlight/a11y-light.css new file mode 100644 index 0000000..f1bf8f3 --- /dev/null +++ b/codebox/static/css/highlight/a11y-light.css @@ -0,0 +1,99 @@ +/* a11y-light theme */ +/* Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css */ +/* @author: ericwbailey */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #696969; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #d91e18; +} + +/* Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #aa5d00; +} + +/* Yellow */ +.hljs-attribute { + color: #aa5d00; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #008000; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #007faa; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #7928a1; +} + +.hljs { + display: block; + overflow-x: auto; + background: #fefefe; + color: #545454; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +@media screen and (-ms-high-contrast: active) { + .hljs-addition, + .hljs-attribute, + .hljs-built_in, + .hljs-builtin-name, + .hljs-bullet, + .hljs-comment, + .hljs-link, + .hljs-literal, + .hljs-meta, + .hljs-number, + .hljs-params, + .hljs-string, + .hljs-symbol, + .hljs-type, + .hljs-quote { + color: highlight; + } + + .hljs-keyword, + .hljs-selector-tag { + font-weight: bold; + } +} diff --git a/codebox/static/css/highlight/agate.css b/codebox/static/css/highlight/agate.css new file mode 100644 index 0000000..8d64547 --- /dev/null +++ b/codebox/static/css/highlight/agate.css @@ -0,0 +1,108 @@ +/*! + * Agate by Taufik Nurrohman + * ---------------------------------------------------- + * + * #ade5fc + * #a2fca2 + * #c6b4f0 + * #d36363 + * #fcc28c + * #fc9b9b + * #ffa + * #fff + * #333 + * #62c8f3 + * #888 + * + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #333; + color: white; +} + +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-code, +.hljs-emphasis { + font-style: italic; +} + +.hljs-tag { + color: #62c8f3; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-selector-id, +.hljs-selector-class { + color: #ade5fc; +} + +.hljs-string, +.hljs-bullet { + color: #a2fca2; +} + +.hljs-type, +.hljs-title, +.hljs-section, +.hljs-attribute, +.hljs-quote, +.hljs-built_in, +.hljs-builtin-name { + color: #ffa; +} + +.hljs-number, +.hljs-symbol, +.hljs-bullet { + color: #d36363; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color: #fcc28c; +} + +.hljs-comment, +.hljs-deletion, +.hljs-code { + color: #888; +} + +.hljs-regexp, +.hljs-link { + color: #c6b4f0; +} + +.hljs-meta { + color: #fc9b9b; +} + +.hljs-deletion { + background-color: #fc9b9b; + color: #333; +} + +.hljs-addition { + background-color: #a2fca2; + color: #333; +} + +.hljs a { + color: inherit; +} + +.hljs a:focus, +.hljs a:hover { + color: inherit; + text-decoration: underline; +} diff --git a/codebox/static/css/highlight/an-old-hope.css b/codebox/static/css/highlight/an-old-hope.css new file mode 100644 index 0000000..a6d56f4 --- /dev/null +++ b/codebox/static/css/highlight/an-old-hope.css @@ -0,0 +1,89 @@ +/* + +An Old Hope – Star Wars Syntax (c) Gustavo Costa +Original theme - Ocean Dark Theme – by https://github.com/gavsiu +Based on Jesse Leite's Atom syntax theme 'An Old Hope' – https://github.com/JesseLeite/an-old-hope-syntax-atom + +*/ + +/* Death Star Comment */ +.hljs-comment, +.hljs-quote +{ + color: #B6B18B; +} + +/* Darth Vader */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion +{ + color: #EB3C54; +} + +/* Threepio */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link +{ + color: #E7CE56; +} + +/* Luke Skywalker */ +.hljs-attribute +{ + color: #EE7C2B; +} + +/* Obi Wan Kenobi */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition +{ + color: #4FB4D7; +} + +/* Yoda */ +.hljs-title, +.hljs-section +{ + color: #78BB65; +} + +/* Mace Windu */ +.hljs-keyword, +.hljs-selector-tag +{ + color: #B45EA4; +} + +/* Millenium Falcon */ +.hljs +{ + display: block; + overflow-x: auto; + background: #1C1D21; + color: #c0c5ce; + padding: 0.5em; +} + +.hljs-emphasis +{ + font-style: italic; +} + +.hljs-strong +{ + font-weight: bold; +} diff --git a/codebox/static/css/highlight/androidstudio.css b/codebox/static/css/highlight/androidstudio.css new file mode 100644 index 0000000..bc8e473 --- /dev/null +++ b/codebox/static/css/highlight/androidstudio.css @@ -0,0 +1,66 @@ +/* +Date: 24 Fev 2015 +Author: Pedro Oliveira +*/ + +.hljs { + color: #a9b7c6; + background: #282b2e; + display: block; + overflow-x: auto; + padding: 0.5em; +} + +.hljs-number, +.hljs-literal, +.hljs-symbol, +.hljs-bullet { + color: #6897BB; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-deletion { + color: #cc7832; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-link { + color: #629755; +} + +.hljs-comment, +.hljs-quote { + color: #808080; +} + +.hljs-meta { + color: #bbb529; +} + +.hljs-string, +.hljs-attribute, +.hljs-addition { + color: #6A8759; +} + +.hljs-section, +.hljs-title, +.hljs-type { + color: #ffc66d; +} + +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e8bf6a; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/arduino-light.css b/codebox/static/css/highlight/arduino-light.css new file mode 100644 index 0000000..4b8b7fd --- /dev/null +++ b/codebox/static/css/highlight/arduino-light.css @@ -0,0 +1,88 @@ +/* + +Arduino® Light Theme - Stefania Mellai + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #FFFFFF; +} + +.hljs, +.hljs-subst { + color: #434f54; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-doctag, +.hljs-name { + color: #00979D; +} + +.hljs-built_in, +.hljs-literal, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #D35400; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #00979D; +} + +.hljs-type, +.hljs-string, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #005C5F; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-comment { + color: rgba(149,165,166,.8); +} + +.hljs-meta-keyword { + color: #728E00; +} + +.hljs-meta { + color: #728E00; + color: #434f54; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-function { + color: #728E00; +} + +.hljs-number { + color: #8A7B52; +} diff --git a/codebox/static/css/highlight/arta.css b/codebox/static/css/highlight/arta.css new file mode 100644 index 0000000..75ef3a9 --- /dev/null +++ b/codebox/static/css/highlight/arta.css @@ -0,0 +1,73 @@ +/* +Date: 17.V.2011 +Author: pumbur +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #222; +} + +.hljs, +.hljs-subst { + color: #aaa; +} + +.hljs-section { + color: #fff; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #444; +} + +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-regexp { + color: #ffcc33; +} + +.hljs-number, +.hljs-addition { + color: #00cc66; +} + +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-template-variable, +.hljs-attribute, +.hljs-link { + color: #32aaee; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #6644aa; +} + +.hljs-title, +.hljs-variable, +.hljs-deletion, +.hljs-template-tag { + color: #bb1166; +} + +.hljs-section, +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/codebox/static/css/highlight/ascetic.css b/codebox/static/css/highlight/ascetic.css new file mode 100644 index 0000000..48397e8 --- /dev/null +++ b/codebox/static/css/highlight/ascetic.css @@ -0,0 +1,45 @@ +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-symbol, +.hljs-bullet, +.hljs-section, +.hljs-addition, +.hljs-attribute, +.hljs-link { + color: #888; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta, +.hljs-deletion { + color: #ccc; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-name, +.hljs-type, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/codebox/static/css/highlight/atelier-cave-dark.css b/codebox/static/css/highlight/atelier-cave-dark.css new file mode 100644 index 0000000..65428f3 --- /dev/null +++ b/codebox/static/css/highlight/atelier-cave-dark.css @@ -0,0 +1,83 @@ +/* Base16 Atelier Cave Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Cave Comment */ +.hljs-comment, +.hljs-quote { + color: #7e7887; +} + +/* Atelier-Cave Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-regexp, +.hljs-link, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #be4678; +} + +/* Atelier-Cave Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #aa573c; +} + +/* Atelier-Cave Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #2a9292; +} + +/* Atelier-Cave Blue */ +.hljs-title, +.hljs-section { + color: #576ddb; +} + +/* Atelier-Cave Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #955ae7; +} + +.hljs-deletion, +.hljs-addition { + color: #19171c; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #be4678; +} + +.hljs-addition { + background-color: #2a9292; +} + +.hljs { + display: block; + overflow-x: auto; + background: #19171c; + color: #8b8792; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-cave-light.css b/codebox/static/css/highlight/atelier-cave-light.css new file mode 100644 index 0000000..b419f9f --- /dev/null +++ b/codebox/static/css/highlight/atelier-cave-light.css @@ -0,0 +1,85 @@ +/* Base16 Atelier Cave Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Cave Comment */ +.hljs-comment, +.hljs-quote { + color: #655f6d; +} + +/* Atelier-Cave Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #be4678; +} + +/* Atelier-Cave Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #aa573c; +} + +/* Atelier-Cave Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #2a9292; +} + +/* Atelier-Cave Blue */ +.hljs-title, +.hljs-section { + color: #576ddb; +} + +/* Atelier-Cave Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #955ae7; +} + +.hljs-deletion, +.hljs-addition { + color: #19171c; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #be4678; +} + +.hljs-addition { + background-color: #2a9292; +} + +.hljs { + display: block; + overflow-x: auto; + background: #efecf4; + color: #585260; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-dune-dark.css b/codebox/static/css/highlight/atelier-dune-dark.css new file mode 100644 index 0000000..1684f52 --- /dev/null +++ b/codebox/static/css/highlight/atelier-dune-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Dune Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Dune Comment */ +.hljs-comment, +.hljs-quote { + color: #999580; +} + +/* Atelier-Dune Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d73737; +} + +/* Atelier-Dune Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b65611; +} + +/* Atelier-Dune Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #60ac39; +} + +/* Atelier-Dune Blue */ +.hljs-title, +.hljs-section { + color: #6684e1; +} + +/* Atelier-Dune Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b854d4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #20201d; + color: #a6a28c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-dune-light.css b/codebox/static/css/highlight/atelier-dune-light.css new file mode 100644 index 0000000..547719d --- /dev/null +++ b/codebox/static/css/highlight/atelier-dune-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Dune Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Dune Comment */ +.hljs-comment, +.hljs-quote { + color: #7d7a68; +} + +/* Atelier-Dune Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d73737; +} + +/* Atelier-Dune Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b65611; +} + +/* Atelier-Dune Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #60ac39; +} + +/* Atelier-Dune Blue */ +.hljs-title, +.hljs-section { + color: #6684e1; +} + +/* Atelier-Dune Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b854d4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #fefbec; + color: #6e6b5e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-estuary-dark.css b/codebox/static/css/highlight/atelier-estuary-dark.css new file mode 100644 index 0000000..a5e5071 --- /dev/null +++ b/codebox/static/css/highlight/atelier-estuary-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Estuary Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Estuary Comment */ +.hljs-comment, +.hljs-quote { + color: #878573; +} + +/* Atelier-Estuary Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ba6236; +} + +/* Atelier-Estuary Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ae7313; +} + +/* Atelier-Estuary Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7d9726; +} + +/* Atelier-Estuary Blue */ +.hljs-title, +.hljs-section { + color: #36a166; +} + +/* Atelier-Estuary Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #5f9182; +} + +.hljs-deletion, +.hljs-addition { + color: #22221b; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ba6236; +} + +.hljs-addition { + background-color: #7d9726; +} + +.hljs { + display: block; + overflow-x: auto; + background: #22221b; + color: #929181; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-estuary-light.css b/codebox/static/css/highlight/atelier-estuary-light.css new file mode 100644 index 0000000..1daee5d --- /dev/null +++ b/codebox/static/css/highlight/atelier-estuary-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Estuary Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Estuary Comment */ +.hljs-comment, +.hljs-quote { + color: #6c6b5a; +} + +/* Atelier-Estuary Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ba6236; +} + +/* Atelier-Estuary Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ae7313; +} + +/* Atelier-Estuary Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7d9726; +} + +/* Atelier-Estuary Blue */ +.hljs-title, +.hljs-section { + color: #36a166; +} + +/* Atelier-Estuary Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #5f9182; +} + +.hljs-deletion, +.hljs-addition { + color: #22221b; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ba6236; +} + +.hljs-addition { + background-color: #7d9726; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4f3ec; + color: #5f5e4e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-forest-dark.css b/codebox/static/css/highlight/atelier-forest-dark.css new file mode 100644 index 0000000..0ef4fae --- /dev/null +++ b/codebox/static/css/highlight/atelier-forest-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Forest Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Forest Comment */ +.hljs-comment, +.hljs-quote { + color: #9c9491; +} + +/* Atelier-Forest Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #f22c40; +} + +/* Atelier-Forest Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #df5320; +} + +/* Atelier-Forest Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7b9726; +} + +/* Atelier-Forest Blue */ +.hljs-title, +.hljs-section { + color: #407ee7; +} + +/* Atelier-Forest Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6666ea; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b1918; + color: #a8a19f; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-forest-light.css b/codebox/static/css/highlight/atelier-forest-light.css new file mode 100644 index 0000000..bbedde1 --- /dev/null +++ b/codebox/static/css/highlight/atelier-forest-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Forest Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Forest Comment */ +.hljs-comment, +.hljs-quote { + color: #766e6b; +} + +/* Atelier-Forest Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #f22c40; +} + +/* Atelier-Forest Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #df5320; +} + +/* Atelier-Forest Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7b9726; +} + +/* Atelier-Forest Blue */ +.hljs-title, +.hljs-section { + color: #407ee7; +} + +/* Atelier-Forest Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6666ea; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f1efee; + color: #68615e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-heath-dark.css b/codebox/static/css/highlight/atelier-heath-dark.css new file mode 100644 index 0000000..fe01ff7 --- /dev/null +++ b/codebox/static/css/highlight/atelier-heath-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Heath Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Heath Comment */ +.hljs-comment, +.hljs-quote { + color: #9e8f9e; +} + +/* Atelier-Heath Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca402b; +} + +/* Atelier-Heath Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #a65926; +} + +/* Atelier-Heath Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #918b3b; +} + +/* Atelier-Heath Blue */ +.hljs-title, +.hljs-section { + color: #516aec; +} + +/* Atelier-Heath Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #7b59c0; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b181b; + color: #ab9bab; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-heath-light.css b/codebox/static/css/highlight/atelier-heath-light.css new file mode 100644 index 0000000..ee43786 --- /dev/null +++ b/codebox/static/css/highlight/atelier-heath-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Heath Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Heath Comment */ +.hljs-comment, +.hljs-quote { + color: #776977; +} + +/* Atelier-Heath Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca402b; +} + +/* Atelier-Heath Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #a65926; +} + +/* Atelier-Heath Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #918b3b; +} + +/* Atelier-Heath Blue */ +.hljs-title, +.hljs-section { + color: #516aec; +} + +/* Atelier-Heath Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #7b59c0; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f7f3f7; + color: #695d69; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-lakeside-dark.css b/codebox/static/css/highlight/atelier-lakeside-dark.css new file mode 100644 index 0000000..a937d3b --- /dev/null +++ b/codebox/static/css/highlight/atelier-lakeside-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Lakeside Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Lakeside Comment */ +.hljs-comment, +.hljs-quote { + color: #7195a8; +} + +/* Atelier-Lakeside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d22d72; +} + +/* Atelier-Lakeside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #935c25; +} + +/* Atelier-Lakeside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #568c3b; +} + +/* Atelier-Lakeside Blue */ +.hljs-title, +.hljs-section { + color: #257fad; +} + +/* Atelier-Lakeside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6b6bb8; +} + +.hljs { + display: block; + overflow-x: auto; + background: #161b1d; + color: #7ea2b4; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-lakeside-light.css b/codebox/static/css/highlight/atelier-lakeside-light.css new file mode 100644 index 0000000..6c7e8f9 --- /dev/null +++ b/codebox/static/css/highlight/atelier-lakeside-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Lakeside Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Lakeside Comment */ +.hljs-comment, +.hljs-quote { + color: #5a7b8c; +} + +/* Atelier-Lakeside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d22d72; +} + +/* Atelier-Lakeside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #935c25; +} + +/* Atelier-Lakeside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #568c3b; +} + +/* Atelier-Lakeside Blue */ +.hljs-title, +.hljs-section { + color: #257fad; +} + +/* Atelier-Lakeside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6b6bb8; +} + +.hljs { + display: block; + overflow-x: auto; + background: #ebf8ff; + color: #516d7b; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-plateau-dark.css b/codebox/static/css/highlight/atelier-plateau-dark.css new file mode 100644 index 0000000..3bb0526 --- /dev/null +++ b/codebox/static/css/highlight/atelier-plateau-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Plateau Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Plateau Comment */ +.hljs-comment, +.hljs-quote { + color: #7e7777; +} + +/* Atelier-Plateau Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca4949; +} + +/* Atelier-Plateau Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b45a3c; +} + +/* Atelier-Plateau Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #4b8b8b; +} + +/* Atelier-Plateau Blue */ +.hljs-title, +.hljs-section { + color: #7272ca; +} + +/* Atelier-Plateau Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8464c4; +} + +.hljs-deletion, +.hljs-addition { + color: #1b1818; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ca4949; +} + +.hljs-addition { + background-color: #4b8b8b; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b1818; + color: #8a8585; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-plateau-light.css b/codebox/static/css/highlight/atelier-plateau-light.css new file mode 100644 index 0000000..5f0222b --- /dev/null +++ b/codebox/static/css/highlight/atelier-plateau-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Plateau Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Plateau Comment */ +.hljs-comment, +.hljs-quote { + color: #655d5d; +} + +/* Atelier-Plateau Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca4949; +} + +/* Atelier-Plateau Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b45a3c; +} + +/* Atelier-Plateau Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #4b8b8b; +} + +/* Atelier-Plateau Blue */ +.hljs-title, +.hljs-section { + color: #7272ca; +} + +/* Atelier-Plateau Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8464c4; +} + +.hljs-deletion, +.hljs-addition { + color: #1b1818; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ca4949; +} + +.hljs-addition { + background-color: #4b8b8b; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4ecec; + color: #585050; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-savanna-dark.css b/codebox/static/css/highlight/atelier-savanna-dark.css new file mode 100644 index 0000000..38f8314 --- /dev/null +++ b/codebox/static/css/highlight/atelier-savanna-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Savanna Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Savanna Comment */ +.hljs-comment, +.hljs-quote { + color: #78877d; +} + +/* Atelier-Savanna Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #b16139; +} + +/* Atelier-Savanna Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #9f713c; +} + +/* Atelier-Savanna Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #489963; +} + +/* Atelier-Savanna Blue */ +.hljs-title, +.hljs-section { + color: #478c90; +} + +/* Atelier-Savanna Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #55859b; +} + +.hljs-deletion, +.hljs-addition { + color: #171c19; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #b16139; +} + +.hljs-addition { + background-color: #489963; +} + +.hljs { + display: block; + overflow-x: auto; + background: #171c19; + color: #87928a; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-savanna-light.css b/codebox/static/css/highlight/atelier-savanna-light.css new file mode 100644 index 0000000..1ccd7c6 --- /dev/null +++ b/codebox/static/css/highlight/atelier-savanna-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Savanna Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Savanna Comment */ +.hljs-comment, +.hljs-quote { + color: #5f6d64; +} + +/* Atelier-Savanna Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #b16139; +} + +/* Atelier-Savanna Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #9f713c; +} + +/* Atelier-Savanna Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #489963; +} + +/* Atelier-Savanna Blue */ +.hljs-title, +.hljs-section { + color: #478c90; +} + +/* Atelier-Savanna Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #55859b; +} + +.hljs-deletion, +.hljs-addition { + color: #171c19; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #b16139; +} + +.hljs-addition { + background-color: #489963; +} + +.hljs { + display: block; + overflow-x: auto; + background: #ecf4ee; + color: #526057; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-seaside-dark.css b/codebox/static/css/highlight/atelier-seaside-dark.css new file mode 100644 index 0000000..df29949 --- /dev/null +++ b/codebox/static/css/highlight/atelier-seaside-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Seaside Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Seaside Comment */ +.hljs-comment, +.hljs-quote { + color: #809980; +} + +/* Atelier-Seaside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e6193c; +} + +/* Atelier-Seaside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #87711d; +} + +/* Atelier-Seaside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #29a329; +} + +/* Atelier-Seaside Blue */ +.hljs-title, +.hljs-section { + color: #3d62f5; +} + +/* Atelier-Seaside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ad2bee; +} + +.hljs { + display: block; + overflow-x: auto; + background: #131513; + color: #8ca68c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-seaside-light.css b/codebox/static/css/highlight/atelier-seaside-light.css new file mode 100644 index 0000000..9d960f2 --- /dev/null +++ b/codebox/static/css/highlight/atelier-seaside-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Seaside Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Seaside Comment */ +.hljs-comment, +.hljs-quote { + color: #687d68; +} + +/* Atelier-Seaside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e6193c; +} + +/* Atelier-Seaside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #87711d; +} + +/* Atelier-Seaside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #29a329; +} + +/* Atelier-Seaside Blue */ +.hljs-title, +.hljs-section { + color: #3d62f5; +} + +/* Atelier-Seaside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ad2bee; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4fbf4; + color: #5e6e5e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-sulphurpool-dark.css b/codebox/static/css/highlight/atelier-sulphurpool-dark.css new file mode 100644 index 0000000..c2ab793 --- /dev/null +++ b/codebox/static/css/highlight/atelier-sulphurpool-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Sulphurpool Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Sulphurpool Comment */ +.hljs-comment, +.hljs-quote { + color: #898ea4; +} + +/* Atelier-Sulphurpool Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #c94922; +} + +/* Atelier-Sulphurpool Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #c76b29; +} + +/* Atelier-Sulphurpool Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #ac9739; +} + +/* Atelier-Sulphurpool Blue */ +.hljs-title, +.hljs-section { + color: #3d8fd1; +} + +/* Atelier-Sulphurpool Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6679cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #202746; + color: #979db4; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atelier-sulphurpool-light.css b/codebox/static/css/highlight/atelier-sulphurpool-light.css new file mode 100644 index 0000000..96c47d0 --- /dev/null +++ b/codebox/static/css/highlight/atelier-sulphurpool-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Sulphurpool Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Sulphurpool Comment */ +.hljs-comment, +.hljs-quote { + color: #6b7394; +} + +/* Atelier-Sulphurpool Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #c94922; +} + +/* Atelier-Sulphurpool Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #c76b29; +} + +/* Atelier-Sulphurpool Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #ac9739; +} + +/* Atelier-Sulphurpool Blue */ +.hljs-title, +.hljs-section { + color: #3d8fd1; +} + +/* Atelier-Sulphurpool Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6679cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f5f7ff; + color: #5e6687; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/atom-one-dark-reasonable.css b/codebox/static/css/highlight/atom-one-dark-reasonable.css new file mode 100644 index 0000000..fd41c99 --- /dev/null +++ b/codebox/static/css/highlight/atom-one-dark-reasonable.css @@ -0,0 +1,77 @@ +/* + +Atom One Dark With support for ReasonML by Gidi Morris, based off work by Daniel Gamage + +Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax + +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + line-height: 1.3em; + color: #abb2bf; + background: #282c34; + border-radius: 5px; +} +.hljs-keyword, .hljs-operator { + color: #F92672; +} +.hljs-pattern-match { + color: #F92672; +} +.hljs-pattern-match .hljs-constructor { + color: #61aeee; +} +.hljs-function { + color: #61aeee; +} +.hljs-function .hljs-params { + color: #A6E22E; +} +.hljs-function .hljs-params .hljs-typing { + color: #FD971F; +} +.hljs-module-access .hljs-module { + color: #7e57c2; +} +.hljs-constructor { + color: #e2b93d; +} +.hljs-constructor .hljs-string { + color: #9CCC65; +} +.hljs-comment, .hljs-quote { + color: #b18eb1; + font-style: italic; +} +.hljs-doctag, .hljs-formula { + color: #c678dd; +} +.hljs-section, .hljs-name, .hljs-selector-tag, .hljs-deletion, .hljs-subst { + color: #e06c75; +} +.hljs-literal { + color: #56b6c2; +} +.hljs-string, .hljs-regexp, .hljs-addition, .hljs-attribute, .hljs-meta-string { + color: #98c379; +} +.hljs-built_in, .hljs-class .hljs-title { + color: #e6c07b; +} +.hljs-attr, .hljs-variable, .hljs-template-variable, .hljs-type, .hljs-selector-class, .hljs-selector-attr, .hljs-selector-pseudo, .hljs-number { + color: #d19a66; +} +.hljs-symbol, .hljs-bullet, .hljs-link, .hljs-meta, .hljs-selector-id, .hljs-title { + color: #61aeee; +} +.hljs-emphasis { + font-style: italic; +} +.hljs-strong { + font-weight: bold; +} +.hljs-link { + text-decoration: underline; +} diff --git a/codebox/static/css/highlight/atom-one-dark.css b/codebox/static/css/highlight/atom-one-dark.css new file mode 100644 index 0000000..1616aaf --- /dev/null +++ b/codebox/static/css/highlight/atom-one-dark.css @@ -0,0 +1,96 @@ +/* + +Atom One Dark by Daniel Gamage +Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax + +base: #282c34 +mono-1: #abb2bf +mono-2: #818896 +mono-3: #5c6370 +hue-1: #56b6c2 +hue-2: #61aeee +hue-3: #c678dd +hue-4: #98c379 +hue-5: #e06c75 +hue-5-2: #be5046 +hue-6: #d19a66 +hue-6-2: #e6c07b + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #abb2bf; + background: #282c34; +} + +.hljs-comment, +.hljs-quote { + color: #5c6370; + font-style: italic; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-formula { + color: #c678dd; +} + +.hljs-section, +.hljs-name, +.hljs-selector-tag, +.hljs-deletion, +.hljs-subst { + color: #e06c75; +} + +.hljs-literal { + color: #56b6c2; +} + +.hljs-string, +.hljs-regexp, +.hljs-addition, +.hljs-attribute, +.hljs-meta-string { + color: #98c379; +} + +.hljs-built_in, +.hljs-class .hljs-title { + color: #e6c07b; +} + +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-type, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-number { + color: #d19a66; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-title { + color: #61aeee; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/codebox/static/css/highlight/atom-one-light.css b/codebox/static/css/highlight/atom-one-light.css new file mode 100644 index 0000000..d5bd1d2 --- /dev/null +++ b/codebox/static/css/highlight/atom-one-light.css @@ -0,0 +1,96 @@ +/* + +Atom One Light by Daniel Gamage +Original One Light Syntax theme from https://github.com/atom/one-light-syntax + +base: #fafafa +mono-1: #383a42 +mono-2: #686b77 +mono-3: #a0a1a7 +hue-1: #0184bb +hue-2: #4078f2 +hue-3: #a626a4 +hue-4: #50a14f +hue-5: #e45649 +hue-5-2: #c91243 +hue-6: #986801 +hue-6-2: #c18401 + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #383a42; + background: #fafafa; +} + +.hljs-comment, +.hljs-quote { + color: #a0a1a7; + font-style: italic; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-formula { + color: #a626a4; +} + +.hljs-section, +.hljs-name, +.hljs-selector-tag, +.hljs-deletion, +.hljs-subst { + color: #e45649; +} + +.hljs-literal { + color: #0184bb; +} + +.hljs-string, +.hljs-regexp, +.hljs-addition, +.hljs-attribute, +.hljs-meta-string { + color: #50a14f; +} + +.hljs-built_in, +.hljs-class .hljs-title { + color: #c18401; +} + +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-type, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-number { + color: #986801; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-title { + color: #4078f2; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/codebox/static/css/highlight/brown-paper.css b/codebox/static/css/highlight/brown-paper.css new file mode 100644 index 0000000..f0197b9 --- /dev/null +++ b/codebox/static/css/highlight/brown-paper.css @@ -0,0 +1,64 @@ +/* + +Brown Paper style from goldblog.com.ua (c) Zaripov Yura + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background:#b7a68e url(./brown-papersq.png); +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color:#005599; + font-weight:bold; +} + +.hljs, +.hljs-subst { + color: #363c69; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable, +.hljs-link, +.hljs-name { + color: #2c009f; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta, +.hljs-deletion { + color: #802022; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/codebox/static/css/highlight/brown-papersq.png b/codebox/static/css/highlight/brown-papersq.png new file mode 100644 index 0000000..3813903 Binary files /dev/null and b/codebox/static/css/highlight/brown-papersq.png differ diff --git a/codebox/static/css/highlight/codepen-embed.css b/codebox/static/css/highlight/codepen-embed.css new file mode 100644 index 0000000..195c4a0 --- /dev/null +++ b/codebox/static/css/highlight/codepen-embed.css @@ -0,0 +1,60 @@ +/* + codepen.io Embed Theme + Author: Justin Perry + Original theme - https://github.com/chriskempson/tomorrow-theme +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #222; + color: #fff; +} + +.hljs-comment, +.hljs-quote { + color: #777; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-regexp, +.hljs-meta, +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-params, +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-deletion { + color: #ab875d; +} + +.hljs-section, +.hljs-title, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-type, +.hljs-attribute { + color: #9b869b; +} + +.hljs-string, +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #8f9c6c; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/color-brewer.css b/codebox/static/css/highlight/color-brewer.css new file mode 100644 index 0000000..7934d98 --- /dev/null +++ b/codebox/static/css/highlight/color-brewer.css @@ -0,0 +1,71 @@ +/* + +Colorbrewer theme +Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock +Ported by Fabrício Tavares de Oliveira + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fff; +} + +.hljs, +.hljs-subst { + color: #000; +} + +.hljs-string, +.hljs-meta, +.hljs-symbol, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #756bb1; +} + +.hljs-comment, +.hljs-quote { + color: #636363; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-bullet, +.hljs-link { + color: #31a354; +} + +.hljs-deletion, +.hljs-variable { + color: #88f; +} + + + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-doctag, +.hljs-type, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-strong { + color: #3182bd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-attribute { + color: #e6550d; +} diff --git a/codebox/static/css/highlight/darcula.css b/codebox/static/css/highlight/darcula.css new file mode 100644 index 0000000..be182d0 --- /dev/null +++ b/codebox/static/css/highlight/darcula.css @@ -0,0 +1,77 @@ +/* + +Darcula color scheme from the JetBrains family of IDEs + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #2b2b2b; +} + +.hljs { + color: #bababa; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-link, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #6896ba; +} + +.hljs-code, +.hljs-selector-class { + color: #a6e22e; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-attribute, +.hljs-name, +.hljs-variable { + color: #cb7832; +} + +.hljs-params { + color: #b9b9b9; +} + +.hljs-string { + color: #6a8759; +} + +.hljs-subst, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-symbol, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #e0c46c; +} + +.hljs-comment, +.hljs-deletion, +.hljs-meta { + color: #7f7f7f; +} diff --git a/codebox/static/css/highlight/dark.css b/codebox/static/css/highlight/dark.css new file mode 100644 index 0000000..b4724f5 --- /dev/null +++ b/codebox/static/css/highlight/dark.css @@ -0,0 +1,63 @@ +/* + +Dark style from softwaremaniacs.org (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #444; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-section, +.hljs-link { + color: white; +} + +.hljs, +.hljs-subst { + color: #ddd; +} + +.hljs-string, +.hljs-title, +.hljs-name, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #d88; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #777; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/codebox/static/css/highlight/darkula.css b/codebox/static/css/highlight/darkula.css new file mode 100644 index 0000000..f4646c3 --- /dev/null +++ b/codebox/static/css/highlight/darkula.css @@ -0,0 +1,6 @@ +/* + Deprecated due to a typo in the name and left here for compatibility purpose only. + Please use darcula.css instead. +*/ + +@import url('darcula.css'); diff --git a/codebox/static/css/highlight/default.css b/codebox/static/css/highlight/default.css new file mode 100644 index 0000000..f1bfade --- /dev/null +++ b/codebox/static/css/highlight/default.css @@ -0,0 +1,99 @@ +/* + +Original highlight.js style (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #F0F0F0; +} + + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #444; +} + +.hljs-comment { + color: #888888; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold; +} + + +/* User color: hue: 0 */ + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060; +} + + +/* Language color: hue: 90; */ + +.hljs-literal { + color: #78A960; +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300; +} + + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/docco.css b/codebox/static/css/highlight/docco.css new file mode 100644 index 0000000..db366be --- /dev/null +++ b/codebox/static/css/highlight/docco.css @@ -0,0 +1,97 @@ +/* +Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars) +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #000; + background: #f8f8ff; +} + +.hljs-comment, +.hljs-quote { + color: #408080; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-subst { + color: #954121; +} + +.hljs-number { + color: #40a070; +} + +.hljs-string, +.hljs-doctag { + color: #219161; +} + +.hljs-selector-id, +.hljs-selector-class, +.hljs-section, +.hljs-type { + color: #19469d; +} + +.hljs-params { + color: #00f; +} + +.hljs-title { + color: #458; + font-weight: bold; +} + +.hljs-tag, +.hljs-name, +.hljs-attribute { + color: #000080; + font-weight: normal; +} + +.hljs-variable, +.hljs-template-variable { + color: #008080; +} + +.hljs-regexp, +.hljs-link { + color: #b68; +} + +.hljs-symbol, +.hljs-bullet { + color: #990073; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #0086b3; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + background: #fdd; +} + +.hljs-addition { + background: #dfd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/dracula.css b/codebox/static/css/highlight/dracula.css new file mode 100644 index 0000000..d591db6 --- /dev/null +++ b/codebox/static/css/highlight/dracula.css @@ -0,0 +1,76 @@ +/* + +Dracula Theme v1.2.0 + +https://github.com/zenorocha/dracula-theme + +Copyright 2015, All rights reserved + +Code licensed under the MIT license +http://zenorocha.mit-license.org + +@author Éverton Ribeiro +@author Zeno Rocha + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282a36; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-section, +.hljs-link { + color: #8be9fd; +} + +.hljs-function .hljs-keyword { + color: #ff79c6; +} + +.hljs, +.hljs-subst { + color: #f8f8f2; +} + +.hljs-string, +.hljs-title, +.hljs-name, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #f1fa8c; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #6272a4; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/codebox/static/css/highlight/far.css b/codebox/static/css/highlight/far.css new file mode 100644 index 0000000..2b3f87b --- /dev/null +++ b/codebox/static/css/highlight/far.css @@ -0,0 +1,71 @@ +/* + +FAR Style (c) MajestiC + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000080; +} + +.hljs, +.hljs-subst { + color: #0ff; +} + +.hljs-string, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #ff0; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-variable { + color: #fff; +} + +.hljs-comment, +.hljs-quote, +.hljs-doctag, +.hljs-deletion { + color: #888; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-link { + color: #0f0; +} + +.hljs-meta { + color: #008080; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/codebox/static/css/highlight/foundation.css b/codebox/static/css/highlight/foundation.css new file mode 100644 index 0000000..f1fe64b --- /dev/null +++ b/codebox/static/css/highlight/foundation.css @@ -0,0 +1,88 @@ +/* +Description: Foundation 4 docs style for highlight.js +Author: Dan Allen +Website: http://foundation.zurb.com/docs/ +Version: 1.0 +Date: 2013-04-02 +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #eee; color: black; +} + +.hljs-link, +.hljs-emphasis, +.hljs-attribute, +.hljs-addition { + color: #070; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong, +.hljs-string, +.hljs-deletion { + color: #d14; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-quote, +.hljs-comment { + color: #998; + font-style: italic; +} + +.hljs-section, +.hljs-title { + color: #900; +} + +.hljs-class .hljs-title, +.hljs-type { + color: #458; +} + +.hljs-variable, +.hljs-template-variable { + color: #336699; +} + +.hljs-bullet { + color: #997700; +} + +.hljs-meta { + color: #3344bb; +} + +.hljs-code, +.hljs-number, +.hljs-literal, +.hljs-keyword, +.hljs-selector-tag { + color: #099; +} + +.hljs-regexp { + background-color: #fff0ff; + color: #880088; +} + +.hljs-symbol { + color: #990073; +} + +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #007700; +} diff --git a/codebox/static/css/highlight/github-gist.css b/codebox/static/css/highlight/github-gist.css new file mode 100644 index 0000000..18240c8 --- /dev/null +++ b/codebox/static/css/highlight/github-gist.css @@ -0,0 +1,79 @@ +/** + * GitHub Gist Theme + * Author : Anthony Attard - https://github.com/AnthonyAttard + * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro + */ + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #d73a49; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #6f42c1; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +.hljs-number { + color: #005cc5; +} + +.hljs-string { + color: #032f62; +} diff --git a/codebox/static/css/highlight/github.css b/codebox/static/css/highlight/github.css new file mode 100644 index 0000000..791932b --- /dev/null +++ b/codebox/static/css/highlight/github.css @@ -0,0 +1,99 @@ +/* + +github.com style (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #f8f8f8; +} + +.hljs-comment, +.hljs-quote { + color: #998; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-subst { + color: #333; + font-weight: bold; +} + +.hljs-number, +.hljs-literal, +.hljs-variable, +.hljs-template-variable, +.hljs-tag .hljs-attr { + color: #008080; +} + +.hljs-string, +.hljs-doctag { + color: #d14; +} + +.hljs-title, +.hljs-section, +.hljs-selector-id { + color: #900; + font-weight: bold; +} + +.hljs-subst { + font-weight: normal; +} + +.hljs-type, +.hljs-class .hljs-title { + color: #458; + font-weight: bold; +} + +.hljs-tag, +.hljs-name, +.hljs-attribute { + color: #000080; + font-weight: normal; +} + +.hljs-regexp, +.hljs-link { + color: #009926; +} + +.hljs-symbol, +.hljs-bullet { + color: #990073; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #0086b3; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + background: #fdd; +} + +.hljs-addition { + background: #dfd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/gml.css b/codebox/static/css/highlight/gml.css new file mode 100644 index 0000000..ffb5e47 --- /dev/null +++ b/codebox/static/css/highlight/gml.css @@ -0,0 +1,78 @@ +/* + +GML Theme - Meseta + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #222222; + color: #C0C0C0; +} + +.hljs-keywords { + color: #FFB871; + font-weight: bold; +} + +.hljs-built_in { + color: #FFB871; +} + +.hljs-literal { + color: #FF8080; +} + +.hljs-symbol { + color: #58E55A; +} + +.hljs-comment { + color: #5B995B; +} + +.hljs-string { + color: #FFFF00; +} + +.hljs-number { + color: #FF8080; +} + +.hljs-attribute, +.hljs-selector-tag, +.hljs-doctag, +.hljs-name, +.hljs-bullet, +.hljs-code, +.hljs-addition, +.hljs-regexp, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-type, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion, +.hljs-title, +.hljs-section, +.hljs-function, +.hljs-meta-keyword, +.hljs-meta, +.hljs-subst { + color: #C0C0C0; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/googlecode.css b/codebox/static/css/highlight/googlecode.css new file mode 100644 index 0000000..884ad63 --- /dev/null +++ b/codebox/static/css/highlight/googlecode.css @@ -0,0 +1,89 @@ +/* + +Google Code style (c) Aahan Krish + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-comment, +.hljs-quote { + color: #800; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-title, +.hljs-name { + color: #008; +} + +.hljs-variable, +.hljs-template-variable { + color: #660; +} + +.hljs-string, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-regexp { + color: #080; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-meta, +.hljs-number, +.hljs-link { + color: #066; +} + +.hljs-title, +.hljs-doctag, +.hljs-type, +.hljs-attr, +.hljs-built_in, +.hljs-builtin-name, +.hljs-params { + color: #606; +} + +.hljs-attribute, +.hljs-subst { + color: #000; +} + +.hljs-formula { + background-color: #eee; + font-style: italic; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #9B703F +} + +.hljs-addition { + background-color: #baeeba; +} + +.hljs-deletion { + background-color: #ffc8bd; +} + +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/codebox/static/css/highlight/grayscale.css b/codebox/static/css/highlight/grayscale.css new file mode 100644 index 0000000..5376f34 --- /dev/null +++ b/codebox/static/css/highlight/grayscale.css @@ -0,0 +1,101 @@ +/* + +grayscale style (c) MY Sun + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #fff; +} + +.hljs-comment, +.hljs-quote { + color: #777; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-subst { + color: #333; + font-weight: bold; +} + +.hljs-number, +.hljs-literal { + color: #777; +} + +.hljs-string, +.hljs-doctag, +.hljs-formula { + color: #333; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat; +} + +.hljs-title, +.hljs-section, +.hljs-selector-id { + color: #000; + font-weight: bold; +} + +.hljs-subst { + font-weight: normal; +} + +.hljs-class .hljs-title, +.hljs-type, +.hljs-name { + color: #333; + font-weight: bold; +} + +.hljs-tag { + color: #333; +} + +.hljs-regexp { + color: #333; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #000; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #000; + text-decoration: underline; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + color: #fff; + background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat; +} + +.hljs-addition { + color: #000; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/gruvbox-dark.css b/codebox/static/css/highlight/gruvbox-dark.css new file mode 100644 index 0000000..f563811 --- /dev/null +++ b/codebox/static/css/highlight/gruvbox-dark.css @@ -0,0 +1,108 @@ +/* + +Gruvbox style (dark) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282828; +} + +.hljs, +.hljs-subst { + color: #ebdbb2; +} + +/* Gruvbox Red */ +.hljs-deletion, +.hljs-formula, +.hljs-keyword, +.hljs-link, +.hljs-selector-tag { + color: #fb4934; +} + +/* Gruvbox Blue */ +.hljs-built_in, +.hljs-emphasis, +.hljs-name, +.hljs-quote, +.hljs-strong, +.hljs-title, +.hljs-variable { + color: #83a598; +} + +/* Gruvbox Yellow */ +.hljs-attr, +.hljs-params, +.hljs-template-tag, +.hljs-type { + color: #fabd2f; +} + +/* Gruvbox Purple */ +.hljs-builtin-name, +.hljs-doctag, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +/* Gruvbox Orange */ +.hljs-code, +.hljs-meta, +.hljs-regexp, +.hljs-selector-id, +.hljs-template-variable { + color: #fe8019; +} + +/* Gruvbox Green */ +.hljs-addition, +.hljs-meta-string, +.hljs-section, +.hljs-selector-attr, +.hljs-selector-class, +.hljs-string, +.hljs-symbol { + color: #b8bb26; +} + +/* Gruvbox Aqua */ +.hljs-attribute, +.hljs-bullet, +.hljs-class, +.hljs-function, +.hljs-function .hljs-keyword, +.hljs-meta-keyword, +.hljs-selector-pseudo, +.hljs-tag { + color: #8ec07c; +} + +/* Gruvbox Gray */ +.hljs-comment { + color: #928374; +} + +/* Gruvbox Purple */ +.hljs-link_label, +.hljs-literal, +.hljs-number { + color: #d3869b; +} + +.hljs-comment, +.hljs-emphasis { + font-style: italic; +} + +.hljs-section, +.hljs-strong, +.hljs-tag { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/gruvbox-light.css b/codebox/static/css/highlight/gruvbox-light.css new file mode 100644 index 0000000..ff45468 --- /dev/null +++ b/codebox/static/css/highlight/gruvbox-light.css @@ -0,0 +1,108 @@ +/* + +Gruvbox style (light) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fbf1c7; +} + +.hljs, +.hljs-subst { + color: #3c3836; +} + +/* Gruvbox Red */ +.hljs-deletion, +.hljs-formula, +.hljs-keyword, +.hljs-link, +.hljs-selector-tag { + color: #9d0006; +} + +/* Gruvbox Blue */ +.hljs-built_in, +.hljs-emphasis, +.hljs-name, +.hljs-quote, +.hljs-strong, +.hljs-title, +.hljs-variable { + color: #076678; +} + +/* Gruvbox Yellow */ +.hljs-attr, +.hljs-params, +.hljs-template-tag, +.hljs-type { + color: #b57614; +} + +/* Gruvbox Purple */ +.hljs-builtin-name, +.hljs-doctag, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +/* Gruvbox Orange */ +.hljs-code, +.hljs-meta, +.hljs-regexp, +.hljs-selector-id, +.hljs-template-variable { + color: #af3a03; +} + +/* Gruvbox Green */ +.hljs-addition, +.hljs-meta-string, +.hljs-section, +.hljs-selector-attr, +.hljs-selector-class, +.hljs-string, +.hljs-symbol { + color: #79740e; +} + +/* Gruvbox Aqua */ +.hljs-attribute, +.hljs-bullet, +.hljs-class, +.hljs-function, +.hljs-function .hljs-keyword, +.hljs-meta-keyword, +.hljs-selector-pseudo, +.hljs-tag { + color: #427b58; +} + +/* Gruvbox Gray */ +.hljs-comment { + color: #928374; +} + +/* Gruvbox Purple */ +.hljs-link_label, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +.hljs-comment, +.hljs-emphasis { + font-style: italic; +} + +.hljs-section, +.hljs-strong, +.hljs-tag { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/hopscotch.css b/codebox/static/css/highlight/hopscotch.css new file mode 100644 index 0000000..32e60d2 --- /dev/null +++ b/codebox/static/css/highlight/hopscotch.css @@ -0,0 +1,83 @@ +/* + * Hopscotch + * by Jan T. Sott + * https://github.com/idleberg/Hopscotch + * + * This work is licensed under the Creative Commons CC0 1.0 Universal License + */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #989498; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-deletion { + color: #dd464c; +} + +/* Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #fd8b19; +} + +/* Yellow */ +.hljs-class .hljs-title { + color: #fdcc59; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #8fc13e; +} + +/* Aqua */ +.hljs-meta { + color: #149b93; +} + +/* Blue */ +.hljs-function, +.hljs-section, +.hljs-title { + color: #1290bf; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #c85e7c; +} + +.hljs { + display: block; + background: #322931; + color: #b9b5b8; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/hybrid.css b/codebox/static/css/highlight/hybrid.css new file mode 100644 index 0000000..29735a1 --- /dev/null +++ b/codebox/static/css/highlight/hybrid.css @@ -0,0 +1,102 @@ +/* + +vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid) + +*/ + +/*background color*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #1d1f21; +} + +/*selection color*/ +.hljs::selection, +.hljs span::selection { + background: #373b41; +} + +.hljs::-moz-selection, +.hljs span::-moz-selection { + background: #373b41; +} + +/*foreground color*/ +.hljs { + color: #c5c8c6; +} + +/*color: fg_yellow*/ +.hljs-title, +.hljs-name { + color: #f0c674; +} + +/*color: fg_comment*/ +.hljs-comment, +.hljs-meta, +.hljs-meta .hljs-keyword { + color: #707880; +} + +/*color: fg_red*/ +.hljs-number, +.hljs-symbol, +.hljs-literal, +.hljs-deletion, +.hljs-link { + color: #cc6666 +} + +/*color: fg_green*/ +.hljs-string, +.hljs-doctag, +.hljs-addition, +.hljs-regexp, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #b5bd68; +} + +/*color: fg_purple*/ +.hljs-attribute, +.hljs-code, +.hljs-selector-id { + color: #b294bb; +} + +/*color: fg_blue*/ +.hljs-keyword, +.hljs-selector-tag, +.hljs-bullet, +.hljs-tag { + color: #81a2be; +} + +/*color: fg_aqua*/ +.hljs-subst, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #8abeb7; +} + +/*color: fg_orange*/ +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-quote, +.hljs-section, +.hljs-selector-class { + color: #de935f; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/idea.css b/codebox/static/css/highlight/idea.css new file mode 100644 index 0000000..3bf1892 --- /dev/null +++ b/codebox/static/css/highlight/idea.css @@ -0,0 +1,97 @@ +/* + +Intellij Idea-like styling (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #000; + background: #fff; +} + +.hljs-subst, +.hljs-title { + font-weight: normal; + color: #000; +} + +.hljs-comment, +.hljs-quote { + color: #808080; + font-style: italic; +} + +.hljs-meta { + color: #808000; +} + +.hljs-tag { + background: #efefef; +} + +.hljs-section, +.hljs-name, +.hljs-literal, +.hljs-keyword, +.hljs-selector-tag, +.hljs-type, +.hljs-selector-id, +.hljs-selector-class { + font-weight: bold; + color: #000080; +} + +.hljs-attribute, +.hljs-number, +.hljs-regexp, +.hljs-link { + font-weight: bold; + color: #0000ff; +} + +.hljs-number, +.hljs-regexp, +.hljs-link { + font-weight: normal; +} + +.hljs-string { + color: #008000; + font-weight: bold; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-formula { + color: #000; + background: #d0eded; + font-style: italic; +} + +.hljs-doctag { + text-decoration: underline; +} + +.hljs-variable, +.hljs-template-variable { + color: #660e7a; +} + +.hljs-addition { + background: #baeeba; +} + +.hljs-deletion { + background: #ffc8bd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/ir-black.css b/codebox/static/css/highlight/ir-black.css new file mode 100644 index 0000000..bd4c755 --- /dev/null +++ b/codebox/static/css/highlight/ir-black.css @@ -0,0 +1,73 @@ +/* + IR_Black style (c) Vasily Mikhailitchenko +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000; + color: #f8f8f8; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #7c7c7c; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-tag, +.hljs-name { + color: #96cbfe; +} + +.hljs-attribute, +.hljs-selector-id { + color: #ffffb6; +} + +.hljs-string, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition { + color: #a8ff60; +} + +.hljs-subst { + color: #daefa3; +} + +.hljs-regexp, +.hljs-link { + color: #e9c062; +} + +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-doctag { + color: #ffffb6; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-variable, +.hljs-template-variable, +.hljs-literal { + color: #c6c5fe; +} + +.hljs-number, +.hljs-deletion { + color:#ff73fd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/isbl-editor-dark.css b/codebox/static/css/highlight/isbl-editor-dark.css new file mode 100644 index 0000000..2f1d95d --- /dev/null +++ b/codebox/static/css/highlight/isbl-editor-dark.css @@ -0,0 +1,112 @@ +/* + +ISBL Editor style dark color scheme (c) Dmitriy Tarasov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #404040; + color: #f0f0f0; +} + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #f0f0f0; +} + +.hljs-comment { + color: #b5b5b5; + font-style: italic; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + color: #f0f0f0; + font-weight: bold; +} + + +/* User color: hue: 0 */ + +.hljs-string { + color: #97bf0d; +} + +.hljs-type, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #f0f0f0; +} + +.hljs-title, +.hljs-section { + color: #df471e; +} + +.hljs-title>.hljs-built_in { + color: #81bce9; + font-weight: normal; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #e2c696; +} + +/* Language color: hue: 90; */ + +.hljs-built_in, +.hljs-literal { + color: #97bf0d; + font-weight: bold; +} + +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300; +} + +.hljs-class { + color: #ce9d4d; + font-weight: bold; +} + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/isbl-editor-light.css b/codebox/static/css/highlight/isbl-editor-light.css new file mode 100644 index 0000000..633070d --- /dev/null +++ b/codebox/static/css/highlight/isbl-editor-light.css @@ -0,0 +1,112 @@ +/* + +ISBL Editor style light color schemec (c) Dmitriy Tarasov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #000000; +} + +.hljs-comment { + color: #555555; + font-style: italic; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + color: #000000; + font-weight: bold; +} + + +/* User color: hue: 0 */ + +.hljs-string { + color: #000080; +} + +.hljs-type, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #000000; +} + +.hljs-title, +.hljs-section { + color: #fb2c00; +} + +.hljs-title>.hljs-built_in { + color: #008080; + font-weight: normal; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #5e1700; +} + +/* Language color: hue: 90; */ + +.hljs-built_in, +.hljs-literal { + color: #000080; + font-weight: bold; +} + +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300; +} + +.hljs-class { + color: #6f1C00; + font-weight: bold; +} + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/kimbie.dark.css b/codebox/static/css/highlight/kimbie.dark.css new file mode 100644 index 0000000..d139cb5 --- /dev/null +++ b/codebox/static/css/highlight/kimbie.dark.css @@ -0,0 +1,74 @@ +/* + Name: Kimbie (dark) + Author: Jan T. Sott + License: Creative Commons Attribution-ShareAlike 4.0 Unported License + URL: https://github.com/idleberg/Kimbie-highlight.js +*/ + +/* Kimbie Comment */ +.hljs-comment, +.hljs-quote { + color: #d6baad; +} + +/* Kimbie Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-meta { + color: #dc3958; +} + +/* Kimbie Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion, +.hljs-link { + color: #f79a32; +} + +/* Kimbie Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #f06431; +} + +/* Kimbie Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #889b4a; +} + +/* Kimbie Purple */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-function { + color: #98676a; +} + +.hljs { + display: block; + overflow-x: auto; + background: #221a0f; + color: #d3af86; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/kimbie.light.css b/codebox/static/css/highlight/kimbie.light.css new file mode 100644 index 0000000..04ff6ed --- /dev/null +++ b/codebox/static/css/highlight/kimbie.light.css @@ -0,0 +1,74 @@ +/* + Name: Kimbie (light) + Author: Jan T. Sott + License: Creative Commons Attribution-ShareAlike 4.0 Unported License + URL: https://github.com/idleberg/Kimbie-highlight.js +*/ + +/* Kimbie Comment */ +.hljs-comment, +.hljs-quote { + color: #a57a4c; +} + +/* Kimbie Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-meta { + color: #dc3958; +} + +/* Kimbie Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion, +.hljs-link { + color: #f79a32; +} + +/* Kimbie Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #f06431; +} + +/* Kimbie Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #889b4a; +} + +/* Kimbie Purple */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-function { + color: #98676a; +} + +.hljs { + display: block; + overflow-x: auto; + background: #fbebd4; + color: #84613d; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/lightfair.css b/codebox/static/css/highlight/lightfair.css new file mode 100644 index 0000000..a247c8e --- /dev/null +++ b/codebox/static/css/highlight/lightfair.css @@ -0,0 +1,87 @@ +/* + +Lightfair style (c) Tristian Kelly + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; +} + +.hljs-name { + color:#01a3a3; +} + +.hljs-tag,.hljs-meta { + color:#778899; +} + +.hljs, +.hljs-subst { + color: #444 +} + +.hljs-comment { + color: #888888 +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold +} + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #4286f4 +} + +.hljs-title, +.hljs-section { + color: #4286f4; + font-weight: bold +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060 +} + +.hljs-literal { + color: #62bcbc +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #25c6c6 +} + +.hljs-meta-string { + color: #4d99bf +} + +.hljs-emphasis { + font-style: italic +} + +.hljs-strong { + font-weight: bold +} diff --git a/codebox/static/css/highlight/magula.css b/codebox/static/css/highlight/magula.css new file mode 100644 index 0000000..44dee5e --- /dev/null +++ b/codebox/static/css/highlight/magula.css @@ -0,0 +1,70 @@ +/* +Description: Magula style for highligh.js +Author: Ruslan Keba +Website: http://rukeba.com/ +Version: 1.0 +Date: 2009-01-03 +Music: Aphex Twin / Xtal +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background-color: #f4f4f4; +} + +.hljs, +.hljs-subst { + color: black; +} + +.hljs-string, +.hljs-title, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #050; +} + +.hljs-comment, +.hljs-quote { + color: #777; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-type, +.hljs-link { + color: #800; +} + +.hljs-deletion, +.hljs-meta { + color: #00e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-tag, +.hljs-name { + font-weight: bold; + color: navy; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/mono-blue.css b/codebox/static/css/highlight/mono-blue.css new file mode 100644 index 0000000..884c97c --- /dev/null +++ b/codebox/static/css/highlight/mono-blue.css @@ -0,0 +1,59 @@ +/* + Five-color theme from a single blue hue. +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #eaeef3; +} + +.hljs { + color: #00193a; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-comment { + color: #738191; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-literal, +.hljs-type, +.hljs-addition, +.hljs-tag, +.hljs-quote, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #0048ab; +} + +.hljs-meta, +.hljs-subst, +.hljs-symbol, +.hljs-regexp, +.hljs-attribute, +.hljs-deletion, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-bullet { + color: #4c81c9; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/codebox/static/css/highlight/monokai-sublime.css b/codebox/static/css/highlight/monokai-sublime.css new file mode 100644 index 0000000..2864170 --- /dev/null +++ b/codebox/static/css/highlight/monokai-sublime.css @@ -0,0 +1,83 @@ +/* + +Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/ + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #23241f; +} + +.hljs, +.hljs-tag, +.hljs-subst { + color: #f8f8f2; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-link { + color: #ae81ff; +} + +.hljs-code, +.hljs-title, +.hljs-section, +.hljs-selector-class { + color: #a6e22e; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-name, +.hljs-attr { + color: #f92672; +} + +.hljs-symbol, +.hljs-attribute { + color: #66d9ef; +} + +.hljs-params, +.hljs-class .hljs-title { + color: #f8f8f2; +} + +.hljs-string, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-variable { + color: #e6db74; +} + +.hljs-comment, +.hljs-deletion, +.hljs-meta { + color: #75715e; +} diff --git a/codebox/static/css/highlight/monokai.css b/codebox/static/css/highlight/monokai.css new file mode 100644 index 0000000..775d53f --- /dev/null +++ b/codebox/static/css/highlight/monokai.css @@ -0,0 +1,70 @@ +/* +Monokai style - ported by Luigi Maselli - http://grigio.org +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #272822; color: #ddd; +} + +.hljs-tag, +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-strong, +.hljs-name { + color: #f92672; +} + +.hljs-code { + color: #66d9ef; +} + +.hljs-class .hljs-title { + color: white; +} + +.hljs-attribute, +.hljs-symbol, +.hljs-regexp, +.hljs-link { + color: #bf79db; +} + +.hljs-string, +.hljs-bullet, +.hljs-subst, +.hljs-title, +.hljs-section, +.hljs-emphasis, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #a6e22e; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #75715e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-selector-id { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/nord.css b/codebox/static/css/highlight/nord.css new file mode 100644 index 0000000..4240384 --- /dev/null +++ b/codebox/static/css/highlight/nord.css @@ -0,0 +1,309 @@ +/* + * Copyright (c) 2017-present Arctic Ice Studio + * Copyright (c) 2017-present Sven Greb + * + * Project: Nord highlight.js + * Version: 0.1.0 + * Repository: https://github.com/arcticicestudio/nord-highlightjs + * License: MIT + * References: + * https://github.com/arcticicestudio/nord + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #2E3440; +} + +.hljs, +.hljs-subst { + color: #D8DEE9; +} + +.hljs-selector-tag { + color: #81A1C1; +} + +.hljs-selector-id { + color: #8FBCBB; + font-weight: bold; +} + +.hljs-selector-class { + color: #8FBCBB; +} + +.hljs-selector-attr { + color: #8FBCBB; +} + +.hljs-selector-pseudo { + color: #88C0D0; +} + +.hljs-addition { + background-color: rgba(163, 190, 140, 0.5); +} + +.hljs-deletion { + background-color: rgba(191, 97, 106, 0.5); +} + +.hljs-built_in, +.hljs-type { + color: #8FBCBB; +} + +.hljs-class { + color: #8FBCBB; +} + +.hljs-function { + color: #88C0D0; +} + +.hljs-function > .hljs-title { + color: #88C0D0; +} + +.hljs-keyword, +.hljs-literal, +.hljs-symbol { + color: #81A1C1; +} + +.hljs-number { + color: #B48EAD; +} + +.hljs-regexp { + color: #EBCB8B; +} + +.hljs-string { + color: #A3BE8C; +} + +.hljs-title { + color: #8FBCBB; +} + +.hljs-params { + color: #D8DEE9; +} + +.hljs-bullet { + color: #81A1C1; +} + +.hljs-code { + color: #8FBCBB; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-formula { + color: #8FBCBB; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link:hover { + text-decoration: underline; +} + +.hljs-quote { + color: #4C566A; +} + +.hljs-comment { + color: #4C566A; +} + +.hljs-doctag { + color: #8FBCBB; +} + +.hljs-meta, +.hljs-meta-keyword { + color: #5E81AC; +} + +.hljs-meta-string { + color: #A3BE8C; +} + +.hljs-attr { + color: #8FBCBB; +} + +.hljs-attribute { + color: #D8DEE9; +} + +.hljs-builtin-name { + color: #81A1C1; +} + +.hljs-name { + color: #81A1C1; +} + +.hljs-section { + color: #88C0D0; +} + +.hljs-tag { + color: #81A1C1; +} + +.hljs-variable { + color: #D8DEE9; +} + +.hljs-template-variable { + color: #D8DEE9; +} + +.hljs-template-tag { + color: #5E81AC; +} + +.abnf .hljs-attribute { + color: #88C0D0; +} + +.abnf .hljs-symbol { + color: #EBCB8B; +} + +.apache .hljs-attribute { + color: #88C0D0; +} + +.apache .hljs-section { + color: #81A1C1; +} + +.arduino .hljs-built_in { + color: #88C0D0; +} + +.aspectj .hljs-meta { + color: #D08770; +} + +.aspectj > .hljs-title { + color: #88C0D0; +} + +.bnf .hljs-attribute { + color: #8FBCBB; +} + +.clojure .hljs-name { + color: #88C0D0; +} + +.clojure .hljs-symbol { + color: #EBCB8B; +} + +.coq .hljs-built_in { + color: #88C0D0; +} + +.cpp .hljs-meta-string { + color: #8FBCBB; +} + +.css .hljs-built_in { + color: #88C0D0; +} + +.css .hljs-keyword { + color: #D08770; +} + +.diff .hljs-meta { + color: #8FBCBB; +} + +.ebnf .hljs-attribute { + color: #8FBCBB; +} + +.glsl .hljs-built_in { + color: #88C0D0; +} + +.groovy .hljs-meta:not(:first-child) { + color: #D08770; +} + +.haxe .hljs-meta { + color: #D08770; +} + +.java .hljs-meta { + color: #D08770; +} + +.ldif .hljs-attribute { + color: #8FBCBB; +} + +.lisp .hljs-name { + color: #88C0D0; +} + +.lua .hljs-built_in { + color: #88C0D0; +} + +.moonscript .hljs-built_in { + color: #88C0D0; +} + +.nginx .hljs-attribute { + color: #88C0D0; +} + +.nginx .hljs-section { + color: #5E81AC; +} + +.pf .hljs-built_in { + color: #88C0D0; +} + +.processing .hljs-built_in { + color: #88C0D0; +} + +.scss .hljs-keyword { + color: #81A1C1; +} + +.stylus .hljs-keyword { + color: #81A1C1; +} + +.swift .hljs-meta { + color: #D08770; +} + +.vim .hljs-built_in { + color: #88C0D0; + font-style: italic; +} + +.yaml .hljs-meta { + color: #D08770; +} diff --git a/codebox/static/css/highlight/obsidian.css b/codebox/static/css/highlight/obsidian.css new file mode 100644 index 0000000..356630f --- /dev/null +++ b/codebox/static/css/highlight/obsidian.css @@ -0,0 +1,88 @@ +/** + * Obsidian style + * ported by Alexander Marenin (http://github.com/ioncreature) + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282b2e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-selector-id { + color: #93c763; +} + +.hljs-number { + color: #ffcd22; +} + +.hljs { + color: #e0e2e4; +} + +.hljs-attribute { + color: #668bb0; +} + +.hljs-code, +.hljs-class .hljs-title, +.hljs-section { + color: white; +} + +.hljs-regexp, +.hljs-link { + color: #d39745; +} + +.hljs-meta { + color: #557182; +} + +.hljs-tag, +.hljs-name, +.hljs-bullet, +.hljs-subst, +.hljs-emphasis, +.hljs-type, +.hljs-built_in, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #8cbbad; +} + +.hljs-string, +.hljs-symbol { + color: #ec7600; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion { + color: #818e96; +} + +.hljs-selector-class { + color: #A082BD +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/ocean.css b/codebox/static/css/highlight/ocean.css new file mode 100644 index 0000000..5901581 --- /dev/null +++ b/codebox/static/css/highlight/ocean.css @@ -0,0 +1,74 @@ +/* Ocean Dark Theme */ +/* https://github.com/gavsiu */ +/* Original theme - https://github.com/chriskempson/base16 */ + +/* Ocean Comment */ +.hljs-comment, +.hljs-quote { + color: #65737e; +} + +/* Ocean Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #bf616a; +} + +/* Ocean Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #d08770; +} + +/* Ocean Yellow */ +.hljs-attribute { + color: #ebcb8b; +} + +/* Ocean Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #a3be8c; +} + +/* Ocean Blue */ +.hljs-title, +.hljs-section { + color: #8fa1b3; +} + +/* Ocean Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b48ead; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2b303b; + color: #c0c5ce; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/paraiso-dark.css b/codebox/static/css/highlight/paraiso-dark.css new file mode 100644 index 0000000..e729240 --- /dev/null +++ b/codebox/static/css/highlight/paraiso-dark.css @@ -0,0 +1,72 @@ +/* + Paraíso (dark) + Created by Jan T. Sott (http://github.com/idleberg) + Inspired by the art of Rubens LP (http://www.rubenslp.com.br) +*/ + +/* Paraíso Comment */ +.hljs-comment, +.hljs-quote { + color: #8d8687; +} + +/* Paraíso Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-meta { + color: #ef6155; +} + +/* Paraíso Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion { + color: #f99b15; +} + +/* Paraíso Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #fec418; +} + +/* Paraíso Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #48b685; +} + +/* Paraíso Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #815ba4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2f1e2e; + color: #a39e9b; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/paraiso-light.css b/codebox/static/css/highlight/paraiso-light.css new file mode 100644 index 0000000..944857c --- /dev/null +++ b/codebox/static/css/highlight/paraiso-light.css @@ -0,0 +1,72 @@ +/* + Paraíso (light) + Created by Jan T. Sott (http://github.com/idleberg) + Inspired by the art of Rubens LP (http://www.rubenslp.com.br) +*/ + +/* Paraíso Comment */ +.hljs-comment, +.hljs-quote { + color: #776e71; +} + +/* Paraíso Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-meta { + color: #ef6155; +} + +/* Paraíso Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion { + color: #f99b15; +} + +/* Paraíso Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #fec418; +} + +/* Paraíso Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #48b685; +} + +/* Paraíso Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #815ba4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #e7e9db; + color: #4f424c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/pojoaque.css b/codebox/static/css/highlight/pojoaque.css new file mode 100644 index 0000000..2e07847 --- /dev/null +++ b/codebox/static/css/highlight/pojoaque.css @@ -0,0 +1,83 @@ +/* + +Pojoaque Style by Jason Tate +http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html +Based on Solarized Style from http://ethanschoonover.com/solarized + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #dccf8f; + background: url(./pojoaque.jpg) repeat scroll left top #181914; +} + +.hljs-comment, +.hljs-quote { + color: #586e75; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-addition { + color: #b64926; +} + +.hljs-number, +.hljs-string, +.hljs-doctag, +.hljs-regexp { + color: #468966; +} + +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-name { + color: #ffb03b; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type, +.hljs-tag { + color: #b58900; +} + +.hljs-attribute { + color: #b89859; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-subst, +.hljs-meta { + color: #cb4b16; +} + +.hljs-deletion { + color: #dc322f; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #d3a60c; +} + +.hljs-formula { + background: #073642; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/pojoaque.jpg b/codebox/static/css/highlight/pojoaque.jpg new file mode 100644 index 0000000..9c07d4a Binary files /dev/null and b/codebox/static/css/highlight/pojoaque.jpg differ diff --git a/codebox/static/css/highlight/purebasic.css b/codebox/static/css/highlight/purebasic.css new file mode 100644 index 0000000..5ce9b9e --- /dev/null +++ b/codebox/static/css/highlight/purebasic.css @@ -0,0 +1,96 @@ +/* + +PureBASIC native IDE style ( version 1.0 - April 2016 ) + +by Tristano Ajmone + +Public Domain + +NOTE_1: PureBASIC code syntax highlighting only applies the following classes: + .hljs-comment + .hljs-function + .hljs-keywords + .hljs-string + .hljs-symbol + + Other classes are added here for the benefit of styling other languages with the look and feel of PureBASIC native IDE style. + If you need to customize a stylesheet for PureBASIC only, remove all non-relevant classes -- PureBASIC-related classes are followed by + a "--- used for PureBASIC ... ---" comment on same line. + +NOTE_2: Color names provided in comments were derived using "Name that Color" online tool: + http://chir.ag/projects/name-that-color +*/ + +.hljs { /* Common set of rules required by highlight.js (don'r remove!) */ + display: block; + overflow-x: auto; + padding: 0.5em; + background: #FFFFDF; /* Half and Half (approx.) */ +/* --- Uncomment to add PureBASIC native IDE styled font! + font-family: Consolas; +*/ +} + +.hljs, /* --- used for PureBASIC base color --- */ +.hljs-type, /* --- used for PureBASIC Procedures return type --- */ +.hljs-function, /* --- used for wrapping PureBASIC Procedures definitions --- */ +.hljs-name, +.hljs-number, +.hljs-attr, +.hljs-params, +.hljs-subst { + color: #000000; /* Black */ +} + +.hljs-comment, /* --- used for PureBASIC Comments --- */ +.hljs-regexp, +.hljs-section, +.hljs-selector-pseudo, +.hljs-addition { + color: #00AAAA; /* Persian Green (approx.) */ +} + +.hljs-title, /* --- used for PureBASIC Procedures Names --- */ +.hljs-tag, +.hljs-variable, +.hljs-code { + color: #006666; /* Blue Stone (approx.) */ +} + +.hljs-keyword, /* --- used for PureBASIC Keywords --- */ +.hljs-class, +.hljs-meta-keyword, +.hljs-selector-class, +.hljs-built_in, +.hljs-builtin-name { + color: #006666; /* Blue Stone (approx.) */ + font-weight: bold; +} + +.hljs-string, /* --- used for PureBASIC Strings --- */ +.hljs-selector-attr { + color: #0080FF; /* Azure Radiance (approx.) */ +} + +.hljs-symbol, /* --- used for PureBASIC Constants --- */ +.hljs-link, +.hljs-deletion, +.hljs-attribute { + color: #924B72; /* Cannon Pink (approx.) */ +} + +.hljs-meta, +.hljs-literal, +.hljs-selector-id { + color: #924B72; /* Cannon Pink (approx.) */ + font-weight: bold; +} + +.hljs-strong, +.hljs-name { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/codebox/static/css/highlight/qtcreator_dark.css b/codebox/static/css/highlight/qtcreator_dark.css new file mode 100644 index 0000000..7aa56a3 --- /dev/null +++ b/codebox/static/css/highlight/qtcreator_dark.css @@ -0,0 +1,83 @@ +/* + +Qt Creator dark color scheme + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000000; +} + +.hljs, +.hljs-subst, +.hljs-tag, +.hljs-title { + color: #aaaaaa; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #ff55ff; +} + +.hljs-code +.hljs-selector-class { + color: #aaaaff; +} + +.hljs-emphasis, +.hljs-stronge, +.hljs-type { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-function, +.hljs-section, +.hljs-symbol, +.hljs-name { + color: #ffff55; +} + +.hljs-attribute { + color: #ff5555; +} + +.hljs-variable, +.hljs-params, +.hljs-class .hljs-title { + color: #8888ff; +} + +.hljs-string, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition, +.hljs-link { + color: #ff55ff; +} + +.hljs-comment, +.hljs-meta, +.hljs-deletion { + color: #55ffff; +} diff --git a/codebox/static/css/highlight/qtcreator_light.css b/codebox/static/css/highlight/qtcreator_light.css new file mode 100644 index 0000000..1efa2c6 --- /dev/null +++ b/codebox/static/css/highlight/qtcreator_light.css @@ -0,0 +1,83 @@ +/* + +Qt Creator light color scheme + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #ffffff; +} + +.hljs, +.hljs-subst, +.hljs-tag, +.hljs-title { + color: #000000; +} + +.hljs-strong, +.hljs-emphasis { + color: #000000; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #000080; +} + +.hljs-code +.hljs-selector-class { + color: #800080; +} + +.hljs-emphasis, +.hljs-stronge, +.hljs-type { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-function, +.hljs-section, +.hljs-symbol, +.hljs-name { + color: #808000; +} + +.hljs-attribute { + color: #800000; +} + +.hljs-variable, +.hljs-params, +.hljs-class .hljs-title { + color: #0055AF; +} + +.hljs-string, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition, +.hljs-link { + color: #008000; +} + +.hljs-comment, +.hljs-meta, +.hljs-deletion { + color: #008000; +} diff --git a/codebox/static/css/highlight/railscasts.css b/codebox/static/css/highlight/railscasts.css new file mode 100644 index 0000000..008cdc5 --- /dev/null +++ b/codebox/static/css/highlight/railscasts.css @@ -0,0 +1,106 @@ +/* + +Railscasts-like style (c) Visoft, Inc. (Damien White) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #232323; + color: #e6e1dc; +} + +.hljs-comment, +.hljs-quote { + color: #bc9458; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag { + color: #c26230; +} + +.hljs-string, +.hljs-number, +.hljs-regexp, +.hljs-variable, +.hljs-template-variable { + color: #a5c261; +} + +.hljs-subst { + color: #519f50; +} + +.hljs-tag, +.hljs-name { + color: #e8bf6a; +} + +.hljs-type { + color: #da4939; +} + + +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-builtin-name, +.hljs-attr, +.hljs-link { + color: #6d9cbe; +} + +.hljs-params { + color: #d0d0ff; +} + +.hljs-attribute { + color: #cda869; +} + +.hljs-meta { + color: #9b859d; +} + +.hljs-title, +.hljs-section { + color: #ffc66d; +} + +.hljs-addition { + background-color: #144212; + color: #e6e1dc; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #600; + color: #e6e1dc; + display: inline-block; + width: 100%; +} + +.hljs-selector-class { + color: #9b703f; +} + +.hljs-selector-id { + color: #8b98ab; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/codebox/static/css/highlight/rainbow.css b/codebox/static/css/highlight/rainbow.css new file mode 100644 index 0000000..905eb8e --- /dev/null +++ b/codebox/static/css/highlight/rainbow.css @@ -0,0 +1,85 @@ +/* + +Style with support for rainbow parens + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #474949; + color: #d1d9e1; +} + + +.hljs-comment, +.hljs-quote { + color: #969896; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-type, +.hljs-addition { + color: #cc99cc; +} + +.hljs-number, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #f99157; +} + +.hljs-string, +.hljs-doctag, +.hljs-regexp { + color: #8abeb7; +} + +.hljs-title, +.hljs-name, +.hljs-section, +.hljs-built_in { + color: #b5bd68; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-selector-id, +.hljs-class .hljs-title { + color: #ffcc66; +} + +.hljs-section, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-link { + color: #f99157; +} + +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #eee8d5; +} + +.hljs-attr, +.hljs-attribute { + color: #81a2be; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/codebox/static/css/highlight/routeros.css b/codebox/static/css/highlight/routeros.css new file mode 100644 index 0000000..ebe2399 --- /dev/null +++ b/codebox/static/css/highlight/routeros.css @@ -0,0 +1,108 @@ +/* + + highlight.js style for Microtik RouterOS script + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #F0F0F0; +} + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #444; +} + +.hljs-comment { + color: #888888; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold; +} + +.hljs-attribute { + color: #0E9A00; +} + +.hljs-function { + color: #99069A; +} + +.hljs-builtin-name { + color: #99069A; +} + +/* User color: hue: 0 */ + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060; +} + + +/* Language color: hue: 90; */ + +.hljs-literal { + color: #78A960; +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #0C9A9A; +} + + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/school-book.css b/codebox/static/css/highlight/school-book.css new file mode 100644 index 0000000..9483851 --- /dev/null +++ b/codebox/static/css/highlight/school-book.css @@ -0,0 +1,69 @@ +/* + +School Book style from goldblog.com.ua (c) Zaripov Yura + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 15px 0.5em 0.5em 30px; + font-size: 11px; + line-height:16px; + background:#f6f6ae url(./school-book.png); + border-top: solid 2px #d2e8b9; + border-bottom: solid 1px #d2e8b9; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color:#005599; + font-weight:bold; +} + +.hljs, +.hljs-subst { + color: #3e5915; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute, +.hljs-built_in, +.hljs-builtin-name, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable, +.hljs-link { + color: #2c009f; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #e60415; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-selector-id, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/codebox/static/css/highlight/school-book.png b/codebox/static/css/highlight/school-book.png new file mode 100644 index 0000000..956e979 Binary files /dev/null and b/codebox/static/css/highlight/school-book.png differ diff --git a/codebox/static/css/highlight/shades-of-purple.css b/codebox/static/css/highlight/shades-of-purple.css new file mode 100644 index 0000000..c0e899e --- /dev/null +++ b/codebox/static/css/highlight/shades-of-purple.css @@ -0,0 +1,97 @@ +/** + * Shades of Purple Theme — for Highlightjs. + * + * @author (c) Ahmad Awais + * @link GitHub Repo → https://github.com/ahmadawais/Shades-of-Purple-HighlightJS + * @version 1.5.0 + */ + +.hljs { + display: block; + overflow-x: auto; + /* Custom font is optional */ + /* font-family: 'Operator Mono', 'Fira Code', 'Menlo', 'Monaco', 'Courier New', 'monospace'; */ + line-height: 1.45; + padding: 2rem; + background: #2d2b57; + font-weight: normal; +} + +.hljs-title { + color: #fad000; + font-weight: normal; +} + +.hljs-name { + color: #a1feff; +} + +.hljs-tag { + color: #ffffff; +} + +.hljs-attr { + color: #f8d000; + font-style: italic; +} + +.hljs-built_in, +.hljs-selector-tag, +.hljs-section { + color: #fb9e00; +} + +.hljs-keyword { + color: #fb9e00; +} + +.hljs, +.hljs-subst { + color: #e3dfff; +} + +.hljs-string, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-addition, +.hljs-code, +.hljs-regexp, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-template-tag, +.hljs-quote, +.hljs-deletion { + color: #4cd213; +} + +.hljs-meta, +.hljs-meta-string { + color: #fb9e00; +} + +.hljs-comment { + color: #ac65ff; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-name, +.hljs-strong { + font-weight: normal; +} + +.hljs-literal, +.hljs-number { + color: #fa658d; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/solarized-dark.css b/codebox/static/css/highlight/solarized-dark.css new file mode 100644 index 0000000..b4c0da1 --- /dev/null +++ b/codebox/static/css/highlight/solarized-dark.css @@ -0,0 +1,84 @@ +/* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #002b36; + color: #839496; +} + +.hljs-comment, +.hljs-quote { + color: #586e75; +} + +/* Solarized Green */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #859900; +} + +/* Solarized Cyan */ +.hljs-number, +.hljs-string, +.hljs-meta .hljs-meta-string, +.hljs-literal, +.hljs-doctag, +.hljs-regexp { + color: #2aa198; +} + +/* Solarized Blue */ +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #268bd2; +} + +/* Solarized Yellow */ +.hljs-attribute, +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type { + color: #b58900; +} + +/* Solarized Orange */ +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-meta .hljs-keyword, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-link { + color: #cb4b16; +} + +/* Solarized Red */ +.hljs-built_in, +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #073642; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/solarized-light.css b/codebox/static/css/highlight/solarized-light.css new file mode 100644 index 0000000..fdcfcc7 --- /dev/null +++ b/codebox/static/css/highlight/solarized-light.css @@ -0,0 +1,84 @@ +/* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fdf6e3; + color: #657b83; +} + +.hljs-comment, +.hljs-quote { + color: #93a1a1; +} + +/* Solarized Green */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #859900; +} + +/* Solarized Cyan */ +.hljs-number, +.hljs-string, +.hljs-meta .hljs-meta-string, +.hljs-literal, +.hljs-doctag, +.hljs-regexp { + color: #2aa198; +} + +/* Solarized Blue */ +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #268bd2; +} + +/* Solarized Yellow */ +.hljs-attribute, +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type { + color: #b58900; +} + +/* Solarized Orange */ +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-meta .hljs-keyword, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-link { + color: #cb4b16; +} + +/* Solarized Red */ +.hljs-built_in, +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #eee8d5; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/sunburst.css b/codebox/static/css/highlight/sunburst.css new file mode 100644 index 0000000..f56dd5e --- /dev/null +++ b/codebox/static/css/highlight/sunburst.css @@ -0,0 +1,102 @@ +/* + +Sunburst-like style (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000; + color: #f8f8f8; +} + +.hljs-comment, +.hljs-quote { + color: #aeaeae; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #e28964; +} + +.hljs-string { + color: #65b042; +} + +.hljs-subst { + color: #daefa3; +} + +.hljs-regexp, +.hljs-link { + color: #e9c062; +} + +.hljs-title, +.hljs-section, +.hljs-tag, +.hljs-name { + color: #89bdff; +} + +.hljs-class .hljs-title, +.hljs-doctag { + text-decoration: underline; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-number { + color: #3387cc; +} + +.hljs-params, +.hljs-variable, +.hljs-template-variable { + color: #3e87e3; +} + +.hljs-attribute { + color: #cda869; +} + +.hljs-meta { + color: #8996a8; +} + +.hljs-formula { + background-color: #0e2231; + color: #f8f8f8; + font-style: italic; +} + +.hljs-addition { + background-color: #253b22; + color: #f8f8f8; +} + +.hljs-deletion { + background-color: #420e09; + color: #f8f8f8; +} + +.hljs-selector-class { + color: #9b703f; +} + +.hljs-selector-id { + color: #8b98ab; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/tomorrow-night-blue.css b/codebox/static/css/highlight/tomorrow-night-blue.css new file mode 100644 index 0000000..78e59cc --- /dev/null +++ b/codebox/static/css/highlight/tomorrow-night-blue.css @@ -0,0 +1,75 @@ +/* Tomorrow Night Blue Theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #7285b7; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #ff9da4; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #ffc58f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #ffeead; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #d1f1a9; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #bbdaff; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ebbbff; +} + +.hljs { + display: block; + overflow-x: auto; + background: #002451; + color: white; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/tomorrow-night-bright.css b/codebox/static/css/highlight/tomorrow-night-bright.css new file mode 100644 index 0000000..e05af8a --- /dev/null +++ b/codebox/static/css/highlight/tomorrow-night-bright.css @@ -0,0 +1,74 @@ +/* Tomorrow Night Bright Theme */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #d54e53; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #e78c45; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #e7c547; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #b9ca4a; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #7aa6da; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #c397d8; +} + +.hljs { + display: block; + overflow-x: auto; + background: black; + color: #eaeaea; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/tomorrow-night-eighties.css b/codebox/static/css/highlight/tomorrow-night-eighties.css new file mode 100644 index 0000000..08fd51c --- /dev/null +++ b/codebox/static/css/highlight/tomorrow-night-eighties.css @@ -0,0 +1,74 @@ +/* Tomorrow Night Eighties Theme */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #999999; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #f2777a; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f99157; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #ffcc66; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #99cc99; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #6699cc; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #cc99cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2d2d2d; + color: #cccccc; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/tomorrow-night.css b/codebox/static/css/highlight/tomorrow-night.css new file mode 100644 index 0000000..ddd270a --- /dev/null +++ b/codebox/static/css/highlight/tomorrow-night.css @@ -0,0 +1,75 @@ +/* Tomorrow Night Theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #cc6666; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #de935f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #f0c674; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #b5bd68; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #81a2be; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b294bb; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1d1f21; + color: #c5c8c6; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/tomorrow.css b/codebox/static/css/highlight/tomorrow.css new file mode 100644 index 0000000..026a62f --- /dev/null +++ b/codebox/static/css/highlight/tomorrow.css @@ -0,0 +1,72 @@ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #8e908c; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #c82829; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f5871f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #eab700; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #718c00; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #4271ae; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8959a8; +} + +.hljs { + display: block; + overflow-x: auto; + background: white; + color: #4d4d4c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/vs.css b/codebox/static/css/highlight/vs.css new file mode 100644 index 0000000..c5d07d3 --- /dev/null +++ b/codebox/static/css/highlight/vs.css @@ -0,0 +1,68 @@ +/* + +Visual Studio-like style based on original C# coloring by Jason Diamond + +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-comment, +.hljs-quote, +.hljs-variable { + color: #008000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-built_in, +.hljs-name, +.hljs-tag { + color: #00f; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-attribute, +.hljs-literal, +.hljs-template-tag, +.hljs-template-variable, +.hljs-type, +.hljs-addition { + color: #a31515; +} + +.hljs-deletion, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-meta { + color: #2b91af; +} + +.hljs-doctag { + color: #808080; +} + +.hljs-attr { + color: #f00; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #00b0e8; +} + + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/css/highlight/vs2015.css b/codebox/static/css/highlight/vs2015.css new file mode 100644 index 0000000..d1d9be3 --- /dev/null +++ b/codebox/static/css/highlight/vs2015.css @@ -0,0 +1,115 @@ +/* + * Visual Studio 2015 dark style + * Author: Nicolas LLOBERA + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #1E1E1E; + color: #DCDCDC; +} + +.hljs-keyword, +.hljs-literal, +.hljs-symbol, +.hljs-name { + color: #569CD6; +} +.hljs-link { + color: #569CD6; + text-decoration: underline; +} + +.hljs-built_in, +.hljs-type { + color: #4EC9B0; +} + +.hljs-number, +.hljs-class { + color: #B8D7A3; +} + +.hljs-string, +.hljs-meta-string { + color: #D69D85; +} + +.hljs-regexp, +.hljs-template-tag { + color: #9A5334; +} + +.hljs-subst, +.hljs-function, +.hljs-title, +.hljs-params, +.hljs-formula { + color: #DCDCDC; +} + +.hljs-comment, +.hljs-quote { + color: #57A64A; + font-style: italic; +} + +.hljs-doctag { + color: #608B4E; +} + +.hljs-meta, +.hljs-meta-keyword, +.hljs-tag { + color: #9B9B9B; +} + +.hljs-variable, +.hljs-template-variable { + color: #BD63C5; +} + +.hljs-attr, +.hljs-attribute, +.hljs-builtin-name { + color: #9CDCFE; +} + +.hljs-section { + color: gold; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +/*.hljs-code { + font-family:'Monospace'; +}*/ + +.hljs-bullet, +.hljs-selector-tag, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #D7BA7D; +} + +.hljs-addition { + background-color: #144212; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #600; + display: inline-block; + width: 100%; +} diff --git a/codebox/static/css/highlight/xcode.css b/codebox/static/css/highlight/xcode.css new file mode 100644 index 0000000..b305665 --- /dev/null +++ b/codebox/static/css/highlight/xcode.css @@ -0,0 +1,104 @@ +/* + +XCode style (c) Angel Garcia + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fff; + color: black; +} + +/* Gray DOCTYPE selectors like WebKit */ +.xml .hljs-meta { + color: #c0c0c0; +} + +.hljs-comment, +.hljs-quote { + color: #007400; +} + +.hljs-tag, +.hljs-attribute, +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-name { + color: #aa0d91; +} + +.hljs-variable, +.hljs-template-variable { + color: #3F6E74; +} + +.hljs-code, +.hljs-string, +.hljs-meta-string { + color: #c41a16; +} + +.hljs-regexp, +.hljs-link { + color: #0E0EFF; +} + +.hljs-title, +.hljs-symbol, +.hljs-bullet, +.hljs-number { + color: #1c00cf; +} + +.hljs-section, +.hljs-meta { + color: #643820; +} + + +.hljs-class .hljs-title, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-params { + color: #5c2699; +} + +.hljs-attr { + color: #836C28; +} + +.hljs-subst { + color: #000; +} + +.hljs-formula { + background-color: #eee; + font-style: italic; +} + +.hljs-addition { + background-color: #baeeba; +} + +.hljs-deletion { + background-color: #ffc8bd; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #9b703f; +} + +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/codebox/static/css/highlight/xt256.css b/codebox/static/css/highlight/xt256.css new file mode 100644 index 0000000..3e35ad2 --- /dev/null +++ b/codebox/static/css/highlight/xt256.css @@ -0,0 +1,92 @@ + +/* + xt256.css + + Contact: initbar [at] protonmail [dot] ch + : github.com/initbar +*/ + +.hljs { + display: block; + overflow-x: auto; + color: #eaeaea; + background: #000; + padding: 0.5em; +} + +.hljs-subst { + color: #eaeaea; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-builtin-name, +.hljs-type { + color: #eaeaea; +} + +.hljs-params { + color: #da0000; +} + +.hljs-literal, +.hljs-number, +.hljs-name { + color: #ff0000; + font-weight: bolder; +} + +.hljs-comment { + color: #969896; +} + +.hljs-selector-id, +.hljs-quote { + color: #00ffff; +} + +.hljs-template-variable, +.hljs-variable, +.hljs-title { + color: #00ffff; + font-weight: bold; +} + +.hljs-selector-class, +.hljs-keyword, +.hljs-symbol { + color: #fff000; +} + +.hljs-string, +.hljs-bullet { + color: #00ff00; +} + +.hljs-tag, +.hljs-section { + color: #000fff; +} + +.hljs-selector-tag { + color: #000fff; + font-weight: bold; +} + +.hljs-attribute, +.hljs-built_in, +.hljs-regexp, +.hljs-link { + color: #ff00ff; +} + +.hljs-meta { + color: #fff; + font-weight: bolder; +} diff --git a/codebox/static/css/highlight/zenburn.css b/codebox/static/css/highlight/zenburn.css new file mode 100644 index 0000000..07be502 --- /dev/null +++ b/codebox/static/css/highlight/zenburn.css @@ -0,0 +1,80 @@ +/* + +Zenburn style from voldmar.ru (c) Vladimir Epifanov +based on dark.css by Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #3f3f3f; + color: #dcdcdc; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-tag { + color: #e3ceab; +} + +.hljs-template-tag { + color: #dcdcdc; +} + +.hljs-number { + color: #8cd0d3; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-attribute { + color: #efdcbc; +} + +.hljs-literal { + color: #efefaf; +} + +.hljs-subst { + color: #8f8f8f; +} + +.hljs-title, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-section, +.hljs-type { + color: #efef8f; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #dca3a3; +} + +.hljs-deletion, +.hljs-string, +.hljs-built_in, +.hljs-builtin-name { + color: #cc9393; +} + +.hljs-addition, +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #7f9f7f; +} + + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/codebox/static/js/admin_user.js b/codebox/static/js/admin_user.js new file mode 100644 index 0000000..46f6421 --- /dev/null +++ b/codebox/static/js/admin_user.js @@ -0,0 +1,37 @@ +// Generated by CoffeeScript 2.4.1 +(function() { + $(document).ready(function() { + $('[data-user-reset-password]').click(function(e) { + var new_password, username; + username = $(e.target).attr('data-user-reset-password'); + new_password = prompt('New password'); + if ((new_password == null) || new_password === "") { + return; + } + return $.post('/admin/user/reset_password', { + 'username': username, + 'password': new_password + }, function(data) { + if (data.success != null) { + alert(`${username}'s password was changed`); + } + return console.log(data); + }); + }); + return $('[data-user-delete]').click(function(e) { + var username; + username = $(e.target).attr('data-user-delete'); + return $.post('/admin/user/delete', { + 'username': username + }, function(data) { + if (data.success != null) { + alert(`${username} was deleted`); + } + return window.location.reload(); + }); + }); + }); + +}).call(this); + +//# sourceMappingURL=admin_user.js.map diff --git a/codebox/static/js/admin_user.js.map b/codebox/static/js/admin_user.js.map new file mode 100644 index 0000000..3212bdc --- /dev/null +++ b/codebox/static/js/admin_user.js.map @@ -0,0 +1,13 @@ +{ + "version": 3, + "file": "admin_user.js", + "sourceRoot": "..", + "sources": [ + "coffee/admin_user.coffee" + ], + "names": [], + "mappings": ";AAAA;EAAA,CAAA,CAAE,QAAF,CAAW,CAAC,KAAZ,CAAkB,QAAA,CAAA,CAAA;IACjB,CAAA,CAAE,4BAAF,CAA+B,CAAC,KAAhC,CAAsC,QAAA,CAAC,CAAD,CAAA;AACrC,UAAA,YAAA,EAAA;MAAA,QAAA,GAAW,CAAA,CAAE,CAAC,CAAC,MAAJ,CAAW,CAAC,IAAZ,CAAiB,0BAAjB;MAEX,YAAA,GAAe,MAAA,CAAO,cAAP;MACf,IAAO,sBAAJ,IAAqB,YAAA,KAAgB,EAAxC;AACC,eADD;;aAGA,CAAC,CAAC,IAAF,CAAO,4BAAP,EAAqC;QAAE,UAAA,EAAY,QAAd;QAAwB,UAAA,EAAY;MAApC,CAArC,EAAyF,QAAA,CAAC,IAAD,CAAA;QACxF,IAAG,oBAAH;UACC,KAAA,CAAM,CAAA,CAAA,CAAG,QAAH,CAAY,uBAAZ,CAAN,EADD;;eAGA,OAAO,CAAC,GAAR,CAAY,IAAZ;MAJwF,CAAzF;IAPqC,CAAtC;WAaA,CAAA,CAAE,oBAAF,CAAuB,CAAC,KAAxB,CAA8B,QAAA,CAAC,CAAD,CAAA;AAC7B,UAAA;MAAA,QAAA,GAAW,CAAA,CAAE,CAAC,CAAC,MAAJ,CAAW,CAAC,IAAZ,CAAiB,kBAAjB;aAEX,CAAC,CAAC,IAAF,CAAO,oBAAP,EAA6B;QAAE,UAAA,EAAY;MAAd,CAA7B,EAAuD,QAAA,CAAC,IAAD,CAAA;QACtD,IAAG,oBAAH;UACC,KAAA,CAAM,CAAA,CAAA,CAAG,QAAH,CAAY,YAAZ,CAAN,EADD;;eAGA,MAAM,CAAC,QAAQ,CAAC,MAAhB,CAAA;MAJsD,CAAvD;IAH6B,CAA9B;EAdiB,CAAlB;AAAA", + "sourcesContent": [ + "$(document).ready ->\n\t$('[data-user-reset-password]').click (e) ->\n\t\tusername = $(e.target).attr 'data-user-reset-password'\n\n\t\tnew_password = prompt 'New password'\n\t\tif not new_password? or new_password == \"\"\n\t\t\treturn\n\n\t\t$.post '/admin/user/reset_password', { 'username': username, 'password': new_password }, (data) ->\n\t\t\tif data.success?\n\t\t\t\talert(\"#{username}'s password was changed\")\n\n\t\t\tconsole.log(data)\n\n\t$('[data-user-delete]').click (e) ->\n\t\tusername = $(e.target).attr 'data-user-delete'\n\n\t\t$.post '/admin/user/delete', { 'username': username }, (data) ->\n\t\t\tif data.success?\n\t\t\t\talert \"#{username} was deleted\"\n\n\t\t\twindow.location.reload()\n" + ] +} \ No newline at end of file diff --git a/codebox/static/js/vendor/highlight-line-numbers.js b/codebox/static/js/vendor/highlight-line-numbers.js new file mode 100644 index 0000000..c849a41 --- /dev/null +++ b/codebox/static/js/vendor/highlight-line-numbers.js @@ -0,0 +1,2 @@ +!function(n,e){"use strict";function t(){var n=e.createElement("style");n.type="text/css",n.innerHTML=h(".{0}{border-collapse:collapse}.{0} td{padding:0}.{1}:before{content:attr({2})}",[f,m,j]),e.getElementsByTagName("head")[0].appendChild(n)}function r(t){"complete"===e.readyState?l(t):n.addEventListener("DOMContentLoaded",function(){l(t)})}function l(t){try{var r=e.querySelectorAll("code.hljs");for(var l in r)r.hasOwnProperty(l)&&i(r[l],t)}catch(o){n.console.error("LineNumbers error: ",o)}}function i(n,e){if("object"==typeof n){e=e||{singleLine:!1};var t=e.singleLine?0:1;u(function(){s(n),n.innerHTML=o(n.innerHTML,t)})}}function o(n,e){var t=c(n);if(""===t[t.length-1].trim()&&t.pop(),t.length>e){for(var r="",l=0,i=t.length;l
{6}
',[v,g,m,j,p,l+1,t[l].length>0?t[l]:" "]);return h('{1}
',[f,r])}return n}function s(n){var e=n.childNodes;for(var t in e)if(e.hasOwnProperty(t)){var r=e[t];d(r.textContent)>0&&(r.childNodes.length>0?s(r):a(r.parentNode))}}function a(n){var e=n.className;if(/hljs-/.test(e)){for(var t=c(n.innerHTML),r=0,l="";r{1}\n',[e,t[r]]);n.innerHTML=l.trim()}}function c(n){return 0===n.length?[]:n.split(L)}function d(n){return(n.trim().match(L)||[]).length}function u(e){n.setTimeout(e,0)}function h(n,e){return n.replace(/\{(\d+)\}/g,function(n,t){return e[t]?e[t]:n})}var f="hljs-ln",g="hljs-ln-line",p="hljs-ln-code",v="hljs-ln-numbers",m="hljs-ln-n",j="data-line-number",L=/\r\n|\r|\n/g;n.hljs?(n.hljs.initLineNumbersOnLoad=r,n.hljs.lineNumbersBlock=i,t()):n.console.error("highlight.js not detected!")}(window,document); + diff --git a/codebox/static/js/vendor/highlight.pack.js b/codebox/static/js/vendor/highlight.pack.js new file mode 100644 index 0000000..3066da4 --- /dev/null +++ b/codebox/static/js/vendor/highlight.pack.js @@ -0,0 +1,2 @@ +/*! highlight.js v9.15.10 | BSD3 License | git.io/hljslicense */ +!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"==typeof exports||exports.nodeType?n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs})):e(exports)}(function(a){var f=[],u=Object.keys,N={},c={},n=/^(no-?highlight|plain|text)$/i,s=/\blang(?:uage)?-([\w-]+)\b/i,t=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,r={case_insensitive:"cI",lexemes:"l",contains:"c",keywords:"k",subLanguage:"sL",className:"cN",begin:"b",beginKeywords:"bK",end:"e",endsWithParent:"eW",illegal:"i",excludeBegin:"eB",excludeEnd:"eE",returnBegin:"rB",returnEnd:"rE",relevance:"r",variants:"v",IDENT_RE:"IR",UNDERSCORE_IDENT_RE:"UIR",NUMBER_RE:"NR",C_NUMBER_RE:"CNR",BINARY_NUMBER_RE:"BNR",RE_STARTERS_RE:"RSR",BACKSLASH_ESCAPE:"BE",APOS_STRING_MODE:"ASM",QUOTE_STRING_MODE:"QSM",PHRASAL_WORDS_MODE:"PWM",C_LINE_COMMENT_MODE:"CLCM",C_BLOCK_COMMENT_MODE:"CBCM",HASH_COMMENT_MODE:"HCM",NUMBER_MODE:"NM",C_NUMBER_MODE:"CNM",BINARY_NUMBER_MODE:"BNM",CSS_NUMBER_MODE:"CSSNM",REGEXP_MODE:"RM",TITLE_MODE:"TM",UNDERSCORE_TITLE_MODE:"UTM",COMMENT:"C",beginRe:"bR",endRe:"eR",illegalRe:"iR",lexemesRe:"lR",terminators:"t",terminator_end:"tE"},b="",h={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};function _(e){return e.replace(/&/g,"&").replace(//g,">")}function E(e){return e.nodeName.toLowerCase()}function v(e,n){var t=e&&e.exec(n);return t&&0===t.index}function l(e){return n.test(e)}function g(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function R(e){var a=[];return function e(n,t){for(var r=n.firstChild;r;r=r.nextSibling)3===r.nodeType?t+=r.nodeValue.length:1===r.nodeType&&(a.push({event:"start",offset:t,node:r}),t=e(r,t),E(r).match(/br|hr|img|input/)||a.push({event:"stop",offset:t,node:r}));return t}(e,0),a}function i(e){if(r&&!e.langApiRestored){for(var n in e.langApiRestored=!0,r)e[n]&&(e[r[n]]=e[n]);(e.c||[]).concat(e.v||[]).forEach(i)}}function m(o){function s(e){return e&&e.source||e}function c(e,n){return new RegExp(s(e),"m"+(o.cI?"i":"")+(n?"g":""))}!function n(t,e){if(!t.compiled){if(t.compiled=!0,t.k=t.k||t.bK,t.k){function r(t,e){o.cI&&(e=e.toLowerCase()),e.split(" ").forEach(function(e){var n=e.split("|");a[n[0]]=[t,n[1]?Number(n[1]):1]})}var a={};"string"==typeof t.k?r("keyword",t.k):u(t.k).forEach(function(e){r(e,t.k[e])}),t.k=a}t.lR=c(t.l||/\w+/,!0),e&&(t.bK&&(t.b="\\b("+t.bK.split(" ").join("|")+")\\b"),t.b||(t.b=/\B|\b/),t.bR=c(t.b),t.endSameAsBegin&&(t.e=t.b),t.e||t.eW||(t.e=/\B|\b/),t.e&&(t.eR=c(t.e)),t.tE=s(t.e)||"",t.eW&&e.tE&&(t.tE+=(t.e?"|":"")+e.tE)),t.i&&(t.iR=c(t.i)),null==t.r&&(t.r=1),t.c||(t.c=[]),t.c=Array.prototype.concat.apply([],t.c.map(function(e){return function(n){return n.v&&!n.cached_variants&&(n.cached_variants=n.v.map(function(e){return g(n,{v:null},e)})),n.cached_variants||n.eW&&[g(n)]||[n]}("self"===e?t:e)})),t.c.forEach(function(e){n(e,t)}),t.starts&&n(t.starts,e);var i=t.c.map(function(e){return e.bK?"\\.?(?:"+e.b+")\\.?":e.b}).concat([t.tE,t.i]).map(s).filter(Boolean);t.t=i.length?c(function(e,n){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i')+n+(t?"":b):n}function o(){E+=null!=l.sL?function(){var e="string"==typeof l.sL;if(e&&!N[l.sL])return _(g);var n=e?C(l.sL,g,!0,f[l.sL]):O(g,l.sL.length?l.sL:void 0);return 0")+'"');return g+=n,n.length||1}var s=B(e);if(!s)throw new Error('Unknown language: "'+e+'"');m(s);var a,l=t||s,f={},E="";for(a=l;a!==s;a=a.parent)a.cN&&(E=c(a.cN,"",!0)+E);var g="",R=0;try{for(var d,p,M=0;l.t.lastIndex=M,d=l.t.exec(n);)p=r(n.substring(M,d.index),d[0]),M=d.index+p;for(r(n.substr(M)),a=l;a.parent;a=a.parent)a.cN&&(E+=b);return{r:R,value:E,language:e,top:l}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{r:0,value:_(n)};throw e}}function O(t,e){e=e||h.languages||u(N);var r={r:0,value:_(t)},a=r;return e.filter(B).filter(M).forEach(function(e){var n=C(e,t,!1);n.language=e,n.r>a.r&&(a=n),n.r>r.r&&(a=r,r=n)}),a.language&&(r.second_best=a),r}function d(e){return h.tabReplace||h.useBR?e.replace(t,function(e,n){return h.useBR&&"\n"===e?"
":h.tabReplace?n.replace(/\t/g,h.tabReplace):""}):e}function o(e){var n,t,r,a,i,o=function(e){var n,t,r,a,i=e.className+" ";if(i+=e.parentNode?e.parentNode.className:"",t=s.exec(i))return B(t[1])?t[1]:"no-highlight";for(n=0,r=(i=i.split(/\s+/)).length;n/g,"\n"):n=e,i=n.textContent,r=o?C(o,i,!0):O(i),(t=R(n)).length&&((a=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=r.value,r.value=function(e,n,t){var r=0,a="",i=[];function o(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){a+=""}function s(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var l=o();if(a+=_(t.substring(r,l[0].offset)),r=l[0].offset,l===e){for(i.reverse().forEach(u);s(l.splice(0,1)[0]),(l=o())===e&&l.length&&l[0].offset===r;);i.reverse().forEach(c)}else"start"===l[0].event?i.push(l[0].node):i.pop(),s(l.splice(0,1)[0])}return a+_(t.substr(r))}(t,R(a),i)),r.value=d(r.value),e.innerHTML=r.value,e.className=function(e,n,t){var r=n?c[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}(e.className,o,r.language),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function p(){if(!p.called){p.called=!0;var e=document.querySelectorAll("pre code");f.forEach.call(e,o)}}function B(e){return e=(e||"").toLowerCase(),N[e]||N[c[e]]}function M(e){var n=B(e);return n&&!n.disableAutodetect}return a.highlight=C,a.highlightAuto=O,a.fixMarkup=d,a.highlightBlock=o,a.configure=function(e){h=g(h,e)},a.initHighlighting=p,a.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",p,!1),addEventListener("load",p,!1)},a.registerLanguage=function(n,e){var t=N[n]=e(a);i(t),t.aliases&&t.aliases.forEach(function(e){c[e]=n})},a.listLanguages=function(){return u(N)},a.getLanguage=B,a.autoDetection=M,a.inherit=g,a.IR=a.IDENT_RE="[a-zA-Z]\\w*",a.UIR=a.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",a.NR=a.NUMBER_RE="\\b\\d+(\\.\\d+)?",a.CNR=a.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",a.BNR=a.BINARY_NUMBER_RE="\\b(0b[01]+)",a.RSR=a.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",a.BE=a.BACKSLASH_ESCAPE={b:"\\\\[\\s\\S]",r:0},a.ASM=a.APOS_STRING_MODE={cN:"string",b:"'",e:"'",i:"\\n",c:[a.BE]},a.QSM=a.QUOTE_STRING_MODE={cN:"string",b:'"',e:'"',i:"\\n",c:[a.BE]},a.PWM=a.PHRASAL_WORDS_MODE={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},a.C=a.COMMENT=function(e,n,t){var r=a.inherit({cN:"comment",b:e,e:n,c:[]},t||{});return r.c.push(a.PWM),r.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),r},a.CLCM=a.C_LINE_COMMENT_MODE=a.C("//","$"),a.CBCM=a.C_BLOCK_COMMENT_MODE=a.C("/\\*","\\*/"),a.HCM=a.HASH_COMMENT_MODE=a.C("#","$"),a.NM=a.NUMBER_MODE={cN:"number",b:a.NR,r:0},a.CNM=a.C_NUMBER_MODE={cN:"number",b:a.CNR,r:0},a.BNM=a.BINARY_NUMBER_MODE={cN:"number",b:a.BNR,r:0},a.CSSNM=a.CSS_NUMBER_MODE={cN:"number",b:a.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},a.RM=a.REGEXP_MODE={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[a.BE,{b:/\[/,e:/\]/,r:0,c:[a.BE]}]},a.TM=a.TITLE_MODE={cN:"title",b:a.IR,r:0},a.UTM=a.UNDERSCORE_TITLE_MODE={cN:"title",b:a.UIR,r:0},a.METHOD_GUARD={b:"\\.\\s*"+a.UIR,r:0},a});hljs.registerLanguage("go",function(e){var t={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],k:t,i:"",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:r},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,c:i}]}]},{cN:"",b:/\s/,e:/\s*/,skip:!0},{b://,sL:"xml",c:[{b:/<[A-Za-z0-9\\._:-]+\s*\/>/,skip:!0},{b:/<[A-Za-z0-9\\._:-]+/,e:/(\/[A-Za-z0-9\\._:-]+|[A-Za-z0-9\\._:-]+\/)>/,skip:!0,c:[{b:/<[A-Za-z0-9\\._:-]+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:r}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:i}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor get set",e:/\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage("python",function(e){var r={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},b={cN:"meta",b:/^(>>>|\.\.\.) /},c={cN:"subst",b:/\{/,e:/\}/,k:r,i:/#/},a={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[e.BE,b],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[e.BE,b],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[e.BE,b,c]},{b:/(fr|rf|f)"""/,e:/"""/,c:[e.BE,b,c]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[e.BE,c]},{b:/(fr|rf|f)"/,e:/"/,c:[e.BE,c]},e.ASM,e.QSM]},i={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},l={cN:"params",b:/\(/,e:/\)/,c:["self",b,i,a]};return c.c=[a,i,b],{aliases:["py","gyp","ipython"],k:r,i:/(<\/|->|\?)|=>/,c:[b,i,a,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,l,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("cal",function(e){var r="div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to until while with var",t=[e.CLCM,e.C(/\{/,/\}/,{r:0}),e.C(/\(\*/,/\*\)/,{r:10})],c={cN:"string",b:/'/,e:/'/,c:[{b:/''/}]},n={cN:"string",b:/(#\d+)+/},o={cN:"function",bK:"procedure",e:/[:;]/,k:"procedure|10",c:[e.TM,{cN:"params",b:/\(/,e:/\)/,k:r,c:[c,n]}].concat(t)},a={cN:"class",b:"OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\d+) ([^\\r\\n]+)",rB:!0,c:[e.TM,o]};return{cI:!0,k:{keyword:r,literal:"false true"},i:/\/\*/,c:[c,n,{cN:"number",b:"\\b\\d+(\\.\\d+)?(DT|D|T)",r:0},{cN:"string",b:'"',e:'"'},e.NM,a,o]}});hljs.registerLanguage("cpp",function(t){var e={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[{b:'(u8?|U|L)?"',e:'"',i:"\\n",c:[t.BE]},{b:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\((?:.|\n)*?\)\1"/},{b:"'\\\\?.",e:"'",i:"."}]},s={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},i={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},c:[{b:/\\\n/,r:0},t.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:/<[^\n>]*>/,e:/$/,i:"\\n"},t.CLCM,t.CBCM]},a=t.IR+"\\s*\\(",c={keyword:"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},n=[e,t.CLCM,t.CBCM,s,r];return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],k:c,i:"",k:c,c:["self",e]},{b:t.IR+"::",k:c},{v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return else",e:/;/}],k:c,c:n.concat([{b:/\(/,e:/\)/,k:c,c:n.concat(["self"]),r:0}]),r:0},{cN:"function",b:"("+t.IR+"[\\*&\\s]+)+"+a,rB:!0,e:/[{;=]/,eE:!0,k:c,i:/[^\w\s\*&]/,c:[{b:a,rB:!0,c:[t.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:c,r:0,c:[t.CLCM,t.CBCM,r,s,e,{b:/\(/,e:/\)/,k:c,r:0,c:["self",t.CLCM,t.CBCM,r,s,e]}]},t.CLCM,t.CBCM,i]},{cN:"class",bK:"class struct",e:/[{;:]/,c:[{b://,c:["self"]},t.TM]}]),exports:{preprocessor:i,strings:r,k:c}}}); \ No newline at end of file diff --git a/codebox/static/scss/_utils.scss b/codebox/static/scss/_utils.scss index 78fe864..4eed3ec 100644 --- a/codebox/static/scss/_utils.scss +++ b/codebox/static/scss/_utils.scss @@ -19,3 +19,100 @@ a { text-decoration: none; color: inherit; } + +@for $i from 2 to 5 { + .split-#{$i} { + display: grid; + grid-template-columns: repeat(#{$i}, 1fr); + } +} + +.split-lr { + display: grid; + grid-template-columns: 1fr 1fr; + + > * { + &:first-child { + text-align: left; + } + + &:last-child { + text-align: right; + } + } +} + +pre { + @include elevate(2px, rgba(0, 0, 0, 0.5)); + font-size: 1rem; + + .hljs-ln { + td { + //Bit of space between line numbers and code + padding-right: 8px; + } + } + + .hljs-ln-line { + //THIS SHOULD BE PUT IN A PULL REQUEST TO THE HLJS REPO + //This prevents the line from bleeding out of the container + max-width: 200px !important; + } +} + +.fixed-half-split { + display: grid; + grid-template-columns: 275px 1fr; +} + +.tabbed-split { + display: grid; + + &.tab-12 { grid-template-columns: 12px 1fr; } + &.tab-16 { grid-template-columns: 16px 1fr; } + &.tab-24 { grid-template-columns: 24px 1fr; } + &.tab-32 { grid-template-columns: 32px 1fr; } + + &.primary { & > span { background-color: $primary; } } + &.primary-light { & > span { background-color: $primary-light; } } + &.primary-dark { & > span { background-color: $primary-dark; } } + + &.secondary { & > span { background-color: $secondary; } } + &.secondary-light { & > span { background-color: $secondary-light; } } + &.secondary-dark { & > span { background-color: $secondary-dark; } } + + &.error { & > span { background-color: $error; } } + &.error-light { & > span { background-color: $error-light; } } + &.error-dark { & > span { background-color: $error-dark; } } +} + +.box { + @include elevate(2px, rgba(0, 0, 0, 0.5)); + background-color: #111; + + .highlight:hover { + background-color: #333; + } +} + +.w50 { + width: 50%; +} + +.w100 { + width: 100%; +} + +@for $i from 1 to 24 { + .pad-#{$i} { padding: #{$i}px; } + .pad-l-#{$i} { padding-left: #{$i}px; } + .pad-r-#{$i} { padding-right: #{$i}px; } + .pad-t-#{$i} { padding-top: #{$i}px; } + .pad-b-#{$i} { padding-bottom: #{$i}px; } + + .mar-#{$i} { margin: #{$i}px; } + .mar-l-#{$i} { margin-left: #{$i}px; } + .mar-r-#{$i} { margin-right: #{$i}px; } + .mar-t-#{$i} { margin-top: #{$i}px; } + .mar-b-#{$i} { margin-bottom: #{$i}px; } +} diff --git a/codebox/static/scss/_vars.scss b/codebox/static/scss/_vars.scss index ccd82bf..fad4c48 100644 --- a/codebox/static/scss/_vars.scss +++ b/codebox/static/scss/_vars.scss @@ -11,6 +11,10 @@ $secondary: #FFD700; $secondary-light: lighten(#FFD700, 20); $secondary-dark: darken(#FFD700, 20); +$error: #dd0000; +$error-light: lighten(#dd0000, 20); +$error-dark: darken(#dd0000, 20); + $primary-text: $white; $secondary-text: $black; diff --git a/codebox/static/scss/core.scss b/codebox/static/scss/core.scss index 566137e..3f4dcb0 100644 --- a/codebox/static/scss/core.scss +++ b/codebox/static/scss/core.scss @@ -4,6 +4,7 @@ @import '_utils'; @import 'problem/_list.scss'; @import 'problem/_sidebar.scss'; +@import 'vendor/circle.scss'; * { margin: 0; @@ -42,11 +43,15 @@ button, a.button { display: inline-block; cursor: pointer; + + & + button, & + a.button { + margin-left: 12px; + } } -input, button, textarea { - border: 1px solid $primary-dark; - background-color: $primary-dark; +input, textarea { + border: none; + background-color: #111; color: white; font-size: 1rem; @@ -59,7 +64,8 @@ input, button, textarea { } form { - input, button, textarea { + input, textarea { + z-index: 20; @include elevate(2px, rgba(0, 0, 0, 0.7)); padding: .75rem; @@ -73,10 +79,15 @@ form { } label { + z-index: 30; + @include elevate(2px, rgba(0, 0, 0, 0.7)); + background-color: $primary-dark; + width: 100%; + line-height: 48px; + display: inline-block; padding-left: 12px; margin-top: 16px; - margin-bottom: 8px; } } @@ -102,7 +113,7 @@ form { grid-template-columns: 1fr 1fr; } -.test_case { +.test-case { &:first-child { border-right: 2px solid $primary-dark; } @@ -119,18 +130,26 @@ form { color: $white; } -.option-line { +.header-line { @include elevate(2px, rgba(0, 0, 0, 0.5)); - display: grid; - grid-template-columns: 1fr 1fr; background-color: $primary-dark; padding: 4px 12px 4px; + margin-top: 12px; + display: inline-block; + width: 100%; & > * { line-height: 44px; display: inline-block; } +} + +.option-line { + @extend .header-line; + + display: grid; + grid-template-columns: 1fr 1fr; & > *:last-child { text-align: right; @@ -153,3 +172,4 @@ form { cursor: pointer; } } + diff --git a/codebox/static/scss/vendor/_mixins.scss b/codebox/static/scss/vendor/_mixins.scss new file mode 100644 index 0000000..19145a3 --- /dev/null +++ b/codebox/static/scss/vendor/_mixins.scss @@ -0,0 +1,42 @@ +// mixins + +@mixin border-radius($radius) { + -webkit-border-radius: $radius; + -moz-border-radius: $radius; + -ms-border-radius: $radius; + border-radius: $radius; +} + +@mixin rotate($rotation) { + -webkit-transform: rotate($rotation); + -moz-transform: rotate($rotation); + -ms-transform: rotate($rotation); + -o-transform: rotate($rotation); + transform: rotate($rotation); +} + +@mixin box-sizing($box-sizing) { + -webkit-box-sizing: $box-sizing; + -moz-box-sizing: $box-sizing; + box-sizing: $box-sizing; +} +@mixin transition-property($transition) { + -webkit-transition-property: $transition; + -moz-transition-property:$transition; + -o-transition-property:$transition; + transition-property: $transition; +} + +@mixin transition-duration($duration) { + -webkit-transition-duration: $duration; + -moz-transition-duration:$duration; + -o-transition-duration: $duration; + transition-duration: $duration; +} + +@mixin transition-timing-function($timing){ + -webkit-transition-timing-function: $timing; + -moz-transition-timing-function: $timing; + -o-transition-timing-function: $timing; + transition-timing-function: $timing; +} diff --git a/codebox/static/scss/vendor/_variables.scss b/codebox/static/scss/vendor/_variables.scss new file mode 100644 index 0000000..935aacd --- /dev/null +++ b/codebox/static/scss/vendor/_variables.scss @@ -0,0 +1,16 @@ +$circle-width: 0.08em; +$circle-width-hover: 0.04em; +// colors default +$primary-color: #307bbb; +$secondary-color: #ccc; +$bg-color: #f5f5f5; +$primary-color-green: #4db53c; +$primary-color-orange: #dd9d22; +// colors dark skin +$primary-color-dark: $primary-light; +$secondary-color-dark: $primary-dark; +$bg-color-dark: #111; +$primary-color-green-dark: #5fd400; +$primary-color-orange-dark: #e08833; + +$error-color: $error; diff --git a/codebox/static/scss/vendor/circle.scss b/codebox/static/scss/vendor/circle.scss new file mode 100644 index 0000000..7cb05f6 --- /dev/null +++ b/codebox/static/scss/vendor/circle.scss @@ -0,0 +1,168 @@ +// VARS +@import "_variables"; +// mixins +@import "_mixins"; +// CIRCLE +// classes 2 extend +.rect-auto { + clip: rect(auto, auto, auto, auto); +} + +.pie { + position: absolute; + border: $circle-width solid $primary-color; + width: 1 - (2 * $circle-width); + height: 1 - (2 * $circle-width); + clip: rect(0em, 0.5em, 1em, 0em); + border-radius: 50%; + @include rotate(0deg); +} + +.pie-fill { + @include rotate(180deg); +} + +// main +.c100 { + *, + *:before, + *:after { + @include box-sizing(content-box); + } + position: relative; + font-size: 120px; + width: 1em; + height: 1em; + border-radius: 50%; + float: left; + background-color: $secondary-color; + // center circle to its parent + &.center { + float: none; + margin: 0 auto; + } + // bigger size + &.big { + font-size: 240px; + } + // smaller size + &.small { + font-size: 80px; + } + // centered value inside circle + >span { + position: absolute; + width: 100%; + z-index: 1; + left: 0; + top: 0; + width: 5em; + line-height: 5em; + font-size: 0.2em; + color: $secondary-color; + display: block; + text-align: center; + white-space: nowrap; + @include transition-property(all); + @include transition-duration(0.2s); + @include transition-timing-function(ease-out); + } + // background inside the circle + &:after { + position: absolute; + top: $circle-width; + left: $circle-width; + display: block; + content: " "; + border-radius: 50%; + background-color: $bg-color; + width: 1 - (2 * $circle-width); + height: 1 - (2 * $circle-width); + @include transition-property(all); + @include transition-duration(0.2s); + @include transition-timing-function(ease-in); + } + // the slice (mask) + .slice { + position: absolute; + width: 1em; + height: 1em; + clip: rect(0em, 1em, 1em, 0.5em); + } + // circle to show the status + .bar { + @extend .pie; + } + // loop to create all needed elements automatically + @for $i from 51 through 100 { + &.p#{$i} { + & .slice { + @extend .rect-auto; + } + &.bar:after { + @extend .pie-fill; + } + & .fill { + @extend .pie; + @extend .pie-fill; + } + } + } + // loop to rotate all 100 circles + @for $i from 1 through 100 { + &.p#{$i} .bar { + $degs: (360/100 * $i); + @include rotate(#{$degs}deg); + } + } + // hover styles + &:hover { + cursor: default; + >span { + width: 3.33em; + line-height: 3.33em; + font-size: 0.3em; + color: $primary-color; + } + &:after { + top: $circle-width-hover; + left: $circle-width-hover; + width: 1 - (2 * $circle-width-hover); + height: 1 - (2 * $circle-width-hover); + } + } + // override colors for the dark skin + &.dark { + background-color: $secondary-color-dark; + .bar, + .fill { + border-color: $primary-color-dark !important; + } + >span { + color: $secondary-color-dark; + } + &:after { + background-color: $bg-color-dark; + } + &:hover { + >span { + color: $primary-color-dark; + } + } + } + &.error { + background-color: $error-dark; + .bar, + .fill { + border-color: $error-color !important; + } + &:hover { + >span { + color: $error-color; + } + } + >span { + color: $error-dark; + } + } +} diff --git a/codebox/views/admin/competition.moon b/codebox/views/admin/competition.moon new file mode 100644 index 0000000..0c01de4 --- /dev/null +++ b/codebox/views/admin/competition.moon @@ -0,0 +1,24 @@ +html = require "lapis.html" + +class AdminCompetition extends html.Widget + content: => + h1 'Competitions' + + div class: 'content', -> + a class: 'button', href: (@url_for 'admin.competition.new'), + -> text 'Create a competition' + + for comp in *@competitions + div class: 'header-line', -> + span comp.name + + div class: 'box', -> + div class: 'highlight pad-12 split-lr', -> + span 'Start time' + span comp.start + + div class: 'highlight pad-12 split-lr', -> + span 'End time' + span comp.end + + diff --git a/codebox/views/admin/competition/Tupfile b/codebox/views/admin/competition/Tupfile new file mode 100644 index 0000000..f0fe651 --- /dev/null +++ b/codebox/views/admin/competition/Tupfile @@ -0,0 +1 @@ +include_rules diff --git a/codebox/views/admin/competition/new.moon b/codebox/views/admin/competition/new.moon new file mode 100644 index 0000000..b83a534 --- /dev/null +++ b/codebox/views/admin/competition/new.moon @@ -0,0 +1,21 @@ +html = require "lapis.html" + +class AdminCompetitionNew extends html.Widget + content: => + h1 "Create a competition" + + div class: 'content', -> + form method: 'POST', -> + input type: 'hidden', name: 'csrf_token', value: @csrf_token + + label for: 'name', 'Competition name' + input type: 'text', name: 'name', placeholder: 'Competition name', "" + + label for: 'start_time', 'Start time' + input type: 'datetime-local', name: 'start_time', "" + + label for: 'end_time', 'End time' + input type: 'datetime-local', name: 'end_time', "" + + input type: 'submit', value: 'Create competition' + diff --git a/codebox/views/admin/problem.moon b/codebox/views/admin/problem.moon index fdc7978..bde1c9f 100644 --- a/codebox/views/admin/problem.moon +++ b/codebox/views/admin/problem.moon @@ -5,13 +5,21 @@ class AdminProblems extends html.Widget h1 'Problems' div class: 'content', -> + a class: 'button', href: (@url_for 'admin.problem.new'), + -> text 'Create a problem' + + br '' for problem in *@problems div class: 'option-line', -> - span "#{problem.name}, Time Limit: #{problem.time_limit}" + span "#{problem.name}" div class: 'button-list', -> a href: (@url_for 'admin.problem.edit', problem_name: problem.short_name), 'Edit' a { 'data-problem-delete': problem.short_name }, 'Delete' + div class: 'box', -> + div class: 'highlight pad-12 split-lr', -> + span "Short name:" + span "#{problem.short_name}" + div class: 'highlight pad-12 split-lr', -> + span "Time limit:" + span "#{problem.time_limit}ms" - br '' - a class: 'button', href: (@url_for 'admin.problem.new'), - -> text 'Create a problem' diff --git a/codebox/views/admin/problem/test_case.moon b/codebox/views/admin/problem/test_case.moon index 6241191..319116f 100644 --- a/codebox/views/admin/problem/test_case.moon +++ b/codebox/views/admin/problem/test_case.moon @@ -12,11 +12,11 @@ class TestCase extends html.Widget div class: 'option-line', -> div -> span "Case " - input { type: "number", min: 0, max: 1000, value: @order, 'data-tc-order-id': @id }, '' + input { style: "background-color: inherit", type: "number", min: 0, max: 1000, value: @order, 'data-tc-order-id': @id }, '' div class: 'button-list', -> button { 'data-tc-save': @id }, 'Save' button { 'data-tc-delete': @id }, 'Delete' div style: 'margin-bottom: 12px', class: 'split', -> - textarea { class: 'test_case', 'data-tc-input-id': @id }, @input - textarea { class: 'test_case', 'data-tc-output-id': @id }, @output + textarea { class: 'test-case', 'data-tc-input-id': @id }, @input + textarea { class: 'test-case', 'data-tc-output-id': @id }, @output diff --git a/codebox/views/admin/submission.moon b/codebox/views/admin/submission.moon new file mode 100644 index 0000000..20b1d43 --- /dev/null +++ b/codebox/views/admin/submission.moon @@ -0,0 +1,28 @@ +html = require "lapis.html" +import Jobs from require "models" + +class AdminSubmission extends html.Widget + content: => + h1 'Submissions' + + div class: 'content', -> + for job in *@jobs + div class: 'option-line', -> + span "#{job.job_id}" + div class: 'button-list', -> + a href: (@url_for 'admin.submission.edit', {}, { submission_id: job.job_id }), 'View' + + div class: 'box', -> + div class: 'highlight pad-12 split-lr', -> + span 'Status:' + span Jobs.statuses\to_name job.status + div class: 'highlight pad-12 split-lr', -> + span 'Username:' + span job\get_user!.username + div class: 'highlight pad-12 split-lr', -> + span 'Problem:' + span job\get_problem!.short_name + div class: 'highlight pad-12 split-lr', -> + span 'Language:' + span job.lang + diff --git a/codebox/views/admin/submission/Tupfile b/codebox/views/admin/submission/Tupfile new file mode 100644 index 0000000..f0fe651 --- /dev/null +++ b/codebox/views/admin/submission/Tupfile @@ -0,0 +1 @@ +include_rules diff --git a/codebox/views/admin/submission/edit.moon b/codebox/views/admin/submission/edit.moon new file mode 100644 index 0000000..865552c --- /dev/null +++ b/codebox/views/admin/submission/edit.moon @@ -0,0 +1,19 @@ +html = require "lapis.html" + +class AdminSubmissionEdit extends html.Widget + content: => + link rel: "stylesheet", href: "/static/css/highlight/vs2015.css" + script -> + text "hljs.initHighlightingOnLoad();hljs.initLineNumbersOnLoad();" + + div class: 'content', -> + a class: 'button', href: (@url_for 'admin.submission.delete', {}, { 'submission_id': @job.job_id }), 'Delete submission' + + widget (require('views.ssr.job_result')(@job)) + + div class: 'header-line', -> + div -> text "#{@job.lang} code" + + pre -> code class: @job.lang, -> + text @job.code + diff --git a/codebox/views/admin/user.moon b/codebox/views/admin/user.moon new file mode 100644 index 0000000..f813587 --- /dev/null +++ b/codebox/views/admin/user.moon @@ -0,0 +1,20 @@ +html = require "lapis.html" + +class AdminUsers extends html.Widget + content: => + h1 'Users' + + div class: 'content', -> + for user in *@users + div class: 'option-line', -> + span "#{user.username}" + div class: 'button-list', -> + button { 'data-user-reset-password': user.username }, 'Reset password' + button { 'data-user-delete': user.username }, 'Delete' + div class: 'box', -> + div class: 'highlight pad-12 split-lr', -> + span "Nickname:" + span "#{user.nickname}" + div class: 'highlight pad-12 split-lr', -> + span "Email:" + span "#{user.email}" diff --git a/codebox/views/ssr/Tupfile b/codebox/views/ssr/Tupfile new file mode 100644 index 0000000..f0fe651 --- /dev/null +++ b/codebox/views/ssr/Tupfile @@ -0,0 +1 @@ +include_rules diff --git a/codebox/views/ssr/job_result.moon b/codebox/views/ssr/job_result.moon new file mode 100644 index 0000000..bd32efc --- /dev/null +++ b/codebox/views/ssr/job_result.moon @@ -0,0 +1,103 @@ +html = require 'lapis.html' +import Jobs from require 'models' +import from_json from require 'lapis.util' + +process_str = (str) -> + str = str\gsub '\\/', '/' + str\gsub '\\n', (string.char 10) + +class JobResultView extends html.Widget + new: (@job) => + @status_str = Jobs.statuses\to_name @job.status + + @username = @job\get_user!.username + @problem = @job\get_problem!.name + @json_data = from_json @job.data + @time_started = @job.time_initiated + + @ring_color = '' + switch @job.status + when Jobs.statuses.wrong_answer then @ring_color = 'error' + when Jobs.statuses.timed_out then @ring_color = 'error' + when Jobs.statuses.bad_language then @ring_color = 'error' + when Jobs.statuses.bad_problem then @ring_color = 'error' + when Jobs.statuses.compile_err then @ring_color = 'error' + when Jobs.statuses.error then @ring_color = 'error' + + @show_slash = true + switch @job.status + when Jobs.statuses.compile_err then @show_slash = false + when Jobs.statuses.queued then @show_slash = false + when Jobs.statuses.bad_language then @show_slash = false + when Jobs.statuses.bad_problem then @show_slash = false + + if @show_slash + @completed_percentage = math.floor(100 * (@json_data.completed / @json_data.total)) + + content: => + div class: 'fixed-half-split', -> + div -> + span class: "mar-t-12 mar-l-12 c100 p#{@completed_percentage} big dark #{@ring_color}", -> + if @show_slash + span -> text "#{@json_data.completed} / #{@json_data.total}" + else + span -> text "Error" + + div class: 'slice', -> + div class: 'bar', '' + div class: 'fill', '' + + div class: 'mar-r-12', -> + div class: 'header-line', -> + div 'Stats' + + div class: 'box', -> + div class: "highlight pad-12 pad-b-4 split-lr", -> + div "Status:" + div "#{@status_str}" + div class: "highlight pad-l-12 pad-r-12 pad-t-4 pad-b-4 split-lr", -> + div "Problem:" + div "#{@problem}" + div class: "highlight pad-l-12 pad-r-12 pad-t-4 pad-b-4 split-lr", -> + div "Time submittted:" + div "#{@time_started}" + div class: "highlight pad-l-12 pad-r-12 pad-t-4 pad-b-4 split-lr", -> + div "Bytes:" + div "N/A" + div -> + if @show_slash + div class: 'header-line', -> + div 'Test cases' + + div class: 'box', -> + for i = 1, @json_data.total + tc_status = 'secondary' + if i <= @json_data.completed + tc_status = 'primary' + if @ring_color == 'error' and i == @json_data.completed + 1 + tc_status = 'error' + + div class: "tabbed-split tab-24 #{tc_status}", -> + span '' + div class: 'highlight pad-12', -> + div class: 'split-3', -> + p "Test case: #{i}" + if i <= @json_data.completed + p "Correct!" + elseif i == @json_data.completed + 1 + switch @job.status + when Jobs.statuses.wrong_answer then p "Wrong answer" + when Jobs.statuses.timed_out then p "Timed out" + when Jobs.statuses.error then p "Execution error" + when Jobs.statuses.running then p "Running" + else + p "---------" + + if type(@json_data.run_times[i]) == 'number' + p "Run time: #{@json_data.run_times[i]}s" + else + div class: 'header-line', -> + div 'Errors' + + div class: 'box', -> + pre (process_str @job.data) diff --git a/docs/todo b/docs/todo index 8b3c2d2..5876abb 100644 --- a/docs/todo +++ b/docs/todo @@ -1,4 +1,4 @@ -[ ] Be able to add test cases to problems -[ ] Be able to delete problems -[ ] Be able to delete test cases -[ ] Be able to order test cases +[X] Be able to add test cases to problems +[X] Be able to delete problems +[X] Be able to delete test cases +[X] Be able to order test cases diff --git a/executer/app/executer.coffee b/executer/app/executer.coffee index ada99d5..32aa6b3 100644 --- a/executer/app/executer.coffee +++ b/executer/app/executer.coffee @@ -44,7 +44,7 @@ class Executer try exec_file = await compiler.compile code catch err - yield { status: 9, data: err } + yield { status: 9, data: err.substring(0, 4096) } return executer = @executers[lang] diff --git a/executer/app/executers/c_executer.coffee b/executer/app/executers/c_executer.coffee index 0b58493..50a3653 100644 --- a/executer/app/executers/c_executer.coffee +++ b/executer/app/executers/c_executer.coffee @@ -12,7 +12,7 @@ class CExecuter extends BaseExecuter err_output = "" bash_shell.stderr.on 'data', (data) => err_output += data.toString() - bash_shell.stdin.end "cat #{input} | timeout -s SIGKILL #{time_limit / 1000.0} #{path}" + bash_shell.stdin.end "echo #{input} | timeout -s SIGKILL #{time_limit / 1000.0} #{path}" start_time = process.hrtime() res_code = await on_child_exit bash_shell diff --git a/executer/app/routes.coffee b/executer/app/routes.coffee index 2ce05f2..c2eb91f 100644 --- a/executer/app/routes.coffee +++ b/executer/app/routes.coffee @@ -10,22 +10,25 @@ async function handle_job(job_id, lang, code, cases, time_limit) { let processor = executer.process(lang, code, cases, time_limit) for await (let status of processor) { - request.post('http://192.168.0.3:8888/executer/status_update', - { json: true, - form: { - request_token: process.env.REQ_SECRET, - job_id: job_id, - status: JSON.stringify(status) - } - }, - (err, res, body) => { - if (err) { - return console.log(err) + await new Promise((resolve, rej) => { + request.post('http://192.168.0.3:8888/executer/status_update', + { json: true, + form: { + request_token: process.env.REQ_SECRET, + job_id: job_id, + status: JSON.stringify(status) + } + }, + (err, res, body) => { + if (err) { + rej(-1); + } + + console.log("Updated job: ", job_id, status.status) + resolve(1); } - - console.log("Updated job: ", job_id, status.status) - } - ) + ) + }); } } ```