hyla 1.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (404) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile.lock +35 -7
  3. data/README.adoc +10 -2
  4. data/bin/hyla +16 -13
  5. data/hyla.gemspec +6 -3
  6. data/lib/hyla.rb +5 -1
  7. data/lib/hyla/command.rb +12 -10
  8. data/lib/hyla/commands/create.rb +21 -12
  9. data/lib/hyla/commands/generate.rb +168 -59
  10. data/lib/hyla/commands/new.rb +36 -15
  11. data/lib/hyla/commands/watch.rb +6 -2
  12. data/lib/hyla/configuration.rb +169 -27
  13. data/lib/hyla/core_ext.rb +24 -0
  14. data/lib/hyla/project.rb +1 -1
  15. data/lib/resources/backends/haml/deckjs/block_admonition.html.haml +14 -0
  16. data/lib/resources/backends/haml/deckjs/block_audio.html.haml +7 -0
  17. data/lib/resources/backends/haml/deckjs/block_colist.html.haml +21 -0
  18. data/lib/resources/backends/haml/deckjs/block_dlist.html.haml +54 -0
  19. data/lib/resources/backends/haml/deckjs/block_example.haml.haml +5 -0
  20. data/lib/resources/backends/haml/deckjs/block_floating_title.html.haml +1 -0
  21. data/lib/resources/backends/haml/deckjs/block_image.html.haml +11 -0
  22. data/lib/resources/backends/haml/deckjs/block_listing.html.haml +32 -0
  23. data/lib/resources/backends/haml/deckjs/block_literal.html.haml +5 -0
  24. data/lib/resources/backends/haml/deckjs/block_olist.html.haml +11 -0
  25. data/lib/resources/backends/haml/deckjs/block_open.html.haml +5 -0
  26. data/lib/resources/backends/haml/deckjs/block_page_break.html.haml +1 -0
  27. data/lib/resources/backends/haml/deckjs/block_paragraph.html.haml +4 -0
  28. data/lib/resources/backends/haml/deckjs/block_pass.html.haml +1 -0
  29. data/lib/resources/backends/haml/deckjs/block_preamble.html.haml +3 -0
  30. data/lib/resources/backends/haml/deckjs/block_quote.html.haml +12 -0
  31. data/lib/resources/backends/haml/deckjs/block_ruler.html.haml +1 -0
  32. data/lib/resources/backends/haml/deckjs/block_sidebar.html.haml +5 -0
  33. data/lib/resources/backends/haml/deckjs/block_table.html.haml +48 -0
  34. data/lib/resources/backends/haml/deckjs/block_ulist.html.haml +25 -0
  35. data/lib/resources/backends/haml/deckjs/block_verse.html.haml +13 -0
  36. data/lib/resources/backends/haml/deckjs/block_video.html.haml +24 -0
  37. data/lib/resources/backends/haml/deckjs/document.html.haml +182 -0
  38. data/lib/resources/backends/haml/deckjs/embedded.html.haml +10 -0
  39. data/lib/resources/backends/haml/deckjs/inline_anchor.html.haml +12 -0
  40. data/lib/resources/backends/haml/deckjs/inline_break.html.haml +2 -0
  41. data/lib/resources/backends/haml/deckjs/inline_callout.html.haml +7 -0
  42. data/lib/resources/backends/haml/deckjs/inline_footnote.html.haml +8 -0
  43. data/lib/resources/backends/haml/deckjs/inline_image.html.haml +24 -0
  44. data/lib/resources/backends/haml/deckjs/inline_indexterm.html.haml +2 -0
  45. data/lib/resources/backends/haml/deckjs/inline_quoted.html.haml +19 -0
  46. data/lib/resources/backends/haml/deckjs/section.html.haml +7 -0
  47. data/lib/resources/backends/haml/docbook45/block_admonition.xml.haml +7 -0
  48. data/lib/resources/backends/haml/docbook45/block_colist.xml.haml +8 -0
  49. data/lib/resources/backends/haml/docbook45/block_dlist.xml.haml +61 -0
  50. data/lib/resources/backends/haml/docbook45/block_example.xml.haml +14 -0
  51. data/lib/resources/backends/haml/docbook45/block_floating_title.xml.haml +1 -0
  52. data/lib/resources/backends/haml/docbook45/block_image.xml.haml +8 -0
  53. data/lib/resources/backends/haml/docbook45/block_listing.xml.haml +14 -0
  54. data/lib/resources/backends/haml/docbook45/block_literal.xml.haml +7 -0
  55. data/lib/resources/backends/haml/docbook45/block_olist.xml.haml +8 -0
  56. data/lib/resources/backends/haml/docbook45/block_open.xml.haml +25 -0
  57. data/lib/resources/backends/haml/docbook45/block_page_break.xml.haml +1 -0
  58. data/lib/resources/backends/haml/docbook45/block_paragraph.xml.haml +6 -0
  59. data/lib/resources/backends/haml/docbook45/block_pass.xml.haml +1 -0
  60. data/lib/resources/backends/haml/docbook45/block_preamble.xml.haml +7 -0
  61. data/lib/resources/backends/haml/docbook45/block_quote.xml.haml +13 -0
  62. data/lib/resources/backends/haml/docbook45/block_ruler.xml.haml +2 -0
  63. data/lib/resources/backends/haml/docbook45/block_sidebar.xml.haml +7 -0
  64. data/lib/resources/backends/haml/docbook45/block_table.xml.haml +37 -0
  65. data/lib/resources/backends/haml/docbook45/block_ulist.xml.haml +18 -0
  66. data/lib/resources/backends/haml/docbook45/block_verse.xml.haml +10 -0
  67. data/lib/resources/backends/haml/docbook45/document.xml.haml +63 -0
  68. data/lib/resources/backends/haml/docbook45/embedded.xml.haml +1 -0
  69. data/lib/resources/backends/haml/docbook45/helpers.rb +7 -0
  70. data/lib/resources/backends/haml/docbook45/inline_anchor.xml.haml +13 -0
  71. data/lib/resources/backends/haml/docbook45/inline_break.xml.haml +2 -0
  72. data/lib/resources/backends/haml/docbook45/inline_callout.xml.haml +1 -0
  73. data/lib/resources/backends/haml/docbook45/inline_footnote.xml.haml +5 -0
  74. data/lib/resources/backends/haml/docbook45/inline_image.xml.haml +5 -0
  75. data/lib/resources/backends/haml/docbook45/inline_indexterm.xml.haml +18 -0
  76. data/lib/resources/backends/haml/docbook45/inline_quoted.xml.haml +21 -0
  77. data/lib/resources/backends/haml/docbook45/section.xml.haml +5 -0
  78. data/lib/resources/backends/haml/html5/block_admonition.html.haml +14 -0
  79. data/lib/resources/backends/haml/html5/block_audio.html.haml +7 -0
  80. data/lib/resources/backends/haml/html5/block_colist.html.haml +21 -0
  81. data/lib/resources/backends/haml/html5/block_dlist.html.haml +54 -0
  82. data/lib/resources/backends/haml/html5/block_example.haml.haml +5 -0
  83. data/lib/resources/backends/haml/html5/block_floating_title.html.haml +1 -0
  84. data/lib/resources/backends/haml/html5/block_image.html.haml +11 -0
  85. data/lib/resources/backends/haml/html5/block_listing.html.haml +31 -0
  86. data/lib/resources/backends/haml/html5/block_literal.html.haml +5 -0
  87. data/lib/resources/backends/haml/html5/block_math.html.haml +10 -0
  88. data/lib/resources/backends/haml/html5/block_olist.html.haml +9 -0
  89. data/lib/resources/backends/haml/html5/block_open.html.haml +15 -0
  90. data/lib/resources/backends/haml/html5/block_page_break.html.haml +1 -0
  91. data/lib/resources/backends/haml/html5/block_paragraph.html.haml +4 -0
  92. data/lib/resources/backends/haml/html5/block_pass.html.haml +1 -0
  93. data/lib/resources/backends/haml/html5/block_preamble.html.haml +6 -0
  94. data/lib/resources/backends/haml/html5/block_quote.html.haml +12 -0
  95. data/lib/resources/backends/haml/html5/block_ruler.html.haml +1 -0
  96. data/lib/resources/backends/haml/html5/block_sidebar.html.haml +5 -0
  97. data/lib/resources/backends/haml/html5/block_table.html.haml +47 -0
  98. data/lib/resources/backends/haml/html5/block_toc.html.haml +11 -0
  99. data/lib/resources/backends/haml/html5/block_ulist.html.haml +25 -0
  100. data/lib/resources/backends/haml/html5/block_verse.html.haml +13 -0
  101. data/lib/resources/backends/haml/html5/block_video.html.haml +27 -0
  102. data/lib/resources/backends/haml/html5/document.html.haml +114 -0
  103. data/lib/resources/backends/haml/html5/embedded.html.haml +10 -0
  104. data/lib/resources/backends/haml/html5/helpers.rb +7 -0
  105. data/lib/resources/backends/haml/html5/inline_anchor.html.haml +11 -0
  106. data/lib/resources/backends/haml/html5/inline_break.html.haml +2 -0
  107. data/lib/resources/backends/haml/html5/inline_button.html.haml +1 -0
  108. data/lib/resources/backends/haml/html5/inline_callout.html.haml +7 -0
  109. data/lib/resources/backends/haml/html5/inline_footnote.html.haml +8 -0
  110. data/lib/resources/backends/haml/html5/inline_image.html.haml +24 -0
  111. data/lib/resources/backends/haml/html5/inline_indexterm.html.haml +2 -0
  112. data/lib/resources/backends/haml/html5/inline_kbd.html.haml +8 -0
  113. data/lib/resources/backends/haml/html5/inline_menu.html.haml +15 -0
  114. data/lib/resources/backends/haml/html5/inline_quoted.html.haml +22 -0
  115. data/lib/resources/backends/haml/html5/section.html.haml +21 -0
  116. data/lib/resources/backends/haml/revealjs/block_image.html.haml +11 -0
  117. data/lib/resources/backends/haml/revealjs/block_olist.html.haml +8 -0
  118. data/lib/resources/backends/haml/revealjs/block_ulist.html.haml +8 -0
  119. data/lib/resources/backends/haml/revealjs/document.html.haml +61 -0
  120. data/lib/resources/backends/haml/revealjs/section.html.haml +10 -0
  121. data/lib/resources/backends/slim/docbook45/block_admonition.xml.slim +7 -0
  122. data/lib/resources/backends/slim/docbook45/block_colist.xml.slim +8 -0
  123. data/lib/resources/backends/slim/docbook45/block_dlist.xml.slim +61 -0
  124. data/lib/resources/backends/slim/docbook45/block_example.xml.slim +13 -0
  125. data/lib/resources/backends/slim/docbook45/block_floating_title.xml.slim +1 -0
  126. data/lib/resources/backends/slim/docbook45/block_image.xml.slim +7 -0
  127. data/lib/resources/backends/slim/docbook45/block_listing.xml.slim +14 -0
  128. data/lib/resources/backends/slim/docbook45/block_literal.xml.slim +7 -0
  129. data/lib/resources/backends/slim/docbook45/block_olist.xml.slim +8 -0
  130. data/lib/resources/backends/slim/docbook45/block_open.xml.slim +25 -0
  131. data/lib/resources/backends/slim/docbook45/block_page_break.xml.slim +1 -0
  132. data/lib/resources/backends/slim/docbook45/block_paragraph.xml.slim +6 -0
  133. data/lib/resources/backends/slim/docbook45/block_pass.xml.slim +1 -0
  134. data/lib/resources/backends/slim/docbook45/block_preamble.xml.slim +7 -0
  135. data/lib/resources/backends/slim/docbook45/block_quote.xml.slim +13 -0
  136. data/lib/resources/backends/slim/docbook45/block_ruler.xml.slim +2 -0
  137. data/lib/resources/backends/slim/docbook45/block_sidebar.xml.slim +7 -0
  138. data/lib/resources/backends/slim/docbook45/block_table.xml.slim +36 -0
  139. data/lib/resources/backends/slim/docbook45/block_ulist.xml.slim +18 -0
  140. data/lib/resources/backends/slim/docbook45/block_verse.xml.slim +10 -0
  141. data/lib/resources/backends/slim/docbook45/document.xml.slim +63 -0
  142. data/lib/resources/backends/slim/docbook45/embedded.xml.slim +1 -0
  143. data/lib/resources/backends/slim/docbook45/helpers.rb +9 -0
  144. data/lib/resources/backends/slim/docbook45/inline_anchor.xml.slim +13 -0
  145. data/lib/resources/backends/slim/docbook45/inline_break.xml.slim +2 -0
  146. data/lib/resources/backends/slim/docbook45/inline_callout.xml.slim +1 -0
  147. data/lib/resources/backends/slim/docbook45/inline_footnote.xml.slim +4 -0
  148. data/lib/resources/backends/slim/docbook45/inline_image.xml.slim +4 -0
  149. data/lib/resources/backends/slim/docbook45/inline_indexterm.xml.slim +16 -0
  150. data/lib/resources/backends/slim/docbook45/inline_quoted.xml.slim +21 -0
  151. data/lib/resources/backends/slim/docbook45/section.xml.slim +5 -0
  152. data/lib/resources/backends/slim/document.html.bk.slim +335 -0
  153. data/lib/resources/backends/slim/dzslides/block_admonition.html.slim +19 -0
  154. data/lib/resources/backends/slim/dzslides/block_colist.html.slim +20 -0
  155. data/lib/resources/backends/slim/dzslides/block_dlist.html.slim +10 -0
  156. data/lib/resources/backends/slim/dzslides/block_example.html.slim +4 -0
  157. data/lib/resources/backends/slim/dzslides/block_floating_title.html.slim +1 -0
  158. data/lib/resources/backends/slim/dzslides/block_image.html.slim +14 -0
  159. data/lib/resources/backends/slim/dzslides/block_listing.html.slim +8 -0
  160. data/lib/resources/backends/slim/dzslides/block_literal.html.slim +11 -0
  161. data/lib/resources/backends/slim/dzslides/block_olist.html.slim +6 -0
  162. data/lib/resources/backends/slim/dzslides/block_open.html.slim +4 -0
  163. data/lib/resources/backends/slim/dzslides/block_paragraph.html.slim +1 -0
  164. data/lib/resources/backends/slim/dzslides/block_pass.html.slim +1 -0
  165. data/lib/resources/backends/slim/dzslides/block_quote.html.slim +11 -0
  166. data/lib/resources/backends/slim/dzslides/block_ruler.html.slim +1 -0
  167. data/lib/resources/backends/slim/dzslides/block_table.html.slim +45 -0
  168. data/lib/resources/backends/slim/dzslides/block_ulist.html.slim +6 -0
  169. data/lib/resources/backends/slim/dzslides/block_verse.html.slim +12 -0
  170. data/lib/resources/backends/slim/dzslides/block_video.html.slim +6 -0
  171. data/lib/resources/backends/slim/dzslides/document.html.slim +67 -0
  172. data/lib/resources/backends/slim/dzslides/embedded.html.slim +1 -0
  173. data/lib/resources/backends/slim/dzslides/helpers.rb +9 -0
  174. data/lib/resources/backends/slim/dzslides/inline_anchor.html.slim +11 -0
  175. data/lib/resources/backends/slim/dzslides/inline_break.html.slim +2 -0
  176. data/lib/resources/backends/slim/dzslides/inline_callout.html.slim +7 -0
  177. data/lib/resources/backends/slim/dzslides/inline_footnote.html.slim +6 -0
  178. data/lib/resources/backends/slim/dzslides/inline_image.html.slim +24 -0
  179. data/lib/resources/backends/slim/dzslides/inline_indexterm.html.slim +2 -0
  180. data/lib/resources/backends/slim/dzslides/inline_kbd.html.slim +8 -0
  181. data/lib/resources/backends/slim/dzslides/inline_quoted.html.slim +23 -0
  182. data/lib/resources/backends/slim/dzslides/section.html.slim +4 -0
  183. data/lib/resources/backends/slim/html5/block_admonition.html.slim +13 -0
  184. data/lib/resources/backends/slim/html5/block_audio.html.slim +6 -0
  185. data/lib/resources/backends/slim/html5/block_colist.html.slim +20 -0
  186. data/lib/resources/backends/slim/html5/block_dlist.html.slim +53 -0
  187. data/lib/resources/backends/slim/html5/block_example.html.slim +4 -0
  188. data/lib/resources/backends/slim/html5/block_floating_title.html.slim +1 -0
  189. data/lib/resources/backends/slim/html5/block_image.html.slim +10 -0
  190. data/lib/resources/backends/slim/html5/block_listing.html.slim +31 -0
  191. data/lib/resources/backends/slim/html5/block_literal.html.slim +4 -0
  192. data/lib/resources/backends/slim/html5/block_math.html.slim +10 -0
  193. data/lib/resources/backends/slim/html5/block_olist.html.slim +9 -0
  194. data/lib/resources/backends/slim/html5/block_open.html.slim +15 -0
  195. data/lib/resources/backends/slim/html5/block_page_break.html.slim +1 -0
  196. data/lib/resources/backends/slim/html5/block_paragraph.html.slim +4 -0
  197. data/lib/resources/backends/slim/html5/block_pass.html.slim +1 -0
  198. data/lib/resources/backends/slim/html5/block_preamble.html.slim +6 -0
  199. data/lib/resources/backends/slim/html5/block_quote.html.slim +14 -0
  200. data/lib/resources/backends/slim/html5/block_ruler.html.slim +1 -0
  201. data/lib/resources/backends/slim/html5/block_sidebar.html.slim +5 -0
  202. data/lib/resources/backends/slim/html5/block_table.html.slim +45 -0
  203. data/lib/resources/backends/slim/html5/block_toc.html.slim +12 -0
  204. data/lib/resources/backends/slim/html5/block_ulist.html.slim +25 -0
  205. data/lib/resources/backends/slim/html5/block_verse.html.slim +14 -0
  206. data/lib/resources/backends/slim/html5/block_video.html.slim +27 -0
  207. data/lib/resources/backends/slim/html5/document.html.slim +112 -0
  208. data/lib/resources/backends/slim/html5/embedded.html.slim +9 -0
  209. data/lib/resources/backends/slim/html5/helpers.rb +8 -0
  210. data/lib/resources/backends/slim/html5/inline_anchor.html.slim +11 -0
  211. data/lib/resources/backends/slim/html5/inline_break.html.slim +2 -0
  212. data/lib/resources/backends/slim/html5/inline_button.html.slim +1 -0
  213. data/lib/resources/backends/slim/html5/inline_callout.html.slim +7 -0
  214. data/lib/resources/backends/slim/html5/inline_footnote.html.slim +6 -0
  215. data/lib/resources/backends/slim/html5/inline_image.html.slim +24 -0
  216. data/lib/resources/backends/slim/html5/inline_indexterm.html.slim +2 -0
  217. data/lib/resources/backends/slim/html5/inline_kbd.html.slim +8 -0
  218. data/lib/resources/backends/slim/html5/inline_menu.html.slim +15 -0
  219. data/lib/resources/backends/slim/html5/inline_quoted.html.slim +22 -0
  220. data/lib/resources/backends/slim/html5/section.html.slim +20 -0
  221. data/lib/resources/backends/slim/revealjs/block_admonition.html.slim +13 -0
  222. data/lib/resources/backends/slim/revealjs/block_audio.html.slim +6 -0
  223. data/lib/resources/backends/slim/revealjs/block_colist.html.slim +20 -0
  224. data/lib/resources/backends/slim/revealjs/block_dlist.html.slim +53 -0
  225. data/lib/resources/backends/slim/revealjs/block_example.html.slim +4 -0
  226. data/lib/resources/backends/slim/revealjs/block_floating_title.html.slim +1 -0
  227. data/lib/resources/backends/slim/revealjs/block_image.html.slim +10 -0
  228. data/lib/resources/backends/slim/revealjs/block_listing.html.slim +31 -0
  229. data/lib/resources/backends/slim/revealjs/block_literal.html.slim +4 -0
  230. data/lib/resources/backends/slim/revealjs/block_math.html.slim +10 -0
  231. data/lib/resources/backends/slim/revealjs/block_olist.html.slim +9 -0
  232. data/lib/resources/backends/slim/revealjs/block_open.html.slim +15 -0
  233. data/lib/resources/backends/slim/revealjs/block_page_break.html.slim +1 -0
  234. data/lib/resources/backends/slim/revealjs/block_paragraph.html.slim +4 -0
  235. data/lib/resources/backends/slim/revealjs/block_pass.html.slim +1 -0
  236. data/lib/resources/backends/slim/revealjs/block_preamble.html.slim +6 -0
  237. data/lib/resources/backends/slim/revealjs/block_quote.html.slim +14 -0
  238. data/lib/resources/backends/slim/revealjs/block_ruler.html.slim +1 -0
  239. data/lib/resources/backends/slim/revealjs/block_sidebar.html.slim +5 -0
  240. data/lib/resources/backends/slim/revealjs/block_table.html.slim +45 -0
  241. data/lib/resources/backends/slim/revealjs/block_toc.html.slim +12 -0
  242. data/lib/resources/backends/slim/revealjs/block_ulist.html.slim +25 -0
  243. data/lib/resources/backends/slim/revealjs/block_verse.html.slim +14 -0
  244. data/lib/resources/backends/slim/revealjs/block_video.html.slim +27 -0
  245. data/lib/resources/backends/slim/revealjs/document.html.slim +87 -0
  246. data/lib/resources/backends/slim/revealjs/embedded.html.slim +9 -0
  247. data/lib/resources/backends/slim/revealjs/helpers.rb +8 -0
  248. data/lib/resources/backends/slim/revealjs/inline_anchor.html.slim +11 -0
  249. data/lib/resources/backends/slim/revealjs/inline_break.html.slim +2 -0
  250. data/lib/resources/backends/slim/revealjs/inline_button.html.slim +1 -0
  251. data/lib/resources/backends/slim/revealjs/inline_callout.html.slim +7 -0
  252. data/lib/resources/backends/slim/revealjs/inline_footnote.html.slim +6 -0
  253. data/lib/resources/backends/slim/revealjs/inline_image.html.slim +24 -0
  254. data/lib/resources/backends/slim/revealjs/inline_indexterm.html.slim +2 -0
  255. data/lib/resources/backends/slim/revealjs/inline_kbd.html.slim +8 -0
  256. data/lib/resources/backends/slim/revealjs/inline_menu.html.slim +15 -0
  257. data/lib/resources/backends/slim/revealjs/inline_quoted.html.slim +22 -0
  258. data/lib/resources/backends/slim/revealjs/section.html.slim +3 -0
  259. data/lib/resources/deck.js/core/deck.core.css +407 -0
  260. data/lib/resources/deck.js/core/deck.core.js +498 -0
  261. data/lib/resources/deck.js/extensions/deck.js-blank/README.md +10 -0
  262. data/lib/resources/deck.js/extensions/deck.js-blank/deck.blank.js +33 -0
  263. data/lib/resources/deck.js/extensions/goto/deck.goto.css +41 -0
  264. data/lib/resources/deck.js/extensions/goto/deck.goto.html +7 -0
  265. data/lib/resources/deck.js/extensions/goto/deck.goto.js +170 -0
  266. data/lib/resources/deck.js/extensions/hash/deck.hash.css +13 -0
  267. data/lib/resources/deck.js/extensions/hash/deck.hash.html +2 -0
  268. data/lib/resources/deck.js/extensions/hash/deck.hash.js +142 -0
  269. data/lib/resources/deck.js/extensions/menu/deck.menu.css +47 -0
  270. data/lib/resources/deck.js/extensions/menu/deck.menu.js +187 -0
  271. data/lib/resources/deck.js/extensions/navigation/deck.navigation.css +43 -0
  272. data/lib/resources/deck.js/extensions/navigation/deck.navigation.html +3 -0
  273. data/lib/resources/deck.js/extensions/navigation/deck.navigation.js +92 -0
  274. data/lib/resources/deck.js/extensions/scale/deck.scale.css +28 -0
  275. data/lib/resources/deck.js/extensions/scale/deck.scale.js +170 -0
  276. data/lib/resources/deck.js/extensions/split/README.md +30 -0
  277. data/lib/resources/deck.js/extensions/split/deck.split.js +59 -0
  278. data/lib/resources/deck.js/extensions/status/deck.status.css +18 -0
  279. data/lib/resources/deck.js/extensions/status/deck.status.html +6 -0
  280. data/lib/resources/deck.js/extensions/status/deck.status.js +95 -0
  281. data/lib/resources/deck.js/extensions/toc/deck.toc.css +40 -0
  282. data/lib/resources/deck.js/extensions/toc/deck.toc.html +12 -0
  283. data/lib/resources/deck.js/extensions/toc/deck.toc.js +271 -0
  284. data/lib/resources/deck.js/jquery-1.7.2.min.js +4 -0
  285. data/lib/resources/deck.js/jquery.min.js +4 -0
  286. data/lib/resources/deck.js/modernizr.custom.js +4 -0
  287. data/lib/resources/deck.js/themes/style/beamer.css +286 -0
  288. data/lib/resources/deck.js/themes/style/neon.css +123 -0
  289. data/lib/resources/deck.js/themes/style/swiss.css +84 -0
  290. data/lib/resources/deck.js/themes/style/web-2.0.css +214 -0
  291. data/lib/resources/deck.js/themes/transition/beamer.css +66 -0
  292. data/lib/resources/deck.js/themes/transition/fade.css +43 -0
  293. data/lib/resources/deck.js/themes/transition/horizontal-slide.css +76 -0
  294. data/lib/resources/deck.js/themes/transition/vertical-slide.css +94 -0
  295. data/lib/resources/revealjs/LICENSE +19 -0
  296. data/lib/resources/revealjs/css/print/paper.css +176 -0
  297. data/lib/resources/revealjs/css/print/pdf.css +190 -0
  298. data/lib/resources/revealjs/css/reveal.css +1880 -0
  299. data/lib/resources/revealjs/css/reveal.min.css +7 -0
  300. data/lib/resources/revealjs/css/theme/README.md +25 -0
  301. data/lib/resources/revealjs/css/theme/beige.css +148 -0
  302. data/lib/resources/revealjs/css/theme/blood.css +175 -0
  303. data/lib/resources/revealjs/css/theme/default.css +148 -0
  304. data/lib/resources/revealjs/css/theme/moon.css +148 -0
  305. data/lib/resources/revealjs/css/theme/night.css +136 -0
  306. data/lib/resources/revealjs/css/theme/serif.css +138 -0
  307. data/lib/resources/revealjs/css/theme/simple.css +138 -0
  308. data/lib/resources/revealjs/css/theme/sky.css +145 -0
  309. data/lib/resources/revealjs/css/theme/solarized.css +148 -0
  310. data/lib/resources/revealjs/css/theme/source/beige.scss +50 -0
  311. data/lib/resources/revealjs/css/theme/source/blood.scss +91 -0
  312. data/lib/resources/revealjs/css/theme/source/default.scss +42 -0
  313. data/lib/resources/revealjs/css/theme/source/moon.scss +68 -0
  314. data/lib/resources/revealjs/css/theme/source/night.scss +35 -0
  315. data/lib/resources/revealjs/css/theme/source/serif.scss +35 -0
  316. data/lib/resources/revealjs/css/theme/source/simple.scss +38 -0
  317. data/lib/resources/revealjs/css/theme/source/sky.scss +46 -0
  318. data/lib/resources/revealjs/css/theme/source/solarized.scss +74 -0
  319. data/lib/resources/revealjs/css/theme/template/mixins.scss +29 -0
  320. data/lib/resources/revealjs/css/theme/template/settings.scss +34 -0
  321. data/lib/resources/revealjs/css/theme/template/theme.scss +170 -0
  322. data/lib/resources/revealjs/js/reveal.js +3382 -0
  323. data/lib/resources/revealjs/js/reveal.min.js +9 -0
  324. data/lib/resources/revealjs/lib/css/zenburn.css +114 -0
  325. data/lib/resources/revealjs/lib/font/league_gothic-webfont.eot +0 -0
  326. data/lib/resources/revealjs/lib/font/league_gothic-webfont.svg +230 -0
  327. data/lib/resources/revealjs/lib/font/league_gothic-webfont.ttf +0 -0
  328. data/lib/resources/revealjs/lib/font/league_gothic-webfont.woff +0 -0
  329. data/lib/resources/revealjs/lib/font/league_gothic_license +2 -0
  330. data/lib/resources/revealjs/lib/js/classList.js +2 -0
  331. data/lib/resources/revealjs/lib/js/head.min.js +8 -0
  332. data/lib/resources/revealjs/lib/js/html5shiv.js +7 -0
  333. data/lib/resources/revealjs/plugin/highlight/highlight.js +32 -0
  334. data/lib/resources/revealjs/plugin/leap/leap.js +157 -0
  335. data/lib/resources/revealjs/plugin/markdown/example.html +129 -0
  336. data/lib/resources/revealjs/plugin/markdown/example.md +31 -0
  337. data/lib/resources/revealjs/plugin/markdown/markdown.js +392 -0
  338. data/lib/resources/revealjs/plugin/markdown/marked.js +37 -0
  339. data/lib/resources/revealjs/plugin/math/math.js +64 -0
  340. data/lib/resources/revealjs/plugin/multiplex/client.js +13 -0
  341. data/lib/resources/revealjs/plugin/multiplex/index.js +56 -0
  342. data/lib/resources/revealjs/plugin/multiplex/master.js +51 -0
  343. data/lib/resources/revealjs/plugin/notes-server/client.js +57 -0
  344. data/lib/resources/revealjs/plugin/notes-server/index.js +59 -0
  345. data/lib/resources/revealjs/plugin/notes-server/notes.html +142 -0
  346. data/lib/resources/revealjs/plugin/notes/notes.html +267 -0
  347. data/lib/resources/revealjs/plugin/notes/notes.js +78 -0
  348. data/lib/resources/revealjs/plugin/postmessage/example.html +39 -0
  349. data/lib/resources/revealjs/plugin/postmessage/postmessage.js +42 -0
  350. data/lib/resources/revealjs/plugin/print-pdf/print-pdf.js +44 -0
  351. data/lib/resources/revealjs/plugin/remotes/remotes.js +39 -0
  352. data/lib/resources/revealjs/plugin/search/search.js +196 -0
  353. data/lib/resources/revealjs/plugin/zoom-js/zoom.js +258 -0
  354. data/lib/resources/styles/asciidoctor.css +652 -0
  355. data/lib/resources/styles/colony.css +660 -0
  356. data/lib/resources/styles/foundation-lime.css +657 -0
  357. data/lib/resources/styles/foundation-potion.css +657 -0
  358. data/lib/resources/styles/foundation.css +648 -0
  359. data/lib/resources/styles/github.css +669 -0
  360. data/lib/resources/styles/golo.css +669 -0
  361. data/lib/resources/styles/iconic.css +692 -0
  362. data/lib/resources/styles/maker.css +668 -0
  363. data/lib/resources/styles/readthedocs.css +669 -0
  364. data/lib/resources/styles/redhat.css +654 -0
  365. data/lib/resources/styles/riak.css +689 -0
  366. data/lib/resources/styles/rocket-panda.css +662 -0
  367. data/lib/resources/styles/rubygems.css +650 -0
  368. data/lib/templates/_config.yml +27 -0
  369. data/lib/templates/{training → book}/GemFile +2 -1
  370. data/lib/templates/{training → book}/development/audio/ocean_waves.mp3 +0 -0
  371. data/lib/templates/book/development/book.adoc +121 -0
  372. data/lib/templates/{training → book}/development/image/hyla_frog.jpg +0 -0
  373. data/lib/templates/{training → book}/development/video/small.ogv +0 -0
  374. data/lib/templates/{training → book}/introduction/audio/ocean_waves.mp3 +0 -0
  375. data/lib/templates/book/introduction/book.adoc +121 -0
  376. data/lib/templates/{training → book}/introduction/image/hyla_frog.jpg +0 -0
  377. data/lib/templates/{training → book}/introduction/video/small.ogv +0 -0
  378. data/lib/templates/book/readme.adoc +10 -0
  379. data/lib/templates/sample/asciidoc_article.adoc +101 -10
  380. data/lib/templates/sample/asciidoc_audio.adoc +1 -1
  381. data/lib/templates/sample/asciidoc_book.adoc +125 -0
  382. data/lib/templates/sample/asciidoc_image.adoc +26 -0
  383. data/lib/templates/sample/asciidoc_report.adoc +66 -0
  384. data/lib/templates/sample/asciidoc_source.adoc +53 -0
  385. data/lib/templates/sample/asciidoc_table.adoc +36 -0
  386. data/lib/templates/sample/asciidoc_video.adoc +9 -1
  387. data/lib/templates/sample/slideshow_revealjs.adoc +26 -0
  388. data/lib/templates/training-exercises/_config.yml +3 -0
  389. data/lib/templates/training/{introduction → module-1}/article.adoc +7 -2
  390. data/lib/templates/training/module-1/audio/ocean_waves.mp3 +0 -0
  391. data/lib/templates/training/module-1/image/hyla_arborea.jpg +0 -0
  392. data/lib/templates/training/module-1/video/small.ogv +0 -0
  393. data/lib/templates/training/{development → module-2}/article.adoc +7 -2
  394. data/lib/templates/training/module-2/audio/ocean_waves.mp3 +0 -0
  395. data/lib/templates/training/module-2/image/hyla_arborea.jpg +0 -0
  396. data/lib/templates/training/module-2/video/small.ogv +0 -0
  397. data/lib/templates/training/readme.adoc +10 -1
  398. data/scenario.adoc +113 -20
  399. data/test/reports/test-1.0.x-11-12-2013.txt +123 -0
  400. data/todo.adoc +39 -0
  401. metadata +473 -51
  402. data/lib/hyla/training.rb +0 -25
  403. data/lib/templates/sample/asciidoc_source_highlight.adoc +0 -37
  404. data/lib/templates/training-exercises/Gemfile +0 -4
@@ -0,0 +1,30 @@
1
+
2
+ deck.split.js
3
+ ==============
4
+
5
+ `deck.split.js` is a deckjs extension that helps you split long slide into
6
+ multiple small slides.
7
+
8
+
9
+ Installation
10
+ ------------
11
+
12
+ Just drop the whole repo into deck.js's `extensions` directory, then include
13
+ the script in your slide.
14
+
15
+
16
+ Usage
17
+ -----
18
+
19
+ To split a long slide, you need to indicate position inside original slide by
20
+ adding following line:
21
+
22
+ ```html
23
+ <div style="page-break-after:always"></div>
24
+ ```
25
+
26
+ Indeed, it could be any tag set with `page-break-after:always` style. Every
27
+ time you add this line, a new slide with the same title will be created, so you
28
+ can split your slide into pieces as much as you want.
29
+
30
+
@@ -0,0 +1,59 @@
1
+ /*!
2
+ Deck JS - deck.split
3
+ Copyright (c) 2012 Qingping Hou <dave2008713@gmail.com>
4
+ about.houqp.me
5
+ Dual licensed under the MIT license and GPL license.
6
+ https://github.com/imakewebthings/deck.js/blob/master/MIT-license.txt
7
+ https://github.com/imakewebthings/deck.js/blob/master/GPL-license.txt
8
+ */
9
+
10
+ /*
11
+ This module splits a long slide into multiple slides.
12
+ */
13
+ (function($, deck, undefined) {
14
+ var $d = $(document);
15
+
16
+ createEmptySlide = function(title_el) {
17
+ slide = $(document.createElement('section'));
18
+ slide.addClass('slide').append(title_el.clone());
19
+ return slide;
20
+ };
21
+
22
+ $d.bind('deck.beforeInit', function() {
23
+ $(".slide").each( function(i, slide) {
24
+ /* each slide */
25
+ var is_split = false,
26
+ prev_slide = $(slide),
27
+ /* extract title which will be added to each new slides */
28
+ title_el = prev_slide.children('h2'),
29
+ tmp_slide = createEmptySlide(title_el);
30
+
31
+ $(slide).children().each(function() {
32
+ /* for each element inside original slide */
33
+ var el = $(this);
34
+
35
+ if (el.css('page-break-after') == 'always') {
36
+ if (is_split) {
37
+ tmp_slide.insertAfter(prev_slide);
38
+ prev_slide = tmp_slide;
39
+ tmp_slide = createEmptySlide(title_el);
40
+ }
41
+ else {
42
+ /* find the first page break */
43
+ is_split = true;
44
+ }
45
+ }
46
+ else {
47
+ if (is_split) {
48
+ tmp_slide.append(el);
49
+ }
50
+ }
51
+ })
52
+ /* add remaining elements to a new slides */
53
+ if (is_split) {
54
+ tmp_slide.insertAfter(prev_slide);
55
+ }
56
+ });
57
+ })
58
+ })(jQuery, 'deck');
59
+
@@ -0,0 +1,18 @@
1
+ .deck-container .deck-status {
2
+ position: absolute;
3
+ bottom: 10px;
4
+ right: 5px;
5
+ color: #888;
6
+ z-index: 3;
7
+ margin: 0;
8
+ }
9
+
10
+ body.deck-container .deck-status {
11
+ position: fixed;
12
+ }
13
+
14
+ @media print {
15
+ .deck-status {
16
+ display: none;
17
+ }
18
+ }
@@ -0,0 +1,6 @@
1
+ <!-- Place the following snippet at the bottom of the deck container. -->
2
+ <p class="deck-status">
3
+ <span class="deck-status-current"></span>
4
+ /
5
+ <span class="deck-status-total"></span>
6
+ </p>
@@ -0,0 +1,95 @@
1
+ /*!
2
+ Deck JS - deck.status
3
+ Copyright (c) 2011 Caleb Troughton
4
+ Dual licensed under the MIT license and GPL license.
5
+ https://github.com/imakewebthings/deck.js/blob/master/MIT-license.txt
6
+ https://github.com/imakewebthings/deck.js/blob/master/GPL-license.txt
7
+ */
8
+
9
+ /*
10
+ This module adds a (current)/(total) style status indicator to the deck.
11
+ */
12
+ (function($, deck, undefined) {
13
+ var $d = $(document),
14
+
15
+ updateCurrent = function(e, from, to) {
16
+ var opts = $[deck]('getOptions');
17
+
18
+ $(opts.selectors.statusCurrent).text(opts.countNested ?
19
+ to + 1 :
20
+ $[deck]('getSlide', to).data('rootSlide')
21
+ );
22
+ };
23
+
24
+ /*
25
+ Extends defaults/options.
26
+
27
+ options.selectors.statusCurrent
28
+ The element matching this selector displays the current slide number.
29
+
30
+ options.selectors.statusTotal
31
+ The element matching this selector displays the total number of slides.
32
+
33
+ options.countNested
34
+ If false, only top level slides will be counted in the current and
35
+ total numbers.
36
+ */
37
+ $.extend(true, $[deck].defaults, {
38
+ selectors: {
39
+ statusCurrent: '.deck-status-current',
40
+ statusTotal: '.deck-status-total'
41
+ },
42
+
43
+ countNested: true
44
+ });
45
+
46
+ $d.bind('deck.init', function() {
47
+ var opts = $[deck]('getOptions'),
48
+ slides = $[deck]('getSlides'),
49
+ $current = $[deck]('getSlide'),
50
+ ndx;
51
+
52
+ // Set total slides once
53
+ if (opts.countNested) {
54
+ $(opts.selectors.statusTotal).text(slides.length);
55
+ }
56
+ else {
57
+ /* Determine root slides by checking each slide's ancestor tree for
58
+ any of the slide classes. */
59
+ var rootIndex = 1,
60
+ slideTest = $.map([
61
+ opts.classes.before,
62
+ opts.classes.previous,
63
+ opts.classes.current,
64
+ opts.classes.next,
65
+ opts.classes.after
66
+ ], function(el, i) {
67
+ return '.' + el;
68
+ }).join(', ');
69
+
70
+ /* Store the 'real' root slide number for use during slide changes. */
71
+ $.each(slides, function(i, $el) {
72
+ var $parentSlides = $el.parentsUntil(opts.selectors.container, slideTest);
73
+
74
+ $el.data('rootSlide', $parentSlides.length ?
75
+ $parentSlides.last().data('rootSlide') :
76
+ rootIndex++
77
+ );
78
+ });
79
+
80
+ $(opts.selectors.statusTotal).text(rootIndex - 1);
81
+ }
82
+
83
+ // Find where we started in the deck and set initial state
84
+ $.each(slides, function(i, $el) {
85
+ if ($el === $current) {
86
+ ndx = i;
87
+ return false;
88
+ }
89
+ });
90
+ updateCurrent(null, ndx, ndx);
91
+ })
92
+ /* Update current slide number with each change event */
93
+ .bind('deck.change', updateCurrent);
94
+ })(jQuery, 'deck');
95
+
@@ -0,0 +1,40 @@
1
+ .deck-container .deck-toc {
2
+ position: absolute;
3
+ z-index: 40;
4
+ top: 0px;
5
+ bottom: 0px;
6
+ left: 0;
7
+ right: 55%;
8
+ padding: 0.625em;
9
+ display: none;
10
+ background: #ccc;
11
+ overflow-y: auto;
12
+ overflow-x: auto;
13
+ background-color: #DDE4EB;
14
+ border-right: #A9A9A9 solid 1px;
15
+ width: 500px; }
16
+ .deck-container .deck-toc ul {
17
+ list-style: none;
18
+ margin: 0px;
19
+ padding: 0px;
20
+ font-size: 1em; }
21
+ .deck-container .deck-toc ul li {
22
+ white-space: nowrap;
23
+ padding-left: 1.5em;
24
+ font-weight: normal; }
25
+ .deck-container .deck-toc ul li#toc-0 {
26
+ font-weight: bold;
27
+ padding-bottom: 1em;
28
+ padding-left: 0px; }
29
+ .deck-container .deck-toc a {
30
+ width: 100%;
31
+ display: block !important;
32
+ text-decoration: none;
33
+ color: #595959 !important; }
34
+
35
+ .deck-toc-frame .deck-toc {
36
+ display: block; }
37
+
38
+ @media print {
39
+ .deck-toc {
40
+ display: none; } }
@@ -0,0 +1,12 @@
1
+ <!-- Place the following snippet at the bottom of the deck container. -->
2
+
3
+ <!-- this is for the toc panel -->
4
+ <div class="deck-toc"></div>
5
+
6
+ <!-- this is a toc status panel -->
7
+ <table class="deck-toc-status">
8
+ <tr>
9
+ <td class="right deck-toc-h2">&nbsp;</td>
10
+ <td class="left deck-toc-h3">&nbsp;</td>
11
+ </tr>
12
+ </table>
@@ -0,0 +1,271 @@
1
+ /*!
2
+ Deck JS - deck.toc
3
+ Copyright (c) 2011 Remi BARRAQUAND
4
+ Dual licensed under the MIT license and GPL license.
5
+ https://github.com/imakewebthings/deck.js/blob/master/MIT-license.txt
6
+ https://github.com/imakewebthings/deck.js/blob/master/GPL-license.txt
7
+ */
8
+
9
+ /*
10
+ This module provides a support for TOC to the deck.
11
+ */
12
+
13
+ (function($, deck, undefined) {
14
+ var $d = $(document);
15
+ var $toc;
16
+
17
+ /*
18
+ Extends defaults/options.
19
+
20
+ options.classes.toc
21
+ This class is added to the deck container when showing the slide
22
+ toc.
23
+
24
+ options.keys.toc
25
+ The numeric keycode used to toggle between showing and hiding
26
+ the slide toc.
27
+
28
+ options.selectors.toc
29
+ The element matching this selector displays the toc.
30
+
31
+ options.selectors.tocTitle
32
+ The element matching this selector displays the current title
33
+ of the slide i.e the current h1.
34
+
35
+ options.selectors.tocSection
36
+ The element matching this selector displays the current section
37
+ of the slide i.e the current h2.
38
+
39
+ options.selectors.tocSubSection
40
+ The element matching this selector displays the current
41
+ subsection of the slide i.e the current h3.
42
+
43
+ options.selectors.tocSubSubSection
44
+ The element matching this selector displays the current
45
+ subsubsection of the slide i.e the current h4.
46
+ */
47
+ $.extend(true, $[deck].defaults, {
48
+ classes: {
49
+ toc: 'deck-toc-frame'
50
+ },
51
+
52
+ keys: {
53
+ toc: 84 // t
54
+ },
55
+
56
+ selectors: {
57
+ toc: '.deck-toc',
58
+ tocTitle: '.deck-toc-h1',
59
+ tocSection: '.deck-toc-h2',
60
+ tocSubSection: '.deck-toc-h3',
61
+ tocSubSubSection: '.deck-toc-h4',
62
+ tocStatus: '.deck-toc-status'
63
+ }
64
+ });
65
+
66
+ /*
67
+ jQuery.deck('showToc')
68
+
69
+ Shows the slide toc by adding the class specified by the toc class option
70
+ to the deck container.
71
+ */
72
+ $[deck]('extend', 'showToc', function() {
73
+ $[deck]('getContainer').addClass($[deck]('getOptions').classes.toc);
74
+ });
75
+
76
+ /*
77
+ jQuery.deck('hideToc')
78
+
79
+ Hides the slide toc by removing the class specified by the toc class
80
+ option from the deck container.
81
+ */
82
+ $[deck]('extend', 'hideToc', function() {
83
+ $[deck]('getContainer').removeClass($[deck]('getOptions').classes.toc);
84
+ });
85
+
86
+ /*
87
+ jQuery.deck('toggleToc')
88
+
89
+ Toggles between showing and hiding the TOC.
90
+ */
91
+ $[deck]('extend', 'toggleToc', function() {
92
+ $[deck]('getContainer').hasClass($[deck]('getOptions').classes.toc) ?
93
+ $[deck]('hideToc') : $[deck]('showToc');
94
+ });
95
+
96
+ /*
97
+ jQuery.deck('Init')
98
+ */
99
+ $d.bind('deck.init', function() {
100
+ var opts = $[deck]('getOptions');
101
+ var container = $[deck]('getContainer');
102
+
103
+ /* Bind key events */
104
+ $d.unbind('keydown.decktoc').bind('keydown.decktoc', function(e) {
105
+ if (e.which === opts.keys.toc || $.inArray(e.which, opts.keys.toc) > -1) {
106
+ $[deck]('toggleToc');
107
+ e.preventDefault();
108
+ }
109
+ });
110
+
111
+ /* Hide TOC panel when user click on container */
112
+ container.click(function(e){
113
+ $[deck]('hideToc');
114
+ });
115
+
116
+ /* Init TOC and append it to the document */
117
+ $toc = new TOC();
118
+ $($[deck]('getOptions').selectors.toc).append($toc.root);
119
+
120
+ /* Go through all slides */
121
+ $.each($[deck]('getSlides'), function(i, $el) {
122
+ var slide = $[deck]('getSlide',i);
123
+ //var tocElementFound = false;
124
+
125
+ /* If there is a toc item, push it in the TOC */
126
+ for(var level=1; level<6; level++) {
127
+ if( slide.find("h"+level).length > 0) {
128
+ var tocTitle = "";
129
+ var $tocElement = slide.find("h"+level+":first");
130
+ if( $tocElement.attr("title") != undefined && $tocElement.attr("title") != "") {
131
+ tocTitle = $tocElement.attr("title");
132
+ } else {
133
+ tocTitle = $tocElement.text();
134
+ }
135
+ $toc.push(level, tocTitle, slide);
136
+ $toc.tag(slide);
137
+ //tocElementFound = true;
138
+ }
139
+ }
140
+
141
+ /* Tag the slide with the current TOC level */
142
+ $toc.tag(slide);
143
+ });
144
+ })
145
+ /* Update current slide number with each change event */
146
+ .bind('deck.change', function(e, from, to) {
147
+ var opts = $[deck]('getOptions');
148
+ var slideTo = $[deck]('getSlide', to);
149
+ var container = $[deck]('getContainer');
150
+
151
+ if (container.hasClass($[deck]('getOptions').classes.toc)) {
152
+ container.scrollTop(slideTo.offset().top);
153
+ }
154
+
155
+ /* update toc status */
156
+ if( slideTo.data("toc") ) {
157
+ // reset
158
+ $(opts.selectors.tocTitle).text("");
159
+ $(opts.selectors.tocSection).text("");
160
+ $(opts.selectors.tocSubSection).text("");
161
+ $(opts.selectors.tocSubSubSection).text("");
162
+
163
+ if( slideTo.hasClass('hide-toc-status') ) {
164
+ $(opts.selectors.tocStatus).hide();
165
+ } else {
166
+ $(opts.selectors.tocStatus).show();
167
+ // update according to the current context
168
+ var $context = $toc.context(slideTo.data('toc'))
169
+ for(var level=1; level<=$context.length; level++) {
170
+ switch(level) {
171
+ case 1:
172
+ $(opts.selectors.tocTitle).text($context[level-1]);
173
+ break;
174
+ case 2:
175
+ $(opts.selectors.tocSection).text($context[level-1]);
176
+ break;
177
+ case 3:
178
+ $(opts.selectors.tocSubSection).text($context[level-1]);
179
+ break;
180
+ case 4:
181
+ $(opts.selectors.tocSubSubSection).text($context[level-1]);
182
+ break;
183
+ }
184
+ }
185
+ }
186
+ }
187
+ });
188
+
189
+ /*
190
+ Simple TOC manager (must be improved)
191
+ */
192
+ var TOC = function() {
193
+
194
+ this.root = $("<ul/>", {"class":"toc"});
195
+
196
+ /*
197
+ Push new item in the TOC
198
+
199
+ depth is the level (e.g. 1 for h1, 2 for h2, etc.)
200
+ title is the toc-item title
201
+ slide is the slide that provides the toc-element
202
+ */
203
+ this.push = function(depth,title,slide) {
204
+ inc(depth);
205
+
206
+ /* Create toc element */
207
+ var $tocElm = $("<li />", {
208
+ id: "toc-"+($c.join('-'))
209
+ }).data({ // keep track of the slide in case...
210
+ slide: slide,
211
+ title: title
212
+ }).append($("<a />", { // create an hyperlink
213
+ href: "#"+$(slide).attr('id'),
214
+ text: title
215
+ })).append($("<ul />"));
216
+
217
+ /* insert it at the right place */
218
+ var $target = this.root;
219
+ if( depth > 1) {
220
+ $target = ($target.find("li#toc-"+($c.slice(0,$c.length-1).join('-')))).children("ul");
221
+ }
222
+ $tocElm.appendTo($target);
223
+ };
224
+
225
+ /*
226
+ Tag the slide with the current TOC level.
227
+
228
+ slide is the slide to tag
229
+ */
230
+ this.tag = function(slide) {
231
+ slide.data({
232
+ toc: $c.slice(0)
233
+ });
234
+ }
235
+
236
+ /*
237
+ Get the current TOC context
238
+
239
+ path is the current path in the TOC
240
+ */
241
+ this.context = function(path) {
242
+ $context = new Array();
243
+ var $target = this.root;
244
+ for(var depth=0; depth<path.length; depth++) {
245
+ var tocElm = $target.find("li#toc-"+(path.slice(0,depth+1).join('-')))
246
+ $context.push(tocElm.data('title'));
247
+ $target = (tocElm).children("ul");
248
+ }
249
+
250
+ return $context;
251
+ }
252
+
253
+ /* cursor */
254
+ var $c = [-1];
255
+ function inc(depth) {
256
+ var current_depth = $c.length;
257
+ if(depth>current_depth) {
258
+ for(i=current_depth;i<depth;i++) {
259
+ $c.push(0);
260
+ }
261
+ } else if( current_depth>depth) {
262
+ for(i=depth;i<current_depth;i++) {
263
+ $c.pop();
264
+ $c[depth-1]++
265
+ }
266
+ } else {
267
+ $c[depth-1]++
268
+ }
269
+ }
270
+ }
271
+ })(jQuery, 'deck');