diff --git a/lib/GUI/css/highlight.js.less b/lib/GUI/css/highlight.js.less new file mode 100644 index 000000000..3d8485b48 --- /dev/null +++ b/lib/GUI/css/highlight.js.less @@ -0,0 +1,153 @@ +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; padding: 0.5em; + background: #F0F0F0; +} + +.hljs, +.hljs-subst, +.hljs-tag .hljs-title, +.lisp .hljs-title, +.clojure .hljs-built_in, +.nginx .hljs-title { + color: black; +} + +.hljs-string, +.hljs-title, +.hljs-constant, +.hljs-parent, +.hljs-tag .hljs-value, +.hljs-rules .hljs-value, +.hljs-rules .hljs-value .hljs-number, +.hljs-preprocessor, +.hljs-pragma, +.haml .hljs-symbol, +.ruby .hljs-symbol, +.ruby .hljs-symbol .hljs-string, +.hljs-aggregate, +.hljs-template_tag, +.django .hljs-variable, +.smalltalk .hljs-class, +.hljs-addition, +.hljs-flow, +.hljs-stream, +.bash .hljs-variable, +.apache .hljs-tag, +.apache .hljs-cbracket, +.tex .hljs-command, +.tex .hljs-special, +.erlang_repl .hljs-function_or_atom, +.asciidoc .hljs-header, +.markdown .hljs-header, +.coffeescript .hljs-attribute { + color: #800; +} + +.smartquote, +.hljs-comment, +.hljs-annotation, +.hljs-template_comment, +.diff .hljs-header, +.hljs-chunk, +.asciidoc .hljs-blockquote, +.markdown .hljs-blockquote { + color: #888; +} + +.hljs-number, +.hljs-date, +.hljs-regexp, +.hljs-literal, +.hljs-hexcolor, +.smalltalk .hljs-symbol, +.smalltalk .hljs-char, +.go .hljs-constant, +.hljs-change, +.lasso .hljs-variable, +.makefile .hljs-variable, +.asciidoc .hljs-bullet, +.markdown .hljs-bullet, +.asciidoc .hljs-link_url, +.markdown .hljs-link_url { + color: #080; +} + +.hljs-label, +.hljs-javadoc, +.ruby .hljs-string, +.hljs-decorator, +.hljs-filter .hljs-argument, +.hljs-localvars, +.hljs-array, +.hljs-attr_selector, +.hljs-important, +.hljs-pseudo, +.hljs-pi, +.haml .hljs-bullet, +.hljs-doctype, +.hljs-deletion, +.hljs-envvar, +.hljs-shebang, +.apache .hljs-sqbracket, +.nginx .hljs-built_in, +.tex .hljs-formula, +.erlang_repl .hljs-reserved, +.hljs-prompt, +.asciidoc .hljs-link_label, +.markdown .hljs-link_label, +.vhdl .hljs-attribute, +.clojure .hljs-attribute, +.asciidoc .hljs-attribute, +.lasso .hljs-attribute, +.coffeescript .hljs-property, +.hljs-phony { + color: #88F +} + +.hljs-keyword, +.hljs-id, +.hljs-title, +.hljs-built_in, +.hljs-aggregate, +.css .hljs-tag, +.hljs-javadoctag, +.hljs-phpdoc, +.hljs-yardoctag, +.smalltalk .hljs-class, +.hljs-winutils, +.bash .hljs-variable, +.apache .hljs-tag, +.go .hljs-typename, +.tex .hljs-command, +.asciidoc .hljs-strong, +.markdown .hljs-strong, +.hljs-request, +.hljs-status { + font-weight: bold; +} + +.asciidoc .hljs-emphasis, +.markdown .hljs-emphasis { + font-style: italic; +} + +.nginx .hljs-built_in { + font-weight: normal; +} + +.coffeescript .javascript, +.javascript .xml, +.lasso .markup, +.tex .hljs-formula, +.xml .javascript, +.xml .vbscript, +.xml .css, +.xml .hljs-cdata { + opacity: 0.5; +} diff --git a/lib/GUI/css/main.less b/lib/GUI/css/main.less index c5f1e1381..4f9863b89 100644 --- a/lib/GUI/css/main.less +++ b/lib/GUI/css/main.less @@ -1,5 +1,6 @@ @import "../../../node_modules/helpers.less/helpers.less"; -@import "./markdown.css"; +@import "./markdown.less"; +@import "./highlight.js.less"; /*** Main Styles ***/ body { @@ -47,13 +48,41 @@ h1 { /*** Search Box ***/ #search-form { float: right; + + @height: 30px; + + input, button { + margin: 0; + vertical-align: middle; + } + + input { + width: 200px; + height: @height; + .border-box; + padding: 0 5px; + font-size: 16px; + border: 1px solid #444; + border-right: 0; + + &:focus { + outline: none; + } + } + + button { + height: @height; + width: @height; + margin: 0; + border: 0; + } } /*** Package Entries ***/ .entry { - background: #EEE; + background: #F3F3F3; .border-radius(4px); - padding: 12px 15px; + padding: 12px 15px 15px; h3 { font-size: 24px; @@ -68,12 +97,20 @@ h1 { .author { font-size: 16px; float: right; - color: #555; + color: #666; } p { margin: 0; } + + .readme { + font-size: 14px; + margin-top: 10px; + background: #FFF; + padding: 10px 12px; + .border-radius(3px); + } } /*** Search Results ***/ diff --git a/lib/GUI/css/markdown.css b/lib/GUI/css/markdown.css deleted file mode 100644 index d45fe4472..000000000 --- a/lib/GUI/css/markdown.css +++ /dev/null @@ -1,279 +0,0 @@ -/*** Sourced from this Gist: https://gist.github.com/andyferra/2554919 ***/ - -body { - font-family: Helvetica, arial, sans-serif; - font-size: 14px; - line-height: 1.6; - padding-top: 10px; - padding-bottom: 10px; - background-color: white; - padding: 30px; } - -body > *:first-child { - margin-top: 0 !important; } -body > *:last-child { - margin-bottom: 0 !important; } - -a { - color: #4183C4; } -a.absent { - color: #cc0000; } -a.anchor { - display: block; - padding-left: 30px; - margin-left: -30px; - cursor: pointer; - position: absolute; - top: 0; - left: 0; - bottom: 0; } - -h1, h2, h3, h4, h5, h6 { - margin: 20px 0 10px; - padding: 0; - font-weight: bold; - -webkit-font-smoothing: antialiased; - cursor: text; - position: relative; } - -h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor { - background: url("../../images/modules/styleguide/para.png") no-repeat 10px center; - text-decoration: none; } - -h1 tt, h1 code { - font-size: inherit; } - -h2 tt, h2 code { - font-size: inherit; } - -h3 tt, h3 code { - font-size: inherit; } - -h4 tt, h4 code { - font-size: inherit; } - -h5 tt, h5 code { - font-size: inherit; } - -h6 tt, h6 code { - font-size: inherit; } - -h1 { - font-size: 28px; - color: black; } - -h2 { - font-size: 24px; - border-bottom: 1px solid #cccccc; - color: black; } - -h3 { - font-size: 18px; } - -h4 { - font-size: 16px; } - -h5 { - font-size: 14px; } - -h6 { - color: #777777; - font-size: 14px; } - -p, blockquote, ul, ol, dl, li, table, pre { - margin: 15px 0; } - -hr { - background: transparent url("../../images/modules/pulls/dirty-shade.png") repeat-x 0 0; - border: 0 none; - color: #cccccc; - height: 4px; - padding: 0; } - -body > h2:first-child { - margin-top: 0; - padding-top: 0; } -body > h1:first-child { - margin-top: 0; - padding-top: 0; } - body > h1:first-child + h2 { - margin-top: 0; - padding-top: 0; } -body > h3:first-child, body > h4:first-child, body > h5:first-child, body > h6:first-child { - margin-top: 0; - padding-top: 0; } - -a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 { - margin-top: 0; - padding-top: 0; } - -h1 p, h2 p, h3 p, h4 p, h5 p, h6 p { - margin-top: 0; } - -li p.first { - display: inline-block; } - -ul, ol { - padding-left: 30px; } - -ul :first-child, ol :first-child { - margin-top: 0; } - -ul :last-child, ol :last-child { - margin-bottom: 0; } - -dl { - padding: 0; } - dl dt { - font-size: 14px; - font-weight: bold; - font-style: italic; - padding: 0; - margin: 15px 0 5px; } - dl dt:first-child { - padding: 0; } - dl dt > :first-child { - margin-top: 0; } - dl dt > :last-child { - margin-bottom: 0; } - dl dd { - margin: 0 0 15px; - padding: 0 15px; } - dl dd > :first-child { - margin-top: 0; } - dl dd > :last-child { - margin-bottom: 0; } - -blockquote { - border-left: 4px solid #dddddd; - padding: 0 15px; - color: #777777; } - blockquote > :first-child { - margin-top: 0; } - blockquote > :last-child { - margin-bottom: 0; } - -table { - padding: 0; } - table tr { - border-top: 1px solid #cccccc; - background-color: white; - margin: 0; - padding: 0; } - table tr:nth-child(2n) { - background-color: #f8f8f8; } - table tr th { - font-weight: bold; - border: 1px solid #cccccc; - text-align: left; - margin: 0; - padding: 6px 13px; } - table tr td { - border: 1px solid #cccccc; - text-align: left; - margin: 0; - padding: 6px 13px; } - table tr th :first-child, table tr td :first-child { - margin-top: 0; } - table tr th :last-child, table tr td :last-child { - margin-bottom: 0; } - -img { - max-width: 100%; } - -span.frame { - display: block; - overflow: hidden; } - span.frame > span { - border: 1px solid #dddddd; - display: block; - float: left; - overflow: hidden; - margin: 13px 0 0; - padding: 7px; - width: auto; } - span.frame span img { - display: block; - float: left; } - span.frame span span { - clear: both; - color: #333333; - display: block; - padding: 5px 0 0; } -span.align-center { - display: block; - overflow: hidden; - clear: both; } - span.align-center > span { - display: block; - overflow: hidden; - margin: 13px auto 0; - text-align: center; } - span.align-center span img { - margin: 0 auto; - text-align: center; } -span.align-right { - display: block; - overflow: hidden; - clear: both; } - span.align-right > span { - display: block; - overflow: hidden; - margin: 13px 0 0; - text-align: right; } - span.align-right span img { - margin: 0; - text-align: right; } -span.float-left { - display: block; - margin-right: 13px; - overflow: hidden; - float: left; } - span.float-left span { - margin: 13px 0 0; } -span.float-right { - display: block; - margin-left: 13px; - overflow: hidden; - float: right; } - span.float-right > span { - display: block; - overflow: hidden; - margin: 13px auto 0; - text-align: right; } - -code, tt { - margin: 0 2px; - padding: 0 5px; - white-space: nowrap; - border: 1px solid #eaeaea; - background-color: #f8f8f8; - border-radius: 3px; } - -pre code { - margin: 0; - padding: 0; - white-space: pre; - border: none; - background: transparent; } - -.highlight pre { - background-color: #f8f8f8; - border: 1px solid #cccccc; - font-size: 13px; - line-height: 19px; - overflow: auto; - padding: 6px 10px; - border-radius: 3px; } - -pre { - background-color: #f8f8f8; - border: 1px solid #cccccc; - font-size: 13px; - line-height: 19px; - overflow: auto; - padding: 6px 10px; - border-radius: 3px; } - pre code, pre tt { - background-color: transparent; - border: none; } \ No newline at end of file diff --git a/lib/GUI/css/markdown.less b/lib/GUI/css/markdown.less new file mode 100644 index 000000000..7283ddd2a --- /dev/null +++ b/lib/GUI/css/markdown.less @@ -0,0 +1,267 @@ +/*** Sourced from this Gist: https://gist.github.com/andyferra/2554919 ***/ + +.readme { + a { + color: #4183C4; } + a.absent { + color: #cc0000; } + a.anchor { + display: block; + padding-left: 30px; + margin-left: -30px; + cursor: pointer; + position: absolute; + top: 0; + left: 0; + bottom: 0; } + + h1, h2, h3, h4, h5, h6 { + margin: 20px 0 10px; + padding: 0; + font-weight: bold; + -webkit-font-smoothing: antialiased; + cursor: text; + position: relative; } + + h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor { + background: url("../../images/modules/styleguide/para.png") no-repeat 10px center; + text-decoration: none; } + + h1 tt, h1 code { + font-size: inherit; } + + h2 tt, h2 code { + font-size: inherit; } + + h3 tt, h3 code { + font-size: inherit; } + + h4 tt, h4 code { + font-size: inherit; } + + h5 tt, h5 code { + font-size: inherit; } + + h6 tt, h6 code { + font-size: inherit; } + + h1 { + font-size: 28px; + color: black; } + + h2 { + font-size: 24px; + border-bottom: 1px solid #cccccc; + color: black; } + + h3 { + font-size: 18px; } + + h4 { + font-size: 16px; } + + h5 { + font-size: 14px; } + + h6 { + color: #777777; + font-size: 14px; } + + p, blockquote, ul, ol, dl, li, table, pre { + margin: 15px 0; } + + hr { + background: transparent url("../../images/modules/pulls/dirty-shade.png") repeat-x 0 0; + border: 0 none; + color: #cccccc; + height: 4px; + padding: 0; } + + body > h2:first-child { + margin-top: 0; + padding-top: 0; } + body > h1:first-child { + margin-top: 0; + padding-top: 0; } + body > h1:first-child + h2 { + margin-top: 0; + padding-top: 0; } + body > h3:first-child, body > h4:first-child, body > h5:first-child, body > h6:first-child { + margin-top: 0; + padding-top: 0; } + + a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 { + margin-top: 0; + padding-top: 0; } + + h1 p, h2 p, h3 p, h4 p, h5 p, h6 p { + margin-top: 0; } + + li p.first { + display: inline-block; } + + ul, ol { + padding-left: 30px; } + + ul :first-child, ol :first-child { + margin-top: 0; } + + ul :last-child, ol :last-child { + margin-bottom: 0; } + + dl { + padding: 0; } + dl dt { + font-size: 14px; + font-weight: bold; + font-style: italic; + padding: 0; + margin: 15px 0 5px; } + dl dt:first-child { + padding: 0; } + dl dt > :first-child { + margin-top: 0; } + dl dt > :last-child { + margin-bottom: 0; } + dl dd { + margin: 0 0 15px; + padding: 0 15px; } + dl dd > :first-child { + margin-top: 0; } + dl dd > :last-child { + margin-bottom: 0; } + + blockquote { + border-left: 4px solid #dddddd; + padding: 0 15px; + color: #777777; } + blockquote > :first-child { + margin-top: 0; } + blockquote > :last-child { + margin-bottom: 0; } + + table { + padding: 0; } + table tr { + border-top: 1px solid #cccccc; + background-color: white; + margin: 0; + padding: 0; } + table tr:nth-child(2n) { + background-color: #f8f8f8; } + table tr th { + font-weight: bold; + border: 1px solid #cccccc; + text-align: left; + margin: 0; + padding: 6px 13px; } + table tr td { + border: 1px solid #cccccc; + text-align: left; + margin: 0; + padding: 6px 13px; } + table tr th :first-child, table tr td :first-child { + margin-top: 0; } + table tr th :last-child, table tr td :last-child { + margin-bottom: 0; } + + img { + max-width: 100%; } + + span.frame { + display: block; + overflow: hidden; } + span.frame > span { + border: 1px solid #dddddd; + display: block; + float: left; + overflow: hidden; + margin: 13px 0 0; + padding: 7px; + width: auto; } + span.frame span img { + display: block; + float: left; } + span.frame span span { + clear: both; + color: #333333; + display: block; + padding: 5px 0 0; } + span.align-center { + display: block; + overflow: hidden; + clear: both; } + span.align-center > span { + display: block; + overflow: hidden; + margin: 13px auto 0; + text-align: center; } + span.align-center span img { + margin: 0 auto; + text-align: center; } + span.align-right { + display: block; + overflow: hidden; + clear: both; } + span.align-right > span { + display: block; + overflow: hidden; + margin: 13px 0 0; + text-align: right; } + span.align-right span img { + margin: 0; + text-align: right; } + span.float-left { + display: block; + margin-right: 13px; + overflow: hidden; + float: left; } + span.float-left span { + margin: 13px 0 0; } + span.float-right { + display: block; + margin-left: 13px; + overflow: hidden; + float: right; } + span.float-right > span { + display: block; + overflow: hidden; + margin: 13px auto 0; + text-align: right; } + + code, tt { + margin: 0 2px; + padding: 0 5px; + white-space: nowrap; + border: 1px solid #eaeaea; + background-color: #f8f8f8; + border-radius: 3px; } + + pre code { + margin: 0; + padding: 0; + white-space: pre; + border: none; + background: transparent; } + + .highlight pre { + background-color: #f8f8f8; + border: 1px solid #cccccc; + font-size: 13px; + line-height: 19px; + overflow: auto; + padding: 6px 10px; + border-radius: 3px; } + + pre { + background-color: #f8f8f8; + border: 1px solid #cccccc; + font-size: 13px; + line-height: 19px; + overflow: auto; + padding: 6px 10px; + border-radius: 3px; } + pre code, pre tt { + background-color: transparent; + border: none; } +} \ No newline at end of file diff --git a/lib/GUI/entry.handlebars b/lib/GUI/entry.handlebars index 52e62fb7e..899e27df5 100644 --- a/lib/GUI/entry.handlebars +++ b/lib/GUI/entry.handlebars @@ -1,4 +1,8 @@ -
-

{{ name }} v{{ version }}
By: {{ _npmUser.name }}

+
+

+ {{ name }} + v{{ version }} +
By: {{ _npmUser.name }}
+

{{ description }}

\ No newline at end of file diff --git a/lib/GUI/index.handlebars b/lib/GUI/index.handlebars index c34019b5e..b7a1d0221 100644 --- a/lib/GUI/index.handlebars +++ b/lib/GUI/index.handlebars @@ -20,8 +20,7 @@

Available Packages:
- - +

diff --git a/lib/GUI/js/entry.js b/lib/GUI/js/entry.js index e69de29bb..cb9483521 100644 --- a/lib/GUI/js/entry.js +++ b/lib/GUI/js/entry.js @@ -0,0 +1,29 @@ +var $ = require('unopinionate').selector, + onClick = require('onclick'); + +$(function() { + onClick('.entry .name', function() { + var $this = $(this), + $entry = $this.closest('.entry'); + + if($entry.hasClass('open')) { + $entry + .removeClass('open') + .find('.readme').remove(); + } + else { + $entry.addClass('open'); + + $.ajax({ + url: '/-/readme/'+$entry.attr('data-name')+'/'+$entry.attr('data-version'), + dataType: 'text', + success: function(html) { + console.log(html); + $("
") + .html(html) + .appendTo($entry); + } + }); + } + }); +}); \ No newline at end of file diff --git a/lib/static/main.css b/lib/static/main.css index f95002c79..32e3c6b70 100644 --- a/lib/static/main.css +++ b/lib/static/main.css @@ -1,4 +1,489 @@ -@import "markdown.css"; +/*** Sourced from this Gist: https://gist.github.com/andyferra/2554919 ***/ +.readme a { + color: #4183C4; +} +.readme a.absent { + color: #cc0000; +} +.readme a.anchor { + display: block; + padding-left: 30px; + margin-left: -30px; + cursor: pointer; + position: absolute; + top: 0; + left: 0; + bottom: 0; +} +.readme h1, +.readme h2, +.readme h3, +.readme h4, +.readme h5, +.readme h6 { + margin: 20px 0 10px; + padding: 0; + font-weight: bold; + -webkit-font-smoothing: antialiased; + cursor: text; + position: relative; +} +.readme h1:hover a.anchor, +.readme h2:hover a.anchor, +.readme h3:hover a.anchor, +.readme h4:hover a.anchor, +.readme h5:hover a.anchor, +.readme h6:hover a.anchor { + background: url("../../images/modules/styleguide/para.png") no-repeat 10px center; + text-decoration: none; +} +.readme h1 tt, +.readme h1 code { + font-size: inherit; +} +.readme h2 tt, +.readme h2 code { + font-size: inherit; +} +.readme h3 tt, +.readme h3 code { + font-size: inherit; +} +.readme h4 tt, +.readme h4 code { + font-size: inherit; +} +.readme h5 tt, +.readme h5 code { + font-size: inherit; +} +.readme h6 tt, +.readme h6 code { + font-size: inherit; +} +.readme h1 { + font-size: 28px; + color: black; +} +.readme h2 { + font-size: 24px; + border-bottom: 1px solid #cccccc; + color: black; +} +.readme h3 { + font-size: 18px; +} +.readme h4 { + font-size: 16px; +} +.readme h5 { + font-size: 14px; +} +.readme h6 { + color: #777777; + font-size: 14px; +} +.readme p, +.readme blockquote, +.readme ul, +.readme ol, +.readme dl, +.readme li, +.readme table, +.readme pre { + margin: 15px 0; +} +.readme hr { + background: transparent url("../../images/modules/pulls/dirty-shade.png") repeat-x 0 0; + border: 0 none; + color: #cccccc; + height: 4px; + padding: 0; +} +.readme body > h2:first-child { + margin-top: 0; + padding-top: 0; +} +.readme body > h1:first-child { + margin-top: 0; + padding-top: 0; +} +.readme body > h1:first-child + h2 { + margin-top: 0; + padding-top: 0; +} +.readme body > h3:first-child, +.readme body > h4:first-child, +.readme body > h5:first-child, +.readme body > h6:first-child { + margin-top: 0; + padding-top: 0; +} +.readme a:first-child h1, +.readme a:first-child h2, +.readme a:first-child h3, +.readme a:first-child h4, +.readme a:first-child h5, +.readme a:first-child h6 { + margin-top: 0; + padding-top: 0; +} +.readme h1 p, +.readme h2 p, +.readme h3 p, +.readme h4 p, +.readme h5 p, +.readme h6 p { + margin-top: 0; +} +.readme li p.first { + display: inline-block; +} +.readme ul, +.readme ol { + padding-left: 30px; +} +.readme ul :first-child, +.readme ol :first-child { + margin-top: 0; +} +.readme ul :last-child, +.readme ol :last-child { + margin-bottom: 0; +} +.readme dl { + padding: 0; +} +.readme dl dt { + font-size: 14px; + font-weight: bold; + font-style: italic; + padding: 0; + margin: 15px 0 5px; +} +.readme dl dt:first-child { + padding: 0; +} +.readme dl dt > :first-child { + margin-top: 0; +} +.readme dl dt > :last-child { + margin-bottom: 0; +} +.readme dl dd { + margin: 0 0 15px; + padding: 0 15px; +} +.readme dl dd > :first-child { + margin-top: 0; +} +.readme dl dd > :last-child { + margin-bottom: 0; +} +.readme blockquote { + border-left: 4px solid #dddddd; + padding: 0 15px; + color: #777777; +} +.readme blockquote > :first-child { + margin-top: 0; +} +.readme blockquote > :last-child { + margin-bottom: 0; +} +.readme table { + padding: 0; +} +.readme table tr { + border-top: 1px solid #cccccc; + background-color: white; + margin: 0; + padding: 0; +} +.readme table tr:nth-child(2n) { + background-color: #f8f8f8; +} +.readme table tr th { + font-weight: bold; + border: 1px solid #cccccc; + text-align: left; + margin: 0; + padding: 6px 13px; +} +.readme table tr td { + border: 1px solid #cccccc; + text-align: left; + margin: 0; + padding: 6px 13px; +} +.readme table tr th :first-child, +.readme table tr td :first-child { + margin-top: 0; +} +.readme table tr th :last-child, +.readme table tr td :last-child { + margin-bottom: 0; +} +.readme img { + max-width: 100%; +} +.readme span.frame { + display: block; + overflow: hidden; +} +.readme span.frame > span { + border: 1px solid #dddddd; + display: block; + float: left; + overflow: hidden; + margin: 13px 0 0; + padding: 7px; + width: auto; +} +.readme span.frame span img { + display: block; + float: left; +} +.readme span.frame span span { + clear: both; + color: #333333; + display: block; + padding: 5px 0 0; +} +.readme span.align-center { + display: block; + overflow: hidden; + clear: both; +} +.readme span.align-center > span { + display: block; + overflow: hidden; + margin: 13px auto 0; + text-align: center; +} +.readme span.align-center span img { + margin: 0 auto; + text-align: center; +} +.readme span.align-right { + display: block; + overflow: hidden; + clear: both; +} +.readme span.align-right > span { + display: block; + overflow: hidden; + margin: 13px 0 0; + text-align: right; +} +.readme span.align-right span img { + margin: 0; + text-align: right; +} +.readme span.float-left { + display: block; + margin-right: 13px; + overflow: hidden; + float: left; +} +.readme span.float-left span { + margin: 13px 0 0; +} +.readme span.float-right { + display: block; + margin-left: 13px; + overflow: hidden; + float: right; +} +.readme span.float-right > span { + display: block; + overflow: hidden; + margin: 13px auto 0; + text-align: right; +} +.readme code, +.readme tt { + margin: 0 2px; + padding: 0 5px; + white-space: nowrap; + border: 1px solid #eaeaea; + background-color: #f8f8f8; + border-radius: 3px; +} +.readme pre code { + margin: 0; + padding: 0; + white-space: pre; + border: none; + background: transparent; +} +.readme .highlight pre { + background-color: #f8f8f8; + border: 1px solid #cccccc; + font-size: 13px; + line-height: 19px; + overflow: auto; + padding: 6px 10px; + border-radius: 3px; +} +.readme pre { + background-color: #f8f8f8; + border: 1px solid #cccccc; + font-size: 13px; + line-height: 19px; + overflow: auto; + padding: 6px 10px; + border-radius: 3px; +} +.readme pre code, +.readme pre tt { + background-color: transparent; + border: none; +} +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev + +*/ +.hljs { + display: block; + padding: 0.5em; + background: #F0F0F0; +} +.hljs, +.hljs-subst, +.hljs-tag .hljs-title, +.lisp .hljs-title, +.clojure .hljs-built_in, +.nginx .hljs-title { + color: black; +} +.hljs-string, +.hljs-title, +.hljs-constant, +.hljs-parent, +.hljs-tag .hljs-value, +.hljs-rules .hljs-value, +.hljs-rules .hljs-value .hljs-number, +.hljs-preprocessor, +.hljs-pragma, +.haml .hljs-symbol, +.ruby .hljs-symbol, +.ruby .hljs-symbol .hljs-string, +.hljs-aggregate, +.hljs-template_tag, +.django .hljs-variable, +.smalltalk .hljs-class, +.hljs-addition, +.hljs-flow, +.hljs-stream, +.bash .hljs-variable, +.apache .hljs-tag, +.apache .hljs-cbracket, +.tex .hljs-command, +.tex .hljs-special, +.erlang_repl .hljs-function_or_atom, +.asciidoc .hljs-header, +.markdown .hljs-header, +.coffeescript .hljs-attribute { + color: #800; +} +.smartquote, +.hljs-comment, +.hljs-annotation, +.hljs-template_comment, +.diff .hljs-header, +.hljs-chunk, +.asciidoc .hljs-blockquote, +.markdown .hljs-blockquote { + color: #888; +} +.hljs-number, +.hljs-date, +.hljs-regexp, +.hljs-literal, +.hljs-hexcolor, +.smalltalk .hljs-symbol, +.smalltalk .hljs-char, +.go .hljs-constant, +.hljs-change, +.lasso .hljs-variable, +.makefile .hljs-variable, +.asciidoc .hljs-bullet, +.markdown .hljs-bullet, +.asciidoc .hljs-link_url, +.markdown .hljs-link_url { + color: #080; +} +.hljs-label, +.hljs-javadoc, +.ruby .hljs-string, +.hljs-decorator, +.hljs-filter .hljs-argument, +.hljs-localvars, +.hljs-array, +.hljs-attr_selector, +.hljs-important, +.hljs-pseudo, +.hljs-pi, +.haml .hljs-bullet, +.hljs-doctype, +.hljs-deletion, +.hljs-envvar, +.hljs-shebang, +.apache .hljs-sqbracket, +.nginx .hljs-built_in, +.tex .hljs-formula, +.erlang_repl .hljs-reserved, +.hljs-prompt, +.asciidoc .hljs-link_label, +.markdown .hljs-link_label, +.vhdl .hljs-attribute, +.clojure .hljs-attribute, +.asciidoc .hljs-attribute, +.lasso .hljs-attribute, +.coffeescript .hljs-property, +.hljs-phony { + color: #8888ff; +} +.hljs-keyword, +.hljs-id, +.hljs-title, +.hljs-built_in, +.hljs-aggregate, +.css .hljs-tag, +.hljs-javadoctag, +.hljs-phpdoc, +.hljs-yardoctag, +.smalltalk .hljs-class, +.hljs-winutils, +.bash .hljs-variable, +.apache .hljs-tag, +.go .hljs-typename, +.tex .hljs-command, +.asciidoc .hljs-strong, +.markdown .hljs-strong, +.hljs-request, +.hljs-status { + font-weight: bold; +} +.asciidoc .hljs-emphasis, +.markdown .hljs-emphasis { + font-style: italic; +} +.nginx .hljs-built_in { + font-weight: normal; +} +.coffeescript .javascript, +.javascript .xml, +.lasso .markup, +.tex .hljs-formula, +.xml .javascript, +.xml .vbscript, +.xml .css, +.xml .hljs-cdata { + opacity: 0.5; +} /*** Main Styles ***/ body { margin: 0; @@ -41,13 +526,38 @@ h1 a:hover { #search-form { float: right; } +#search-form input, +#search-form button { + margin: 0; + vertical-align: middle; +} +#search-form input { + width: 200px; + height: 30px; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0 5px; + font-size: 16px; + border: 1px solid #444; + border-right: 0; +} +#search-form input:focus { + outline: none; +} +#search-form button { + height: 30px; + width: 30px; + margin: 0; + border: 0; +} /*** Package Entries ***/ .entry { - background: #EEE; + background: #F3F3F3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; - padding: 12px 15px; + padding: 12px 15px 15px; } .entry h3 { font-size: 24px; @@ -60,13 +570,22 @@ h1 a:hover { .entry .author { font-size: 16px; float: right; - color: #555; + color: #666; } .entry p { margin: 0; } +.entry .readme { + font-size: 14px; + margin-top: 10px; + background: #FFF; + padding: 10px 12px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} /*** Search Results ***/ .state-search #all-packages { display: none; } -/*# sourceMappingURL=data:application/json,%7B%22version%22%3A3%2C%22sources%22%3A%5B%22lib%2FGUI%2Fcss%2Fmain.less%22%2C%22node_modules%2Fhelpers.less%2Fhelpers.less%22%5D%2C%22names%22%3A%5B%5D%2C%22mappings%22%3A%22QACQ%3B%3BAAGR%3BEACC%2CSAAA%3BEACA%2CaAAa%2CiBAAiB%2C8CAA9B%3B%3BAAGD%3BEACC%2CkBAAA%3B%3BAADD%2CEAGC%3BAAHD%2CEAGI%2CEAAC%3BEACH%2CYAAA%3BEACA%2CqBAAA%3B%3BAALF%2CEAQC%2CEAAC%3BEACA%2C0BAAA%3B%3BAAIF%3BEACC%2CkBAAA%3B%3BAAGD%3BEACC%2CcAAA%3BEACA%2CgBAAA%3BEACA%2CaAAA%3B%3B%3BAAID%3BEACC%2CmBAAA%3BEACA%2CkBAAA%3BEACA%2CqBAAA%3BECnBG%2C0BAAA%3BEACA%2CuBAAA%3BEACA%2CkBAAA%3BEDmBH%2CgBAAA%3BEACA%2CWAAA%3B%3BAAND%2CMAQC%3BEACC%2CwCAAA%3B%3B%3BAAKF%3BEACC%2CYAAA%3B%3B%3BAAID%3BEACC%2CgBAAA%3BECpCG%2C0BAAA%3BEACA%2CuBAAA%3BEACA%2CkBAAA%3BEDoCH%2CkBAAA%3B%3BAAHD%2CMAKC%3BEACC%2CeAAA%3BEACA%2CgBAAA%3B%3BAAPF%2CMAUC%3BEACC%2CeAAA%3BEACA%2CWAAA%3B%3BAAZF%2CMAeC%3BEACC%2CeAAA%3BEACA%2CYAAA%3BEACA%2CWAAA%3B%3BAAlBF%2CMAqBC%3BEACC%2CSAAA%3B%3B%3BAAKF%2CaAAc%3BEACb%2CaAAA%22%7D */ \ No newline at end of file +/*# sourceMappingURL=data:application/json,%7B%22version%22%3A3%2C%22sources%22%3A%5B%22lib%2FGUI%2Fcss%2Fmarkdown.less%22%2C%22lib%2FGUI%2Fcss%2Fhighlight.js.less%22%2C%22lib%2FGUI%2Fcss%2Fmain.less%22%2C%22node_modules%2Fhelpers.less%2Fhelpers.less%22%5D%2C%22names%22%3A%5B%5D%2C%22mappings%22%3A%22%3BAAEA%2COACE%3BEACE%2CcAAA%3B%3BAAFJ%2COAGE%2CEAAC%3BEACC%2CcAAA%3B%3BAAJJ%2COAKE%2CEAAC%3BEACC%2CcAAA%3BEACA%2CkBAAA%3BEACA%2CkBAAA%3BEACA%2CeAAA%3BEACA%2CkBAAA%3BEACA%2CMAAA%3BEACA%2COAAA%3BEACA%2CSAAA%3B%3BAAbJ%2COAeE%3BAAfF%2COAeM%3BAAfN%2COAeU%3BAAfV%2COAec%3BAAfd%2COAekB%3BAAflB%2COAesB%3BEAClB%2CmBAAA%3BEACA%2CUAAA%3BEACA%2CiBAAA%3BEACA%2CmCAAA%3BEACA%2CYAAA%3BEACA%2CkBAAA%3B%3BAArBJ%2COAuBE%2CGAAE%2CMAAO%2CEAAC%3BAAvBZ%2COAuBqB%2CGAAE%2CMAAO%2CEAAC%3BAAvB%2FB%2COAuBwC%2CGAAE%2CMAAO%2CEAAC%3BAAvBlD%2COAuB2D%2CGAAE%2CMAAO%2CEAAC%3BAAvBrE%2COAuB8E%2CGAAE%2CMAAO%2CEAAC%3BAAvBxF%2COAuBiG%2CGAAE%2CMAAO%2CEAAC%3BEACvG%2CgBAAgB%2CiEAAhB%3BEACA%2CqBAAA%3B%3BAAzBJ%2COA2BE%2CGAAG%3BAA3BL%2COA2BS%2CGAAG%3BEACR%2CkBAAA%3B%3BAA5BJ%2COA8BE%2CGAAG%3BAA9BL%2COA8BS%2CGAAG%3BEACR%2CkBAAA%3B%3BAA%2FBJ%2COAiCE%2CGAAG%3BAAjCL%2COAiCS%2CGAAG%3BEACR%2CkBAAA%3B%3BAAlCJ%2COAoCE%2CGAAG%3BAApCL%2COAoCS%2CGAAG%3BEACR%2CkBAAA%3B%3BAArCJ%2COAuCE%2CGAAG%3BAAvCL%2COAuCS%2CGAAG%3BEACR%2CkBAAA%3B%3BAAxCJ%2COA0CE%2CGAAG%3BAA1CL%2COA0CS%2CGAAG%3BEACR%2CkBAAA%3B%3BAA3CJ%2COA6CE%3BEACE%2CeAAA%3BEACA%2CYAAA%3B%3BAA%2FCJ%2COAiDE%3BEACE%2CeAAA%3BEACA%2CgCAAA%3BEACA%2CYAAA%3B%3BAApDJ%2COAsDE%3BEACE%2CeAAA%3B%3BAAvDJ%2COAyDE%3BEACE%2CeAAA%3B%3BAA1DJ%2COA4DE%3BEACE%2CeAAA%3B%3BAA7DJ%2COA%2BDE%3BEACE%2CcAAA%3BEACA%2CeAAA%3B%3BAAjEJ%2COAmEE%3BAAnEF%2COAmEK%3BAAnEL%2COAmEiB%3BAAnEjB%2COAmEqB%3BAAnErB%2COAmEyB%3BAAnEzB%2COAmE6B%3BAAnE7B%2COAmEiC%3BAAnEjC%2COAmEwC%3BEACpC%2CcAAA%3B%3BAApEJ%2COAsEE%3BEACE%2C4BAA4B%2C0DAA5B%3BEACA%2CcAAA%3BEACA%2CcAAA%3BEACA%2CWAAA%3BEACA%2CUAAA%3B%3BAA3EJ%2COA6EE%2CKAAK%2CKAAI%3BEACP%2CaAAA%3BEACA%2CcAAA%3B%3BAA%2FEJ%2COAgFE%2CKAAK%2CKAAI%3BEACP%2CaAAA%3BEACA%2CcAAA%3B%3BAAlFJ%2COAmFI%2CKAAK%2CKAAI%2CYAAa%3BEACpB%2CaAAA%3BEACA%2CcAAA%3B%3BAArFN%2COAsFE%2CKAAK%2CKAAI%3BAAtFX%2COAsFyB%2CKAAK%2CKAAI%3BAAtFlC%2COAsFgD%2CKAAK%2CKAAI%3BAAtFzD%2COAsFuE%2CKAAK%2CKAAI%3BEAC5E%2CaAAA%3BEACA%2CcAAA%3B%3BAAxFJ%2COA0FE%2CEAAC%2CYAAa%3BAA1FhB%2COA0FoB%2CEAAC%2CYAAa%3BAA1FlC%2COA0FsC%2CEAAC%2CYAAa%3BAA1FpD%2COA0FwD%2CEAAC%2CYAAa%3BAA1FtE%2COA0F0E%2CEAAC%2CYAAa%3BAA1FxF%2COA0F4F%2CEAAC%2CYAAa%3BEACtG%2CaAAA%3BEACA%2CcAAA%3B%3BAA5FJ%2COA8FE%2CGAAG%3BAA9FL%2COA8FQ%2CGAAG%3BAA9FX%2COA8Fc%2CGAAG%3BAA9FjB%2COA8FoB%2CGAAG%3BAA9FvB%2COA8F0B%2CGAAG%3BAA9F7B%2COA8FgC%2CGAAG%3BEAC%2FB%2CaAAA%3B%3BAA%2FFJ%2COAiGE%2CGAAG%2CEAAC%3BEACF%2CqBAAA%3B%3BAAlGJ%2COAoGE%3BAApGF%2COAoGM%3BEACF%2CkBAAA%3B%3BAArGJ%2COAuGE%2CGAAG%3BAAvGL%2COAuGmB%2CGAAG%3BEAClB%2CaAAA%3B%3BAAxGJ%2COA0GE%2CGAAG%3BAA1GL%2COA0GkB%2CGAAG%3BEACjB%2CgBAAA%3B%3BAA3GJ%2COA6GE%3BEACE%2CUAAA%3B%3BAA9GJ%2COA%2BGI%2CGAAG%3BEACD%2CeAAA%3BEACA%2CiBAAA%3BEACA%2CkBAAA%3BEACA%2CUAAA%3BEACA%2CkBAAA%3B%3BAApHN%2COAqHM%2CGAAG%2CGAAE%3BEACH%2CUAAA%3B%3BAAtHR%2COAuHM%2CGAAG%2CGAAG%3BEACJ%2CaAAA%3B%3BAAxHR%2COAyHM%2CGAAG%2CGAAG%3BEACJ%2CgBAAA%3B%3BAA1HR%2COA2HI%2CGAAG%3BEACD%2CgBAAA%3BEACA%2CeAAA%3B%3BAA7HN%2COA8HM%2CGAAG%2CGAAG%3BEACJ%2CaAAA%3B%3BAA%2FHR%2COAgIM%2CGAAG%2CGAAG%3BEACJ%2CgBAAA%3B%3BAAjIR%2COAmIE%3BEACE%2C8BAAA%3BEACA%2CeAAA%3BEACA%2CcAAA%3B%3BAAtIJ%2COAuII%2CWAAW%3BEACT%2CaAAA%3B%3BAAxIN%2COAyII%2CWAAW%3BEACT%2CgBAAA%3B%3BAA1IN%2COA4IE%3BEACE%2CUAAA%3B%3BAA7IJ%2COA8II%2CMAAM%3BEACJ%2C6BAAA%3BEACA%2CuBAAA%3BEACA%2CSAAA%3BEACA%2CUAAA%3B%3BAAlJN%2COAmJM%2CMAAM%2CGAAE%2CUAAU%3BEAChB%2CyBAAA%3B%3BAApJR%2COAqJM%2CMAAM%2CGAAG%3BEACP%2CiBAAA%3BEACA%2CyBAAA%3BEACA%2CgBAAA%3BEACA%2CSAAA%3BEACA%2CiBAAA%3B%3BAA1JR%2COA2JM%2CMAAM%2CGAAG%3BEACP%2CyBAAA%3BEACA%2CgBAAA%3BEACA%2CSAAA%3BEACA%2CiBAAA%3B%3BAA%2FJR%2COAgKM%2CMAAM%2CGAAG%2CGAAG%3BAAhKlB%2COAgKgC%2CMAAM%2CGAAG%2CGAAG%3BEACpC%2CaAAA%3B%3BAAjKR%2COAkKM%2CMAAM%2CGAAG%2CGAAG%3BAAlKlB%2COAkK%2BB%2CMAAM%2CGAAG%2CGAAG%3BEACnC%2CgBAAA%3B%3BAAnKR%2COAqKE%3BEACE%2CeAAA%3B%3BAAtKJ%2COAwKE%2CKAAI%3BEACF%2CcAAA%3BEACA%2CgBAAA%3B%3BAA1KJ%2COA2KI%2CKAAI%2CMAAO%3BEACT%2CyBAAA%3BEACA%2CcAAA%3BEACA%2CWAAA%3BEACA%2CgBAAA%3BEACA%2CgBAAA%3BEACA%2CYAAA%3BEACA%2CWAAA%3B%3BAAlLN%2COAmLI%2CKAAI%2CMAAO%2CKAAK%3BEACd%2CcAAA%3BEACA%2CWAAA%3B%3BAArLN%2COAsLI%2CKAAI%2CMAAO%2CKAAK%3BEACd%2CWAAA%3BEACA%2CcAAA%3BEACA%2CcAAA%3BEACA%2CgBAAA%3B%3BAA1LN%2COA2LE%2CKAAI%3BEACF%2CcAAA%3BEACA%2CgBAAA%3BEACA%2CWAAA%3B%3BAA9LJ%2COA%2BLI%2CKAAI%2CaAAc%3BEAChB%2CcAAA%3BEACA%2CgBAAA%3BEACA%2CmBAAA%3BEACA%2CkBAAA%3B%3BAAnMN%2COAoMI%2CKAAI%2CaAAc%2CKAAK%3BEACrB%2CcAAA%3BEACA%2CkBAAA%3B%3BAAtMN%2COAuME%2CKAAI%3BEACF%2CcAAA%3BEACA%2CgBAAA%3BEACA%2CWAAA%3B%3BAA1MJ%2COA2MI%2CKAAI%2CYAAa%3BEACf%2CcAAA%3BEACA%2CgBAAA%3BEACA%2CgBAAA%3BEACA%2CiBAAA%3B%3BAA%2FMN%2COAgNI%2CKAAI%2CYAAa%2CKAAK%3BEACpB%2CSAAA%3BEACA%2CiBAAA%3B%3BAAlNN%2COAmNE%2CKAAI%3BEACF%2CcAAA%3BEACA%2CkBAAA%3BEACA%2CgBAAA%3BEACA%2CWAAA%3B%3BAAvNJ%2COAwNI%2CKAAI%2CWAAY%3BEACd%2CgBAAA%3B%3BAAzNN%2COA0NE%2CKAAI%3BEACF%2CcAAA%3BEACA%2CiBAAA%3BEACA%2CgBAAA%3BEACA%2CYAAA%3B%3BAA9NJ%2COA%2BNI%2CKAAI%2CYAAa%3BEACf%2CcAAA%3BEACA%2CgBAAA%3BEACA%2CmBAAA%3BEACA%2CiBAAA%3B%3BAAnON%2COAqOE%3BAArOF%2COAqOQ%3BEACJ%2CaAAA%3BEACA%2CcAAA%3BEACA%2CmBAAA%3BEACA%2CyBAAA%3BEACA%2CyBAAA%3BEACA%2CkBAAA%3B%3BAA3OJ%2COA6OE%2CIAAI%3BEACF%2CSAAA%3BEACA%2CUAAA%3BEACA%2CgBAAA%3BEACA%2CYAAA%3BEACA%2CuBAAA%3B%3BAAlPJ%2COAoPE%2CWAAW%3BEACT%2CyBAAA%3BEACA%2CyBAAA%3BEACA%2CeAAA%3BEACA%2CiBAAA%3BEACA%2CcAAA%3BEACA%2CiBAAA%3BEACA%2CkBAAA%3B%3BAA3PJ%2COA6PE%3BEACE%2CyBAAA%3BEACA%2CyBAAA%3BEACA%2CeAAA%3BEACA%2CiBAAA%3BEACA%2CcAAA%3BEACA%2CiBAAA%3BEACA%2CkBAAA%3B%3BAApQJ%2COAqQI%2CIAAI%3BAArQR%2COAqQc%2CIAAI%3BEACZ%2C6BAAA%3BEACA%2CYAAA%3B%3B%3B%3B%3B%3B%3BACnQN%3BEACE%2CcAAA%3BEAAgB%2CcAAA%3BEAChB%2CmBAAA%3B%3BAAGF%3BAACA%3BAACA%2CSAAU%3BAACV%2CKAAM%3BAACN%2CQAAS%3BAACT%2CMAAO%3BEACL%2CYAAA%3B%3BAAGF%3BAACA%3BAACA%3BAACA%3BAACA%2CSAAU%3BAACV%2CWAAY%3BAACZ%2CWAAY%2CYAAY%3BAACxB%3BAACA%3BAACA%2CKAAM%3BAACN%2CKAAM%3BAACN%2CKAAM%2CaAAa%3BAACnB%3BAACA%3BAACA%2COAAQ%3BAACR%2CUAAW%3BAACX%3BAACA%3BAACA%3BAACA%2CKAAM%3BAACN%2COAAQ%3BAACR%2COAAQ%3BAACR%2CIAAK%3BAACL%2CIAAK%3BAACL%2CYAAa%3BAACb%2CSAAU%3BAACV%2CSAAU%3BAACV%2CaAAc%3BEACZ%2CWAAA%3B%3BAAGF%3BAACA%3BAACA%3BAACA%3BAACA%2CKAAM%3BAACN%3BAACA%2CSAAU%3BAACV%2CSAAU%3BEACR%2CWAAA%3B%3BAAGF%3BAACA%3BAACA%3BAACA%3BAACA%3BAACA%2CUAAW%3BAACX%2CUAAW%3BAACX%2CGAAI%3BAACJ%3BAACA%2CMAAO%3BAACP%2CSAAU%3BAACV%2CSAAU%3BAACV%2CSAAU%3BAACV%2CSAAU%3BAACV%2CSAAU%3BEACR%2CWAAA%3B%3BAAGF%3BAACA%3BAACA%2CKAAM%3BAACN%3BAACA%2CYAAa%3BAACb%3BAACA%3BAACA%3BAACA%3BAACA%3BAACA%3BAACA%2CKAAM%3BAACN%3BAACA%3BAACA%3BAACA%3BAACA%2COAAQ%3BAACR%2CMAAO%3BAACP%2CIAAK%3BAACL%2CYAAa%3BAACb%3BAACA%2CSAAU%3BAACV%2CSAAU%3BAACV%2CKAAM%3BAACN%2CQAAS%3BAACT%2CSAAU%3BAACV%2CMAAO%3BAACP%2CaAAc%3BAACd%3BEACE%2CcAAA%3B%3BAAGF%3BAACA%3BAACA%3BAACA%3BAACA%3BAACA%2CIAAK%3BAACL%3BAACA%3BAACA%3BAACA%2CUAAW%3BAACX%3BAACA%2CKAAM%3BAACN%2COAAQ%3BAACR%2CGAAI%3BAACJ%2CIAAK%3BAACL%2CSAAU%3BAACV%2CSAAU%3BAACV%3BAACA%3BEACE%2CiBAAA%3B%3BAAGF%2CSAAU%3BAACV%2CSAAU%3BEACR%2CkBAAA%3B%3BAAGF%2CMAAO%3BEACL%2CmBAAA%3B%3BAAGF%2CaAAc%3BAACd%2CWAAY%3BAACZ%2CMAAO%3BAACP%2CIAAK%3BAACL%2CIAAK%3BAACL%2CIAAK%3BAACL%2CIAAK%3BAACL%2CIAAK%3BEACH%2CYAAA%3B%3B%3BAClJF%3BEACC%2CSAAA%3BEACA%2CaAAa%2CiBAAiB%2C8CAA9B%3B%3BAAGD%3BEACC%2CkBAAA%3B%3BAADD%2CEAGC%3BAAHD%2CEAGI%2CEAAC%3BEACH%2CYAAA%3BEACA%2CqBAAA%3B%3BAALF%2CEAQC%2CEAAC%3BEACA%2C0BAAA%3B%3BAAIF%3BEACC%2CkBAAA%3B%3BAAGD%3BEACC%2CcAAA%3BEACA%2CgBAAA%3BEACA%2CaAAA%3B%3B%3BAAID%3BEACC%2CmBAAA%3BEACA%2CkBAAA%3BEACA%2CqBAAA%3BECpBG%2C0BAAA%3BEACA%2CuBAAA%3BEACA%2CkBAAA%3BEDoBH%2CgBAAA%3BEACA%2CWAAA%3B%3BAAND%2CMAQC%3BEACC%2CwCAAA%3B%3B%3BAAKF%3BEACC%2CYAAA%3B%3BAADD%2CYAKC%3BAALD%2CYAKQ%3BEACN%2CSAAA%3BEACA%2CsBAAA%3B%3BAAPF%2CYAUC%3BEACC%2CYAAA%3BEACA%2CYAAA%3BECCE%2C2BAAA%3BEACA%2C8BAAA%3BEACA%2CsBAAA%3BEDDF%2CcAAA%3BEACA%2CeAAA%3BEACA%2CsBAAA%3BEACA%2CeAAA%3B%3BAAEA%2CYATD%2CMASE%3BEACA%2CaAAA%3B%3BAApBH%2CYAwBC%3BEACC%2CYAAA%3BEACA%2CWAAA%3BEACA%2CSAAA%3BEACA%2CSAAA%3B%3B%3BAAKF%3BEACC%2CmBAAA%3BECjEG%2C0BAAA%3BEACA%2CuBAAA%3BEACA%2CkBAAA%3BEDiEH%2CuBAAA%3B%3BAAHD%2CMAKC%3BEACC%2CeAAA%3BEACA%2CgBAAA%3B%3BAAPF%2CMAUC%3BEACC%2CeAAA%3BEACA%2CWAAA%3B%3BAAZF%2CMAeC%3BEACC%2CeAAA%3BEACA%2CYAAA%3BEACA%2CWAAA%3B%3BAAlBF%2CMAqBC%3BEACC%2CSAAA%3B%3BAAtBF%2CMAyBC%3BEACC%2CeAAA%3BEACA%2CgBAAA%3BEACA%2CgBAAA%3BEACA%2CkBAAA%3BEC7FE%2C0BAAA%3BEACA%2CuBAAA%3BEACA%2CkBAAA%3B%3B%3BADiGJ%2CaAAc%3BEACb%2CaAAA%22%7D */ \ No newline at end of file diff --git a/lib/static/main.js b/lib/static/main.js index 9e4f8d1a2..59ce38033 100644 --- a/lib/static/main.js +++ b/lib/static/main.js @@ -5,17 +5,25 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; var buffer = "", stack1, helper, functionType="function", escapeExpression=this.escapeExpression; - buffer += "
\n

"; + buffer += "
v"; + + "' data-version='"; if (helper = helpers.version) { stack1 = helper.call(depth0, {hash:{},data:data}); } else { helper = (depth0 && depth0.version); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; } buffer += escapeExpression(stack1) - + "
By: " + + "'>\n

\n "; + if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); } + else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; } + buffer += escapeExpression(stack1) + + "\n v"; + if (helper = helpers.version) { stack1 = helper.call(depth0, {hash:{},data:data}); } + else { helper = (depth0 && depth0.version); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; } + buffer += escapeExpression(stack1) + + "\n
By: " + escapeExpression(((stack1 = ((stack1 = (depth0 && depth0._npmUser)),stack1 == null || stack1 === false ? stack1 : stack1.name)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1)) - + "

\n

"; + + "

\n

\n

"; if (helper = helpers.description) { stack1 = helper.call(depth0, {hash:{},data:data}); } else { helper = (depth0 && depth0.description); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; } buffer += escapeExpression(stack1) @@ -23,8 +31,36 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; return buffer; }); },{"handlebars/runtime":11}],2:[function(require,module,exports){ +var $ = require('unopinionate').selector, + onClick = require('onclick'); -},{}],3:[function(require,module,exports){ +$(function() { + onClick('.entry .name', function() { + var $this = $(this), + $entry = $this.closest('.entry'); + + if($entry.hasClass('open')) { + $entry + .removeClass('open') + .find('.readme').remove(); + } + else { + $entry.addClass('open'); + + $.ajax({ + url: '/-/readme/'+$entry.attr('data-name')+'/'+$entry.attr('data-version'), + dataType: 'text', + success: function(html) { + console.log(html); + $("

") + .html(html) + .appendTo($entry); + } + }); + } + }); +}); +},{"onclick":12,"unopinionate":13}],3:[function(require,module,exports){ require('./search'); require('./entry'); @@ -79,7 +115,7 @@ $(function() { }); }); -},{"../entry.handlebars":1,"unopinionate":12}],5:[function(require,module,exports){ +},{"../entry.handlebars":1,"unopinionate":13}],5:[function(require,module,exports){ "use strict"; /*globals Handlebars: true */ var base = require("./handlebars/base"); @@ -555,6 +591,171 @@ exports.isEmpty = isEmpty; module.exports = require('./dist/cjs/handlebars.runtime'); },{"./dist/cjs/handlebars.runtime":5}],12:[function(require,module,exports){ +var $ = require('unopinionate').selector; + +var $document = $(document), + bindings = {}; + +var click = function(events) { + click.bind.apply(click, arguments); + return click; +}; + +/*** Configuration Options ***/ +click.distanceLimit = 10; +click.timeLimit = 140; + +/*** Useful Properties ***/ +click.isTouch = ('ontouchstart' in window) || + window.DocumentTouch && + document instanceof DocumentTouch; + +/*** Cached Functions ***/ +var onTouchstart = function(e) { + e.stopPropagation(); //Prevents multiple click events from happening + + click._doAnywheres(e); + + var $this = $(this), + startTime = new Date().getTime(), + startPos = click._getPos(e); + + $this.one('touchend', function(e) { + e.preventDefault(); //Prevents click event from firing + + var time = new Date().getTime() - startTime, + endPos = click._getPos(e), + distance = Math.sqrt( + Math.pow(endPos.x - startPos.x, 2) + + Math.pow(endPos.y - startPos.y, 2) + ); + + if(time < click.timeLimit && distance < click.distanceLimit) { + //Find the correct callback + $.each(bindings, function(selector, callback) { + if($this.is(selector)) { + callback.apply(e.target, [e]); + return false; + } + }); + } + }); +}; + +/*** API ***/ +click.bind = function(events) { + + //Argument Surgery + if(!$.isPlainObject(events)) { + newEvents = {}; + newEvents[arguments[0]] = arguments[1]; + events = newEvents; + } + + $.each(events, function(selector, callback) { + + /*** Register Binding ***/ + if(typeof bindings[selector] != 'undefined') { + click.unbind(selector); //Ensure no duplicates + } + + bindings[selector] = callback; + + /*** Touch Support ***/ + if(click.isTouch) { + $document.delegate(selector, 'touchstart', onTouchstart); + } + + /*** Mouse Support ***/ + $document.delegate(selector, 'click', function(e) { + e.stopPropagation(); //Prevents multiple click events from happening + //click._doAnywheres(e); //Do anywheres first to be consistent with touch order + callback.apply(this, [e]); + }); + }); + + return this; +}; + +click.unbind = function(selector) { + $document + .undelegate(selector, 'touchstart') + .undelegate(selector, 'click'); + + delete bindings[selector]; + + return this; +}; + +click.unbindAll = function() { + $.each(bindings, function(selector, callback) { + $document + .undelegate(selector, 'touchstart') + .undelegate(selector, 'click'); + }); + + bindings = {}; + + return this; +}; + +click.trigger = function(selector, e) { + e = e || $.Event('click'); + + if(typeof bindings[selector] != 'undefined') { + bindings[selector](e); + } + else { + console.error("No click events bound for selector '"+selector+"'."); + } + + return this; +}; + +click.anywhere = function(callback) { + click._anywheres.push(callback); + return this; +}; + +/*** Internal (but useful) Methods ***/ +click._getPos = function(e) { + e = e.originalEvent; + + if(e.pageX || e.pageY) { + return { + x: e.pageX, + y: e.pageY + }; + } + else if(e.changedTouches) { + return { + x: e.changedTouches[0].clientX, + y: e.changedTouches[0].clientY + }; + } + else { + return { + x: e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft, + y: e.clientY + document.body.scrollTop + document.documentElement.scrollTop + }; + } +}; + +click._anywheres = []; + +click._doAnywheres = function(e) { + var i = click._anywheres.length; + while(i--) { + click._anywheres[i](e); + } +}; + +$(document).bind('mousedown', click._doAnywheres); + +module.exports = click; + + +},{"unopinionate":13}],13:[function(require,module,exports){ (function (global){ (function(root) { var unopinionate = { diff --git a/package.json b/package.json index 6cab6def1..5ea1ba2c6 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "marked": "^0.3.2", "minimatch": ">= 0.2.14", "mkdirp": ">= 0.3.5", + "onclick": "^0.1.0", "request": ">= 2.31.0", "semver": ">= 2.2.1", "tar.gz": "^0.1.1",