Lots of stuff

master
Nick Sergeant 2011-10-19 23:50:23 -04:00
parent 2563fee41e
commit c1c8924540
13 changed files with 566 additions and 7 deletions

View File

@ -1,5 +1,17 @@
// Fonts
@Helvetica: 'Helvetica Neue', Helvetica, Arial, 'Liberation Sans', FreeSans, sans-serif;
@Inconsolata: 'InconsolataMedium', Consolas, Menlo, "Courier New", monospace;
@font-face {
font-family: 'InconsolataMedium';
src: url('/media/fonts/Inconsolata-webfont.eot');
src: url('/media/fonts/Inconsolata-webfont.eot?#iefix') format('embedded-opentype'),
url('/media/fonts/Inconsolata-webfont.woff') format('woff'),
url('/media/fonts/Inconsolata-webfont.ttf') format('truetype'),
url('/media/fonts/Inconsolata-webfont.svg#InconsolataMedium') format('svg');
font-weight: normal;
font-style: normal;
}
// Focus
*:focus {
@ -370,8 +382,36 @@ article.snipt {
}
section.code {
height: 200px;
margin: 20px;
overflow: hidden;
position: relative;
div.highlight {
pre {
font: normal 14px @Inconsolata;
overflow-x: auto;
margin: 0 15px;
padding: 13px 0;
}
}
a.shade {
background: #FFF url('/media/images/expand.png') 15px 18px no-repeat;
border-top: 1px solid #EEE;
bottom: 0;
color: #999999;
display: block;
font: bold 12px @Helvetica;
padding: 15px 40px 15px 40px;
position: absolute;
text-decoration: none;
text-transform: uppercase;
width: 100%;
.box-shadow(0, -25px, 25px, #FFF);
&:hover {
color: #3BAAF3;
font-weight: bold;
}
}
}
}
aside {

153
media/css/themes.css Normal file
View File

@ -0,0 +1,153 @@
.autumn { background-color: #FFF; }
.autumn .hll { background-color: #ffffcc }
.autumn .c { color: #aaaaaa; font-style: italic } /* Comment */
.autumn .err { color: #F00000; background-color: #F0A0A0 } /* Error */
.autumn .k { color: #0000aa } /* Keyword */
.autumn .cm { color: #aaaaaa; font-style: italic } /* Comment.Multiline */
.autumn .cp { color: #4c8317 } /* Comment.Preproc */
.autumn .c1 { color: #aaaaaa; font-style: italic } /* Comment.Single */
.autumn .cs { color: #0000aa; font-style: italic } /* Comment.Special */
.autumn .gd { color: #aa0000 } /* Generic.Deleted */
.autumn .ge { font-style: italic } /* Generic.Emph */
.autumn .gr { color: #aa0000 } /* Generic.Error */
.autumn .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.autumn .gi { color: #00aa00 } /* Generic.Inserted */
.autumn .go { color: #888888 } /* Generic.Output */
.autumn .gp { color: #555555 } /* Generic.Prompt */
.autumn .gs { font-weight: bold } /* Generic.Strong */
.autumn .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.autumn .gt { color: #aa0000 } /* Generic.Traceback */
.autumn .kc { color: #0000aa } /* Keyword.Constant */
.autumn .kd { color: #0000aa } /* Keyword.Declaration */
.autumn .kn { color: #0000aa } /* Keyword.Namespace */
.autumn .kp { color: #0000aa } /* Keyword.Pseudo */
.autumn .kr { color: #0000aa } /* Keyword.Reserved */
.autumn .kt { color: #00aaaa } /* Keyword.Type */
.autumn .m { color: #009999 } /* Literal.Number */
.autumn .s { color: #aa5500 } /* Literal.String */
.autumn .na { color: #1e90ff } /* Name.Attribute */
.autumn .nb { color: #00aaaa } /* Name.Builtin */
.autumn .nc { color: #00aa00; text-decoration: underline } /* Name.Class */
.autumn .no { color: #aa0000 } /* Name.Constant */
.autumn .nd { color: #888888 } /* Name.Decorator */
.autumn .ni { color: #800000; font-weight: bold } /* Name.Entity */
.autumn .nf { color: #00aa00 } /* Name.Function */
.autumn .nn { color: #00aaaa; text-decoration: underline } /* Name.Namespace */
.autumn .nt { color: #1e90ff; font-weight: bold } /* Name.Tag */
.autumn .nv { color: #aa0000 } /* Name.Variable */
.autumn .ow { color: #0000aa } /* Operator.Word */
.autumn .w { color: #bbbbbb } /* Text.Whitespace */
.autumn .mf { color: #009999 } /* Literal.Number.Float */
.autumn .mh { color: #009999 } /* Literal.Number.Hex */
.autumn .mi { color: #009999 } /* Literal.Number.Integer */
.autumn .mo { color: #009999 } /* Literal.Number.Oct */
.autumn .sb { color: #aa5500 } /* Literal.String.Backtick */
.autumn .sc { color: #aa5500 } /* Literal.String.Char */
.autumn .sd { color: #aa5500 } /* Literal.String.Doc */
.autumn .s2 { color: #aa5500 } /* Literal.String.Double */
.autumn .se { color: #aa5500 } /* Literal.String.Escape */
.autumn .sh { color: #aa5500 } /* Literal.String.Heredoc */
.autumn .si { color: #aa5500 } /* Literal.String.Interpol */
.autumn .sx { color: #aa5500 } /* Literal.String.Other */
.autumn .sr { color: #009999 } /* Literal.String.Regex */
.autumn .s1 { color: #aa5500 } /* Literal.String.Single */
.autumn .ss { color: #0000aa } /* Literal.String.Symbol */
.autumn .bp { color: #00aaaa } /* Name.Builtin.Pseudo */
.autumn .vc { color: #aa0000 } /* Name.Variable.Class */
.autumn .vg { color: #aa0000 } /* Name.Variable.Global */
.autumn .vi { color: #aa0000 } /* Name.Variable.Instance */
.autumn .il { color: #009999 } /* Literal.Number.Integer.Long */
.borland
.bw
.colorful
.default
.emacs .hll { background-color: #ffffcc }
.emacs .c { color: #008800; font-style: italic } /* Comment */
.emacs .err { border: 1px solid #FF0000 } /* Error */
.emacs .k { color: #AA22FF; font-weight: bold } /* Keyword */
.emacs .o { color: #666666 } /* Operator */
.emacs .cm { color: #008800; font-style: italic } /* Comment.Multiline */
.emacs .cp { color: #008800 } /* Comment.Preproc */
.emacs .c1 { color: #008800; font-style: italic } /* Comment.Single */
.emacs .cs { color: #008800; font-weight: bold } /* Comment.Special */
.emacs .gd { color: #A00000 } /* Generic.Deleted */
.emacs .ge { font-style: italic } /* Generic.Emph */
.emacs .gr { color: #FF0000 } /* Generic.Error */
.emacs .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.emacs .gi { color: #00A000 } /* Generic.Inserted */
.emacs .go { color: #808080 } /* Generic.Output */
.emacs .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.emacs .gs { font-weight: bold } /* Generic.Strong */
.emacs .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.emacs .gt { color: #0040D0 } /* Generic.Traceback */
.emacs .kc { color: #AA22FF; font-weight: bold } /* Keyword.Constant */
.emacs .kd { color: #AA22FF; font-weight: bold } /* Keyword.Declaration */
.emacs .kn { color: #AA22FF; font-weight: bold } /* Keyword.Namespace */
.emacs .kp { color: #AA22FF } /* Keyword.Pseudo */
.emacs .kr { color: #AA22FF; font-weight: bold } /* Keyword.Reserved */
.emacs .kt { color: #00BB00; font-weight: bold } /* Keyword.Type */
.emacs .m { color: #666666 } /* Literal.Number */
.emacs .s { color: #BB4444 } /* Literal.String */
.emacs .na { color: #BB4444 } /* Name.Attribute */
.emacs .nb { color: #AA22FF } /* Name.Builtin */
.emacs .nc { color: #0000FF } /* Name.Class */
.emacs .no { color: #880000 } /* Name.Constant */
.emacs .nd { color: #AA22FF } /* Name.Decorator */
.emacs .ni { color: #999999; font-weight: bold } /* Name.Entity */
.emacs .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.emacs .nf { color: #00A000 } /* Name.Function */
.emacs .nl { color: #A0A000 } /* Name.Label */
.emacs .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.emacs .nt { color: #008000; font-weight: bold } /* Name.Tag */
.emacs .nv { color: #B8860B } /* Name.Variable */
.emacs .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.emacs .w { color: #bbbbbb } /* Text.Whitespace */
.emacs .mf { color: #666666 } /* Literal.Number.Float */
.emacs .mh { color: #666666 } /* Literal.Number.Hex */
.emacs .mi { color: #666666 } /* Literal.Number.Integer */
.emacs .mo { color: #666666 } /* Literal.Number.Oct */
.emacs .sb { color: #BB4444 } /* Literal.String.Backtick */
.emacs .sc { color: #BB4444 } /* Literal.String.Char */
.emacs .sd { color: #BB4444; font-style: italic } /* Literal.String.Doc */
.emacs .s2 { color: #BB4444 } /* Literal.String.Double */
.emacs .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.emacs .sh { color: #BB4444 } /* Literal.String.Heredoc */
.emacs .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.emacs .sx { color: #008000 } /* Literal.String.Other */
.emacs .sr { color: #BB6688 } /* Literal.String.Regex */
.emacs .s1 { color: #BB4444 } /* Literal.String.Single */
.emacs .ss { color: #B8860B } /* Literal.String.Symbol */
.emacs .bp { color: #AA22FF } /* Name.Builtin.Pseudo */
.emacs .vc { color: #B8860B } /* Name.Variable.Class */
.emacs .vg { color: #B8860B } /* Name.Variable.Global */
.emacs .vi { color: #B8860B } /* Name.Variable.Instance */
.emacs .il { color: #666666 } /* Literal.Number.Integer.Long */
.friendly
.fruity
.manni
.monokai
.murphy
.native
.pastie
.perldoc
.tango
.trac
.vim
.vs

Binary file not shown.

View File

@ -0,0 +1,147 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
This is a custom SVG webfont generated by Font Squirrel.
Copyright : Created by Raph Levien using his own tools and FontForge Copyright 2006 Raph Levien Released under the SIL Open Font License httpscriptssilorgOFL
</metadata>
<defs>
<font id="webfont9rzdef9O" horiz-adv-x="1024" >
<font-face units-per-em="2048" ascent="1679" descent="-369" />
<missing-glyph horiz-adv-x="500" />
<glyph unicode=" " />
<glyph unicode="!" d="M369 97q0 50 35.5 86t86 36t86 -36t35.5 -86t-35.5 -85t-86 -35t-86 35t-35.5 85zM389 1214q0 53 14 89q27 66 91 65q31 0 58.5 -22.5t39.5 -65.5q6 -31 6 -84q0 -45 -8 -127t-10 -106l-37 -566h-103l-30 566q-4 70 -12.5 144t-8.5 107z" />
<glyph unicode="&#x22;" d="M227 870l45 140q20 61 21 112q0 23 -7 66t-7 63q0 57 26.5 85t61.5 28t63.5 -30.5t28.5 -94.5q0 -72 -68 -260l-49 -135zM582 870l45 140q18 61 18 112q0 23 -6 66t-6 63q0 57 26.5 85t61.5 28t63.5 -30.5t28.5 -94.5q0 -72 -70 -260l-49 -135z" />
<glyph unicode="#" d="M51 387l8 94l203 4l41 349l-223 -3l6 97l227 2l41 348l125 6l-43 -352l226 2l40 334l127 4l-41 -336l187 2l-12 -98l-187 -2l-43 -344l203 4l-10 -97l-203 -4l-45 -368l-125 -9l45 375l-227 -2l-43 -364l-121 -6l43 368zM383 487l225 5l43 344l-227 -2z" />
<glyph unicode="$" d="M123 193l88 122q8 -6 8 -20t6 -23q102 -109 256 -125v451q-66 20 -112 43q-207 98 -207 272q0 111 89 195t230 102v123h131q2 -4 2 -8q0 -6 -7 -15.5t-7 -19.5v-78q190 -20 305 -157l-88 -111q-10 2 -10 14l-2 17q-2 4 -10 12q-70 84 -195 105v-396q92 -31 137 -49 q205 -88 205 -276q0 -119 -89 -217.5t-253 -120.5v-129h-119v125q-221 14 -358 164zM297 930q0 -92 113 -158q29 -16 71 -33v355q-90 -10 -137 -57.5t-47 -106.5zM600 152q96 18 152.5 78.5t56.5 131.5q0 100 -102 156q-35 18 -107 41v-407z" />
<glyph unicode="%" d="M57 1032q0 115 68 190.5t162 75.5t161.5 -76.5t67.5 -193.5q0 -113 -66.5 -188.5t-160.5 -75.5q-96 0 -164 76.5t-68 191.5zM94 0l707 1276h137l-713 -1276h-131zM182 1038q0 -92 33 -129t72 -37t69.5 36t30.5 116q0 96 -32.5 132t-71.5 36q-37 0 -69 -36t-32 -118z M530 244q0 115 68 190.5t162 75.5t160.5 -76t66.5 -188q0 -115 -66.5 -190.5t-160.5 -75.5t-162 75.5t-68 188.5zM651 244q0 -82 34 -122t75 -40t73.5 38t32.5 120q0 88 -33.5 127t-74.5 39t-74 -38t-33 -124z" />
<glyph unicode="&#x26;" d="M74 299q0 119 70.5 228.5t187.5 174.5q-145 174 -146 318q0 115 82 191.5t201 76.5q117 0 195.5 -77.5t78.5 -194.5q0 -100 -60 -193.5t-161 -146.5l230 -322q63 74 92 166q2 8 2 17q0 4 -1 11t-1 13q0 12 8 21l133 -93q-70 -125 -156 -237l144 -186l-121 -91l-113 181 q-63 -80 -154 -128t-192 -48q-137 0 -228 91t-91 228zM229 313q0 -88 53.5 -145t133.5 -57q61 0 122.5 35.5t94.5 70.5l31 35l-261 354q-82 -51 -128 -131t-46 -162zM328 1018q0 -98 125 -254q72 39 113.5 105.5t41.5 136.5q0 72 -42 116.5t-99 44.5t-98 -41.5t-41 -107.5z " />
<glyph unicode="'" d="M422 870l45 140q20 61 20 112q0 23 -7 66t-7 63q0 57 26.5 85t61.5 28t63.5 -30.5t28.5 -94.5q0 -72 -67 -260l-51 -135z" />
<glyph unicode="(" d="M285 528.5q0 280.5 139 506t379 329.5l61 -125q-8 -4 -16 -4q-4 0 -11.5 1t-11.5 1q-6 0 -18 -6q-178 -106 -279.5 -290.5t-101.5 -403.5q0 -242 119 -452t325 -331l-65 -108q-244 127 -382 364.5t-138 518z" />
<glyph unicode=")" d="M147 -233q209 111 331 310t122 431q0 227 -119 422.5t-321 304.5l39 127q250 -115 398 -345.5t148 -502.5q0 -276 -151.5 -513t-407.5 -357z" />
<glyph unicode="*" d="M84 723l53 133l332 -156l-33 363h166q-2 -12 -6 -27.5t-6 -27.5l-31 -308l326 148l53 -125l-350 -107l258 -309l-113 -88l-221 340l-229 -342l-111 90l266 307z" />
<glyph unicode="+" d="M92 596v125h363v350h129v-350h350v-125h-350v-383h-129v383h-363z" />
<glyph unicode="," d="M338 -283q57 53 102 127q31 49 31 86q0 41 -47 72q-57 39 -57 92q0 47 33.5 82t82.5 35q57 0 100.5 -47t43.5 -123q0 -164 -219 -385z" />
<glyph unicode="-" d="M145 575v138h738v-138h-738z" />
<glyph unicode="." d="M367 94q0 49 35.5 84t86 35t86 -35t35.5 -84t-35.5 -83t-86 -34t-86 34t-35.5 83z" />
<glyph unicode="/" d="M131 -27l641 1389l123 -64l-643 -1384z" />
<glyph unicode="0" d="M102 629q0 291 125 473t287 182q76 0 147.5 -44t130 -125t94.5 -211t36 -287.5t-37 -283.5t-96.5 -202t-129 -115t-143.5 -39q-162 0 -288 178.5t-126 473.5zM236 653q0 -131 28 -241l451 581q-41 82 -94.5 124t-108.5 42q-104 0 -190 -138.5t-86 -367.5zM311 283 q43 -84 98.5 -129t112.5 -45q45 0 89 27.5t85 82.5t66.5 154.5t25.5 226.5q0 141 -26 256z" />
<glyph unicode="1" d="M186 1106l328 172h96v-1167h230v-113h-602v113h235v989l-252 -74z" />
<glyph unicode="2" d="M150 0v90q76 150 163.5 258.5t206.5 216.5q45 39 61.5 54.5t56.5 58.5t57.5 72.5t33.5 75.5t16 89q0 102 -71.5 173t-173.5 71q-76 0 -133.5 -37t-85.5 -80q-4 -8 -7.5 -23t-9.5 -24l-104 82q55 96 151.5 151.5t204.5 55.5q156 0 263.5 -104.5t107.5 -253.5 q0 -63 -20.5 -125t-58.5 -114t-69.5 -86t-76.5 -77q-51 -51 -106.5 -100t-124.5 -131t-116 -168h535q12 0 22 8q14 14 27 10v-143h-749z" />
<glyph unicode="3" d="M141 123l109 129q8 -8 12 -27.5t14 -29.5q10 -12 29 -27.5t68 -37t102 -21.5q111 0 184.5 76.5t73.5 183.5q0 113 -84 177t-217 64q-33 0 -63 -4v115q127 0 200 33q63 29 99.5 84t36.5 116q0 82 -62.5 140.5t-159.5 58.5q-129 0 -219 -98l-80 88q125 137 305 137 q150 0 251.5 -95t101.5 -229q0 -92 -52.5 -167.5t-138.5 -108.5q98 -35 158.5 -125t60.5 -205q0 -154 -108.5 -263.5t-284.5 -109.5q-205 1 -336 146z" />
<glyph unicode="4" d="M98 354v105l543 819h121v-799h164v-127h-164v-352h-150v354h-514zM240 479h374v572z" />
<glyph unicode="5" d="M131 174l127 94q10 -6 11 -24.5t3 -22.5q14 -29 81 -74t155 -45q109 0 183.5 81t74.5 223q0 145 -77 225t-185 80q-66 0 -129.5 -32t-110.5 -89l-90 37l43 649h647v-129h-526l-21 -367q100 49 209 49q166 0 275.5 -113.5t109.5 -312.5q0 -201 -114.5 -313.5 t-286.5 -112.5q-115 0 -215.5 51.5t-163.5 145.5z" />
<glyph unicode="6" d="M137 582q0 238 56 391q55 160 163.5 238.5t231.5 78.5q162 0 280 -116l-100 -109q-10 6 -17.5 23.5t-13.5 21.5q-6 8 -22.5 18.5t-52 22.5t-72.5 12q-35 0 -69 -8t-79 -40t-77.5 -82t-58 -144t-27.5 -219q43 72 115.5 112.5t154.5 40.5q143 0 246.5 -113.5t103.5 -304 t-106.5 -308t-257.5 -117.5q-86 0 -166 43t-136 124q-96 148 -96 435zM287 526q-12 -176 62.5 -298t191.5 -122q90 0 154.5 76t64.5 217q0 152 -67.5 225.5t-155.5 73.5q-72 0 -139.5 -47t-110.5 -125z" />
<glyph unicode="7" d="M162 1141v135h723v-80q-131 -295 -244 -598q-109 -297 -203 -598h-162q115 344 246 682q88 231 185 459h-545z" />
<glyph unicode="8" d="M123 322q0 109 70.5 206t185.5 150q-88 45 -141.5 126t-53.5 173q0 131 99.5 223t244.5 92q141 0 236.5 -88t95.5 -215q0 -92 -55 -175t-148 -132q111 -51 178.5 -146.5t67.5 -205.5q0 -147 -112.5 -248.5t-278.5 -101.5t-277.5 99.5t-111.5 242.5zM270 340 q0 -96 72 -163.5t176 -67.5q100 0 170 64.5t70 157.5t-74 172t-199 118q-92 -39 -153.5 -116t-61.5 -165zM322 989q0 -57 34.5 -109.5t76.5 -82t79 -45.5l35 -19q76 41 125 108.5t49 139.5q0 80 -58.5 135t-144.5 55q-84 0 -140 -53t-56 -129z" />
<glyph unicode="9" d="M139 866q0 182 107.5 302t259.5 120q109 0 204 -69.5t142 -206.5q43 -129 43 -357q0 -236 -53 -379q-55 -147 -164 -221.5t-234 -74.5q-164 0 -282 116l100 109q10 -6 17.5 -24.5t15.5 -24.5q59 -47 154 -47q76 0 145.5 43t105.5 133q47 109 54 315q-45 -63 -115 -100 t-150 -37q-143 0 -246.5 112.5t-103.5 290.5zM279 872q0 -135 66.5 -209.5t158.5 -74.5q70 0 134 42t107 113q16 186 -56.5 302t-186.5 116q-92 0 -157.5 -78t-65.5 -211z" />
<glyph unicode=":" d="M367 94q0 49 35.5 84t86 35t86 -35t35.5 -84t-35.5 -83t-86 -34t-86 34t-35.5 83zM367 748.5q0 48.5 35.5 83t86 34.5t86 -34.5t35.5 -83t-35.5 -83t-86 -34.5t-86 34.5t-35.5 83z" />
<glyph unicode=";" d="M338 -283q57 53 102 127q31 49 31 86q0 41 -47 72q-57 39 -57 92q0 47 33.5 82t82.5 35q57 0 100.5 -47t43.5 -123q0 -164 -219 -385zM367 748.5q0 48.5 35.5 83t86 34.5t86 -34.5t35.5 -83t-35.5 -83t-86 -34.5t-86 34.5t-35.5 83z" />
<glyph unicode="&#x3c;" d="M72 606l872 -510v156l-717 401l711 363v145l-866 -456v-99z" />
<glyph unicode="=" d="M92 348v125h842v-125h-842zM92 772v125h842v-125h-842z" />
<glyph unicode="&#x3e;" d="M82 96v156l715 401l-711 363v145l868 -456v-99z" />
<glyph unicode="?" d="M131 1149q66 100 172.5 156.5t222.5 56.5q166 0 264.5 -105.5t98.5 -255.5q0 -55 -12.5 -100t-41 -84t-46 -57.5t-57.5 -51t-46 -36.5q-57 -51 -72.5 -97.5t-15.5 -111.5v-84h-135v84q0 82 17.5 139t78.5 125l40 41q32 33 47.5 51.5t38 52t32.5 68.5t10 72 q0 92 -61.5 154.5t-153.5 62.5q-78 0 -153.5 -48t-122.5 -130zM414 91q0 48 34.5 83t86 35t86 -35t34.5 -83t-34.5 -83t-86 -35t-86 35t-34.5 83z" />
<glyph unicode="@" d="M63 643q0 166 45.5 296t118 206t156.5 113.5t172 37.5q115 0 209 -60t143 -167q45 -102 45 -295v-416h-123v78q-80 -94 -204 -94q-111 0 -189 78t-78 188q0 86 51.5 160t143.5 111q82 31 240 30h30q0 115 -79.5 196t-194.5 81q-68 0 -132.5 -33t-117.5 -96.5t-85 -169 t-32 -238.5q0 -143 39 -253.5t103.5 -174t139.5 -95.5t152 -32q119 0 220 68l55 -101q-131 -84 -287 -84q-100 0 -193.5 38t-172 115t-127 210t-48.5 303zM485 614q0 -68 47.5 -113.5t114.5 -45.5q47 0 88 23.5t64 68.5q14 29 21 72t8 66.5t1 82.5v39h-34q-158 0 -228 -47 q-82 -56 -82 -146z" />
<glyph unicode="A" d="M31 -2l450 1300h17l491 -1298h-147l-142 373h-405l-123 -375h-141zM324 483h344l-181 488z" />
<glyph unicode="B" d="M98 0v1276h363q158 0 239 -35q88 -39 136.5 -113.5t48.5 -162.5q0 -92 -51.5 -169t-137.5 -112q106 -37 173 -128t67 -202q0 -102 -56.5 -187t-156.5 -128q-90 -39 -264 -39h-361zM240 125h243q109 0 166 27q63 29 99 87t36 130q0 70 -37.5 132t-105.5 95q-68 31 -192 31 h-209v-502zM240 748h200q117 0 176.5 25.5t92 73.5t32.5 103q0 57 -33.5 106.5t-95.5 73.5q-57 25 -170 25h-202v-407z" />
<glyph unicode="C" d="M84 631q0 147 31.5 264t81 188.5t116 118.5t129 65.5t127.5 18.5q127 0 232.5 -68.5t159.5 -183.5l-138 -67q-8 6 -8 20v7v7q0 10 -6 23q-41 68 -106.5 107.5t-139.5 39.5q-141 0 -240.5 -142t-99.5 -386q0 -248 102.5 -394.5t249.5 -146.5q76 0 147 42t114 114l106 -70 q-59 -98 -159.5 -153t-215.5 -55q-66 0 -131 19t-129.5 67.5t-114 121t-79 187.5t-29.5 256z" />
<glyph unicode="D" d="M111 -2v1278h297q98 0 165.5 -13.5t131.5 -54.5q121 -78 179 -227.5t58 -339.5q0 -211 -72.5 -366.5t-210.5 -225.5q-100 -51 -276 -51h-272zM246 111h131q76 0 130 11t107 46q184 125 185 453q0 332 -160 462q-53 45 -108.5 58.5t-131.5 13.5h-153v-1044z" />
<glyph unicode="E" d="M121 0v1278h782v-127h-647v-420h535v-131h-535v-473h641v-127h-776z" />
<glyph unicode="F" d="M160 0v1278h735v-125h-592v-401h477v-125h-477v-627h-143z" />
<glyph unicode="G" d="M74 623q0 160 35.5 283.5t89 193t123 115t129 59.5t116.5 14q119 0 217.5 -57t153.5 -156l-100 -102q-12 8 -27 39q-31 68 -96.5 109.5t-147.5 41.5q-86 0 -162.5 -47t-123.5 -135q-66 -121 -66 -328q0 -297 123 -436q96 -111 242 -111q121 0 229 78v303h-231v125h364 v-499q-180 -133 -375 -133q-70 0 -137.5 20t-133 68.5t-113.5 119t-78.5 183.5t-30.5 252z" />
<glyph unicode="H" d="M111 0v1276h159q2 -4 2 -10t-6 -16.5t-6 -22.5v-498h500v547h155q2 -4 3 -8q0 -8 -7.5 -17.5t-7.5 -19.5v-1233h-145v610h-498v-608h-149z" />
<glyph unicode="I" d="M166 -2v121h252v1036h-238v121h633v-121h-252v-1038h264v-119h-659z" />
<glyph unicode="J" d="M100 119l97 117q6 -6 7 -19.5t5 -17.5q8 -10 27.5 -28.5t67.5 -42.5t97 -24q96 0 150 80q23 33 34 81t12 76t1 85v729h-246v121h584v-121h-197v-727q0 -61 -2 -97t-13 -88.5t-36 -95.5q-43 -82 -119.5 -126t-169.5 -44q-86 0 -164 37t-135 105z" />
<glyph unicode="K" d="M86 0v1278h172q2 -12 -12 -29q-6 -10 -6 -24v-537l532 598q41 -10 107 -10h53l-483 -551l516 -727l-183 -6l-442 647l-100 -111v-528h-154z" />
<glyph unicode="L" d="M135 -2v1278h168q2 -14 -8 -33q-10 -18 -10 -37v-1083h614v-125h-764z" />
<glyph unicode="M" d="M84 -2v1278h113l315 -625l322 627h108v-1280h-135v965l-277 -514h-55l-258 507v-958h-133z" />
<glyph unicode="N" d="M102 0v1276h140l536 -946v948h152q2 -12 -6 -27q-8 -14 -9 -28v-1225h-112l-563 1006v-1004h-138z" />
<glyph unicode="O" d="M59 640q0 144 30 260t77 186.5t109.5 118.5t123 66.5t121.5 18.5q109 0 208 -61.5t159 -177.5q78 -154 78 -416q0 -254 -76 -408q-59 -123 -158.5 -185t-210.5 -62q-61 0 -122.5 20t-123 69.5t-108.5 122t-77 188.5t-30 260zM201 659q0 -145 29.5 -254.5t77.5 -169 t101.5 -87t110.5 -27.5q72 0 137.5 42t106.5 130q57 121 57 323q0 215 -49 338q-41 102 -111.5 151.5t-146.5 49.5q-55 0 -106.5 -24.5t-99.5 -79t-77.5 -156t-29.5 -236.5z" />
<glyph unicode="P" d="M121 0v1276h389q156 0 240 -43q88 -45 136 -131t48 -185.5t-47 -183.5t-133 -129q-82 -41 -234 -41h-252v-563h-147zM266 690h258q96 0 150 25q53 29 82.5 81t29.5 113q0 66 -31.5 121t-88.5 84q-55 27 -156 27h-242z" />
<glyph unicode="Q" d="M59 639q0 145 31 261t77 186.5t108.5 118.5t123 66.5t121.5 18.5q109 0 208 -62.5t161 -180.5q76 -152 76 -414q0 -254 -76 -408q-51 -100 -130 -160.5t-171 -78.5q4 -68 34.5 -111t116.5 -43q25 0 81.5 5t84.5 5l-4 -139q-34 -1 -66 -1q-63 0 -117 3q-81 4 -132 29 q-125 63 -123 252q-76 10 -142.5 51t-128 114.5t-97.5 199.5t-36 288zM199 662q0 -145 29.5 -256t76.5 -172.5t102.5 -91t114.5 -29.5q37 0 74 11t80 45t75.5 86t54 145.5t21.5 215.5q0 211 -51 340q-43 104 -114.5 153.5t-147.5 49.5q-57 0 -109.5 -26.5t-99.5 -81 t-76.5 -155.5t-29.5 -234z" />
<glyph unicode="R" d="M115 0v1276h377q160 0 243 -43q86 -43 133 -126t47 -181q0 -127 -71.5 -226.5t-188.5 -130.5l295 -569h-159l-283 563h-248v-563h-145zM260 690h248q96 0 147 25q55 29 84 81t29 113q0 66 -30.5 121t-90.5 84q-53 27 -155 27h-232v-451z" />
<glyph unicode="S" d="M106 143l84 148q10 -6 11 -21q0 -14 6 -22q47 -59 127 -99t176 -40q131 0 206 69.5t75 161.5q0 109 -109 176q-37 23 -184.5 83t-212.5 108q-137 100 -138 249q0 133 111 230.5t279 97.5q104 0 196 -42t158 -118l-90 -123q-10 4 -11.5 17.5t-5.5 19.5q-39 57 -106.5 92 t-151.5 35q-106 0 -168.5 -55t-62.5 -131q0 -115 131 -191q29 -18 185.5 -83.5t222.5 -126.5q98 -92 98 -230q0 -66 -23.5 -127t-72 -117.5t-133.5 -90t-197 -33.5q-248 -1 -400 163z" />
<glyph unicode="T" d="M63 1149v129h885v-129h-377v-1151h-145v1151h-363z" />
<glyph unicode="U" d="M102 440v836h162q2 -4 2 -10q0 -8 -14 -29q-8 -10 -8 -27v-772q0 -123 30 -188q33 -72 99.5 -112t144.5 -40q76 0 142.5 39t99.5 111q33 68 33 196v832h137v-830q0 -86 -9.5 -148t-41.5 -122q-53 -96 -150.5 -147.5t-212.5 -51.5q-117 0 -214 51.5t-150 147.5 q-31 57 -40.5 117.5t-9.5 146.5z" />
<glyph unicode="V" d="M51 1278h150l327 -981l310 979h141l-428 -1284h-66z" />
<glyph unicode="W" d="M35 1276h133l137 -862l205 768h45l207 -772l117 866h120l-202 -1284h-56l-219 842l-223 -842h-59z" />
<glyph unicode="X" d="M84 0l348 651l-342 627h154l268 -485l264 485h144l-324 -625l362 -653h-161l-283 506l-274 -506h-156z" />
<glyph unicode="Y" d="M57 1278h164l314 -621l282 619h152l-363 -772v-504h-155v504z" />
<glyph unicode="Z" d="M102 -2v100l643 1049h-618v129h788l-2 -100l-630 -1051h602q14 0 31.5 7t31.5 5v-139h-846z" />
<glyph unicode="[" d="M268 -182v1554h586v-123h-455v-1315h457v-116h-588z" />
<glyph unicode="\" d="M131 1298l121 64l643 -1389l-121 -59z" />
<glyph unicode="]" d="M170 -66h457v1315h-455v123h584v-1554h-586v116z" />
<glyph unicode="^" d="M190 752l314 524h45l276 -522l-108 -52l-199 359l-225 -359z" />
<glyph unicode="_" d="M72 -39h882v-125h-882v125z" />
<glyph unicode="`" d="M285 1323l106 51l53 -135q25 -59 58 -98q14 -18 47 -47t47 -45q35 -49 33 -85t-29 -57q-16 -14 -38.5 -18t-53.5 9t-59 46q-45 55 -113 242z" />
<glyph unicode="a" d="M100 242q0 82 54.5 155.5t160.5 112.5q55 20 133 29.5t125.5 10.5t145.5 1h31v35q0 111 -31 159q-55 90 -193 91q-168 0 -268 -105l-72 94q125 131 334 131q111 0 195 -39.5t131 -115.5q45 -76 45 -221v-580h-139v102q-154 -125 -336 -125q-141 0 -228.5 78t-87.5 187z M248 252q0 -66 54 -114t142 -48q82 0 145.5 35t100.5 76q31 31 45.5 65.5t17.5 56t3 54.5v61h-35q-32 1 -71.5 1t-87.5 -1q-95 -2 -148 -14q-82 -20 -124 -68.5t-42 -103.5z" />
<glyph unicode="b" d="M123 0v1362h172q4 -10 -10 -23q-12 -8 -13 -22v-524q45 76 122 120.5t167 44.5q70 0 136.5 -29.5t120.5 -87t86 -150.5t32 -212q0 -123 -34 -221t-90 -157.5t-125 -91.5t-142 -32q-84 0 -157 39t-120 107l-51 -123h-94zM272 498q0 -141 7 -185q8 -63 34.5 -106 t64.5 -62.5t68.5 -27.5t59.5 -8q33 0 65.5 8t71.5 30.5t69.5 57.5t51 98.5t20.5 145.5q0 94 -21.5 165.5t-51 111.5t-68.5 64.5t-70.5 32.5t-62.5 8q-72 0 -129 -36.5t-84 -100.5q-25 -59 -25 -196z" />
<glyph unicode="c" d="M115 467q0 211 132 349t339 138q111 0 202 -46t148 -128l-105 -121q-10 6 -10 23.5t-4 24.5q-4 8 -18.5 24.5t-43 40t-76.5 40.5t-104 17q-131 0 -220 -95t-89 -251q0 -164 92.5 -268t229.5 -104q147 0 248 114l86 -100q-139 -147 -347 -148q-199 0 -329.5 139.5 t-130.5 350.5z" />
<glyph unicode="d" d="M92 475q0 129 36 226.5t95.5 151.5t125 81t136.5 27q96 0 168 -44.5t107 -117.5v563h158q0 -12 -13 -31q-8 -12 -8 -26l2 -1219q0 -51 10 -86h-147q-8 27 -8 70v80q-45 -78 -123 -124t-166 -46q-72 0 -136.5 29.5t-118.5 88t-86 155.5t-32 222zM236 500q0 -109 25.5 -190 t66.5 -122t84 -60t86 -19q76 0 140 48t91 130q18 61 19 170q0 141 -15 200q-27 94 -96.5 138.5t-144.5 44.5q-43 0 -85 -16.5t-82 -52.5t-64.5 -106.5t-24.5 -164.5z" />
<glyph unicode="e" d="M100 457q0 244 124 372.5t306 128.5q59 0 115.5 -17t110 -54t91.5 -103.5t54 -156.5q9 -56 9 -114q0 -33 -3 -67h-665q4 -98 36.5 -170.5t82 -108.5t98.5 -52.5t102 -16.5q147 0 242 105l82 -80q-121 -143 -336 -143q-199 0 -324 126t-125 351zM248 561h514q2 17 2 33 q0 94 -61 167q-71 85 -183 85q-41 0 -82 -14.5t-81 -45t-69.5 -89t-39.5 -136.5z" />
<glyph unicode="f" d="M129 764v117h203v92q0 156 51 237q49 80 134 122t185 42q180 0 287 -129l-67 -135q-4 0 -9.5 4t-7.5 12q0 18 -4 25q-33 47 -87 76.5t-118 29.5q-131 0 -188 -102q-35 -61 -35 -203v-71h307v-117h-307v-764h-141v764h-203z" />
<glyph unicode="g" d="M78 -131q0 111 153 207q-76 41 -75 125q0 92 106 180q-66 43 -102.5 110.5t-36.5 143.5q0 137 104.5 234.5t245.5 97.5q131 0 221 -90q102 85 232 85q14 0 28 -1l19 -121q-27 4 -55 4q-88 0 -162 -45q47 -72 47 -158q0 -131 -99.5 -226.5t-238.5 -95.5q-61 0 -119 23 q-66 -55 -65 -106q0 -45 55 -62q43 -10 133 -10q40 2 87 2q36 0 76 -1q93 -3 154 -28q72 -29 109 -84t37 -119q0 -51 -23.5 -99t-72 -91t-135.5 -69.5t-199 -26.5q-225 0 -324.5 65.5t-99.5 155.5zM213 -96q0 -78 92 -115q78 -31 195 -31q133 0 209 41q88 49 88 125 q0 37 -27 69t-84 40q-33 6 -108 6h-91q-98 4 -157 10q-117 -63 -117 -145zM258 644q0 -85 60.5 -145.5t145.5 -60.5t145.5 60.5t60.5 145.5t-60.5 145.5t-145.5 60.5t-145.5 -60.5t-60.5 -145.5z" />
<glyph unicode="h" d="M143 0v1362h170v-6q0 -8 -12 -23q-8 -8 -8 -20v-543q55 84 138 136t173 52q82 0 148.5 -44t101.5 -121q33 -76 33 -226v-567h-146v563q0 45 -1 72t-13 67.5t-35 67.5q-51 59 -127 59q-68 0 -129 -42t-96 -87q-47 -63 -47 -161v-539h-150z" />
<glyph unicode="i" d="M205 0v119h239v698h-227v119h375v-817h219v-119h-606zM416 1238q0 44 30.5 74.5t74.5 30.5t75 -30.5t31 -74.5t-31 -74.5t-75 -30.5t-74.5 30.5t-30.5 74.5z" />
<glyph unicode="j" d="M98 -225l97 127q6 -6 10 -19.5t8 -19.5q6 -12 23.5 -29.5t62.5 -40t94 -22.5q61 0 112.5 30.5t76.5 85.5q25 53 24 150v778h-348v121h498v-870q0 -154 -43 -236q-47 -90 -135.5 -138t-192.5 -48q-181 0 -287 131zM575 1238q0 44 32 74.5t76 30.5t74.5 -30.5t30.5 -74.5 t-30.5 -74.5t-74.5 -30.5t-76 30.5t-32 74.5z" />
<glyph unicode="k" d="M135 -2v1364h168q2 -12 -10 -31q-8 -10 -8 -22v-803l469 434q43 -10 108 -10h53l-393 -371l459 -561h-14l-176 -6l-383 477l-123 -115v-356h-150z" />
<glyph unicode="l" d="M162 0v119h276v1124h-264v119h414v-1243h274v-119h-700z" />
<glyph unicode="m" d="M78 0v936h135v-92q33 51 84 82.5t106 31.5q61 0 107.5 -38.5t58.5 -98.5q27 61 84.5 99t124.5 38q98 0 148 -75q12 -16 19 -38t11.5 -43.5t5.5 -45t1 -45.5v-47v-666h-140v666q0 106 -12 135q-23 51 -74 51q-59 0 -108 -84q-41 -66 -41 -148v-618h-137v651q0 92 -9 123 q-23 72 -88 72q-66 0 -112 -88q-29 -55 -29 -133v-625h-135z" />
<glyph unicode="n" d="M139 0v936h152v-166q53 84 136 136t173 52q82 0 148.5 -44t101.5 -121q35 -76 35 -226v-567h-146v563q0 45 -2 72t-14 67.5t-35 67.5q-49 59 -127 59q-66 0 -128 -42t-97 -87q-45 -63 -45 -161v-539h-152z" />
<glyph unicode="o" d="M82 461q0 213 131 354t313 141q170 0 293 -131t123 -362q0 -223 -123 -355.5t-297 -132.5q-182 0 -311 138.5t-129 347.5zM238 473q0 -166 84 -268.5t200 -102.5q111 0 192 94.5t81 260.5q0 180 -84 277t-195 97q-115 0 -196.5 -97t-81.5 -261z" />
<glyph unicode="p" d="M123 -342v1278h149v-143q47 76 126 119.5t169 43.5q72 0 138.5 -28.5t121 -85t88 -150.5t33.5 -213q0 -125 -34.5 -223t-91 -158.5t-125 -91.5t-142.5 -31q-86 0 -159.5 39t-121.5 109v-465h-151zM272 510q0 -86 1 -122t7.5 -80t18.5 -72q27 -61 85 -95.5t128 -34.5 q31 0 63.5 6.5t73.5 29t72 58.5t52.5 100.5t21.5 148.5q0 96 -22.5 168.5t-53.5 112.5t-72 63.5t-71.5 30.5t-61.5 7q-72 0 -131 -36.5t-86 -100.5q-25 -57 -25 -184z" />
<glyph unicode="q" d="M86 477q0 225 121 354.5t287 129.5q174 0 258 -138q14 -20 14 -24v137h139v-1278h-147v492q-43 -78 -121 -124t-166 -46q-160 0 -272.5 138t-112.5 359zM236 498q0 -186 79.5 -287.5t188.5 -101.5q76 0 140.5 48t88.5 130q20 61 21 170q0 160 -23 223q-29 80 -95.5 120 t-137.5 40q-106 0 -184 -86t-78 -256z" />
<glyph unicode="r" d="M203 -2v938h153l-4 -180q43 96 136.5 149t199.5 53q152 0 250 -102l-68 -141q-10 8 -21 25.5t-13 21.5q-55 70 -156 69q-162 0 -262 -157q-31 -47 -46.5 -90t-17.5 -67.5t-2 -61.5v-457h-149z" />
<glyph unicode="s" d="M117 127l84 147q10 -4 9 -19t7 -22q20 -27 52 -51t99.5 -52t141.5 -28q100 0 170 42t70 106q0 76 -95 121q-39 18 -133 46.5t-116 37.5q-29 10 -45.5 17t-56.5 29.5t-63.5 45t-44 63.5t-20.5 86q0 109 100.5 185.5t260.5 76.5q215 0 348 -147l-86 -129q-10 2 -10.5 16.5 t-4.5 20.5q-37 47 -104.5 87t-155.5 40q-82 0 -139 -36t-57 -91q0 -70 92 -113q37 -18 161 -54t183 -69q137 -78 137 -213q0 -115 -104.5 -202.5t-284.5 -87.5q-235 0 -395 147z" />
<glyph unicode="t" d="M143 815l2 121h224l16 250l162 26q2 -12 1 -18t-6 -17.5t-7 -19.5l-25 -221h307v-121h-307q-18 -182 -18 -366q0 -135 6 -181q10 -78 54 -113.5t103 -35.5q94 0 209 84l45 -117q-141 -104 -299 -104q-141 0 -213 100q-25 35 -38 84t-15 82t-2 88q0 240 20 479h-219z" />
<glyph unicode="u" d="M127 414l2 522h147v-522q0 -137 35 -203q27 -53 75 -84t103 -31q66 0 124.5 40t91.5 100q37 68 36 184v516h150v-852q0 -51 10 -84h-156q-4 29 -4 72l2 71q-45 -78 -122.5 -122t-165.5 -44q-92 0 -171 50.5t-120 140.5q-37 84 -37 246z" />
<glyph unicode="v" d="M82 936h176q2 -8 -2 -21.5t-4 -17.5q0 -6 2 -12l270 -684l152 348q96 225 127 387h133q-39 -170 -141 -410l-228 -532h-114z" />
<glyph unicode="w" d="M33 936h149q4 -14 -4 -39q-6 -18 -2 -39l137 -674l160 664h90l199 -662q57 385 74 523q13 110 13 189q0 20 -1 38h137q-61 -473 -156 -938h-139l-172 606l-164 -606h-133z" />
<glyph unicode="x" d="M96 0l330 475l-324 461h162l244 -346l233 346h152l-303 -455l344 -481h-168l-258 365l-244 -365h-168z" />
<glyph unicode="y" d="M45 -276l78 131q6 -6 10 -19.5t6 -13.5q4 -8 14.5 -19.5t37 -25t57.5 -13.5q74 0 131 62q33 35 65 108l29 70l-379 932h182q2 -10 -3 -24.5t-5 -20.5t4 -17l275 -688l178 502q51 145 70 248h153q-33 -109 -92 -270l-293 -772q-37 -100 -80 -148q-90 -102 -235 -102 q-121 0 -203 80z" />
<glyph unicode="z" d="M102 -2v100l580 709h-537v129h727v-100l-569 -711h555q14 0 31.5 7t32.5 5v-139h-820z" />
<glyph unicode="{" d="M109 467v115h38q94 0 138 45q53 57 53 174q0 25 -2 73t-2 74q0 182 100 275q29 25 62.5 42t67.5 24t71 11.5t71 4.5h68h62v-117h-70q-47 0 -82 1t-67.5 -5t-57.5 -23q-82 -51 -82 -190q0 -25 2 -72t2 -72q0 -98 -30 -163q-47 -96 -148 -140q174 -59 174 -317 q0 -33 -3 -89.5t-3 -82.5q0 -154 84 -211q18 -14 42 -21.5t48.5 -9.5t53 -3t59.5 -1h76v-115h-74h-74q-35 0 -68.5 3.5t-63.5 8.5t-59.5 18t-54.5 32q-115 88 -114 297q0 43 4 109.5t4 95.5q0 135 -53 188q-43 41 -131 41h-41z" />
<glyph unicode="|" d="M444 -309v1644h138v-1644h-138z" />
<glyph unicode="}" d="M188 1188v117h64h66q34 0 71 -4.5t71 -11.5t68.5 -24.5t61.5 -41.5q102 -92 102 -275q0 -27 -3 -75t-3 -72q0 -117 53 -174q45 -45 138 -45h41v-115h-44q-88 0 -129 -41q-53 -53 -53 -188q0 -29 3 -95.5t3 -109.5q0 -209 -112 -297q-27 -18 -56.5 -31.5t-59.5 -18.5 t-63.5 -8.5t-68.5 -3.5h-74h-74v115h76q31 0 59.5 1t53 3t48.5 9.5t44 21.5q84 57 84 211q0 27 -3 83t-3 89q0 258 172 317q-98 43 -146 140q-33 66 -32 163q0 25 3 72t3 72q0 139 -82 190q-27 16 -58.5 22.5t-66.5 5.5t-82 -1h-72z" />
<glyph unicode="~" d="M84 768q49 80 124 131t159 51q57 0 107 -23.5t81 -52t72 -53t80 -24.5q45 0 83.5 32.5t90.5 100.5l94 -78q-51 -76 -125 -132t-160 -56q-55 0 -104 25.5t-78 56t-69 56t-83 25.5q-92 0 -170 -127z" />
<glyph unicode="&#xa0;" />
<glyph unicode="&#xa2;" d="M98 559q0 207 126 343t331 147l29 229l137 -14q2 -12 -7 -27.5t-12 -30.5l-20 -168q160 -31 242 -157l-90 -117q-8 6 -9 20q0 25 -8 33q-57 70 -151 98l-95 -716q156 0 269 114l73 -100q-133 -145 -344 -145h-16l-31 -230l-116 15l28 231q-154 43 -245 171t-91 304z M244 578q0 -131 56 -225.5t151 -131.5l88 709q-129 -8 -212 -102t-83 -250z" />
<glyph unicode="&#xa3;" d="M80 100q59 27 77.5 37t38 26.5t35.5 41.5q72 111 72 250q0 76 -31 202h-135v117h107q-14 74 -15 131q0 166 105.5 268.5t255.5 102.5q152 0 266 -105l-90 -112q-10 6 -16.5 21.5t-12.5 19.5q-6 8 -22.5 20.5t-53 25.5t-75.5 13q-90 0 -154.5 -65.5t-64.5 -186.5 q0 -55 16 -133h205v-117h-176q27 -119 26 -198q0 -154 -73 -275q27 4 55 4q70 0 175 -42t163 -42q84 0 151 58l54 -107q-106 -86 -213 -86q-63 0 -176 46t-189 46q-106 0 -252 -77z" />
<glyph unicode="&#xa5;" d="M74 1278h159l297 -535l273 533h151l-356 -672v-43h274v-117h-274v-129h274v-114h-274v-201h-139v201h-287v114h287v129h-287v117h287v43z" />
<glyph unicode="&#xa9;" d="M29 561q0 219 145 371.5t350 152.5t350.5 -152.5t145.5 -369.5q0 -219 -146.5 -371.5t-350.5 -152.5t-349 152.5t-145 369.5zM121 561q0 -182 119.5 -308t285.5 -126t286 127t120 309t-119 309t-286 127t-286.5 -127t-119.5 -311zM236 565q0 129 88 216t213 87 q94 0 164.5 -53t91.5 -137l-107 -39q-6 8 -7 23.5t-1 17.5q-4 12 -14.5 29.5t-44 37t-78.5 19.5q-78 0 -134.5 -49t-56.5 -139q0 -92 56.5 -157t136.5 -65q49 0 90 25t63 68l90 -60q-43 -66 -110.5 -102.5t-140.5 -36.5q-125 0 -212 93t-87 222z" />
<glyph unicode="&#xad;" d="M145 575v138h738v-138h-738z" />
<glyph unicode="&#xae;" d="M29 561q0 219 145 371.5t350 152.5t350.5 -152.5t145.5 -369.5q0 -219 -146.5 -371.5t-350.5 -152.5t-349 152.5t-145 369.5zM121 561q0 -182 119.5 -308t285.5 -126t286 127t120 309t-119 309t-286 127t-286.5 -127t-119.5 -311zM317 272v598h193q94 0 141 -20 q51 -23 79 -64t28 -90q0 -55 -33 -99t-86 -58l131 -256l-96 -15l-127 256h-135v-252h-95zM412 606h106q74 0 107 21q39 25 39 69q0 47 -46 72q-33 18 -106 18h-100v-180z" />
<glyph unicode="&#xb4;" d="M418 1130l180 302l129 -86l-207 -277z" />
<glyph unicode="&#x2000;" horiz-adv-x="714" />
<glyph unicode="&#x2001;" horiz-adv-x="1431" />
<glyph unicode="&#x2002;" horiz-adv-x="714" />
<glyph unicode="&#x2003;" horiz-adv-x="1431" />
<glyph unicode="&#x2004;" horiz-adv-x="477" />
<glyph unicode="&#x2005;" horiz-adv-x="356" />
<glyph unicode="&#x2006;" horiz-adv-x="237" />
<glyph unicode="&#x2007;" horiz-adv-x="237" />
<glyph unicode="&#x2008;" horiz-adv-x="178" />
<glyph unicode="&#x2009;" horiz-adv-x="284" />
<glyph unicode="&#x200a;" horiz-adv-x="77" />
<glyph unicode="&#x2010;" d="M145 575v138h738v-138h-738z" />
<glyph unicode="&#x2011;" d="M145 575v138h738v-138h-738z" />
<glyph unicode="&#x2012;" d="M145 575v138h738v-138h-738z" />
<glyph unicode="&#x2013;" d="M145 575v138h738v-138h-738z" />
<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M145 575v138h1762v-138h-1762z" />
<glyph unicode="&#x2018;" d="M373 922q0 164 217 385l72 -64q-57 -51 -103 -127q-31 -49 -31 -84q0 -41 47 -74q57 -37 58 -90q0 -47 -34 -81.5t-83 -34.5q-57 0 -100 47t-43 123z" />
<glyph unicode="&#x2019;" d="M338 813q57 53 102 127q31 49 31 86q0 41 -47 72q-57 39 -57 92q0 47 33.5 82t82.5 35q57 0 100.5 -47.5t43.5 -122.5q0 -164 -219 -385z" />
<glyph unicode="&#x201c;" d="M162 922q0 164 217 385l70 -64q-57 -51 -103 -127q-31 -49 -31 -84q0 -41 50 -74q57 -37 57 -90q0 -47 -35 -81.5t-84 -34.5q-57 0 -99 47t-42 123zM586 922q0 164 217 385l69 -64q-57 -51 -102 -127q-31 -49 -31 -84q0 -41 49 -74q57 -37 58 -90q0 -47 -35 -81.5 t-84 -34.5q-57 0 -99 47t-42 123z" />
<glyph unicode="&#x201d;" d="M125 813q59 53 104 127q29 49 29 86q0 41 -47 72q-57 39 -57 92q0 47 33.5 82t84.5 35q57 0 99.5 -47.5t42.5 -122.5q0 -164 -217 -385zM549 813q59 53 104 127q29 49 29 86q0 41 -47 72q-57 39 -57 92q0 47 33.5 82t84.5 35q57 0 99.5 -47.5t42.5 -122.5 q0 -164 -217 -385z" />
<glyph unicode="&#x2022;" d="M350 607.5q0 70.5 51.5 120.5t123 50t122.5 -50t51 -120.5t-51 -121t-122.5 -50.5t-123 50.5t-51.5 121z" />
<glyph unicode="&#x2026;" d="M14 94q0 49 35 84t86 35t86 -35t35 -84t-35 -83t-86 -34t-86 34t-35 83zM367 94q0 49 35.5 84t86 35t86 -35t35.5 -84t-35.5 -83t-86 -34t-86 34t-35.5 83zM721 94q0 49 36 84t86 35t85 -35t35 -84t-35 -83t-85 -34t-86 34t-36 83z" />
<glyph unicode="&#x202f;" horiz-adv-x="284" />
<glyph unicode="&#x205f;" horiz-adv-x="356" />
<glyph unicode="&#x20ac;" d="M68 446l26 119h82v33q0 70 4 131h-112l26 119h105q25 117 73 201q72 127 180.5 182t221.5 55q168 0 276 -110l-51 -140q-8 6 -10 20.5t-6 20.5q-8 10 -26.5 26.5t-74 41t-116.5 24.5q-104 0 -196.5 -68.5t-133.5 -211.5q-6 -20 -10 -41h505l-45 -119h-479q-4 -55 -4 -121 v-43h422l-47 -119h-363q23 -125 84 -208q100 -137 271 -138q127 0 219 84l59 -102q-121 -104 -286 -105q-55 0 -108.5 11.5t-115 45.5t-110.5 84t-88 135t-54 193h-118z" />
<glyph unicode="&#x2122;" d="M37 1219v81h452v-81h-184v-564h-92v564h-176zM549 655v645h72l147 -296l76 147l78 149h67v-645h-86v441l-63 -113l-60 -109l-32 3l-113 219v-441h-86z" />
<glyph unicode="&#xe000;" horiz-adv-x="935" d="M0 935h935v-935h-935v935z" />
<glyph unicode="&#xfb01;" horiz-adv-x="2048" d="M1229 0v119h239v698h-227v119h375v-817h219v-119h-606zM1440 1238q0 44 30.5 74.5t74.5 30.5t75 -30.5t31 -74.5t-31 -74.5t-75 -30.5t-74.5 30.5t-30.5 74.5zM129 764v117h203v92q0 156 51 237q49 80 134 122t185 42q180 0 287 -129l-67 -135q-4 0 -9.5 4t-7.5 12 q0 18 -4 25q-33 47 -87 76.5t-118 29.5q-131 0 -188 -102q-35 -61 -35 -203v-71h307v-117h-307v-764h-141v764h-203z" />
<glyph unicode="&#xfb02;" horiz-adv-x="2048" d="M1186 0v119h276v1124h-264v119h414v-1243h274v-119h-700zM129 764v117h203v92q0 156 51 237q49 80 134 122t185 42q180 0 287 -129l-67 -135q-4 0 -9.5 4t-7.5 12q0 18 -4 25q-33 47 -87 76.5t-118 29.5q-131 0 -188 -102q-35 -61 -35 -203v-71h307v-117h-307v-764h-141 v764h-203z" />
<glyph unicode="&#xfb03;" horiz-adv-x="3072" d="M2253 0v119h239v698h-227v119h375v-817h219v-119h-606zM2464 1238q0 44 30.5 74.5t74.5 30.5t75 -30.5t31 -74.5t-31 -74.5t-75 -30.5t-74.5 30.5t-30.5 74.5zM1153 764v117h203v92q0 156 51 237q49 80 134 122t185 42q180 0 287 -129l-67 -135q-4 0 -9.5 4t-7.5 12 q0 18 -4 25q-33 47 -87 76.5t-118 29.5q-131 0 -188 -102q-35 -61 -35 -203v-71h307v-117h-307v-764h-141v764h-203zM129 764v117h203v92q0 156 51 237q49 80 134 122t185 42q180 0 287 -129l-67 -135q-4 0 -9.5 4t-7.5 12q0 18 -4 25q-33 47 -87 76.5t-118 29.5 q-131 0 -188 -102q-35 -61 -35 -203v-71h307v-117h-307v-764h-141v764h-203z" />
<glyph unicode="&#xfb04;" horiz-adv-x="3072" d="M2210 0v119h276v1124h-264v119h414v-1243h274v-119h-700zM1153 764v117h203v92q0 156 51 237q49 80 134 122t185 42q180 0 287 -129l-67 -135q-4 0 -9.5 4t-7.5 12q0 18 -4 25q-33 47 -87 76.5t-118 29.5q-131 0 -188 -102q-35 -61 -35 -203v-71h307v-117h-307v-764h-141 v764h-203zM129 764v117h203v92q0 156 51 237q49 80 134 122t185 42q180 0 287 -129l-67 -135q-4 0 -9.5 4t-7.5 12q0 18 -4 25q-33 47 -87 76.5t-118 29.5q-131 0 -188 -102q-35 -61 -35 -203v-71h307v-117h-307v-764h-141v764h-203z" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,91 @@
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

BIN
media/images/expand.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -9,9 +9,10 @@ class CommentInline(admin.TabularInline):
allow_add = False
class SniptAdmin(admin.ModelAdmin):
readonly_fields = ('user',)
# TODO: Make user readonly
#readonly_fields = ('user',)
list_display = ('title', 'slug', 'user', 'lexer', 'public', 'created', 'modified',)
search_fields = ('title', 'user__username', 'tags', 'lexer', 'id',)
search_fields = ('title', 'user__username', 'lexer', 'id',)
ordering = ('created',)
prepopulated_fields = {'slug': ('title',)}
inlines = [CommentInline]
@ -19,7 +20,7 @@ class SniptAdmin(admin.ModelAdmin):
admin.site.register(Snipt, SniptAdmin)
class CommentAdmin(admin.ModelAdmin):
#readonly_fields = ('user', 'snipt',)
readonly_fields = ('user', 'snipt',)
list_display = ('comment', 'user', 'snipt', 'created', 'modified',)
search_fields = ('comment', 'user__username',)
ordering = ('created',)

View File

@ -0,0 +1,110 @@
# encoding: utf-8
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Deleting model 'TaggedSnipt'
db.delete_table('snipts_taggedsnipt')
# Adding field 'Snipt.line_count'
db.add_column('snipts_snipt', 'line_count', self.gf('django.db.models.fields.IntegerField')(default=None, null=True, blank=True), keep_default=False)
def backwards(self, orm):
# Adding model 'TaggedSnipt'
db.create_table('snipts_taggedsnipt', (
('count', self.gf('django.db.models.fields.IntegerField')()),
('content_object', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['snipts.Snipt'])),
('tag', self.gf('django.db.models.fields.related.ForeignKey')(related_name='snipts_taggedsnipt_items', to=orm['taggit.Tag'])),
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
))
db.send_create_signal('snipts', ['TaggedSnipt'])
# Deleting field 'Snipt.line_count'
db.delete_column('snipts_snipt', 'line_count')
models = {
'auth.group': {
'Meta': {'object_name': 'Group'},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
},
'auth.permission': {
'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
},
'auth.user': {
'Meta': {'object_name': 'User'},
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
},
'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
'snipts.comment': {
'Meta': {'object_name': 'Comment'},
'comment': ('django.db.models.fields.TextField', [], {}),
'created': ('django.db.models.fields.DateTimeField', [], {}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'modified': ('django.db.models.fields.DateTimeField', [], {}),
'snipt': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['snipts.Snipt']"}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
},
'snipts.snipt': {
'Meta': {'object_name': 'Snipt'},
'code': ('django.db.models.fields.TextField', [], {}),
'created': ('django.db.models.fields.DateTimeField', [], {}),
'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'lexer': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'line_count': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
'modified': ('django.db.models.fields.DateTimeField', [], {}),
'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '255', 'blank': 'True'}),
'stylized': ('django.db.models.fields.TextField', [], {}),
'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
},
'taggit.tag': {
'Meta': {'object_name': 'Tag'},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '100', 'db_index': 'True'})
},
'taggit.taggeditem': {
'Meta': {'object_name': 'TaggedItem'},
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'taggit_taggeditem_tagged_items'", 'to': "orm['contenttypes.ContentType']"}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'object_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}),
'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'taggit_taggeditem_items'", 'to': "orm['taggit.Tag']"})
}
}
complete_apps = ['snipts']

View File

@ -26,6 +26,7 @@ class Snipt(models.Model):
lexer = models.CharField(max_length=50)
code = models.TextField()
stylized = models.TextField()
line_count = models.IntegerField(blank=True, null=True, default=None)
key = models.CharField(max_length=100)
public = models.BooleanField(default=False)
@ -50,14 +51,22 @@ class Snipt(models.Model):
def get_stylized(self):
if self.stylized == '':
self.stylized = highlight(self.code,
get_lexer_by_name(self.lexer,
encoding='UTF-8'),
get_lexer_by_name(self.lexer, encoding='UTF-8'),
HtmlFormatter())
self.save()
return self.stylized
else:
return self.stylized
#TODO This needs to be deprecated - render line count on save
def get_line_count(self):
if not self.line_count:
self.line_count = len(self.code.split('\n'))
self.save()
return self.line_count
else:
return self.line_count
def get_embed_url(self):
return 'http%s://%s/embed/%s/' % ('s' if settings.USE_HTTPS else '',
site.domain,

View File

@ -8,7 +8,14 @@
<h2>{{ snipt.lexer_name }}</h2>
<h1><a href="{{ snipt.get_absolute_url }}">{{ snipt.title }}</a></h1>
</header>
<section class="code">{{ snipt.get_stylized|safe }}</section>
<section class="code autumn">
{{ snipt.get_stylized|safe }}
{% if snipt.get_line_count > 9 %}
<a href="#" class="shade">
Expand
</a>
{% endif %}
</section>
<div class="ruler top-x"></div>
<div class="ruler bottom-x"></div>
</div>

View File

@ -9,6 +9,7 @@
{% compress css %}
<link rel="stylesheet" href="/media/css/reset.css" />
<link rel="stylesheet" href="/media/css/themes.css" />
{% if not debug %}
<link rel="stylesheet" href="/media/css/style.less" />
{% endif %}