Initial commit
This commit is contained in:
commit
628874a7b1
|
@ -0,0 +1,3 @@
|
|||
## Paste Kitten
|
||||
|
||||
A code snippet sharing application in a single Nginx config file.
|
|
@ -0,0 +1,604 @@
|
|||
# Paste Kitten
|
||||
# A code snippet sharing application in a single Nginx config file.
|
||||
# http://pastekitten.com/
|
||||
|
||||
# Source code is available on GitHub:
|
||||
# https://github.com/localhots/pastekitten
|
||||
|
||||
# Copyright (C) 2014 Gregory Eremin
|
||||
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
|
||||
# upstream database {
|
||||
# Set up database here
|
||||
# postgres_server localhost:5432 dbname=pastekitten user=paste password=kitteh;
|
||||
# postgres_keepalive max=80 mode=single overflow=ignore;
|
||||
# }
|
||||
|
||||
geo $dollar {
|
||||
default '$';
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
|
||||
# Change to your domain name
|
||||
server_name pastekitten.dev;
|
||||
|
||||
# Change this variable to your app's directory
|
||||
set $root /Users/chez/Code/pastekitten;
|
||||
|
||||
root $root;
|
||||
access_log /Users/chez/Code/pastekitten/log/nginx.access.log;
|
||||
error_log /Users/chez/Code/pastekitten/log/nginx.error.log debug;
|
||||
|
||||
default_type text/html;
|
||||
|
||||
location = / {
|
||||
content_by_lua '
|
||||
ngx.say({
|
||||
ngx.var.header_html,
|
||||
ngx.var.form_html,
|
||||
ngx.var.footer_html
|
||||
})
|
||||
';
|
||||
}
|
||||
|
||||
location ^~ /paste {
|
||||
content_by_lua '
|
||||
-- We wont need that function later
|
||||
-- Its here for snippet purpose
|
||||
function query(q)
|
||||
local res = ngx.location.capture("/query", {args = {q = q}})
|
||||
local body = json.decode(res.body)
|
||||
if res.status == 200 then
|
||||
return true, body
|
||||
else
|
||||
return false, body
|
||||
end
|
||||
end
|
||||
|
||||
-- Paste code goes here
|
||||
|
||||
ngx.say("pasted!")
|
||||
';
|
||||
}
|
||||
|
||||
# Match /UUID4 URLs
|
||||
# Format: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
|
||||
# Where:
|
||||
# x - [0-9a-f]
|
||||
# y - [89ab]
|
||||
# Example: f47ac10b-58cc-4372-a567-0e02b2c3d479
|
||||
location ~* '^\/[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab]{1}[0-9a-f]{3}-[0-9a-f]{12}$' {
|
||||
content_by_lua '
|
||||
ngx.say("<p>show</p>")
|
||||
';
|
||||
}
|
||||
|
||||
# This is just sick, right?
|
||||
# Internal endpoint for querying database
|
||||
# Example: /query?q=select+*+from+table_name;
|
||||
# location = /query {
|
||||
# internal;
|
||||
|
||||
# default_type application/json;
|
||||
# rds_json on;
|
||||
|
||||
# set_by_lua $query_sql 'return ngx.unescape_uri(ngx.var.arg_q)';
|
||||
# postgres_pass database;
|
||||
# postgres_query $query_sql;
|
||||
# }
|
||||
|
||||
location = /source {
|
||||
default_type text/plain;
|
||||
alias /nginx.conf;
|
||||
}
|
||||
|
||||
location = /static/app.js {
|
||||
default_type application/javascript;
|
||||
content_by_lua 'ngx.say(ngx.var.app_js)';
|
||||
}
|
||||
|
||||
location = /static/app.css {
|
||||
default_type text/css;
|
||||
content_by_lua 'ngx.say(ngx.var.app_css)';
|
||||
}
|
||||
|
||||
location = /static/dropdown.css {
|
||||
default_type text/css;
|
||||
content_by_lua 'ngx.say(ngx.var.dropdown_css)';
|
||||
}
|
||||
|
||||
location = /static/highlight.css {
|
||||
default_type text/css;
|
||||
content_by_lua '
|
||||
ngx.say(
|
||||
ngx.var.highlight_pt1_css,
|
||||
ngx.var.highlight_pt2_css
|
||||
)
|
||||
';
|
||||
}
|
||||
|
||||
set $header_html '
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Paste Kitten</title>
|
||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/normalize/2.1.0/normalize.css">
|
||||
<link rel="stylesheet" href="/static/app.css">
|
||||
<link rel="stylesheet" href="/static/dropdown.css">
|
||||
<link rel="stylesheet" href="/static/highlight.css">
|
||||
<link rel="icon" type="image/x-icon" href="/favicon.ico">
|
||||
</head>
|
||||
<body>
|
||||
<a href="/" id="logo"><h1 title="Paste Kitten"><strong>Paste</strong>Kitten</h1>
|
||||
<!--
|
||||
Kitten image author is SkyProductions
|
||||
http://skyproductions.deviantart.com/art/Kitten-line-art-252996232
|
||||
-->
|
||||
<div class="container">
|
||||
';
|
||||
|
||||
set $footer_html '
|
||||
</div>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
|
||||
<script src="/static/app.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
';
|
||||
|
||||
set $form_html '
|
||||
<form action="/" method="post" accept-charset="UTF-8">
|
||||
<textarea name="contents"></textarea>
|
||||
<input type="submit" value="Save" class="btn">
|
||||
<a href="#" role="submit" class="btn">Save</a>
|
||||
<input id="syntax-input" type="hidden" name="syntax" value="">
|
||||
<div id="syntax-selector" class="wrapper-dropdown btn" tabindex="1">
|
||||
<span>Syntax</span>
|
||||
<ul class="dropdown">
|
||||
<li data-value="" class="selected">Plain Text</li>
|
||||
<li data-value="actionscript">ActionScript</li>
|
||||
<li data-value="applescript">AppleScript</li>
|
||||
<li data-value="awk">Awk</li>
|
||||
<li data-value="c">C</li>
|
||||
<li data-value="charp">C#</li>
|
||||
<li data-value="cpp">C++</li>
|
||||
<li data-value="clojure">Clojure</li>
|
||||
<li data-value="coffeescript">CoffeeScript</li>
|
||||
<li data-value="cl">Common Lisp</li>
|
||||
<li data-value="d">D</li>
|
||||
<li data-value="dart">Dart</li>
|
||||
<li data-value="delphi">Delphi</li>
|
||||
<li data-value="erlang">Erlang</li>
|
||||
<li data-value="go">Go</li>
|
||||
<li data-value="groovy">Groovy</li>
|
||||
<li data-value="html">HTML</li>
|
||||
<li data-value="haskell">Haskell</li>
|
||||
<li data-value="java">Java</li>
|
||||
<li data-value="javascript">JavaScript</li>
|
||||
<li data-value="json">JSON</li>
|
||||
<li data-value="lua">Lua</li>
|
||||
<li data-value="objc">Objective-C</li>
|
||||
<li data-value="ocaml">OCaml</li>
|
||||
<li data-value="perl">Perl</li>
|
||||
<li data-value="php">PHP</li>
|
||||
<li data-value="python">Python</li>
|
||||
<li data-value="ruby">Ruby</li>
|
||||
<li data-value="rust">Rust</li>
|
||||
<li data-value="scala">Scala</li>
|
||||
<li data-value="smalltalk">Smalltalk</li>
|
||||
<li data-value="vim">VimL</li>
|
||||
<li data-value="xml">XML</li>
|
||||
<li data-value="xslt">XSLT</li>
|
||||
</ul>
|
||||
</div>
|
||||
</form>
|
||||
';
|
||||
|
||||
set $app_js '
|
||||
${dollar}(function() {
|
||||
"use strict";
|
||||
|
||||
var ${dollar}form = ${dollar}("form"),
|
||||
${dollar}contents = ${dollar}form.find("textarea"),
|
||||
${dollar}_button = ${dollar}form.find("input[type="submit"]"),
|
||||
${dollar}button = ${dollar}form.find("a[role="submit"]"),
|
||||
${dollar}syntax_selector = ${dollar}("#syntax-selector");
|
||||
|
||||
${dollar}_button.hide();
|
||||
${dollar}button.show();
|
||||
${dollar}contents.focus();
|
||||
|
||||
${dollar}button.on("click", function(e) {
|
||||
if (${dollar}(this).hasClass("disabled")) {
|
||||
return false;
|
||||
}
|
||||
|
||||
${dollar}(this).addClass("disabled");
|
||||
${dollar}syntax_selector.addClass("disabled");
|
||||
${dollar}form.submit();
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
var ${dollar}input = ${dollar}("#syntax-input"),
|
||||
${dollar}textarea = ${dollar}("textarea"),
|
||||
${dollar}dropdown = ${dollar}("#syntax-selector"),
|
||||
${dollar}options = ${dollar}dropdown.find("ul.dropdown > li"),
|
||||
${dollar}placeholder = ${dollar}dropdown.children("span"),
|
||||
prefix = ${dollar}placeholder.text();
|
||||
|
||||
${dollar}dropdown.on("click", function() {
|
||||
if (${dollar}(this).hasClass("disabled")) {
|
||||
return false;
|
||||
}
|
||||
|
||||
${dollar}dropdown.toggleClass("active");
|
||||
return false;
|
||||
});
|
||||
|
||||
${dollar}options.on("click", function() {
|
||||
var ${dollar}el = ${dollar}(this);
|
||||
|
||||
${dollar}el.siblings().removeClass("selected");
|
||||
${dollar}el.addClass("selected");
|
||||
${dollar}placeholder.text(prefix + ": " + (${dollar}el.text()));
|
||||
${dollar}input.val(${dollar}el.data("value"));
|
||||
${dollar}("textarea").focus();
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
${dollar}options.filter(".selected").click();
|
||||
${dollar}dropdown.removeClass("active");
|
||||
|
||||
${dollar}(document).on("click", function(e) {
|
||||
${dollar}(".wrapper-dropdown").removeClass("active");
|
||||
});
|
||||
});
|
||||
';
|
||||
|
||||
set $kitteh 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABGBAMAAABLbBVhAAAAJ1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdEvm1AAAADXRSTlMAA2k9UJd/rScUwM3mzv8eMwAAA7JJREFUeNrFls1vE1cUxc/N+Ht1nig0kC7cBLsQdTFEpZGiLoY0bUTbhQuJW5RNaggBl4UV2qR1NkMAKkMXo9CiQlggBRQaNqVfVLAplAX9r+o8j2c8k3kUFlXPwvazfu/q3utz7xj/ueQlWMbvKprj5suRs8LztOtihQhE9JdtI8saFiU85ScfTRdpyiJ3CwMuA3Zmwc3NGuFsUVkN1RYBwZlPkdtRMcEcAzjlp8sbP4KrVsMIfyHgaq60VLWhrCdQ3Gc1jCnfh+Dyo8WJ0tLr+MhWYjlmOFMhd/52AECufOFvAXYpI4yCzfxJD7rANz2CE5Iy5czLRD+FAIRHBcBp6auY4PfE7jpJbEKsosrMKohKggczbqSGPluli9hNJNA8cUIi/kt7kj0wv7lxCtwO12NGuCYoNKdaF2a+2k5zOXZ+Gxg4BiB/ZlYQ17pE4fHruAJFxXzTi4WWVIUxeB1joj9lniJGF1zGWrmOkoaF73wMxtqMKPzBKRwRaFpmilA9Q8qzErt9sBaUQWvzUM9MyjbryrW69VNwM3XvqId8K7SRHIoshNRQOqhZmKs/XNo4Ln7tItZj9CrvhRMJIa5OtIr+yYGkdSYSOmRegB4aGZudyPu2nEO0X7vxc7ufaTjEa/6ZI113Fv7sum4tahaGJWQ8dHr3WrctOzckusy+DH/tIjXLmw4B6Ft+Uz29I/Fhj5+OCXa4ACyfxZrHThhPKQWM/oJAnATkHHq0x/Onfj+A/vrPYGQTRBa6ZH/1c//8ztwnD6eim35RYp594nSmXkZqe89FWWYjAyE46Cr9fSlhswuqvVkxc9e/e1v03omKqf09TbUekIBAUreQJI7oNx3HWnZ04MMoOEyE9wZJr9wrCgHwJIaRKL3h5Ie3BueaDxywM1v5vySZ1vD5+enqEP1auZat0AyH7tV6tY5kcUq0ZdoKH0rPxADXZPsTbJYGuJwAOyZ4VLqjqsHnwrjh+XZ3GUS2DbCkHd/u+j3nASgY4VSDwYjpDPqxxyUMOisdWLdgwOV3WPNMLOsIYV4BVjEGIzxpM9jrfEM4gjkxwhdbYAAvSP5r3DbCyNrXodiB5Q+M2tZ9Iyt9lVcOA6oNb7Xm0mkMFGmm72JlyMVWgZI+0pwo/S4wiiXB93eqw22YN49b44MuzOI3QLo1PuwQnPb9YYbfl6sLQMalWI9F9AYwa6VcdRVLovitTfybFESsBpB6Ki/CUnIL755fjgY2i5eam5/Jy/yLJl5QikL8D/oHSN6ihuc8lhkAAAAASUVORK5CYII=';
|
||||
|
||||
set $app_css '
|
||||
*
|
||||
{
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
body, input, select
|
||||
{
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
font-size: 1em;
|
||||
}
|
||||
textarea, pre
|
||||
{
|
||||
font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
|
||||
font-size: 1em;
|
||||
}
|
||||
html, body, form
|
||||
{
|
||||
height: 100%;
|
||||
}
|
||||
body
|
||||
{
|
||||
padding: 3em;
|
||||
|
||||
background-color: #fcfcfc;
|
||||
}
|
||||
h1
|
||||
{
|
||||
font-size: 1em;
|
||||
font-weight: 200;
|
||||
line-height: 1em;
|
||||
|
||||
position: absolute;
|
||||
top: 1em;
|
||||
left: 3em;
|
||||
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
text-transform: uppercase;
|
||||
|
||||
color: #ccc;
|
||||
}
|
||||
h1:before
|
||||
{
|
||||
display: block;
|
||||
float: right;
|
||||
|
||||
width: 43px;
|
||||
height: 35px;
|
||||
margin: -10px 0 0 5px;
|
||||
|
||||
content: "";
|
||||
|
||||
opacity: .5;
|
||||
background: url($kitteh);
|
||||
background-repeat: no-repeat;
|
||||
background-position: top left;
|
||||
background-size: 43px 35px;
|
||||
}
|
||||
.linenos
|
||||
{
|
||||
padding-right: .5em;
|
||||
|
||||
color: #ccc;
|
||||
border-right: #eee 1px solid;
|
||||
}
|
||||
.code
|
||||
{
|
||||
padding-left: .5em;
|
||||
}
|
||||
.container
|
||||
{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
textarea, input
|
||||
{
|
||||
outline: none;
|
||||
}
|
||||
.btn
|
||||
{
|
||||
font-size: 1em;
|
||||
|
||||
padding: .5em .8em;
|
||||
|
||||
cursor: default;
|
||||
text-decoration: none;
|
||||
|
||||
color: #666;
|
||||
color: #fff;
|
||||
border: none;
|
||||
border-radius: 2px;
|
||||
outline: none;
|
||||
background-color: rgb(0, 251, 94);
|
||||
}
|
||||
.btn:active
|
||||
{
|
||||
border-bottom-width: 1px;
|
||||
box-shadow: 0 .1em .2em .1em #eee inset;
|
||||
}
|
||||
.btn.disabled
|
||||
{
|
||||
cursor: not-allowed;
|
||||
|
||||
background: #f0f0f0;
|
||||
}
|
||||
textarea
|
||||
{
|
||||
line-height: 120%;
|
||||
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: .5em;
|
||||
|
||||
resize: none;
|
||||
|
||||
border: #ddd 1px solid;
|
||||
border-radius: 5px;
|
||||
background-color: #fff;
|
||||
}
|
||||
#syntax-selector
|
||||
{
|
||||
float: right;
|
||||
|
||||
width: 13em;
|
||||
margin: .4em;
|
||||
}
|
||||
form input[type="submit"], form a[role="submit"]
|
||||
{
|
||||
font-weight: 600;
|
||||
|
||||
float: right;
|
||||
|
||||
width: 5em;
|
||||
margin: .4em 0;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
form a[role="submit"]
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
';
|
||||
|
||||
set $dropdown_css '
|
||||
.wrapper-dropdown
|
||||
{
|
||||
position: relative;
|
||||
}
|
||||
.wrapper-dropdown:after
|
||||
{
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 16px;
|
||||
|
||||
width: 0;
|
||||
height: 0;
|
||||
margin-top: -6px;
|
||||
|
||||
content: "";
|
||||
|
||||
border-width: 6px 0 6px 6px;
|
||||
border-style: solid;
|
||||
border-color: transparent #888;
|
||||
}
|
||||
.wrapper-dropdown .dropdown
|
||||
{
|
||||
font-weight: normal;
|
||||
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 2em;
|
||||
left: 0;
|
||||
|
||||
overflow-x: ellipsis;
|
||||
overflow-y: auto;
|
||||
|
||||
height: 20em;
|
||||
padding: 0;
|
||||
|
||||
list-style: none;
|
||||
|
||||
pointer-events: none;
|
||||
|
||||
opacity: 0;
|
||||
border: #ddd 1px solid;
|
||||
border-radius: 5px;
|
||||
background: #fafafa;
|
||||
}
|
||||
.wrapper-dropdown .dropdown li
|
||||
{
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
|
||||
padding: 10px 20px;
|
||||
|
||||
white-space: nowrap;
|
||||
text-decoration: none;
|
||||
text-overflow: ellipsis;
|
||||
|
||||
color: #9e9e9e;
|
||||
}
|
||||
.wrapper-dropdown .dropdown li:hover
|
||||
{
|
||||
cursor: pointer;
|
||||
|
||||
color: #fff;
|
||||
background: #ccc;
|
||||
text-shadow: none;
|
||||
}
|
||||
.wrapper-dropdown .dropdown li.selected
|
||||
{
|
||||
color: #666;
|
||||
background: #eee;
|
||||
}
|
||||
.wrapper-dropdown.active
|
||||
{
|
||||
background: #fafafa;
|
||||
}
|
||||
.wrapper-dropdown.active .dropdown
|
||||
{
|
||||
pointer-events: auto;
|
||||
|
||||
opacity: 1;
|
||||
}
|
||||
.wrapper-dropdown.active:after
|
||||
{
|
||||
margin-top: -3px;
|
||||
|
||||
border-width: 0 6px 6px 6px;
|
||||
border-color: #aaa transparent;
|
||||
}
|
||||
/* No CSS3 support */
|
||||
.no-opacity .wrapper-dropdown .dropdown,
|
||||
.no-pointerevents .wrapper-dropdown .dropdown
|
||||
{
|
||||
display: none;
|
||||
|
||||
pointer-events: auto;
|
||||
|
||||
opacity: 1;
|
||||
}
|
||||
.no-opacity .wrapper-dropdown.active .dropdown,
|
||||
.no-pointerevents .wrapper-dropdown.active .dropdown
|
||||
{
|
||||
display: block;
|
||||
}
|
||||
';
|
||||
|
||||
set $highlight_pt1_css '
|
||||
/* .highlight { background-color: #ffffcc } */
|
||||
.highlight .c { color: #586E75 } /* Comment */
|
||||
.highlight .err { color: #538181 } /* Error */
|
||||
.highlight .g { color: #538181 } /* Generic */
|
||||
.highlight .k { color: #859900 } /* Keyword */
|
||||
.highlight .l { color: #538181 } /* Literal */
|
||||
.highlight .n { color: #538181 } /* Name */
|
||||
.highlight .o { color: #859900 } /* Operator */
|
||||
.highlight .x { color: #CB4B16 } /* Other */
|
||||
.highlight .p { color: #538181 } /* Punctuation */
|
||||
.highlight .cm { color: #586E75 } /* Comment.Multiline */
|
||||
.highlight .cp { color: #859900 } /* Comment.Preproc */
|
||||
.highlight .c1 { color: #586E75 } /* Comment.Single */
|
||||
.highlight .cs { color: #859900 } /* Comment.Special */
|
||||
.highlight .gd { color: #2AA198 } /* Generic.Deleted */
|
||||
.highlight .ge { color: #538181; font-style: italic } /* Generic.Emph */
|
||||
.highlight .gr { color: #DC322F } /* Generic.Error */
|
||||
.highlight .gh { color: #CB4B16 } /* Generic.Heading */
|
||||
.highlight .gi { color: #859900 } /* Generic.Inserted */
|
||||
.highlight .go { color: #538181 } /* Generic.Output */
|
||||
.highlight .gp { color: #538181 } /* Generic.Prompt */
|
||||
.highlight .gs { color: #538181; font-weight: bold } /* Generic.Strong */
|
||||
.highlight .gu { color: #CB4B16 } /* Generic.Subheading */
|
||||
.highlight .gt { color: #538181 } /* Generic.Traceback */
|
||||
.highlight .kc { color: #CB4B16 } /* Keyword.Constant */
|
||||
.highlight .kd { color: #268BD2 } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #859900 } /* Keyword.Namespace */
|
||||
.highlight .kp { color: #859900 } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #268BD2 } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #DC322F } /* Keyword.Type */
|
||||
.highlight .ld { color: #538181 } /* Literal.Date */
|
||||
.highlight .m { color: #2AA198 } /* Literal.Number */
|
||||
.highlight .s { color: #2AA198 } /* Literal.String */
|
||||
.highlight .na { color: #538181 } /* Name.Attribute */
|
||||
';
|
||||
set $highlight_pt2_css '
|
||||
.highlight .nb { color: #B58900 } /* Name.Builtin */
|
||||
.highlight .nc { color: #268BD2 } /* Name.Class */
|
||||
.highlight .no { color: #CB4B16 } /* Name.Constant */
|
||||
.highlight .nd { color: #268BD2 } /* Name.Decorator */
|
||||
.highlight .ni { color: #CB4B16 } /* Name.Entity */
|
||||
.highlight .ne { color: #CB4B16 } /* Name.Exception */
|
||||
.highlight .nf { color: #268BD2 } /* Name.Function */
|
||||
.highlight .nl { color: #538181 } /* Name.Label */
|
||||
.highlight .nn { color: #538181 } /* Name.Namespace */
|
||||
.highlight .nx { color: #538181 } /* Name.Other */
|
||||
.highlight .py { color: #538181 } /* Name.Property */
|
||||
.highlight .nt { color: #268BD2 } /* Name.Tag */
|
||||
.highlight .nv { color: #268BD2 } /* Name.Variable */
|
||||
.highlight .ow { color: #859900 } /* Operator.Word */
|
||||
.highlight .w { color: #538181 } /* Text.Whitespace */
|
||||
.highlight .mf { color: #2AA198 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #2AA198 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #2AA198 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #2AA198 } /* Literal.Number.Oct */
|
||||
.highlight .sb { color: #586E75 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #2AA198 } /* Literal.String.Char */
|
||||
.highlight .sd { color: #538181 } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #2AA198 } /* Literal.String.Double */
|
||||
.highlight .se { color: #CB4B16 } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #538181 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #2AA198 } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #2AA198 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #DC322F } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #2AA198 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #2AA198 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #268BD2 } /* Name.Builtin.Pseudo */
|
||||
.highlight .vc { color: #268BD2 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #268BD2 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #268BD2 } /* Name.Variable.Instance */
|
||||
.highlight .il { color: #2AA198 } /* Literal.Number.Integer.Long */
|
||||
';
|
||||
}
|
Loading…
Reference in New Issue