# HG changeset patch # User Steve Losh # Date 1578198916 18000 # Node ID f9c2bf2fa2c9faed483554b5f3b838f0f593e7a9 # Parent 68b60e4b8116b0a33e9704021455ce5cfc506f3e Move rest of the static crap to a backup folder for now diff -r 68b60e4b8116 -r f9c2bf2fa2c9 static-old/media/css/aal.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static-old/media/css/aal.css Sat Jan 04 23:35:16 2020 -0500 @@ -0,0 +1,115 @@ +/* + aardvark.legs originally by Anatoli Papirovski - http://fecklessmind.com/ + Licensed under the MIT license. http://www.opensource.org/licenses/mit-license.php +*/ + +/* + Reset first. Modified version of Eric Meyer and Paul Chaplin reset + from http://meyerweb.com/eric/tools/css/reset/ +*/ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +header, nav, section, article, aside, footer +{border: 0; margin: 0; outline: 0; padding: 0; background: transparent; vertical-align: baseline;} + +article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { + display:block; +} + +blockquote, q {quotes: none;} +blockquote:before,blockquote:after,q:before,q:after {content: ''; content: none;} + +header, nav, section, article, aside, footer {display: block;} + +/* Basic styles */ +html {overflow-y: scroll;} +body {background: #fdfdfd; color: #353535; font: normal 18px/25px Palatino, "Palatino Linotype", serif; text-rendering: optimizeLegibility;} +html>body {font-size: 18px; line-height: 25px;} + +img {display: inline-block; vertical-align: bottom;} + +h1,h2,h3,h4,h5,h6,strong,b,dt,th {font-weight: 700;} +address,cite,em,i,caption,dfn,var {font-style: italic;} + +h1 { font-size: 45px; line-height: 50px; margin: 25px 0; } +h2 { font-size: 32px; line-height: 50px; margin: 25px 0; } +h3 { font-size: 23px; line-height: 25px; margin: 25px 0; } +h4 {margin: 0 0 22px; font-size: 16px; line-height: 22px;} +h5 {margin: 0 0 22px; font-size: 14px; line-height: 22px;} +h6 {margin: 0 0 22px; font-size: 12px; line-height: 22px;} + +p,ul,ol,dl,blockquote,pre {margin: 0 0 25px;} + +li ul,li ol {margin: 0;} +ul {list-style: outside disc;} +ol {list-style: outside decimal;} +li {margin: 0 0 0 44px;} +dd {padding-left: 25px;} +blockquote {padding: 0 25px;} + +a {text-decoration: underline;} +a:hover {text-decoration: none;} +abbr,acronym {border-bottom: 1px dotted; cursor: help;} +del {text-decoration: line-through;} +ins {text-decoration: overline;} +sub {font-size: 14px; line-height: 25px; vertical-align: sub;} +sup {font-size: 14px; line-height: 25px; vertical-align: super;} + +tt,code,kbd,samp,pre {font-size: 14px; line-height: 25px; font-family: Menlo, Monaco, Consolas, "Courier New", monospace;} + +/* Table styles */ +/* TODO */ +table {border-collapse: collapse; border-spacing: 0; margin: 0 0 1.5em;} +caption {text-align: left;} +th, td {padding: .25em .5em;} +tbody td, tbody th {border: 1px solid #222;} +tfoot {font-style: italic;} + +/* Form styles */ +/* TODO */ +fieldset {clear: both;} +legend {padding: 0 0 1.286em; font-size: 1.167em; font-weight: 700;} +fieldset fieldset legend {padding: 0 0 1.5em; font-size: 1em;} +* html legend {margin-left: -7px;} +*+html legend {margin-left: -7px;} + +form .field, form .buttons {clear: both; margin: 0 0 1.5em;} +form .field label {display: block;} +form ul.fields li {list-style-type: none; margin: 0;} +form ul.inline li, form ul.inline label {display: inline;} +form ul.inline li {padding: 0 .75em 0 0;} + +input.radio, input.checkbox {vertical-align: top;} +label, button, input.submit, input.image {cursor: pointer;} +* html input.radio, * html input.checkbox {vertical-align: middle;} +*+html input.radio, *+html input.checkbox {vertical-align: middle;} + +textarea {overflow: auto;} +input.text, input.password, textarea, select {margin: 0; font: 1em/1.3 Helvetica, Arial, "Liberation Sans", "Bitstream Vera Sans", sans-serif; vertical-align: baseline;} +input.text, input.password, textarea {border: 1px solid #444; border-bottom-color: #666; border-right-color: #666; padding: 2px;} + +* html button {margin: 0 .34em 0 0;} +*+html button {margin: 0 .34em 0 0;} + +form.horizontal .field {padding-left: 150px;} +form.horizontal .field label {display: inline; float: left; width: 140px; margin-left: -150px;} + +/* Useful classes */ +/* TODO */ +img.left {display: inline; float: left; margin: 0 1.5em .75em 0;} +img.right {display: inline; float: right; margin: 0 0 .75em .75em;} +.group:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + diff -r 68b60e4b8116 -r f9c2bf2fa2c9 static-old/media/css/featherlight.gallery.min.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static-old/media/css/featherlight.gallery.min.css Sat Jan 04 23:35:16 2020 -0500 @@ -0,0 +1,8 @@ +/** + * Featherlight Gallery – an extension for the ultra slim jQuery lightbox + * Version 1.7.7 - http://noelboss.github.io/featherlight/ + * + * Copyright 2017, Noël Raoul Bossart (http://www.noelboss.com) + * MIT Licensed. +**/ +@media all{.featherlight-next,.featherlight-previous{display:block;position:absolute;top:25px;right:25px;bottom:0;left:80%;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(0,0,0,0)}.featherlight-previous{left:25px;right:80%}.featherlight-next:hover,.featherlight-previous:hover{background:rgba(255,255,255,.25)}.featherlight-next span,.featherlight-previous span{display:none;position:absolute;top:50%;left:5%;width:82%;text-align:center;font-size:80px;line-height:80px;margin-top:-40px;text-shadow:0 0 5px #fff;color:#fff;font-style:normal;font-weight:400}.featherlight-next span{right:5%;left:auto}.featherlight-next:hover span,.featherlight-previous:hover span{display:inline-block}.featherlight-first-slide.featherlight-last-slide .featherlight-next,.featherlight-first-slide.featherlight-last-slide .featherlight-previous,.featherlight-loading .featherlight-next,.featherlight-loading .featherlight-previous,.featherlight-swipe-aware .featherlight-next,.featherlight-swipe-aware .featherlight-previous{display:none}}@media only screen and (max-device-width:1024px){.featherlight-next:hover,.featherlight-previous:hover{background:0 0}.featherlight-next span,.featherlight-previous span{display:block}}@media only screen and (max-width:1024px){.featherlight-next,.featherlight-previous{top:10px;right:10px;left:85%}.featherlight-previous{left:10px;right:85%}.featherlight-next span,.featherlight-previous span{margin-top:-30px;font-size:40px}} \ No newline at end of file diff -r 68b60e4b8116 -r f9c2bf2fa2c9 static-old/media/css/featherlight.min.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static-old/media/css/featherlight.min.css Sat Jan 04 23:35:16 2020 -0500 @@ -0,0 +1,8 @@ +/** + * Featherlight - ultra slim jQuery lightbox + * Version 1.7.7 - http://noelboss.github.io/featherlight/ + * + * Copyright 2017, Noël Raoul Bossart (http://www.noelboss.com) + * MIT Licensed. +**/ +@media all{.featherlight{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;text-align:center;white-space:nowrap;cursor:pointer;background:#333;background:rgba(0,0,0,0)}.featherlight:last-of-type{background:rgba(0,0,0,.8)}.featherlight:before{content:'';display:inline-block;height:100%;vertical-align:middle}.featherlight .featherlight-content{position:relative;text-align:left;vertical-align:middle;display:inline-block;overflow:auto;padding:25px 25px 0;border-bottom:25px solid transparent;margin-left:5%;margin-right:5%;max-height:95%;background:#fff;cursor:auto;white-space:normal}.featherlight .featherlight-inner{display:block}.featherlight link.featherlight-inner,.featherlight script.featherlight-inner,.featherlight style.featherlight-inner{display:none}.featherlight .featherlight-close-icon{position:absolute;z-index:9999;top:0;right:0;line-height:25px;width:25px;cursor:pointer;text-align:center;font-family:Arial,sans-serif;background:#fff;background:rgba(255,255,255,.3);color:#000;border:0;padding:0}.featherlight .featherlight-close-icon::-moz-focus-inner{border:0;padding:0}.featherlight .featherlight-image{width:100%}.featherlight-iframe .featherlight-content{border-bottom:0;padding:0;-webkit-overflow-scrolling:touch;overflow-y:scroll}.featherlight iframe{border:0}.featherlight *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}@media only screen and (max-width:1024px){.featherlight .featherlight-content{margin-left:0;margin-right:0;max-height:98%;padding:10px 10px 0;border-bottom:10px solid transparent}} \ No newline at end of file diff -r 68b60e4b8116 -r f9c2bf2fa2c9 static-old/media/css/fixer.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static-old/media/css/fixer.css Sat Jan 04 23:35:16 2020 -0500 @@ -0,0 +1,25 @@ +body { + width: 700px !important; + margin: 50px auto 200px !important; + font: 18px/1.3 Palatino !important; +} + +pre, code, tt { + font: 16px/1.2 Menlo !important; +} + +pre { + width: 700px; + padding: 3px; + overflow-x: auto; + background-color: #fcfcfc; + border: 1px solid #ddd; +} + +tt, code { + padding: 1px 3px; + background-color: #fcfcfc; + border: 1px solid #ddd; +} + + diff -r 68b60e4b8116 -r f9c2bf2fa2c9 static-old/media/css/print.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static-old/media/css/print.css Sat Jan 04 23:35:16 2020 -0500 @@ -0,0 +1,67 @@ +body { + font: normal 10pt/1.25 Palatino, "Palatino Linotype"; + text-rendering: optimizeLegibility; +} +nav, +header, +.toc { + display: none; +} +#leaf-title a { + text-decoration: none; + color: black; +} +#leaf-content ul.print-links { + display: block; + font-size: 1em; + list-style-type: none; + margin-left: 0em; +} +#leaf-content ul.print-links a { + text-decoration: none; +} +#leaf-content code, +#leaf-content pre { + font: normal 9pt Menlo, Monaco, Consolas, "Courier New", Courier, monospace; +} +#leaf-content img { + display: block; + margin-left: auto; + margin-right: auto; + border: 1.43em solid #e5e5e5; + padding: 1px; + background: black; + width: 400px; +} +#leaf-content img.left, +#leaf-content img.right { + border: none; + background: none; + padding: none; +} +#leaf-content img.left { + margin: 0 1.5em 1em 0; + float: left; +} +#leaf-content img.right { + margin: 0 0 .75em 1em; + float: right; +} +div#leaf-content.with-diagrams img { + display: block; + margin-left: auto; + margin-right: auto; + background: none; + border: none; +} +span.amp { + font-family: "Palatino", "Constantia", "Palatino Linotype", serif; + font-style: italic; +} +a { + text-decoration: underline; + color: #c06; +} +footer { + display: none; +} diff -r 68b60e4b8116 -r f9c2bf2fa2c9 static-old/media/css/print.less --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static-old/media/css/print.less Sat Jan 04 23:35:16 2020 -0500 @@ -0,0 +1,69 @@ +body { + font: normal 10pt/1.25 Palatino, "Palatino Linotype"; + text-rendering: optimizeLegibility; +} + +nav, header, .toc { + display: none; +} +#leaf-title { + a { + text-decoration: none; + color: black; + } +} +#leaf-content { + ul.print-links { + display: block; + font-size: 1em; + list-style-type: none; + margin-left: 0em; + + a { + text-decoration: none; + } + } + code, pre { + font: normal 9pt Menlo, Monaco, Consolas, "Courier New", Courier, monospace; + } + img { + display: block; + margin-left: auto; + margin-right: auto; + border: 1.43em solid #e5e5e5; + padding: 1px; + background: black; + width: 400px; + } + img.left, img.right { + border: none; + background: none; + padding: none; + } + img.left { + margin: 0 1.5em 1em 0; + float: left; + } + img.right { + margin: 0 0 .75em 1em; + float: right; + } +} +div#leaf-content.with-diagrams img { + display: block; + margin-left: auto; + margin-right: auto; + background: none; + border: none; +} +span.amp { + font-family: "Palatino", "Constantia", "Palatino Linotype", serif; + font-style: italic; +} +a { + text-decoration: underline; + color: #c06; +} +footer { + display: none; +} diff -r 68b60e4b8116 -r f9c2bf2fa2c9 static-old/media/css/pygments-clean.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static-old/media/css/pygments-clean.css Sat Jan 04 23:35:16 2020 -0500 @@ -0,0 +1,62 @@ +/* @override http://localhost:8080/media/css/pygments-monokai-light.css */ +div.highlight .hll { background-color: #FFD7EF; display: block; } +div.highlight .err { color: #fff; background-color: #f00 } /* Error */ +div.highlight .gi { font-weight: bold } /* Diff Insert */ +div.highlight .gd { font-weight: bold } /* Diff Delete */ +div.highlight .k { color: #111} /* Keyword */ +div.highlight .l { color: #111 } /* Literal */ +div.highlight .n { color: #111 } /* Name */ +div.highlight .o { color: #111 } /* Operator */ +div.highlight .p { color: #111 } /* Punctuation */ +div.highlight .c { color: #714678; font-style: italic; font-weight: bold; } /* Comment */ +div.highlight .cm { color: #714678; font-style: italic; font-weight: bold; } /* Comment.Multiline */ +div.highlight .cp { color: #714678; font-style: italic; font-weight: bold; } /* Comment.Preproc */ +div.highlight .c1 { color: #714678; font-style: italic; font-weight: bold; } /* Comment.Single */ +div.highlight .cs { color: #714678; font-style: italic; font-weight: bold; } /* Comment.Special */ +div.highlight .ge { font-style: italic } /* Generic.Emph */ +div.highlight .gs { font-weight: bold } /* Generic.Strong */ +div.highlight .kc { color: #111 } /* Keyword.Constant */ +div.highlight .kd { color: #111 } /* Keyword.Declaration */ +div.highlight .kn { color: #111 } /* Keyword.Namespace */ +div.highlight .kp { color: #111 } /* Keyword.Pseudo */ +div.highlight .kr { color: #111 } /* Keyword.Reserved */ +div.highlight .kt { color: #111 } /* Keyword.Type */ +div.highlight .ld { color: #111 } /* Literal.Date */ +div.highlight .m { color: #111 } /* Literal.Number */ +div.highlight .s { color: #111; font-style: italic; } /* Literal.String */ +div.highlight .na { color: #111 } /* Name.Attribute */ +div.highlight .nb { color: #111 } /* Name.Builtin */ +div.highlight .nc { color: #111 } /* Name.Class */ +div.highlight .no { color: #111 } /* Name.Constant */ +div.highlight .nd { color: #111 } /* Name.Decorator */ +div.highlight .ni { color: #111 } /* Name.Entity */ +div.highlight .ne { color: #111 } /* Name.Exception */ +div.highlight .nf { color: #111} /* Name.Function */ +div.highlight .nl { color: #111 } /* Name.Label */ +div.highlight .nn { color: #111} /* Name.Namespace */ +div.highlight .nx { color: #111 } /* Name.Other */ +div.highlight .py { color: #111 } /* Name.Property */ +div.highlight .nt { color: #111 } /* Name.Tag */ +div.highlight .nv { color: #111 } /* Name.Variable */ +div.highlight .ow { color: #111 } /* Operator.Word */ +div.highlight .w { color: #111 } /* Text.Whitespace */ +div.highlight .mf { color: #111 } /* Literal.Number.Float */ +div.highlight .mh { color: #111 } /* Literal.Number.Hex */ +div.highlight .mi { color: #111 } /* Literal.Number.Integer */ +div.highlight .mo { color: #111 } /* Literal.Number.Oct */ +div.highlight .sb { color: #111 } /* Literal.String.Backtick */ +div.highlight .sc { color: #111 } /* Literal.String.Char */ +div.highlight .sd { color: #111 } /* Literal.String.Doc */ +div.highlight .s2 { color: #111 } /* Literal.String.Double */ +div.highlight .se { color: #111 } /* Literal.String.Escape */ +div.highlight .sh { color: #111 } /* Literal.String.Heredoc */ +div.highlight .si { color: #111 } /* Literal.String.Interpol */ +div.highlight .sx { color: #111 } /* Literal.String.Other */ +div.highlight .sr { color: #111 } /* Literal.String.Regex */ +div.highlight .s1 { color: #111 } /* Literal.String.Single */ +div.highlight .ss { color: #111 } /* Literal.String.Symbol */ +div.highlight .bp { color: #111 } /* Name.Builtin.Pseudo */ +div.highlight .vc { color: #111 } /* Name.Variable.Class */ +div.highlight .vg { color: #111 } /* Name.Variable.Global */ +div.highlight .vi { color: #111 } /* Name.Variable.Instance */ +div.highlight .il { color: #111 } /* Literal.Number.Integer.Long */ diff -r 68b60e4b8116 -r f9c2bf2fa2c9 static-old/media/css/pygments-monokai-light.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static-old/media/css/pygments-monokai-light.css Sat Jan 04 23:35:16 2020 -0500 @@ -0,0 +1,60 @@ +/* @override http://localhost:8080/media/css/pygments-monokai-light.css */ +.codehilite .hll { background-color: #49483e } +.codehilite .c { color: #7A7663 } /* Comment */ +.codehilite .err { color: #960050; background-color: #1e0010 } /* Error */ +.codehilite .k { color: #00a8c8} /* Keyword */ +.codehilite .l { color: #ae81ff } /* Literal */ +.codehilite .n { color: #111111 } /* Name */ +.codehilite .o { color: #f92672 } /* Operator */ +.codehilite .p { color: #111111 } /* Punctuation */ +.codehilite .cm { color: #75715e } /* Comment.Multiline */ +.codehilite .cp { color: #75715e } /* Comment.Preproc */ +.codehilite .c1 { color: #75715e } /* Comment.Single */ +.codehilite .cs { color: #75715e } /* Comment.Special */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .kc { color: #00a8c8 } /* Keyword.Constant */ +.codehilite .kd { color: #00a8c8 } /* Keyword.Declaration */ +.codehilite .kn { color: #f92672 } /* Keyword.Namespace */ +.codehilite .kp { color: #00a8c8 } /* Keyword.Pseudo */ +.codehilite .kr { color: #00a8c8 } /* Keyword.Reserved */ +.codehilite .kt { color: #00a8c8 } /* Keyword.Type */ +.codehilite .ld { color: #d88200 } /* Literal.Date */ +.codehilite .m { color: #ae81ff } /* Literal.Number */ +.codehilite .s { color: #d88200} /* Literal.String */ +.codehilite .na { color: #75af00 } /* Name.Attribute */ +.codehilite .nb { color: #111111 } /* Name.Builtin */ +.codehilite .nc { color: #75af00 } /* Name.Class */ +.codehilite .no { color: #00a8c8 } /* Name.Constant */ +.codehilite .nd { color: #75af00 } /* Name.Decorator */ +.codehilite .ni { color: #111111 } /* Name.Entity */ +.codehilite .ne { color: #75af00 } /* Name.Exception */ +.codehilite .nf { color: #75af00} /* Name.Function */ +.codehilite .nl { color: #111111 } /* Name.Label */ +.codehilite .nn { color: #111111} /* Name.Namespace */ +.codehilite .nx { color: #111111 } /* Name.Other */ +.codehilite .py { color: #111111 } /* Name.Property */ +.codehilite .nt { color: #f92672 } /* Name.Tag */ +.codehilite .nv { color: #111111 } /* Name.Variable */ +.codehilite .ow { color: #f92672 } /* Operator.Word */ +.codehilite .w { color: #111111 } /* Text.Whitespace */ +.codehilite .mf { color: #ae81ff } /* Literal.Number.Float */ +.codehilite .mh { color: #ae81ff } /* Literal.Number.Hex */ +.codehilite .mi { color: #ae81ff } /* Literal.Number.Integer */ +.codehilite .mo { color: #ae81ff } /* Literal.Number.Oct */ +.codehilite .sb { color: #d88200 } /* Literal.String.Backtick */ +.codehilite .sc { color: #d88200 } /* Literal.String.Char */ +.codehilite .sd { color: #d88200 } /* Literal.String.Doc */ +.codehilite .s2 { color: #d88200 } /* Literal.String.Double */ +.codehilite .se { color: #8045FF } /* Literal.String.Escape */ +.codehilite .sh { color: #d88200 } /* Literal.String.Heredoc */ +.codehilite .si { color: #d88200 } /* Literal.String.Interpol */ +.codehilite .sx { color: #d88200 } /* Literal.String.Other */ +.codehilite .sr { color: #d88200 } /* Literal.String.Regex */ +.codehilite .s1 { color: #d88200 } /* Literal.String.Single */ +.codehilite .ss { color: #d88200 } /* Literal.String.Symbol */ +.codehilite .bp { color: #111111 } /* Name.Builtin.Pseudo */ +.codehilite .vc { color: #111111 } /* Name.Variable.Class */ +.codehilite .vg { color: #111111 } /* Name.Variable.Global */ +.codehilite .vi { color: #111111 } /* Name.Variable.Instance */ +.codehilite .il { color: #ae81ff } /* Literal.Number.Integer.Long */ diff -r 68b60e4b8116 -r f9c2bf2fa2c9 static-old/media/css/sjl.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static-old/media/css/sjl.css Sat Jan 04 23:35:16 2020 -0500 @@ -0,0 +1,396 @@ +html { + overflow-y: scroll; +} +body { + text-rendering: optimizeLegibility; + color: #222; + position: relative; +} +body a { + text-decoration: none; + color: #e50053; +} +body a:hover { + text-decoration: underline; +} +body h1, +body h2, +body h3, +body h4, +body h5, +body h6 { + font-family: HoeflerText-Regular, 'Hoefler Text', 'Goudy Old Style', 'Palatino', 'Palatino Linotype', serif; + font-weight: normal; +} +body h1 a, +body h2 a, +body h3 a, +body h4 a, +body h5 a, +body h6 a { + color: #222; +} +body h1 a:hover, +body h2 a:hover, +body h3 a:hover, +body h4 a:hover, +body h5 a:hover, +body h6 a:hover { + color: #e50053; + text-decoration: none; +} +body h1 .amp, +body h2 .amp, +body h3 .amp, +body h4 .amp, +body h5 .amp, +body h6 .amp { + font-style: italic; +} +body h1 { + font-size: 45px; + line-height: 50px; + margin: 25px 0; +} +body h2 { + font-size: 32px; + line-height: 50px; + margin: 25px 0; +} +body h3 { + font-size: 23px; + line-height: 25px; + margin: 25px 0; +} +body h4 { + font-size: 18px; + line-height: 25px; + margin: 25px 0; + font-weight: bold; +} +body code, +body pre { + font-family: Consolas, Menlo, "Courier New", monospace; + font-size: 14px; +} +body div.threejs { + margin-bottom: 16px; +} +body div.threejs canvas { + border: 1px solid #222222; +} +body div.threejs div { + text-align: center; +} +body pre { + font-family: Consolas, Menlo, "Courier New", monospace; + font-size: 14px; + line-height: 20px; + overflow-x: auto; + border: 1px solid #d5d5d5; + border-left: 10px solid #d5d5d5; + background-color: #fafafa; + padding: 11px 15px 12px; + margin-left: -25px; +} +body pre::-webkit-scrollbar { + height: 25px; +} +body pre::-webkit-scrollbar-button:start, +body pre::-webkit-scrollbar-button:end { + display: none; +} +body pre::-webkit-scrollbar-track-piece { + background-color: #eee; +} +body pre::-webkit-scrollbar-thumb { + background-color: #bbb; + border: 7px solid #eee; + -webkit-background-clip: padding-box; + -webkit-border-radius: 12px; +} +body pre.lineart { + background: none; + font-family: Consolas, Menlo, "Courier New", monospace; + font-size: 16px; + line-height: 20px; + border: none; +} +body pre code { + line-height: 20px; +} +body p code, +body li code, +body table code { + border: 1px solid #ccc; + background-color: #fafafa; + font-size: 14px; + padding: 0px 3px; + line-height: 20px; + margin: 0; + white-space: nowrap; + display: inline-block; +} +body .wrap { + width: 615px; + margin: 0 auto; + margin-bottom: 5em; +} +body .wrap .top header { + float: left; + font-family: HoeflerText-Regular, 'Hoefler Text', 'Goudy Old Style', 'Palatino', 'Palatino Linotype', serif; + font-size: 23px; + line-height: 50px; + text-transform: lowercase; + padding-left: 2px; + width: 120px; +} +body .wrap .top header .amp { + font-style: italic; +} +body .wrap .top header a { + color: #222; +} +body .wrap .top header a:hover { + color: #e50053; +} +body .wrap .top nav { + font: normal 18px/50px HoeflerText-Regular, 'Hoefler Text', 'Goudy Old Style', 'Palatino', 'Palatino Linotype', serif; + text-align: right; + text-transform: lowercase; + padding-right: 2px; + width: 488px; + float: left; +} +body .wrap .top nav .sep { + padding: 0 4px; + color: #666; +} +body .wrap .hr { + margin-top: -12px; + margin-bottom: 37px; + height: 25px; + background: transparent url('/media/images/hr.png') top left no-repeat; +} +body .wrap .hrb { + height: 25px; + margin-top: 50px; + background: transparent url('/media/images/hrb.png') top left no-repeat; +} +body .wrap footer { + text-align: center; +} +body .wrap footer p { + font-size: 14px; + font-style: italic; + line-height: 50px; + margin-bottom: 0px; +} +body .wrap footer .rochester-made img { + opacity: 0.7; + padding: 5px 20px; +} +hr { + border: none; + background: #ccc; + height: 1px; + margin-bottom: 24px; +} +.splash { + color: #454545; + text-align: center; + font: normal 27px/32px HoeflerText-Regular, 'Hoefler Text', 'Goudy Old Style', 'Palatino', 'Palatino Linotype', serif; + margin-bottom: -1px; + padding-top: 0; +} +.splash p { + margin-bottom: 24px; +} +.splash .amp { + font-style: italic; +} +.splash .fn { + color: #454545; + text-decoration: none; +} +.splash .fn:hover { + color: #e50053; + text-decoration: none; +} +.splash .fn .last-name { + display: none; +} +.section-listing { + margin-bottom: -50px; +} +.section-listing ol { + list-style-type: none; +} +.section-listing ol li { + margin: 0 0 25px 0; +} +.section-listing ol li a { + font: normal 23px/32px HoeflerText-Regular, 'Hoefler Text', 'Goudy Old Style', 'Palatino', 'Palatino Linotype', serif; + color: #222; + display: block; +} +.section-listing ol li a:hover { + color: #e50053; + text-decoration: none; +} +.section-listing ol li span.snip { + font-size: 18px; + color: #333; + line-height: 25px; + font-style: italic; +} +.section-listing ol li .amp { + font-style: italic; +} +blockquote { + border: 1px solid #ccc; + background-color: #fafafa; + padding: 11px 15px 12px; + margin-left: 2em; + overflow: auto; +} +blockquote p:last-child { + margin-bottom: 0; +} +span.dquo { + margin-left: -0.23em; +} +#leaf-stats p { + color: #666; + margin-top: -22px; + margin-bottom: 22px; +} +#leaf-content img { + display: block; + margin: 25px auto 26px; + border: 11px solid #e5e5e5; + padding: 1px; + background: black; + max-width: 590px; +} +#leaf-content img.diagram { + display: block; + margin: 25px auto; + padding: 0; + background: none; + border: none; +} +#leaf-content img.left, +#leaf-content img.right { + border: none; + background: none; + padding: none; +} +#leaf-content img.left { + margin: 0 1.5em 1em 0; +} +#leaf-content img.right { + margin: 0 0 .75em 1em; +} +#leaf-content .gallery img { + background: none; + padding: 0; + border: none; + display: inline; + margin-bottom: 25px; + margin-right: 25px; +} +#leaf-content .photo-gallery-link { + display: inline-block; + position: relative; + width: 200px; + height: 200px; + margin-right: 1px; +} +#leaf-content .photo-gallery-link img { + display: block; + margin: 0px; + border: none; +} +#leaf-content .photo-gallery-link .caption { + width: 202px; + background: rgba(0, 0, 0, 0.6); + text-align: center; + color: white; + padding: 5px 0px 0px; + position: absolute; + left: 0px; + bottom: 10px; +} +#leaf-content .photo-gallery-thumbnail { + display: inline-block; + margin: 0px; + padding: 0px; + width: 200px; + height: 200px; + margin-right: 1px; +} +#leaf-content .photo-gallery-thumbnail img { + display: block; + margin: 0px; + border: none; +} +#leaf-content nav#TableOfContents ul { + list-style: none; +} +#leaf-content nav#TableOfContents ul:first-child > li { + margin-left: 0em; +} +#leaf-content table { + padding: 0px; + margin-top: -8px; + margin-bottom: 25px; +} +#leaf-content table tr { + margin: 0px; + padding: 0px; +} +#leaf-content table tr td, +#leaf-content table tr th { + margin: 0px; + padding: 5px 5px; + line-height: 23px; +} +#leaf-content table tr td { + border: 1px solid #666; +} +#leaf-toc { + display: none; +} +.print-links { + display: none; +} +img.self { + border: none; + padding: 0; + margin: 0; + margin-right: -108px; + margin-top: -15px; + margin-left: 30px; + margin-bottom: 20px; +} +div#cboxCurrent { + bottom: -30px; + font-size: 17px; + font-weight: normal; + left: 60px; +} +div.screenshots img { + max-width: 580px; +} +#scrolling-header { + color: #999; + font-size: 23px; + font-style: italic; + font: italic 23px HoeflerText-Regular, 'Hoefler Text', 'Goudy Old Style', 'Palatino', 'Palatino Linotype', serif; + line-height: 30px; + position: fixed; + top: 75px; + text-align: right; + width: 180px; +} diff -r 68b60e4b8116 -r f9c2bf2fa2c9 static-old/media/css/sjl.less --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static-old/media/css/sjl.less Sat Jan 04 23:35:16 2020 -0500 @@ -0,0 +1,404 @@ +@c-link: #e50053; +@c-body: #222; +@w-body: 615px; +@font-fancy: HoeflerText-Regular,'Hoefler Text','Goudy Old Style','Palatino','Palatino Linotype',serif; + +html { + overflow-y: scroll; +} +body { + text-rendering: optimizeLegibility; + color: @c-body; + position: relative; + + a { + text-decoration: none; + color: @c-link; + + &:hover { + text-decoration: underline; + } + } + h1, h2, h3, h4, h5, h6 { + font-family: @font-fancy; + font-weight: normal; + + a { + color: @c-body; + + &:hover { + color: @c-link; + text-decoration: none; + } + } + .amp { + font-style: italic; + } + } + h1 { font-size: 45px; line-height: 50px; margin: 25px 0; } // 3 + h2 { font-size: 32px; line-height: 50px; margin: 25px 0; } // m7 + h3 { font-size: 23px; line-height: 25px; margin: 25px 0; } // 3 + h4 { font-size: 18px; line-height: 25px; margin: 25px 0; font-weight: bold; } // r + code, pre { + font-family: Consolas, Menlo, "Ubuntu Mono", "Courier New", monospace; + font-size: 16px; + } + div.threejs { + margin-bottom: 16px; + + canvas { + border: 1px solid #222222; + } + div { + text-align: center; + } + } + + pre { + font-family: Consolas, Menlo, "Ubuntu Mono", "Courier New", monospace; + font-size: 16px; + line-height: 20px; + + overflow-x: auto; + + border: 1px solid #d5d5d5; + border-left: 10px solid #d5d5d5; + background-color: #fafafa; + + padding: 11px 15px 12px; + margin-left: -25px; + } + pre::-webkit-scrollbar { + height: 25px; + } + pre::-webkit-scrollbar-button:start, + pre::-webkit-scrollbar-button:end { + display: none; + } + pre::-webkit-scrollbar-track-piece { + background-color: #eee; + } + pre::-webkit-scrollbar-thumb { + background-color: #bbb; + border: 7px solid #eee; + -webkit-background-clip: padding-box; + -webkit-border-radius: 12px; + } + + pre.lineart { + background: none; + font-family: Consolas, Menlo, "Ubuntu Mono", "Courier New", monospace; + font-size: 16px; + line-height: 20px; + border: none; + } + pre code { + line-height: 20px; + } + p code, li code, table code { + border: 1px solid #ccc; + background-color: #fafafa; + font-size: 16px; + padding: 1px 3px; + line-height: 20px; + margin: 0; + white-space: nowrap; + } + + .wrap { + width: @w-body; + margin: 0 auto; + margin-bottom: 5em; + + .top { + header { + float: left; + font-family: @font-fancy; + font-size: 23px; // 3 + line-height: 50px; + text-transform: lowercase; + padding-left: 2px; + width: 612px - 2px - 490px; + + .amp { + font-style: italic; + } + a { + color: @c-body; + + &:hover { + color: @c-link; + } + } + } + nav { + font: normal 18px/50px @font-fancy; // 1 + text-align: right; + text-transform: lowercase; + padding-right: 2px; + width: 490px - 2px; + float: left; + + .sep { + padding: 0 4px; + color: #666; + } + } + } + .hr { + margin-top: -12px; + margin-bottom: 12px + 25px; + height: 25px; + background: transparent url('/media/images/hr.png') top left no-repeat; + } + .hrb { + height: 25px; + margin-top: 50px; + background: transparent url('/media/images/hrb.png') top left no-repeat; + } + footer { + text-align: center; + + p { + font-size: 14px; + font-style: italic; + line-height: 50px; + margin-bottom: 0px; + } + .rochester-made { + img { + opacity: 0.7; + padding: 5px 20px; + } + } + } + } +} +hr { + border: none; + background: #ccc; + height: 1px; + margin-bottom: 24px; +} +.splash { + @color: #454545; + color: @color; + text-align: center; + font: normal 27px/32px @font-fancy; + margin-bottom: -1px; + padding-top: 0; + + p { + margin-bottom: 24px; + } + .amp { + font-style: italic; + } + .fn { + color: @color; + text-decoration: none; + + &:hover { + color: @c-link; + text-decoration: none; + } + .last-name { + display: none; + } + } +} +.section-listing { + margin-bottom: -50px; + ol { + list-style-type: none; + + li { + margin: 0 0 25px 0; + + a { + font: normal 23px/32px @font-fancy; // 3 + color: @c-body; + display: block; + + &:hover { + color: @c-link; + text-decoration: none; + } + } + + span.snip { + font-size: 18px; // 1 + color: #333; + line-height: 25px; + font-style: italic; + } + .amp { + font-style: italic; + } + } + } +} + +blockquote { + border: 1px solid #ccc; + background-color: #fafafa; + padding: 11px 15px 12px; + margin-left: 2em; + overflow: auto; + + p:last-child { + margin-bottom: 0; + } +} +span.dquo { + margin-left: -0.23em; +} + +#leaf-stats p { + color: #666; + margin-top: -22px; + margin-bottom: 22px; +} +#leaf-content { + img { + display: block; + margin: 25px auto 26px; + border: 11px solid #e5e5e5; + padding: 1px; + background: black; + max-width: 590px; + } + img.diagram { + display: block; + margin: 25px auto; + padding: 0; + background: none; + border: none; + } + img.left, img.right { + border: none; + background: none; + padding: none; + } + img.left { + margin: 0 1.5em 1em 0; + } + img.right { + margin: 0 0 .75em 1em; + } + .gallery img { + background: none; + padding: 0; + border: none; + display: inline; + margin-bottom: 25px; + margin-right: 25px; + } + .photo-gallery-link { + display: inline-block; + position: relative; + width: 200px; + height: 200px; + margin-right: 1px; + // border: 1px solid black; + + img { + display: block; + margin: 0px; + border: none; + } + .caption { + width: 202px; + background: rgba(0, 0, 0, 0.6); + text-align: center; + color: white; + padding: 5px 0px 0px; + + position: absolute; + left: 0px; + bottom: 10px; + } + } + .photo-gallery-thumbnail { + display: inline-block; + margin: 0px; + padding: 0px; + width: 200px; + height: 200px; + margin-right: 1px; + + img { + display: block; + margin: 0px; + border: none; + } + } + nav#TableOfContents { + ul { + list-style: none; + } + + ul:first-child>li { + margin-left: 0em; + } + } + table { + padding: 0px; + margin-top: -8px; + margin-bottom: 25px; + + tr { + margin: 0px; + padding: 0px; + + td, th { + margin: 0px; + padding: 5px 5px; + line-height: 23px; + } + td { + border: 1px solid #666; + } + } + } +} +#leaf-toc { + display: none; +} + +.print-links { + display: none; +} +img.self { + border: none; + padding: 0; + margin: 0; + margin-right: -108px; + margin-top: -15px; + margin-left: 30px; + margin-bottom: 20px; +} + +div#cboxCurrent { + bottom: -30px; + font-size: 17px; + font-weight: normal; + left: 60px; +} +div.screenshots { + img { + max-width: 580px; + } +} + +#scrolling-header { + color: #999; + font-size: 23px; + font-style: italic; + font: italic 23px @font-fancy; + line-height: 30px; + position: fixed; + top: 75px; + text-align: right; + width: 180px; +} diff -r 68b60e4b8116 -r f9c2bf2fa2c9 static-old/media/diamond-square.monopic Binary file static-old/media/diamond-square.monopic has changed diff -r 68b60e4b8116 -r f9c2bf2fa2c9 static-old/media/js/TrackballControls.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static-old/media/js/TrackballControls.js Sat Jan 04 23:35:16 2020 -0500 @@ -0,0 +1,606 @@ + +/** + * @author Eberhard Graether / http://egraether.com/ + * @author Mark Lundin / http://mark-lundin.com + * @author Simone Manini / http://daron1337.github.io + * @author Luca Antiga / http://lantiga.github.io + */ + +THREE.TrackballControls = function ( object, domElement ) { + + var _this = this; + var STATE = { NONE: - 1, ROTATE: 0, ZOOM: 1, PAN: 2, TOUCH_ROTATE: 3, TOUCH_ZOOM_PAN: 4 }; + + this.object = object; + this.domElement = ( domElement !== undefined ) ? domElement : document; + + // API + + this.enabled = true; + + this.screen = { left: 0, top: 0, width: 0, height: 0 }; + + this.rotateSpeed = 1.0; + this.zoomSpeed = 1.2; + this.panSpeed = 0.3; + + this.noRotate = false; + this.noZoom = false; + this.noPan = false; + + this.staticMoving = false; + this.dynamicDampingFactor = 0.2; + + this.minDistance = 0; + this.maxDistance = Infinity; + + this.keys = [ 65 /*A*/, 83 /*S*/, 68 /*D*/ ]; + + // internals + + this.target = new THREE.Vector3(); + + var EPS = 0.000001; + + var lastPosition = new THREE.Vector3(); + + var _state = STATE.NONE, + _prevState = STATE.NONE, + + _eye = new THREE.Vector3(), + + _movePrev = new THREE.Vector2(), + _moveCurr = new THREE.Vector2(), + + _lastAxis = new THREE.Vector3(), + _lastAngle = 0, + + _zoomStart = new THREE.Vector2(), + _zoomEnd = new THREE.Vector2(), + + _touchZoomDistanceStart = 0, + _touchZoomDistanceEnd = 0, + + _panStart = new THREE.Vector2(), + _panEnd = new THREE.Vector2(); + + // for reset + + this.target0 = this.target.clone(); + this.position0 = this.object.position.clone(); + this.up0 = this.object.up.clone(); + + // events + + var changeEvent = { type: 'change' }; + var startEvent = { type: 'start' }; + var endEvent = { type: 'end' }; + + + // methods + + this.handleResize = function () { + + if ( this.domElement === document ) { + + this.screen.left = 0; + this.screen.top = 0; + this.screen.width = window.innerWidth; + this.screen.height = window.innerHeight; + + } else { + + var box = this.domElement.getBoundingClientRect(); + // adjustments come from similar code in the jquery offset() function + var d = this.domElement.ownerDocument.documentElement; + this.screen.left = box.left + window.pageXOffset - d.clientLeft; + this.screen.top = box.top + window.pageYOffset - d.clientTop; + this.screen.width = box.width; + this.screen.height = box.height; + + } + + }; + + this.handleEvent = function ( event ) { + + if ( typeof this[ event.type ] == 'function' ) { + + this[ event.type ]( event ); + + } + + }; + + var getMouseOnScreen = ( function () { + + var vector = new THREE.Vector2(); + + return function getMouseOnScreen( pageX, pageY ) { + + vector.set( + ( pageX - _this.screen.left ) / _this.screen.width, + ( pageY - _this.screen.top ) / _this.screen.height + ); + + return vector; + + }; + + }() ); + + var getMouseOnCircle = ( function () { + + var vector = new THREE.Vector2(); + + return function getMouseOnCircle( pageX, pageY ) { + + vector.set( + ( ( pageX - _this.screen.width * 0.5 - _this.screen.left ) / ( _this.screen.width * 0.5 ) ), + ( ( _this.screen.height + 2 * ( _this.screen.top - pageY ) ) / _this.screen.width ) // screen.width intentional + ); + + return vector; + + }; + + }() ); + + this.rotateCamera = ( function() { + + var axis = new THREE.Vector3(), + quaternion = new THREE.Quaternion(), + eyeDirection = new THREE.Vector3(), + objectUpDirection = new THREE.Vector3(), + objectSidewaysDirection = new THREE.Vector3(), + moveDirection = new THREE.Vector3(), + angle; + + return function rotateCamera() { + + moveDirection.set( _moveCurr.x - _movePrev.x, _moveCurr.y - _movePrev.y, 0 ); + angle = moveDirection.length(); + + if ( angle ) { + + _eye.copy( _this.object.position ).sub( _this.target ); + + eyeDirection.copy( _eye ).normalize(); + objectUpDirection.copy( _this.object.up ).normalize(); + objectSidewaysDirection.crossVectors( objectUpDirection, eyeDirection ).normalize(); + + objectUpDirection.setLength( _moveCurr.y - _movePrev.y ); + objectSidewaysDirection.setLength( _moveCurr.x - _movePrev.x ); + + moveDirection.copy( objectUpDirection.add( objectSidewaysDirection ) ); + + axis.crossVectors( moveDirection, _eye ).normalize(); + + angle *= _this.rotateSpeed; + quaternion.setFromAxisAngle( axis, angle ); + + _eye.applyQuaternion( quaternion ); + _this.object.up.applyQuaternion( quaternion ); + + _lastAxis.copy( axis ); + _lastAngle = angle; + + } else if ( ! _this.staticMoving && _lastAngle ) { + + _lastAngle *= Math.sqrt( 1.0 - _this.dynamicDampingFactor ); + _eye.copy( _this.object.position ).sub( _this.target ); + quaternion.setFromAxisAngle( _lastAxis, _lastAngle ); + _eye.applyQuaternion( quaternion ); + _this.object.up.applyQuaternion( quaternion ); + + } + + _movePrev.copy( _moveCurr ); + + }; + + }() ); + + + this.zoomCamera = function () { + + var factor; + + if ( _state === STATE.TOUCH_ZOOM_PAN ) { + + factor = _touchZoomDistanceStart / _touchZoomDistanceEnd; + _touchZoomDistanceStart = _touchZoomDistanceEnd; + _eye.multiplyScalar( factor ); + + } else { + + factor = 1.0 + ( _zoomEnd.y - _zoomStart.y ) * _this.zoomSpeed; + + if ( factor !== 1.0 && factor > 0.0 ) { + + _eye.multiplyScalar( factor ); + + if ( _this.staticMoving ) { + + _zoomStart.copy( _zoomEnd ); + + } else { + + _zoomStart.y += ( _zoomEnd.y - _zoomStart.y ) * this.dynamicDampingFactor; + + } + + } + + } + + }; + + this.panCamera = ( function() { + + var mouseChange = new THREE.Vector2(), + objectUp = new THREE.Vector3(), + pan = new THREE.Vector3(); + + return function panCamera() { + + mouseChange.copy( _panEnd ).sub( _panStart ); + + if ( mouseChange.lengthSq() ) { + + mouseChange.multiplyScalar( _eye.length() * _this.panSpeed ); + + pan.copy( _eye ).cross( _this.object.up ).setLength( mouseChange.x ); + pan.add( objectUp.copy( _this.object.up ).setLength( mouseChange.y ) ); + + _this.object.position.add( pan ); + _this.target.add( pan ); + + if ( _this.staticMoving ) { + + _panStart.copy( _panEnd ); + + } else { + + _panStart.add( mouseChange.subVectors( _panEnd, _panStart ).multiplyScalar( _this.dynamicDampingFactor ) ); + + } + + } + + }; + + }() ); + + this.checkDistances = function () { + + if ( ! _this.noZoom || ! _this.noPan ) { + + if ( _eye.lengthSq() > _this.maxDistance * _this.maxDistance ) { + + _this.object.position.addVectors( _this.target, _eye.setLength( _this.maxDistance ) ); + _zoomStart.copy( _zoomEnd ); + + } + + if ( _eye.lengthSq() < _this.minDistance * _this.minDistance ) { + + _this.object.position.addVectors( _this.target, _eye.setLength( _this.minDistance ) ); + _zoomStart.copy( _zoomEnd ); + + } + + } + + }; + + this.update = function () { + + _eye.subVectors( _this.object.position, _this.target ); + + if ( ! _this.noRotate ) { + + _this.rotateCamera(); + + } + + if ( ! _this.noZoom ) { + + _this.zoomCamera(); + + } + + if ( ! _this.noPan ) { + + _this.panCamera(); + + } + + _this.object.position.addVectors( _this.target, _eye ); + + _this.checkDistances(); + + _this.object.lookAt( _this.target ); + + if ( lastPosition.distanceToSquared( _this.object.position ) > EPS ) { + + _this.dispatchEvent( changeEvent ); + + lastPosition.copy( _this.object.position ); + + } + + }; + + this.reset = function () { + + _state = STATE.NONE; + _prevState = STATE.NONE; + + _this.target.copy( _this.target0 ); + _this.object.position.copy( _this.position0 ); + _this.object.up.copy( _this.up0 ); + + _eye.subVectors( _this.object.position, _this.target ); + + _this.object.lookAt( _this.target ); + + _this.dispatchEvent( changeEvent ); + + lastPosition.copy( _this.object.position ); + + }; + + // listeners + + function keydown( event ) { + + if ( _this.enabled === false ) return; + + _prevState = _state; + + if ( _state !== STATE.NONE ) { + + return; + + } else if ( event.keyCode === _this.keys[ STATE.ROTATE ] && ! _this.noRotate ) { + + _state = STATE.ROTATE; + + } else if ( event.keyCode === _this.keys[ STATE.ZOOM ] && ! _this.noZoom ) { + + _state = STATE.ZOOM; + + } else if ( event.keyCode === _this.keys[ STATE.PAN ] && ! _this.noPan ) { + + _state = STATE.PAN; + + } + + } + + function keyup( event ) { + + if ( _this.enabled === false ) return; + + _state = _prevState; + + } + + function mousedown( event ) { + + if ( _this.enabled === false ) return; + + if ( _state === STATE.NONE ) { + + _state = event.button; + + } + + if ( _state === STATE.ROTATE && ! _this.noRotate ) { + + _moveCurr.copy( getMouseOnCircle( event.pageX, event.pageY ) ); + _movePrev.copy( _moveCurr ); + + } else if ( _state === STATE.ZOOM && ! _this.noZoom ) { + + _zoomStart.copy( getMouseOnScreen( event.pageX, event.pageY ) ); + _zoomEnd.copy( _zoomStart ); + + } else if ( _state === STATE.PAN && ! _this.noPan ) { + + _panStart.copy( getMouseOnScreen( event.pageX, event.pageY ) ); + _panEnd.copy( _panStart ); + + } + + document.addEventListener( 'mousemove', mousemove, false ); + document.addEventListener( 'mouseup', mouseup, false ); + + _this.dispatchEvent( startEvent ); + + } + + function mousemove( event ) { + + if ( _this.enabled === false ) return; + + if ( _state === STATE.ROTATE && ! _this.noRotate ) { + + _movePrev.copy( _moveCurr ); + _moveCurr.copy( getMouseOnCircle( event.pageX, event.pageY ) ); + + } else if ( _state === STATE.ZOOM && ! _this.noZoom ) { + + _zoomEnd.copy( getMouseOnScreen( event.pageX, event.pageY ) ); + + } else if ( _state === STATE.PAN && ! _this.noPan ) { + + _panEnd.copy( getMouseOnScreen( event.pageX, event.pageY ) ); + + } + + } + + function mouseup( event ) { + + if ( _this.enabled === false ) return; + + _state = STATE.NONE; + + document.removeEventListener( 'mousemove', mousemove ); + document.removeEventListener( 'mouseup', mouseup ); + _this.dispatchEvent( endEvent ); + + } + + function mousewheel( event ) { + + if ( _this.enabled === false ) return; + + var delta = 0; + + if ( event.wheelDelta ) { + + // WebKit / Opera / Explorer 9 + + delta = event.wheelDelta / 40; + + } else if ( event.detail ) { + + // Firefox + + delta = - event.detail / 3; + + } + + _zoomStart.y += delta * 0.01; + _this.dispatchEvent( startEvent ); + _this.dispatchEvent( endEvent ); + + } + + function touchstart( event ) { + + if ( _this.enabled === false ) return; + + switch ( event.touches.length ) { + + case 1: + _state = STATE.TOUCH_ROTATE; + _moveCurr.copy( getMouseOnCircle( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ) ); + _movePrev.copy( _moveCurr ); + break; + + default: // 2 or more + _state = STATE.TOUCH_ZOOM_PAN; + var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX; + var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY; + _touchZoomDistanceEnd = _touchZoomDistanceStart = Math.sqrt( dx * dx + dy * dy ); + + var x = ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX ) / 2; + var y = ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY ) / 2; + _panStart.copy( getMouseOnScreen( x, y ) ); + _panEnd.copy( _panStart ); + break; + + } + + _this.dispatchEvent( startEvent ); + + } + + function touchmove( event ) { + + if ( _this.enabled === false ) return; + + switch ( event.touches.length ) { + + case 1: + _movePrev.copy( _moveCurr ); + _moveCurr.copy( getMouseOnCircle( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ) ); + break; + + default: // 2 or more + var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX; + var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY; + _touchZoomDistanceEnd = Math.sqrt( dx * dx + dy * dy ); + + var x = ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX ) / 2; + var y = ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY ) / 2; + _panEnd.copy( getMouseOnScreen( x, y ) ); + break; + + } + + } + + function touchend( event ) { + + if ( _this.enabled === false ) return; + + switch ( event.touches.length ) { + + case 0: + _state = STATE.NONE; + break; + + case 1: + _state = STATE.TOUCH_ROTATE; + _moveCurr.copy( getMouseOnCircle( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ) ); + _movePrev.copy( _moveCurr ); + break; + + } + + _this.dispatchEvent( endEvent ); + + } + + function contextmenu( event ) { + + event.preventDefault(); + + } + + this.dispose = function() { + + this.domElement.removeEventListener( 'contextmenu', contextmenu, false ); + this.domElement.removeEventListener( 'mousedown', mousedown, false ); + this.domElement.removeEventListener( 'mousewheel', mousewheel, false ); + this.domElement.removeEventListener( 'MozMousePixelScroll', mousewheel, false ); // firefox + + this.domElement.removeEventListener( 'touchstart', touchstart, false ); + this.domElement.removeEventListener( 'touchend', touchend, false ); + this.domElement.removeEventListener( 'touchmove', touchmove, false ); + + document.removeEventListener( 'mousemove', mousemove, false ); + document.removeEventListener( 'mouseup', mouseup, false ); + + window.removeEventListener( 'keydown', keydown, false ); + window.removeEventListener( 'keyup', keyup, false ); + + }; + + this.domElement.addEventListener( 'contextmenu', contextmenu, false ); + this.domElement.addEventListener( 'mousedown', mousedown, false ); + this.domElement.addEventListener( 'mousewheel', mousewheel, false ); + this.domElement.addEventListener( 'MozMousePixelScroll', mousewheel, false ); // firefox + + this.domElement.addEventListener( 'touchstart', touchstart, false ); + this.domElement.addEventListener( 'touchend', touchend, false ); + this.domElement.addEventListener( 'touchmove', touchmove, false ); + + window.addEventListener( 'keydown', keydown, false ); + window.addEventListener( 'keyup', keyup, false ); + + this.handleResize(); + + // force an update at start + this.update(); + +}; + +THREE.TrackballControls.prototype = Object.create( THREE.EventDispatcher.prototype ); +THREE.TrackballControls.prototype.constructor = THREE.TrackballControls; + diff -r 68b60e4b8116 -r f9c2bf2fa2c9 static-old/media/js/featherlight.gallery.min.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static-old/media/js/featherlight.gallery.min.js Sat Jan 04 23:35:16 2020 -0500 @@ -0,0 +1,7 @@ +/** + * Featherlight Gallery – an extension for the ultra slim jQuery lightbox + * Version 1.7.7 - http://noelboss.github.io/featherlight/ + * + * Copyright 2017, Noël Raoul Bossart (http://www.noelboss.com) + * MIT Licensed. +**/!function(a){"use strict";function b(c,d){if(!(this instanceof b)){var e=new b(a.extend({$source:c,$currentTarget:c.first()},d));return e.open(),e}a.featherlight.apply(this,arguments),this.chainCallbacks(h)}var c=function(a){window.console&&window.console.warn&&window.console.warn("FeatherlightGallery: "+a)};if("undefined"==typeof a)return c("Too much lightness, Featherlight needs jQuery.");if(!a.featherlight)return c("Load the featherlight plugin before the gallery plugin");var d="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch,e=a.event&&a.event.special.swipeleft&&a,f=window.Hammer&&function(a){var b=new window.Hammer.Manager(a[0]);return b.add(new window.Hammer.Swipe),b},g=d&&(e||f);d&&!g&&c("No compatible swipe library detected; one must be included before featherlightGallery for swipe motions to navigate the galleries.");var h={afterClose:function(a,b){var c=this;return c.$instance.off("next."+c.namespace+" previous."+c.namespace),c._swiper&&(c._swiper.off("swipeleft",c._swipeleft).off("swiperight",c._swiperight),c._swiper=null),a(b)},beforeOpen:function(a,b){var c=this;return c.$instance.on("next."+c.namespace+" previous."+c.namespace,function(a){var b="next"===a.type?1:-1;c.navigateTo(c.currentNavigation()+b)}),g&&(c._swiper=g(c.$instance).on("swipeleft",c._swipeleft=function(){c.$instance.trigger("next")}).on("swiperight",c._swiperight=function(){c.$instance.trigger("previous")}),c.$instance.addClass(this.namespace+"-swipe-aware",g)),c.$instance.find("."+c.namespace+"-content").append(c.createNavigation("previous")).append(c.createNavigation("next")),a(b)},beforeContent:function(a,b){var c=this.currentNavigation(),d=this.slides().length;return this.$instance.toggleClass(this.namespace+"-first-slide",0===c).toggleClass(this.namespace+"-last-slide",c===d-1),a(b)},onKeyUp:function(a,b){var c={37:"previous",39:"next"}[b.keyCode];return c?(this.$instance.trigger(c),!1):a(b)}};a.featherlight.extend(b,{autoBind:"[data-featherlight-gallery]"}),a.extend(b.prototype,{previousIcon:"◀",nextIcon:"▶",galleryFadeIn:100,galleryFadeOut:300,slides:function(){return this.filter?this.$source.find(this.filter):this.$source},images:function(){return c("images is deprecated, please use slides instead"),this.slides()},currentNavigation:function(){return this.slides().index(this.$currentTarget)},navigateTo:function(b){var c=this,d=c.slides(),e=d.length,f=c.$instance.find("."+c.namespace+"-inner");return b=(b%e+e)%e,c.$currentTarget=d.eq(b),c.beforeContent(),a.when(c.getContent(),f.fadeTo(c.galleryFadeOut,.2)).always(function(a){c.setContent(a),c.afterContent(),a.fadeTo(c.galleryFadeIn,1)})},createNavigation:function(b){var c=this;return a(''+this[b+"Icon"]+"").click(function(){a(this).trigger(b+"."+c.namespace)})}}),a.featherlightGallery=b,a.fn.featherlightGallery=function(a){return b.attach(this,a),this},a(document).ready(function(){b._onReady()})}(jQuery); \ No newline at end of file diff -r 68b60e4b8116 -r f9c2bf2fa2c9 static-old/media/js/featherlight.min.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static-old/media/js/featherlight.min.js Sat Jan 04 23:35:16 2020 -0500 @@ -0,0 +1,8 @@ +/** + * Featherlight - ultra slim jQuery lightbox + * Version 1.7.7 - http://noelboss.github.io/featherlight/ + * + * Copyright 2017, Noël Raoul Bossart (http://www.noelboss.com) + * MIT Licensed. +**/ +!function(a){"use strict";function b(a,c){if(!(this instanceof b)){var d=new b(a,c);return d.open(),d}this.id=b.id++,this.setup(a,c),this.chainCallbacks(b._callbackChain)}function c(a,b){var c={};for(var d in a)d in b&&(c[d]=a[d],delete a[d]);return c}function d(a,b){var c={},d=new RegExp("^"+b+"([A-Z])(.*)");for(var e in a){var f=e.match(d);if(f){var g=(f[1]+f[2].replace(/([A-Z])/g,"-$1")).toLowerCase();c[g]=a[e]}}return c}if("undefined"==typeof a)return void("console"in window&&window.console.info("Too much lightness, Featherlight needs jQuery."));var e=[],f=function(b){return e=a.grep(e,function(a){return a!==b&&a.$instance.closest("body").length>0})},g={allowfullscreen:1,frameborder:1,height:1,longdesc:1,marginheight:1,marginwidth:1,name:1,referrerpolicy:1,scrolling:1,sandbox:1,src:1,srcdoc:1,width:1},h={keyup:"onKeyUp",resize:"onResize"},i=function(c){a.each(b.opened().reverse(),function(){return c.isDefaultPrevented()||!1!==this[h[c.type]](c)?void 0:(c.preventDefault(),c.stopPropagation(),!1)})},j=function(c){if(c!==b._globalHandlerInstalled){b._globalHandlerInstalled=c;var d=a.map(h,function(a,c){return c+"."+b.prototype.namespace}).join(" ");a(window)[c?"on":"off"](d,i)}};b.prototype={constructor:b,namespace:"featherlight",targetAttr:"data-featherlight",variant:null,resetCss:!1,background:null,openTrigger:"click",closeTrigger:"click",filter:null,root:"body",openSpeed:250,closeSpeed:250,closeOnClick:"background",closeOnEsc:!0,closeIcon:"✕",loading:"",persist:!1,otherClose:null,beforeOpen:a.noop,beforeContent:a.noop,beforeClose:a.noop,afterOpen:a.noop,afterContent:a.noop,afterClose:a.noop,onKeyUp:a.noop,onResize:a.noop,type:null,contentFilters:["jquery","image","html","ajax","iframe","text"],setup:function(b,c){"object"!=typeof b||b instanceof a!=!1||c||(c=b,b=void 0);var d=a.extend(this,c,{target:b}),e=d.resetCss?d.namespace+"-reset":d.namespace,f=a(d.background||['
','
','",'
'+d.loading+"
","
","
"].join("")),g="."+d.namespace+"-close"+(d.otherClose?","+d.otherClose:"");return d.$instance=f.clone().addClass(d.variant),d.$instance.on(d.closeTrigger+"."+d.namespace,function(b){var c=a(b.target);("background"===d.closeOnClick&&c.is("."+d.namespace)||"anywhere"===d.closeOnClick||c.closest(g).length)&&(d.close(b),b.preventDefault())}),this},getContent:function(){if(this.persist!==!1&&this.$content)return this.$content;var b=this,c=this.constructor.contentFilters,d=function(a){return b.$currentTarget&&b.$currentTarget.attr(a)},e=d(b.targetAttr),f=b.target||e||"",g=c[b.type];if(!g&&f in c&&(g=c[f],f=b.target&&e),f=f||d("href")||"",!g)for(var h in c)b[h]&&(g=c[h],f=b[h]);if(!g){var i=f;if(f=null,a.each(b.contentFilters,function(){return g=c[this],g.test&&(f=g.test(i)),!f&&g.regex&&i.match&&i.match(g.regex)&&(f=i),!f}),!f)return"console"in window&&window.console.error("Featherlight: no content filter found "+(i?' for "'+i+'"':" (no target specified)")),!1}return g.process.call(b,f)},setContent:function(b){var c=this;return b.is("iframe")&&c.$instance.addClass(c.namespace+"-iframe"),c.$instance.removeClass(c.namespace+"-loading"),c.$instance.find("."+c.namespace+"-inner").not(b).slice(1).remove().end().replaceWith(a.contains(c.$instance[0],b[0])?"":b),c.$content=b.addClass(c.namespace+"-inner"),c},open:function(b){var c=this;if(c.$instance.hide().appendTo(c.root),!(b&&b.isDefaultPrevented()||c.beforeOpen(b)===!1)){b&&b.preventDefault();var d=c.getContent();if(d)return e.push(c),j(!0),c.$instance.fadeIn(c.openSpeed),c.beforeContent(b),a.when(d).always(function(a){c.setContent(a),c.afterContent(b)}).then(c.$instance.promise()).done(function(){c.afterOpen(b)})}return c.$instance.detach(),a.Deferred().reject().promise()},close:function(b){var c=this,d=a.Deferred();return c.beforeClose(b)===!1?d.reject():(0===f(c).length&&j(!1),c.$instance.fadeOut(c.closeSpeed,function(){c.$instance.detach(),c.afterClose(b),d.resolve()})),d.promise()},resize:function(a,b){if(a&&b){this.$content.css("width","").css("height","");var c=Math.max(a/(this.$content.parent().width()-1),b/(this.$content.parent().height()-1));c>1&&(c=b/Math.floor(b/c),this.$content.css("width",""+a/c+"px").css("height",""+b/c+"px"))}},chainCallbacks:function(b){for(var c in b)this[c]=a.proxy(b[c],this,a.proxy(this[c],this))}},a.extend(b,{id:0,autoBind:"[data-featherlight]",defaults:b.prototype,contentFilters:{jquery:{regex:/^[#.]\w/,test:function(b){return b instanceof a&&b},process:function(b){return this.persist!==!1?a(b):a(b).clone(!0)}},image:{regex:/\.(png|jpg|jpeg|gif|tiff|bmp|svg)(\?\S*)?$/i,process:function(b){var c=this,d=a.Deferred(),e=new Image,f=a('');return e.onload=function(){f.naturalWidth=e.width,f.naturalHeight=e.height,d.resolve(f)},e.onerror=function(){d.reject(f)},e.src=b,d.promise()}},html:{regex:/^\s*<[\w!][^<]*>/,process:function(b){return a(b)}},ajax:{regex:/./,process:function(b){var c=a.Deferred(),d=a("
").load(b,function(a,b){"error"!==b&&c.resolve(d.contents()),c.fail()});return c.promise()}},iframe:{process:function(b){var e=new a.Deferred,f=a("