j1-template 2021.0.15 → 2021.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (438) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/blocks/footer/boxes/legal_statements.proc +4 -0
  3. data/_includes/themes/j1/layouts/layout_metadata_generator.html +54 -39
  4. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +15 -7
  5. data/_includes/themes/j1/modules/connectors/ads +4 -6
  6. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +1 -1
  7. data/_includes/themes/j1/modules/connectors/analytics +5 -4
  8. data/_includes/themes/j1/modules/connectors/comment/disqus.html +1 -1
  9. data/_includes/themes/j1/modules/connectors/comments +7 -6
  10. data/_includes/themes/j1/modules/connectors/translator +3 -4
  11. data/_includes/themes/j1/modules/navigator/generator.html +2 -38
  12. data/_includes/themes/j1/modules/navigator/generator.org.html +232 -0
  13. data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +2 -2
  14. data/_includes/themes/j1/procedures/global/create_bs_button.proc +64 -22
  15. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +14 -10
  16. data/_layouts/default.html +11 -1
  17. data/apps/public/cc/index.adoc +13 -4
  18. data/assets/data/authclient.html +234 -228
  19. data/assets/data/banner.html +34 -31
  20. data/assets/data/cookiebar.html +205 -198
  21. data/assets/data/fam.html +7 -2
  22. data/assets/data/footer.html +4 -0
  23. data/assets/data/footer.new.1.html +256 -0
  24. data/assets/data/footer.new.2.html +256 -0
  25. data/assets/data/footer.org.html +249 -0
  26. data/assets/data/galleries.json +2 -2
  27. data/assets/data/gallery_customizer.html +16 -6
  28. data/assets/data/menu.html +7 -2
  29. data/assets/data/mmenu.html +6 -2
  30. data/assets/data/mmenu_sidebar.html +5 -1
  31. data/assets/data/mmenu_toc.html +4 -0
  32. data/assets/data/panel.html +23 -15
  33. data/assets/data/quicklinks.html +6 -1
  34. data/assets/error_pages/HTTP204.html +2 -1
  35. data/assets/error_pages/HTTP400.html +2 -1
  36. data/assets/error_pages/HTTP401.html +2 -1
  37. data/assets/error_pages/HTTP403.html +2 -1
  38. data/assets/error_pages/HTTP404.html +2 -1
  39. data/assets/error_pages/HTTP500.html +2 -1
  40. data/assets/error_pages/HTTP501.html +2 -1
  41. data/assets/error_pages/HTTP502.html +2 -1
  42. data/assets/error_pages/HTTP503.html +2 -1
  43. data/assets/error_pages/HTTP520.html +2 -1
  44. data/assets/error_pages/HTTP521.html +2 -1
  45. data/assets/error_pages/HTTP533.html +2 -1
  46. data/assets/themes/j1/adapter/js/asciidoctor.js +166 -0
  47. data/assets/themes/j1/adapter/js/carousel.js +24 -0
  48. data/assets/themes/j1/adapter/js/fam.js +8 -12
  49. data/assets/themes/j1/adapter/js/j1.js +83 -28
  50. data/assets/themes/j1/adapter/js/j1.new.js +1878 -0
  51. data/assets/themes/j1/adapter/js/j1.org.js +1874 -0
  52. data/assets/themes/j1/adapter/js/{jf_gallery.js → justifiedGallery.js} +9 -9
  53. data/assets/themes/j1/adapter/js/{gallery_customizer.js → justifiedGalleryCustomizer.js} +14 -13
  54. data/assets/themes/j1/adapter/js/logger.js +35 -23
  55. data/assets/themes/j1/adapter/js/mmenu.js +8 -4
  56. data/assets/themes/j1/adapter/js/navigator.js +72 -32
  57. data/assets/themes/j1/adapter/js/themer.js +19 -40
  58. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.css +17 -14
  59. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +1 -1
  60. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +3959 -239
  61. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  62. data/assets/themes/j1/core/css/vendor.css +14 -2
  63. data/assets/themes/j1/core/css/vendor.min.css +1 -1
  64. data/assets/themes/j1/core/js/template.js +8 -2
  65. data/assets/themes/j1/core/js/template.js.map +1 -1
  66. data/assets/themes/j1/core/js/template.min.js +8 -2
  67. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  68. data/assets/themes/j1/modules/_lightGallery/css/core/lg-fb-comment-box.css +58 -0
  69. data/assets/themes/j1/modules/_lightGallery/css/core/lg-fb-comment-box.min.css +5 -0
  70. data/assets/themes/j1/modules/_lightGallery/css/core/lg-transitions.css +778 -0
  71. data/assets/themes/j1/modules/_lightGallery/css/core/lg-transitions.min.css +5 -0
  72. data/assets/themes/j1/modules/_lightGallery/css/core/lightgallery.css +981 -0
  73. data/assets/themes/j1/modules/_lightGallery/css/core/lightgallery.min.css +5 -0
  74. data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.eot +0 -0
  75. data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.svg +47 -0
  76. data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.ttf +0 -0
  77. data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.woff +0 -0
  78. data/assets/themes/j1/modules/_lightGallery/css/img/loading.gif +0 -0
  79. data/assets/themes/j1/modules/_lightGallery/css/img/video-play.png +0 -0
  80. data/assets/themes/j1/modules/_lightGallery/css/img/vimeo-play.png +0 -0
  81. data/assets/themes/j1/modules/_lightGallery/css/img/youtube-play.png +0 -0
  82. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/animation-w.png +0 -0
  83. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/customize-w.png +0 -0
  84. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/dynamic-w.png +0 -0
  85. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/facebook-icon.svg +10 -0
  86. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/googleplus-icon.svg +30 -0
  87. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/html5-w.png +0 -0
  88. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/linked-in.png +0 -0
  89. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/module-w.png +0 -0
  90. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/play-button.png +0 -0
  91. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/responsive-w.png +0 -0
  92. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/thumb-w.png +0 -0
  93. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/touch-w.png +0 -0
  94. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/twitter-icon.svg +15 -0
  95. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/twitter.png +0 -0
  96. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/video1-w.png +0 -0
  97. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/zoom-w.png +0 -0
  98. data/assets/themes/j1/modules/_lightGallery/css/themes/icons/zoom.png +0 -0
  99. data/assets/themes/j1/modules/_lightGallery/css/themes/uno.css +262 -0
  100. data/assets/themes/j1/modules/_lightGallery/css/themes/uno.min.css +15 -0
  101. data/assets/themes/j1/modules/_lightGallery/js/core/lightgallery.js +1362 -0
  102. data/assets/themes/j1/modules/_lightGallery/js/core/lightgallery.min.js +4 -0
  103. data/assets/themes/j1/modules/_lightGallery/js/modules/j1/j1-video.js +402 -0
  104. data/assets/themes/j1/modules/_lightGallery/js/modules/j1/j1-video.min.js +8 -0
  105. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-autoplay.js +206 -0
  106. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-autoplay.min.js +5 -0
  107. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-fullscreen.js +126 -0
  108. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-fullscreen.min.js +5 -0
  109. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-hash.js +101 -0
  110. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-hash.min.js +5 -0
  111. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-pager.js +105 -0
  112. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-pager.min.js +5 -0
  113. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-share.js +107 -0
  114. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-share.min.js +5 -0
  115. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-thumbnail.js +478 -0
  116. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-thumbnail.min.js +5 -0
  117. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-video.js +342 -0
  118. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-video.min.js +5 -0
  119. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-zoom.js +527 -0
  120. data/assets/themes/j1/modules/_lightGallery/js/modules/lg-zoom.min.js +5 -0
  121. data/assets/themes/j1/modules/iframeResizer/examples/frame.absolute.html +4 -2
  122. data/assets/themes/j1/modules/iframeResizer/examples/frame.content.html +4 -3
  123. data/assets/themes/j1/modules/iframeResizer/examples/frame.hover.html +4 -2
  124. data/assets/themes/j1/modules/iframeResizer/examples/frame.nested.html +4 -2
  125. data/assets/themes/j1/modules/iframeResizer/examples/frame.textarea.html +4 -2
  126. data/assets/themes/j1/modules/iframeResizer/examples/frame.tolerance.html +4 -2
  127. data/assets/themes/j1/modules/iframeResizer/examples/index.html +2 -0
  128. data/assets/themes/j1/modules/iframeResizer/examples/two.html +4 -2
  129. data/assets/themes/j1/modules/lightGallery/js/core/j1/lightgallery-x.js +1368 -0
  130. data/assets/themes/j1/modules/lightGallery/js/core/j1/lightgallery-x.min.js +10 -0
  131. data/assets/themes/j1/modules/lightGallery/js/modules/j1/j1-x-video.js +344 -0
  132. data/assets/themes/j1/modules/lightGallery/js/modules/j1/j1-x-video.min.js +7 -0
  133. data/assets/themes/j1/modules/log4javascript/docs/backwardsincompatibilities.html +90 -0
  134. data/assets/themes/j1/modules/log4javascript/docs/distribution.html +87 -0
  135. data/assets/themes/j1/modules/log4javascript/docs/index.html +190 -0
  136. data/assets/themes/j1/modules/log4javascript/docs/lite.html +182 -0
  137. data/assets/themes/j1/modules/log4javascript/docs/manual.html +3217 -0
  138. data/assets/themes/j1/modules/log4javascript/docs/manual_lite.html +383 -0
  139. data/assets/themes/j1/modules/log4javascript/docs/quickstart.html +230 -0
  140. data/assets/themes/j1/modules/log4javascript/docs/whatsnew.html +86 -0
  141. data/assets/themes/j1/modules/log4javascript/js/log4javascript.js +5826 -0
  142. data/assets/themes/j1/modules/{util/js/log4javascript.js → log4javascript/js/log4javascript.min.js} +17 -0
  143. data/exe/j1 +1 -1
  144. data/lib/j1/commands/generate.rb +32 -9
  145. data/lib/{patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.6 → j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.7}/fastfilereaderext.so +0 -0
  146. data/lib/{patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.6 → j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.7}/rubyeventmachine.so +0 -0
  147. data/lib/j1/patches/rubygems/execjs-2.7.0/lib/execjs/external_runtime.rb +246 -0
  148. data/lib/j1/version.rb +3 -3
  149. data/lib/j1_app.rb +1 -1
  150. data/lib/j1_app/j1_auth_manager/auth_manager.rb +8 -2
  151. data/lib/j1_app/j1_site_manager/static_site.no-cross-origin.rb +94 -0
  152. data/lib/j1_app/j1_site_manager/static_site.rb +13 -11
  153. data/lib/starter_web/Gemfile +20 -14
  154. data/lib/starter_web/_config.yml +78 -122
  155. data/lib/starter_web/_data/_defaults/j1_config.yml +460 -0
  156. data/lib/starter_web/_data/_defaults/resources.yml +626 -325
  157. data/lib/starter_web/_data/apps/defaults/{justified_gallery.yml → justifiedGallery.yml} +2 -2
  158. data/lib/starter_web/_data/apps/defaults/{gallery_customizer.yml → justifiedGalleryCustomizer.yml} +1 -0
  159. data/lib/starter_web/_data/apps/defaults/{light_gallery.yml → lightGallery.yml} +0 -0
  160. data/lib/starter_web/_data/apps/{justified_gallery.yml → justifiedGallery.yml} +7 -7
  161. data/lib/starter_web/_data/apps/{gallery_customizer.yml → justifiedGalleryCustomizer.yml} +0 -0
  162. data/lib/starter_web/_data/apps/{light_gallery.yml → lightGallery.yml} +0 -0
  163. data/lib/starter_web/_data/blocks/banner.yml +45 -51
  164. data/lib/starter_web/_data/blocks/footer.yml +15 -3
  165. data/lib/starter_web/_data/blocks/panel.yml +13 -13
  166. data/lib/starter_web/_data/builder/blog_navigator.yml +6 -1
  167. data/lib/starter_web/_data/j1_config.yml +8 -7
  168. data/lib/starter_web/_data/layouts/blog_archive.yml +9 -0
  169. data/lib/starter_web/_data/layouts/collection.yml +10 -0
  170. data/lib/starter_web/_data/layouts/default.yml +25 -59
  171. data/lib/starter_web/_data/layouts/home.yml +6 -5
  172. data/lib/starter_web/_data/layouts/page.yml +1 -1
  173. data/lib/starter_web/_data/modules/authentication.yml +11 -100
  174. data/lib/starter_web/_data/modules/defaults/authentication.yml +1 -0
  175. data/lib/starter_web/_data/modules/defaults/cookiebar.yml +1 -0
  176. data/lib/starter_web/_data/modules/defaults/log4javascript.yml +37 -40
  177. data/lib/starter_web/_data/modules/defaults/navigator.yml +5 -2
  178. data/lib/starter_web/_data/modules/defaults/quicksearch.yml +2 -0
  179. data/lib/starter_web/_data/modules/log4javascript.yml +11 -83
  180. data/lib/starter_web/_data/modules/navigator.yml +24 -21
  181. data/lib/starter_web/_data/modules/navigator_menu.yml +27 -8
  182. data/lib/starter_web/_data/modules/quicksearch.yml +2 -0
  183. data/lib/starter_web/_data/plugins/defaults/paginator.yml +15 -12
  184. data/lib/starter_web/_data/plugins/paginator.yml +5 -3
  185. data/lib/starter_web/_data/private.yml +29 -57
  186. data/lib/starter_web/_data/resources.yml +37 -17
  187. data/lib/starter_web/_data/utilities/defaults/util_srv.yml +49 -3
  188. data/lib/starter_web/_data/utilities/util_srv.yml +8 -65
  189. data/lib/starter_web/_includes/attributes.asciidoc +10 -6
  190. data/lib/starter_web/_plugins/asciidoctor-extensions/callout.rb +47 -5
  191. data/lib/starter_web/_plugins/asciidoctor-extensions/conum.rb +28 -1
  192. data/lib/starter_web/_plugins/lunr_index.rb +17 -2
  193. data/lib/starter_web/assets/images/collections/blog/featured/dynamic-web-access.png +0 -0
  194. data/lib/starter_web/assets/images/collections/blog/featured/jamstack-generators.gif +0 -0
  195. data/lib/starter_web/assets/images/collections/blog/featured/jamstack-generators.jpg +0 -0
  196. data/lib/starter_web/assets/images/collections/blog/featured/static-web-access.png +0 -0
  197. data/lib/starter_web/assets/images/modules/attics/christa-dodoo-1920x1280.jpg +0 -0
  198. data/lib/starter_web/assets/images/modules/attics/leon-1920x1280.jpg +0 -0
  199. data/lib/starter_web/assets/images/modules/attics/machine-generator-1920x1280.jpg +0 -0
  200. data/lib/starter_web/assets/images/modules/icons/j1/j1-256x256.gif +0 -0
  201. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +42 -49
  202. data/lib/starter_web/collections/posts/public/featured/_posts/{2020-06-01-about-cookies.adoc → 2020-01-01-about-cookies.adoc} +37 -42
  203. data/lib/starter_web/collections/posts/public/featured/_posts/{2020-05-01-top-site-generators.adoc → 2021-03-01-site-generators.adoc} +51 -31
  204. data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-03-about-j1.adoc +119 -0
  205. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +4 -0
  206. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +2 -8
  207. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +3 -10
  208. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +3 -10
  209. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +3 -10
  210. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +4 -2
  211. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +4 -2
  212. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +4 -2
  213. data/lib/starter_web/dot.gitattributes +1 -1
  214. data/lib/starter_web/dot.gitignore +5 -1
  215. data/lib/starter_web/index.html +7 -13
  216. data/lib/starter_web/package.json +5 -4
  217. data/lib/starter_web/pages/public/about/about_site.adoc +1 -1
  218. data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/gallery.asciidoc +1 -1
  219. data/lib/starter_web/pages/public/asciidoc_skeletons/book/000_intro.adoc +7 -1
  220. data/lib/starter_web/pages/public/asciidoc_skeletons/book/100_chapter.adoc +5 -1
  221. data/lib/starter_web/pages/public/asciidoc_skeletons/book/200_chapter.adoc +7 -2
  222. data/lib/starter_web/pages/public/asciidoc_skeletons/book/900_references.adoc +5 -0
  223. data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.adoc +7 -2
  224. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/100_chapter.asciidoc +1 -1
  225. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/200_chapter.asciidoc +2 -2
  226. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +7 -2
  227. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +6 -1
  228. data/lib/starter_web/pages/public/blog/navigator/archive.html +41 -25
  229. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +49 -29
  230. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +47 -30
  231. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +42 -14
  232. data/lib/starter_web/pages/public/blog/navigator/index.html +2 -5
  233. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +45 -48
  234. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.org.asciidoc +244 -0
  235. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +21 -20
  236. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +6 -2
  237. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +39 -35
  238. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +38 -36
  239. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +16 -14
  240. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +11 -9
  241. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +30 -27
  242. data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +51 -50
  243. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/100_gistblock.asciidoc +1 -1
  244. data/lib/starter_web/pages/public/learn/where_to_go.adoc +33 -22
  245. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +116 -0
  246. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +82 -0
  247. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +77 -53
  248. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +123 -0
  249. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +85 -72
  250. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +1 -1
  251. data/lib/starter_web/pages/public/previewer/iframer.adoc +1 -1
  252. data/lib/starter_web/pages/public/previewer/justified_gallery.html +3 -3
  253. data/lib/starter_web/pages/public/previewer/md_color_palette.adoc +1 -1940
  254. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +7 -9
  255. data/lib/starter_web/pages/public/previewer/rouge.adoc +1 -1
  256. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +1 -1
  257. data/lib/starter_web/utilsrv/_defaults/package.json +13 -9
  258. data/lib/starter_web/utilsrv/package.json +6 -2
  259. data/lib/starter_web/utilsrv/server.js +228 -55
  260. metadata +106 -216
  261. data/assets/data/menu.1.html +0 -505
  262. data/lib/starter_web/_data/_defaults/j1_light_gallery.yml +0 -110
  263. data/lib/starter_web/_data/_defaults/template_settings.yml +0 -258
  264. data/lib/starter_web/_data/plugins/defaults/notebooks.yml +0 -61
  265. data/lib/starter_web/_data/plugins/notebooks.yml +0 -70
  266. data/lib/starter_web/_data/private.yml@localhost +0 -199
  267. data/lib/starter_web/assets/images/collections/blog/featured/staticgen.jpg +0 -0
  268. data/lib/starter_web/assets/images/modules/attics/aditya-joshi-1920x1280.jpg +0 -0
  269. data/lib/starter_web/assets/images/modules/attics/alex-holyoake-1920x1280.jpg +0 -0
  270. data/lib/starter_web/assets/images/modules/attics/anaya-katlego-1920x1280.jpg +0 -0
  271. data/lib/starter_web/assets/images/modules/attics/antonella-lombardi-1920x1280.jpg +0 -0
  272. data/lib/starter_web/assets/images/modules/attics/antonino-visalli-1920x1280.jpg +0 -0
  273. data/lib/starter_web/assets/images/modules/attics/banner/docker-1280x600-bw.jpg +0 -0
  274. data/lib/starter_web/assets/images/modules/attics/banner/jekyll.1200x600-bw.jpg +0 -0
  275. data/lib/starter_web/assets/images/modules/attics/banner/signpost-1920x800-bw.jpg +0 -0
  276. data/lib/starter_web/assets/images/modules/attics/banner/water-journal-1280x600.jpg +0 -0
  277. data/lib/starter_web/assets/images/modules/attics/banner/write-1280x600-bw.jpg +0 -0
  278. data/lib/starter_web/assets/images/modules/attics/brandon-mowinkel-1920x1280.jpg +0 -0
  279. data/lib/starter_web/assets/images/modules/attics/daniel-jensen-1920x1280.jpg +0 -0
  280. data/lib/starter_web/assets/images/modules/attics/florian-olivo-1920x1280.jpg +0 -0
  281. data/lib/starter_web/assets/images/modules/attics/go-up-1920x1280-bw.jpg +0 -0
  282. data/lib/starter_web/assets/images/modules/attics/ian-schneider-1920x1280.jpg +0 -0
  283. data/lib/starter_web/assets/images/modules/attics/jason-rosewell-1920x1280.jpg +0 -0
  284. data/lib/starter_web/assets/images/modules/attics/joel-filipe-1920x1280.jpg +0 -0
  285. data/lib/starter_web/assets/images/modules/attics/lianhao-1920x1280.jpg +0 -0
  286. data/lib/starter_web/assets/images/modules/attics/library-1920x1280-bw.jpg +0 -0
  287. data/lib/starter_web/assets/images/modules/attics/mae-mue-1920x1280-v.jpg +0 -0
  288. data/lib/starter_web/assets/images/modules/attics/mae-mue-1920x1280.jpg +0 -0
  289. data/lib/starter_web/assets/images/modules/attics/markus-spiske-1920x1280.jpg +0 -0
  290. data/lib/starter_web/assets/images/modules/attics/markus-spiske.jpg +0 -0
  291. data/lib/starter_web/assets/images/modules/attics/markus-spiske3-1920x1280.jpg +0 -0
  292. data/lib/starter_web/assets/images/modules/attics/modules-apps-1920x1280.jpg +0 -0
  293. data/lib/starter_web/assets/images/modules/attics/nicola-styles-1920x1280.jpg +0 -0
  294. data/lib/starter_web/assets/images/modules/attics/no-time-1920x1280.jpg +0 -0
  295. data/lib/starter_web/assets/images/modules/attics/nousnou-iwasaki-1920x1280.jpg +0 -0
  296. data/lib/starter_web/assets/images/modules/attics/premium-1920x1280-bw.jpg +0 -0
  297. data/lib/starter_web/assets/images/modules/attics/responsive-text-1920x1280.jpg +0 -0
  298. data/lib/starter_web/assets/images/modules/attics/robert-v-ruggiero-1920x1280.jpg +0 -0
  299. data/lib/starter_web/assets/images/modules/attics/romain-vignes-1920x1280.jpg +0 -0
  300. data/lib/starter_web/assets/images/modules/attics/spider-web-1920x1200-bw.jpg +0 -0
  301. data/lib/starter_web/assets/images/modules/attics/the-place-1920x1280.jpg +0 -0
  302. data/lib/starter_web/assets/images/modules/icons/algolia/search-by-algolia.png +0 -0
  303. data/lib/starter_web/assets/images/modules/icons/d1/d1-256x256.png +0 -0
  304. data/lib/starter_web/assets/images/modules/icons/d1/d1-32x32.ico +0 -0
  305. data/lib/starter_web/assets/images/modules/icons/d1/d1-512x512.png +0 -0
  306. data/lib/starter_web/assets/images/modules/icons/d1/d1-64x64.png +0 -0
  307. data/lib/starter_web/assets/images/modules/icons/d1/d1.ico +0 -0
  308. data/lib/starter_web/assets/images/modules/icons/d1/favicon.ico +0 -0
  309. data/lib/starter_web/assets/images/modules/icons/d1/scalable/d1.svg +0 -2025
  310. data/lib/starter_web/assets/images/modules/icons/netlify/nf-logo.png +0 -0
  311. data/lib/starter_web/assets/images/modules/icons/p1/favicon.ico +0 -0
  312. data/lib/starter_web/assets/images/modules/icons/p1/p1-256x256.png +0 -0
  313. data/lib/starter_web/assets/images/modules/icons/p1/p1-32x32.ico +0 -0
  314. data/lib/starter_web/assets/images/modules/icons/p1/p1-512x512.png +0 -0
  315. data/lib/starter_web/assets/images/modules/icons/p1/p1-64x64.png +0 -0
  316. data/lib/starter_web/assets/images/modules/icons/p1/p1.ico +0 -0
  317. data/lib/starter_web/assets/images/modules/icons/p1/scalable/p1.svg +0 -2020
  318. data/lib/starter_web/assets/images/modules/icons/patreon/favicon-16x16.png +0 -0
  319. data/lib/starter_web/assets/images/modules/icons/patreon/favicon-32x32.png +0 -0
  320. data/lib/starter_web/assets/images/pages/j1_webhooks/000_browser_console-1280x600.jpg +0 -0
  321. data/lib/starter_web/assets/images/pages/j1_webhooks/001_smee_channel-1280x400.jpg +0 -0
  322. data/lib/starter_web/assets/images/pages/j1_webhooks/002_gh_repo_settings-1280x800.jpg +0 -0
  323. data/lib/starter_web/assets/images/pages/j1_webhooks/003_gh_webhook_settings-1280x1000.jpg +0 -0
  324. data/lib/starter_web/assets/images/pages/j1_webhooks/004_gh_webhook_settings-post-1280x600.jpg +0 -0
  325. data/lib/starter_web/assets/images/pages/j1_webhooks/005_smee_channel_ping_receive-1280x800.jpg +0 -0
  326. data/lib/starter_web/assets/images/pages/j1_webhooks/006_gh_redeliver_payload-1280x900.jpg +0 -0
  327. data/lib/starter_web/assets/images/pages/j1_webhooks/007_receive_redelivered_payload-1280x800.jpg +0 -0
  328. data/lib/starter_web/assets/images/pages/j1_webhooks/base/000_browser_console.jpg +0 -0
  329. data/lib/starter_web/assets/images/pages/j1_webhooks/base/000_smee_channel.jpg +0 -0
  330. data/lib/starter_web/assets/images/pages/j1_webhooks/base/002_gh_repo-settings.jpg +0 -0
  331. data/lib/starter_web/assets/images/pages/j1_webhooks/base/003_gh_webhook_settings.jpg +0 -0
  332. data/lib/starter_web/assets/images/pages/j1_webhooks/base/004_gh_webhook_settings-post.jpg +0 -0
  333. data/lib/starter_web/assets/images/pages/j1_webhooks/base/005_smee_channel_ping_received.jpg +0 -0
  334. data/lib/starter_web/assets/images/pages/j1_webhooks/base/006_gh_redeliver_payload.jpg +0 -0
  335. data/lib/starter_web/assets/images/pages/j1_webhooks/base/007_receive_redelivered_payload.jpg +0 -0
  336. data/lib/starter_web/assets/images/pages/j1_webhooks/base/webhook_flow.jpg +0 -0
  337. data/lib/starter_web/assets/images/pages/j1_webhooks/flows/webhook_flow-1920x1280.jpg +0 -0
  338. data/lib/starter_web/assets/images/pages/j1_webhooks/scaleable/webhook_flow.svg +0 -432
  339. data/lib/starter_web/assets/images/pages/j1_webhooks/uml/auth_mgmr_signin_request_flow.uxf +0 -632
  340. data/lib/starter_web/assets/images/pages/j1_webhooks/uml/webhook_flow.uxf +0 -648
  341. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/get-started-1920x1280-bw.jpg +0 -0
  342. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/130_layout_inheritance.png +0 -0
  343. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/content_inheritance.png +0 -0
  344. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/content_inheritance_thumb.png +0 -0
  345. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/html_layout.png +0 -0
  346. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/j1-quickstart-windows.png +0 -0
  347. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/j1-template-theme.jpg +0 -0
  348. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/j1_layout.png +0 -0
  349. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/jekyll-minima-theme.png +0 -0
  350. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/lane_inheritance.png +0 -0
  351. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/layout_inheritance.png +0 -0
  352. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/preparations/msys_installation.jpg +0 -0
  353. data/lib/starter_web/assets/images/pages/log4j/apache-log4j-logo.png +0 -0
  354. data/lib/starter_web/assets/images/pages/log4r/code-1920x600.jpg +0 -0
  355. data/lib/starter_web/assets/images/pages/log4r/log4r-logo.png +0 -0
  356. data/lib/starter_web/assets/images/pages/log_expert/image_000.png +0 -0
  357. data/lib/starter_web/assets/images/pages/log_expert/image_001.png +0 -0
  358. data/lib/starter_web/assets/images/pages/log_expert/image_002.png +0 -0
  359. data/lib/starter_web/assets/images/pages/log_expert/image_003.png +0 -0
  360. data/lib/starter_web/assets/images/pages/log_expert/image_004.png +0 -0
  361. data/lib/starter_web/assets/images/pages/log_expert/image_005.png +0 -0
  362. data/lib/starter_web/assets/images/pages/log_expert/image_006.png +0 -0
  363. data/lib/starter_web/assets/images/pages/log_expert/image_007.png +0 -0
  364. data/lib/starter_web/assets/images/pages/log_expert/image_008.png +0 -0
  365. data/lib/starter_web/assets/images/pages/log_expert/image_009.png +0 -0
  366. data/lib/starter_web/assets/images/pages/log_expert/image_010.png +0 -0
  367. data/lib/starter_web/assets/images/pages/log_expert/image_011.png +0 -0
  368. data/lib/starter_web/assets/images/pages/log_expert/image_012.png +0 -0
  369. data/lib/starter_web/assets/images/pages/log_expert/image_013.png +0 -0
  370. data/lib/starter_web/assets/images/pages/log_expert/image_014.png +0 -0
  371. data/lib/starter_web/assets/images/pages/log_expert/image_015.png +0 -0
  372. data/lib/starter_web/assets/images/pages/log_expert/image_016.png +0 -0
  373. data/lib/starter_web/assets/images/pages/log_expert/image_017.png +0 -0
  374. data/lib/starter_web/assets/images/pages/log_expert/image_018.png +0 -0
  375. data/lib/starter_web/assets/images/pages/log_expert/image_019.png +0 -0
  376. data/lib/starter_web/assets/images/pages/log_expert/image_020.png +0 -0
  377. data/lib/starter_web/assets/images/pages/log_expert/image_021.png +0 -0
  378. data/lib/starter_web/assets/images/pages/log_expert/image_022.png +0 -0
  379. data/lib/starter_web/assets/images/pages/log_expert/image_023.png +0 -0
  380. data/lib/starter_web/assets/images/pages/log_expert/image_024.png +0 -0
  381. data/lib/starter_web/assets/images/pages/log_expert/image_025.png +0 -0
  382. data/lib/starter_web/assets/images/pages/log_expert/image_026.png +0 -0
  383. data/lib/starter_web/assets/images/pages/log_expert/image_027.png +0 -0
  384. data/lib/starter_web/assets/images/pages/log_expert/image_028.png +0 -0
  385. data/lib/starter_web/assets/images/pages/log_expert/image_029.png +0 -0
  386. data/lib/starter_web/assets/images/pages/log_expert/image_030.png +0 -0
  387. data/lib/starter_web/assets/images/pages/log_expert/image_031.png +0 -0
  388. data/lib/starter_web/assets/images/pages/log_expert/image_032.png +0 -0
  389. data/lib/starter_web/assets/images/pages/log_expert/image_033.png +0 -0
  390. data/lib/starter_web/assets/images/pages/log_expert/image_034.png +0 -0
  391. data/lib/starter_web/assets/images/pages/log_expert/image_035.png +0 -0
  392. data/lib/starter_web/assets/images/pages/log_expert/image_036.png +0 -0
  393. data/lib/starter_web/assets/images/pages/log_expert/image_037.png +0 -0
  394. data/lib/starter_web/assets/images/pages/log_expert/image_038.png +0 -0
  395. data/lib/starter_web/assets/images/pages/log_expert/image_039.png +0 -0
  396. data/lib/starter_web/assets/images/pages/log_expert/image_040.png +0 -0
  397. data/lib/starter_web/assets/images/pages/log_expert/image_041.png +0 -0
  398. data/lib/starter_web/assets/images/pages/log_expert/image_042.png +0 -0
  399. data/lib/starter_web/assets/images/pages/log_expert/image_043.png +0 -0
  400. data/lib/starter_web/assets/images/pages/log_expert/image_044.png +0 -0
  401. data/lib/starter_web/assets/images/pages/log_expert/image_045.png +0 -0
  402. data/lib/starter_web/assets/images/pages/log_expert/image_046.png +0 -0
  403. data/lib/starter_web/assets/images/pages/log_expert/image_047.png +0 -0
  404. data/lib/starter_web/assets/images/pages/log_expert/image_048.png +0 -0
  405. data/lib/starter_web/assets/images/pages/log_expert/image_049.png +0 -0
  406. data/lib/starter_web/assets/images/pages/log_expert/image_050.png +0 -0
  407. data/lib/starter_web/assets/images/pages/log_expert/image_051.png +0 -0
  408. data/lib/starter_web/assets/images/pages/log_expert/image_052.png +0 -0
  409. data/lib/starter_web/assets/images/pages/log_expert/image_053.png +0 -0
  410. data/lib/starter_web/assets/images/pages/log_expert/image_054.png +0 -0
  411. data/lib/starter_web/assets/images/pages/log_expert/image_055.png +0 -0
  412. data/lib/starter_web/assets/images/pages/log_expert/image_056.png +0 -0
  413. data/lib/starter_web/assets/images/pages/log_expert/image_057.png +0 -0
  414. data/lib/starter_web/assets/images/pages/material/apple-touch-icon.png +0 -0
  415. data/lib/starter_web/assets/images/pages/pen/jquery/jQuery-logo.png +0 -0
  416. data/lib/starter_web/assets/images/pages/pen/jquery/jquery-banner-1280x600.jpg +0 -0
  417. data/lib/starter_web/assets/images/pages/pen/jquery/jquery-banner-1920x800.jpg +0 -0
  418. data/lib/starter_web/assets/images/pages/pen/jquery/src/JQuery-Logo.svg +0 -122
  419. data/lib/starter_web/assets/images/pages/pen/jquery/src/banner.psd +0 -0
  420. data/lib/starter_web/assets/images/pages/winlogbeat/coordinate-map.png +0 -0
  421. data/lib/starter_web/assets/images/pages/winlogbeat/kibana-powershell.jpg +0 -0
  422. data/lib/starter_web/assets/images/pages/winlogbeat/option_ignore_outgoing.png +0 -0
  423. data/lib/starter_web/assets/images/pages/winlogbeat/winlogbeat-dashboard.png +0 -0
  424. data/lib/starter_web/assets/images/pages/writers_guide/1280px-PDCA_Process.png +0 -0
  425. data/lib/starter_web/assets/images/pages/writers_guide/annie-spratt-1920x1280.jpg +0 -0
  426. data/lib/starter_web/assets/images/pages/writers_guide/deming-cycle.png +0 -0
  427. data/lib/starter_web/assets/images/pages/writers_guide/humble-lamb-1920x1280.jpg +0 -0
  428. data/lib/starter_web/assets/images/pages/writers_guide/john-schnobrich-1920x1280.jpg +0 -0
  429. data/lib/starter_web/assets/images/pages/writers_guide/sigmund-1920x1280.jpg +0 -0
  430. data/lib/starter_web/collections/posts/public/series/_posts/_includes/attributes.asciidoc +0 -37
  431. data/lib/starter_web/collections/posts/public/series/_posts/_includes/documents/readme +0 -0
  432. data/lib/starter_web/collections/posts/public/series/_posts/_includes/tables/debug_variables.asciidoc +0 -47
  433. data/lib/starter_web/pages/protected/site_search.adoc +0 -180
  434. data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.pdf +1 -5439
  435. data/lib/starter_web/pages/public/legal/en/000_copyright.adoc +0 -93
  436. data/lib/starter_web/pages/public/legal/en/100_impress.adoc +0 -55
  437. data/lib/starter_web/pages/public/legal/en/200_terms_of_use.adoc +0 -53
  438. data/lib/starter_web/pages/public/legal/en/eu/cookie.policy.asciidoc +0 -50
@@ -0,0 +1,87 @@
1
+ <?xml version="1.0"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" >
4
+ <head>
5
+ <title>log4javascript 1.4 distribution</title>
6
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
7
+ <meta name="author" content="Tim Down - tim@log4javascript.org" />
8
+ <meta name="description" content="log4javascript, a logging framework for JavaScript based on log4j" />
9
+ <meta name="robots" content="all" />
10
+ <link rel="stylesheet" type="text/css" media="screen,print" href="../main.css" title="Default" />
11
+ </head>
12
+ <body>
13
+ <div id="container" class="nonav">
14
+ <div id="header">
15
+ <h1><a href="../index.html">log4javascript</a></h1>
16
+ </div>
17
+ <div id="content">
18
+ <div id="nav">
19
+ <a class="navitem" href="../index.html">home</a>
20
+ | <a class="navitem" href="http://sourceforge.net/projects/log4javascript" target="_blank" title="Download (opens in new window)">download</a>
21
+ | <a class="navitem" href="index.html">docs</a>
22
+ | <a class="navitem" href="quickstart.html">quick start</a>
23
+ | <a class="navitem" href="../demos/index.html">demos</a>
24
+ | <a class="navitem" href="http://log4javascript.org" target="_blank">website</a>
25
+ | <a class="navitem" href="http://www.timdown.co.uk" target="_blank">timdown.co.uk</a>
26
+ </div>
27
+ <h1>log4javascript 1.4 distribution</h1>
28
+ <p>
29
+ From version 1.4 the distribution includes three different editions of log4javascript:
30
+ </p>
31
+ <ul>
32
+ <li>
33
+ <div><strong>Standard Edition</strong></div>
34
+ <p>
35
+ Equivalent to log4javascript from earlier versions and suitable for general JavaScript
36
+ debugging and logging (including via Ajax).
37
+ </p>
38
+ </li>
39
+ <li>
40
+ <div><strong>Production Edition</strong></div>
41
+ <p>
42
+ Designed for use in production systems where the focus is solely on logging JavaScript
43
+ messages back to the server. Consequently this edition omits all appenders except
44
+ <a href="manual.html#ajaxappender">AjaxAppender</a>, resulting in a drastically reduced
45
+ file size compared to the standard edition.
46
+ </p>
47
+ </li>
48
+ <li>
49
+ <div><strong>Lite Edition</strong></div>
50
+ <p>
51
+ A lightweight version of log4javascript for quick page debugging. Included is a single logger
52
+ using a basic pop-up window appender with a fixed layout.
53
+ </p>
54
+ </li>
55
+ </ul>
56
+ <p>
57
+ Each edition comes in compressed and uncompressed versions. The compressed version is
58
+ functionally identical to the uncompressed version but has had whitespace and comments removed
59
+ and therefore downloads more quickly.
60
+ </p>
61
+ <p>
62
+ Each edition also comes with a stub version. This contains dummy implementations of all
63
+ log4javacript objects and methods in the public API, making it ideal for production environments
64
+ where logging is not required. Replacing the main log4javascript script file with this file
65
+ means that log calls may be left in production code. Compressed and uncompressed versions of
66
+ each stub are included.
67
+ </p>
68
+ <p>
69
+ Finally, each edition comes with a suite of unit tests, available as HTML pages in the
70
+ <code>test/</code> directory. Note that these tests crash old versions (pre-3.1) of Safari. Sorry.
71
+ </p>
72
+ </div>
73
+ <div id="footer">
74
+ <span class="externallinkinfo">
75
+ <strong>NB.</strong> All external links open in a new window.
76
+ </span>
77
+ Written by Tim Down. <a href="mailto:tim@log4javascript.org">tim@log4javascript.org</a>
78
+ <br />
79
+ log4javascript is distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html"
80
+ title="Apache License, Version 2.0 (opens in new window)" target="_blank">Apache License,
81
+ Version 2.0</a>
82
+
83
+ </div>
84
+ </div>
85
+
86
+ </body>
87
+ </html>
@@ -0,0 +1,190 @@
1
+ <?xml version="1.0"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4
+ <head>
5
+ <title>log4javascript documentation</title>
6
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
7
+ <meta name="author" content="Tim Down - tim@log4javascript.org" />
8
+ <meta name="description" content="log4javascript, a logging framework for JavaScript based on log4j" />
9
+ <meta name="robots" content="all" />
10
+ <link rel="stylesheet" type="text/css" media="screen,print" href="../main.css" title="Default" />
11
+ </head>
12
+ <body>
13
+ <div id="container" class="nonav">
14
+ <div id="header">
15
+ <h1><a href="../index.html">log4javascript</a></h1>
16
+ <div id="nav">
17
+ <a class="navitem" href="../index.html">home</a>
18
+ | <a class="navitem" href="http://sourceforge.net/projects/log4javascript" target="_blank" title="Download (opens in new window)">download</a>
19
+ | <span class="navitem">docs</span>
20
+ | <a class="navitem" href="quickstart.html">quick start</a>
21
+ | <a class="navitem" href="../demos/index.html">demos</a>
22
+ | <a class="navitem" href="http://log4javascript.org" target="_blank">website</a>
23
+ | <a class="navitem" href="http://www.timdown.co.uk" target="_blank">timdown.co.uk</a>
24
+ </div>
25
+ </div>
26
+ <div id="content">
27
+ <h1>log4javascript 1.4 documentation</h1>
28
+ <div id="links">
29
+ <h2>Links</h2>
30
+ <ul>
31
+ <li><a href="quickstart.html">Quick start</a></li>
32
+ <li><a href="distribution.html">Details of the log4javascript distribution</a></li>
33
+ <li><a href="backwardsincompatibilities.html">Backwards incompatibilities</a></li>
34
+ <li><a href="whatsnew.html">What's new in this release</a></li>
35
+ <li><a href="../changelog.txt">Change log</a></li>
36
+ <li><a href="manual.html">log4javascript manual</a></li>
37
+ <li><a href="lite.html">log4javascript Lite</a></li>
38
+ <li><a href="manual_lite.html">log4javascript Lite manual</a></li>
39
+ <li><a href="../demos/basic.html">Basic demo</a></li>
40
+ <li><a href="../demos/ajax.html">Ajax demo</a></li>
41
+ </ul>
42
+ </div>
43
+ <div id="contents">
44
+ <h2>Contents</h2>
45
+ <ul>
46
+ <li><a href="#whatitis">What it is</a></li>
47
+ <li><a href="#whofor">Who it's for</a></li>
48
+ <li><a href="#previousversions">Note on previous versions</a></li>
49
+ <li><a href="#features">Features</a></li>
50
+ <li><a href="#browsers">Browser support</a></li>
51
+ <li><a href="#licence">Licence</a></li>
52
+ <li><a href="#furtherreading">Further reading</a></li>
53
+ </ul>
54
+ </div>
55
+ <div id="whatitis">
56
+ <h2>What it is</h2>
57
+ <p>
58
+ log4javascript is a JavaScript logging framework based on the Java
59
+ logging framework <a href="http://logging.apache.org/log4j/1.2/index.html"
60
+ title="log4j home page (opens in new window)" target="_blank">log4j</a>.
61
+ </p>
62
+ <p>
63
+ log4javascript implements a subset of log4j (primarily loggers, appenders
64
+ and layouts) and has a few convenience methods of its own for
65
+ quick JavaScript development. It can be used to debug JavaScript
66
+ applications of all sizes, including Ajax applications.
67
+ </p>
68
+ <p>
69
+ If you just want to start using it, try the <a href="quickstart.html">quickstart
70
+ tutorial</a>.
71
+ </p>
72
+ <p class="linktotop">
73
+ <a href="#container">Top</a>
74
+ </p>
75
+ </div>
76
+ <div id="whofor">
77
+ <h2>Who it's for</h2>
78
+ <p>
79
+ log4javascript is aimed at JavaScript developers.
80
+ </p>
81
+ <p class="linktotop">
82
+ <a href="#container">Top</a>
83
+ </p>
84
+ </div>
85
+ <div id="previousversions">
86
+ <h2>Note on previous versions</h2>
87
+ <p>
88
+ Documentation for previous versions of log4javascript are not available here.
89
+ However, documentation is bundled with every previous version, all of which
90
+ are <a href="http://sourceforge.net/projects/log4javascript"
91
+ target="_blank" title="Download (opens in new window)">available to download</a>.
92
+ </p>
93
+ </div>
94
+ <div id="features">
95
+ <h2>Features</h2>
96
+ <ul>
97
+ <li>can be initialized with one JavaScript include and one line of code;</li>
98
+ <li>
99
+ by default logs to a pop-up console window with powerful search (including
100
+ regular expression) and filtering features. This console window can also
101
+ be used inline as an iframe in the main page;
102
+ </li>
103
+ <li>
104
+ can send log messages to the server via HTTP (Ajax, if you like);
105
+ </li>
106
+ <li>
107
+ highly configurable using familiar methods from log4j, including the
108
+ powerful <code><a href="manual.html#patternlayout">PatternLayout</a></code>
109
+ which gives the developer complete control over the format of the log messages.
110
+ </li>
111
+ </ul>
112
+ <p class="linktotop">
113
+ <a href="#container">Top</a>
114
+ </p>
115
+ </div>
116
+ <div id="browsers">
117
+ <h2>Browser support</h2>
118
+ <h3>Fully supported browsers:</h3>
119
+ <ul>
120
+ <li>All versions Firefox back to 0.6</li>
121
+ <li>Other Mozilla-based browsers, as far back as Netscape 7</li>
122
+ <li>Internet Explorer 5 and higher for Windows</li>
123
+ <li>Safari 1.3 and higher (untested on earlier versions)</li>
124
+ <li>Opera 8.01 and higher (pre- version 9 browsers have a rendering
125
+ bug related to scrolling that affects searching in PopUpAppender and InPageAppender)</li>
126
+ <li>Konqueror 3.4.3 and higher (untested on earlier versions)</li>
127
+ <li>Google Chrome</li>
128
+ </ul>
129
+ <h3>Partially supported browsers:</h3>
130
+ <ul>
131
+ <li>Older Mozilla-based browsers, e.g. Netscape 6.2 (generally OK except for
132
+ display problems searching and filtering PopUpAppender and InPageAppender)</li>
133
+ <li>Opera 7.0 - 8.0 (InPageAppender not supported until version 7.5, plus some display
134
+ problems searching PopUpAppender and InPageAppender. AjaxAppender not supported at all)</li>
135
+ </ul>
136
+ <h3>Unsupported browsers:</h3>
137
+ <ul>
138
+ <li>
139
+ Internet Explorer for Mac. There are no plans to make log4javascript work
140
+ in this browser.
141
+ </li>
142
+ </ul>
143
+ <p class="linktotop">
144
+ <a href="#container">Top</a>
145
+ </p>
146
+ </div>
147
+ <div id="licence">
148
+ <h2>Licence</h2>
149
+ <p>
150
+ log4javascript is licenced under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html"
151
+ title="Apache License, Version 2.0 (opens in new window)" target="_blank">Apache License,
152
+ Version 2.0</a>. The Apache website has <a href="http://www.apache.org/foundation/licence-FAQ.html#WhatDoesItMEAN"
153
+ title="View licence (opens in new window)" target="_blank">more details</a>.
154
+ </p>
155
+ <p class="linktotop">
156
+ <a href="#container">Top</a>
157
+ </p>
158
+ </div>
159
+ <div id="furtherreading">
160
+ <h2>Further reading</h2>
161
+ <p>
162
+ In order to gain an understanding of the ideas behind log4j and therefore log4javascript,
163
+ I highly recommend reading the <a href="http://logging.apache.org/log4j/1.2/manual.html">short
164
+ introduction to log4j</a> from the log4j website. log4javascript borrows heavily from
165
+ log4j but does not carry over all its concepts - for example, Filters and Renderers are not
166
+ implemented.
167
+ </p>
168
+ <p>
169
+ <a href="manual.html">The full log4javascript manual</a>
170
+ </p>
171
+ <p class="linktotop">
172
+ <a href="#container">Top</a>
173
+ </p>
174
+ </div>
175
+ </div>
176
+ <div id="footer">
177
+ <span class="externallinkinfo">
178
+ <strong>NB.</strong> All external links open in a new window.
179
+ </span>
180
+ Written by Tim Down. <a href="mailto:tim@log4javascript.org">tim@log4javascript.org</a>
181
+ <br />
182
+ log4javascript is distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html"
183
+ title="Apache License, Version 2.0 (opens in new window)" target="_blank">Apache License,
184
+ Version 2.0</a>
185
+
186
+ </div>
187
+ </div>
188
+
189
+ </body>
190
+ </html>
@@ -0,0 +1,182 @@
1
+ <?xml version="1.0"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" >
4
+ <head>
5
+ <title>log4javascript 1.4 Lite</title>
6
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
7
+ <meta name="author" content="Tim Down - tim@log4javascript.org" />
8
+ <meta name="description" content="log4javascript, a logging framework for JavaScript based on log4j" />
9
+ <meta name="robots" content="all" />
10
+ <link rel="stylesheet" type="text/css" media="screen,print" href="../main.css" title="Default" />
11
+ <style type="text/css">
12
+ .visibleifabletocopy {
13
+ display: none;
14
+ }
15
+
16
+ body.abletocopy .visibleifabletocopy {
17
+ display: block;
18
+ }
19
+ </style>
20
+ <script type="text/javascript">
21
+ function copyCode() {
22
+ if (window.clipboardData && clipboardData.setData) {
23
+ clipboardData.setData("Text", code);
24
+ alert("Code copied to clipboard.")
25
+ }
26
+ }
27
+
28
+ var code;
29
+
30
+ window.onload = function() {
31
+ var textArea = document.getElementById("codetextarea");
32
+ code = textArea.value;
33
+ textArea.select();
34
+ if (window.clipboardData && clipboardData.setData) {
35
+ document.body.className = "abletocopy";
36
+ }
37
+ };
38
+ </script>
39
+ <link rel="stylesheet" type="text/css" media="screen,print" href="lite.css" title="Default" />
40
+ </head>
41
+ <body>
42
+ <div id="container" class="nonav">
43
+ <div id="header">
44
+ <h1><a href="../index.html">log4javascript</a></h1>
45
+ </div>
46
+ <div id="content">
47
+ <div id="nav">
48
+ <a class="navitem" href="../index.html">home</a>
49
+ | <a class="navitem" href="http://sourceforge.net/projects/log4javascript" target="_blank" title="Download (opens in new window)">download</a>
50
+ | <a class="navitem" href="index.html">docs</a>
51
+ | <a class="navitem" href="quickstart.html">quick start</a>
52
+ | <a class="navitem" href="../demos/index.html">demos</a>
53
+ | <a class="navitem" href="http://log4javascript.org" target="_blank">website</a>
54
+ | <a class="navitem" href="http://www.timdown.co.uk" target="_blank">timdown.co.uk</a>
55
+ </div>
56
+ <h1>log4javascript 1.4 Lite</h1>
57
+ <h2>Contents</h2>
58
+ <ul>
59
+ <li><a href="#intro">Introduction</a></li>
60
+ <li><a href="#code">Code</a></li>
61
+ <li><a href="#api">API</a></li>
62
+ </ul>
63
+ <div id="intro">
64
+ <h2>Introduction</h2>
65
+ <p>
66
+ log4javascript Lite is designed to be a basic, lightweight, cross-browser logging tool. It
67
+ provides functions to log messages of different severity to a pop-up window using the exactly
68
+ the same syntax as log4javascript.
69
+ </p>
70
+ <p class="linktotop">
71
+ <a href="#container">Top</a>
72
+ </p>
73
+ </div>
74
+ <div id="code">
75
+ <h2>Code</h2>
76
+ <p>
77
+ You can copy the code for log4javascript Lite below:
78
+ </p>
79
+ <textarea id="codetextarea" cols="80" rows="10">
80
+ if(!Array.prototype.shift){Array.prototype.shift=function(){if(this.length>0){var firstItem=this[0];for(var i=0,len=this.length-1;i<len;i++){this[i]=this[i+1];}
81
+ this.length--;return firstItem;}};}
82
+ var log4javascript;(function(){var newLine="\r\n";function Log4JavaScript(){}
83
+ log4javascript=new Log4JavaScript();log4javascript.version="1.4.13";log4javascript.edition="log4javascript_lite";function getExceptionMessage(ex){if(ex.message){return ex.message;}else if(ex.description){return ex.description;}else{return String(ex);}}
84
+ function getUrlFileName(url){var lastSlashIndex=Math.max(url.lastIndexOf("/"),url.lastIndexOf("\\"));return url.substr(lastSlashIndex+1);}
85
+ function getExceptionStringRep(ex){if(ex){var exStr="Exception: "+getExceptionMessage(ex);try{if(ex.lineNumber){exStr+=" on line number "+ex.lineNumber;}
86
+ if(ex.fileName){exStr+=" in file "+getUrlFileName(ex.fileName);}}catch(localEx){}
87
+ if(showStackTraces&&ex.stack){exStr+=newLine+"Stack trace:"+newLine+ex.stack;}
88
+ return exStr;}
89
+ return null;}
90
+ function isError(err){return(err instanceof Error);}
91
+ function bool(obj){return Boolean(obj);}
92
+ var enabled=(typeof log4javascript_disabled!="undefined")&&log4javascript_disabled?false:true;log4javascript.setEnabled=function(enable){enabled=bool(enable);};log4javascript.isEnabled=function(){return enabled;};var showStackTraces=false;log4javascript.setShowStackTraces=function(show){showStackTraces=bool(show);};var Level=function(level,name){this.level=level;this.name=name;};Level.prototype={toString:function(){return this.name;},equals:function(level){return this.level==level.level;},isGreaterOrEqual:function(level){return this.level>=level.level;}};Level.ALL=new Level(Number.MIN_VALUE,"ALL");Level.TRACE=new Level(10000,"TRACE");Level.DEBUG=new Level(20000,"DEBUG");Level.INFO=new Level(30000,"INFO");Level.WARN=new Level(40000,"WARN");Level.ERROR=new Level(50000,"ERROR");Level.FATAL=new Level(60000,"FATAL");Level.OFF=new Level(Number.MAX_VALUE,"OFF");log4javascript.Level=Level;function Appender(){var getConsoleHtmlLines=function(){return['<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">','<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">','<head>','<title>log4javascript</title>','<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />','<!-- Make IE8 behave like IE7, having gone to all the trouble of making IE work -->','<meta http-equiv="X-UA-Compatible" content="IE=7" />','<script type="text/javascript">','//<![CDATA[','var loggingEnabled=true;var messagesBeforeDocLoaded=[];function toggleLoggingEnabled(){setLoggingEnabled($("enableLogging").checked);}','function setLoggingEnabled(enable){loggingEnabled=enable;}','function scrollToLatestEntry(){var l=getLogContainer();if(typeof l.scrollTop!="undefined"){var latestLogEntry=l.lastChild;if(latestLogEntry){l.scrollTop=l.scrollHeight;}}}','function log(logLevel,formattedMessage){if(loggingEnabled){if(loaded){doLog(logLevel,formattedMessage);}else{messagesBeforeDocLoaded.push([logLevel,formattedMessage]);}}}','function doLog(logLevel,formattedMessage){var logEntry=document.createElement("div");logEntry.appendChild(document.createTextNode(formattedMessage));logEntry.className="logentry "+logLevel.name;getLogContainer().appendChild(logEntry);scrollToLatestEntry();}','function mainPageReloaded(){var separator=document.createElement("div");separator.className="separator";separator.innerHTML="&nbsp;";getLogContainer().appendChild(separator);}','var loaded=false;var logLevels=["DEBUG","INFO","WARN","ERROR","FATAL"];window.onload=function(){setLogContainerHeight();toggleLoggingEnabled();for(var i=0;i<messagesBeforeDocLoaded.length;i++){doLog(messagesBeforeDocLoaded[i][0],messagesBeforeDocLoaded[i][1]);}','messagesBeforeDocLoaded=[];loaded=true;setTimeout(setLogContainerHeight,20);};function getLogContainer(){return $("log");}','function clearLog(){getLogContainer().innerHTML="";}','function $(id){return document.getElementById(id);}','function getWindowHeight(){if(window.innerHeight){return window.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight;}else if(document.body){return document.body.clientHeight;}','return 0;}','function getChromeHeight(){return $("toolbar").offsetHeight;}','function setLogContainerHeight(){var windowHeight=getWindowHeight();$("body").style.height=getWindowHeight()+"px";getLogContainer().style.height=""+','Math.max(0,windowHeight-getChromeHeight())+"px";}','window.onresize=function(){setLogContainerHeight();};','//]]>','</scr' + 'ipt>','<style type="text/css">','body{background-color:white;color:black;padding:0;margin:0;font-family:tahoma,verdana,arial,helvetica,sans-serif;overflow:hidden}div#toolbar{border-top:solid #ffffff 1px;border-bottom:solid #aca899 1px;background-color:#f1efe7;padding:3px 5px;font-size:68.75%}div#toolbar input.button{padding:0 5px;font-size:100%}div#log{font-family:Courier New,Courier;font-size:75%;width:100%;overflow:auto;clear:both}*.logentry{overflow:visible;white-space:pre}*.TRACE{color:#666666}*.DEBUG{color:green}*.INFO{color:#000099}*.WARN{color:#999900}*.ERROR{color:red}*.FATAL{color:#660066}div#log div.separator{background-color:#cccccc;margin:5px 0;line-height:1px}','</style>','</head>','<body id="body">','<div id="toolbar">','Options:','<input type="checkbox" id="enableLogging" onclick="toggleLoggingEnabled()" class="stateful" checked="checked" title="Enable/disable logging" /><label for="enableLogging" id="enableLoggingLabel">Enable logging</label>','<input type="button" id="clearButton" value="Clear" onclick="clearLog()" class="stateful button" title="Clear all log messages" />','<input type="button" id="closeButton" value="Close" onclick="window.close()" class="stateful button" title="Close the window" />','</div>','<div id="log" class="TRACE DEBUG INFO WARN ERROR FATAL"></div>','</body>','</html>'];};var popUp=null;var popUpsBlocked=false;var popUpClosed=false;var popUpLoaded=false;var complainAboutPopUpBlocking=true;var initialized=false;var isSupported=true;var width=600;var height=400;var focusPopUp=false;var queuedLoggingEvents=new Array();function isLoaded(win){try{return bool(win.loaded);}catch(ex){return false;}}
93
+ function finalInit(){popUpLoaded=true;appendQueuedLoggingEvents();}
94
+ function writeHtml(doc){var lines=getConsoleHtmlLines();doc.open();for(var i=0,len=lines.length;i<len;i++){doc.writeln(lines[i]);}
95
+ doc.close();}
96
+ function pollConsoleWindow(){function pollConsoleWindowLoaded(){if(popUpLoaded){clearInterval(poll);}else if(bool(popUp)&&isLoaded(popUp)){clearInterval(poll);finalInit();}}
97
+ var poll=setInterval(pollConsoleWindowLoaded,100);}
98
+ function init(){var windowProperties="width="+width+",height="+height+",status,resizable";var windowName="log4javascriptLitePopUp"+location.host.replace(/[^a-z0-9]/gi,"_");popUp=window.open("",windowName,windowProperties);popUpClosed=false;if(popUp){if(isLoaded(popUp)){popUp.mainPageReloaded();finalInit();}else{writeHtml(popUp.document);if(isLoaded(popUp)){finalInit();}else{pollConsoleWindow();}}}else{isSupported=false;if(complainAboutPopUpBlocking){alert("log4javascript: pop-up windows appear to be blocked. Please unblock them to use pop-up logging.");}}
99
+ initialized=true;}
100
+ function safeToAppend(){if(!popUpsBlocked&&!popUpClosed){if(popUp.closed){popUpClosed=true;return false;}
101
+ if(!popUpLoaded&&popUp.loaded){popUpLoaded=true;}}
102
+ return!popUpsBlocked&&popUpLoaded&&!popUpClosed;}
103
+ function padWithZeroes(num,len){var str=""+num;while(str.length<len){str="0"+str;}
104
+ return str;}
105
+ function padWithSpaces(str,len){while(str.length<len){str+=" ";}
106
+ return str;}
107
+ this.append=function(loggingEvent){if(!initialized){init();}
108
+ queuedLoggingEvents.push(loggingEvent);if(safeToAppend()){appendQueuedLoggingEvents();}};function appendQueuedLoggingEvents(){if(safeToAppend()){while(queuedLoggingEvents.length>0){var currentLoggingEvent=queuedLoggingEvents.shift();var date=currentLoggingEvent.timeStamp;var formattedDate=padWithZeroes(date.getHours(),2)+":"+
109
+ padWithZeroes(date.getMinutes(),2)+":"+padWithZeroes(date.getSeconds(),2);var formattedMessage=formattedDate+" "+padWithSpaces(currentLoggingEvent.level.name,5)+" - "+currentLoggingEvent.getCombinedMessages();var throwableStringRep=currentLoggingEvent.getThrowableStrRep();if(throwableStringRep){formattedMessage+=newLine+throwableStringRep;}
110
+ popUp.log(currentLoggingEvent.level,formattedMessage);}
111
+ if(focusPopUp){popUp.focus();}}}}
112
+ log4javascript.Appender=Appender;function Logger(){var appender=new Appender();var loggerLevel=Level.ALL;this.log=function(level,params){if(enabled&&level.isGreaterOrEqual(this.getLevel())){var exception;var finalParamIndex=params.length-1;var lastParam=params[params.length-1];if(params.length>1&&isError(lastParam)){exception=lastParam;finalParamIndex--;}
113
+ var messages=[];for(var i=0;i<=finalParamIndex;i++){messages[i]=params[i];}
114
+ var loggingEvent=new LoggingEvent(this,new Date(),level,messages,exception);appender.append(loggingEvent);}};this.setLevel=function(level){loggerLevel=level;};this.getLevel=function(){return loggerLevel;};}
115
+ Logger.prototype={trace:function(){this.log(Level.TRACE,arguments);},debug:function(){this.log(Level.DEBUG,arguments);},info:function(){this.log(Level.INFO,arguments);},warn:function(){this.log(Level.WARN,arguments);},error:function(){this.log(Level.ERROR,arguments);},fatal:function(){this.log(Level.FATAL,arguments);},isEnabledFor:function(level){return level.isGreaterOrEqual(this.getLevel());},isTraceEnabled:function(){return this.isEnabledFor(Level.TRACE);},isDebugEnabled:function(){return this.isEnabledFor(Level.DEBUG);},isInfoEnabled:function(){return this.isEnabledFor(Level.INFO);},isWarnEnabled:function(){return this.isEnabledFor(Level.WARN);},isErrorEnabled:function(){return this.isEnabledFor(Level.ERROR);},isFatalEnabled:function(){return this.isEnabledFor(Level.FATAL);}};var defaultLogger=null;log4javascript.getDefaultLogger=function(){if(!defaultLogger){defaultLogger=new Logger();}
116
+ return defaultLogger;};log4javascript.getLogger=log4javascript.getDefaultLogger;var nullLogger=null;log4javascript.getNullLogger=function(){if(!nullLogger){nullLogger=new Logger();nullLogger.setLevel(Level.OFF);}
117
+ return nullLogger;};var LoggingEvent=function(logger,timeStamp,level,messages,exception){this.logger=logger;this.timeStamp=timeStamp;this.level=level;this.messages=messages;this.exception=exception;};LoggingEvent.prototype={getThrowableStrRep:function(){return this.exception?getExceptionStringRep(this.exception):"";},getCombinedMessages:function(){return(this.messages.length===1)?this.messages[0]:this.messages.join(newLine);}};log4javascript.LoggingEvent=LoggingEvent;window.log4javascript=log4javascript;})();
118
+ </textarea>
119
+ <p class="visibleifabletocopy">
120
+ Press this button to copy the code to the clipboard:
121
+ <input type="button" value="Copy" onclick="copyCode()" />
122
+ </p>
123
+ <p>
124
+ You can either paste the above code inside a script tag:
125
+ </p>
126
+ <pre class="code">
127
+ &lt;script type="text/javascript"&gt;
128
+ ... [Code here]...
129
+ &lt;/script&gt;
130
+ </pre>
131
+ <p>
132
+ ... or include the <code>log4javascript_lite.js</code> included in the distribution:
133
+ </p>
134
+ <pre class="code">
135
+ &lt;script type="text/javascript" src="log4javascript_lite.js"&gt;&lt;/script&gt;
136
+ </pre>
137
+ <pre class="code">
138
+ &lt;script type="text/javascript"&gt;
139
+ var log = log4javascript.getDefaultLogger();
140
+ &lt;/script&gt;
141
+ </pre>
142
+ <p>
143
+ Using log4javascript Lite is identical to using log4javascript with its default logger:
144
+ </p>
145
+ <pre class="code">
146
+ &lt;script type="text/javascript"&gt;
147
+ var log = log4javascript.getDefaultLogger();
148
+ log.debug("What's going on here then?");
149
+ &lt;/script&gt;
150
+ </pre>
151
+ <p class="linktotop">
152
+ <a href="#container">Top</a>
153
+ </p>
154
+ </div>
155
+ <div id="api">
156
+ <h2>API</h2>
157
+ <p>
158
+ The functions available in log4javascript Lite make up a small subset of those provided
159
+ by log4javascript proper. Each function is <strong>named and called identically to the equivalent
160
+ function in log4javascript</strong>. Full details can be found in the
161
+ <a href="manual_lite.html">log4javascript Lite manual</a>.
162
+ </p>
163
+ <p class="linktotop">
164
+ <a href="#container">Top</a>
165
+ </p>
166
+ </div>
167
+ </div>
168
+ <div id="footer">
169
+ <span class="externallinkinfo">
170
+ <strong>NB.</strong> All external links open in a new window.
171
+ </span>
172
+ Written by Tim Down. <a href="mailto:tim@log4javascript.org">tim@log4javascript.org</a>
173
+ <br />
174
+ log4javascript is distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html"
175
+ title="Apache License, Version 2.0 (opens in new window)" target="_blank">Apache License,
176
+ Version 2.0</a>
177
+
178
+ </div>
179
+ </div>
180
+
181
+ </body>
182
+ </html>