j1_template_mde 2018.4.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (852) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +79 -0
  4. data/_includes/themes/j1/layouts/content_generator_app.html +34 -0
  5. data/_includes/themes/j1/layouts/content_generator_blog_archive.html +201 -0
  6. data/_includes/themes/j1/layouts/content_generator_collection.html +116 -0
  7. data/_includes/themes/j1/layouts/content_generator_page.html +116 -0
  8. data/_includes/themes/j1/layouts/content_generator_post.html +214 -0
  9. data/_includes/themes/j1/layouts/content_generator_raw.html +35 -0
  10. data/_includes/themes/j1/layouts/layout_metadata_generator.html +106 -0
  11. data/_includes/themes/j1/layouts/layout_module_generator.html +49 -0
  12. data/_includes/themes/j1/layouts/layout_resource_generator.html +53 -0
  13. data/_includes/themes/j1/layouts/layout_shim_generator.html +105 -0
  14. data/_includes/themes/j1/layouts/layout_theme_generator.html +105 -0
  15. data/_includes/themes/j1/modules/boards/news_pin_board.html +183 -0
  16. data/_includes/themes/j1/modules/connectors/ad/google-adsense +39 -0
  17. data/_includes/themes/j1/modules/connectors/ads +34 -0
  18. data/_includes/themes/j1/modules/connectors/analytic/google +42 -0
  19. data/_includes/themes/j1/modules/connectors/analytic/googleUA +44 -0
  20. data/_includes/themes/j1/modules/connectors/analytics +46 -0
  21. data/_includes/themes/j1/modules/connectors/comment/disqus.html +61 -0
  22. data/_includes/themes/j1/modules/connectors/comments +44 -0
  23. data/_includes/themes/j1/modules/connectors/sharing +36 -0
  24. data/_includes/themes/j1/modules/footers/boxes/about_box.proc +33 -0
  25. data/_includes/themes/j1/modules/footers/boxes/contacts_box.proc +55 -0
  26. data/_includes/themes/j1/modules/footers/boxes/legal_statements.proc +61 -0
  27. data/_includes/themes/j1/modules/footers/boxes/links_box.proc +38 -0
  28. data/_includes/themes/j1/modules/footers/boxes/news_box.proc +54 -0
  29. data/_includes/themes/j1/modules/footers/boxes/social_media_icons.proc +38 -0
  30. data/_includes/themes/j1/modules/footers/footer_light_generator.html +130 -0
  31. data/_includes/themes/j1/modules/headers/master_header_generator.html +140 -0
  32. data/_includes/themes/j1/modules/navigator/generator.html +170 -0
  33. data/_includes/themes/j1/modules/navigator/procedures/_unused/authclient.proc +139 -0
  34. data/_includes/themes/j1/modules/navigator/procedures/_unused/authclient.proc.org +217 -0
  35. data/_includes/themes/j1/modules/navigator/procedures/quicklinks.proc +97 -0
  36. data/_includes/themes/j1/modules/navigator/procedures/sidebar.proc +117 -0
  37. data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +115 -0
  38. data/_includes/themes/j1/procedures/collections/create_collection_article_preview.proc +68 -0
  39. data/_includes/themes/j1/procedures/global/_get_page_path.proc.new +80 -0
  40. data/_includes/themes/j1/procedures/global/_get_page_path.proc.org +68 -0
  41. data/_includes/themes/j1/procedures/global/collect_frontmatter_options.proc +62 -0
  42. data/_includes/themes/j1/procedures/global/create_bs_button.proc +126 -0
  43. data/_includes/themes/j1/procedures/global/create_word_cloud.proc +119 -0
  44. data/_includes/themes/j1/procedures/global/get_category.proc +60 -0
  45. data/_includes/themes/j1/procedures/global/get_category_item.proc +80 -0
  46. data/_includes/themes/j1/procedures/global/get_documents_dir.proc +67 -0
  47. data/_includes/themes/j1/procedures/global/get_page_path.proc +67 -0
  48. data/_includes/themes/j1/procedures/global/get_page_url.proc +55 -0
  49. data/_includes/themes/j1/procedures/global/pager.proc +79 -0
  50. data/_includes/themes/j1/procedures/global/select_color.proc +69 -0
  51. data/_includes/themes/j1/procedures/global/select_font_size.proc +86 -0
  52. data/_includes/themes/j1/procedures/global/select_icon_size.proc +72 -0
  53. data/_includes/themes/j1/procedures/global/select_location.proc +107 -0
  54. data/_includes/themes/j1/procedures/global/set_env_entry_document.proc +88 -0
  55. data/_includes/themes/j1/procedures/global/set_image_block.proc +50 -0
  56. data/_includes/themes/j1/procedures/global/setup.proc +61 -0
  57. data/_includes/themes/j1/procedures/layouts/content_writer.proc +107 -0
  58. data/_includes/themes/j1/procedures/layouts/default_writer.proc +160 -0
  59. data/_includes/themes/j1/procedures/layouts/module_writer.proc +170 -0
  60. data/_includes/themes/j1/procedures/layouts/resource_writer.proc +183 -0
  61. data/_includes/themes/j1/procedures/posts/_collate_timeline.proc +253 -0
  62. data/_includes/themes/j1/procedures/posts/collate_calendar.proc +224 -0
  63. data/_includes/themes/j1/procedures/posts/collate_list.proc +102 -0
  64. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +219 -0
  65. data/_includes/themes/j1/procedures/posts/create_ad_block.proc +56 -0
  66. data/_includes/themes/j1/procedures/posts/create_series_header.proc +96 -0
  67. data/_layouts/_unused/default.html +347 -0
  68. data/_layouts/_unused/default.modal.html +291 -0
  69. data/_layouts/app.html +68 -0
  70. data/_layouts/blog_archive.html +60 -0
  71. data/_layouts/collection.html +68 -0
  72. data/_layouts/compress.html +52 -0
  73. data/_layouts/default.html +192 -0
  74. data/_layouts/home.html +80 -0
  75. data/_layouts/page.html +68 -0
  76. data/_layouts/paginator/autopage_category.html +79 -0
  77. data/_layouts/paginator/autopage_collection.html +159 -0
  78. data/_layouts/paginator/autopage_collections_tags.html +87 -0
  79. data/_layouts/paginator/autopage_tags.html +79 -0
  80. data/_layouts/post.html +68 -0
  81. data/_layouts/raw.html +71 -0
  82. data/_sass/README.md +16 -0
  83. data/assets/README.md +3 -0
  84. data/exe/j1 +26 -0
  85. data/lib/j1.rb +130 -0
  86. data/lib/j1/command.rb +23 -0
  87. data/lib/j1/commands/generate.rb +154 -0
  88. data/lib/j1/commands/help.rb +32 -0
  89. data/lib/j1/commands/module.rb +69 -0
  90. data/lib/j1/external.rb +59 -0
  91. data/lib/j1/log_adapter.rb +115 -0
  92. data/lib/j1/log_helper.rb +61 -0
  93. data/lib/j1/templates/posts/0000-00-00-welcome-to-j1-template.adoc.erb +60 -0
  94. data/lib/j1/utils.rb +330 -0
  95. data/lib/j1/utils/ansi.rb +59 -0
  96. data/lib/j1/utils/exec.rb +25 -0
  97. data/lib/j1/utils/platforms.rb +80 -0
  98. data/lib/j1/utils/win_tz.rb +73 -0
  99. data/lib/j1/version.rb +3 -0
  100. data/lib/j1_app.rb +69 -0
  101. data/lib/j1_app/j1_auth_manager/auth_manager.rb +418 -0
  102. data/lib/j1_app/j1_auth_manager/commands.rb +18 -0
  103. data/lib/j1_app/j1_auth_manager/config.rb +76 -0
  104. data/lib/j1_app/j1_auth_manager/helpers.rb +55 -0
  105. data/lib/j1_app/j1_auth_manager/helpers_disqus.rb +12 -0
  106. data/lib/j1_app/j1_auth_manager/helpers_facebook.rb +12 -0
  107. data/lib/j1_app/j1_auth_manager/helpers_github.rb +95 -0
  108. data/lib/j1_app/j1_auth_manager/helpers_patreon.rb +12 -0
  109. data/lib/j1_app/j1_auth_manager/helpers_twitter.rb +12 -0
  110. data/lib/j1_app/j1_auth_manager/warden_omniauth.rb +133 -0
  111. data/lib/j1_app/j1_site_manager/static_site.rb +16 -0
  112. data/lib/j1_app/omniauth/facebook/signed_request.rb +52 -0
  113. data/lib/j1_app/omniauth/strategies/_unused/doumart_patreon.rb +75 -0
  114. data/lib/j1_app/omniauth/strategies/_unused/my_patreon.rb +78 -0
  115. data/lib/j1_app/omniauth/strategies/disqus.rb +56 -0
  116. data/lib/j1_app/omniauth/strategies/facebook.rb +181 -0
  117. data/lib/j1_app/omniauth/strategies/github.rb +79 -0
  118. data/lib/j1_app/omniauth/strategies/patreon.rb +49 -0
  119. data/lib/j1_app/omniauth/strategies/twitter.rb +104 -0
  120. data/lib/j1_app/sinatra/extras/cookies.rb +282 -0
  121. data/lib/j1_app/sinatra/extras/index.rb +33 -0
  122. data/lib/starter_web/Gemfile +180 -0
  123. data/lib/starter_web/_config.yml +962 -0
  124. data/lib/starter_web/_data/apps/_unused/j1_colorbox.yml +100 -0
  125. data/lib/starter_web/_data/apps/_unused/j1_tocbot.yml +156 -0
  126. data/lib/starter_web/_data/apps/j1_bootstrap_gallery.yml +167 -0
  127. data/lib/starter_web/_data/apps/j1_carousel.yml +501 -0
  128. data/lib/starter_web/_data/apps/j1_justified_gallery.yml +229 -0
  129. data/lib/starter_web/_data/apps/j1_light_gallery.yml +105 -0
  130. data/lib/starter_web/_data/apps/j1_lightbox.yml +163 -0
  131. data/lib/starter_web/_data/apps/j1_link_checker.yml +21 -0
  132. data/lib/starter_web/_data/asciidoc2pdf/default-theme.yml +391 -0
  133. data/lib/starter_web/_data/asciidoc2pdf/j1-theme.yml +53 -0
  134. data/lib/starter_web/_data/builder/blog_navigator.yml +203 -0
  135. data/lib/starter_web/_data/j1_categories.yml +31 -0
  136. data/lib/starter_web/_data/j1_colors.yml +607 -0
  137. data/lib/starter_web/_data/j1_config.yml +203 -0
  138. data/lib/starter_web/_data/j1_font_sizes.yml +25 -0
  139. data/lib/starter_web/_data/j1_i18n.yml +18 -0
  140. data/lib/starter_web/_data/j1_resources.yml +631 -0
  141. data/lib/starter_web/_data/known_issues/windows/cacert.pem +3314 -0
  142. data/lib/starter_web/_data/layouts/app.yml +154 -0
  143. data/lib/starter_web/_data/layouts/blog_archive.yml +155 -0
  144. data/lib/starter_web/_data/layouts/collection.yml +157 -0
  145. data/lib/starter_web/_data/layouts/default.yml +230 -0
  146. data/lib/starter_web/_data/layouts/home.yml +203 -0
  147. data/lib/starter_web/_data/layouts/page.yml +154 -0
  148. data/lib/starter_web/_data/layouts/post.yml +164 -0
  149. data/lib/starter_web/_data/layouts/raw.yml +154 -0
  150. data/lib/starter_web/_data/modules/_unused/j1_navigator.yml +195 -0
  151. data/lib/starter_web/_data/modules/_unused/j1_navigator_menu.yml +317 -0
  152. data/lib/starter_web/_data/modules/j1_back2top.yml +120 -0
  153. data/lib/starter_web/_data/modules/j1_banner.yml +248 -0
  154. data/lib/starter_web/_data/modules/j1_cookiebar.yml +65 -0
  155. data/lib/starter_web/_data/modules/j1_footer.yml +128 -0
  156. data/lib/starter_web/_data/modules/j1_header.yml +201 -0
  157. data/lib/starter_web/_data/modules/j1_iframe_resizer.yml +234 -0
  158. data/lib/starter_web/_data/modules/j1_jekyll_search.yml +112 -0
  159. data/lib/starter_web/_data/modules/j1_log4javascript.yml +98 -0
  160. data/lib/starter_web/_data/modules/j1_navigator.yml +218 -0
  161. data/lib/starter_web/_data/modules/j1_navigator_menu.yml +265 -0
  162. data/lib/starter_web/_data/modules/j1_panel.yml +688 -0
  163. data/lib/starter_web/_data/modules/j1_parallax.yml +87 -0
  164. data/lib/starter_web/_data/modules/j1_sign_in_up.yml +18 -0
  165. data/lib/starter_web/_data/modules/j1_smooth_scroll.yml +122 -0
  166. data/lib/starter_web/_data/modules/j1_theme_switcher.yml +139 -0
  167. data/lib/starter_web/_data/modules/j1_toccer.yml +155 -0
  168. data/lib/starter_web/_data/pages/builder.yml +82 -0
  169. data/lib/starter_web/_plugins/asciidoctor-extensions/admonition-block-answer.rb +48 -0
  170. data/lib/starter_web/_plugins/asciidoctor-extensions/admonition-block-question.rb +48 -0
  171. data/lib/starter_web/_plugins/asciidoctor-extensions/carousel-block.rb +45 -0
  172. data/lib/starter_web/_plugins/asciidoctor-extensions/gist-block.rb +52 -0
  173. data/lib/starter_web/_plugins/asciidoctor-extensions/lightbox-block.rb +85 -0
  174. data/lib/starter_web/_plugins/asciidoctor-extensions/lorem-inline.rb +65 -0
  175. data/lib/starter_web/_plugins/asciidoctor-extensions/shout-block.rb +47 -0
  176. data/lib/starter_web/_plugins/asciidoctor-extensions/twitter-emoji-inline.rb +69 -0
  177. data/lib/starter_web/_plugins/debug.rb +64 -0
  178. data/lib/starter_web/_plugins/filters.rb +307 -0
  179. data/lib/starter_web/_plugins/prettify.rb +45 -0
  180. data/lib/starter_web/_plugins/simple_search_filter.rb +33 -0
  181. data/lib/starter_web/_plugins/symlink_watcher.rb +53 -0
  182. data/lib/starter_web/_rack/Procfile.nginx +1 -0
  183. data/lib/starter_web/_rack/Procfile.webrick +1 -0
  184. data/lib/starter_web/_rack/Rakefile +6 -0
  185. data/lib/starter_web/_rack/config.ru +7 -0
  186. data/lib/starter_web/_rack/dot.env +48 -0
  187. data/lib/starter_web/_rack/dot.gitignore +34 -0
  188. data/lib/starter_web/_rack/heroku.config_set +12 -0
  189. data/lib/starter_web/_rack/puma.rb +200 -0
  190. data/lib/starter_web/_sass/README.md +16 -0
  191. data/lib/starter_web/apps/calendar/index.adoc +71 -0
  192. data/lib/starter_web/apps/link_checker/index.html +24 -0
  193. data/lib/starter_web/assets/apps/link-checker/assets/img/main/img22.jpg +0 -0
  194. data/lib/starter_web/assets/apps/link-checker/assets/img/main/img22.png +0 -0
  195. data/lib/starter_web/assets/apps/link-checker/index.html +125 -0
  196. data/lib/starter_web/assets/apps/link-checker/src/bootstrap/css/bootstrap.min.css +1560 -0
  197. data/lib/starter_web/assets/apps/link-checker/src/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  198. data/lib/starter_web/assets/apps/link-checker/src/bootstrap/fonts/glyphicons-halflings-regular.svg +288 -0
  199. data/lib/starter_web/assets/apps/link-checker/src/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  200. data/lib/starter_web/assets/apps/link-checker/src/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  201. data/lib/starter_web/assets/apps/link-checker/src/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  202. data/lib/starter_web/assets/apps/link-checker/src/bootstrap/js/bootstrap.min.js +7 -0
  203. data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/LICENSE.md +11 -0
  204. data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/README.md +105 -0
  205. data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/css/font-awesome.css +2337 -0
  206. data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/css/font-awesome.min.css +4 -0
  207. data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/fonts/FontAwesome.otf +0 -0
  208. data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/fonts/fontawesome-webfont.eot +0 -0
  209. data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/fonts/fontawesome-webfont.svg +2671 -0
  210. data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/fonts/fontawesome-webfont.ttf +0 -0
  211. data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/fonts/fontawesome-webfont.woff +0 -0
  212. data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/fonts/fontawesome-webfont.woff2 +0 -0
  213. data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/How_to_use_webfonts.html +230 -0
  214. data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/Roboto-Regular-demo.html +372 -0
  215. data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/Roboto-Regular.eot +0 -0
  216. data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/Roboto-Regular.svg +621 -0
  217. data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/Roboto-Regular.ttf +0 -0
  218. data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/Roboto-Regular.woff +0 -0
  219. data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/specimen_files/Roboto-Regular-cleartype.png +0 -0
  220. data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/specimen_files/grid_12-825-55-15.css +129 -0
  221. data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/specimen_files/specimen_stylesheet.css +396 -0
  222. data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/stylesheet.css +12 -0
  223. data/lib/starter_web/assets/apps/link-checker/src/link-checker/css/link-checker.css +87 -0
  224. data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/backbone.1.3.2.js +1920 -0
  225. data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/backbone.min.js +37 -0
  226. data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/html5shiv.min.js +4 -0
  227. data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/iframeResizer.contentWindow.min.js +9 -0
  228. data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/jquery.min.js +6 -0
  229. data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/jsuri-1.1.1.min.js +2 -0
  230. data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/link-checker.js +333 -0
  231. data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/underscore.min.js +31 -0
  232. data/lib/starter_web/assets/data/animate.json +120 -0
  233. data/lib/starter_web/assets/data/ascii_code_table.json +1794 -0
  234. data/lib/starter_web/assets/data/authclient.html +371 -0
  235. data/lib/starter_web/assets/data/banner.html +350 -0
  236. data/lib/starter_web/assets/data/carousel.json +95 -0
  237. data/lib/starter_web/assets/data/colors.json +42 -0
  238. data/lib/starter_web/assets/data/font_sizes.json +42 -0
  239. data/lib/starter_web/assets/data/fontawesome_icons.json +5525 -0
  240. data/lib/starter_web/assets/data/footer.html +230 -0
  241. data/lib/starter_web/assets/data/galleries.json +143 -0
  242. data/lib/starter_web/assets/data/mdi_icons.json +14324 -0
  243. data/lib/starter_web/assets/data/menu.html +470 -0
  244. data/lib/starter_web/assets/data/objects.json +458 -0
  245. data/lib/starter_web/assets/data/panel.html +529 -0
  246. data/lib/starter_web/assets/data/search.json +114 -0
  247. data/lib/starter_web/assets/data/themes.json +59 -0
  248. data/lib/starter_web/assets/data/twa_v1.json +6978 -0
  249. data/lib/starter_web/assets/data/twa_v2.json +12812 -0
  250. data/lib/starter_web/assets/images/backgrounds/bg-1.jpg +0 -0
  251. data/lib/starter_web/assets/images/backgrounds/bg-2.jpg +0 -0
  252. data/lib/starter_web/assets/images/backgrounds/bg-3.jpg +0 -0
  253. data/lib/starter_web/assets/images/backgrounds/bg-4.jpg +0 -0
  254. data/lib/starter_web/assets/images/backgrounds/bg-7.jpg +0 -0
  255. data/lib/starter_web/assets/images/blog/featured/img3.jpg +0 -0
  256. data/lib/starter_web/assets/images/blog/featured/jekyll.1200x400.png +0 -0
  257. data/lib/starter_web/assets/images/blog/featured/jekyll.png +0 -0
  258. data/lib/starter_web/assets/images/blog/featured/staticgen.jpg +0 -0
  259. data/lib/starter_web/assets/images/blog/featured/what-is-a-baseurl.jpg +0 -0
  260. data/lib/starter_web/assets/images/blog/series/j1_using_docker/j1_docker_banner.1280x500.png +0 -0
  261. data/lib/starter_web/assets/images/blog/series/j1_using_docker/kinematic_alpha.1280x600.png +0 -0
  262. data/lib/starter_web/assets/images/blog/series/j1_using_docker/kinematic_j1.1280x300.png +0 -0
  263. data/lib/starter_web/assets/images/blog/series/j1_using_docker/windows_docker_banner.1280x500.png +0 -0
  264. data/lib/starter_web/assets/images/blog/wikipedia/columbia-river.1200x400.jpg +0 -0
  265. data/lib/starter_web/assets/images/blog/wikipedia/minneapolis.1200x400.jpg +0 -0
  266. data/lib/starter_web/assets/images/blog/wikipedia/narcise-snake-pits.1200x400.jpg +0 -0
  267. data/lib/starter_web/assets/images/carousel/cats/cat-1.jpg +0 -0
  268. data/lib/starter_web/assets/images/carousel/cats/cat-2.jpg +0 -0
  269. data/lib/starter_web/assets/images/carousel/cats/cat-3.jpg +0 -0
  270. data/lib/starter_web/assets/images/carousel/cats/cat-4.jpg +0 -0
  271. data/lib/starter_web/assets/images/carousel/cats/cat-5.jpg +0 -0
  272. data/lib/starter_web/assets/images/carousel/cats/cat-6.jpg +0 -0
  273. data/lib/starter_web/assets/images/carousel/cats/cat-7.jpg +0 -0
  274. data/lib/starter_web/assets/images/carousel/cats/cat-8.jpg +0 -0
  275. data/lib/starter_web/assets/images/carousel/katarina/katarina-1.jpg +0 -0
  276. data/lib/starter_web/assets/images/carousel/katarina/katarina-2.jpg +0 -0
  277. data/lib/starter_web/assets/images/carousel/katarina/katarina-3.jpg +0 -0
  278. data/lib/starter_web/assets/images/carousel/katarina/katarina-4.jpg +0 -0
  279. data/lib/starter_web/assets/images/carousel/katarina/katarina-5.jpg +0 -0
  280. data/lib/starter_web/assets/images/gallery/justified_gallery/000_6791628438_affaa19e10_b.jpg +0 -0
  281. data/lib/starter_web/assets/images/gallery/justified_gallery/000_6798453217_72dea2d06e_b.jpg +0 -0
  282. data/lib/starter_web/assets/images/gallery/justified_gallery/000_6806687375_07d2b7a1f9_b.jpg +0 -0
  283. data/lib/starter_web/assets/images/gallery/justified_gallery/000_6840627709_92ed52fb41_b.jpg +0 -0
  284. data/lib/starter_web/assets/images/gallery/justified_gallery/000_6876412479_6268c6e2aa_b.jpg +0 -0
  285. data/lib/starter_web/assets/images/gallery/justified_gallery/000_6880502467_d4b3c4b2a8_b.jpg +0 -0
  286. data/lib/starter_web/assets/images/gallery/justified_gallery/13824322785_104dc0968c_b.jpg +0 -0
  287. data/lib/starter_web/assets/images/gallery/justified_gallery/13824674674_ca1e482394_b.jpg +0 -0
  288. data/lib/starter_web/assets/images/gallery/justified_gallery/16961685188_f130144d60_b.jpg +0 -0
  289. data/lib/starter_web/assets/images/gallery/justified_gallery/23753792354_bd75d8dabc_b.jpg +0 -0
  290. data/lib/starter_web/assets/images/gallery/justified_gallery/24014174029_2cfa940264_b.jpg +0 -0
  291. data/lib/starter_web/assets/images/gallery/justified_gallery/24096687789_c37d45712f_b.jpg +0 -0
  292. data/lib/starter_web/assets/images/gallery/justified_gallery/6791628438_affaa19e10_b.jpg +0 -0
  293. data/lib/starter_web/assets/images/gallery/justified_gallery/6798453217_72dea2d06e_b.jpg +0 -0
  294. data/lib/starter_web/assets/images/gallery/justified_gallery/6806687375_07d2b7a1f9_b.jpg +0 -0
  295. data/lib/starter_web/assets/images/gallery/justified_gallery/6812090617_5fd5bbdda0_b.jpg +0 -0
  296. data/lib/starter_web/assets/images/gallery/justified_gallery/6840627709_92ed52fb41_b.jpg +0 -0
  297. data/lib/starter_web/assets/images/gallery/justified_gallery/6841267340_855273fd7e_b.jpg +0 -0
  298. data/lib/starter_web/assets/images/gallery/justified_gallery/6876412479_6268c6e2aa_b.jpg +0 -0
  299. data/lib/starter_web/assets/images/gallery/justified_gallery/6880502467_d4b3c4b2a8_b.jpg +0 -0
  300. data/lib/starter_web/assets/images/gallery/justified_gallery/6916180091_9c9559e463_b.jpg +0 -0
  301. data/lib/starter_web/assets/images/gallery/justified_gallery/7002395006_29fdc85f7a_b.jpg +0 -0
  302. data/lib/starter_web/assets/images/gallery/justified_gallery/7062575651_b23918b11a_b.jpg +0 -0
  303. data/lib/starter_web/assets/images/gallery/justified_gallery/7822678460_ee98ff1f69_b.jpg +0 -0
  304. data/lib/starter_web/assets/images/gallery/justified_gallery/7948632554_01f6ae6b6f_b.jpg +0 -0
  305. data/lib/starter_web/assets/images/gallery/justified_gallery/8157236803_78aa1698b6_b.jpg +0 -0
  306. data/lib/starter_web/assets/images/gallery/justified_gallery/8400794773_932654a20e_b.jpg +0 -0
  307. data/lib/starter_web/assets/images/gallery/justified_gallery/8811828736_88392f614a_b.jpg +0 -0
  308. data/lib/starter_web/assets/images/gallery/justified_gallery/8842312290_f310d491f4_b.jpg +0 -0
  309. data/lib/starter_web/assets/images/icons/asciidoc/logo-512x512.png +0 -0
  310. data/lib/starter_web/assets/images/icons/bootstrap/bootstrap-solid-32x32.png +0 -0
  311. data/lib/starter_web/assets/images/icons/bootstrap/bs-docs-masthead-pattern.png +0 -0
  312. data/lib/starter_web/assets/images/icons/bootstrap/scalable/bootstrap-outline.svg +20 -0
  313. data/lib/starter_web/assets/images/icons/bootstrap/scalable/bootstrap-punchout.svg +18 -0
  314. data/lib/starter_web/assets/images/icons/bootstrap/scalable/bootstrap-solid.svg +17 -0
  315. data/lib/starter_web/assets/images/icons/components/angular.ui.png +0 -0
  316. data/lib/starter_web/assets/images/icons/components/angularjs.png +0 -0
  317. data/lib/starter_web/assets/images/icons/components/aws.png +0 -0
  318. data/lib/starter_web/assets/images/icons/components/bootstrap.png +0 -0
  319. data/lib/starter_web/assets/images/icons/components/c9.png +0 -0
  320. data/lib/starter_web/assets/images/icons/components/chai.png +0 -0
  321. data/lib/starter_web/assets/images/icons/components/emmet.png +0 -0
  322. data/lib/starter_web/assets/images/icons/components/express.png +0 -0
  323. data/lib/starter_web/assets/images/icons/components/git.png +0 -0
  324. data/lib/starter_web/assets/images/icons/components/github.png +0 -0
  325. data/lib/starter_web/assets/images/icons/components/gulp.png +0 -0
  326. data/lib/starter_web/assets/images/icons/components/heroku.png +0 -0
  327. data/lib/starter_web/assets/images/icons/components/htmlcss-1.png +0 -0
  328. data/lib/starter_web/assets/images/icons/components/htmlcss-2.png +0 -0
  329. data/lib/starter_web/assets/images/icons/components/jasmine.png +0 -0
  330. data/lib/starter_web/assets/images/icons/components/javascript.png +0 -0
  331. data/lib/starter_web/assets/images/icons/components/jquery.png +0 -0
  332. data/lib/starter_web/assets/images/icons/components/kanban.png +0 -0
  333. data/lib/starter_web/assets/images/icons/components/leanux.png +0 -0
  334. data/lib/starter_web/assets/images/icons/components/linkedin.png +0 -0
  335. data/lib/starter_web/assets/images/icons/components/mean.png +0 -0
  336. data/lib/starter_web/assets/images/icons/components/mongodb.png +0 -0
  337. data/lib/starter_web/assets/images/icons/components/node.png +0 -0
  338. data/lib/starter_web/assets/images/icons/components/postgresql.png +0 -0
  339. data/lib/starter_web/assets/images/icons/components/protractor.png +0 -0
  340. data/lib/starter_web/assets/images/icons/components/rails.png +0 -0
  341. data/lib/starter_web/assets/images/icons/components/ruby.png +0 -0
  342. data/lib/starter_web/assets/images/icons/components/sass.png +0 -0
  343. data/lib/starter_web/assets/images/icons/components/scrum.png +0 -0
  344. data/lib/starter_web/assets/images/icons/components/twitter.png +0 -0
  345. data/lib/starter_web/assets/images/icons/j1/favicon.ico +0 -0
  346. data/lib/starter_web/assets/images/icons/j1/j1-32x32.ico +0 -0
  347. data/lib/starter_web/assets/images/icons/j1/j1-512x512.png +0 -0
  348. data/lib/starter_web/assets/images/icons/j1/j1-64x64.png +0 -0
  349. data/lib/starter_web/assets/images/icons/j1/j1.ico +0 -0
  350. data/lib/starter_web/assets/images/icons/j1/scalable/j1.svg +2037 -0
  351. data/lib/starter_web/assets/images/icons/social/amazon.png +0 -0
  352. data/lib/starter_web/assets/images/icons/social/behance.png +0 -0
  353. data/lib/starter_web/assets/images/icons/social/blogger.png +0 -0
  354. data/lib/starter_web/assets/images/icons/social/deviantart.png +0 -0
  355. data/lib/starter_web/assets/images/icons/social/dribbble.png +0 -0
  356. data/lib/starter_web/assets/images/icons/social/dropbox.png +0 -0
  357. data/lib/starter_web/assets/images/icons/social/evernote.png +0 -0
  358. data/lib/starter_web/assets/images/icons/social/facebook.png +0 -0
  359. data/lib/starter_web/assets/images/icons/social/forrst.png +0 -0
  360. data/lib/starter_web/assets/images/icons/social/github.png +0 -0
  361. data/lib/starter_web/assets/images/icons/social/googleplus.png +0 -0
  362. data/lib/starter_web/assets/images/icons/social/instagram.png +0 -0
  363. data/lib/starter_web/assets/images/icons/social/jolicloud.png +0 -0
  364. data/lib/starter_web/assets/images/icons/social/last-fm.png +0 -0
  365. data/lib/starter_web/assets/images/icons/social/linkedin.png +0 -0
  366. data/lib/starter_web/assets/images/icons/social/picasa.png +0 -0
  367. data/lib/starter_web/assets/images/icons/social/pintrest.png +0 -0
  368. data/lib/starter_web/assets/images/icons/social/rss.png +0 -0
  369. data/lib/starter_web/assets/images/icons/social/skype.png +0 -0
  370. data/lib/starter_web/assets/images/icons/social/spotify.png +0 -0
  371. data/lib/starter_web/assets/images/icons/social/stumbleupon.png +0 -0
  372. data/lib/starter_web/assets/images/icons/social/tumblr.png +0 -0
  373. data/lib/starter_web/assets/images/icons/social/twitter.png +0 -0
  374. data/lib/starter_web/assets/images/icons/social/vimeo.png +0 -0
  375. data/lib/starter_web/assets/images/icons/social/vk.png +0 -0
  376. data/lib/starter_web/assets/images/icons/social/wordpress.png +0 -0
  377. data/lib/starter_web/assets/images/icons/social/xing.png +0 -0
  378. data/lib/starter_web/assets/images/icons/social/yahoo.png +0 -0
  379. data/lib/starter_web/assets/images/icons/social/youtube.png +0 -0
  380. data/lib/starter_web/assets/images/lightbox/close.png +0 -0
  381. data/lib/starter_web/assets/images/lightbox/loading.gif +0 -0
  382. data/lib/starter_web/assets/images/lightbox/next.png +0 -0
  383. data/lib/starter_web/assets/images/lightbox/prev.png +0 -0
  384. data/lib/starter_web/assets/images/master_header/aaron-burden-1200.jpg +0 -0
  385. data/lib/starter_web/assets/images/master_header/alexey-ruban-slider.jpg +0 -0
  386. data/lib/starter_web/assets/images/master_header/chuttersnap-1200.jpg +0 -0
  387. data/lib/starter_web/assets/images/master_header/clark-tibbs-do-something.jpg +0 -0
  388. data/lib/starter_web/assets/images/master_header/docker_banner_l.1280x500.png +0 -0
  389. data/lib/starter_web/assets/images/master_header/docker_banner_r.1280x500.png +0 -0
  390. data/lib/starter_web/assets/images/master_header/homehead-default-1200.jpg +0 -0
  391. data/lib/starter_web/assets/images/master_header/ideas-start-here.1200x800.png +0 -0
  392. data/lib/starter_web/assets/images/master_header/ideas-start-here.1920x1200.png +0 -0
  393. data/lib/starter_web/assets/images/master_header/ideas-start-here.jpg +0 -0
  394. data/lib/starter_web/assets/images/master_header/maarten-van-den-heuvel-1200.jpg +0 -0
  395. data/lib/starter_web/assets/images/master_header/pagehead-default-1200.jpg +0 -0
  396. data/lib/starter_web/assets/images/master_header/stefan-stefancik-1200.jpg +0 -0
  397. data/lib/starter_web/assets/images/master_header/water-journal-1200.jpg +0 -0
  398. data/lib/starter_web/assets/images/md-kit/avatar.jpg +0 -0
  399. data/lib/starter_web/assets/images/md-kit/bg7.jpg +0 -0
  400. data/lib/starter_web/assets/images/md-kit/blog1.jpg +0 -0
  401. data/lib/starter_web/assets/images/md-kit/blog5.jpg +0 -0
  402. data/lib/starter_web/assets/images/md-kit/blog6.jpg +0 -0
  403. data/lib/starter_web/assets/images/md-kit/card-blog2.jpg +0 -0
  404. data/lib/starter_web/assets/images/md-kit/card-blog3.jpg +0 -0
  405. data/lib/starter_web/assets/images/md-kit/card-profile1.jpg +0 -0
  406. data/lib/starter_web/assets/images/md-kit/card-profile4.jpg +0 -0
  407. data/lib/starter_web/assets/images/md-kit/card-profile5-square.jpg +0 -0
  408. data/lib/starter_web/assets/images/md-kit/kendall.jpg +0 -0
  409. data/lib/starter_web/assets/images/md-kit/kendall.png +0 -0
  410. data/lib/starter_web/assets/images/md-kit/marc.jpg +0 -0
  411. data/lib/starter_web/assets/images/md-kit/office1.jpg +0 -0
  412. data/lib/starter_web/assets/images/old_times/image_01.jpg +0 -0
  413. data/lib/starter_web/assets/images/old_times/image_02.jpg +0 -0
  414. data/lib/starter_web/assets/images/old_times/image_03.jpg +0 -0
  415. data/lib/starter_web/assets/images/old_times/image_04.jpg +0 -0
  416. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/001_menubar_example.png +0 -0
  417. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/005_navbar.png +0 -0
  418. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/005_navigation_bar.png +0 -0
  419. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/006_navigation_side_bar.png +0 -0
  420. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/006_searchbar.png +0 -0
  421. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/007_sidebar.png +0 -0
  422. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/008_navbar_blank.png +0 -0
  423. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/010_nav_bar.png +0 -0
  424. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/010_top_search.png +0 -0
  425. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/012_top_search.png +0 -0
  426. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/015_quicklink_bar.png +0 -0
  427. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/017_side_bar.png +0 -0
  428. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/020_menu_bar.png +0 -0
  429. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/2-tier-architecture-1280x600.png +0 -0
  430. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/3-tier-architecture-1280x600.png +0 -0
  431. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/download_image_create_starter.800x600.png +0 -0
  432. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/j1-app-authclient-icon.1280x600.png +0 -0
  433. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/j1-app-authclient-signin.1280x700.png +0 -0
  434. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/j1-app-authclient-signout.1280x700.png +0 -0
  435. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/j1-disqus-comment-dialog.1280x500.png +0 -0
  436. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/j1_development_system-1280x600.png +0 -0
  437. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/j1_runtime_system-1280x600.png +0 -0
  438. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/rack_based_web_app-1280x600.png +0 -0
  439. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/rack_based_web_app.png +0 -0
  440. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/run_container_build_start_web.800x400.png +0 -0
  441. data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/run_starter_web.800x700.png +0 -0
  442. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/130_layout_inheritance.png +0 -0
  443. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/content_inheritance.png +0 -0
  444. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/content_inheritance_thumb.png +0 -0
  445. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/html_layout.png +0 -0
  446. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/j1-quickstart-windows.png +0 -0
  447. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/j1-template-theme.png +0 -0
  448. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/j1_layout.png +0 -0
  449. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/jekyll-minima-theme.png +0 -0
  450. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/lane_inheritance.png +0 -0
  451. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/layout_inheritance.png +0 -0
  452. data/lib/starter_web/assets/images/pages/modals/01_frame_modal.jpg +0 -0
  453. data/lib/starter_web/assets/images/pages/modals/02_site_modal.jpg +0 -0
  454. data/lib/starter_web/assets/images/pages/modals/03_central_modal.jpg +0 -0
  455. data/lib/starter_web/assets/images/pages/modals/04_fluid_modal.jpg +0 -0
  456. data/lib/starter_web/assets/images/pages/previewer/bs-color-palette.png +0 -0
  457. data/lib/starter_web/assets/images/pages/previewer/material-design-color-palette.jpg +0 -0
  458. data/lib/starter_web/assets/images/pages/previewer/material-design-color-palette.png +0 -0
  459. data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/image-1.jpg +0 -0
  460. data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/image-2.jpg +0 -0
  461. data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/image-3.jpg +0 -0
  462. data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/image-4.jpg +0 -0
  463. data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/image-5.jpg +0 -0
  464. data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/tables-1920.jpg +0 -0
  465. data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/thumb-1.jpg +0 -0
  466. data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/thumb-2.jpg +0 -0
  467. data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/thumb-3.jpg +0 -0
  468. data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/thumb-4.jpg +0 -0
  469. data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/thumb-5.jpg +0 -0
  470. data/lib/starter_web/assets/images/pages/roundtrip/cards-1920.jpg +0 -0
  471. data/lib/starter_web/assets/images/pages/roundtrip/icon-fonts-1920.jpg +0 -0
  472. data/lib/starter_web/assets/images/pages/roundtrip/meeting.jpg +0 -0
  473. data/lib/starter_web/assets/images/pages/roundtrip/theme-1920.jpg +0 -0
  474. data/lib/starter_web/assets/images/pages/roundtrip/typography-1920.jpg +0 -0
  475. data/lib/starter_web/assets/images/patterns/1x1.png +0 -0
  476. data/lib/starter_web/assets/images/patterns/gridtile.png +0 -0
  477. data/lib/starter_web/assets/images/quotes/default.png +0 -0
  478. data/lib/starter_web/assets/images/quotes/people.png +0 -0
  479. data/lib/starter_web/assets/images/spinner/loader1.gif +0 -0
  480. data/lib/starter_web/assets/images/spinner/loader2.gif +0 -0
  481. data/lib/starter_web/assets/images/widescreen/featured-1920x800.jpg +0 -0
  482. data/lib/starter_web/assets/images/widescreen/people.jpg +0 -0
  483. data/lib/starter_web/assets/themes/j1/core/css/bootstrap.css +6328 -0
  484. data/lib/starter_web/assets/themes/j1/core/css/bootstrap.min.css +6 -0
  485. data/lib/starter_web/assets/themes/j1/core/css/custom.scss +28 -0
  486. data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.css +3333 -0
  487. data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.min.css +1 -0
  488. data/lib/starter_web/assets/themes/j1/core/css/uno.css +11580 -0
  489. data/lib/starter_web/assets/themes/j1/core/css/uno.min.css +1 -0
  490. data/lib/starter_web/assets/themes/j1/core/css/uno.scss +28 -0
  491. data/lib/starter_web/assets/themes/j1/core/css/vendor.css +34598 -0
  492. data/lib/starter_web/assets/themes/j1/core/css/vendor.min.css +8 -0
  493. data/lib/starter_web/assets/themes/j1/core/css/vendor.scss +28 -0
  494. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.eot +0 -0
  495. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.svg +990 -0
  496. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.ttf +0 -0
  497. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.woff +0 -0
  498. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.woff2 +0 -0
  499. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.eot +0 -0
  500. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.svg +363 -0
  501. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.ttf +0 -0
  502. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.woff +0 -0
  503. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.woff2 +0 -0
  504. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.eot +0 -0
  505. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.svg +1413 -0
  506. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.ttf +0 -0
  507. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.woff +0 -0
  508. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.woff2 +0 -0
  509. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/metadata/icons.json +26790 -0
  510. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/metadata/icons.yml +9088 -0
  511. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/metadata/shims.json +2302 -0
  512. data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/metadata/shims.yml +292 -0
  513. data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.eot +0 -0
  514. data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.svg +6369 -0
  515. data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.ttf +0 -0
  516. data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.woff +0 -0
  517. data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.woff2 +0 -0
  518. data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/license.md +97 -0
  519. data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/metadata/icons.json +8186 -0
  520. data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/metadata/icons.yml +5857 -0
  521. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/OpenSansEmoji.ttf +0 -0
  522. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Black.ttf +0 -0
  523. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-BlackItalic.ttf +0 -0
  524. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.ttf +0 -0
  525. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff +0 -0
  526. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff2 +0 -0
  527. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-BoldItalic.ttf +0 -0
  528. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Italic.ttf +0 -0
  529. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.ttf +0 -0
  530. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff +0 -0
  531. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff2 +0 -0
  532. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-LightItalic.ttf +0 -0
  533. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.ttf +0 -0
  534. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff +0 -0
  535. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff2 +0 -0
  536. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-MediumItalic.ttf +0 -0
  537. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.ttf +0 -0
  538. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff +0 -0
  539. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff2 +0 -0
  540. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.ttf +0 -0
  541. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff +0 -0
  542. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff2 +0 -0
  543. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-ThinItalic.ttf +0 -0
  544. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-bold-ascii.ttf +0 -0
  545. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-bold_italic-ascii.ttf +0 -0
  546. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-italic-ascii.ttf +0 -0
  547. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-regular-ascii-conums.ttf +0 -0
  548. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/mplus1p-regular-fallback.ttf +0 -0
  549. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/notoserif-bold-subset.ttf +0 -0
  550. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/notoserif-bold_italic-subset.ttf +0 -0
  551. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/notoserif-italic-subset.ttf +0 -0
  552. data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/notoserif-regular-subset.ttf +0 -0
  553. data/lib/starter_web/assets/themes/j1/core/js/adapter/back2top.js +141 -0
  554. data/lib/starter_web/assets/themes/j1/core/js/adapter/bs_gallery.js +282 -0
  555. data/lib/starter_web/assets/themes/j1/core/js/adapter/cookiebar.js +112 -0
  556. data/lib/starter_web/assets/themes/j1/core/js/adapter/custom.js +92 -0
  557. data/lib/starter_web/assets/themes/j1/core/js/adapter/iframer.js +99 -0
  558. data/lib/starter_web/assets/themes/j1/core/js/adapter/lightbox.js +95 -0
  559. data/lib/starter_web/assets/themes/j1/core/js/adapter/logger.js +153 -0
  560. data/lib/starter_web/assets/themes/j1/core/js/adapter/master_header.js +488 -0
  561. data/lib/starter_web/assets/themes/j1/core/js/adapter/navigator.js +687 -0
  562. data/lib/starter_web/assets/themes/j1/core/js/adapter/scroller.js +110 -0
  563. data/lib/starter_web/assets/themes/j1/core/js/adapter/searcher.js +111 -0
  564. data/lib/starter_web/assets/themes/j1/core/js/adapter/switcher.js +113 -0
  565. data/lib/starter_web/assets/themes/j1/core/js/adapter/template.js +608 -0
  566. data/lib/starter_web/assets/themes/j1/core/js/adapter/toccer.js +295 -0
  567. data/lib/starter_web/assets/themes/j1/core/js/template.js +79 -0
  568. data/lib/starter_web/assets/themes/j1/core/js/template.js.map +1 -0
  569. data/lib/starter_web/assets/themes/j1/core/js/template.min.js +1 -0
  570. data/lib/starter_web/assets/themes/j1/extensions/carousel/css/carousel.css +81 -0
  571. data/lib/starter_web/assets/themes/j1/extensions/carousel/css/carousel.min.css +17 -0
  572. data/lib/starter_web/assets/themes/j1/extensions/carousel/css/carousel_transitions.css +184 -0
  573. data/lib/starter_web/assets/themes/j1/extensions/carousel/css/carousel_transitions.min.css +17 -0
  574. data/lib/starter_web/assets/themes/j1/extensions/carousel/css/theme/uno.css +190 -0
  575. data/lib/starter_web/assets/themes/j1/extensions/carousel/css/theme/uno.min.css +17 -0
  576. data/lib/starter_web/assets/themes/j1/extensions/carousel/images/ajax-loader.gif +0 -0
  577. data/lib/starter_web/assets/themes/j1/extensions/carousel/images/grabbing.png +0 -0
  578. data/lib/starter_web/assets/themes/j1/extensions/carousel/images/owl-logo.png +0 -0
  579. data/lib/starter_web/assets/themes/j1/extensions/carousel/images/owl.video.play.png +0 -0
  580. data/lib/starter_web/assets/themes/j1/extensions/carousel/js/carousel.js +1517 -0
  581. data/lib/starter_web/assets/themes/j1/extensions/carousel/js/carousel.min.js +57 -0
  582. data/lib/starter_web/assets/themes/j1/extensions/carousel/js/j1_adapter_carousel.js +228 -0
  583. data/lib/starter_web/assets/themes/j1/extensions/datatables/css/DataTables-1.10.16/images/sort_asc.png +0 -0
  584. data/lib/starter_web/assets/themes/j1/extensions/datatables/css/DataTables-1.10.16/images/sort_asc_disabled.png +0 -0
  585. data/lib/starter_web/assets/themes/j1/extensions/datatables/css/DataTables-1.10.16/images/sort_both.png +0 -0
  586. data/lib/starter_web/assets/themes/j1/extensions/datatables/css/DataTables-1.10.16/images/sort_desc.png +0 -0
  587. data/lib/starter_web/assets/themes/j1/extensions/datatables/css/DataTables-1.10.16/images/sort_desc_disabled.png +0 -0
  588. data/lib/starter_web/assets/themes/j1/extensions/datatables/css/datatables.css +1113 -0
  589. data/lib/starter_web/assets/themes/j1/extensions/datatables/css/datatables.min.css +136 -0
  590. data/lib/starter_web/assets/themes/j1/extensions/datatables/css/theme/uno.css +473 -0
  591. data/lib/starter_web/assets/themes/j1/extensions/datatables/js/datatables.js +95360 -0
  592. data/lib/starter_web/assets/themes/j1/extensions/datatables/js/datatables.min.js +533 -0
  593. data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/frame.absolute.html +86 -0
  594. data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/frame.content.html +58 -0
  595. data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/frame.hover.html +51 -0
  596. data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/frame.nested.html +68 -0
  597. data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/frame.textarea.html +46 -0
  598. data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/frame.tolerance.html +79 -0
  599. data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/index.html +70 -0
  600. data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/two.html +71 -0
  601. data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.js +1104 -0
  602. data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.map +1 -0
  603. data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.min.js +10 -0
  604. data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/css/justifiedGallery.css +103 -0
  605. data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/css/justifiedGallery.min.css +8 -0
  606. data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/css/theme/uno.css +23 -0
  607. data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/js/j1_adapter_justified_gallery.js +262 -0
  608. data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/js/justifiedGallery.3.6.3.js +1145 -0
  609. data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/js/justifiedGallery.js +1147 -0
  610. data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/js/justifiedGallery.min.js +9 -0
  611. data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/less/.csslintrc +19 -0
  612. data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/less/justifiedGallery.less +113 -0
  613. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/css/lg-fb-comment-box.css +57 -0
  614. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/css/lg-fb-comment-box.min.css +1 -0
  615. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/css/lg-transitions.css +777 -0
  616. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/css/lg-transitions.min.css +1 -0
  617. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/css/lightgallery.css +980 -0
  618. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/css/lightgallery.min.css +1 -0
  619. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/css/theme/uno.css +330 -0
  620. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/fonts/lg.eot +0 -0
  621. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/fonts/lg.svg +47 -0
  622. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/fonts/lg.ttf +0 -0
  623. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/fonts/lg.woff +0 -0
  624. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/animation-w.png +0 -0
  625. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/customize-w.png +0 -0
  626. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/dynamic-w.png +0 -0
  627. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/facebook-icon.svg +10 -0
  628. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/googleplus-icon.svg +30 -0
  629. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/html5-w.png +0 -0
  630. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/linked-in.png +0 -0
  631. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/module-w.png +0 -0
  632. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/play-button.png +0 -0
  633. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/responsive-w.png +0 -0
  634. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/thumb-w.png +0 -0
  635. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/touch-w.png +0 -0
  636. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/twitter-icon.svg +15 -0
  637. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/twitter.png +0 -0
  638. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/video1-w.png +0 -0
  639. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/zoom-w.png +0 -0
  640. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/zoom.png +0 -0
  641. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/loading.gif +0 -0
  642. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/video-play.png +0 -0
  643. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/vimeo-play.png +0 -0
  644. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/youtube-play.png +0 -0
  645. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-autoplay.js +206 -0
  646. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-autoplay.min.js +4 -0
  647. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-fullscreen.js +116 -0
  648. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-fullscreen.min.js +4 -0
  649. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-hash.js +101 -0
  650. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-hash.min.js +4 -0
  651. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-pager.js +105 -0
  652. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-pager.min.js +4 -0
  653. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-share.js +107 -0
  654. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-share.min.js +4 -0
  655. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-thumbnail.js +478 -0
  656. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-thumbnail.min.js +4 -0
  657. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-video.js +331 -0
  658. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-video.min.js +4 -0
  659. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-zoom.js +527 -0
  660. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-zoom.min.js +4 -0
  661. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lightgallery.js +1364 -0
  662. data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lightgallery.min.js +4 -0
  663. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.dark/theme.css +78 -0
  664. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.light/theme.css +77 -0
  665. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.monokai.dark/theme.css +78 -0
  666. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.monokai.light/theme.css +77 -0
  667. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.monokai/theme.css +78 -0
  668. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.solarized.dark/theme.css +78 -0
  669. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.solarized.light/theme.css +77 -0
  670. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.solarized/theme.css +77 -0
  671. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16/theme.css +77 -0
  672. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/colorful/theme.css +170 -0
  673. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/github/theme.css +209 -0
  674. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/gruvbox.dark/theme.css +84 -0
  675. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/gruvbox.light/theme.css +84 -0
  676. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/gruvbox/theme.css +84 -0
  677. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/igorpro/theme.css +32 -0
  678. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/molokai/theme.css +208 -0
  679. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/monokai.sublime/theme.css +187 -0
  680. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/monokai/theme.css +210 -0
  681. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/pastie/theme.css +146 -0
  682. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/thankful_eyes/theme.css +173 -0
  683. data/lib/starter_web/assets/themes/j1/extensions/rouge/css/tulip/theme.css +164 -0
  684. data/lib/starter_web/assets/themes/j1/extensions/videojs/css/font/vjs.ttf +0 -0
  685. data/lib/starter_web/assets/themes/j1/extensions/videojs/css/font/vjs.woff +0 -0
  686. data/lib/starter_web/assets/themes/j1/extensions/videojs/css/video-js.4.12.15.css +1011 -0
  687. data/lib/starter_web/assets/themes/j1/extensions/videojs/css/video-js.4.12.15.min.css +5 -0
  688. data/lib/starter_web/assets/themes/j1/extensions/videojs/js/video.4.12.15.min.js +203 -0
  689. data/lib/starter_web/assets/themes/j1/extensions/vimeo_player/js/froogaloop2.min.js +4 -0
  690. data/lib/starter_web/assets/videos/gallery/video1-poster.jpg +0 -0
  691. data/lib/starter_web/assets/videos/gallery/video1-thumb.jpg +0 -0
  692. data/lib/starter_web/assets/videos/gallery/video2-poster.jpg +0 -0
  693. data/lib/starter_web/assets/videos/gallery/video2-thumb.jpg +0 -0
  694. data/lib/starter_web/assets/videos/gallery/video_adele-poster.jpg +0 -0
  695. data/lib/starter_web/assets/videos/gallery/video_gaga-poster.jpg +0 -0
  696. data/lib/starter_web/assets/videos/gallery/video_gwen-poster.jpg +0 -0
  697. data/lib/starter_web/assets/videos/gallery/video_michelle-poster.jpg +0 -0
  698. data/lib/starter_web/assets/videos/headers/still/underground-broadway.png +0 -0
  699. data/lib/starter_web/assets/videos/headers/still/victoria-oskolovich-on-vimeo.png +0 -0
  700. data/lib/starter_web/collections/_biography/a-life-in-questions.adoc +76 -0
  701. data/lib/starter_web/collections/_biography/born-to-run.adoc +73 -0
  702. data/lib/starter_web/collections/_biography/forty-autumns.adoc +70 -0
  703. data/lib/starter_web/collections/_biography/not-dead-yet.adoc +64 -0
  704. data/lib/starter_web/collections/_biography/princess-diarist-the.adoc +67 -0
  705. data/lib/starter_web/collections/_biography/when-breath-becomes-air.adoc +68 -0
  706. data/lib/starter_web/collections/_fantasy/harry-potter-deathly-hallows.adoc +59 -0
  707. data/lib/starter_web/collections/_fantasy/harry-potter-philosophers-stone.adoc +59 -0
  708. data/lib/starter_web/collections/_fantasy/mistborn-trilogy.adoc +57 -0
  709. data/lib/starter_web/collections/_fantasy/ready-player-one.adoc +58 -0
  710. data/lib/starter_web/collections/_fantasy/sword-of-destiny.adoc +57 -0
  711. data/lib/starter_web/collections/_fantasy/terry-pratchet-diary-2017.adoc +55 -0
  712. data/lib/starter_web/collections/_featured/static-site-generators.adoc +43 -0
  713. data/lib/starter_web/collections/_romance/breath-of-snow-and-ashes-a.adoc +62 -0
  714. data/lib/starter_web/collections/_romance/dressmaker-the.adoc +56 -0
  715. data/lib/starter_web/collections/_romance/fiery-cross-the.adoc +64 -0
  716. data/lib/starter_web/collections/_romance/it-ends-with-us.adoc +61 -0
  717. data/lib/starter_web/collections/_romance/outlander-novel.adoc +73 -0
  718. data/lib/starter_web/collections/_romance/virgins-outlander-short-story.adoc +57 -0
  719. data/lib/starter_web/collections/posts/featured/_posts/0000-00-00-welcome-to-j1-template.adoc.erb +60 -0
  720. data/lib/starter_web/collections/posts/featured/_posts/000_includes/attributes.asciidoc +15 -0
  721. data/lib/starter_web/collections/posts/featured/_posts/2017-05-01-confusion-about-base-url.adoc +102 -0
  722. data/lib/starter_web/collections/posts/featured/_posts/2017-06-01-top-open-source-static-site-generators.adoc +79 -0
  723. data/lib/starter_web/collections/posts/featured/_posts/2017-07-01-what-is-a-static-site.adoc +146 -0
  724. data/lib/starter_web/collections/posts/series/_posts/000_includes/attributes.asciidoc +66 -0
  725. data/lib/starter_web/collections/posts/series/_posts/000_includes/documents/100-docker-using-shared-folders.asciidoc +415 -0
  726. data/lib/starter_web/collections/posts/series/_posts/000_includes/documents/loop.sh +28 -0
  727. data/lib/starter_web/collections/posts/series/_posts/000_includes/tables/debug_variables.asciidoc +47 -0
  728. data/lib/starter_web/collections/posts/series/_posts/2018-11-01-docker-using-shared-folders.adoc +94 -0
  729. data/lib/starter_web/collections/posts/wikipedia/_posts/2016-11-20-minneapolis.adoc +112 -0
  730. data/lib/starter_web/collections/posts/wikipedia/_posts/2016-11-24-narcisse-snake-pits.adoc +81 -0
  731. data/lib/starter_web/collections/posts/wikipedia/_posts/2016-11-26-columbia-river.adoc +68 -0
  732. data/lib/starter_web/favicon.ico +0 -0
  733. data/lib/starter_web/index.html +57 -0
  734. data/lib/starter_web/package.json +104 -0
  735. data/lib/starter_web/pages/about/about_site.adoc +40 -0
  736. data/lib/starter_web/pages/about/about_you.adoc +103 -0
  737. data/lib/starter_web/pages/blog/navigator/archive.html +97 -0
  738. data/lib/starter_web/pages/blog/navigator/archive_by_category.html +135 -0
  739. data/lib/starter_web/pages/blog/navigator/archive_by_date.html +115 -0
  740. data/lib/starter_web/pages/blog/navigator/archive_by_tag.html +168 -0
  741. data/lib/starter_web/pages/blog/navigator/index.html +41 -0
  742. data/lib/starter_web/pages/bookshelf/100_about_jekyll_collections.adoc +264 -0
  743. data/lib/starter_web/pages/bookshelf/200_book_shelf_biography.adoc +41 -0
  744. data/lib/starter_web/pages/bookshelf/300_book_shelf_fantasy.adoc +43 -0
  745. data/lib/starter_web/pages/bookshelf/400_book_shelf_romance.adoc +43 -0
  746. data/lib/starter_web/pages/legal/de/100_impress.adoc +80 -0
  747. data/lib/starter_web/pages/legal/de/200_terms_of_use.adoc +48 -0
  748. data/lib/starter_web/pages/legal/de/300_privacy.adoc +233 -0
  749. data/lib/starter_web/pages/legal/de/400_license_agreement.adoc +388 -0
  750. data/lib/starter_web/pages/legal/de/500_support.adoc +13 -0
  751. data/lib/starter_web/pages/legal/en/100_impress.adoc +80 -0
  752. data/lib/starter_web/pages/legal/en/200_terms_of_use.adoc +44 -0
  753. data/lib/starter_web/pages/legal/en/300_privacy.adoc +269 -0
  754. data/lib/starter_web/pages/legal/en/400_license_agreement.adoc +430 -0
  755. data/lib/starter_web/pages/legal/en/500_support.adoc +13 -0
  756. data/lib/starter_web/pages/panel/100_intro_panel.adoc +151 -0
  757. data/lib/starter_web/pages/previewer/000_includes/attributes.asciidoc +75 -0
  758. data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/100_absolute_sizes.asciidoc +39 -0
  759. data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/110_bs_grid_sizes.asciidoc +47 -0
  760. data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/120_relative_sizes.asciidoc +87 -0
  761. data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/200_rotate.asciidoc +71 -0
  762. data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/300_flip.asciidoc +30 -0
  763. data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/400_spin_pulsed.asciidoc +39 -0
  764. data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/500_bw_color_palette.asciidoc +60 -0
  765. data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/510_bs_color_palette.asciidoc +54 -0
  766. data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/600_md_color_palette.asciidoc +94 -0
  767. data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/601_md_color_palette_indigo.asciidoc +94 -0
  768. data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/602_md_color_palette_pink.asciidoc +94 -0
  769. data/lib/starter_web/pages/previewer/000_includes/tables/twitter_emoji/100_bs_sizes.asciidoc +46 -0
  770. data/lib/starter_web/pages/previewer/000_includes/tables/twitter_emoji/100_relative_sizes.asciidoc +46 -0
  771. data/lib/starter_web/pages/previewer/000_includes/tables/twitter_emoji/200_rotate.asciidoc +70 -0
  772. data/lib/starter_web/pages/previewer/000_includes/tables/twitter_emoji/300_flip.asciidoc +29 -0
  773. data/lib/starter_web/pages/previewer/000_includes/tables/twitter_emoji/400_spin_pulsed.asciidoc +30 -0
  774. data/lib/starter_web/pages/previewer/bootstrap_theme.adoc +1820 -0
  775. data/lib/starter_web/pages/previewer/justified_gallery.html +353 -0
  776. data/lib/starter_web/pages/previewer/mdi_icons_preview.adoc +314 -0
  777. data/lib/starter_web/pages/previewer/twitter_emoji_preview.adoc +181 -0
  778. data/lib/starter_web/pages/start/000_includes/attributes.asciidoc +30 -0
  779. data/lib/starter_web/pages/start/change_me_first.adoc +54 -0
  780. data/lib/starter_web/pages/start/dm920hd.adoc +467 -0
  781. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/attributes.asciidoc +72 -0
  782. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/documents/200_library_features.asciidoc +285 -0
  783. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/001_menu_bar_example.png +0 -0
  784. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/005_navbar.png +0 -0
  785. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/005_navigation_bar.png +0 -0
  786. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/006_navigation_side_bar.png +0 -0
  787. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/006_searchbar.png +0 -0
  788. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/007_sidebar.png +0 -0
  789. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/008_navbar_blank.png +0 -0
  790. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/010_nav_bar.png +0 -0
  791. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/010_top_search.png +0 -0
  792. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/012_top_search.png +0 -0
  793. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/015_quicklink_bar.png +0 -0
  794. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/017_side_bar.png +0 -0
  795. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/020_menu_bar.png +0 -0
  796. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/400_master_header.png +0 -0
  797. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/410_text_header.png +0 -0
  798. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/411_text_header.png +0 -0
  799. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/412_header_anatomy.png +0 -0
  800. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/415_image_header_caption.png +0 -0
  801. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/snagit/412_header_anatomy.snag +0 -0
  802. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/000_text_sizes.asciidoc +50 -0
  803. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/410_common_header_parameters.asciidoc +120 -0
  804. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/420_common_image_header_parameters.asciidoc +52 -0
  805. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/421_additional_image_header_parameters.asciidoc +36 -0
  806. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/430_video_header_parameters.asciidoc +26 -0
  807. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/440_image_and_video_transitions.asciidoc +36 -0
  808. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/450_image_and_video_header_defaults.asciidoc +82 -0
  809. data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/451_additional_image_and_video_header_defaults.asciidoc +23 -0
  810. data/lib/starter_web/pages/start/documentation/user_guide/100_header/100_header.adoc +452 -0
  811. data/lib/starter_web/pages/start/documentation/user_guide/240_auth_manager/000_includes/attributes.asciidoc +119 -0
  812. data/lib/starter_web/pages/start/documentation/user_guide/240_auth_manager/100_auth_manager.adoc +539 -0
  813. data/lib/starter_web/pages/start/downloads/quickstarter/000_includes/attributes.asciidoc +26 -0
  814. data/lib/starter_web/pages/start/downloads/quickstarter/000_includes/tables/100_quickstart_installation_packages.asciidoc +20 -0
  815. data/lib/starter_web/pages/start/downloads/quickstarter/100_linux_starter.adoc +566 -0
  816. data/lib/starter_web/pages/start/downloads/quickstarter/200_macos_starter.adoc +742 -0
  817. data/lib/starter_web/pages/start/downloads/quickstarter/300_windows_starter.adoc +742 -0
  818. data/lib/starter_web/pages/start/downloads/quickstarter/quickstart.adoc +104 -0
  819. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/attributes.asciidoc +24 -0
  820. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/collections.adoc +268 -0
  821. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/configuration.adoc +780 -0
  822. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/directory_structure.adoc +106 -0
  823. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/jekyll_commandline.adoc +94 -0
  824. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/layout_inheritance.adoc +305 -0
  825. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/manage_pages.adoc +365 -0
  826. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/manage_posts.adoc +203 -0
  827. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/pagination.adoc +228 -0
  828. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/plugins.adoc +777 -0
  829. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/templates.adoc +249 -0
  830. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/variables.adoc +175 -0
  831. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/100_introduction.adoc +169 -0
  832. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/110_preparations.adoc +177 -0
  833. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/120_getting_started.adoc +180 -0
  834. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/_unused/20_j1_anatomy.asciidoc +97 -0
  835. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/_unused/30_j1_configure_your_site.asciidoc +48 -0
  836. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/_unused/40_j1_create_content.asciidoc +48 -0
  837. data/lib/starter_web/pages/start/kickstarter/web_in_a_day/_unused/50_j1_customize_your_pages.asciidoc +48 -0
  838. data/lib/starter_web/pages/start/read_me_first.adoc +102 -0
  839. data/lib/starter_web/pages/start/roundtrip/000_includes/attributes.asciidoc +49 -0
  840. data/lib/starter_web/pages/start/roundtrip/000_includes/documents/100_gistblock.asciidoc +27 -0
  841. data/lib/starter_web/pages/start/roundtrip/100_present_images.adoc +411 -0
  842. data/lib/starter_web/pages/start/roundtrip/200_cards.adoc +769 -0
  843. data/lib/starter_web/pages/start/roundtrip/300_typography.adoc +518 -0
  844. data/lib/starter_web/pages/start/roundtrip/400_icon_fonts.adoc +182 -0
  845. data/lib/starter_web/pages/start/roundtrip/500_asciidoc_extensions.adoc +462 -0
  846. data/lib/starter_web/pages/start/roundtrip/600_themes.adoc +75 -0
  847. data/lib/starter_web/pages/start/roundtrip/700_additional_modals.adoc +1369 -0
  848. data/lib/starter_web/pages/teaser/100_core.adoc +31 -0
  849. data/lib/starter_web/pages/teaser/200_components.adoc +30 -0
  850. data/lib/starter_web/pages/teaser/300_modules.adoc +32 -0
  851. data/screenshot.png +0 -0
  852. metadata +925 -0
@@ -0,0 +1,71 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>iFrame message passing test</title>
6
+ <meta name="description" content="iFrame message passing test">
7
+ <meta name="viewport" content="width=device-width">
8
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
9
+ </head>
10
+ <body>
11
+ <h2>Automagically resizing iFrame</h2>
12
+ <p>Resize window or click one of the links in the iFrame to watch it resize. Or go back to a <a name="anchorParentTest" href="index.html">single iFrame</a>.</p>
13
+ <div style="margin:20px;">
14
+ <iframe src="frame.content.html" width="48%" scrolling="no" style="float:left;margin-right:2%"></iframe>
15
+ <iframe src="frame.content.html" width="48%" scrolling="no"></iframe>
16
+ </div>
17
+ <p id="callback">
18
+ </p>
19
+ <div style="margin: 8px 0;font-size:13px;">
20
+ For details on how this works, see
21
+ <a href="http://davidjbradshaw.github.io/iframe-resizer/">http://davidjbradshaw.github.io/iframe-resizer/</a>.
22
+ </div>
23
+
24
+ <!-- MDN PolyFils for IE8 -->
25
+ <!--[if lte IE 8]>
26
+ <script src="../js/ie8.polyfils.min.js"></script>
27
+ <![endif]-->
28
+
29
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
30
+ <script src="../js/client/iframeResizer.contentWindow.min.js" defer></script>
31
+
32
+ <script>
33
+ /*
34
+ * If you do not understand what the code below does, then please just use the
35
+ * following call in your own code.
36
+ *
37
+ * iFrameResize({log:true});
38
+ *
39
+ * Once you have it working, set the log option to false.
40
+ */
41
+
42
+ iFrameResize({
43
+ log : true, // Enable console logging
44
+ enablePublicMethods : true, // Enable methods within iframe hosted page
45
+ enableInPageLinks : true,
46
+ resizedCallback : function(messageData){ // Callback fn when resize is received
47
+ $('p#callback').html(
48
+ '<b>Frame ID:</b> ' + messageData.iframe.id +
49
+ ' <b>Height:</b> ' + messageData.height +
50
+ ' <b>Width:</b> ' + messageData.width +
51
+ ' <b>Event type:</b> ' + messageData.type
52
+ );
53
+ },
54
+ messageCallback : function(messageData){ // Callback fn when message is received
55
+ $('p#callback').html(
56
+ '<b>Frame ID:</b> ' + messageData.iframe.id +
57
+ ' <b>Message:</b> ' + messageData.message
58
+ );
59
+ alert(messageData.message + ' (' + messageData.iframe.id + ')' );
60
+ },
61
+ closedCallback : function(id){ // Callback fn when iFrame is closed
62
+ $('p#callback').html(
63
+ '<b>IFrame (</b>' + id +
64
+ '<b>) removed from page.</b>'
65
+ );
66
+ }
67
+ });
68
+ </script>
69
+
70
+ </body>
71
+ </html>
@@ -0,0 +1,1104 @@
1
+ /*
2
+ * File: iframeResizer.contentWindow.js
3
+ * Desc: Include this file in any page being loaded into an iframe
4
+ * to force the iframe to resize to the content size.
5
+ * Requires: iframeResizer.js on host page.
6
+ * Doc: https://github.com/davidjbradshaw/iframe-resizer
7
+ * Author: David J. Bradshaw - dave@bradshaw.net
8
+ * Contributor: Jure Mav - jure.mav@gmail.com
9
+ * Contributor: Ian Caunce - ian@hallnet.co.uk
10
+ */
11
+
12
+
13
+ ;(function(window, undefined) {
14
+ 'use strict';
15
+
16
+ var
17
+ autoResize = true,
18
+ base = 10,
19
+ bodyBackground = '',
20
+ bodyMargin = 0,
21
+ bodyMarginStr = '',
22
+ bodyObserver = null,
23
+ bodyPadding = '',
24
+ calculateWidth = false,
25
+ doubleEventList = {'resize':1,'click':1},
26
+ eventCancelTimer = 128,
27
+ firstRun = true,
28
+ height = 1,
29
+ heightCalcModeDefault = 'bodyOffset',
30
+ heightCalcMode = heightCalcModeDefault,
31
+ initLock = true,
32
+ initMsg = '',
33
+ inPageLinks = {},
34
+ interval = 32,
35
+ intervalTimer = null,
36
+ logging = false,
37
+ msgID = '[iFrameSizer]', //Must match host page msg ID
38
+ msgIdLen = msgID.length,
39
+ myID = '',
40
+ observer = null,
41
+ resetRequiredMethods = {max:1,min:1,bodyScroll:1,documentElementScroll:1},
42
+ resizeFrom = 'child',
43
+ sendPermit = true,
44
+ target = window.parent,
45
+ targetOriginDefault = '*',
46
+ tolerance = 0,
47
+ triggerLocked = false,
48
+ triggerLockedTimer = null,
49
+ throttledTimer = 16,
50
+ width = 1,
51
+ widthCalcModeDefault = 'scroll',
52
+ widthCalcMode = widthCalcModeDefault,
53
+ win = window,
54
+ messageCallback = function(){ warn('MessageCallback function not defined'); },
55
+ readyCallback = function(){},
56
+ pageInfoCallback = function(){},
57
+ customCalcMethods = {
58
+ height: function(){
59
+ warn('Custom height calculation function not defined');
60
+ return document.documentElement.offsetHeight;
61
+ },
62
+ width: function(){
63
+ warn('Custom width calculation function not defined');
64
+ return document.body.scrollWidth;
65
+ }
66
+ },
67
+ eventHandlersByName = {};
68
+
69
+
70
+ function addEventListener(el,evt,func){
71
+ /* istanbul ignore else */ // Not testable in phantonJS
72
+ if ('addEventListener' in window){
73
+ el.addEventListener(evt,func, false);
74
+ } else if ('attachEvent' in window){ //IE
75
+ el.attachEvent('on'+evt,func);
76
+ }
77
+ }
78
+
79
+ function removeEventListener(el,evt,func){
80
+ /* istanbul ignore else */ // Not testable in phantonJS
81
+ if ('removeEventListener' in window){
82
+ el.removeEventListener(evt,func, false);
83
+ } else if ('detachEvent' in window){ //IE
84
+ el.detachEvent('on'+evt,func);
85
+ }
86
+ }
87
+
88
+ function capitalizeFirstLetter(string) {
89
+ return string.charAt(0).toUpperCase() + string.slice(1);
90
+ }
91
+
92
+ //Based on underscore.js
93
+ function throttle(func) {
94
+ var
95
+ context, args, result,
96
+ timeout = null,
97
+ previous = 0,
98
+ later = function() {
99
+ previous = getNow();
100
+ timeout = null;
101
+ result = func.apply(context, args);
102
+ if (!timeout) {
103
+ context = args = null;
104
+ }
105
+ };
106
+
107
+ return function() {
108
+ var now = getNow();
109
+
110
+ if (!previous) {
111
+ previous = now;
112
+ }
113
+
114
+ var remaining = throttledTimer - (now - previous);
115
+
116
+ context = this;
117
+ args = arguments;
118
+
119
+ if (remaining <= 0 || remaining > throttledTimer) {
120
+ if (timeout) {
121
+ clearTimeout(timeout);
122
+ timeout = null;
123
+ }
124
+
125
+ previous = now;
126
+ result = func.apply(context, args);
127
+
128
+ if (!timeout) {
129
+ context = args = null;
130
+ }
131
+
132
+ } else if (!timeout) {
133
+ timeout = setTimeout(later, remaining);
134
+ }
135
+
136
+ return result;
137
+ };
138
+ }
139
+
140
+ var getNow = Date.now || function() {
141
+ /* istanbul ignore next */ // Not testable in PhantonJS
142
+ return new Date().getTime();
143
+ };
144
+
145
+ function formatLogMsg(msg){
146
+ return msgID + '[' + myID + ']' + ' ' + msg;
147
+ }
148
+
149
+ function log(msg){
150
+ if (logging && ('object' === typeof window.console)){
151
+ console.log(formatLogMsg(msg));
152
+ }
153
+ }
154
+
155
+ function warn(msg){
156
+ if ('object' === typeof window.console){
157
+ console.warn(formatLogMsg(msg));
158
+ }
159
+ }
160
+
161
+
162
+ function init(){
163
+ readDataFromParent();
164
+ log('Initialising iFrame ('+location.href+')');
165
+ readDataFromPage();
166
+ setMargin();
167
+ setBodyStyle('background',bodyBackground);
168
+ setBodyStyle('padding',bodyPadding);
169
+ injectClearFixIntoBodyElement();
170
+ checkHeightMode();
171
+ checkWidthMode();
172
+ stopInfiniteResizingOfIFrame();
173
+ setupPublicMethods();
174
+ startEventListeners();
175
+ inPageLinks = setupInPageLinks();
176
+ sendSize('init','Init message from host page');
177
+ readyCallback();
178
+ }
179
+
180
+ function readDataFromParent(){
181
+
182
+ function strBool(str){
183
+ return 'true' === str ? true : false;
184
+ }
185
+
186
+ var data = initMsg.substr(msgIdLen).split(':');
187
+
188
+ myID = data[0];
189
+ bodyMargin = (undefined !== data[1]) ? Number(data[1]) : bodyMargin; //For V1 compatibility
190
+ calculateWidth = (undefined !== data[2]) ? strBool(data[2]) : calculateWidth;
191
+ logging = (undefined !== data[3]) ? strBool(data[3]) : logging;
192
+ interval = (undefined !== data[4]) ? Number(data[4]) : interval;
193
+ autoResize = (undefined !== data[6]) ? strBool(data[6]) : autoResize;
194
+ bodyMarginStr = data[7];
195
+ heightCalcMode = (undefined !== data[8]) ? data[8] : heightCalcMode;
196
+ bodyBackground = data[9];
197
+ bodyPadding = data[10];
198
+ tolerance = (undefined !== data[11]) ? Number(data[11]) : tolerance;
199
+ inPageLinks.enable = (undefined !== data[12]) ? strBool(data[12]): false;
200
+ resizeFrom = (undefined !== data[13]) ? data[13] : resizeFrom;
201
+ widthCalcMode = (undefined !== data[14]) ? data[14] : widthCalcMode;
202
+ }
203
+
204
+ function readDataFromPage(){
205
+ function readData(){
206
+ var data = window.iFrameResizer;
207
+
208
+ log('Reading data from page: ' + JSON.stringify(data));
209
+
210
+ messageCallback = ('messageCallback' in data) ? data.messageCallback : messageCallback;
211
+ readyCallback = ('readyCallback' in data) ? data.readyCallback : readyCallback;
212
+ targetOriginDefault = ('targetOrigin' in data) ? data.targetOrigin : targetOriginDefault;
213
+ heightCalcMode = ('heightCalculationMethod' in data) ? data.heightCalculationMethod : heightCalcMode;
214
+ widthCalcMode = ('widthCalculationMethod' in data) ? data.widthCalculationMethod : widthCalcMode;
215
+ }
216
+
217
+ function setupCustomCalcMethods(calcMode, calcFunc){
218
+ if ('function' === typeof calcMode) {
219
+ log('Setup custom ' + calcFunc + 'CalcMethod');
220
+ customCalcMethods[calcFunc] = calcMode;
221
+ calcMode = 'custom';
222
+ }
223
+
224
+ return calcMode;
225
+ }
226
+
227
+ if(('iFrameResizer' in window) && (Object === window.iFrameResizer.constructor)) {
228
+ readData();
229
+ heightCalcMode = setupCustomCalcMethods(heightCalcMode, 'height');
230
+ widthCalcMode = setupCustomCalcMethods(widthCalcMode, 'width');
231
+ }
232
+
233
+ log('TargetOrigin for parent set to: ' + targetOriginDefault);
234
+ }
235
+
236
+
237
+ function chkCSS(attr,value){
238
+ if (-1 !== value.indexOf('-')){
239
+ warn('Negative CSS value ignored for '+attr);
240
+ value='';
241
+ }
242
+ return value;
243
+ }
244
+
245
+ function setBodyStyle(attr,value){
246
+ if ((undefined !== value) && ('' !== value) && ('null' !== value)){
247
+ document.body.style[attr] = value;
248
+ log('Body '+attr+' set to "'+value+'"');
249
+ }
250
+ }
251
+
252
+ function setMargin(){
253
+ //If called via V1 script, convert bodyMargin from int to str
254
+ if (undefined === bodyMarginStr){
255
+ bodyMarginStr = bodyMargin+'px';
256
+ }
257
+
258
+ setBodyStyle('margin',chkCSS('margin',bodyMarginStr));
259
+ }
260
+
261
+ function stopInfiniteResizingOfIFrame(){
262
+ document.documentElement.style.height = '';
263
+ document.body.style.height = '';
264
+ log('HTML & body height set to "auto"');
265
+ }
266
+
267
+
268
+ function manageTriggerEvent(options){
269
+
270
+ var listener = {
271
+ add: function(eventName){
272
+ function handleEvent(){
273
+ sendSize(options.eventName,options.eventType);
274
+ }
275
+
276
+ eventHandlersByName[eventName] = handleEvent;
277
+
278
+ addEventListener(window,eventName,handleEvent);
279
+ },
280
+ remove: function(eventName){
281
+ var handleEvent = eventHandlersByName[eventName];
282
+ delete eventHandlersByName[eventName];
283
+
284
+ removeEventListener(window,eventName,handleEvent);
285
+ }
286
+ };
287
+
288
+ if(options.eventNames && Array.prototype.map){
289
+ options.eventName = options.eventNames[0];
290
+ options.eventNames.map(listener[options.method]);
291
+ } else {
292
+ listener[options.method](options.eventName);
293
+ }
294
+
295
+ log(capitalizeFirstLetter(options.method) + ' event listener: ' + options.eventType);
296
+ }
297
+
298
+ function manageEventListeners(method){
299
+ manageTriggerEvent({method:method, eventType: 'Animation Start', eventNames: ['animationstart','webkitAnimationStart'] });
300
+ manageTriggerEvent({method:method, eventType: 'Animation Iteration', eventNames: ['animationiteration','webkitAnimationIteration'] });
301
+ manageTriggerEvent({method:method, eventType: 'Animation End', eventNames: ['animationend','webkitAnimationEnd'] });
302
+ manageTriggerEvent({method:method, eventType: 'Input', eventName: 'input' });
303
+ manageTriggerEvent({method:method, eventType: 'Mouse Up', eventName: 'mouseup' });
304
+ manageTriggerEvent({method:method, eventType: 'Mouse Down', eventName: 'mousedown' });
305
+ manageTriggerEvent({method:method, eventType: 'Orientation Change', eventName: 'orientationchange' });
306
+ manageTriggerEvent({method:method, eventType: 'Print', eventName: ['afterprint', 'beforeprint'] });
307
+ manageTriggerEvent({method:method, eventType: 'Ready State Change', eventName: 'readystatechange' });
308
+ manageTriggerEvent({method:method, eventType: 'Touch Start', eventName: 'touchstart' });
309
+ manageTriggerEvent({method:method, eventType: 'Touch End', eventName: 'touchend' });
310
+ manageTriggerEvent({method:method, eventType: 'Touch Cancel', eventName: 'touchcancel' });
311
+ manageTriggerEvent({method:method, eventType: 'Transition Start', eventNames: ['transitionstart','webkitTransitionStart','MSTransitionStart','oTransitionStart','otransitionstart'] });
312
+ manageTriggerEvent({method:method, eventType: 'Transition Iteration', eventNames: ['transitioniteration','webkitTransitionIteration','MSTransitionIteration','oTransitionIteration','otransitioniteration'] });
313
+ manageTriggerEvent({method:method, eventType: 'Transition End', eventNames: ['transitionend','webkitTransitionEnd','MSTransitionEnd','oTransitionEnd','otransitionend'] });
314
+ if('child' === resizeFrom){
315
+ manageTriggerEvent({method:method, eventType: 'IFrame Resized', eventName: 'resize' });
316
+ }
317
+ }
318
+
319
+ function checkCalcMode(calcMode,calcModeDefault,modes,type){
320
+ if (calcModeDefault !== calcMode){
321
+ if (!(calcMode in modes)){
322
+ warn(calcMode + ' is not a valid option for '+type+'CalculationMethod.');
323
+ calcMode=calcModeDefault;
324
+ }
325
+ log(type+' calculation method set to "'+calcMode+'"');
326
+ }
327
+
328
+ return calcMode;
329
+ }
330
+
331
+ function checkHeightMode(){
332
+ heightCalcMode = checkCalcMode(heightCalcMode,heightCalcModeDefault,getHeight,'height');
333
+ }
334
+
335
+ function checkWidthMode(){
336
+ widthCalcMode = checkCalcMode(widthCalcMode,widthCalcModeDefault,getWidth,'width');
337
+ }
338
+
339
+ function startEventListeners(){
340
+ if ( true === autoResize ) {
341
+ manageEventListeners('add');
342
+ setupMutationObserver();
343
+ }
344
+ else {
345
+ log('Auto Resize disabled');
346
+ }
347
+ }
348
+
349
+ function stopMsgsToParent(){
350
+ log('Disable outgoing messages');
351
+ sendPermit = false;
352
+ }
353
+
354
+ function removeMsgListener(){
355
+ log('Remove event listener: Message');
356
+ removeEventListener(window, 'message', receiver);
357
+ }
358
+
359
+ function disconnectMutationObserver(){
360
+ if (null !== bodyObserver){
361
+ /* istanbul ignore next */ // Not testable in PhantonJS
362
+ bodyObserver.disconnect();
363
+ }
364
+ }
365
+
366
+ function stopEventListeners(){
367
+ manageEventListeners('remove');
368
+ disconnectMutationObserver();
369
+ clearInterval(intervalTimer);
370
+ }
371
+
372
+ function teardown(){
373
+ stopMsgsToParent();
374
+ removeMsgListener();
375
+ if (true === autoResize) stopEventListeners();
376
+ }
377
+
378
+ function injectClearFixIntoBodyElement(){
379
+ var clearFix = document.createElement('div');
380
+ clearFix.style.clear = 'both';
381
+ clearFix.style.display = 'block'; //Guard against this having been globally redefined in CSS.
382
+ document.body.appendChild(clearFix);
383
+ }
384
+
385
+ function setupInPageLinks(){
386
+
387
+ function getPagePosition (){
388
+ return {
389
+ x: (window.pageXOffset !== undefined) ? window.pageXOffset : document.documentElement.scrollLeft,
390
+ y: (window.pageYOffset !== undefined) ? window.pageYOffset : document.documentElement.scrollTop
391
+ };
392
+ }
393
+
394
+ function getElementPosition(el){
395
+ var
396
+ elPosition = el.getBoundingClientRect(),
397
+ pagePosition = getPagePosition();
398
+
399
+ return {
400
+ x: parseInt(elPosition.left,10) + parseInt(pagePosition.x,10),
401
+ y: parseInt(elPosition.top,10) + parseInt(pagePosition.y,10)
402
+ };
403
+ }
404
+
405
+ function findTarget(location){
406
+ function jumpToTarget(target){
407
+ var jumpPosition = getElementPosition(target);
408
+
409
+ log('Moving to in page link (#'+hash+') at x: '+jumpPosition.x+' y: '+jumpPosition.y);
410
+ sendMsg(jumpPosition.y, jumpPosition.x, 'scrollToOffset'); // X&Y reversed at sendMsg uses height/width
411
+ }
412
+
413
+ var
414
+ hash = location.split('#')[1] || location, //Remove # if present
415
+ hashData = decodeURIComponent(hash),
416
+ target = document.getElementById(hashData) || document.getElementsByName(hashData)[0];
417
+
418
+ if (undefined !== target){
419
+ jumpToTarget(target);
420
+ } else {
421
+ log('In page link (#' + hash + ') not found in iFrame, so sending to parent');
422
+ sendMsg(0,0,'inPageLink','#'+hash);
423
+ }
424
+ }
425
+
426
+ function checkLocationHash(){
427
+ if ('' !== location.hash && '#' !== location.hash){
428
+ findTarget(location.href);
429
+ }
430
+ }
431
+
432
+ function bindAnchors(){
433
+ function setupLink(el){
434
+ function linkClicked(e){
435
+ e.preventDefault();
436
+
437
+ /*jshint validthis:true */
438
+ findTarget(this.getAttribute('href'));
439
+ }
440
+
441
+ if ('#' !== el.getAttribute('href')){
442
+ addEventListener(el,'click',linkClicked);
443
+ }
444
+ }
445
+
446
+ Array.prototype.forEach.call( document.querySelectorAll( 'a[href^="#"]' ), setupLink );
447
+ }
448
+
449
+ function bindLocationHash(){
450
+ addEventListener(window,'hashchange',checkLocationHash);
451
+ }
452
+
453
+ function initCheck(){ //check if page loaded with location hash after init resize
454
+ setTimeout(checkLocationHash,eventCancelTimer);
455
+ }
456
+
457
+ function enableInPageLinks(){
458
+ /* istanbul ignore else */ // Not testable in phantonJS
459
+ if(Array.prototype.forEach && document.querySelectorAll){
460
+ log('Setting up location.hash handlers');
461
+ bindAnchors();
462
+ bindLocationHash();
463
+ initCheck();
464
+ } else {
465
+ warn('In page linking not fully supported in this browser! (See README.md for IE8 workaround)');
466
+ }
467
+ }
468
+
469
+ if(inPageLinks.enable){
470
+ enableInPageLinks();
471
+ } else {
472
+ log('In page linking not enabled');
473
+ }
474
+
475
+ return {
476
+ findTarget:findTarget
477
+ };
478
+ }
479
+
480
+ function setupPublicMethods(){
481
+ log('Enable public methods');
482
+
483
+ win.parentIFrame = {
484
+
485
+ autoResize: function autoResizeF(resize){
486
+ if (true === resize && false === autoResize) {
487
+ autoResize=true;
488
+ startEventListeners();
489
+ //sendSize('autoResize','Auto Resize enabled');
490
+ } else if (false === resize && true === autoResize) {
491
+ autoResize=false;
492
+ stopEventListeners();
493
+ }
494
+
495
+ return autoResize;
496
+ },
497
+
498
+ close: function closeF(){
499
+ sendMsg(0,0,'close');
500
+ teardown();
501
+ },
502
+
503
+ getId: function getIdF(){
504
+ return myID;
505
+ },
506
+
507
+ getPageInfo: function getPageInfoF(callback){
508
+ if ('function' === typeof callback){
509
+ pageInfoCallback = callback;
510
+ sendMsg(0,0,'pageInfo');
511
+ } else {
512
+ pageInfoCallback = function(){};
513
+ sendMsg(0,0,'pageInfoStop');
514
+ }
515
+ },
516
+
517
+ moveToAnchor: function moveToAnchorF(hash){
518
+ inPageLinks.findTarget(hash);
519
+ },
520
+
521
+ reset: function resetF(){
522
+ resetIFrame('parentIFrame.reset');
523
+ },
524
+
525
+ scrollTo: function scrollToF(x,y){
526
+ sendMsg(y,x,'scrollTo'); // X&Y reversed at sendMsg uses height/width
527
+ },
528
+
529
+ scrollToOffset: function scrollToF(x,y){
530
+ sendMsg(y,x,'scrollToOffset'); // X&Y reversed at sendMsg uses height/width
531
+ },
532
+
533
+ sendMessage: function sendMessageF(msg,targetOrigin){
534
+ sendMsg(0,0,'message',JSON.stringify(msg),targetOrigin);
535
+ },
536
+
537
+ setHeightCalculationMethod: function setHeightCalculationMethodF(heightCalculationMethod){
538
+ heightCalcMode = heightCalculationMethod;
539
+ checkHeightMode();
540
+ },
541
+
542
+ setWidthCalculationMethod: function setWidthCalculationMethodF(widthCalculationMethod){
543
+ widthCalcMode = widthCalculationMethod;
544
+ checkWidthMode();
545
+ },
546
+
547
+ setTargetOrigin: function setTargetOriginF(targetOrigin){
548
+ log('Set targetOrigin: '+targetOrigin);
549
+ targetOriginDefault = targetOrigin;
550
+ },
551
+
552
+ size: function sizeF(customHeight, customWidth){
553
+ var valString = ''+(customHeight?customHeight:'')+(customWidth?','+customWidth:'');
554
+ //lockTrigger();
555
+ sendSize('size','parentIFrame.size('+valString+')', customHeight, customWidth);
556
+ }
557
+ };
558
+ }
559
+
560
+ function initInterval(){
561
+ if ( 0 !== interval ){
562
+ log('setInterval: '+interval+'ms');
563
+ intervalTimer = setInterval(function(){
564
+ sendSize('interval','setInterval: '+interval);
565
+ },Math.abs(interval));
566
+ }
567
+ }
568
+
569
+ /* istanbul ignore next */ //Not testable in PhantomJS
570
+ function setupBodyMutationObserver(){
571
+ function addImageLoadListners(mutation) {
572
+ function addImageLoadListener(element){
573
+ if (false === element.complete) {
574
+ log('Attach listeners to ' + element.src);
575
+ element.addEventListener('load', imageLoaded, false);
576
+ element.addEventListener('error', imageError, false);
577
+ elements.push(element);
578
+ }
579
+ }
580
+
581
+ if (mutation.type === 'attributes' && mutation.attributeName === 'src'){
582
+ addImageLoadListener(mutation.target);
583
+ } else if (mutation.type === 'childList'){
584
+ Array.prototype.forEach.call(
585
+ mutation.target.querySelectorAll('img'),
586
+ addImageLoadListener
587
+ );
588
+ }
589
+ }
590
+
591
+ function removeFromArray(element){
592
+ elements.splice(elements.indexOf(element),1);
593
+ }
594
+
595
+ function removeImageLoadListener(element){
596
+ log('Remove listeners from ' + element.src);
597
+ element.removeEventListener('load', imageLoaded, false);
598
+ element.removeEventListener('error', imageError, false);
599
+ removeFromArray(element);
600
+ }
601
+
602
+ function imageEventTriggered(event,type,typeDesc){
603
+ removeImageLoadListener(event.target);
604
+ sendSize(type, typeDesc + ': ' + event.target.src, undefined, undefined);
605
+ }
606
+
607
+ function imageLoaded(event) {
608
+ imageEventTriggered(event,'imageLoad','Image loaded');
609
+ }
610
+
611
+ function imageError(event) {
612
+ imageEventTriggered(event,'imageLoadFailed','Image load failed');
613
+ }
614
+
615
+ function mutationObserved(mutations) {
616
+ sendSize('mutationObserver','mutationObserver: ' + mutations[0].target + ' ' + mutations[0].type);
617
+
618
+ //Deal with WebKit asyncing image loading when tags are injected into the page
619
+ mutations.forEach(addImageLoadListners);
620
+ }
621
+
622
+ function createMutationObserver(){
623
+ var
624
+ target = document.querySelector('body'),
625
+
626
+ config = {
627
+ attributes : true,
628
+ attributeOldValue : false,
629
+ characterData : true,
630
+ characterDataOldValue : false,
631
+ childList : true,
632
+ subtree : true
633
+ };
634
+
635
+ observer = new MutationObserver(mutationObserved);
636
+
637
+ log('Create body MutationObserver');
638
+ observer.observe(target, config);
639
+
640
+ return observer;
641
+ }
642
+
643
+ var
644
+ elements = [],
645
+ MutationObserver = window.MutationObserver || window.WebKitMutationObserver,
646
+ observer = createMutationObserver();
647
+
648
+ return {
649
+ disconnect: function (){
650
+ if ('disconnect' in observer){
651
+ log('Disconnect body MutationObserver');
652
+ observer.disconnect();
653
+ elements.forEach(removeImageLoadListener);
654
+ }
655
+ }
656
+ };
657
+ }
658
+
659
+ function setupMutationObserver(){
660
+ var forceIntervalTimer = 0 > interval;
661
+
662
+ /* istanbul ignore if */ // Not testable in PhantomJS
663
+ if (window.MutationObserver || window.WebKitMutationObserver){
664
+ if (forceIntervalTimer) {
665
+ initInterval();
666
+ } else {
667
+ bodyObserver = setupBodyMutationObserver();
668
+ }
669
+ } else {
670
+ log('MutationObserver not supported in this browser!');
671
+ initInterval();
672
+ }
673
+ }
674
+
675
+
676
+ // document.documentElement.offsetHeight is not reliable, so
677
+ // we have to jump through hoops to get a better value.
678
+ function getComputedStyle(prop,el) {
679
+ /* istanbul ignore next */ //Not testable in PhantomJS
680
+ function convertUnitsToPxForIE8(value) {
681
+ var PIXEL = /^\d+(px)?$/i;
682
+
683
+ if (PIXEL.test(value)) {
684
+ return parseInt(value,base);
685
+ }
686
+
687
+ var
688
+ style = el.style.left,
689
+ runtimeStyle = el.runtimeStyle.left;
690
+
691
+ el.runtimeStyle.left = el.currentStyle.left;
692
+ el.style.left = value || 0;
693
+ value = el.style.pixelLeft;
694
+ el.style.left = style;
695
+ el.runtimeStyle.left = runtimeStyle;
696
+
697
+ return value;
698
+ }
699
+
700
+ var retVal = 0;
701
+ el = el || document.body;
702
+
703
+ /* istanbul ignore else */ // Not testable in phantonJS
704
+ if (('defaultView' in document) && ('getComputedStyle' in document.defaultView)) {
705
+ retVal = document.defaultView.getComputedStyle(el, null);
706
+ retVal = (null !== retVal) ? retVal[prop] : 0;
707
+ } else {//IE8
708
+ retVal = convertUnitsToPxForIE8(el.currentStyle[prop]);
709
+ }
710
+
711
+ return parseInt(retVal,base);
712
+ }
713
+
714
+ function chkEventThottle(timer){
715
+ if(timer > throttledTimer/2){
716
+ throttledTimer = 2*timer;
717
+ log('Event throttle increased to ' + throttledTimer + 'ms');
718
+ }
719
+ }
720
+
721
+ //Idea from https://github.com/guardian/iframe-messenger
722
+ function getMaxElement(side,elements) {
723
+ var
724
+ elementsLength = elements.length,
725
+ elVal = 0,
726
+ maxVal = 0,
727
+ Side = capitalizeFirstLetter(side),
728
+ timer = getNow();
729
+
730
+ for (var i = 0; i < elementsLength; i++) {
731
+ elVal = elements[i].getBoundingClientRect()[side] + getComputedStyle('margin'+Side,elements[i]);
732
+ if (elVal > maxVal) {
733
+ maxVal = elVal;
734
+ }
735
+ }
736
+
737
+ timer = getNow() - timer;
738
+
739
+ log('Parsed '+elementsLength+' HTML elements');
740
+ log('Element position calculated in ' + timer + 'ms');
741
+
742
+ chkEventThottle(timer);
743
+
744
+ return maxVal;
745
+ }
746
+
747
+ function getAllMeasurements(dimention){
748
+ return [
749
+ dimention.bodyOffset(),
750
+ dimention.bodyScroll(),
751
+ dimention.documentElementOffset(),
752
+ dimention.documentElementScroll()
753
+ ];
754
+ }
755
+
756
+ function getTaggedElements(side,tag){
757
+ function noTaggedElementsFound(){
758
+ warn('No tagged elements ('+tag+') found on page');
759
+ return document.querySelectorAll('body *');
760
+ }
761
+
762
+ var elements = document.querySelectorAll('['+tag+']');
763
+
764
+ if (0 === elements.length) noTaggedElementsFound();
765
+
766
+ return getMaxElement(side,elements);
767
+ }
768
+
769
+ function getAllElements(){
770
+ return document.querySelectorAll('body *');
771
+ }
772
+
773
+ var
774
+ getHeight = {
775
+ bodyOffset: function getBodyOffsetHeight(){
776
+ return document.body.offsetHeight + getComputedStyle('marginTop') + getComputedStyle('marginBottom');
777
+ },
778
+
779
+ offset: function(){
780
+ return getHeight.bodyOffset(); //Backwards compatability
781
+ },
782
+
783
+ bodyScroll: function getBodyScrollHeight(){
784
+ return document.body.scrollHeight;
785
+ },
786
+
787
+ custom: function getCustomWidth(){
788
+ return customCalcMethods.height();
789
+ },
790
+
791
+ documentElementOffset: function getDEOffsetHeight(){
792
+ return document.documentElement.offsetHeight;
793
+ },
794
+
795
+ documentElementScroll: function getDEScrollHeight(){
796
+ return document.documentElement.scrollHeight;
797
+ },
798
+
799
+ max: function getMaxHeight(){
800
+ return Math.max.apply(null,getAllMeasurements(getHeight));
801
+ },
802
+
803
+ min: function getMinHeight(){
804
+ return Math.min.apply(null,getAllMeasurements(getHeight));
805
+ },
806
+
807
+ grow: function growHeight(){
808
+ return getHeight.max(); //Run max without the forced downsizing
809
+ },
810
+
811
+ lowestElement: function getBestHeight(){
812
+ return Math.max(getHeight.bodyOffset(), getMaxElement('bottom',getAllElements()));
813
+ },
814
+
815
+ taggedElement: function getTaggedElementsHeight(){
816
+ return getTaggedElements('bottom','data-iframe-height');
817
+ }
818
+ },
819
+
820
+ getWidth = {
821
+ bodyScroll: function getBodyScrollWidth(){
822
+ return document.body.scrollWidth;
823
+ },
824
+
825
+ bodyOffset: function getBodyOffsetWidth(){
826
+ return document.body.offsetWidth;
827
+ },
828
+
829
+ custom: function getCustomWidth(){
830
+ return customCalcMethods.width();
831
+ },
832
+
833
+ documentElementScroll: function getDEScrollWidth(){
834
+ return document.documentElement.scrollWidth;
835
+ },
836
+
837
+ documentElementOffset: function getDEOffsetWidth(){
838
+ return document.documentElement.offsetWidth;
839
+ },
840
+
841
+ scroll: function getMaxWidth(){
842
+ return Math.max(getWidth.bodyScroll(), getWidth.documentElementScroll());
843
+ },
844
+
845
+ max: function getMaxWidth(){
846
+ return Math.max.apply(null,getAllMeasurements(getWidth));
847
+ },
848
+
849
+ min: function getMinWidth(){
850
+ return Math.min.apply(null,getAllMeasurements(getWidth));
851
+ },
852
+
853
+ rightMostElement: function rightMostElement(){
854
+ return getMaxElement('right', getAllElements());
855
+ },
856
+
857
+ taggedElement: function getTaggedElementsWidth(){
858
+ return getTaggedElements('right', 'data-iframe-width');
859
+ }
860
+ };
861
+
862
+
863
+ function sizeIFrame(triggerEvent, triggerEventDesc, customHeight, customWidth){
864
+
865
+ function resizeIFrame(){
866
+ height = currentHeight;
867
+ width = currentWidth;
868
+
869
+ sendMsg(height,width,triggerEvent);
870
+ }
871
+
872
+ function isSizeChangeDetected(){
873
+ function checkTolarance(a,b){
874
+ var retVal = Math.abs(a-b) <= tolerance;
875
+ return !retVal;
876
+ }
877
+
878
+ currentHeight = (undefined !== customHeight) ? customHeight : getHeight[heightCalcMode]();
879
+ currentWidth = (undefined !== customWidth ) ? customWidth : getWidth[widthCalcMode]();
880
+
881
+ return checkTolarance(height,currentHeight) || (calculateWidth && checkTolarance(width,currentWidth));
882
+ }
883
+
884
+ function isForceResizableEvent(){
885
+ return !(triggerEvent in {'init':1,'interval':1,'size':1});
886
+ }
887
+
888
+ function isForceResizableCalcMode(){
889
+ return (heightCalcMode in resetRequiredMethods) || (calculateWidth && widthCalcMode in resetRequiredMethods);
890
+ }
891
+
892
+ function logIgnored(){
893
+ log('No change in size detected');
894
+ }
895
+
896
+ function checkDownSizing(){
897
+ if (isForceResizableEvent() && isForceResizableCalcMode()){
898
+ resetIFrame(triggerEventDesc);
899
+ } else if (!(triggerEvent in {'interval':1})){
900
+ logIgnored();
901
+ }
902
+ }
903
+
904
+ var currentHeight,currentWidth;
905
+
906
+ if (isSizeChangeDetected() || 'init' === triggerEvent){
907
+ lockTrigger();
908
+ resizeIFrame();
909
+ } else {
910
+ checkDownSizing();
911
+ }
912
+ }
913
+
914
+ var sizeIFrameThrottled = throttle(sizeIFrame);
915
+
916
+ function sendSize(triggerEvent, triggerEventDesc, customHeight, customWidth){
917
+ function recordTrigger(){
918
+ if (!(triggerEvent in {'reset':1,'resetPage':1,'init':1})){
919
+ log( 'Trigger event: ' + triggerEventDesc );
920
+ }
921
+ }
922
+
923
+ function isDoubleFiredEvent(){
924
+ return triggerLocked && (triggerEvent in doubleEventList);
925
+ }
926
+
927
+ if (!isDoubleFiredEvent()){
928
+ recordTrigger();
929
+ sizeIFrameThrottled(triggerEvent, triggerEventDesc, customHeight, customWidth);
930
+ } else {
931
+ log('Trigger event cancelled: '+triggerEvent);
932
+ }
933
+ }
934
+
935
+ function lockTrigger(){
936
+ if (!triggerLocked){
937
+ triggerLocked = true;
938
+ log('Trigger event lock on');
939
+ }
940
+ clearTimeout(triggerLockedTimer);
941
+ triggerLockedTimer = setTimeout(function(){
942
+ triggerLocked = false;
943
+ log('Trigger event lock off');
944
+ log('--');
945
+ },eventCancelTimer);
946
+ }
947
+
948
+ function triggerReset(triggerEvent){
949
+ height = getHeight[heightCalcMode]();
950
+ width = getWidth[widthCalcMode]();
951
+
952
+ sendMsg(height,width,triggerEvent);
953
+ }
954
+
955
+ function resetIFrame(triggerEventDesc){
956
+ var hcm = heightCalcMode;
957
+ heightCalcMode = heightCalcModeDefault;
958
+
959
+ log('Reset trigger event: ' + triggerEventDesc);
960
+ lockTrigger();
961
+ triggerReset('reset');
962
+
963
+ heightCalcMode = hcm;
964
+ }
965
+
966
+ function sendMsg(height,width,triggerEvent,msg,targetOrigin){
967
+ function setTargetOrigin(){
968
+ if (undefined === targetOrigin){
969
+ targetOrigin = targetOriginDefault;
970
+ } else {
971
+ log('Message targetOrigin: '+targetOrigin);
972
+ }
973
+ }
974
+
975
+ function sendToParent(){
976
+ var
977
+ size = height + ':' + width,
978
+ message = myID + ':' + size + ':' + triggerEvent + (undefined !== msg ? ':' + msg : '');
979
+
980
+ log('Sending message to host page (' + message + ')');
981
+ target.postMessage( msgID + message, targetOrigin);
982
+ }
983
+
984
+ if(true === sendPermit){
985
+ setTargetOrigin();
986
+ sendToParent();
987
+ }
988
+ }
989
+
990
+ function receiver(event) {
991
+ var processRequestFromParent = {
992
+ init: function initFromParent(){
993
+ function fireInit(){
994
+ initMsg = event.data;
995
+ target = event.source;
996
+
997
+ init();
998
+ firstRun = false;
999
+ setTimeout(function(){ initLock = false;},eventCancelTimer);
1000
+ }
1001
+
1002
+ if (document.body){
1003
+ fireInit();
1004
+ } else {
1005
+ log('Waiting for page ready');
1006
+ addEventListener(window,'readystatechange',processRequestFromParent.initFromParent);
1007
+ }
1008
+ },
1009
+
1010
+ reset: function resetFromParent(){
1011
+ if (!initLock){
1012
+ log('Page size reset by host page');
1013
+ triggerReset('resetPage');
1014
+ } else {
1015
+ log('Page reset ignored by init');
1016
+ }
1017
+ },
1018
+
1019
+ resize: function resizeFromParent(){
1020
+ sendSize('resizeParent','Parent window requested size check');
1021
+ },
1022
+
1023
+ moveToAnchor: function moveToAnchorF(){
1024
+ inPageLinks.findTarget(getData());
1025
+ },
1026
+ inPageLink: function inPageLinkF() {this.moveToAnchor();}, //Backward compatability
1027
+
1028
+ pageInfo: function pageInfoFromParent(){
1029
+ var msgBody = getData();
1030
+ log('PageInfoFromParent called from parent: ' + msgBody );
1031
+ pageInfoCallback(JSON.parse(msgBody));
1032
+ log(' --');
1033
+ },
1034
+
1035
+ message: function messageFromParent(){
1036
+ var msgBody = getData();
1037
+
1038
+ log('MessageCallback called from parent: ' + msgBody );
1039
+ messageCallback(JSON.parse(msgBody));
1040
+ log(' --');
1041
+ }
1042
+ };
1043
+
1044
+ function isMessageForUs(){
1045
+ return msgID === (''+event.data).substr(0,msgIdLen); //''+ Protects against non-string messages
1046
+ }
1047
+
1048
+ function getMessageType(){
1049
+ return event.data.split(']')[1].split(':')[0];
1050
+ }
1051
+
1052
+ function getData(){
1053
+ return event.data.substr(event.data.indexOf(':')+1);
1054
+ }
1055
+
1056
+ function isMiddleTier(){
1057
+ return ('iFrameResize' in window);
1058
+ }
1059
+
1060
+ function isInitMsg(){
1061
+ //Test if this message is from a child below us. This is an ugly test, however, updating
1062
+ //the message format would break backwards compatibity.
1063
+ return event.data.split(':')[2] in {'true':1,'false':1};
1064
+ }
1065
+
1066
+ function callFromParent(){
1067
+ var messageType = getMessageType();
1068
+
1069
+ if (messageType in processRequestFromParent){
1070
+ processRequestFromParent[messageType]();
1071
+ } else if (!isMiddleTier() && !isInitMsg()){
1072
+ warn('Unexpected message ('+event.data+')');
1073
+ }
1074
+ }
1075
+
1076
+ function processMessage(){
1077
+ if (false === firstRun) {
1078
+ callFromParent();
1079
+ } else if (isInitMsg()) {
1080
+ processRequestFromParent.init();
1081
+ } else {
1082
+ log('Ignored message of type "' + getMessageType() + '". Received before initialization.');
1083
+ }
1084
+ }
1085
+
1086
+ if (isMessageForUs()){
1087
+ processMessage();
1088
+ }
1089
+ }
1090
+
1091
+ //Normally the parent kicks things off when it detects the iFrame has loaded.
1092
+ //If this script is async-loaded, then tell parent page to retry init.
1093
+ function chkLateLoaded(){
1094
+ if('loading' !== document.readyState){
1095
+ window.parent.postMessage('[iFrameResizerChild]Ready','*');
1096
+ }
1097
+ }
1098
+
1099
+ addEventListener(window, 'message', receiver);
1100
+ chkLateLoaded();
1101
+
1102
+
1103
+
1104
+ })(window || {});