stic 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (640) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +661 -0
  3. data/README.md +64 -0
  4. data/bin/stic +8 -0
  5. data/doc/file.README.html +125 -0
  6. data/lib/stic.rb +44 -0
  7. data/lib/stic/blob.rb +106 -0
  8. data/lib/stic/cli.rb +61 -0
  9. data/lib/stic/cli/command.rb +78 -0
  10. data/lib/stic/config.rb +26 -0
  11. data/lib/stic/errors.rb +27 -0
  12. data/lib/stic/file.rb +31 -0
  13. data/lib/stic/generator.rb +92 -0
  14. data/lib/stic/generators/page.rb +28 -0
  15. data/lib/stic/generators/static.rb +45 -0
  16. data/lib/stic/layout.rb +57 -0
  17. data/lib/stic/layoutable.rb +28 -0
  18. data/lib/stic/metadata.rb +35 -0
  19. data/lib/stic/metadata/block_comment_yaml.rb +34 -0
  20. data/lib/stic/metadata/comment_yaml.rb +43 -0
  21. data/lib/stic/metadata/html_yaml.rb +27 -0
  22. data/lib/stic/metadata/parser.rb +21 -0
  23. data/lib/stic/metadata/yaml.rb +52 -0
  24. data/lib/stic/page.rb +34 -0
  25. data/lib/stic/readable.rb +103 -0
  26. data/lib/stic/renderable.rb +40 -0
  27. data/lib/stic/renderer.rb +31 -0
  28. data/lib/stic/site.rb +174 -0
  29. data/lib/stic/site_base.rb +38 -0
  30. data/lib/stic/utils.rb +20 -0
  31. data/lib/stic/version.rb +13 -0
  32. data/spec/fixtures/tmp/d20140110-23550-1kyaeb6/path/to/file.html +1 -0
  33. data/spec/fixtures/tmp/d20140110-23550-1w8hpqt/path/to/file.html +1 -0
  34. data/spec/fixtures/tmp/d20140110-23664-1uw0y4u/path/to/file.html +1 -0
  35. data/spec/fixtures/tmp/d20140110-23664-endjsg/path/to/file.html +1 -0
  36. data/spec/fixtures/tmp/d20140111-10655-vpioyr/path/to/file.html +1 -0
  37. data/spec/fixtures/tmp/d20140111-10655-zrxr1o/path/to/file.html +1 -0
  38. data/spec/fixtures/tmp/d20140111-29171-1ku21ij/path/to/file.html +1 -0
  39. data/spec/fixtures/tmp/d20140111-29171-yhpuds/path/to/file.html +1 -0
  40. data/spec/fixtures/tmp/d20140111-32285-2ige9n/path/to/file.html +1 -0
  41. data/spec/fixtures/tmp/d20140111-32285-ibazly/path/to/file.html +1 -0
  42. data/spec/fixtures/tmp/d20140111-32504-11yva37/path/to/file.html +1 -0
  43. data/spec/fixtures/tmp/d20140111-32504-fx1s4i/path/to/file.html +1 -0
  44. data/spec/fixtures/tmp/d20140111-3954-1nr53ss/path/to/file.html +1 -0
  45. data/spec/fixtures/tmp/d20140111-3954-gv6jl4/path/to/file.html +1 -0
  46. data/spec/fixtures/tmp/d20140111-4044-16lwnsm/path/to/file.html +1 -0
  47. data/spec/fixtures/tmp/d20140111-4044-1eazx0q/path/to/file.html +1 -0
  48. data/spec/fixtures/tmp/d20140111-4239-h5al5v/path/to/file.html +1 -0
  49. data/spec/fixtures/tmp/d20140111-4239-j6yxnx/path/to/file.html +1 -0
  50. data/spec/fixtures/tmp/d20140111-4373-1xvpe0y/path/to/file.html +1 -0
  51. data/spec/fixtures/tmp/d20140111-4373-1xxeoy1/path/to/file.html +1 -0
  52. data/spec/fixtures/tmp/d20140111-4468-16bj623/path/to/file.html +1 -0
  53. data/spec/fixtures/tmp/d20140111-4468-qm7h3l/path/to/file.html +1 -0
  54. data/spec/fixtures/tmp/d20140111-4636-1sjabw8/path/to/file.html +1 -0
  55. data/spec/fixtures/tmp/d20140111-4636-up7anp/path/to/file.html +1 -0
  56. data/spec/fixtures/tmp/d20140111-5186-1iihkdu/path/to/file.html +1 -0
  57. data/spec/fixtures/tmp/d20140111-5186-1wf6jbt/path/to/file.html +1 -0
  58. data/spec/fixtures/tmp/d20140111-5800-18b7lps/path/to/file.html +1 -0
  59. data/spec/fixtures/tmp/d20140111-5800-ebzwxw/path/to/file.html +1 -0
  60. data/spec/fixtures/tmp/d20140112-32318-1472be3/path/to/file.html +1 -0
  61. data/spec/fixtures/tmp/d20140112-32318-181gn34/path/to/file.html +1 -0
  62. data/spec/fixtures/tmp/d20140119-5346-1yt41ar/path/to/file.html +1 -0
  63. data/spec/fixtures/tmp/d20140119-5346-1z0cqw6/path/to/file.html +1 -0
  64. data/spec/fixtures/tmp/d20140119-5408-njzjyv/path/to/file.html +1 -0
  65. data/spec/fixtures/tmp/d20140119-5408-p6kdd5/path/to/file.html +1 -0
  66. data/spec/fixtures/tmp/d20140216-10009-1038whb/path/to/file.html +1 -0
  67. data/spec/fixtures/tmp/d20140216-10009-10yvxyv/path/to/file.html +1 -0
  68. data/spec/fixtures/tmp/d20140216-10794-17cduzr/path/to/file.html +1 -0
  69. data/spec/fixtures/tmp/d20140216-10794-6wkotj/path/to/file.html +1 -0
  70. data/spec/fixtures/tmp/d20140216-10889-1fx4qkh/path/to/file.html +1 -0
  71. data/spec/fixtures/tmp/d20140216-10889-1ky8jvy/path/to/file.html +1 -0
  72. data/spec/fixtures/tmp/d20140216-11416-1yf95z7/path/to/file.html +1 -0
  73. data/spec/fixtures/tmp/d20140216-11416-4eksm7/path/to/file.html +1 -0
  74. data/spec/fixtures/tmp/d20140216-11509-1mbuy8v/path/to/file.html +1 -0
  75. data/spec/fixtures/tmp/d20140216-11509-rjaj67/path/to/file.html +1 -0
  76. data/spec/fixtures/tmp/d20140216-13566-11p3uzb/path/to/file.html +1 -0
  77. data/spec/fixtures/tmp/d20140216-13566-t9qw1c/path/to/file.html +1 -0
  78. data/spec/fixtures/tmp/d20140216-13661-1hcxi0/path/to/file.html +1 -0
  79. data/spec/fixtures/tmp/d20140216-13661-1mann7u/path/to/file.html +1 -0
  80. data/spec/fixtures/tmp/d20140216-16873-100liri/path/to/file.html +1 -0
  81. data/spec/fixtures/tmp/d20140216-16873-f06hwa/path/to/file.html +1 -0
  82. data/spec/fixtures/tmp/d20140216-18628-11m064z/path/to/file.html +1 -0
  83. data/spec/fixtures/tmp/d20140216-18628-1ocywdl/path/to/file.html +1 -0
  84. data/spec/fixtures/tmp/d20140216-18981-1q9aznw/path/to/file.html +1 -0
  85. data/spec/fixtures/tmp/d20140216-18981-1sgc0b5/path/to/file.html +1 -0
  86. data/spec/fixtures/tmp/d20140216-19077-vo0g4z/path/to/file.html +1 -0
  87. data/spec/fixtures/tmp/d20140216-19077-zvo6x2/path/to/file.html +1 -0
  88. data/spec/fixtures/tmp/d20140216-19337-145akuv/path/to/file.html +1 -0
  89. data/spec/fixtures/tmp/d20140216-19337-1upwiwi/path/to/file.html +1 -0
  90. data/spec/fixtures/tmp/d20140216-19615-1dcezqo/path/to/file.html +1 -0
  91. data/spec/fixtures/tmp/d20140216-19615-1f830vj/path/to/file.html +1 -0
  92. data/spec/fixtures/tmp/d20140216-19881-ft4sa5/path/to/file.html +1 -0
  93. data/spec/fixtures/tmp/d20140216-19881-len34z/path/to/file.html +1 -0
  94. data/spec/fixtures/tmp/d20140216-19978-14xgqvo/path/to/file.html +1 -0
  95. data/spec/fixtures/tmp/d20140216-19978-46mrha/path/to/file.html +1 -0
  96. data/spec/fixtures/tmp/d20140216-2232-1wgyisq/path/to/file.html +1 -0
  97. data/spec/fixtures/tmp/d20140216-2232-r7144k/path/to/file.html +1 -0
  98. data/spec/fixtures/tmp/d20140216-2602-16jasco/path/to/file.html +1 -0
  99. data/spec/fixtures/tmp/d20140216-2602-1iz2x17/path/to/file.html +1 -0
  100. data/spec/fixtures/tmp/d20140216-26476-15lj85g/path/to/file.html +1 -0
  101. data/spec/fixtures/tmp/d20140216-26476-fei8e4/path/to/file.html +1 -0
  102. data/spec/fixtures/tmp/d20140216-26518-cnu14f/path/to/file.html +1 -0
  103. data/spec/fixtures/tmp/d20140216-26518-ejelr/path/to/file.html +1 -0
  104. data/spec/fixtures/tmp/d20140216-3064-v44tf7/path/to/file.html +1 -0
  105. data/spec/fixtures/tmp/d20140216-3064-z0ru9c/path/to/file.html +1 -0
  106. data/spec/fixtures/tmp/d20140216-3252-1pls05u/path/to/file.html +1 -0
  107. data/spec/fixtures/tmp/d20140216-3252-au3hgy/path/to/file.html +1 -0
  108. data/spec/fixtures/tmp/d20140216-4389-1jy7cid/path/to/file.html +1 -0
  109. data/spec/fixtures/tmp/d20140216-4389-1pg9lja/path/to/file.html +1 -0
  110. data/spec/fixtures/tmp/d20140405-11431-1kndkj3/path/to/file.html +1 -0
  111. data/spec/fixtures/tmp/d20140405-11431-iyqfbc/path/to/file.html +1 -0
  112. data/spec/fixtures/tmp/d20140405-28343-1hifjtu/path/to/file.html +1 -0
  113. data/spec/fixtures/tmp/d20140405-28343-qh0lab/path/to/file.html +1 -0
  114. data/spec/fixtures/tmp/d20140406-17342-27wh8z/path/to/file.html +1 -0
  115. data/spec/fixtures/tmp/d20140406-17342-s44xv/path/to/file.html +1 -0
  116. data/spec/fixtures/tmp/d20140406-17581-1m5g7p/path/to/file.html +1 -0
  117. data/spec/fixtures/tmp/d20140406-17581-q0l3c2/path/to/file.html +1 -0
  118. data/spec/fixtures/tmp/d20140406-17847-1wn00n2/path/to/file.html +1 -0
  119. data/spec/fixtures/tmp/d20140406-17847-2tuk02/path/to/file.html +1 -0
  120. data/spec/fixtures/tmp/d20140406-19288-1ew8sww/path/to/file.html +1 -0
  121. data/spec/fixtures/tmp/d20140406-19288-mli42k/path/to/file.html +1 -0
  122. data/spec/fixtures/tmp/d20140406-19568-1clew2k/path/to/file.html +1 -0
  123. data/spec/fixtures/tmp/d20140406-19568-unr1w6/path/to/file.html +1 -0
  124. data/spec/fixtures/tmp/d20140406-20028-h5024p/path/to/file.html +1 -0
  125. data/spec/fixtures/tmp/d20140406-20028-kgfyf0/path/to/file.html +1 -0
  126. data/spec/fixtures/tmp/d20140406-20190-1ng8zj7/path/to/file.html +1 -0
  127. data/spec/fixtures/tmp/d20140406-20190-ppf6z7/path/to/file.html +1 -0
  128. data/spec/fixtures/tmp/d20140406-20642-mjl8y3/path/to/file.html +1 -0
  129. data/spec/fixtures/tmp/d20140406-20642-yy2dwp/path/to/file.html +1 -0
  130. data/spec/fixtures/tmp/d20140406-20712-dtmal9/path/to/file.html +1 -0
  131. data/spec/fixtures/tmp/d20140406-20712-hehsou/path/to/file.html +1 -0
  132. data/spec/fixtures/tmp/d20140406-21545-1i4mgbb/path/to/file.html +1 -0
  133. data/spec/fixtures/tmp/d20140406-21545-xdho2t/path/to/file.html +1 -0
  134. data/spec/fixtures/tmp/d20140406-22365-80de4o/path/to/file.html +1 -0
  135. data/spec/fixtures/tmp/d20140406-22365-pqhw71/path/to/file.html +1 -0
  136. data/spec/fixtures/tmp/d20140406-22818-5nylr9/path/to/file.html +1 -0
  137. data/spec/fixtures/tmp/d20140406-22818-i6ed6w/path/to/file.html +1 -0
  138. data/spec/fixtures/tmp/d20140406-23108-1omwvhd/path/to/file.html +1 -0
  139. data/spec/fixtures/tmp/d20140406-23108-jyqcsz/path/to/file.html +1 -0
  140. data/spec/fixtures/tmp/d20140406-9833-ngg9su/path/to/file.html +1 -0
  141. data/spec/fixtures/tmp/d20140406-9833-ocmr2/path/to/file.html +1 -0
  142. data/spec/fixtures/tmp/d20140416-10459-1hn7uim/path/to/file.html +1 -0
  143. data/spec/fixtures/tmp/d20140416-10459-kj03wy/path/to/file.html +1 -0
  144. data/spec/fixtures/tmp/d20140416-18934-jolrcl/path/to/file.html +1 -0
  145. data/spec/fixtures/tmp/d20140416-18934-qfmiwe/path/to/file.html +1 -0
  146. data/spec/fixtures/tmp/d20140416-20406-blv65d/path/to/file.html +1 -0
  147. data/spec/fixtures/tmp/d20140416-20406-wsnye/path/to/file.html +1 -0
  148. data/spec/fixtures/tmp/d20140416-21792-k8vhpc/path/to/file.html +1 -0
  149. data/spec/fixtures/tmp/d20140416-21792-kpl75v/path/to/file.html +1 -0
  150. data/spec/fixtures/tmp/d20140416-22590-16oxjr4/path/to/file.html +1 -0
  151. data/spec/fixtures/tmp/d20140416-22590-xh3orf/path/to/file.html +1 -0
  152. data/spec/fixtures/tmp/d20140416-23080-1fbvcuz/path/to/file.html +1 -0
  153. data/spec/fixtures/tmp/d20140416-23080-ka9fbp/path/to/file.html +1 -0
  154. data/spec/fixtures/tmp/d20140416-26418-1lxsznr/path/to/file.html +1 -0
  155. data/spec/fixtures/tmp/d20140416-26418-1myk0mz/path/to/file.html +1 -0
  156. data/spec/fixtures/tmp/d20140416-27757-1qztyfu/path/to/file.html +1 -0
  157. data/spec/fixtures/tmp/d20140416-27757-giwyy4/path/to/file.html +1 -0
  158. data/spec/fixtures/tmp/d20140416-2781-199tuql/path/to/file.html +1 -0
  159. data/spec/fixtures/tmp/d20140416-2781-8iaf5f/path/to/file.html +1 -0
  160. data/spec/fixtures/tmp/d20140416-3750-1cf7e7v/path/to/file.html +1 -0
  161. data/spec/fixtures/tmp/d20140416-3750-36p2u9/path/to/file.html +1 -0
  162. data/spec/fixtures/tmp/d20140417-1538-1gik3xs/path/to/file.html +1 -0
  163. data/spec/fixtures/tmp/d20140417-1538-gldu0d/path/to/file.html +1 -0
  164. data/spec/fixtures/tmp/d20140419-14783-kwiilg/path/to/file.html +1 -0
  165. data/spec/fixtures/tmp/d20140419-14783-xmrp4/path/to/file.html +1 -0
  166. data/spec/fixtures/tmp/d20140419-14888-1bsatku/path/to/file.html +1 -0
  167. data/spec/fixtures/tmp/d20140419-14888-7o5a3w/path/to/file.html +1 -0
  168. data/spec/fixtures/tmp/d20140419-15660-16dz6eb/path/to/file.html +1 -0
  169. data/spec/fixtures/tmp/d20140419-15660-994wr5/path/to/file.html +1 -0
  170. data/spec/fixtures/tmp/d20140419-16301-1ftyfe8/path/to/file.html +1 -0
  171. data/spec/fixtures/tmp/d20140419-16301-jkoph3/path/to/file.html +1 -0
  172. data/spec/fixtures/tmp/d20140419-16714-1cjlbc4/path/to/file.html +1 -0
  173. data/spec/fixtures/tmp/d20140419-16714-1py707t/path/to/file.html +1 -0
  174. data/spec/fixtures/tmp/d20140419-17306-3svg56/path/to/file.html +1 -0
  175. data/spec/fixtures/tmp/d20140419-17306-z1sbfz/path/to/file.html +1 -0
  176. data/spec/fixtures/tmp/d20140419-17895-2hbaxd/path/to/file.html +1 -0
  177. data/spec/fixtures/tmp/d20140419-17895-toubtm/path/to/file.html +1 -0
  178. data/spec/fixtures/tmp/d20140419-18491-10hbjta/path/to/file.html +1 -0
  179. data/spec/fixtures/tmp/d20140419-18491-26mr8t/path/to/file.html +1 -0
  180. data/spec/fixtures/tmp/d20140419-19431-1b28or3/path/to/file.html +1 -0
  181. data/spec/fixtures/tmp/d20140419-19431-1jjl94m/path/to/file.html +1 -0
  182. data/spec/fixtures/tmp/d20140419-19672-1gsxmzi/path/to/file.html +1 -0
  183. data/spec/fixtures/tmp/d20140419-19672-1w8baky/path/to/file.html +1 -0
  184. data/spec/fixtures/tmp/d20140419-20197-1njbksl/path/to/file.html +1 -0
  185. data/spec/fixtures/tmp/d20140419-20197-xbyc64/path/to/file.html +1 -0
  186. data/spec/fixtures/tmp/d20140419-22414-10z5y02/path/to/file.html +1 -0
  187. data/spec/fixtures/tmp/d20140419-22414-mvsryb/path/to/file.html +1 -0
  188. data/spec/fixtures/tmp/d20140419-23323-133up7d/path/to/file.html +1 -0
  189. data/spec/fixtures/tmp/d20140419-23323-kjk6kc/path/to/file.html +1 -0
  190. data/spec/fixtures/tmp/d20140419-24512-13dq3qd/path/to/file.html +1 -0
  191. data/spec/fixtures/tmp/d20140419-24512-xq871/path/to/file.html +1 -0
  192. data/spec/fixtures/tmp/d20140419-25398-1rk0n38/path/to/file.html +1 -0
  193. data/spec/fixtures/tmp/d20140419-25398-mmygqs/path/to/file.html +1 -0
  194. data/spec/fixtures/tmp/d20140419-25620-827h2p/path/to/file.html +1 -0
  195. data/spec/fixtures/tmp/d20140419-25620-eo5hly/path/to/file.html +1 -0
  196. data/spec/fixtures/tmp/d20140419-26571-17yj6pu/path/to/file.html +1 -0
  197. data/spec/fixtures/tmp/d20140419-26571-kdk9db/path/to/file.html +1 -0
  198. data/spec/fixtures/tmp/d20140419-27372-1bboxzr/path/to/file.html +1 -0
  199. data/spec/fixtures/tmp/d20140419-27372-1fyctuo/path/to/file.html +1 -0
  200. data/spec/fixtures/tmp/d20140419-28646-12e6wmc/path/to/file.html +1 -0
  201. data/spec/fixtures/tmp/d20140419-28646-yi98vl/path/to/file.html +1 -0
  202. data/spec/fixtures/tmp/d20140419-29059-1jzk1m0/path/to/file.html +1 -0
  203. data/spec/fixtures/tmp/d20140419-29059-1wbcuye/path/to/file.html +1 -0
  204. data/spec/fixtures/tmp/d20140420-12901-rfax50/path/to/file.html +1 -0
  205. data/spec/fixtures/tmp/d20140420-12901-wkc41c/path/to/file.html +1 -0
  206. data/spec/fixtures/tmp/d20140420-16092-dx5ohe/path/to/file.html +1 -0
  207. data/spec/fixtures/tmp/d20140420-16092-k0rdj0/path/to/file.html +1 -0
  208. data/spec/fixtures/tmp/d20140420-17354-1uzh3cx/path/to/file.html +1 -0
  209. data/spec/fixtures/tmp/d20140420-17354-a7h3z1/path/to/file.html +1 -0
  210. data/spec/fixtures/tmp/d20140420-17571-11vf5zy/path/to/file.html +1 -0
  211. data/spec/fixtures/tmp/d20140420-17571-mva36w/path/to/file.html +1 -0
  212. data/spec/fixtures/tmp/d20140420-17982-1cqgr9/path/to/file.html +1 -0
  213. data/spec/fixtures/tmp/d20140420-17982-p6f4os/path/to/file.html +1 -0
  214. data/spec/fixtures/tmp/d20140420-18702-1cjze4r/path/to/file.html +1 -0
  215. data/spec/fixtures/tmp/d20140420-18702-wosras/path/to/file.html +1 -0
  216. data/spec/fixtures/tmp/d20140420-18775-kvt4yd/path/to/file.html +1 -0
  217. data/spec/fixtures/tmp/d20140420-18775-ltxkyn/path/to/file.html +1 -0
  218. data/spec/fixtures/tmp/d20140420-19110-1qbir2v/path/to/file.html +1 -0
  219. data/spec/fixtures/tmp/d20140420-19110-wxmnas/path/to/file.html +1 -0
  220. data/spec/fixtures/tmp/d20140420-19300-13my6cz/path/to/file.html +1 -0
  221. data/spec/fixtures/tmp/d20140420-19300-1kyxkd1/path/to/file.html +1 -0
  222. data/spec/fixtures/tmp/d20140420-20198-1g3arb5/path/to/file.html +1 -0
  223. data/spec/fixtures/tmp/d20140420-20198-pplp9q/path/to/file.html +1 -0
  224. data/spec/fixtures/tmp/d20140420-20605-1ob04z7/path/to/file.html +1 -0
  225. data/spec/fixtures/tmp/d20140420-20605-ysybs4/path/to/file.html +1 -0
  226. data/spec/fixtures/tmp/d20140420-20710-1avs9de/path/to/file.html +1 -0
  227. data/spec/fixtures/tmp/d20140420-20710-3zr93j/path/to/file.html +1 -0
  228. data/spec/fixtures/tmp/d20140420-21125-19uh678/path/to/file.html +1 -0
  229. data/spec/fixtures/tmp/d20140420-21125-5xxj2j/path/to/file.html +1 -0
  230. data/spec/fixtures/tmp/d20140420-22619-1ddxua3/path/to/file.html +1 -0
  231. data/spec/fixtures/tmp/d20140420-22619-m68moo/path/to/file.html +1 -0
  232. data/spec/fixtures/tmp/d20140420-23365-15zax0i/path/to/file.html +1 -0
  233. data/spec/fixtures/tmp/d20140420-23365-1salevl/path/to/file.html +1 -0
  234. data/spec/fixtures/tmp/d20140420-23557-c0ax6s/path/to/file.html +1 -0
  235. data/spec/fixtures/tmp/d20140420-23557-lktrkr/path/to/file.html +1 -0
  236. data/spec/fixtures/tmp/d20140420-23790-mrjyll/path/to/file.html +1 -0
  237. data/spec/fixtures/tmp/d20140420-23790-urztsa/path/to/file.html +1 -0
  238. data/spec/fixtures/tmp/d20140420-24601-198q4tx/path/to/file.html +1 -0
  239. data/spec/fixtures/tmp/d20140420-24601-1sfyhe3/path/to/file.html +1 -0
  240. data/spec/fixtures/tmp/d20140420-25007-14h4bp6/path/to/file.html +1 -0
  241. data/spec/fixtures/tmp/d20140420-25007-463ok6/path/to/file.html +1 -0
  242. data/spec/fixtures/tmp/d20140420-26024-6tha2s/path/to/file.html +1 -0
  243. data/spec/fixtures/tmp/d20140420-26024-j0s4qk/path/to/file.html +1 -0
  244. data/spec/fixtures/tmp/d20140420-27235-1dzmaed/path/to/file.html +1 -0
  245. data/spec/fixtures/tmp/d20140420-27235-1en6s0s/path/to/file.html +1 -0
  246. data/spec/fixtures/tmp/d20140420-27468-dcwghz/path/to/file.html +1 -0
  247. data/spec/fixtures/tmp/d20140420-27468-vohkbn/path/to/file.html +1 -0
  248. data/spec/fixtures/tmp/d20140420-28307-168a5pc/path/to/file.html +1 -0
  249. data/spec/fixtures/tmp/d20140420-28307-694jz1/path/to/file.html +1 -0
  250. data/spec/fixtures/tmp/d20140420-30943-1aqr6vm/path/to/file.html +1 -0
  251. data/spec/fixtures/tmp/d20140420-30943-1m4uuei/path/to/file.html +1 -0
  252. data/spec/fixtures/tmp/d20140420-6205-1rqax3h/path/to/file.html +1 -0
  253. data/spec/fixtures/tmp/d20140420-6205-oawc2q/path/to/file.html +1 -0
  254. data/spec/fixtures/tmp/d20140420-6920-1s3qmoe/path/to/file.html +1 -0
  255. data/spec/fixtures/tmp/d20140420-6920-m69ghp/path/to/file.html +1 -0
  256. data/spec/fixtures/tmp/d20140420-7725-161no3b/path/to/file.html +1 -0
  257. data/spec/fixtures/tmp/d20140420-7725-lrlgau/path/to/file.html +1 -0
  258. data/spec/fixtures/tmp/d20140420-8745-bg7064/path/to/file.html +1 -0
  259. data/spec/fixtures/tmp/d20140420-8745-js2sjp/path/to/file.html +1 -0
  260. data/spec/fixtures/tmp/d20140421-10771-1if5wwo/path/to/file.html +1 -0
  261. data/spec/fixtures/tmp/d20140421-10771-1j9qv2h/path/to/file.html +1 -0
  262. data/spec/fixtures/tmp/d20140421-11976-12lb772/path/to/file.html +1 -0
  263. data/spec/fixtures/tmp/d20140421-11976-1mchb9m/path/to/file.html +1 -0
  264. data/spec/fixtures/tmp/d20140421-12574-1irin8n/path/to/file.html +1 -0
  265. data/spec/fixtures/tmp/d20140421-12574-fqt1g9/path/to/file.html +1 -0
  266. data/spec/fixtures/tmp/d20140421-1418-fxzuhh/path/to/file.html +1 -0
  267. data/spec/fixtures/tmp/d20140421-1418-nalhr9/path/to/file.html +1 -0
  268. data/spec/fixtures/tmp/d20140421-1712-14ckof6/path/to/file.html +1 -0
  269. data/spec/fixtures/tmp/d20140421-1712-qmunxn/path/to/file.html +1 -0
  270. data/spec/fixtures/tmp/d20140421-18290-1xhj34x/path/to/file.html +1 -0
  271. data/spec/fixtures/tmp/d20140421-18290-t3gck7/path/to/file.html +1 -0
  272. data/spec/fixtures/tmp/d20140421-18715-1k1xpdf/path/to/file.html +1 -0
  273. data/spec/fixtures/tmp/d20140421-18715-a14s6e/path/to/file.html +1 -0
  274. data/spec/fixtures/tmp/d20140421-20593-194cjpv/path/to/file.html +1 -0
  275. data/spec/fixtures/tmp/d20140421-20593-cniazz/path/to/file.html +1 -0
  276. data/spec/fixtures/tmp/d20140421-2123-1mwlcu3/path/to/file.html +1 -0
  277. data/spec/fixtures/tmp/d20140421-2123-doahmc/path/to/file.html +1 -0
  278. data/spec/fixtures/tmp/d20140421-22491-1jt3eg/path/to/file.html +1 -0
  279. data/spec/fixtures/tmp/d20140421-22491-1yot94z/path/to/file.html +1 -0
  280. data/spec/fixtures/tmp/d20140421-22906-qppmug/path/to/file.html +1 -0
  281. data/spec/fixtures/tmp/d20140421-22906-qumjfs/path/to/file.html +1 -0
  282. data/spec/fixtures/tmp/d20140421-25099-1d60016/path/to/file.html +1 -0
  283. data/spec/fixtures/tmp/d20140421-25099-bfvo10/path/to/file.html +1 -0
  284. data/spec/fixtures/tmp/d20140421-25597-bv1rzw/path/to/file.html +1 -0
  285. data/spec/fixtures/tmp/d20140421-25597-ifc1zt/path/to/file.html +1 -0
  286. data/spec/fixtures/tmp/d20140421-25932-5n0ecu/path/to/file.html +1 -0
  287. data/spec/fixtures/tmp/d20140421-25932-fpcyti/path/to/file.html +1 -0
  288. data/spec/fixtures/tmp/d20140421-26529-64gq7u/path/to/file.html +1 -0
  289. data/spec/fixtures/tmp/d20140421-26529-q9rmpe/path/to/file.html +1 -0
  290. data/spec/fixtures/tmp/d20140421-26958-1ezcowc/path/to/file.html +1 -0
  291. data/spec/fixtures/tmp/d20140421-26958-1y0ewa7/path/to/file.html +1 -0
  292. data/spec/fixtures/tmp/d20140421-27243-1wdfkpj/path/to/file.html +1 -0
  293. data/spec/fixtures/tmp/d20140421-27243-d9dcfi/path/to/file.html +1 -0
  294. data/spec/fixtures/tmp/d20140421-27673-1y0zd4h/path/to/file.html +1 -0
  295. data/spec/fixtures/tmp/d20140421-27673-52snmn/path/to/file.html +1 -0
  296. data/spec/fixtures/tmp/d20140421-28084-9dd587/path/to/file.html +1 -0
  297. data/spec/fixtures/tmp/d20140421-28084-t05tqz/path/to/file.html +1 -0
  298. data/spec/fixtures/tmp/d20140421-29878-6cd4oz/path/to/file.html +1 -0
  299. data/spec/fixtures/tmp/d20140421-29878-ydhsb4/path/to/file.html +1 -0
  300. data/spec/fixtures/tmp/d20140421-30792-1bd4a61/path/to/file.html +1 -0
  301. data/spec/fixtures/tmp/d20140421-30792-1e2s3fm/path/to/file.html +1 -0
  302. data/spec/fixtures/tmp/d20140421-31209-138ehsm/path/to/file.html +1 -0
  303. data/spec/fixtures/tmp/d20140421-31209-5ezih8/path/to/file.html +1 -0
  304. data/spec/fixtures/tmp/d20140421-32114-1194x89/path/to/file.html +1 -0
  305. data/spec/fixtures/tmp/d20140421-32114-11jrrha/path/to/file.html +1 -0
  306. data/spec/fixtures/tmp/d20140421-4034-3rnhtx/path/to/file.html +1 -0
  307. data/spec/fixtures/tmp/d20140421-4034-jvbe4b/path/to/file.html +1 -0
  308. data/spec/fixtures/tmp/d20140421-5294-1e4spkp/path/to/file.html +1 -0
  309. data/spec/fixtures/tmp/d20140421-5294-1kmi81i/path/to/file.html +1 -0
  310. data/spec/fixtures/tmp/d20140421-6095-1g01ef/path/to/file.html +1 -0
  311. data/spec/fixtures/tmp/d20140421-6095-2hqjvz/path/to/file.html +1 -0
  312. data/spec/fixtures/tmp/d20140421-6533-5c9oia/path/to/file.html +1 -0
  313. data/spec/fixtures/tmp/d20140421-6533-wrbzdu/path/to/file.html +1 -0
  314. data/spec/fixtures/tmp/d20140421-7523-15vjw6r/path/to/file.html +1 -0
  315. data/spec/fixtures/tmp/d20140421-7523-r20bpa/path/to/file.html +1 -0
  316. data/spec/fixtures/tmp/d20140421-7745-158z534/path/to/file.html +1 -0
  317. data/spec/fixtures/tmp/d20140421-7745-ibrh03/path/to/file.html +1 -0
  318. data/spec/fixtures/tmp/d20140421-8292-1apyywv/path/to/file.html +1 -0
  319. data/spec/fixtures/tmp/d20140421-8292-1juuqt6/path/to/file.html +1 -0
  320. data/spec/fixtures/tmp/d20140421-9015-1izaiwf/path/to/file.html +1 -0
  321. data/spec/fixtures/tmp/d20140421-9015-605dfk/path/to/file.html +1 -0
  322. data/spec/fixtures/tmp/d20140421-9788-11sbh02/path/to/file.html +1 -0
  323. data/spec/fixtures/tmp/d20140421-9788-sd2rh3/path/to/file.html +1 -0
  324. data/spec/fixtures/tmp/d20140421-982-10vevme/path/to/file.html +1 -0
  325. data/spec/fixtures/tmp/d20140421-982-6ohdkl/path/to/file.html +1 -0
  326. data/spec/fixtures/tmp/d20140424-19179-1a9c3bc/path/to/file.html +1 -0
  327. data/spec/fixtures/tmp/d20140424-19179-ej0v61/path/to/file.html +1 -0
  328. data/spec/fixtures/tmp/d20140424-20271-1cdtjbm/path/to/file.html +1 -0
  329. data/spec/fixtures/tmp/d20140424-20271-zq4a7g/path/to/file.html +1 -0
  330. data/spec/fixtures/tmp/d20140424-22461-11ecodd/path/to/file.html +1 -0
  331. data/spec/fixtures/tmp/d20140424-22461-x392at/path/to/file.html +1 -0
  332. data/spec/fixtures/tmp/d20140424-22656-h3cfrj/path/to/file.html +1 -0
  333. data/spec/fixtures/tmp/d20140424-22656-i0e1rs/path/to/file.html +1 -0
  334. data/spec/fixtures/tmp/d20140424-23516-5y0sjx/path/to/file.html +1 -0
  335. data/spec/fixtures/tmp/d20140424-23516-5y7djj/path/to/file.html +1 -0
  336. data/spec/fixtures/tmp/d20140424-32315-167bc8d/path/to/file.html +1 -0
  337. data/spec/fixtures/tmp/d20140424-32315-1uszvsy/path/to/file.html +1 -0
  338. data/spec/fixtures/tmp/d20140424-32552-q084eo/path/to/file.html +1 -0
  339. data/spec/fixtures/tmp/d20140424-32552-rhh7of/path/to/file.html +1 -0
  340. data/spec/fixtures/tmp/d20140424-360-gsddwz/path/to/file.html +1 -0
  341. data/spec/fixtures/tmp/d20140424-360-uq5z27/path/to/file.html +1 -0
  342. data/spec/fixtures/tmp/d20140427-10046-br6h3b/path/to/file.html +1 -0
  343. data/spec/fixtures/tmp/d20140427-10046-ziimll/path/to/file.html +1 -0
  344. data/spec/fixtures/tmp/d20140427-10381-1eh1yaj/path/to/file.html +1 -0
  345. data/spec/fixtures/tmp/d20140427-10381-1o9lwfq/path/to/file.html +1 -0
  346. data/spec/fixtures/tmp/d20140427-10709-1hcqh7k/path/to/file.html +1 -0
  347. data/spec/fixtures/tmp/d20140427-10709-asipm/path/to/file.html +1 -0
  348. data/spec/fixtures/tmp/d20140427-10917-17n9on4/path/to/file.html +1 -0
  349. data/spec/fixtures/tmp/d20140427-10917-1m22mve/path/to/file.html +1 -0
  350. data/spec/fixtures/tmp/d20140427-11062-16130fo/path/to/file.html +1 -0
  351. data/spec/fixtures/tmp/d20140427-11062-bgz6qw/path/to/file.html +1 -0
  352. data/spec/fixtures/tmp/d20140427-1147-1xxelw3/path/to/file.html +1 -0
  353. data/spec/fixtures/tmp/d20140427-1147-s6r7w8/path/to/file.html +1 -0
  354. data/spec/fixtures/tmp/d20140427-12407-8zp0qc/path/to/file.html +1 -0
  355. data/spec/fixtures/tmp/d20140427-12407-rfv86t/path/to/file.html +1 -0
  356. data/spec/fixtures/tmp/d20140427-12931-fe3f00/path/to/file.html +1 -0
  357. data/spec/fixtures/tmp/d20140427-12931-muztqy/path/to/file.html +1 -0
  358. data/spec/fixtures/tmp/d20140427-13574-e883hw/path/to/file.html +1 -0
  359. data/spec/fixtures/tmp/d20140427-13574-xbhj5q/path/to/file.html +1 -0
  360. data/spec/fixtures/tmp/d20140427-13990-1edsch2/path/to/file.html +1 -0
  361. data/spec/fixtures/tmp/d20140427-13990-1risnpk/path/to/file.html +1 -0
  362. data/spec/fixtures/tmp/d20140427-14590-16s3phc/path/to/file.html +1 -0
  363. data/spec/fixtures/tmp/d20140427-14590-9agt0e/path/to/file.html +1 -0
  364. data/spec/fixtures/tmp/d20140427-15021-16xw48a/path/to/file.html +1 -0
  365. data/spec/fixtures/tmp/d20140427-15021-qnqqzi/path/to/file.html +1 -0
  366. data/spec/fixtures/tmp/d20140427-1665-1paampf/path/to/file.html +1 -0
  367. data/spec/fixtures/tmp/d20140427-1665-1vht5tm/path/to/file.html +1 -0
  368. data/spec/fixtures/tmp/d20140427-16927-1nkqw1h/path/to/file.html +1 -0
  369. data/spec/fixtures/tmp/d20140427-16927-tvevo8/path/to/file.html +1 -0
  370. data/spec/fixtures/tmp/d20140427-17330-ed97vt/path/to/file.html +1 -0
  371. data/spec/fixtures/tmp/d20140427-17330-osu8kc/path/to/file.html +1 -0
  372. data/spec/fixtures/tmp/d20140427-17517-14v1ew/path/to/file.html +1 -0
  373. data/spec/fixtures/tmp/d20140427-17517-xldh36/path/to/file.html +1 -0
  374. data/spec/fixtures/tmp/d20140427-17907-16g44lk/path/to/file.html +1 -0
  375. data/spec/fixtures/tmp/d20140427-17907-m9d8j6/path/to/file.html +1 -0
  376. data/spec/fixtures/tmp/d20140427-18271-12qdv9/path/to/file.html +1 -0
  377. data/spec/fixtures/tmp/d20140427-18271-1rrdda9/path/to/file.html +1 -0
  378. data/spec/fixtures/tmp/d20140427-1865-1ny6vb/path/to/file.html +1 -0
  379. data/spec/fixtures/tmp/d20140427-1865-85cmn4/path/to/file.html +1 -0
  380. data/spec/fixtures/tmp/d20140427-18761-1y6zu8o/path/to/file.html +1 -0
  381. data/spec/fixtures/tmp/d20140427-18761-htyo3y/path/to/file.html +1 -0
  382. data/spec/fixtures/tmp/d20140427-18900-1x32ijc/path/to/file.html +1 -0
  383. data/spec/fixtures/tmp/d20140427-18900-hmpg03/path/to/file.html +1 -0
  384. data/spec/fixtures/tmp/d20140427-19343-hurh7c/path/to/file.html +1 -0
  385. data/spec/fixtures/tmp/d20140427-19343-sh29o5/path/to/file.html +1 -0
  386. data/spec/fixtures/tmp/d20140427-1989-k3uqfp/path/to/file.html +1 -0
  387. data/spec/fixtures/tmp/d20140427-1989-rbnn1w/path/to/file.html +1 -0
  388. data/spec/fixtures/tmp/d20140427-19981-1a22raq/path/to/file.html +1 -0
  389. data/spec/fixtures/tmp/d20140427-19981-5lkjrb/path/to/file.html +1 -0
  390. data/spec/fixtures/tmp/d20140427-20076-1o7op1o/path/to/file.html +1 -0
  391. data/spec/fixtures/tmp/d20140427-20076-mk6cn6/path/to/file.html +1 -0
  392. data/spec/fixtures/tmp/d20140427-20320-7a2dj8/path/to/file.html +1 -0
  393. data/spec/fixtures/tmp/d20140427-20320-rt012j/path/to/file.html +1 -0
  394. data/spec/fixtures/tmp/d20140427-21872-1mtt431/path/to/file.html +1 -0
  395. data/spec/fixtures/tmp/d20140427-21872-1tvidqe/path/to/file.html +1 -0
  396. data/spec/fixtures/tmp/d20140427-22504-71qvop/path/to/file.html +1 -0
  397. data/spec/fixtures/tmp/d20140427-22504-i1r2s3/path/to/file.html +1 -0
  398. data/spec/fixtures/tmp/d20140427-23068-193qgxc/path/to/file.html +1 -0
  399. data/spec/fixtures/tmp/d20140427-23068-1vegcgf/path/to/file.html +1 -0
  400. data/spec/fixtures/tmp/d20140427-23091-1e0kre8/path/to/file.html +1 -0
  401. data/spec/fixtures/tmp/d20140427-23091-1gav2n5/path/to/file.html +1 -0
  402. data/spec/fixtures/tmp/d20140427-23306-1ap3njr/path/to/file.html +1 -0
  403. data/spec/fixtures/tmp/d20140427-23306-1ar0xmh/path/to/file.html +1 -0
  404. data/spec/fixtures/tmp/d20140427-23411-18bbxhj/path/to/file.html +1 -0
  405. data/spec/fixtures/tmp/d20140427-23411-ovshun/path/to/file.html +1 -0
  406. data/spec/fixtures/tmp/d20140427-23495-11tnfrx/path/to/file.html +1 -0
  407. data/spec/fixtures/tmp/d20140427-23495-13f0tcm/path/to/file.html +1 -0
  408. data/spec/fixtures/tmp/d20140427-24180-10u5ymt/path/to/file.html +1 -0
  409. data/spec/fixtures/tmp/d20140427-24180-1s9juvy/path/to/file.html +1 -0
  410. data/spec/fixtures/tmp/d20140427-24506-stgci6/path/to/file.html +1 -0
  411. data/spec/fixtures/tmp/d20140427-24506-xmkxc8/path/to/file.html +1 -0
  412. data/spec/fixtures/tmp/d20140427-2553-mkgyph/path/to/file.html +1 -0
  413. data/spec/fixtures/tmp/d20140427-2553-rkwaw8/path/to/file.html +1 -0
  414. data/spec/fixtures/tmp/d20140427-2776-11k5nfu/path/to/file.html +1 -0
  415. data/spec/fixtures/tmp/d20140427-2776-4p4d3p/path/to/file.html +1 -0
  416. data/spec/fixtures/tmp/d20140427-29589-lclgjx/path/to/file.html +1 -0
  417. data/spec/fixtures/tmp/d20140427-29589-nua1jm/path/to/file.html +1 -0
  418. data/spec/fixtures/tmp/d20140427-30024-h0uiwr/path/to/file.html +1 -0
  419. data/spec/fixtures/tmp/d20140427-30024-sv28ch/path/to/file.html +1 -0
  420. data/spec/fixtures/tmp/d20140427-3074-1y3l42j/path/to/file.html +1 -0
  421. data/spec/fixtures/tmp/d20140427-3074-dc798g/path/to/file.html +1 -0
  422. data/spec/fixtures/tmp/d20140427-30947-1aocf1l/path/to/file.html +1 -0
  423. data/spec/fixtures/tmp/d20140427-30947-j3fntl/path/to/file.html +1 -0
  424. data/spec/fixtures/tmp/d20140427-31324-79zqq5/path/to/file.html +1 -0
  425. data/spec/fixtures/tmp/d20140427-31324-j6a1vi/path/to/file.html +1 -0
  426. data/spec/fixtures/tmp/d20140427-31448-14jvamh/path/to/file.html +1 -0
  427. data/spec/fixtures/tmp/d20140427-31448-dp7nhr/path/to/file.html +1 -0
  428. data/spec/fixtures/tmp/d20140427-31984-5qwewl/path/to/file.html +1 -0
  429. data/spec/fixtures/tmp/d20140427-31984-wmi7sj/path/to/file.html +1 -0
  430. data/spec/fixtures/tmp/d20140427-32151-17ktwqk/path/to/file.html +1 -0
  431. data/spec/fixtures/tmp/d20140427-32151-44xtne/path/to/file.html +1 -0
  432. data/spec/fixtures/tmp/d20140427-3218-h4dlma/path/to/file.html +1 -0
  433. data/spec/fixtures/tmp/d20140427-3218-vb5hzg/path/to/file.html +1 -0
  434. data/spec/fixtures/tmp/d20140427-32657-13dco5i/path/to/file.html +1 -0
  435. data/spec/fixtures/tmp/d20140427-32657-14xn5is/path/to/file.html +1 -0
  436. data/spec/fixtures/tmp/d20140427-3764-1pf3smn/path/to/file.html +1 -0
  437. data/spec/fixtures/tmp/d20140427-3764-1um2gw4/path/to/file.html +1 -0
  438. data/spec/fixtures/tmp/d20140427-4257-1cm4ldf/path/to/file.html +1 -0
  439. data/spec/fixtures/tmp/d20140427-4257-tc0pr8/path/to/file.html +1 -0
  440. data/spec/fixtures/tmp/d20140427-478-1x1qpl1/path/to/file.html +1 -0
  441. data/spec/fixtures/tmp/d20140427-478-fj2efq/path/to/file.html +1 -0
  442. data/spec/fixtures/tmp/d20140427-5054-lbdxai/path/to/file.html +1 -0
  443. data/spec/fixtures/tmp/d20140427-5054-xo1lnq/path/to/file.html +1 -0
  444. data/spec/fixtures/tmp/d20140427-5363-1hno1we/path/to/file.html +1 -0
  445. data/spec/fixtures/tmp/d20140427-5363-ebw4j/path/to/file.html +1 -0
  446. data/spec/fixtures/tmp/d20140427-5545-13usafg/path/to/file.html +1 -0
  447. data/spec/fixtures/tmp/d20140427-5545-27h4em/path/to/file.html +1 -0
  448. data/spec/fixtures/tmp/d20140427-6332-1oskwyz/path/to/file.html +1 -0
  449. data/spec/fixtures/tmp/d20140427-6332-x5lqqy/path/to/file.html +1 -0
  450. data/spec/fixtures/tmp/d20140427-7332-id1sj/path/to/file.html +1 -0
  451. data/spec/fixtures/tmp/d20140427-7332-n0fxsy/path/to/file.html +1 -0
  452. data/spec/fixtures/tmp/d20140427-8086-1x22rj1/path/to/file.html +1 -0
  453. data/spec/fixtures/tmp/d20140427-8086-d91hu4/path/to/file.html +1 -0
  454. data/spec/fixtures/tmp/d20140427-8148-1c5zf1y/path/to/file.html +1 -0
  455. data/spec/fixtures/tmp/d20140427-8148-9ei2tx/path/to/file.html +1 -0
  456. data/spec/fixtures/tmp/d20140427-8571-1ulwrn6/path/to/file.html +1 -0
  457. data/spec/fixtures/tmp/d20140427-8571-9jpnn2/path/to/file.html +1 -0
  458. data/spec/fixtures/tmp/d20140427-8901-1bkiex2/path/to/file.html +1 -0
  459. data/spec/fixtures/tmp/d20140427-8901-1c01uzg/path/to/file.html +1 -0
  460. data/spec/fixtures/tmp/d20140427-9097-1bp4oup/path/to/file.html +1 -0
  461. data/spec/fixtures/tmp/d20140427-9097-1fhzcvu/path/to/file.html +1 -0
  462. data/spec/fixtures/tmp/d20140427-9146-16mftd9/path/to/file.html +1 -0
  463. data/spec/fixtures/tmp/d20140427-9146-vfpu8y/path/to/file.html +1 -0
  464. data/spec/fixtures/tmp/d20140427-9288-1dgaxz2/path/to/file.html +1 -0
  465. data/spec/fixtures/tmp/d20140427-9288-6cly4a/path/to/file.html +1 -0
  466. data/spec/fixtures/tmp/d20140427-9618-14w19o7/path/to/file.html +1 -0
  467. data/spec/fixtures/tmp/d20140427-9618-1v040gn/path/to/file.html +1 -0
  468. data/spec/fixtures/tmp/d20140721-1715-1i1gylu/path/to/file.html +1 -0
  469. data/spec/fixtures/tmp/d20140721-1715-1vfcq84/path/to/file.html +1 -0
  470. data/spec/fixtures/tmp/d20140721-17789-24psgg/path/to/file.html +1 -0
  471. data/spec/fixtures/tmp/d20140721-17789-obyran/path/to/file.html +1 -0
  472. data/spec/fixtures/tmp/d20140721-1854-2whwi9/path/to/file.html +1 -0
  473. data/spec/fixtures/tmp/d20140721-1854-61scf5/path/to/file.html +1 -0
  474. data/spec/fixtures/tmp/d20140721-2009-1rytchn/path/to/file.html +1 -0
  475. data/spec/fixtures/tmp/d20140721-2009-d7801o/path/to/file.html +1 -0
  476. data/spec/fixtures/tmp/d20140905-10034-5eixi4/path/to/file.html +1 -0
  477. data/spec/fixtures/tmp/d20140905-10034-k56z5r/path/to/file.html +1 -0
  478. data/spec/fixtures/tmp/d20140905-11956-18fy4h5/path/to/file.html +1 -0
  479. data/spec/fixtures/tmp/d20140905-11956-1xn8fyd/path/to/file.html +1 -0
  480. data/spec/fixtures/tmp/d20140905-13443-1s42hwy/path/to/file.html +1 -0
  481. data/spec/fixtures/tmp/d20140905-13443-cyfg2i/path/to/file.html +1 -0
  482. data/spec/fixtures/tmp/d20140905-13566-4gcpr4/path/to/file.html +1 -0
  483. data/spec/fixtures/tmp/d20140905-13566-gepopm/path/to/file.html +1 -0
  484. data/spec/fixtures/tmp/d20140905-1450-13mlsa6/path/to/file.html +1 -0
  485. data/spec/fixtures/tmp/d20140905-1450-p8nda4/path/to/file.html +1 -0
  486. data/spec/fixtures/tmp/d20140905-14901-1g9yc2a/path/to/file.html +1 -0
  487. data/spec/fixtures/tmp/d20140905-14901-26shkc/path/to/file.html +1 -0
  488. data/spec/fixtures/tmp/d20140905-15994-17q9s4z/path/to/file.html +1 -0
  489. data/spec/fixtures/tmp/d20140905-15994-2zl28m/path/to/file.html +1 -0
  490. data/spec/fixtures/tmp/d20140905-1684-1smoed7/path/to/file.html +1 -0
  491. data/spec/fixtures/tmp/d20140905-1684-x5g3xc/path/to/file.html +1 -0
  492. data/spec/fixtures/tmp/d20140905-16964-kzbjqu/path/to/file.html +1 -0
  493. data/spec/fixtures/tmp/d20140905-16964-pib05i/path/to/file.html +1 -0
  494. data/spec/fixtures/tmp/d20140905-17002-c61td9/path/to/file.html +1 -0
  495. data/spec/fixtures/tmp/d20140905-17002-hzo1lu/path/to/file.html +1 -0
  496. data/spec/fixtures/tmp/d20140905-17640-1atfg3e/path/to/file.html +1 -0
  497. data/spec/fixtures/tmp/d20140905-17640-tdt6pc/path/to/file.html +1 -0
  498. data/spec/fixtures/tmp/d20140905-17783-17lrr3t/path/to/file.html +1 -0
  499. data/spec/fixtures/tmp/d20140905-17783-2w5edx/path/to/file.html +1 -0
  500. data/spec/fixtures/tmp/d20140905-18993-1l9cysh/path/to/file.html +1 -0
  501. data/spec/fixtures/tmp/d20140905-18993-vmtl89/path/to/file.html +1 -0
  502. data/spec/fixtures/tmp/d20140905-19506-1vmg6jl/path/to/file.html +1 -0
  503. data/spec/fixtures/tmp/d20140905-19506-1xlh9ag/path/to/file.html +1 -0
  504. data/spec/fixtures/tmp/d20140905-19782-jcseew/path/to/file.html +1 -0
  505. data/spec/fixtures/tmp/d20140905-19782-oomr42/path/to/file.html +1 -0
  506. data/spec/fixtures/tmp/d20140905-19909-1um2az0/path/to/file.html +1 -0
  507. data/spec/fixtures/tmp/d20140905-19909-j1a10t/path/to/file.html +1 -0
  508. data/spec/fixtures/tmp/d20140905-20271-aoebav/path/to/file.html +1 -0
  509. data/spec/fixtures/tmp/d20140905-20271-bnz844/path/to/file.html +1 -0
  510. data/spec/fixtures/tmp/d20140905-2053-1yruyms/path/to/file.html +1 -0
  511. data/spec/fixtures/tmp/d20140905-2053-3jk87h/path/to/file.html +1 -0
  512. data/spec/fixtures/tmp/d20140905-2212-dm59e9/path/to/file.html +1 -0
  513. data/spec/fixtures/tmp/d20140905-2212-du7ic2/path/to/file.html +1 -0
  514. data/spec/fixtures/tmp/d20140905-22476-1p99z6q/path/to/file.html +1 -0
  515. data/spec/fixtures/tmp/d20140905-22476-o56ie5/path/to/file.html +1 -0
  516. data/spec/fixtures/tmp/d20140905-22692-i76vp0/path/to/file.html +1 -0
  517. data/spec/fixtures/tmp/d20140905-22692-uss2jq/path/to/file.html +1 -0
  518. data/spec/fixtures/tmp/d20140905-2287-1ikrmc/path/to/file.html +1 -0
  519. data/spec/fixtures/tmp/d20140905-2287-wzsn4a/path/to/file.html +1 -0
  520. data/spec/fixtures/tmp/d20140905-2470-13hythu/path/to/file.html +1 -0
  521. data/spec/fixtures/tmp/d20140905-2470-u7x3du/path/to/file.html +1 -0
  522. data/spec/fixtures/tmp/d20140905-24861-j3w00j/path/to/file.html +1 -0
  523. data/spec/fixtures/tmp/d20140905-24861-sweyos/path/to/file.html +1 -0
  524. data/spec/fixtures/tmp/d20140905-2530-10qn2lw/path/to/file.html +1 -0
  525. data/spec/fixtures/tmp/d20140905-2530-1bgwzsv/path/to/file.html +1 -0
  526. data/spec/fixtures/tmp/d20140905-25790-7e8sfi/path/to/file.html +1 -0
  527. data/spec/fixtures/tmp/d20140905-25790-wddyc5/path/to/file.html +1 -0
  528. data/spec/fixtures/tmp/d20140905-26075-16x1mzq/path/to/file.html +1 -0
  529. data/spec/fixtures/tmp/d20140905-26075-lv90l8/path/to/file.html +1 -0
  530. data/spec/fixtures/tmp/d20140905-28166-11za2od/path/to/file.html +1 -0
  531. data/spec/fixtures/tmp/d20140905-28166-1g36c8a/path/to/file.html +1 -0
  532. data/spec/fixtures/tmp/d20140905-2905-pnm5uq/path/to/file.html +1 -0
  533. data/spec/fixtures/tmp/d20140905-2905-t6t2d2/path/to/file.html +1 -0
  534. data/spec/fixtures/tmp/d20140905-30503-58wb7q/path/to/file.html +1 -0
  535. data/spec/fixtures/tmp/d20140905-30503-jb624u/path/to/file.html +1 -0
  536. data/spec/fixtures/tmp/d20140905-30934-1gvne1f/path/to/file.html +1 -0
  537. data/spec/fixtures/tmp/d20140905-30934-1s03nu/path/to/file.html +1 -0
  538. data/spec/fixtures/tmp/d20140905-31149-1hz9a6h/path/to/file.html +1 -0
  539. data/spec/fixtures/tmp/d20140905-31149-jf7ugm/path/to/file.html +1 -0
  540. data/spec/fixtures/tmp/d20140905-31151-l8md23/path/to/file.html +1 -0
  541. data/spec/fixtures/tmp/d20140905-31151-mv84hu/path/to/file.html +1 -0
  542. data/spec/fixtures/tmp/d20140905-31201-11s2gb8/path/to/file.html +1 -0
  543. data/spec/fixtures/tmp/d20140905-31201-1v30ybw/path/to/file.html +1 -0
  544. data/spec/fixtures/tmp/d20140905-31320-17yj1zt/path/to/file.html +1 -0
  545. data/spec/fixtures/tmp/d20140905-31320-8911dv/path/to/file.html +1 -0
  546. data/spec/fixtures/tmp/d20140905-3266-clqy7v/path/to/file.html +1 -0
  547. data/spec/fixtures/tmp/d20140905-3266-hivm33/path/to/file.html +1 -0
  548. data/spec/fixtures/tmp/d20140905-3419-crni3q/path/to/file.html +1 -0
  549. data/spec/fixtures/tmp/d20140905-3419-r3fmsm/path/to/file.html +1 -0
  550. data/spec/fixtures/tmp/d20140905-3720-1u5es3e/path/to/file.html +1 -0
  551. data/spec/fixtures/tmp/d20140905-3720-xlhqm7/path/to/file.html +1 -0
  552. data/spec/fixtures/tmp/d20140905-3800-1i8zi6k/path/to/file.html +1 -0
  553. data/spec/fixtures/tmp/d20140905-3800-6a94vn/path/to/file.html +1 -0
  554. data/spec/fixtures/tmp/d20140905-3995-1us9boh/path/to/file.html +1 -0
  555. data/spec/fixtures/tmp/d20140905-3995-5bqdfo/path/to/file.html +1 -0
  556. data/spec/fixtures/tmp/d20140905-4092-1jibb0h/path/to/file.html +1 -0
  557. data/spec/fixtures/tmp/d20140905-4092-puypnm/path/to/file.html +1 -0
  558. data/spec/fixtures/tmp/d20140905-4223-q53ye3/path/to/file.html +1 -0
  559. data/spec/fixtures/tmp/d20140905-4223-r3yyf4/path/to/file.html +1 -0
  560. data/spec/fixtures/tmp/d20140905-4351-1fubfac/path/to/file.html +1 -0
  561. data/spec/fixtures/tmp/d20140905-4351-9hr549/path/to/file.html +1 -0
  562. data/spec/fixtures/tmp/d20140905-4411-13zoq6l/path/to/file.html +1 -0
  563. data/spec/fixtures/tmp/d20140905-4411-1ppzzqw/path/to/file.html +1 -0
  564. data/spec/fixtures/tmp/d20140905-4442-6rva41/path/to/file.html +1 -0
  565. data/spec/fixtures/tmp/d20140905-4442-wmqe8v/path/to/file.html +1 -0
  566. data/spec/fixtures/tmp/d20140905-4556-1tldwwb/path/to/file.html +1 -0
  567. data/spec/fixtures/tmp/d20140905-4556-lu2ugj/path/to/file.html +1 -0
  568. data/spec/fixtures/tmp/d20140905-4640-1a48m57/path/to/file.html +1 -0
  569. data/spec/fixtures/tmp/d20140905-4640-hz0ov9/path/to/file.html +1 -0
  570. data/spec/fixtures/tmp/d20140905-4641-1oo0oif/path/to/file.html +1 -0
  571. data/spec/fixtures/tmp/d20140905-4641-1wvni2t/path/to/file.html +1 -0
  572. data/spec/fixtures/tmp/d20140905-4742-iktt74/path/to/file.html +1 -0
  573. data/spec/fixtures/tmp/d20140905-4742-u92ejt/path/to/file.html +1 -0
  574. data/spec/fixtures/tmp/d20140905-4824-1tjdeq1/path/to/file.html +1 -0
  575. data/spec/fixtures/tmp/d20140905-4824-vsf2zu/path/to/file.html +1 -0
  576. data/spec/fixtures/tmp/d20140905-4897-1fw357l/path/to/file.html +1 -0
  577. data/spec/fixtures/tmp/d20140905-4897-1ghjf6v/path/to/file.html +1 -0
  578. data/spec/fixtures/tmp/d20140905-5000-6h3rmj/path/to/file.html +1 -0
  579. data/spec/fixtures/tmp/d20140905-5000-aurdqr/path/to/file.html +1 -0
  580. data/spec/fixtures/tmp/d20140905-5127-1guusdh/path/to/file.html +1 -0
  581. data/spec/fixtures/tmp/d20140905-5127-tbe46/path/to/file.html +1 -0
  582. data/spec/fixtures/tmp/d20140905-5198-1wiha7m/path/to/file.html +1 -0
  583. data/spec/fixtures/tmp/d20140905-5198-xbyps9/path/to/file.html +1 -0
  584. data/spec/fixtures/tmp/d20140905-5294-1c9ff5k/path/to/file.html +1 -0
  585. data/spec/fixtures/tmp/d20140905-5294-ff78ui/path/to/file.html +1 -0
  586. data/spec/fixtures/tmp/d20140905-5463-1f4eqt4/path/to/file.html +1 -0
  587. data/spec/fixtures/tmp/d20140905-5463-1lyqgpk/path/to/file.html +1 -0
  588. data/spec/fixtures/tmp/d20140905-5558-15eb6u/path/to/file.html +1 -0
  589. data/spec/fixtures/tmp/d20140905-5558-ruzn9p/path/to/file.html +1 -0
  590. data/spec/fixtures/tmp/d20140905-5570-16g7tsd/path/to/file.html +1 -0
  591. data/spec/fixtures/tmp/d20140905-5570-16wlh0x/path/to/file.html +1 -0
  592. data/spec/fixtures/tmp/d20140905-571-10mx3uc/path/to/file.html +1 -0
  593. data/spec/fixtures/tmp/d20140905-571-1telmsf/path/to/file.html +1 -0
  594. data/spec/fixtures/tmp/d20140905-5828-1nta8ez/path/to/file.html +1 -0
  595. data/spec/fixtures/tmp/d20140905-5828-1v1is65/path/to/file.html +1 -0
  596. data/spec/fixtures/tmp/d20140905-6164-15o4poi/path/to/file.html +1 -0
  597. data/spec/fixtures/tmp/d20140905-6164-1g3lvlh/path/to/file.html +1 -0
  598. data/spec/fixtures/tmp/d20140905-6165-19tz2zi/path/to/file.html +1 -0
  599. data/spec/fixtures/tmp/d20140905-6165-yqs4pm/path/to/file.html +1 -0
  600. data/spec/fixtures/tmp/d20140905-6298-1hp4drd/path/to/file.html +1 -0
  601. data/spec/fixtures/tmp/d20140905-6298-4fdeo2/path/to/file.html +1 -0
  602. data/spec/fixtures/tmp/d20140905-6558-1gd7yzu/path/to/file.html +1 -0
  603. data/spec/fixtures/tmp/d20140905-6558-85x5o6/path/to/file.html +1 -0
  604. data/spec/fixtures/tmp/d20140905-656-1m2glyc/path/to/file.html +1 -0
  605. data/spec/fixtures/tmp/d20140905-656-1y21odi/path/to/file.html +1 -0
  606. data/spec/fixtures/tmp/d20140905-6604-1cazop7/path/to/file.html +1 -0
  607. data/spec/fixtures/tmp/d20140905-6604-zrofp4/path/to/file.html +1 -0
  608. data/spec/fixtures/tmp/d20140905-7230-15ql4dz/path/to/file.html +1 -0
  609. data/spec/fixtures/tmp/d20140905-7230-7a8a93/path/to/file.html +1 -0
  610. data/spec/fixtures/tmp/d20140905-7495-1mpqymn/path/to/file.html +1 -0
  611. data/spec/fixtures/tmp/d20140905-7495-q8mh6n/path/to/file.html +1 -0
  612. data/spec/fixtures/tmp/d20140905-7846-14bx0vk/path/to/file.html +1 -0
  613. data/spec/fixtures/tmp/d20140905-7846-puiatr/path/to/file.html +1 -0
  614. data/spec/fixtures/tmp/d20140905-7907-1i1z8y4/path/to/file.html +1 -0
  615. data/spec/fixtures/tmp/d20140905-7907-f839cr/path/to/file.html +1 -0
  616. data/spec/fixtures/tmp/d20140905-8060-19c2yhr/path/to/file.html +1 -0
  617. data/spec/fixtures/tmp/d20140905-8060-png6ih/path/to/file.html +1 -0
  618. data/spec/fixtures/tmp/d20140905-8675-vkd6/path/to/file.html +1 -0
  619. data/spec/fixtures/tmp/d20140905-8675-yjgpsb/path/to/file.html +1 -0
  620. data/spec/fixtures/tmp/d20140905-8723-3vwlqm/path/to/file.html +1 -0
  621. data/spec/fixtures/tmp/d20140905-8723-7dansu/path/to/file.html +1 -0
  622. data/spec/fixtures/tmp/d20140905-8813-1r5y94n/path/to/file.html +1 -0
  623. data/spec/fixtures/tmp/d20140905-8813-zmw27u/path/to/file.html +1 -0
  624. data/spec/fixtures/tmp/d20140905-8870-9eknpi/path/to/file.html +1 -0
  625. data/spec/fixtures/tmp/d20140905-8870-kxk62n/path/to/file.html +1 -0
  626. data/spec/functional/generators/static_spec.rb +21 -0
  627. data/spec/spec_helper.rb +31 -0
  628. data/spec/stic/blob_spec.rb +105 -0
  629. data/spec/stic/config_spec.rb +18 -0
  630. data/spec/stic/file_spec.rb +94 -0
  631. data/spec/stic/generator_spec.rb +23 -0
  632. data/spec/stic/layout_spec.rb +45 -0
  633. data/spec/stic/metadata/block_comment_yaml_spec.rb +86 -0
  634. data/spec/stic/metadata/comment_yaml_spec.rb +42 -0
  635. data/spec/stic/metadata/html_yaml_spec.rb +61 -0
  636. data/spec/stic/metadata/yaml_spec.rb +42 -0
  637. data/spec/stic/site_spec.rb +148 -0
  638. data/spec/support/file_fixtures.rb +44 -0
  639. data/stic.gemspec +28 -0
  640. metadata +1381 -0
@@ -0,0 +1,64 @@
1
+ # [![Stic](https://raw.githubusercontent.com/jgraichen/stic/master/stic.png)](https://github.com/jgraichen/stic#readme)
2
+
3
+ [![Build Status](http://img.shields.io/travis/jgraichen/stic.svg?style=flat)](https://travis-ci.org/jgraichen/stic)
4
+ [![Code Climate](http://img.shields.io/codeclimate/github/jgraichen/stic.svg?style=flat)](https://codeclimate.com/github/jgraichen/stic)
5
+
6
+ Opinionated extensible static site generator.
7
+
8
+ ## Description
9
+
10
+ Still an opinionated extensible static site generator.
11
+
12
+ ## Installation
13
+
14
+ $ gem install stic
15
+
16
+ ## Usage
17
+
18
+ TODO: ToDo
19
+
20
+ ## Example
21
+
22
+ ```
23
+ $ cd example/
24
+ $ bundle install
25
+ $ bundle binstubs stic
26
+ $ bin/stic
27
+ ```
28
+
29
+ ## Contributing
30
+
31
+ 1. Fork it
32
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
33
+ 3. Add specs for you new feature
34
+ 4. Commit your changes (`git commit -am 'Add some feature'`)
35
+ 5. Push to the branch (`git push origin my-new-feature`)
36
+ 6. Create new Pull Request
37
+
38
+ ## ToDos
39
+
40
+ * Post-Processors
41
+ ** Syntax highlighting for code blocks
42
+ ** oembed?
43
+ * Checksum-based metadata.json to compile only changed things
44
+ * Blog related generators
45
+ * Sprockets for pimped assets
46
+
47
+ ## License
48
+
49
+ ```
50
+ Copyright (C) 2013-2014 Jan Graichen
51
+
52
+ This program is free software: you can redistribute it and/or modify
53
+ it under the terms of the GNU Affero General Public License as published
54
+ by the Free Software Foundation, either version 3 of the License, or
55
+ (at your option) any later version.
56
+
57
+ This program is distributed in the hope that it will be useful,
58
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
59
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
60
+ GNU Affero General Public License for more details.
61
+
62
+ You should have received a copy of the GNU Affero General Public License
63
+ along with this program. If not, see [http://www.gnu.org/licenses/].
64
+ ```
@@ -0,0 +1,8 @@
1
+ #!/bin/env ruby
2
+ STDOUT.sync = true
3
+
4
+ require 'rubygems'
5
+ require 'stic'
6
+ require 'stic/cli'
7
+
8
+ Stic::CLI.run(ARGV)
@@ -0,0 +1,125 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6
+ <title>
7
+ File: README
8
+
9
+ &mdash; Documentation by YARD 0.8.7.4
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '';
20
+ framesUrl = "frames.html#!file.README.html";
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="_index.html">Index</a> &raquo;
35
+ <span class="title">File: README</span>
36
+
37
+
38
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
39
+ </div>
40
+
41
+ <div id="search">
42
+
43
+ <a class="full_list_link" id="class_list_link"
44
+ href="class_list.html">
45
+ Class List
46
+ </a>
47
+
48
+ <a class="full_list_link" id="method_list_link"
49
+ href="method_list.html">
50
+ Method List
51
+ </a>
52
+
53
+ <a class="full_list_link" id="file_list_link"
54
+ href="file_list.html">
55
+ File List
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <iframe id="search_frame"></iframe>
63
+
64
+ <div id="content"><div id='filecontents'><h1>Stic</h1>
65
+
66
+ <p>Opinionated extensible static site generator.</p>
67
+
68
+ <h2>Description</h2>
69
+
70
+ <p>Still an opinionated extensible static site generator.</p>
71
+
72
+ <h2>Installation</h2>
73
+
74
+ <pre class="code ruby"><code class="ruby">$ gem install stic
75
+ </code></pre>
76
+
77
+ <h2>Usage</h2>
78
+
79
+ <p>TODO: ToDo</p>
80
+
81
+ <h2>Example</h2>
82
+
83
+ <pre class="code ruby"><code class="ruby">$ cd example/
84
+ $ bundle install
85
+ $ bundle binstubs stic
86
+ $ bin/stic
87
+ </code></pre>
88
+
89
+ <h2>Contributing</h2>
90
+
91
+ <ol>
92
+ <li>Fork it</li>
93
+ <li>Create your feature branch (<code>git checkout -b my-new-feature</code>)</li>
94
+ <li>Add specs for you new feature</li>
95
+ <li>Commit your changes (<code>git commit -am &#39;Add some feature&#39;</code>)</li>
96
+ <li>Push to the branch (<code>git push origin my-new-feature</code>)</li>
97
+ <li>Create new Pull Request</li>
98
+ </ol>
99
+
100
+ <h2>License</h2>
101
+
102
+ <p>Copyright (C) 2013-2014 Jan Graichen</p>
103
+
104
+ <p>This program is free software: you can redistribute it and/or modify
105
+ it under the terms of the GNU Affero General Public License as published
106
+ by the Free Software Foundation, either version 3 of the License, or
107
+ (at your option) any later version.</p>
108
+
109
+ <p>This program is distributed in the hope that it will be useful,
110
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
111
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
112
+ GNU Affero General Public License for more details.</p>
113
+
114
+ <p>You should have received a copy of the GNU Affero General Public License
115
+ along with this program. If not, see [<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>].</p>
116
+ </div></div>
117
+
118
+ <div id="footer">
119
+ Generated on Sat Apr 19 13:08:12 2014 by
120
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
121
+ 0.8.7.4 (ruby-2.1.1).
122
+ </div>
123
+
124
+ </body>
125
+ </html>
@@ -0,0 +1,44 @@
1
+ require 'active_support'
2
+ require 'active_support/core_ext'
3
+ require 'tilt'
4
+ require 'rubypath'
5
+ require 'yaml'
6
+ require 'mime/types'
7
+
8
+ require 'stic/version'
9
+
10
+ module Stic
11
+ # Utilities
12
+ require 'stic/utils'
13
+ require 'stic/errors'
14
+
15
+ # Logic modules
16
+ require 'stic/layoutable'
17
+ require 'stic/readable'
18
+ require 'stic/renderable'
19
+ require 'stic/metadata'
20
+ require 'stic/site_base'
21
+
22
+ # Core classes
23
+ require 'stic/blob'
24
+ require 'stic/config'
25
+ require 'stic/file'
26
+ require 'stic/generator'
27
+ require 'stic/layout'
28
+ require 'stic/page'
29
+ require 'stic/renderer'
30
+ require 'stic/site'
31
+
32
+ module Generators
33
+ require 'stic/generators/static'
34
+ require 'stic/generators/page'
35
+ end
36
+
37
+ module Metadata
38
+ require 'stic/metadata/parser'
39
+ require 'stic/metadata/yaml'
40
+ require 'stic/metadata/html_yaml'
41
+ require 'stic/metadata/comment_yaml'
42
+ require 'stic/metadata/block_comment_yaml'
43
+ end
44
+ end
@@ -0,0 +1,106 @@
1
+ module Stic
2
+ #
3
+ # = Stic::Blob
4
+ # A {Blob} represents a single output file. It does not
5
+ # assume any specific source or processing.
6
+ #
7
+ # Blob provides the basic functionality {Site} expects
8
+ # for managing and writing blobs. Blob should not be used
9
+ # directly but sub-classed to provide an actual
10
+ # implementation of at least {#url_template} and {#render}.
11
+ #
12
+ # See {File} for a simple blob implementation serving a
13
+ # static file or {Page} for a more future rich example
14
+ # including rendering.
15
+ #
16
+ class Blob
17
+ include SiteBase
18
+
19
+ # @!group Accessors
20
+
21
+ # Return a the relative URL the blob should have in generated site. The URL
22
+ # is based on the URL template where placeholders are replaced with values
23
+ # from {#data}.
24
+ #
25
+ # Example: Given the URL template `/blog/:year/:slug.html` and a blob data
26
+ # hash of `{:year => 2014, :slug => 'a-blog-post'}` the resulting relative
27
+ # URL would be '/blog/2014/a-blog-post.html'. Only `A-z0-9_` are allowed as
28
+ # a placeholder.
29
+ #
30
+ # @return [Path] URL relative to site root but as an absolute path.
31
+ #
32
+ def relative_url
33
+ parts = url_template.each_component(empty: true).map do |fn|
34
+ fn =~ /^:([A-z0-9_]+)$/ ? data[$1] : fn
35
+ end
36
+ Path '/', parts
37
+ end
38
+
39
+ # Return the site relative target path.
40
+ #
41
+ # The relative target path must be based on the URL.
42
+ #
43
+ # The default implementation joins the relative URL with `index.html` if
44
+ # the relative URL does not have any file extension. Otherwise the
45
+ # relative URL will be returned.
46
+ #
47
+ # @return [Path] Target file path relative to site target path.
48
+ #
49
+ def relative_target_path
50
+ if relative_url.extensions.empty?
51
+ relative_url.join('index.html')
52
+ else
53
+ relative_url
54
+ end
55
+ end
56
+
57
+ # Return full target path.
58
+ #
59
+ # The target path is based on the site target dir and the relative target
60
+ # path. You should not override this method. Instead provide a custom
61
+ # relative target path or URL.
62
+ #
63
+ # @return [Pathname] Fill blob file path.
64
+ #
65
+ def target_path
66
+ site.target.join relative_target_path.as_relative
67
+ end
68
+
69
+ # Return the target file MIME type.
70
+ #
71
+ # The MIME type is determined using the {#relative_target_path} but can be
72
+ # overridden by subclasses.
73
+ #
74
+ # The MIME type is used for post-processing.
75
+ #
76
+ # @return [MIME::Type] MIME type.
77
+ #
78
+ def mime_type
79
+ types = MIME::Types.of relative_target_path.to_s
80
+ types.first
81
+ end
82
+
83
+ # @!group Actions
84
+
85
+ # Write rendered blob to file.
86
+ #
87
+ # Path from {#target_path} will be used as the file path.
88
+ #
89
+ # You should not override this method. Instead provide a custom {#render}
90
+ # method to customize written result.
91
+ #
92
+ def write
93
+ unless ::File.directory?((dir = ::File.dirname(target_path)))
94
+ FileUtils.mkdir_p dir
95
+ end
96
+
97
+ ::File.open target_path, 'w' do |file|
98
+ file.write render
99
+ end
100
+ end
101
+
102
+ def to_s
103
+ "#<#{self.class.name}:#{object_id} #{relative_target_path}>"
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,61 @@
1
+ require 'opt'
2
+
3
+ module Stic
4
+ #
5
+ module CLI
6
+ class << self
7
+ def parser
8
+ @opt ||= ::Opt.new.tap do |opt|
9
+ opt.option '--help, -h'
10
+ opt.option '--version, -v'
11
+ end
12
+ end
13
+
14
+ def run(argv)
15
+ result = parser.parse(argv)
16
+
17
+ if result.version
18
+ $stdout.puts "stic v#{Stic::VERSION}"
19
+ exit 0
20
+ elsif result.help
21
+ help
22
+ exit 0
23
+ else
24
+ result.command.shift.run(result)
25
+ end
26
+ end
27
+
28
+ def help
29
+ $stdout.puts <<-EOF.gsub(/^ {10}/, '')
30
+ NAME
31
+ stic - The static site generator. v#{Stic::VERSION}
32
+
33
+ SYNOPSIS
34
+ stic [command] [options]
35
+
36
+ DESCRIPTION
37
+ stic is a static site generation tool used to generate a set
38
+ of styled and linked HTML pages from different sources
39
+ like markdown.
40
+
41
+ GLOBAL OPTIONS
42
+ --help, -h
43
+ Print this help text.
44
+ --version, -v
45
+ Print stic version.
46
+
47
+ COMMANDS
48
+ EOF
49
+ parser.commands.each do |command|
50
+ $stdout.puts command.to_help
51
+ end
52
+ end
53
+
54
+ require 'stic/cli/command'
55
+
56
+ ::Dir[::File.expand_path('../cli/commands/*.rb', __FILE__)].each do |file|
57
+ require file
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,78 @@
1
+ module Stic
2
+ module CLI
3
+ #
4
+ class Command < ::Opt::Command
5
+ def run(_result)
6
+ raise NotImplementedError.new "Subclass #{self.class.name} to " \
7
+ 'implement custom command.'
8
+ end
9
+
10
+ def site
11
+ @site ||= begin
12
+ Stic::Site.lookup.tap do |site|
13
+ unless site
14
+ puts 'Not in a stic site. You need to run the ' \
15
+ '`stic` command within a stic site.'
16
+ exit 1
17
+ end
18
+ end
19
+ end
20
+ end
21
+
22
+ def to_help
23
+ <<-EOF.gsub(/^ {4}/, '')
24
+ build
25
+ Build current side ot given output path.
26
+
27
+ --target, -t
28
+ Output path the side will be written to. Existing files
29
+ will be overriden and/or deleted. Defaults to `site`
30
+ in project root. (Not yet supported)
31
+ EOF
32
+ end
33
+
34
+ class << self
35
+ def define(name, &block)
36
+ CLI.parser.commands << new(name).tap do |cmd|
37
+ cmd.instance_eval(&block)
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ class Build < Command
44
+ define 'build' do
45
+ option '--target, -t', nargs: 1
46
+ end
47
+
48
+ def run(_result)
49
+ STDOUT.puts " Configuration files: #{site.config.files.join(", ")}"
50
+ STDOUT.puts " Source: #{site.source}"
51
+ STDOUT.puts " Target: #{site.target}"
52
+ STDOUT.print ' Generating ... '
53
+ STDOUT.flush
54
+
55
+ str_length = 0
56
+
57
+ log = lambda do |str|
58
+ STDOUT.print "\r " + ' ' * str_length
59
+ STDOUT.print "\r ... #{str}"
60
+ STDOUT.flush
61
+ str_length = str.length
62
+ end
63
+
64
+ begin
65
+ site.run {|generator| log.call "Running #{generator.class.name}" }
66
+ site.write {|blob| log.call "Write #{blob.relative_url}" }
67
+ site.cleanup
68
+ rescue => e
69
+ STDOUT.puts
70
+ raise e
71
+ end
72
+
73
+ log.call 'done.'
74
+ STDOUT.puts
75
+ end
76
+ end
77
+ end
78
+ end