jekyll-theme-chalk 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,102 @@
1
+ // retina.scss
2
+ // A helper mixin for applying high-resolution background images (http://www.retinajs.com)
3
+
4
+ // Submitted by Nathan Crank
5
+ // nathancrank.com
6
+
7
+ // Updated by Gabriel R. Sezefredo
8
+ // gabriel.sezefredo.com.br
9
+
10
+ // Updated by John Newman
11
+ // github.com/jgnewman
12
+ // http://axial.agency
13
+
14
+
15
+ /**
16
+ * Allows you to use retina images at various pixel densities.
17
+ * Examples:
18
+ *
19
+ * @include retina(/images/mypic.jpg, 2);
20
+ * @include retina(/images/mypic.jpg, 3, 100px 100px, left top no-repeat transparent);
21
+ *
22
+ * @param {Value} $path The path to the file name minus extension.
23
+ * @param {Number} $cap: 2 The highest pixel density level images exist for.
24
+ * @param {Value} $size: auto auto The intended width of the rendered image.
25
+ * @param {Value} $extras: null Any other `background` values to be added.
26
+ */
27
+ @mixin retina($path, $cap: 2, $size: auto auto, $extras: null) {
28
+
29
+ /*
30
+ * Set a counter and get the length of the image path.
31
+ */
32
+ $position: -1;
33
+ $strpath: '#{$path}';
34
+ $length: str-length($strpath);
35
+
36
+ /*
37
+ * Loop ver the image path and figure out the
38
+ * position of the dot where the extension begins.
39
+ */
40
+ @for $i from $length through $length - 10{
41
+ @if $position == -1 {
42
+ $char : str-slice($strpath, $i, $i);
43
+ @if str-index($char, ".") == 1 {
44
+ $position: $i;
45
+ }
46
+ }
47
+ }
48
+
49
+ /*
50
+ * If we were able to figure out where the extension is,
51
+ * slice the path into a base and an extension. Use that to
52
+ * calculate urls for different density environments. Set
53
+ * values for different environments.
54
+ */
55
+ @if $position != -1 {
56
+ $ext: str-slice($strpath, $position + 1, $length);
57
+ $base: str-slice($strpath, 1, $position - 1);
58
+ $at1x_path: "#{$base}.#{$ext}";
59
+ $at2x_path: "#{$base}@2x.#{$ext}";
60
+
61
+ /*
62
+ * Set a base background for 1x environments.
63
+ */
64
+ background: url("#{$at1x_path}") $extras;
65
+ background-size: $size;
66
+
67
+ /*
68
+ * Create an @2x-ish media query.
69
+ */
70
+ @media all and (-webkit-min-device-pixel-ratio : 1.5),
71
+ all and (-o-min-device-pixel-ratio: 3/2),
72
+ all and (min--moz-device-pixel-ratio: 1.5),
73
+ all and (min-device-pixel-ratio: 1.5) {
74
+ background : url("#{$at2x_path}") $extras;
75
+ background-size : $size;
76
+ }
77
+
78
+ /*
79
+ * Create media queries for all environments that the user has
80
+ * provided images for.
81
+ */
82
+ @if $cap >= 2 {
83
+ @for $env from 2 through $cap {
84
+ $suffix: "@#{$env}x";
85
+ @media (-webkit-min-device-pixel-ratio: $env),
86
+ (min-resolution: $env * 96dpi) {
87
+ background : url("#{$base}#{$suffix}.#{$ext}") $extras;
88
+ background-size : $size;
89
+ }
90
+ }
91
+ }
92
+
93
+ /*
94
+ * If anything went wrong trying to separate the file from its
95
+ * extension, set a background value without doing anything to it.
96
+ */
97
+ } @else {
98
+ background: url("#{$path}") $extras;
99
+ background-size: $size;
100
+ }
101
+
102
+ }
@@ -0,0 +1,91 @@
1
+ const hasWindow = typeof window !== 'undefined';
2
+ const environment = Math.round(hasWindow ? window.devicePixelRatio || 1 : 1);
3
+ const srcReplace = /(\.[A-z]{3,4}\/?(\?.*)?)$/;
4
+ const inlineReplace = /url\(('|")?([^)'"]+)('|")?\)/i;
5
+ const selector = '[data-rjs]';
6
+ const processedAttr = 'data-rjs-processed';
7
+ function arrayify(object) {
8
+ return Array.prototype.slice.call(object);
9
+ }
10
+ function chooseCap(cap) {
11
+ const numericCap = parseInt(cap, 10);
12
+ if (environment < numericCap) {
13
+ return environment;
14
+ } else {
15
+ return numericCap;
16
+ }
17
+ }
18
+ function forceOriginalDimensions(image) {
19
+ if (!image.hasAttribute('data-no-resize')) {
20
+ if (image.offsetWidth === 0 && image.offsetHeight === 0) {
21
+ image.setAttribute('width', image.naturalWidth);
22
+ image.setAttribute('height', image.naturalHeight);
23
+ } else {
24
+ image.setAttribute('width', image.offsetWidth);
25
+ image.setAttribute('height', image.offsetHeight);
26
+ }
27
+ }
28
+ return image;
29
+ }
30
+ function setSourceIfAvailable(image, retinaURL) {
31
+ const imgType = image.nodeName.toLowerCase();
32
+ const testImage = document.createElement('img');
33
+ testImage.addEventListener('load', () => {
34
+ if (imgType === 'img') {
35
+ forceOriginalDimensions(image).setAttribute('src', retinaURL);
36
+ } else {
37
+ image.style.backgroundImage = `url(${retinaURL})`;
38
+ }
39
+ });
40
+ testImage.setAttribute('src', retinaURL);
41
+ image.setAttribute(processedAttr, true);
42
+ }
43
+ function dynamicSwapImage(image, src, rjs = 1) {
44
+ const cap = chooseCap(rjs);
45
+ if (src && cap > 1) {
46
+ const newSrc = src.replace(srcReplace, `@${cap}x$1`);
47
+ setSourceIfAvailable(image, newSrc);
48
+ }
49
+ }
50
+ function manualSwapImage(image, src, hdsrc) {
51
+ if (environment > 1) {
52
+ setSourceIfAvailable(image, hdsrc);
53
+ }
54
+ }
55
+ function getImages(images) {
56
+ if (!images) {
57
+ return typeof document !== 'undefined' ? arrayify(document.querySelectorAll(selector)) : [];
58
+ } else {
59
+ return typeof images.forEach === 'function' ? images : arrayify(images);
60
+ }
61
+ }
62
+ function cleanBgImg(img) {
63
+ return img.style.backgroundImage.replace(inlineReplace, '$2');
64
+ }
65
+ function retina(images) {
66
+ getImages(images).forEach(img => {
67
+ if (!img.getAttribute(processedAttr)) {
68
+ const isImg = img.nodeName.toLowerCase() === 'img';
69
+ const src = isImg ? img.getAttribute('src') : cleanBgImg(img);
70
+ const rjs = img.getAttribute('data-rjs');
71
+ const rjsIsNumber = !isNaN(parseInt(rjs, 10));
72
+ if (rjs === null) {
73
+ return;
74
+ }
75
+ if (rjsIsNumber) {
76
+ dynamicSwapImage(img, src, rjs);
77
+ } else {
78
+ manualSwapImage(img, src, rjs);
79
+ }
80
+ }
81
+ });
82
+ }
83
+ if (hasWindow) {
84
+ window.addEventListener('load', () => {
85
+ retina();
86
+ });
87
+ window.retinajs = retina;
88
+ }
89
+
90
+ export default retina;
91
+ //# sourceMappingURL=retina.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retina.js","sources":["../src/retina.js"],"sourcesContent":["/* @flow */\n\n/**\n * --------------------------------------------------------------------------\n * Retina.js\n * Licensed under MIT (https://github.com/strues/retinajs/blob/master/LICENSE)\n *\n * Retina.js is an open source script that makes it easy to serve high-resolution\n * images to devices with retina displays.\n * --------------------------------------------------------------------------\n */\n\n/*\n * Determine whether or not `window` is available.\n */\nconst hasWindow = typeof window !== 'undefined';\n\n/*\n * Get the device pixel ratio per our environment.\n * Default to 1.\n */\nconst environment = Math.round(hasWindow ? window.devicePixelRatio || 1 : 1);\n\n/*\n * Define a pattern for capturing src url suffixes.\n */\nconst srcReplace = /(\\.[A-z]{3,4}\\/?(\\?.*)?)$/;\nconst inlineReplace = /url\\(('|\")?([^)'\"]+)('|\")?\\)/i;\n\n/*\n * Define our selectors for elements to target.\n */\nconst selector = '[data-rjs]';\n\n/*\n * Define the attribute we'll use to mark an image as having been processed.\n */\nconst processedAttr = 'data-rjs-processed';\n\n/**\n * Shortcut for turning some iterable object into an array.\n *\n * @param {Iterable} object Any iterable object.\n *\n * @return {Array}\n */\nfunction arrayify(object) {\n return Array.prototype.slice.call(object);\n}\n\n/**\n * Chooses the actual image size to fetch, (for example 2 or 3) that\n * will be used to create a suffix like \"@2x\" or \"@3x\".\n *\n * @param {String|Number} cap The number the user provided indicating that\n * they have prepared images up to this size.\n *\n * @return {Number} The number we'll be using to create a suffix.\n */\nfunction chooseCap(cap) {\n const numericCap = parseInt(cap, 10);\n\n /*\n * If the environment's device pixel ratio is less than what the user\n * provided, we'll only grab images at that size.\n */\n if (environment < numericCap) {\n return environment;\n\n /*\n * If the device pixel ratio is greater than or equal to what the\n * user provided, we'll use what the user provided.\n */\n } else {\n return numericCap;\n }\n}\n\n/**\n * Makes sure that, since we are going to swap out the source of an image,\n * the image does not change size on the page.\n *\n * @param {Element} image An image element in the DOM.\n *\n * @return {Element} The same element that was passed in.\n */\nfunction forceOriginalDimensions(image) {\n if (!image.hasAttribute('data-no-resize')) {\n if (image.offsetWidth === 0 && image.offsetHeight === 0) {\n image.setAttribute('width', image.naturalWidth);\n image.setAttribute('height', image.naturalHeight);\n } else {\n image.setAttribute('width', image.offsetWidth);\n image.setAttribute('height', image.offsetHeight);\n }\n }\n return image;\n}\n\n/**\n * Determines whether the retina image actually exists on the server.\n * If so, swaps out the retina image for the standard one. If not,\n * leaves the original image alone.\n *\n * @param {Element} image An image element in the DOM.\n * @param {String} newSrc The url to the retina image.\n *\n * @return {undefined}\n */\nfunction setSourceIfAvailable(image, retinaURL) {\n const imgType = image.nodeName.toLowerCase();\n\n /*\n * Create a new image element and give it a load listener. When the\n * load listener fires, it means the URL is correct and we will then\n * attach it to the user's image.\n */\n const testImage = document.createElement('img');\n testImage.addEventListener('load', () => {\n /*\n * If we're dealing with an image tag, force it's dimensions\n * and set the source attribute. If not, go after the background-image\n * inline style.\n */\n if (imgType === 'img') {\n forceOriginalDimensions(image).setAttribute('src', retinaURL);\n } else {\n image.style.backgroundImage = `url(${retinaURL})`;\n }\n });\n\n /*\n * Attach the retina URL to our proxy image to load in the new\n * image resource.\n */\n testImage.setAttribute('src', retinaURL);\n\n /*\n * Mark our image as processed so that it won't be processed again.\n */\n image.setAttribute(processedAttr, true);\n}\n\n/**\n * Attempts to do an image url swap on a given image.\n *\n * @param {Element} image An image in the DOM.\n * @param {String} src The original image source attribute.\n * @param {String|Number} rjs The pixel density cap for images provided.\n *\n * @return {undefined}\n */\nfunction dynamicSwapImage(image, src, rjs = 1) {\n const cap = chooseCap(rjs);\n\n /*\n * Don't do anything if the cap is less than 2 or there is no src.\n */\n if (src && cap > 1) {\n const newSrc = src.replace(srcReplace, `@${cap}x$1`);\n setSourceIfAvailable(image, newSrc);\n }\n}\n\n/**\n * Performs an image url swap on a given image with a provided url.\n *\n * @param {Element} image An image in the DOM.\n * @param {String} src The original image source attribute.\n * @param {String} hdsrc The path for a 2x image.\n *\n * @return {undefined}\n */\nfunction manualSwapImage(image, src, hdsrc) {\n if (environment > 1) {\n setSourceIfAvailable(image, hdsrc);\n }\n}\n\n/**\n * Collects all images matching our selector, and converts our\n * NodeList into an Array so that Array methods will be available to it.\n *\n * @param {Iterable} images Optional. An Array, jQuery selection, or NodeList\n * of elements to affect with retina.js.\n *\n * @return {Iterable} Contains all elements matching our selector.\n */\nfunction getImages(images) {\n if (!images) {\n return typeof document !== 'undefined' ? arrayify(document.querySelectorAll(selector)) : [];\n } else {\n return typeof images.forEach === 'function' ? images : arrayify(images);\n }\n}\n\n/**\n * Converts a string like \"url(hello.png)\" into \"hello.png\".\n *\n * @param {Element} img An HTML element with a background image.\n *\n * @return {String}\n */\nfunction cleanBgImg(img) {\n return img.style.backgroundImage.replace(inlineReplace, '$2');\n}\n\n/**\n * Gets all participating images and dynamically swaps out each one for its\n * retina equivalent taking into account the environment capabilities and\n * the densities for which the user has provided images.\n *\n * @param {Iterable} images Optional. An Array, jQuery selection, or NodeList\n * of elements to affect with retina.js. If not\n * provided, retina.js will grab all images on the\n * page.\n *\n * @return {undefined}\n */\nfunction retina(images) {\n getImages(images).forEach(img => {\n if (!img.getAttribute(processedAttr)) {\n const isImg = img.nodeName.toLowerCase() === 'img';\n const src = isImg ? img.getAttribute('src') : cleanBgImg(img);\n const rjs = img.getAttribute('data-rjs');\n const rjsIsNumber = !isNaN(parseInt(rjs, 10));\n\n // do not try to load /null image!\n if (rjs === null) {\n return;\n }\n\n /*\n * If the user provided a number, dynamically swap out the image.\n * If the user provided a url, do it manually.\n */\n if (rjsIsNumber) {\n dynamicSwapImage(img, src, rjs);\n } else {\n manualSwapImage(img, src, rjs);\n }\n }\n });\n}\n\n/*\n * If this environment has `window`, activate the plugin.\n */\nif (hasWindow) {\n window.addEventListener('load', () => {\n retina();\n });\n window.retinajs = retina;\n}\n\nexport default retina;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ // retina.less
2
+ // A helper mixin for applying high-resolution background images (http://www.retinajs.com)
3
+
4
+ // Updated by John Newman
5
+ // github.com/jgnewman
6
+ // http://axial.agency
7
+
8
+ /**
9
+ * Allows you to use retina images at various pixel densities.
10
+ * Examples:
11
+ *
12
+ * .retina(/images/mypic.jpg, 2);
13
+ * .retina(/images/mypic.jpg, 3, 100px 100px, left top no-repeat transparent);
14
+ *
15
+ * @param {String} $path The path to the file name minus extension.
16
+ * @param {Number} $cap: 2 The highest pixel density level images exist for.
17
+ * @param {Value} $size: auto auto The intended width of the rendered image.
18
+ * @param {Value} $extras: null Any other `background` values to be added.
19
+ */
20
+ .retina(@path, @cap: 2, @size: auto auto, @extras: ~'') {
21
+ @lowretina: ~"(-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx)";
22
+ @2xpath: ~`@{path}.replace(/\.\w+$/, function(match) { return "@2x" + match; })`;
23
+
24
+ /*
25
+ * Set a base background for 1x environments.
26
+ */
27
+ background: url(@path) @extras;
28
+ background-size: @size;
29
+
30
+ /*
31
+ * Create an @2x-ish media query.
32
+ */
33
+ @media @lowretina {
34
+ background : url(@2xpath) @extras;
35
+ background-size : @size;
36
+ }
37
+
38
+ /*
39
+ * Create media queries for all environments that the user has
40
+ * provided images for.
41
+ */
42
+ .create-queries() when (@cap >= 2) {
43
+ .loop(@env) when (@env <= @cap) {
44
+ @retinapath: ~`@{path}.replace(/\.\w+$/, function(match) { return "@@{env}x" + match; })`;
45
+ @media (-webkit-min-device-pixel-ratio: @env),
46
+ (min-resolution: @env * 96dpi) {
47
+ background : url(@retinapath) @extras;
48
+ background-size : @size;
49
+ }
50
+ .loop((@env + 1)); // next iteration
51
+ }
52
+ .loop(2);
53
+ }
54
+ .create-queries();
55
+
56
+ }
@@ -0,0 +1,56 @@
1
+ // retina.styl
2
+ // A helper mixin for applying high-resolution background images (http://www.retinajs.com)
3
+
4
+ // Created by John Newman
5
+ // github.com/jgnewman
6
+ // http://axial.agency
7
+
8
+
9
+ /**
10
+ * Allows you to use retina images at various pixel densities.
11
+ * Examples:
12
+ *
13
+ * retina(/images/mypic.jpg, 2)
14
+ * retina(/images/mypic.jpg, 3, 100px 100px, left top no-repeat transparent)
15
+ *
16
+ * @param {Value} $path The path to the file name minus extension.
17
+ * @param {Number} $cap: 2 The highest pixel density level images exist for.
18
+ * @param {Value} $size: auto auto The intended width of the rendered image.
19
+ * @param {Value} $extras: null Any other `background` values to be added.
20
+ */
21
+ retina($path, $cap = 2, $size = auto auto, $extras = null)
22
+ $dirname = dirname($path)
23
+ $filename = basename($path)
24
+ $at2xpath = pathjoin($dirname, replace('\.', '@2x.', $filename))
25
+
26
+ /*
27
+ * Set a base background for 1x environments.
28
+ */
29
+ background: url($path) $extras
30
+ background-size: $size
31
+
32
+ /*
33
+ * Create an @2x-ish media query.
34
+ */
35
+ @media all and (-webkit-min-device-pixel-ratio : 1.5), all and (-o-min-device-pixel-ratio: 3/2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5)
36
+ background: url($at2xpath) $extras
37
+ background-size: $size
38
+
39
+ /*
40
+ * Create media queries for all environments that the user has
41
+ * provided images for.
42
+ */
43
+ if $cap >= 2
44
+ for $env in (2..$cap)
45
+ $newpath = pathjoin($dirname, replace('\.', '@' + $env + 'x.', $filename))
46
+ @media (-webkit-min-device-pixel-ratio: $env), (min-resolution: $env * 96dpi)
47
+ background: url($newpath) $extras
48
+ background-size: $size
49
+
50
+ /*
51
+ * If anything went wrong trying to separate the file from its
52
+ * extension, set a background value without doing anything to it.
53
+ */
54
+ else
55
+ background: url($path) $extras
56
+ background-size: $size
@@ -0,0 +1,154 @@
1
+ 'use strict';
2
+
3
+ import gulp from 'gulp';
4
+ import pkg from './package.json';
5
+ import load from 'gulp-load-plugins';
6
+ import inject from 'gulp-inject-string';
7
+ import del from 'del';
8
+ import runSequence from 'run-sequence';
9
+ import browsersync from 'browser-sync';
10
+
11
+ const $ = load();
12
+ const head = '/*!\n' +
13
+ ' * Retina.js v<%= pkg.version %>\n' +
14
+ ' *\n' +
15
+ ' * Copyright 2016 Axial, LLC\n' +
16
+ ' * Released under the MIT license\n' +
17
+ ' *\n' +
18
+ ' * Retina.js is an open source script that makes it easy to serve\n' +
19
+ ' * high-resolution images to devices with retina displays.\n' +
20
+ ' */\n';
21
+
22
+
23
+ const entry = './src/retina.js';
24
+ const scssEntry = './src/_retina.scss';
25
+ const sassEntry = './src/_retina.sass';
26
+ const lessEntry = './src/retina.less';
27
+ const stylEntry = './src/retina.styl';
28
+ const server = browsersync.create();
29
+
30
+
31
+ function cleanTask() {
32
+ return del(['dist']);
33
+ }
34
+
35
+ function buildJsTask() {
36
+ return gulp.src(entry)
37
+ // Distribute unminified file
38
+ .pipe($.babel())
39
+ .pipe($.banner(head, { pkg: pkg }))
40
+ .pipe(gulp.dest('./dist/'))
41
+
42
+ // Minify it, distribute it, drop it in the test dir
43
+ .pipe($.uglify({ preserveComments: 'license' }))
44
+ .pipe($.rename('retina.min.js'))
45
+ .pipe($.size())
46
+ .pipe(gulp.dest('./dist/'))
47
+ .pipe(gulp.dest('./test/functional/public/'));
48
+ }
49
+
50
+ function lintTask() {
51
+ return gulp.src(entry)
52
+ .pipe($.eslint())
53
+ .pipe($.eslint.format());
54
+ }
55
+
56
+ function serveTask() {
57
+ return server.init({
58
+ server: './test/functional/public',
59
+ port: 8080
60
+ });
61
+ }
62
+
63
+ function cssDistTask() {
64
+ return gulp.src([sassEntry, scssEntry, lessEntry, stylEntry])
65
+ .pipe(gulp.dest('./dist/'));
66
+ }
67
+
68
+ function scssPrepTask() {
69
+ return gulp.src(scssEntry).pipe(gulp.dest('./test/functional/public/styles/'));
70
+ }
71
+
72
+ function sassPrepTask() {
73
+ return gulp.src(sassEntry).pipe(gulp.dest('./test/functional/public/styles/'));
74
+ }
75
+
76
+ function lessPrepTask() {
77
+ return gulp.src(lessEntry).pipe(gulp.dest('./test/functional/public/styles/'));
78
+ }
79
+
80
+ function stylusPrepTask() {
81
+ return gulp.src(stylEntry).pipe(gulp.dest('./test/functional/public/styles/'));
82
+ }
83
+
84
+ function scssCompileTask() {
85
+ return gulp.src('./test/functional/public/styles/scss-base.scss')
86
+ .pipe($.sass().on('error', $.sass.logError))
87
+ .pipe($.rename('retina.scss.css'))
88
+ .pipe(gulp.dest('./test/functional/public/styles/'));
89
+ }
90
+
91
+ function sassCompileTask() {
92
+ return gulp.src('./test/functional/public/styles/sass-base.sass')
93
+ .pipe($.sass().on('error', $.sass.logError))
94
+ .pipe($.rename('retina.sass.css'))
95
+ .pipe(gulp.dest('./test/functional/public/styles/'));
96
+ }
97
+
98
+ function lessCompileTask() {
99
+ return gulp.src('./test/functional/public/styles/less-base.less')
100
+ .pipe($.less())
101
+ .pipe($.rename('retina.less.css'))
102
+ .pipe(gulp.dest('./test/functional/public/styles/'));
103
+ }
104
+
105
+ function stylusCompileTask() {
106
+ return gulp.src('./test/functional/public/styles/styl-base.styl')
107
+ .pipe($.stylus())
108
+ .pipe($.rename('retina.styl.css'))
109
+ .pipe(gulp.dest('./test/functional/public/styles/'));
110
+ }
111
+
112
+ function cssBuildTask() {
113
+ return runSequence(
114
+ ['prep-scss', 'prep-sass', 'prep-less', 'prep-stylus'],
115
+ ['compile-scss', 'compile-sass', 'compile-less', 'compile-stylus']
116
+ );
117
+ }
118
+
119
+ gulp.task('clean', cleanTask);
120
+ gulp.task('build-js', buildJsTask);
121
+ gulp.task('dist-css', cssDistTask);
122
+ gulp.task('serve', serveTask);
123
+ gulp.task('lint', lintTask);
124
+ gulp.task('prep-scss', scssPrepTask);
125
+ gulp.task('prep-sass', sassPrepTask);
126
+ gulp.task('prep-less', lessPrepTask);
127
+ gulp.task('prep-stylus', stylusPrepTask);
128
+ gulp.task('compile-scss', scssCompileTask);
129
+ gulp.task('compile-sass', sassCompileTask);
130
+ gulp.task('compile-less', lessCompileTask);
131
+ gulp.task('compile-stylus', stylusCompileTask);
132
+ gulp.task('build-css', cssBuildTask);
133
+
134
+
135
+ // The dist task will clean and lint files, it will
136
+ // then build for the browser and build for node.
137
+ gulp.task('dist', ['clean', 'lint'], (cb) => {
138
+ runSequence('dist-css', 'build-js', cb);
139
+ });
140
+
141
+ // The dev task will build the code, then start the server.
142
+ // It will also watch for changes in the source and in the
143
+ // public dir. If it sees changes it will run build again
144
+ // and then refresh the server.
145
+ gulp.task('dev', ['clean', 'lint'], () => {
146
+ runSequence(['build-js', 'build-css'], 'serve', () => {
147
+ gulp.watch(['./test/functional/public/index.html', './src/**/*'], () => {
148
+ runSequence('lint', ['build-js', 'build-css'], () => server.reload());
149
+ });
150
+ gulp.watch('./test/functional/public/styles/*', () => {
151
+ runSequence('build-css', () => server.reload());
152
+ });
153
+ });
154
+ });