utopia 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. checksums.yaml +5 -5
  2. data/.codeclimate.yml +1 -0
  3. data/.travis.yml +3 -1
  4. data/Gemfile +2 -0
  5. data/README.md +2 -2
  6. data/Rakefile +19 -7
  7. data/docs/.nojekyll +0 -0
  8. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.apache.css +6 -0
  9. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.applescript.css +5 -0
  10. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.assembly.css +8 -0
  11. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.bash-script.css +6 -0
  12. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.bash.css +10 -0
  13. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.clang.css +3 -0
  14. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.css.css +14 -0
  15. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.diff.css +16 -0
  16. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.html.css +5 -0
  17. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.ocaml.css +3 -0
  18. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.protobuf.css +2 -0
  19. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.python.css +6 -0
  20. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.ruby.css +2 -0
  21. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.xml.css +18 -0
  22. data/docs/_components/jquery-syntax/base/jquery.syntax.core.css +62 -0
  23. data/docs/_components/jquery-syntax/base/jquery.syntax.editor.css +6 -0
  24. data/docs/_components/jquery-syntax/base/theme.js +1 -0
  25. data/docs/_components/jquery-syntax/bright/jquery.syntax.core.css +27 -0
  26. data/docs/_components/jquery-syntax/bright/theme.js +1 -0
  27. data/docs/_components/jquery-syntax/jquery.syntax.brush.apache.js +41 -0
  28. data/docs/_components/jquery-syntax/jquery.syntax.brush.applescript.js +57 -0
  29. data/docs/_components/jquery-syntax/jquery.syntax.brush.assembly.js +37 -0
  30. data/docs/_components/jquery-syntax/jquery.syntax.brush.bash-script.js +67 -0
  31. data/docs/_components/jquery-syntax/jquery.syntax.brush.bash.js +33 -0
  32. data/docs/_components/jquery-syntax/jquery.syntax.brush.basic.js +51 -0
  33. data/docs/_components/jquery-syntax/jquery.syntax.brush.clang.js +89 -0
  34. data/docs/_components/jquery-syntax/jquery.syntax.brush.csharp.js +47 -0
  35. data/docs/_components/jquery-syntax/jquery.syntax.brush.css.js +80 -0
  36. data/docs/_components/jquery-syntax/jquery.syntax.brush.diff.js +24 -0
  37. data/docs/_components/jquery-syntax/jquery.syntax.brush.go.js +47 -0
  38. data/docs/_components/jquery-syntax/jquery.syntax.brush.haskell.js +45 -0
  39. data/docs/_components/jquery-syntax/jquery.syntax.brush.html.js +66 -0
  40. data/docs/_components/jquery-syntax/jquery.syntax.brush.io.js +45 -0
  41. data/docs/_components/jquery-syntax/jquery.syntax.brush.java.js +45 -0
  42. data/docs/_components/jquery-syntax/jquery.syntax.brush.javascript.js +40 -0
  43. data/docs/_components/jquery-syntax/jquery.syntax.brush.kai.js +29 -0
  44. data/docs/_components/jquery-syntax/jquery.syntax.brush.lisp.js +34 -0
  45. data/docs/_components/jquery-syntax/jquery.syntax.brush.lua.js +44 -0
  46. data/docs/_components/jquery-syntax/jquery.syntax.brush.nginx.js +31 -0
  47. data/docs/_components/jquery-syntax/jquery.syntax.brush.ocaml.js +73 -0
  48. data/docs/_components/jquery-syntax/jquery.syntax.brush.ooc.js +46 -0
  49. data/docs/_components/jquery-syntax/jquery.syntax.brush.pascal.js +51 -0
  50. data/docs/_components/jquery-syntax/jquery.syntax.brush.perl5.js +52 -0
  51. data/docs/_components/jquery-syntax/jquery.syntax.brush.php-script.js +48 -0
  52. data/docs/_components/jquery-syntax/jquery.syntax.brush.php.js +15 -0
  53. data/docs/_components/jquery-syntax/jquery.syntax.brush.plain.js +10 -0
  54. data/docs/_components/jquery-syntax/jquery.syntax.brush.protobuf.js +43 -0
  55. data/docs/_components/jquery-syntax/jquery.syntax.brush.python.js +44 -0
  56. data/docs/_components/jquery-syntax/jquery.syntax.brush.ruby.js +77 -0
  57. data/docs/_components/jquery-syntax/jquery.syntax.brush.scala.js +44 -0
  58. data/docs/_components/jquery-syntax/jquery.syntax.brush.smalltalk.js +29 -0
  59. data/docs/_components/jquery-syntax/jquery.syntax.brush.sql.js +31 -0
  60. data/docs/_components/jquery-syntax/jquery.syntax.brush.super-collider.js +57 -0
  61. data/docs/_components/jquery-syntax/jquery.syntax.brush.swift.js +55 -0
  62. data/docs/_components/jquery-syntax/jquery.syntax.brush.trenni.js +35 -0
  63. data/docs/_components/jquery-syntax/jquery.syntax.brush.xml.js +50 -0
  64. data/docs/_components/jquery-syntax/jquery.syntax.brush.yaml.js +29 -0
  65. data/docs/_components/jquery-syntax/jquery.syntax.cache.js +65 -0
  66. data/docs/_components/jquery-syntax/jquery.syntax.core.js +1098 -0
  67. data/docs/_components/jquery-syntax/jquery.syntax.editor.js +291 -0
  68. data/docs/_components/jquery-syntax/jquery.syntax.js +258 -0
  69. data/docs/_components/jquery-syntax/jquery.syntax.min.js +13 -0
  70. data/docs/_components/jquery-syntax/paper/jquery.syntax.core.css +31 -0
  71. data/docs/_components/jquery-syntax/paper/theme.js +1 -0
  72. data/docs/_components/jquery/core.js +482 -0
  73. data/docs/_components/jquery/jquery.js +10220 -0
  74. data/docs/_components/jquery/jquery.min.js +4 -0
  75. data/docs/_components/jquery/jquery.min.map +1 -0
  76. data/docs/_components/jquery/jquery.slim.js +8107 -0
  77. data/docs/_components/jquery/jquery.slim.min.js +4 -0
  78. data/docs/_components/jquery/jquery.slim.min.map +1 -0
  79. data/docs/_static/icon.png +0 -0
  80. data/docs/_static/site.css +205 -0
  81. data/docs/_static/utopia-background.svg +1 -0
  82. data/docs/_static/utopia.svg +1 -0
  83. data/docs/code/Utopia.html +511 -0
  84. data/docs/code/Utopia/Basename.html +654 -0
  85. data/docs/code/Utopia/Bootstrap.html +538 -0
  86. data/docs/code/Utopia/Command.html +207 -0
  87. data/docs/code/Utopia/Command/Environment.html +321 -0
  88. data/docs/code/Utopia/Command/Server.html +214 -0
  89. data/docs/code/Utopia/Command/Server/Create.html +222 -0
  90. data/docs/code/Utopia/Command/Server/Environment.html +236 -0
  91. data/docs/code/Utopia/Command/Server/Update.html +317 -0
  92. data/docs/code/Utopia/Command/Setup.html +145 -0
  93. data/docs/code/Utopia/Command/Setup/Server.html +298 -0
  94. data/docs/code/Utopia/Command/Setup/Site.html +180 -0
  95. data/docs/code/Utopia/Command/Site.html +279 -0
  96. data/docs/code/Utopia/Command/Site/Create.html +324 -0
  97. data/docs/code/Utopia/Command/Site/Update.html +407 -0
  98. data/docs/code/Utopia/Command/Top.html +279 -0
  99. data/docs/code/Utopia/Content.html +826 -0
  100. data/docs/code/Utopia/Content/Document.html +1818 -0
  101. data/docs/code/Utopia/Content/Document/State.html +1220 -0
  102. data/docs/code/Utopia/Content/Link.html +1286 -0
  103. data/docs/code/Utopia/Content/Links.html +841 -0
  104. data/docs/code/Utopia/Content/MarkupParser.html +881 -0
  105. data/docs/code/Utopia/Content/MarkupParser/ParsedTag.html +422 -0
  106. data/docs/code/Utopia/Content/MarkupParser/UnbalancedTagError.html +615 -0
  107. data/docs/code/Utopia/Content/Namespace.html +485 -0
  108. data/docs/code/Utopia/Content/Node.html +1188 -0
  109. data/docs/code/Utopia/Content/Node/Context.html +938 -0
  110. data/docs/code/Utopia/Content/Response.html +813 -0
  111. data/docs/code/Utopia/Content/SymbolicHash.html +419 -0
  112. data/docs/code/Utopia/Content/Tag.html +399 -0
  113. data/docs/code/Utopia/Content/Tags.html +136 -0
  114. data/docs/code/Utopia/Content/Tags/ContentTag.html +187 -0
  115. data/docs/code/Utopia/Content/Tags/DeferredTag.html +193 -0
  116. data/docs/code/Utopia/Content/Tags/Library.html +333 -0
  117. data/docs/code/Utopia/Content/Tags/NodeTag.html +193 -0
  118. data/docs/code/Utopia/Content/UnbalancedTagError.html +298 -0
  119. data/docs/code/Utopia/ContentLength.html +339 -0
  120. data/docs/code/Utopia/Controller.html +901 -0
  121. data/docs/code/Utopia/Controller/Actions.html +289 -0
  122. data/docs/code/Utopia/Controller/Actions/Action.html +978 -0
  123. data/docs/code/Utopia/Controller/Actions/ClassMethods.html +442 -0
  124. data/docs/code/Utopia/Controller/Base.html +1216 -0
  125. data/docs/code/Utopia/Controller/Respond.html +283 -0
  126. data/docs/code/Utopia/Controller/Respond/ClassMethods.html +236 -0
  127. data/docs/code/Utopia/Controller/Respond/Converter.html +256 -0
  128. data/docs/code/Utopia/Controller/Respond/Converter/Callback.html +484 -0
  129. data/docs/code/Utopia/Controller/Respond/Converter/ToJSON.html +375 -0
  130. data/docs/code/Utopia/Controller/Respond/Passthrough.html +291 -0
  131. data/docs/code/Utopia/Controller/Respond/Responder.html +529 -0
  132. data/docs/code/Utopia/Controller/Rewrite.html +290 -0
  133. data/docs/code/Utopia/Controller/Rewrite/ClassMethods.html +242 -0
  134. data/docs/code/Utopia/Controller/Rewrite/ExtractPrefixRule.html +364 -0
  135. data/docs/code/Utopia/Controller/Rewrite/Rewriter.html +464 -0
  136. data/docs/code/Utopia/Controller/Rewrite/Rule.html +209 -0
  137. data/docs/code/Utopia/Controller/Variables.html +550 -0
  138. data/docs/code/Utopia/Controllers.html +244 -0
  139. data/docs/code/Utopia/Exceptions.html +127 -0
  140. data/docs/code/Utopia/Exceptions/Handler.html +526 -0
  141. data/docs/code/Utopia/Exceptions/Mailer.html +476 -0
  142. data/docs/code/Utopia/Extensions.html +117 -0
  143. data/docs/code/Utopia/Extensions/ArraySplit.html +183 -0
  144. data/docs/code/Utopia/Extensions/DateTimeComparison.html +193 -0
  145. data/docs/code/Utopia/Extensions/TimeDateComparison.html +193 -0
  146. data/docs/code/Utopia/HTTP.html +244 -0
  147. data/docs/code/Utopia/HTTP/Status.html +415 -0
  148. data/docs/code/Utopia/Locale.html +606 -0
  149. data/docs/code/Utopia/Localization.html +1235 -0
  150. data/docs/code/Utopia/Localization/Wrapper.html +459 -0
  151. data/docs/code/Utopia/Logger.html +205 -0
  152. data/docs/code/Utopia/Logger/CompactFormatter.html +335 -0
  153. data/docs/code/Utopia/Path.html +3304 -0
  154. data/docs/code/Utopia/Path/Matcher.html +518 -0
  155. data/docs/code/Utopia/Path/Matcher/MatchData.html +475 -0
  156. data/docs/code/Utopia/Redirection.html +145 -0
  157. data/docs/code/Utopia/Redirection/ClientRedirect.html +717 -0
  158. data/docs/code/Utopia/Redirection/DirectoryIndex.html +298 -0
  159. data/docs/code/Utopia/Redirection/Errors.html +470 -0
  160. data/docs/code/Utopia/Redirection/Moved.html +312 -0
  161. data/docs/code/Utopia/Redirection/RequestFailure.html +226 -0
  162. data/docs/code/Utopia/Redirection/Rewrite.html +296 -0
  163. data/docs/code/Utopia/Session.html +883 -0
  164. data/docs/code/Utopia/Session/LazyHash.html +859 -0
  165. data/docs/code/Utopia/Setup.html +964 -0
  166. data/docs/code/Utopia/Static.html +690 -0
  167. data/docs/code/Utopia/Static/LocalFile.html +1098 -0
  168. data/docs/code/Utopia/Static/MimeTypeLoader.html +541 -0
  169. data/docs/code/Utopia/Static/MimeTypeLoader/ExpansionError.html +124 -0
  170. data/docs/code/Utopia/Tags.html +115 -0
  171. data/docs/code/Utopia/Tags/Environment.html +314 -0
  172. data/docs/code/Utopia/Tags/EnvironmentTag.html +314 -0
  173. data/docs/code/Utopia/Tags/Library.html +340 -0
  174. data/docs/code/_index.html +758 -0
  175. data/docs/code/class_list.html +51 -0
  176. data/docs/code/css/common.css +1 -0
  177. data/docs/code/css/full_list.css +58 -0
  178. data/docs/code/css/style.css +499 -0
  179. data/docs/code/file.README.html +169 -0
  180. data/docs/code/file_list.html +56 -0
  181. data/docs/code/frames.html +17 -0
  182. data/docs/code/index.html +169 -0
  183. data/docs/code/js/app.js +248 -0
  184. data/docs/code/js/full_list.js +216 -0
  185. data/docs/code/js/jquery.js +4 -0
  186. data/docs/code/materials/utopia.png +0 -0
  187. data/docs/code/materials/utopia.svg +1 -0
  188. data/docs/code/method_list.html +3443 -0
  189. data/docs/code/top-level-namespace.html +110 -0
  190. data/docs/index.html +92 -0
  191. data/docs/wiki.html +92 -0
  192. data/docs/wiki/bower-integration.html +74 -0
  193. data/docs/wiki/bower-integration/index.html +74 -0
  194. data/docs/wiki/development-environment-setup.html +60 -0
  195. data/docs/wiki/development-environment-setup/index.html +60 -0
  196. data/docs/wiki/edit.html +103 -0
  197. data/docs/wiki/faq/what-is-xnode.html +79 -0
  198. data/docs/wiki/faq/what-is-xnode/index.html +79 -0
  199. data/docs/wiki/middleware/content.html +64 -0
  200. data/docs/wiki/middleware/content/index.html +64 -0
  201. data/docs/wiki/middleware/controller.html +104 -0
  202. data/docs/wiki/middleware/controller/actions.html +117 -0
  203. data/docs/wiki/middleware/controller/actions/index.html +117 -0
  204. data/docs/wiki/middleware/controller/actions/rewrite/index.html +48 -0
  205. data/docs/wiki/middleware/controller/index.html +104 -0
  206. data/docs/wiki/middleware/controller/rewrite.html +111 -0
  207. data/docs/wiki/middleware/controller/rewrite/index.html +111 -0
  208. data/docs/wiki/middleware/localization.html +59 -0
  209. data/docs/wiki/middleware/localization/index.html +59 -0
  210. data/docs/wiki/middleware/redirection.html +61 -0
  211. data/docs/wiki/middleware/redirection/index.html +61 -0
  212. data/docs/wiki/middleware/session.html +71 -0
  213. data/docs/wiki/middleware/session/index.html +71 -0
  214. data/docs/wiki/middleware/static.html +57 -0
  215. data/docs/wiki/middleware/static/index.html +57 -0
  216. data/docs/wiki/server-setup.html +118 -0
  217. data/docs/wiki/server-setup/index.html +118 -0
  218. data/docs/wiki/testing.html +59 -0
  219. data/docs/wiki/testing/index.html +59 -0
  220. data/docs/wiki/updating-utopia.html +108 -0
  221. data/docs/wiki/updating-utopia/index.html +108 -0
  222. data/docs/wiki/your-first-page.html +80 -0
  223. data/docs/wiki/your-first-page/index.html +80 -0
  224. data/documentation/Guardfile +0 -12
  225. data/documentation/Rakefile +3 -0
  226. data/documentation/pages/_page.xnode +2 -0
  227. data/documentation/pages/wiki/content.md +1 -0
  228. data/documentation/pages/wiki/faq/what-is-xnode/content.md +37 -0
  229. data/documentation/pages/wiki/links.yaml +3 -1
  230. data/documentation/pages/wiki/server-setup/content.md +1 -1
  231. data/documentation/pages/wiki/show.xnode +2 -0
  232. data/documentation/pages/wiki/your-first-page/content.md +1 -1
  233. data/lib/utopia/command.rb +4 -4
  234. data/lib/utopia/command/environment.rb +73 -0
  235. data/lib/utopia/command/server.rb +19 -32
  236. data/lib/utopia/command/site.rb +26 -9
  237. data/lib/utopia/content/markup.rb +1 -1
  238. data/lib/utopia/setup.rb +49 -20
  239. data/lib/utopia/version.rb +1 -1
  240. data/setup/site/README.md +6 -7
  241. data/setup/site/Rakefile +3 -0
  242. data/setup/site/pages/_page.xnode +1 -1
  243. data/setup/site/public/_static/site.css +1 -1
  244. data/setup/site/tasks/bower.rake +3 -6
  245. data/setup/site/tasks/deploy.rake +1 -1
  246. data/setup/site/tasks/development.rake +1 -1
  247. data/setup/site/tasks/environment.rake +2 -2
  248. data/setup/site/tasks/static.rake +43 -0
  249. data/spec/utopia/command_spec.rb +170 -0
  250. data/spec/utopia/setup_spec.rb +20 -142
  251. metadata +225 -42
  252. data/documentation/public/_components/jquery-syntax/.sass-cache/040afc1428b286fb3c50151378b349a6149698d3/jquery.syntax.core.sassc +0 -0
  253. data/documentation/public/_components/jquery-syntax/.sass-cache/098642d80a1682613dca2bba6fd0a3bc9fd2bf04/jquery.syntax.layout.editor.sassc +0 -0
  254. data/documentation/public/_components/jquery-syntax/.sass-cache/098642d80a1682613dca2bba6fd0a3bc9fd2bf04/jquery.syntax.layout.fixed.sassc +0 -0
  255. data/documentation/public/_components/jquery-syntax/.sass-cache/098642d80a1682613dca2bba6fd0a3bc9fd2bf04/jquery.syntax.layout.inline.sassc +0 -0
  256. data/documentation/public/_components/jquery-syntax/.sass-cache/098642d80a1682613dca2bba6fd0a3bc9fd2bf04/jquery.syntax.layout.list.sassc +0 -0
  257. data/documentation/public/_components/jquery-syntax/.sass-cache/098642d80a1682613dca2bba6fd0a3bc9fd2bf04/jquery.syntax.layout.plain.sassc +0 -0
  258. data/documentation/public/_components/jquery-syntax/.sass-cache/098642d80a1682613dca2bba6fd0a3bc9fd2bf04/jquery.syntax.layout.table.sassc +0 -0
  259. data/documentation/public/_components/jquery-syntax/.sass-cache/10c58b30c53bf84f8360af8a864797092be26882/jquery.syntax.core.sassc +0 -0
  260. data/documentation/public/_components/jquery-syntax/.sass-cache/10c58b30c53bf84f8360af8a864797092be26882/jquery.syntax.layout.fixed.sassc +0 -0
  261. data/documentation/public/_components/jquery-syntax/.sass-cache/10c58b30c53bf84f8360af8a864797092be26882/jquery.syntax.layout.inline.sassc +0 -0
  262. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/_layout.scssc +0 -0
  263. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.apache.sassc +0 -0
  264. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.applescript.sassc +0 -0
  265. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.assembly.sassc +0 -0
  266. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.bash-script.sassc +0 -0
  267. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.bash.sassc +0 -0
  268. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.clang.sassc +0 -0
  269. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.css.sassc +0 -0
  270. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.diff.sassc +0 -0
  271. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.html.sassc +0 -0
  272. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.ocaml.sassc +0 -0
  273. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.protobuf.sassc +0 -0
  274. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.python.sassc +0 -0
  275. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.ruby.sassc +0 -0
  276. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.xml.sassc +0 -0
  277. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.core.sassc +0 -0
  278. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.editor.sassc +0 -0
  279. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.layout.editor.sassc +0 -0
  280. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.layout.fixed.sassc +0 -0
  281. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.layout.list.sassc +0 -0
  282. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.layout.plain.sassc +0 -0
  283. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.layout.table.sassc +0 -0
  284. data/documentation/public/_components/jquery-syntax/.sass-cache/8638ad407c5ea29f6547cf8ac6983da587354889/master.sassc +0 -0
  285. data/documentation/public/_components/jquery-syntax/.sass-cache/b7ab87e6269b4fe89f9475b7a260077391d3567b/jquery.syntax.layout.editor.sassc +0 -0
  286. data/documentation/public/_components/jquery-syntax/.sass-cache/b7ab87e6269b4fe89f9475b7a260077391d3567b/jquery.syntax.layout.fixed.sassc +0 -0
  287. data/documentation/public/_components/jquery-syntax/.sass-cache/b7ab87e6269b4fe89f9475b7a260077391d3567b/jquery.syntax.layout.inline.sassc +0 -0
  288. data/documentation/public/_components/jquery-syntax/.sass-cache/b7ab87e6269b4fe89f9475b7a260077391d3567b/jquery.syntax.layout.plain.sassc +0 -0
  289. data/documentation/public/_components/jquery-syntax/.sass-cache/e82f8cf4c8436da086a4506e01ef78755ebab1ce/master.scssc +0 -0
  290. data/lib/utopia/command/setup.rb +0 -78
@@ -0,0 +1,59 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+
5
+ <title>Testing - Utopia</title>
6
+
7
+ <meta charset="UTF-8"/>
8
+
9
+ <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"/>
10
+
11
+ <link rel="icon" type="image/png" href="../_static/icon.png"/>
12
+ <link rel="stylesheet" href="../_static/site.css" type="text/css" media="screen"/>
13
+
14
+ <script src="../_components/jquery/jquery.min.js"></script>
15
+ <script src="../_components/jquery-syntax/jquery.syntax.min.js"></script>
16
+
17
+ <script type="text/javascript">
18
+ //<![CDATA[
19
+ jQuery(function($) {
20
+ $.syntax();
21
+ });
22
+ //]]>
23
+ </script>
24
+ </head>
25
+
26
+ <body class="">
27
+ <header>
28
+ <img src="../_static/utopia.svg"/>
29
+ </header>
30
+
31
+ <div id="page">
32
+
33
+ <nav>
34
+ › <a href="../wiki.html">Wiki</a> › <a href="testing.html">Testing</a></nav>
35
+
36
+
37
+ <h1 id="testing">Testing</h1>
38
+
39
+ <p>Utopia websites include a default set of tests, and associated <code>rake test</code> tasks. These specs can test against the actual running website. By default, <code>simplecov</code> is included for coverage testing.</p>
40
+
41
+ <pre><code class="language-bash">$ rake coverage test
42
+
43
+ my website
44
+ should have an accessible front page
45
+
46
+ Finished in 0.44849 seconds (files took 0.15547 seconds to load)
47
+ 1 example, 0 failures
48
+
49
+ Coverage report generated for RSpec. 5 / 5 LOC (100.0%) covered.
50
+ </code></pre>
51
+
52
+
53
+ <footer>
54
+ Last Modified: 2016-12-13 12:41:41 +1300 —
55
+ </footer>
56
+
57
+ </div>
58
+ </body>
59
+ </html>
@@ -0,0 +1,59 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+
5
+ <title>Testing - Utopia</title>
6
+
7
+ <meta charset="UTF-8"/>
8
+
9
+ <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"/>
10
+
11
+ <link rel="icon" type="image/png" href="../../_static/icon.png"/>
12
+ <link rel="stylesheet" href="../../_static/site.css" type="text/css" media="screen"/>
13
+
14
+ <script src="../../_components/jquery/jquery.min.js"></script>
15
+ <script src="../../_components/jquery-syntax/jquery.syntax.min.js"></script>
16
+
17
+ <script type="text/javascript">
18
+ //<![CDATA[
19
+ jQuery(function($) {
20
+ $.syntax();
21
+ });
22
+ //]]>
23
+ </script>
24
+ </head>
25
+
26
+ <body class="">
27
+ <header>
28
+ <img src="../../_static/utopia.svg"/>
29
+ </header>
30
+
31
+ <div id="page">
32
+
33
+ <nav>
34
+ › <a href="../../wiki.html">Wiki</a> › <a href="../testing.html">Testing</a></nav>
35
+
36
+
37
+ <h1 id="testing">Testing</h1>
38
+
39
+ <p>Utopia websites include a default set of tests, and associated <code>rake test</code> tasks. These specs can test against the actual running website. By default, <code>simplecov</code> is included for coverage testing.</p>
40
+
41
+ <pre><code class="language-bash">$ rake coverage test
42
+
43
+ my website
44
+ should have an accessible front page
45
+
46
+ Finished in 0.44849 seconds (files took 0.15547 seconds to load)
47
+ 1 example, 0 failures
48
+
49
+ Coverage report generated for RSpec. 5 / 5 LOC (100.0%) covered.
50
+ </code></pre>
51
+
52
+
53
+ <footer>
54
+ Last Modified: 2016-12-13 12:41:41 +1300 —
55
+ </footer>
56
+
57
+ </div>
58
+ </body>
59
+ </html>
@@ -0,0 +1,108 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+
5
+ <title>Updating Utopia - Utopia</title>
6
+
7
+ <meta charset="UTF-8"/>
8
+
9
+ <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"/>
10
+
11
+ <link rel="icon" type="image/png" href="../_static/icon.png"/>
12
+ <link rel="stylesheet" href="../_static/site.css" type="text/css" media="screen"/>
13
+
14
+ <script src="../_components/jquery/jquery.min.js"></script>
15
+ <script src="../_components/jquery-syntax/jquery.syntax.min.js"></script>
16
+
17
+ <script type="text/javascript">
18
+ //<![CDATA[
19
+ jQuery(function($) {
20
+ $.syntax();
21
+ });
22
+ //]]>
23
+ </script>
24
+ </head>
25
+
26
+ <body class="">
27
+ <header>
28
+ <img src="../_static/utopia.svg"/>
29
+ </header>
30
+
31
+ <div id="page">
32
+
33
+ <nav>
34
+ › <a href="../wiki.html">Wiki</a> › <a href="updating-utopia.html">Updating Utopia</a></nav>
35
+
36
+
37
+ <h1 id="updating-utopia">Updating Utopia</h1>
38
+
39
+ <p>Utopia provides a model for both local development (<code>utopia site create</code>) and deployment (<code>utopia server create</code>). In addition, Utopia provides a basic upgrade path for existing sites when things within the framework change. These are not always automatic, so below are some recipes for how to update your site.</p>
40
+
41
+ <h2 id="site-update">Site Update</h2>
42
+
43
+ <p>Utopia as a framework introduces changes and versions change according to semantic versioning.</p>
44
+
45
+ <h3 id="controller-update-19x-to-2x">Controller Update 1.9.x to 2.x</h3>
46
+
47
+ <p>The controller layer no longer automatically prepends the <code>Actions</code> layer. The following program does a best effort attempt to update existing controllers:</p>
48
+
49
+ <pre><code class="language-ruby">#!/usr/bin/env ruby
50
+
51
+ paths = Dir.glob("**/controller.rb")
52
+
53
+ paths.each do |path|
54
+ lines = File.readlines(path)
55
+
56
+ prepend_line_index = lines.first(5).find_index{|line| line =~ /prepend/}
57
+
58
+ unless prepend_line_index
59
+ puts "Updating #{path}.."
60
+ File.open(path, "w") do |file|
61
+ file.puts "\nprepend Actions"
62
+ file.write lines.join
63
+ end
64
+ else
65
+ prepend_line = lines[prepend_line_index]
66
+
67
+ unless prepend_line =~ /Actions/
68
+ if lines.any?{|line| line =~ /on/}
69
+ lines[prepend_line_index] = "#{prepend_line.chomp}, Actions\n"
70
+
71
+ puts "Updating #{path}.."
72
+ File.open(path, "w") do |file|
73
+ file.write lines.join
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+ </code></pre>
80
+
81
+ <h3 id="view-update-19x-to-2x">View Update 1.9.x to 2.x</h3>
82
+
83
+ <p>Dynamic tags in 2.x require namespaces. This affects all <code>.xnode</code> files, in particular the following 3 cases:</p>
84
+
85
+ <ol>
86
+ <li>Rewrite <code>&lt;(/?)(NAME)(\W)</code> to <code>&lt;$1content:$2$3</code> where NAME is a tag which would expand using a <code>_NAME.xnode</code> file.</li>
87
+ <li>Rewrite <code>&lt;content/&gt;</code> to <code>&lt;utopia:content/&gt;</code>. This affects <code>&lt;node&gt;</code>, <code>&lt;deferred&gt;</code>, <code>&lt;environment&gt;</code> tags.</li>
88
+ <li>Rewrite <code>partial 'NAME'</code> to be <code>partial 'content:NAME'</code>.</li>
89
+ </ol>
90
+
91
+ <h2 id="server-update">Server Update</h2>
92
+
93
+ <p>The utopia server git hooks are updated occasionally to improve the deployment process or to handle changes in the underlying process.</p>
94
+
95
+ <p>You can run the update process on the server to bring the git hooks up to the latest version.</p>
96
+
97
+ <pre><code class="language-bash">$ cd /srv/http/website
98
+ $ utopia server update
99
+ </code></pre>
100
+
101
+
102
+ <footer>
103
+ Last Modified: 2017-06-22 15:25:56 +1200 —
104
+ </footer>
105
+
106
+ </div>
107
+ </body>
108
+ </html>
@@ -0,0 +1,108 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+
5
+ <title>Updating Utopia - Utopia</title>
6
+
7
+ <meta charset="UTF-8"/>
8
+
9
+ <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"/>
10
+
11
+ <link rel="icon" type="image/png" href="../../_static/icon.png"/>
12
+ <link rel="stylesheet" href="../../_static/site.css" type="text/css" media="screen"/>
13
+
14
+ <script src="../../_components/jquery/jquery.min.js"></script>
15
+ <script src="../../_components/jquery-syntax/jquery.syntax.min.js"></script>
16
+
17
+ <script type="text/javascript">
18
+ //<![CDATA[
19
+ jQuery(function($) {
20
+ $.syntax();
21
+ });
22
+ //]]>
23
+ </script>
24
+ </head>
25
+
26
+ <body class="">
27
+ <header>
28
+ <img src="../../_static/utopia.svg"/>
29
+ </header>
30
+
31
+ <div id="page">
32
+
33
+ <nav>
34
+ › <a href="../../wiki.html">Wiki</a> › <a href="../updating-utopia.html">Updating Utopia</a></nav>
35
+
36
+
37
+ <h1 id="updating-utopia">Updating Utopia</h1>
38
+
39
+ <p>Utopia provides a model for both local development (<code>utopia site create</code>) and deployment (<code>utopia server create</code>). In addition, Utopia provides a basic upgrade path for existing sites when things within the framework change. These are not always automatic, so below are some recipes for how to update your site.</p>
40
+
41
+ <h2 id="site-update">Site Update</h2>
42
+
43
+ <p>Utopia as a framework introduces changes and versions change according to semantic versioning.</p>
44
+
45
+ <h3 id="controller-update-19x-to-2x">Controller Update 1.9.x to 2.x</h3>
46
+
47
+ <p>The controller layer no longer automatically prepends the <code>Actions</code> layer. The following program does a best effort attempt to update existing controllers:</p>
48
+
49
+ <pre><code class="language-ruby">#!/usr/bin/env ruby
50
+
51
+ paths = Dir.glob("**/controller.rb")
52
+
53
+ paths.each do |path|
54
+ lines = File.readlines(path)
55
+
56
+ prepend_line_index = lines.first(5).find_index{|line| line =~ /prepend/}
57
+
58
+ unless prepend_line_index
59
+ puts "Updating #{path}.."
60
+ File.open(path, "w") do |file|
61
+ file.puts "\nprepend Actions"
62
+ file.write lines.join
63
+ end
64
+ else
65
+ prepend_line = lines[prepend_line_index]
66
+
67
+ unless prepend_line =~ /Actions/
68
+ if lines.any?{|line| line =~ /on/}
69
+ lines[prepend_line_index] = "#{prepend_line.chomp}, Actions\n"
70
+
71
+ puts "Updating #{path}.."
72
+ File.open(path, "w") do |file|
73
+ file.write lines.join
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+ </code></pre>
80
+
81
+ <h3 id="view-update-19x-to-2x">View Update 1.9.x to 2.x</h3>
82
+
83
+ <p>Dynamic tags in 2.x require namespaces. This affects all <code>.xnode</code> files, in particular the following 3 cases:</p>
84
+
85
+ <ol>
86
+ <li>Rewrite <code>&lt;(/?)(NAME)(\W)</code> to <code>&lt;$1content:$2$3</code> where NAME is a tag which would expand using a <code>_NAME.xnode</code> file.</li>
87
+ <li>Rewrite <code>&lt;content/&gt;</code> to <code>&lt;utopia:content/&gt;</code>. This affects <code>&lt;node&gt;</code>, <code>&lt;deferred&gt;</code>, <code>&lt;environment&gt;</code> tags.</li>
88
+ <li>Rewrite <code>partial 'NAME'</code> to be <code>partial 'content:NAME'</code>.</li>
89
+ </ol>
90
+
91
+ <h2 id="server-update">Server Update</h2>
92
+
93
+ <p>The utopia server git hooks are updated occasionally to improve the deployment process or to handle changes in the underlying process.</p>
94
+
95
+ <p>You can run the update process on the server to bring the git hooks up to the latest version.</p>
96
+
97
+ <pre><code class="language-bash">$ cd /srv/http/website
98
+ $ utopia server update
99
+ </code></pre>
100
+
101
+
102
+ <footer>
103
+ Last Modified: 2017-06-22 15:25:56 +1200 —
104
+ </footer>
105
+
106
+ </div>
107
+ </body>
108
+ </html>
@@ -0,0 +1,80 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+
5
+ <title>Your First Page - Utopia</title>
6
+
7
+ <meta charset="UTF-8"/>
8
+
9
+ <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"/>
10
+
11
+ <link rel="icon" type="image/png" href="../_static/icon.png"/>
12
+ <link rel="stylesheet" href="../_static/site.css" type="text/css" media="screen"/>
13
+
14
+ <script src="../_components/jquery/jquery.min.js"></script>
15
+ <script src="../_components/jquery-syntax/jquery.syntax.min.js"></script>
16
+
17
+ <script type="text/javascript">
18
+ //<![CDATA[
19
+ jQuery(function($) {
20
+ $.syntax();
21
+ });
22
+ //]]>
23
+ </script>
24
+ </head>
25
+
26
+ <body class="">
27
+ <header>
28
+ <img src="../_static/utopia.svg"/>
29
+ </header>
30
+
31
+ <div id="page">
32
+
33
+ <nav>
34
+ › <a href="../wiki.html">Wiki</a> › <a href="your-first-page.html">Your First Page</a></nav>
35
+
36
+
37
+ <h1 id="your-first-page">Your First Page</h1>
38
+
39
+ <p>To setup the default site, simply create a directory and use the <code>utopia</code> command:</p>
40
+
41
+ <pre><code class="language-bash">$ mkdir www.example.com
42
+ $ cd www.example.com
43
+ $ utopia site create
44
+ $ rake server
45
+ </code></pre>
46
+
47
+ <p>You will now have a basic template site running on <code>http://localhost:9292</code>.</p>
48
+
49
+ <h2 id="welcome-page">Welcome Page</h2>
50
+
51
+ <p>Utopia includes a redirection middleware to redirect all root-level requests to a given URI. The default being <code>/welcome/index</code>:</p>
52
+
53
+ <pre><code class="language-ruby"># in config.ru
54
+
55
+ use Utopia::Redirection::Rewrite,
56
+ '/' =&gt; '/welcome/index'
57
+ </code></pre>
58
+
59
+ <p>This page includes a basic overview of Utopia. Most of it’s standard HTML, except for the outer <code>&lt;content:page&gt;</code> tag. Utopia uses the name <code>page</code> to lookup the file-system hierarchy. First, it looks for <code>/welcome/_page.xnode</code>, and then it looks for <code>/_page.xnode</code> which it finds. This page template includes a tag <code>&lt;utopia:content/&gt;</code> which is replaced with the inner body of the <code>&lt;content:page&gt;</code> tag. This recursive lookup is the heart of Utopia.</p>
60
+
61
+ <h2 id="links">Links</h2>
62
+
63
+ <p>Utopia is a content-centric web application platform. It leverages the file-system to provide a mapping between logical resources and files on disk. The primary mode of mapping incoming requests to specific nodes (content) is done using the <code>links.yaml</code> file.</p>
64
+
65
+ <p>The links file associates metadata with node names for a given directory. This can include things like redirects, titles, descriptions, etc. You can add any metadata you like, to support your specific use-case. The primary use of the links files is to provide site structure, e.g. menus. In addition, they can function as a rudimentary data-store for static information, e.g. a list of applications (each with it’s own page), a list of features, etc.</p>
66
+
67
+ <p>You’ll notice that there is a file <code>/links.yaml</code>. This file contains important metadata relating to the <code>errors</code> subdirectory. As we don’t want these nodes showing up in a top level menu, we mark them as <code>display: false</code></p>
68
+
69
+ <pre><code class="language-yaml">errors:
70
+ display: false
71
+ </code></pre>
72
+
73
+
74
+ <footer>
75
+ Last Modified: 2017-11-11 02:12:21 +1300 —
76
+ </footer>
77
+
78
+ </div>
79
+ </body>
80
+ </html>
@@ -0,0 +1,80 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+
5
+ <title>Your First Page - Utopia</title>
6
+
7
+ <meta charset="UTF-8"/>
8
+
9
+ <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"/>
10
+
11
+ <link rel="icon" type="image/png" href="../../_static/icon.png"/>
12
+ <link rel="stylesheet" href="../../_static/site.css" type="text/css" media="screen"/>
13
+
14
+ <script src="../../_components/jquery/jquery.min.js"></script>
15
+ <script src="../../_components/jquery-syntax/jquery.syntax.min.js"></script>
16
+
17
+ <script type="text/javascript">
18
+ //<![CDATA[
19
+ jQuery(function($) {
20
+ $.syntax();
21
+ });
22
+ //]]>
23
+ </script>
24
+ </head>
25
+
26
+ <body class="">
27
+ <header>
28
+ <img src="../../_static/utopia.svg"/>
29
+ </header>
30
+
31
+ <div id="page">
32
+
33
+ <nav>
34
+ › <a href="../../wiki.html">Wiki</a> › <a href="../your-first-page.html">Your First Page</a></nav>
35
+
36
+
37
+ <h1 id="your-first-page">Your First Page</h1>
38
+
39
+ <p>To setup the default site, simply create a directory and use the <code>utopia</code> command:</p>
40
+
41
+ <pre><code class="language-bash">$ mkdir www.example.com
42
+ $ cd www.example.com
43
+ $ utopia site create
44
+ $ rake server
45
+ </code></pre>
46
+
47
+ <p>You will now have a basic template site running on <code>http://localhost:9292</code>.</p>
48
+
49
+ <h2 id="welcome-page">Welcome Page</h2>
50
+
51
+ <p>Utopia includes a redirection middleware to redirect all root-level requests to a given URI. The default being <code>/welcome/index</code>:</p>
52
+
53
+ <pre><code class="language-ruby"># in config.ru
54
+
55
+ use Utopia::Redirection::Rewrite,
56
+ '/' =&gt; '/welcome/index'
57
+ </code></pre>
58
+
59
+ <p>This page includes a basic overview of Utopia. Most of it’s standard HTML, except for the outer <code>&lt;content:page&gt;</code> tag. Utopia uses the name <code>page</code> to lookup the file-system hierarchy. First, it looks for <code>/welcome/_page.xnode</code>, and then it looks for <code>/_page.xnode</code> which it finds. This page template includes a tag <code>&lt;utopia:content/&gt;</code> which is replaced with the inner body of the <code>&lt;content:page&gt;</code> tag. This recursive lookup is the heart of Utopia.</p>
60
+
61
+ <h2 id="links">Links</h2>
62
+
63
+ <p>Utopia is a content-centric web application platform. It leverages the file-system to provide a mapping between logical resources and files on disk. The primary mode of mapping incoming requests to specific nodes (content) is done using the <code>links.yaml</code> file.</p>
64
+
65
+ <p>The links file associates metadata with node names for a given directory. This can include things like redirects, titles, descriptions, etc. You can add any metadata you like, to support your specific use-case. The primary use of the links files is to provide site structure, e.g. menus. In addition, they can function as a rudimentary data-store for static information, e.g. a list of applications (each with it’s own page), a list of features, etc.</p>
66
+
67
+ <p>You’ll notice that there is a file <code>/links.yaml</code>. This file contains important metadata relating to the <code>errors</code> subdirectory. As we don’t want these nodes showing up in a top level menu, we mark them as <code>display: false</code></p>
68
+
69
+ <pre><code class="language-yaml">errors:
70
+ display: false
71
+ </code></pre>
72
+
73
+
74
+ <footer>
75
+ Last Modified: 2017-11-11 02:12:21 +1300 —
76
+ </footer>
77
+
78
+ </div>
79
+ </body>
80
+ </html>