jekyll-theme-chalk 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (405) hide show
  1. checksums.yaml +7 -0
  2. data/404.html +39 -0
  3. data/LICENSE +21 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +91 -0
  6. data/_assets/fonts/cormorant-garamond/Cormorant-Garamond-700.eot +0 -0
  7. data/_assets/fonts/cormorant-garamond/Cormorant-Garamond-700.ttf +0 -0
  8. data/_assets/fonts/cormorant-garamond/Cormorant-Garamond-700.woff +0 -0
  9. data/_assets/fonts/cormorant-garamond/Cormorant-Garamond-700.woff2 +0 -0
  10. data/_assets/fonts/ionicons/ionicons.eot +0 -0
  11. data/_assets/fonts/ionicons/ionicons.ttf +0 -0
  12. data/_assets/fonts/ionicons/ionicons.woff +0 -0
  13. data/_assets/fonts/lato/Lato-300.eot +0 -0
  14. data/_assets/fonts/lato/Lato-300.ttf +0 -0
  15. data/_assets/fonts/lato/Lato-300.woff +0 -0
  16. data/_assets/fonts/lato/Lato-300.woff2 +0 -0
  17. data/_assets/fonts/lato/Lato-700.eot +0 -0
  18. data/_assets/fonts/lato/Lato-700.ttf +0 -0
  19. data/_assets/fonts/lato/Lato-700.woff +0 -0
  20. data/_assets/fonts/lato/Lato-700.woff2 +0 -0
  21. data/_assets/fonts/lato/Lato-regular.eot +0 -0
  22. data/_assets/fonts/lato/Lato-regular.ttf +0 -0
  23. data/_assets/fonts/lato/Lato-regular.woff +0 -0
  24. data/_assets/fonts/lato/Lato-regular.woff2 +0 -0
  25. data/_assets/images/about.jpg +0 -0
  26. data/_assets/images/about@2x.jpg +0 -0
  27. data/_assets/images/apple-touch-icon.png +0 -0
  28. data/_assets/images/documentation/chalk-intro.png +0 -0
  29. data/_assets/images/documentation/chalk-intro@2x.png +0 -0
  30. data/_assets/images/documentation/enlarge.gif +0 -0
  31. data/_assets/images/documentation/enlarge@2x.gif +0 -0
  32. data/_assets/images/documentation/sample-image.jpg +0 -0
  33. data/_assets/images/documentation/sample-image@2x.jpg +0 -0
  34. data/_assets/images/og-image.jpg +0 -0
  35. data/_assets/javascripts/application.js +17 -0
  36. data/_assets/javascripts/scrollappear.js +25 -0
  37. data/_assets/javascripts/vendor.js +4 -0
  38. data/_assets/javascripts/webfonts.js +7 -0
  39. data/_assets/stylesheets/.csscomb.json +196 -0
  40. data/_assets/stylesheets/.scss-lint.yml +33 -0
  41. data/_assets/stylesheets/_base.scss +151 -0
  42. data/_assets/stylesheets/_mixins.scss +28 -0
  43. data/_assets/stylesheets/_variables.scss +47 -0
  44. data/_assets/stylesheets/dark.scss +71 -0
  45. data/_assets/stylesheets/fonts.scss +63 -0
  46. data/_assets/stylesheets/layouts/_footer.scss +17 -0
  47. data/_assets/stylesheets/layouts/_grid.scss +102 -0
  48. data/_assets/stylesheets/light.scss +71 -0
  49. data/_assets/stylesheets/modules/_about.scss +10 -0
  50. data/_assets/stylesheets/modules/_articles.scss +213 -0
  51. data/_assets/stylesheets/modules/_embed.scss +31 -0
  52. data/_assets/stylesheets/modules/_header.scss +57 -0
  53. data/_assets/stylesheets/modules/_highlights-dark.scss +415 -0
  54. data/_assets/stylesheets/modules/_highlights-light.scss +409 -0
  55. data/_assets/stylesheets/modules/_icons.scss +83 -0
  56. data/_assets/stylesheets/modules/_scrollappear.scss +14 -0
  57. data/_assets/stylesheets/notfound-dark.scss +91 -0
  58. data/_assets/stylesheets/notfound-light.scss +91 -0
  59. data/_assets/stylesheets/vendor/_normalize.scss +461 -0
  60. data/_assets/yarn/.yarn-integrity +22 -0
  61. data/_assets/yarn/fluidbox/.gitattributes +22 -0
  62. data/_assets/yarn/fluidbox/.npmignore +220 -0
  63. data/_assets/yarn/fluidbox/.travis.yml +6 -0
  64. data/_assets/yarn/fluidbox/Gruntfile.js +8 -0
  65. data/_assets/yarn/fluidbox/LICENSE.md +23 -0
  66. data/_assets/yarn/fluidbox/README.html +750 -0
  67. data/_assets/yarn/fluidbox/README.md +396 -0
  68. data/_assets/yarn/fluidbox/bower.json +35 -0
  69. data/_assets/yarn/fluidbox/demo/css/styles.min.css +2 -0
  70. data/_assets/yarn/fluidbox/demo/css/styles.min.css.map +1 -0
  71. data/_assets/yarn/fluidbox/demo/fonts/BLOKKRegular.eot +0 -0
  72. data/_assets/yarn/fluidbox/demo/fonts/BLOKKRegular.svg +233 -0
  73. data/_assets/yarn/fluidbox/demo/fonts/BLOKKRegular.ttf +0 -0
  74. data/_assets/yarn/fluidbox/demo/fonts/BLOKKRegular.woff +0 -0
  75. data/_assets/yarn/fluidbox/demo/fonts/fontello.eot +0 -0
  76. data/_assets/yarn/fluidbox/demo/fonts/fontello.svg +13 -0
  77. data/_assets/yarn/fluidbox/demo/fonts/fontello.ttf +0 -0
  78. data/_assets/yarn/fluidbox/demo/fonts/fontello.woff +0 -0
  79. data/_assets/yarn/fluidbox/demo/index.html +758 -0
  80. data/_assets/yarn/fluidbox/demo/src/css/styles.scss +1131 -0
  81. data/_assets/yarn/fluidbox/dist/css/fluidbox.min.css +2 -0
  82. data/_assets/yarn/fluidbox/dist/css/fluidbox.min.css.map +1 -0
  83. data/_assets/yarn/fluidbox/dist/js/jquery.fluidbox.min.js +1 -0
  84. data/_assets/yarn/fluidbox/grunt/aliases.yaml +20 -0
  85. data/_assets/yarn/fluidbox/grunt/clean.js +5 -0
  86. data/_assets/yarn/fluidbox/grunt/concurrent.js +33 -0
  87. data/_assets/yarn/fluidbox/grunt/jshint.js +10 -0
  88. data/_assets/yarn/fluidbox/grunt/postcss.js +47 -0
  89. data/_assets/yarn/fluidbox/grunt/sass.js +42 -0
  90. data/_assets/yarn/fluidbox/grunt/uglify.js +7 -0
  91. data/_assets/yarn/fluidbox/grunt/watch.js +28 -0
  92. data/_assets/yarn/fluidbox/index.html +8 -0
  93. data/_assets/yarn/fluidbox/license.txt +21 -0
  94. data/_assets/yarn/fluidbox/package.json +61 -0
  95. data/_assets/yarn/fluidbox/src/css/_fluidbox.scss +95 -0
  96. data/_assets/yarn/fluidbox/src/css/fluidbox.scss +2 -0
  97. data/_assets/yarn/fluidbox/src/js/jquery.fluidbox.js +722 -0
  98. data/_assets/yarn/jquery/AUTHORS.txt +301 -0
  99. data/_assets/yarn/jquery/LICENSE.txt +36 -0
  100. data/_assets/yarn/jquery/README.md +67 -0
  101. data/_assets/yarn/jquery/bower.json +14 -0
  102. data/_assets/yarn/jquery/dist/core.js +476 -0
  103. data/_assets/yarn/jquery/dist/jquery.js +10253 -0
  104. data/_assets/yarn/jquery/dist/jquery.min.js +4 -0
  105. data/_assets/yarn/jquery/dist/jquery.min.map +1 -0
  106. data/_assets/yarn/jquery/dist/jquery.slim.js +8160 -0
  107. data/_assets/yarn/jquery/dist/jquery.slim.min.js +4 -0
  108. data/_assets/yarn/jquery/dist/jquery.slim.min.map +1 -0
  109. data/_assets/yarn/jquery/external/sizzle/LICENSE.txt +36 -0
  110. data/_assets/yarn/jquery/external/sizzle/dist/sizzle.js +2272 -0
  111. data/_assets/yarn/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  112. data/_assets/yarn/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  113. data/_assets/yarn/jquery/package.json +97 -0
  114. data/_assets/yarn/jquery/src/.eslintrc.json +5 -0
  115. data/_assets/yarn/jquery/src/ajax.js +855 -0
  116. data/_assets/yarn/jquery/src/ajax/jsonp.js +102 -0
  117. data/_assets/yarn/jquery/src/ajax/load.js +76 -0
  118. data/_assets/yarn/jquery/src/ajax/parseXML.js +30 -0
  119. data/_assets/yarn/jquery/src/ajax/script.js +77 -0
  120. data/_assets/yarn/jquery/src/ajax/var/location.js +5 -0
  121. data/_assets/yarn/jquery/src/ajax/var/nonce.js +7 -0
  122. data/_assets/yarn/jquery/src/ajax/var/rquery.js +5 -0
  123. data/_assets/yarn/jquery/src/ajax/xhr.js +169 -0
  124. data/_assets/yarn/jquery/src/attributes.js +13 -0
  125. data/_assets/yarn/jquery/src/attributes/attr.js +141 -0
  126. data/_assets/yarn/jquery/src/attributes/classes.js +174 -0
  127. data/_assets/yarn/jquery/src/attributes/prop.js +143 -0
  128. data/_assets/yarn/jquery/src/attributes/support.js +33 -0
  129. data/_assets/yarn/jquery/src/attributes/val.js +190 -0
  130. data/_assets/yarn/jquery/src/callbacks.js +234 -0
  131. data/_assets/yarn/jquery/src/core.js +476 -0
  132. data/_assets/yarn/jquery/src/core/DOMEval.js +16 -0
  133. data/_assets/yarn/jquery/src/core/access.js +70 -0
  134. data/_assets/yarn/jquery/src/core/init.js +128 -0
  135. data/_assets/yarn/jquery/src/core/nodeName.js +13 -0
  136. data/_assets/yarn/jquery/src/core/parseHTML.js +65 -0
  137. data/_assets/yarn/jquery/src/core/ready-no-deferred.js +96 -0
  138. data/_assets/yarn/jquery/src/core/ready.js +86 -0
  139. data/_assets/yarn/jquery/src/core/readyException.js +13 -0
  140. data/_assets/yarn/jquery/src/core/stripAndCollapse.js +14 -0
  141. data/_assets/yarn/jquery/src/core/support.js +20 -0
  142. data/_assets/yarn/jquery/src/core/var/rsingleTag.js +6 -0
  143. data/_assets/yarn/jquery/src/css.js +438 -0
  144. data/_assets/yarn/jquery/src/css/addGetHookIf.js +26 -0
  145. data/_assets/yarn/jquery/src/css/adjustCSS.js +71 -0
  146. data/_assets/yarn/jquery/src/css/curCSS.js +65 -0
  147. data/_assets/yarn/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  148. data/_assets/yarn/jquery/src/css/showHide.js +105 -0
  149. data/_assets/yarn/jquery/src/css/support.js +89 -0
  150. data/_assets/yarn/jquery/src/css/var/cssExpand.js +5 -0
  151. data/_assets/yarn/jquery/src/css/var/getStyles.js +17 -0
  152. data/_assets/yarn/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  153. data/_assets/yarn/jquery/src/css/var/rmargin.js +5 -0
  154. data/_assets/yarn/jquery/src/css/var/rnumnonpx.js +7 -0
  155. data/_assets/yarn/jquery/src/css/var/swap.js +26 -0
  156. data/_assets/yarn/jquery/src/data.js +179 -0
  157. data/_assets/yarn/jquery/src/data/Data.js +161 -0
  158. data/_assets/yarn/jquery/src/data/var/acceptData.js +19 -0
  159. data/_assets/yarn/jquery/src/data/var/dataPriv.js +7 -0
  160. data/_assets/yarn/jquery/src/data/var/dataUser.js +7 -0
  161. data/_assets/yarn/jquery/src/deferred.js +391 -0
  162. data/_assets/yarn/jquery/src/deferred/exceptionHook.js +21 -0
  163. data/_assets/yarn/jquery/src/deprecated.js +40 -0
  164. data/_assets/yarn/jquery/src/dimensions.js +56 -0
  165. data/_assets/yarn/jquery/src/effects.js +699 -0
  166. data/_assets/yarn/jquery/src/effects/Tween.js +123 -0
  167. data/_assets/yarn/jquery/src/effects/animatedSelector.js +15 -0
  168. data/_assets/yarn/jquery/src/event.js +746 -0
  169. data/_assets/yarn/jquery/src/event/ajax.js +22 -0
  170. data/_assets/yarn/jquery/src/event/alias.js +29 -0
  171. data/_assets/yarn/jquery/src/event/focusin.js +55 -0
  172. data/_assets/yarn/jquery/src/event/support.js +11 -0
  173. data/_assets/yarn/jquery/src/event/trigger.js +185 -0
  174. data/_assets/yarn/jquery/src/exports/amd.js +26 -0
  175. data/_assets/yarn/jquery/src/exports/global.js +34 -0
  176. data/_assets/yarn/jquery/src/jquery.js +41 -0
  177. data/_assets/yarn/jquery/src/manipulation.js +488 -0
  178. data/_assets/yarn/jquery/src/manipulation/_evalUrl.js +23 -0
  179. data/_assets/yarn/jquery/src/manipulation/buildFragment.js +104 -0
  180. data/_assets/yarn/jquery/src/manipulation/getAll.js +32 -0
  181. data/_assets/yarn/jquery/src/manipulation/setGlobalEval.js +22 -0
  182. data/_assets/yarn/jquery/src/manipulation/support.js +35 -0
  183. data/_assets/yarn/jquery/src/manipulation/var/rcheckableType.js +5 -0
  184. data/_assets/yarn/jquery/src/manipulation/var/rscriptType.js +5 -0
  185. data/_assets/yarn/jquery/src/manipulation/var/rtagName.js +5 -0
  186. data/_assets/yarn/jquery/src/manipulation/wrapMap.js +29 -0
  187. data/_assets/yarn/jquery/src/offset.js +229 -0
  188. data/_assets/yarn/jquery/src/queue.js +145 -0
  189. data/_assets/yarn/jquery/src/queue/delay.js +24 -0
  190. data/_assets/yarn/jquery/src/selector-native.js +237 -0
  191. data/_assets/yarn/jquery/src/selector-sizzle.js +19 -0
  192. data/_assets/yarn/jquery/src/selector.js +3 -0
  193. data/_assets/yarn/jquery/src/serialize.js +130 -0
  194. data/_assets/yarn/jquery/src/traversing.js +191 -0
  195. data/_assets/yarn/jquery/src/traversing/findFilter.js +106 -0
  196. data/_assets/yarn/jquery/src/traversing/var/dir.js +22 -0
  197. data/_assets/yarn/jquery/src/traversing/var/rneedsContext.js +8 -0
  198. data/_assets/yarn/jquery/src/traversing/var/siblings.js +17 -0
  199. data/_assets/yarn/jquery/src/var/ObjectFunctionString.js +7 -0
  200. data/_assets/yarn/jquery/src/var/arr.js +5 -0
  201. data/_assets/yarn/jquery/src/var/class2type.js +6 -0
  202. data/_assets/yarn/jquery/src/var/concat.js +7 -0
  203. data/_assets/yarn/jquery/src/var/document.js +5 -0
  204. data/_assets/yarn/jquery/src/var/documentElement.js +7 -0
  205. data/_assets/yarn/jquery/src/var/fnToString.js +7 -0
  206. data/_assets/yarn/jquery/src/var/getProto.js +5 -0
  207. data/_assets/yarn/jquery/src/var/hasOwn.js +7 -0
  208. data/_assets/yarn/jquery/src/var/indexOf.js +7 -0
  209. data/_assets/yarn/jquery/src/var/pnum.js +5 -0
  210. data/_assets/yarn/jquery/src/var/push.js +7 -0
  211. data/_assets/yarn/jquery/src/var/rcssNum.js +9 -0
  212. data/_assets/yarn/jquery/src/var/rnothtmlwhite.js +8 -0
  213. data/_assets/yarn/jquery/src/var/slice.js +7 -0
  214. data/_assets/yarn/jquery/src/var/support.js +6 -0
  215. data/_assets/yarn/jquery/src/var/toString.js +7 -0
  216. data/_assets/yarn/jquery/src/wrap.js +77 -0
  217. data/_assets/yarn/retinajs/.babelrc +4 -0
  218. data/_assets/yarn/retinajs/.editorconfig +15 -0
  219. data/_assets/yarn/retinajs/.eslintignore +2 -0
  220. data/_assets/yarn/retinajs/.eslintrc +9 -0
  221. data/_assets/yarn/retinajs/.npmignore +7 -0
  222. data/_assets/yarn/retinajs/.travis.yml +20 -0
  223. data/_assets/yarn/retinajs/LICENSE +20 -0
  224. data/_assets/yarn/retinajs/README.md +267 -0
  225. data/_assets/yarn/retinajs/bower.json +25 -0
  226. data/_assets/yarn/retinajs/dist/_retina.sass +68 -0
  227. data/_assets/yarn/retinajs/dist/_retina.scss +102 -0
  228. data/_assets/yarn/retinajs/dist/retina.js +100 -0
  229. data/_assets/yarn/retinajs/dist/retina.js.map +1 -0
  230. data/_assets/yarn/retinajs/dist/retina.less +56 -0
  231. data/_assets/yarn/retinajs/dist/retina.min.js +2 -0
  232. data/_assets/yarn/retinajs/dist/retina.min.js.map +1 -0
  233. data/_assets/yarn/retinajs/dist/retina.styl +56 -0
  234. data/_assets/yarn/retinajs/es/_retina.sass +68 -0
  235. data/_assets/yarn/retinajs/es/_retina.scss +102 -0
  236. data/_assets/yarn/retinajs/es/retina.js +91 -0
  237. data/_assets/yarn/retinajs/es/retina.js.map +1 -0
  238. data/_assets/yarn/retinajs/es/retina.less +56 -0
  239. data/_assets/yarn/retinajs/es/retina.styl +56 -0
  240. data/_assets/yarn/retinajs/gulpfile.babel.js +154 -0
  241. data/_assets/yarn/retinajs/package.json +57 -0
  242. data/_assets/yarn/retinajs/src/_retina.sass +68 -0
  243. data/_assets/yarn/retinajs/src/_retina.scss +102 -0
  244. data/_assets/yarn/retinajs/src/retina.js +246 -0
  245. data/_assets/yarn/retinajs/src/retina.less +56 -0
  246. data/_assets/yarn/retinajs/src/retina.styl +56 -0
  247. data/_assets/yarn/retinajs/test/DOM.js +44 -0
  248. data/_assets/yarn/retinajs/test/fixtures/image.js +19 -0
  249. data/_assets/yarn/retinajs/test/fixtures/less_expected_output.css +18 -0
  250. data/_assets/yarn/retinajs/test/fixtures/scss_expected_output.css +13 -0
  251. data/_assets/yarn/retinajs/test/fixtures/test.less +10 -0
  252. data/_assets/yarn/retinajs/test/fixtures/test.scss +11 -0
  253. data/_assets/yarn/retinajs/test/fixtures/xml_http_request.js +24 -0
  254. data/_assets/yarn/retinajs/test/functional/public/google-logo.png +0 -0
  255. data/_assets/yarn/retinajs/test/functional/public/google-logo@2x.png +0 -0
  256. data/_assets/yarn/retinajs/test/functional/public/google-logo@3x.png +0 -0
  257. data/_assets/yarn/retinajs/test/functional/public/index.html +190 -0
  258. data/_assets/yarn/retinajs/test/functional/public/ipad.png +0 -0
  259. data/_assets/yarn/retinajs/test/functional/public/ipad@2x.png +0 -0
  260. data/_assets/yarn/retinajs/test/functional/public/ipad@3x.png +0 -0
  261. data/_assets/yarn/retinajs/test/functional/public/styles/_retina.sass +68 -0
  262. data/_assets/yarn/retinajs/test/functional/public/styles/_retina.scss +102 -0
  263. data/_assets/yarn/retinajs/test/functional/public/styles/less-base.less +13 -0
  264. data/_assets/yarn/retinajs/test/functional/public/styles/retina.less +56 -0
  265. data/_assets/yarn/retinajs/test/functional/public/styles/retina.less.css +73 -0
  266. data/_assets/yarn/retinajs/test/functional/public/styles/retina.sass.css +42 -0
  267. data/_assets/yarn/retinajs/test/functional/public/styles/retina.scss.css +96 -0
  268. data/_assets/yarn/retinajs/test/functional/public/styles/retina.styl +56 -0
  269. data/_assets/yarn/retinajs/test/functional/public/styles/retina.styl.css +61 -0
  270. data/_assets/yarn/retinajs/test/functional/public/styles/sass-base.sass +10 -0
  271. data/_assets/yarn/retinajs/test/functional/public/styles/scss-base.scss +13 -0
  272. data/_assets/yarn/retinajs/test/functional/public/styles/styl-base.styl +10 -0
  273. data/_assets/yarn/retinajs/test/mocha-runner.js +7 -0
  274. data/_assets/yarn/retinajs/test/retina.spec.js +14 -0
  275. data/_assets/yarn/scrollreveal/.gitattributes +10 -0
  276. data/_assets/yarn/scrollreveal/.github/CONTRIBUTING.md +9 -0
  277. data/_assets/yarn/scrollreveal/.github/ISSUE_TEMPLATE.md +11 -0
  278. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/base.css +213 -0
  279. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/index.html +158 -0
  280. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/index.html +93 -0
  281. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/package.json.html +143 -0
  282. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/constructor.js.html +311 -0
  283. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/defaults.js.html +158 -0
  284. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/functions/animate.js.html +395 -0
  285. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/functions/delegate.js.html +179 -0
  286. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/functions/index.html +145 -0
  287. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/functions/initialize.js.html +197 -0
  288. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/functions/rinse.js.html +311 -0
  289. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/functions/style.js.html +617 -0
  290. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/index.html +119 -0
  291. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/methods/clean.js.html +137 -0
  292. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/methods/destroy.js.html +182 -0
  293. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/methods/index.html +132 -0
  294. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/methods/reveal.js.html +524 -0
  295. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/methods/sync.js.html +125 -0
  296. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/noop.js.html +89 -0
  297. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/polyfills/index.html +93 -0
  298. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/polyfills/requestAnimationFrame.js.html +125 -0
  299. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/utils/browser.js.html +272 -0
  300. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/utils/core.js.html +434 -0
  301. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/utils/generic.js.html +218 -0
  302. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/utils/index.html +119 -0
  303. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/prettify.css +1 -0
  304. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/prettify.js +1 -0
  305. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/sort-arrow-sprite.png +0 -0
  306. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/sorter.js +158 -0
  307. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov.info +1016 -0
  308. data/_assets/yarn/scrollreveal/.ignore/coverage/server.coverage.js +11 -0
  309. data/_assets/yarn/scrollreveal/.ignore/sandbox/css/styles.css +32 -0
  310. data/_assets/yarn/scrollreveal/.ignore/sandbox/index.html +68 -0
  311. data/_assets/yarn/scrollreveal/.ignore/sandbox/js/scrollreveal.js +1271 -0
  312. data/_assets/yarn/scrollreveal/.ignore/sandbox/rollup.conf.sandbox.js +15 -0
  313. data/_assets/yarn/scrollreveal/.ignore/sandbox/server.sandbox.js +11 -0
  314. data/_assets/yarn/scrollreveal/.npmignore +8 -0
  315. data/_assets/yarn/scrollreveal/CHANGELOG.md +268 -0
  316. data/_assets/yarn/scrollreveal/LICENSE.md +12 -0
  317. data/_assets/yarn/scrollreveal/README.md +413 -0
  318. data/_assets/yarn/scrollreveal/bower.json +24 -0
  319. data/_assets/yarn/scrollreveal/dist/scrollreveal.js +860 -0
  320. data/_assets/yarn/scrollreveal/dist/scrollreveal.min.js +1 -0
  321. data/_assets/yarn/scrollreveal/gulpfile.js +33 -0
  322. data/_assets/yarn/scrollreveal/lib/gulp/gulp-clean.js +7 -0
  323. data/_assets/yarn/scrollreveal/lib/gulp/gulp-dev.js +6 -0
  324. data/_assets/yarn/scrollreveal/lib/gulp/gulp-dist-min.js +19 -0
  325. data/_assets/yarn/scrollreveal/lib/gulp/gulp-dist.js +6 -0
  326. data/_assets/yarn/scrollreveal/lib/gulp/gulp-server.js +9 -0
  327. data/_assets/yarn/scrollreveal/lib/gulp/gulp-validate-bower.js +13 -0
  328. data/_assets/yarn/scrollreveal/lib/gulp/gulp-watch.js +6 -0
  329. data/_assets/yarn/scrollreveal/src/scrollreveal.js +860 -0
  330. data/_assets/yarn/throttle-debounce-fn/.jscsrc +5 -0
  331. data/_assets/yarn/throttle-debounce-fn/.jshintrc +13 -0
  332. data/_assets/yarn/throttle-debounce-fn/.npmignore +1 -0
  333. data/_assets/yarn/throttle-debounce-fn/Gruntfile.js +76 -0
  334. data/_assets/yarn/throttle-debounce-fn/LICENSE.md +22 -0
  335. data/_assets/yarn/throttle-debounce-fn/README.md +55 -0
  336. data/_assets/yarn/throttle-debounce-fn/dist/throttle-debounce-fn.js +164 -0
  337. data/_assets/yarn/throttle-debounce-fn/dist/throttle-debounce-fn.min.js +10 -0
  338. data/_assets/yarn/throttle-debounce-fn/package.json +36 -0
  339. data/_assets/yarn/throttle-debounce-fn/src/throttle-debounce-fn.js +156 -0
  340. data/_assets/yarn/turbolinks/LICENSE +20 -0
  341. data/_assets/yarn/turbolinks/README.md +473 -0
  342. data/_assets/yarn/turbolinks/dist/turbolinks.js +6 -0
  343. data/_assets/yarn/turbolinks/src/turbolinks/BANNER.js.erb +4 -0
  344. data/_assets/yarn/turbolinks/src/turbolinks/VERSION +1 -0
  345. data/_assets/yarn/turbolinks/src/turbolinks/browser_adapter.coffee +61 -0
  346. data/_assets/yarn/turbolinks/src/turbolinks/compatibility.coffee +30 -0
  347. data/_assets/yarn/turbolinks/src/turbolinks/controller.coffee +239 -0
  348. data/_assets/yarn/turbolinks/src/turbolinks/error_renderer.coffee +21 -0
  349. data/_assets/yarn/turbolinks/src/turbolinks/head_details.coffee +51 -0
  350. data/_assets/yarn/turbolinks/src/turbolinks/helpers.coffee +57 -0
  351. data/_assets/yarn/turbolinks/src/turbolinks/history.coffee +48 -0
  352. data/_assets/yarn/turbolinks/src/turbolinks/http_request.coffee +88 -0
  353. data/_assets/yarn/turbolinks/src/turbolinks/index.coffee +18 -0
  354. data/_assets/yarn/turbolinks/src/turbolinks/location.coffee +70 -0
  355. data/_assets/yarn/turbolinks/src/turbolinks/progress_bar.coffee +83 -0
  356. data/_assets/yarn/turbolinks/src/turbolinks/renderer.coffee +27 -0
  357. data/_assets/yarn/turbolinks/src/turbolinks/scroll_manager.coffee +28 -0
  358. data/_assets/yarn/turbolinks/src/turbolinks/snapshot.coffee +47 -0
  359. data/_assets/yarn/turbolinks/src/turbolinks/snapshot_cache.coffee +43 -0
  360. data/_assets/yarn/turbolinks/src/turbolinks/snapshot_renderer.coffee +88 -0
  361. data/_assets/yarn/turbolinks/src/turbolinks/start.coffee +18 -0
  362. data/_assets/yarn/turbolinks/src/turbolinks/view.coffee +34 -0
  363. data/_assets/yarn/turbolinks/src/turbolinks/visit.coffee +162 -0
  364. data/_assets/yarn/webfontloader/CHANGELOG +419 -0
  365. data/_assets/yarn/webfontloader/LICENSE +176 -0
  366. data/_assets/yarn/webfontloader/README.md +394 -0
  367. data/_assets/yarn/webfontloader/package.json +37 -0
  368. data/_assets/yarn/webfontloader/src/closure.js +2 -0
  369. data/_assets/yarn/webfontloader/src/core/cssclassname.js +46 -0
  370. data/_assets/yarn/webfontloader/src/core/domhelper.js +405 -0
  371. data/_assets/yarn/webfontloader/src/core/eventdispatcher.js +195 -0
  372. data/_assets/yarn/webfontloader/src/core/font.js +140 -0
  373. data/_assets/yarn/webfontloader/src/core/fontmodule.js +16 -0
  374. data/_assets/yarn/webfontloader/src/core/fontmoduleloader.js +47 -0
  375. data/_assets/yarn/webfontloader/src/core/fontruler.js +60 -0
  376. data/_assets/yarn/webfontloader/src/core/fontwatcher.js +171 -0
  377. data/_assets/yarn/webfontloader/src/core/fontwatchrunner.js +249 -0
  378. data/_assets/yarn/webfontloader/src/core/initialize.js +97 -0
  379. data/_assets/yarn/webfontloader/src/core/nativefontwatchrunner.js +69 -0
  380. data/_assets/yarn/webfontloader/src/core/stylesheetwaiter.js +48 -0
  381. data/_assets/yarn/webfontloader/src/core/webfont.js +97 -0
  382. data/_assets/yarn/webfontloader/src/modules/custom.js +63 -0
  383. data/_assets/yarn/webfontloader/src/modules/fontdeck.js +66 -0
  384. data/_assets/yarn/webfontloader/src/modules/google/fontapiparser.js +181 -0
  385. data/_assets/yarn/webfontloader/src/modules/google/fontapiurlbuilder.js +77 -0
  386. data/_assets/yarn/webfontloader/src/modules/google/googlefontapi.js +54 -0
  387. data/_assets/yarn/webfontloader/src/modules/monotype.js +110 -0
  388. data/_assets/yarn/webfontloader/src/modules/typekit.js +73 -0
  389. data/_assets/yarn/webfontloader/webfontloader.js +17 -0
  390. data/_includes/footer.html +7 -0
  391. data/_includes/head.html +41 -0
  392. data/_includes/image.html +5 -0
  393. data/_includes/javascript.html +1 -0
  394. data/_includes/javascripts.html +19 -0
  395. data/_includes/navigation.html +75 -0
  396. data/_includes/stylesheet.html +1 -0
  397. data/_layouts/articles_by_tag.html +38 -0
  398. data/_layouts/default.html +16 -0
  399. data/_layouts/post.html +65 -0
  400. data/about.html +18 -0
  401. data/favicon.ico +0 -0
  402. data/feed.xml +20 -0
  403. data/index.html +49 -0
  404. data/robots.txt +5 -0
  405. metadata +596 -0
@@ -0,0 +1,9 @@
1
+ define( [
2
+ "../var/pnum"
3
+ ], function( pnum ) {
4
+
5
+ "use strict";
6
+
7
+ return new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
8
+
9
+ } );
@@ -0,0 +1,8 @@
1
+ define( function() {
2
+ "use strict";
3
+
4
+ // Only count HTML whitespace
5
+ // Other whitespace should count in values
6
+ // https://html.spec.whatwg.org/multipage/infrastructure.html#space-character
7
+ return ( /[^\x20\t\r\n\f]+/g );
8
+ } );
@@ -0,0 +1,7 @@
1
+ define( [
2
+ "./arr"
3
+ ], function( arr ) {
4
+ "use strict";
5
+
6
+ return arr.slice;
7
+ } );
@@ -0,0 +1,6 @@
1
+ define( function() {
2
+ "use strict";
3
+
4
+ // All support tests are defined in their respective modules.
5
+ return {};
6
+ } );
@@ -0,0 +1,7 @@
1
+ define( [
2
+ "./class2type"
3
+ ], function( class2type ) {
4
+ "use strict";
5
+
6
+ return class2type.toString;
7
+ } );
@@ -0,0 +1,77 @@
1
+ define( [
2
+ "./core",
3
+ "./core/init",
4
+ "./manipulation", // clone
5
+ "./traversing" // parent, contents
6
+ ], function( jQuery ) {
7
+
8
+ "use strict";
9
+
10
+ jQuery.fn.extend( {
11
+ wrapAll: function( html ) {
12
+ var wrap;
13
+
14
+ if ( this[ 0 ] ) {
15
+ if ( jQuery.isFunction( html ) ) {
16
+ html = html.call( this[ 0 ] );
17
+ }
18
+
19
+ // The elements to wrap the target around
20
+ wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
21
+
22
+ if ( this[ 0 ].parentNode ) {
23
+ wrap.insertBefore( this[ 0 ] );
24
+ }
25
+
26
+ wrap.map( function() {
27
+ var elem = this;
28
+
29
+ while ( elem.firstElementChild ) {
30
+ elem = elem.firstElementChild;
31
+ }
32
+
33
+ return elem;
34
+ } ).append( this );
35
+ }
36
+
37
+ return this;
38
+ },
39
+
40
+ wrapInner: function( html ) {
41
+ if ( jQuery.isFunction( html ) ) {
42
+ return this.each( function( i ) {
43
+ jQuery( this ).wrapInner( html.call( this, i ) );
44
+ } );
45
+ }
46
+
47
+ return this.each( function() {
48
+ var self = jQuery( this ),
49
+ contents = self.contents();
50
+
51
+ if ( contents.length ) {
52
+ contents.wrapAll( html );
53
+
54
+ } else {
55
+ self.append( html );
56
+ }
57
+ } );
58
+ },
59
+
60
+ wrap: function( html ) {
61
+ var isFunction = jQuery.isFunction( html );
62
+
63
+ return this.each( function( i ) {
64
+ jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );
65
+ } );
66
+ },
67
+
68
+ unwrap: function( selector ) {
69
+ this.parent( selector ).not( "body" ).each( function() {
70
+ jQuery( this ).replaceWith( this.childNodes );
71
+ } );
72
+ return this;
73
+ }
74
+ } );
75
+
76
+ return jQuery;
77
+ } );
@@ -0,0 +1,4 @@
1
+ {
2
+ "presets": ["es2015"],
3
+ "plugins": ["babel-plugin-transform-es2015-modules-umd"]
4
+ }
@@ -0,0 +1,15 @@
1
+ root = true
2
+
3
+ [*]
4
+ indent_style = space
5
+ indent_size = 2
6
+ end_of_line = lf
7
+ charset = utf-8
8
+ trim_trailing_whitespace = true
9
+ insert_final_newline = true
10
+
11
+ [*.{less,sass,scss,json}]
12
+ indent_size = 2
13
+
14
+ [*.md]
15
+ trim_trailing_whitespace = false
@@ -0,0 +1,2 @@
1
+ test/*
2
+ dist/*
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": ["axial"],
3
+ "rules": {
4
+ "no-var": 0,
5
+ "prefer-arrow-callback": 0,
6
+ "prefer-template": 0,
7
+ "vars-on-top": 0
8
+ }
9
+ }
@@ -0,0 +1,7 @@
1
+ build
2
+ pkg
3
+ tmp
4
+ .DS_Store
5
+ test/functional/retina.*
6
+ test/functional/public/retina.*
7
+ node_modules
@@ -0,0 +1,20 @@
1
+ language: node_js
2
+ node_js:
3
+ - "6.2.0"
4
+ env:
5
+ - CXX=g++-4.8
6
+
7
+ addons:
8
+ apt:
9
+ sources:
10
+ - ubuntu-toolchain-r-test
11
+ packages:
12
+ - g++-4.8
13
+
14
+ cache:
15
+ directories:
16
+ - node_modules
17
+
18
+ notifications:
19
+ recipients:
20
+ - developer@axial.agency
@@ -0,0 +1,20 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2013-2017 Steven Truesdell, John Newman, Ben Atkin, and other contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,267 @@
1
+ # retina.js
2
+
3
+ [![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
4
+
5
+
6
+ ### JavaScript, Sass, Less, and Stylus helpers for rendering high-resolution image variants
7
+
8
+ `retina.js` makes it easy to serve high-resolution images to devices with displays that support them. You can prepare images for as many levels of pixel density as you want and let `retina.js` dynamically serve the right image to the user.
9
+
10
+ ## How it works
11
+
12
+ There are 4 ways to use `retina.js`:
13
+
14
+ 1. Automatically swapping out `src` paths on `img` tags.
15
+ 2. Automatically swapping out background image URLs in inline styles.
16
+ 3. Manually specifying the location of a high-res image variant (works for `src` attributes and inline styles).
17
+ 4. Automatically creating media queries for CSS background images.
18
+
19
+ #### Img Tags
20
+
21
+ `retina.js` assumes you are using Apple's prescribed high-resolution modifiers (@2x, @3x, etc) to denote high-res image variants on your server. It also assumes that if you have prepared a variant for a given high-res environment, that you have also prepared variants for each environment below it. For example, if you have prepared 3x variants, `retina.js` will assume that you have also prepared 2x variants.
22
+
23
+ With this in mind, you'll specify your highest environment level with the `data-rjs` attribute and let `retina.js` take it from there.
24
+
25
+ Let's say you have an image on your page that looks like this:
26
+
27
+ ```html
28
+ <img src="/images/my_image.png" data-rjs="3" />
29
+ ```
30
+
31
+ In this case, we've set our resolution cap at "3", denoting that we've prepared 3x and 2x image variants. When the page loads, `retina.js` will check the actual resolution of the device environment to decide whether it should really serve up a 3x image. If the user happens to be in a 2x environment, `retina.js` will serve up the 2x image instead, assuming it will find the image at `/images/my_image@2x.png`.
32
+
33
+ If the environment does have 3x capabilities, `retina.js` will serve up the 3x image. It will expect that url to be `/images/my_image@3x.png`. If the environment has the ability to display images at higher densities than 3x, `retina.js` will serve up the image of the highest resolution that you've provided, in this case 3x.
34
+
35
+ #### Inline Styles
36
+
37
+ Previous versions of `retina.js` were unable to target background images set via inline styles. Now, if you apply a `data-rjs` attribute to any kind of element other than an `img`, the script will target inline background images instead of `src` attributes.
38
+
39
+ So if you created an element like this:
40
+
41
+ ```html
42
+ <div style="background: url(/images/my_image.png)" data-rjs="3"></div>
43
+ ```
44
+
45
+ `retina.js` would convert it to something like this:
46
+
47
+ ```html
48
+ <div style="background: url(/images/my_image@3x.png)" data-rjs="3"></div>
49
+ ```
50
+
51
+ The logic behind image swapping is exactly the same when dealing with background images as it is when dealing with `src` attributes. If the user's environment only supports 2x variants, `retina.js` will load the 2x variant instead of the 3x.
52
+
53
+ _Note that it is up to you in a case like this to correctly apply background sizing and any other necessary background-related styles to the element. retina.js will not affect these._
54
+
55
+ #### Manually Specifying a High-Res URL
56
+
57
+ In previous versions, you could tell the script where to find your high-res file by using the `data-at2x` attribute. Now, if you pass a URL to the `data-rjs` attribute, `retina.js` will use the image at the path you specify for all high-resolution environments instead of trying to dynamically serve an auto-suffixed image path based on the environment's capabilities. This will work for both `src` attributes on `img` tags and inline background images on all other tags.
58
+
59
+ For example, you might write something like this:
60
+
61
+ ```html
62
+ <img
63
+ src="/images/my_image.png"
64
+ data-rjs="/images/2x/my-image.png" />
65
+
66
+ <!-- or -->
67
+
68
+ <div
69
+ style="background: url(/images/my_image.png)"
70
+ data-rjs="/images/2x/my-image.png">
71
+ </div>
72
+ ```
73
+
74
+ If the user then loads the page in any kind of high-resolution environment, they'll get the following:
75
+
76
+ ```html
77
+ <img
78
+ src="/images/2x/my-image.png"
79
+ data-rjs="/images/2x/my-image.png" />
80
+
81
+ <!-- or -->
82
+
83
+ <div
84
+ style="background: url(/images/2x/my-image.png)"
85
+ data-rjs="/images/2x/my-image.png">
86
+ </div>
87
+ ```
88
+
89
+ #### Media Queries
90
+
91
+ `retina.js` comes with mixins for SCSS, Sass, Less, and Stylus. These mixins work similarly to the JavaScript version in that they will dynamically serve images for as many high-res environments as you've prepared image variants for. Previously, these mixins were named "at2x" but because they now serve images for multiple environments, they have been renamed "retina".
92
+
93
+ In each language, the retina mixin allows 4 parameters:
94
+
95
+ 1. `path` - The path to your standard resolution image.
96
+ 2. `cap` - _Optional._ The highest resolution level for which you have prepared images. Defaults to 2.
97
+ 3. `size`- _Optional._ A value to be applied to the `background-size` property. Defaults to `auto auto`.
98
+ 4. `extras`- _Optional._ Any other values to be added to the background property. Defaults to nothing.
99
+
100
+ Here is an example wherein we are specifying that we have prepared images for both 2x and 3x environments:
101
+
102
+ **SCSS**
103
+
104
+ ```scss
105
+ #item {
106
+ @include retina('/images/my_image.png', 3, cover, center center no-repeat);
107
+ }
108
+ ```
109
+
110
+ **Sass**
111
+
112
+ ```sass
113
+ #item
114
+ +retina('/images/my_image.png', 3, cover, center center no-repeat)
115
+ ```
116
+
117
+ **Less**
118
+
119
+ ```less
120
+ #item {
121
+ .retina('/images/my_image.png', 3, cover, center center no-repeat);
122
+ }
123
+ ```
124
+
125
+ **Stylus**
126
+
127
+ ```stylus
128
+ #item
129
+ retina('/images/my_image.png', 3, cover, center center no-repeat)
130
+ ```
131
+
132
+ Regardless of the dialect, the output is effectively the same:
133
+
134
+ ```css
135
+ #item {
136
+ background: url("/images/my_image.png") center center no-repeat;
137
+ background-size: cover;
138
+ }
139
+
140
+ @media all and (-webkit-min-device-pixel-ratio: 1.5),
141
+ all and (-o-min-device-pixel-ratio: 3 / 2),
142
+ all and (min--moz-device-pixel-ratio: 1.5),
143
+ all and (min-device-pixel-ratio: 1.5) {
144
+ #item {
145
+ background: url("/images/my_image@2x.png") center center no-repeat;
146
+ background-size: cover;
147
+ }
148
+ }
149
+
150
+ @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
151
+ #item {
152
+ background: url("/images/my_image@2x.png") center center no-repeat;
153
+ background-size: cover;
154
+ }
155
+ }
156
+
157
+ @media (-webkit-min-device-pixel-ratio: 3), (min-resolution: 288dpi) {
158
+ #item {
159
+ background: url("/images/my_image@3x.png") center center no-repeat;
160
+ background-size: cover;
161
+ }
162
+ }
163
+ ```
164
+
165
+ ## Compatibility
166
+
167
+ `retina.js` is compatible with all modern browsers and __should__ not throw errors in old browsers all the way back through IE6.
168
+
169
+ ## Installing & Launching
170
+
171
+ ### JavaScript
172
+
173
+ There are 2 ways to use the JavaScript version of `retina.js`:
174
+
175
+ 1. The old-school way (manually dropping the script into an html file).
176
+ 2. The new-school way (importing it into a larger JavaScript build process).
177
+
178
+ #### Old-School
179
+
180
+ To use retina.js the old-school way, download **retina.min.js** and put it on your server. Then, include the script in your html file at the bottom of your template, before your closing \</body> tag.
181
+
182
+ ``` html
183
+ <script type="text/javascript" src="/scripts/retina.min.js"></script>
184
+ ```
185
+
186
+ Using this technique, `retina.js` will run automatically on page load. It will also create a globally available function called `retinajs`. Whenever you'd like to manually re-initialize the script, simply call `window.retinajs()`.
187
+
188
+ If you don't pass any arguments to the `retinajs` function, it will only attempt to process images that have not previously been processed by the script. Optionally, you can pass a collection of HTML elements to the script, in which case it will only attempt to process elements in that collection, specifically the ones that have not been processed before. Your collection may take the form of an Array, NodeList, or jQuery selection.
189
+
190
+ ```javascript
191
+ retinajs();
192
+ // Finds all images not previously processed and processes them.
193
+
194
+ retinajs( [img, img, img] );
195
+ // Only attempts to process the images in the collection.
196
+
197
+ retinajs( $('img') );
198
+ // Same.
199
+
200
+ retinajs( document.querySelectorAll('img') );
201
+ // Same.
202
+ ```
203
+
204
+ #### New-School
205
+
206
+ To use retina.js the new-school way, you'll want to `require` it (or `import` it if you're using ES6) into your Gulp/Webpack/Grunt/CommonJS/etc application. In this case, the script won't run automatically. Instead, it'll let you determine when you'd like it to run.
207
+
208
+ ```JavaScript
209
+ import retina from 'retina';
210
+
211
+ window.addEventListener('load', retina);
212
+ ```
213
+
214
+ Notice that the `retina` function can be called as often as you need in order to re-initialize the image swapping.
215
+
216
+ If you don't pass any arguments to the `retina` function, it will only attempt to process images that have not previously been processed by the script. Optionally, you can pass a collection of HTML elements to the script, in which case it will only attempt to process elements in that collection, specifically the ones that have not been processed before. Your collection may take the form of an Array, NodeList, or jQuery selection.
217
+
218
+ ```javascript
219
+ retina();
220
+ // Finds all images not previously processed and processes them.
221
+
222
+ retina( [img, img, img] );
223
+ // Only attempts to process the images in the collection.
224
+
225
+ retina( $('img') );
226
+ // Same.
227
+
228
+ retina( document.querySelectorAll('img') );
229
+ // Same.
230
+ ```
231
+
232
+ ### CSS Preprocessors
233
+
234
+ The process for including the CSS mixins is relatively straightforward. Here is a breakdown for each:
235
+
236
+ #### SCSS
237
+
238
+ Add the `@mixin retina( ... )` mixin from \_retina.scss to your SCSS stylesheet (or reference it in an `@import`). In your stylesheet, call the mixin using `@include retina( ... )` anywhere instead of using `background` or `background-image`.
239
+
240
+ #### Sass
241
+
242
+ Add the `=retina( ... )` mixin from \_retina.sass to your Sass stylesheet (or reference it in an `@import`). In your stylesheet, call the mixin using `+retina( ... )` anywhere instead of using `background` or `background-image`.
243
+
244
+ #### Less
245
+
246
+ Add the `.retina( ... )` mixin from retina.less to your Less stylesheet (or reference it in an `@import`). In your stylesheet, call the mixin using `.retina( ... )` anywhere instead of using `background` or `background-image`.
247
+
248
+ #### Stylus
249
+
250
+ Add the `retina( ... )` mixin from retina.styl to your Stylus stylesheet (or reference it in an `@import`). In your stylesheet, call the mixin using `retina( ... )` anywhere instead of using `background` or `background-image`.
251
+
252
+
253
+ ## Considerations for Ruby on Rails 3+
254
+
255
+ ...or any framework that embeds some digest/hash to the asset URLs based on the contents, e.g. `/images/image-{hash1}.jpg`.
256
+
257
+ The problem with this is that the high-resolution version would have a different hash, and would not conform to the usual pattern, i.e. `/images/image@2x-{hash2}.jpg`. So automatic detection would fail because retina.js would check the existence of `/images/image-{hash1}@2x.jpg`.
258
+
259
+ There's no way for retina.js to know beforehand what the high-resolution image's hash would be without some sort of help from the server side. So in this case, there are a couple of options for handling it:
260
+
261
+ #### Bypass Digesting
262
+
263
+ One potential method is to bypass digesting altogether by implementing a process like [team-umlaut's asset compile rake file](https://github.com/team-umlaut/umlaut/blob/5edcc609389edf833a79caa6f3ef92982312f0c5/lib/tasks/umlaut_asset_compile.rake) which will generate non-digested asset files as necessary.
264
+
265
+ #### Use Manual Paths
266
+
267
+ Although it's not quite as fancy as dynamically serving up files based on the resolution of the user's environment, this may be a good time to pass a URL string to the `data-rjs` attribute so that you can manually tell retina.js exactly where to look for a high-resolution variant of your image.