utopia 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
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,60 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+
5
+ <title>Development Environment Setup - 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="../development-environment-setup.html">Development Environment Setup</a></nav>
35
+
36
+
37
+ <h1 id="development-environment-setup">Development Environment Setup</h1>
38
+
39
+ <p>Utopia is built on Ruby and Rack. Therefore, Ruby (suggested 2.0+) should be installed and working. Then, simply run:</p>
40
+
41
+ <pre><code class="language-bash">$ gem install utopia
42
+ </code></pre>
43
+
44
+ <p>To install all required dependencies.</p>
45
+
46
+ <p>Utopia and it’s dependencies are built on Linux and Mac by default, and therefore compatibility with Windows is not guaranteed.</p>
47
+
48
+ <h2 id="atom-integration">Atom Integration</h2>
49
+
50
+ <p>Utopia uses <a href="https://github.com/ioquatix/trenni">Trenni</a> for templates and it has a syntax slightly different from ERB. However, there is a <a href="https://atom.io/packages/language-trenni">package for Atom</a> which provides accurate syntax highlighting.</p>
51
+
52
+
53
+
54
+ <footer>
55
+ Last Modified: 2016-12-07 17:37:12 +1300 —
56
+ </footer>
57
+
58
+ </div>
59
+ </body>
60
+ </html>
@@ -0,0 +1,103 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+
5
+ <title>Editing Wiki</title>
6
+
7
+ <link rel="icon" type="image/png" href="../_static/icon.png"/>
8
+ <link rel="stylesheet" href="../_static/site.css" type="text/css" media="screen"/>
9
+
10
+ <script src="../_components/jquery/jquery.min.js"></script>
11
+
12
+ <style type="text/css">
13
+ .editor form {
14
+ position: absolute;
15
+
16
+ display: flex;
17
+ flex-direction: column;
18
+ align-items: center;
19
+
20
+ width: 100%;
21
+ height: 100%;
22
+ }
23
+
24
+ .editor .header {
25
+ flex-grow: 0;
26
+ width: 100%;
27
+
28
+ display: flex;
29
+ justify-content: space-between;
30
+ align-items: center;
31
+
32
+ box-shadow: 0px 1px 0.5rem rgba(0, 0, 0, 0.5);
33
+ z-index: 10;
34
+ }
35
+
36
+ .editor .header * {
37
+ margin: 0.5rem;
38
+ }
39
+
40
+ .editor textarea {
41
+ flex-grow: 1;
42
+ width: 100%;
43
+
44
+ resize: none;
45
+ outline: none;
46
+
47
+ box-sizing: border-box;
48
+ margin: 0; padding: 0.5rem;
49
+
50
+ border: none;
51
+ background: none;
52
+ }
53
+ </style>
54
+ </head>
55
+
56
+ <body class="editor">
57
+
58
+ <form action="edit.html#" method="post">
59
+ <div class="header">
60
+ <div>Editing &quot;Wiki&quot;</div>
61
+ <input type="submit"/>
62
+ </div>
63
+
64
+ <textarea name="content"># Utopia Documentation Wiki
65
+
66
+ This wiki includes documentation and examples showing how to use Utopia. You can also browse the [code documentation](/code/index.html) for more detail. Feel free to [edit](edit) any part of this documentation and submit a PR.
67
+
68
+ ## Introduction Guide
69
+
70
+ Reading these pages in order will give you an overview of the design of Utopia, how to set it up for local development and how to deploy it.
71
+
72
+ - [Development Environment Setup](development-environment-setup/)
73
+ - [Server Setup](server-setup/)
74
+ - [Your First Page](your-first-page/)
75
+ - [What is `.xnode`?](faq/what-is-xnode/)
76
+ - [Installing JavaScript Libraries](bower-integration/)
77
+ - [Website Tests](testing/)
78
+ - [Updating Your Site](updating-utopia/)
79
+
80
+ ## Middleware
81
+
82
+ The following are Rack Middleware which provide the core of Utopia.
83
+
84
+ - [Static](middleware/static/) — Serve static files efficiently.
85
+ - [Redirection](middleware/redirection/) — Redirect URL patterns and status codes.
86
+ - [Localization](middleware/localization/) — Non-intrusive localization of resources.
87
+ - [Controller](middleware/controller/) — Flexible nested controllers with efficient behaviour.
88
+ - [Controller Actions](middleware/controller/actions/) — Invoke named actions.
89
+ - [Controller Rewrite](middleware/controller/rewrite/) — Pattern match requests.
90
+ - [Content](middleware/content/) — XML-style template engine with dynamic markup.
91
+ - [Session](middleware/session/) — Session storage using encrypted client-side cookies.
92
+
93
+ ## Examples
94
+
95
+ Here are some open-source sites built on Utopia.
96
+
97
+ - [www.codeotaku.com](http://www.codeotaku.com) ([source](https://github.com/ioquatix/www.codeotaku.com)) — Personal website, blog.
98
+ - Financier ([source](https://github.com/ioquatix/financier)) — Small business management platform, invoicing.
99
+ </textarea>
100
+ </form>
101
+
102
+ </body>
103
+ </html>
@@ -0,0 +1,79 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+
5
+ <title>What Is Xnode - 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> › <span>FAQ</span> › <a href="what-is-xnode.html">What Is Xnode</a></nav>
35
+
36
+
37
+ <h1 id="what-is-xnode">What Is <code>.xnode</code>?</h1>
38
+
39
+ <p>Xnodes are the files on disk which are used as part of Utopia’s content/view layer. Xnode templates are designed to maximise the ratio of content to markup. They improve separation of concerns and semantic organisation because repeated markup can be reused easily.</p>
40
+
41
+ <p>Here is a example of a blog post:</p>
42
+
43
+ <pre><code class="language-xml">&lt;content:entry title=&quot;My day as a fish&quot;&gt;
44
+ &lt;p&gt;It was not very exciting&lt;/p&gt;
45
+ &lt;/content:entry&gt;
46
+ </code></pre>
47
+
48
+ <p>The <code>Utopia::Content</code> middleware is built on top of the <a href="https://github.com/ioquatix/trenni">Trenni</a> template language which uses two-phase evaluation.</p>
49
+
50
+ <h2 id="phase-1-evaluation">Phase 1: Evaluation</h2>
51
+
52
+ <p>Trenni processes the view content by evaluation <code>#{expressions}</code> and <code>&lt;?r statements ?&gt;</code>. This generates an output buffer. The output buffer should contain valid markup (i.e. balanced tags, no invalid characters).</p>
53
+
54
+ <h2 id="phase-2-markup">Phase 2: Markup</h2>
55
+
56
+ <p>Once the template is evaluated to text, it is parsed again into an event stream which is used to generate the final output. The event stream contains things like “open tag”, “attribute”, “close tag”, and so on, and these are fed into the <code>Utopia::Content</code> middleware which generates the actual content. Tags without namespaces are output verbatim, while tags with namespaces invoke the tag lookup machinery. This uses the tag name to invoke further behaviour, e.g. inserting more content. Here is a simple example of a basic page:</p>
57
+
58
+ <pre><code class="language-xml">&lt;content:page&gt;
59
+ &lt;content:heading&gt;Welcome to my page&lt;/content:heading&gt;
60
+
61
+ &lt;p&gt;This page is so awesome&lt;/p&gt;
62
+ &lt;/content:page&gt;
63
+ </code></pre>
64
+
65
+ <p>In order to render this, you will need two additional files, <code>_page.xnode</code> and <code>_heading.xnode</code>. As a short example, <code>_heading.xnode</code> might look like this:</p>
66
+
67
+ <pre><code class="language-xml">&lt;h1&gt;&lt;utopia:content/&gt;&lt;/h1&gt;
68
+ </code></pre>
69
+
70
+ <p>When the parser encounters <code>&lt;content:heading&gt;...</code> in the main page, it would evaluate the above template. <code>&lt;utopia:content/&gt;</code> is a special tag that evaluates to the content that the parent tag provided, so in this case: <code>"Welcome to my page"</code>. Thus, the final output is <code>&lt;h1&gt;Welcome to my page&lt;/h1&gt;</code>.</p>
71
+
72
+
73
+ <footer>
74
+ Last Modified: 2018-01-26 09:29:57 +1300 —
75
+ </footer>
76
+
77
+ </div>
78
+ </body>
79
+ </html>
@@ -0,0 +1,79 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+
5
+ <title>What Is Xnode - 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> › <span>FAQ</span> › <a href="../what-is-xnode.html">What Is Xnode</a></nav>
35
+
36
+
37
+ <h1 id="what-is-xnode">What Is <code>.xnode</code>?</h1>
38
+
39
+ <p>Xnodes are the files on disk which are used as part of Utopia’s content/view layer. Xnode templates are designed to maximise the ratio of content to markup. They improve separation of concerns and semantic organisation because repeated markup can be reused easily.</p>
40
+
41
+ <p>Here is a example of a blog post:</p>
42
+
43
+ <pre><code class="language-xml">&lt;content:entry title=&quot;My day as a fish&quot;&gt;
44
+ &lt;p&gt;It was not very exciting&lt;/p&gt;
45
+ &lt;/content:entry&gt;
46
+ </code></pre>
47
+
48
+ <p>The <code>Utopia::Content</code> middleware is built on top of the <a href="https://github.com/ioquatix/trenni">Trenni</a> template language which uses two-phase evaluation.</p>
49
+
50
+ <h2 id="phase-1-evaluation">Phase 1: Evaluation</h2>
51
+
52
+ <p>Trenni processes the view content by evaluation <code>#{expressions}</code> and <code>&lt;?r statements ?&gt;</code>. This generates an output buffer. The output buffer should contain valid markup (i.e. balanced tags, no invalid characters).</p>
53
+
54
+ <h2 id="phase-2-markup">Phase 2: Markup</h2>
55
+
56
+ <p>Once the template is evaluated to text, it is parsed again into an event stream which is used to generate the final output. The event stream contains things like “open tag”, “attribute”, “close tag”, and so on, and these are fed into the <code>Utopia::Content</code> middleware which generates the actual content. Tags without namespaces are output verbatim, while tags with namespaces invoke the tag lookup machinery. This uses the tag name to invoke further behaviour, e.g. inserting more content. Here is a simple example of a basic page:</p>
57
+
58
+ <pre><code class="language-xml">&lt;content:page&gt;
59
+ &lt;content:heading&gt;Welcome to my page&lt;/content:heading&gt;
60
+
61
+ &lt;p&gt;This page is so awesome&lt;/p&gt;
62
+ &lt;/content:page&gt;
63
+ </code></pre>
64
+
65
+ <p>In order to render this, you will need two additional files, <code>_page.xnode</code> and <code>_heading.xnode</code>. As a short example, <code>_heading.xnode</code> might look like this:</p>
66
+
67
+ <pre><code class="language-xml">&lt;h1&gt;&lt;utopia:content/&gt;&lt;/h1&gt;
68
+ </code></pre>
69
+
70
+ <p>When the parser encounters <code>&lt;content:heading&gt;...</code> in the main page, it would evaluate the above template. <code>&lt;utopia:content/&gt;</code> is a special tag that evaluates to the content that the parent tag provided, so in this case: <code>"Welcome to my page"</code>. Thus, the final output is <code>&lt;h1&gt;Welcome to my page&lt;/h1&gt;</code>.</p>
71
+
72
+
73
+ <footer>
74
+ Last Modified: 2018-01-26 09:29:57 +1300 —
75
+ </footer>
76
+
77
+ </div>
78
+ </body>
79
+ </html>
@@ -0,0 +1,64 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+
5
+ <title>Content - 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> › <span>Middleware</span> › <a href="content.html">Content</a></nav>
35
+
36
+
37
+ <h1 id="content">Content</h1>
38
+ <p>A tag based content generation system which integrates nicely with HTML5. Supports structures which separate generic page templates from dynamically generated content in an easy and consistent way.</p>
39
+
40
+ <pre><code class="language-ruby">use Utopia::Content,
41
+ cache_templates: (RACK_ENV == :production)
42
+ </code></pre>
43
+
44
+ <p>A basic template <code>create.xnode</code> looks something like:</p>
45
+
46
+ <pre><code class="language-trenni">&lt;content:page&gt;
47
+ &lt;content:heading&gt;Create User&lt;/content:heading&gt;
48
+ &lt;form action=&quot;#&quot;&gt;
49
+ &lt;input name=&quot;name&quot; /&gt;
50
+ &lt;input type=&quot;submit&quot; /&gt;
51
+ &lt;/form&gt;
52
+ &lt;/content:page&gt;
53
+ </code></pre>
54
+
55
+ <p>This template would typically be designed with supporting <code>_page.xnode</code> and <code>_heading.xnode</code> in the same directory or, more typically, somewhere further up the directory hierarchy.</p>
56
+
57
+
58
+ <footer>
59
+ Last Modified: 2017-05-03 14:21:19 +1200 —
60
+ </footer>
61
+
62
+ </div>
63
+ </body>
64
+ </html>
@@ -0,0 +1,64 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+
5
+ <title>Content - 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> › <span>Middleware</span> › <a href="../content.html">Content</a></nav>
35
+
36
+
37
+ <h1 id="content">Content</h1>
38
+ <p>A tag based content generation system which integrates nicely with HTML5. Supports structures which separate generic page templates from dynamically generated content in an easy and consistent way.</p>
39
+
40
+ <pre><code class="language-ruby">use Utopia::Content,
41
+ cache_templates: (RACK_ENV == :production)
42
+ </code></pre>
43
+
44
+ <p>A basic template <code>create.xnode</code> looks something like:</p>
45
+
46
+ <pre><code class="language-trenni">&lt;content:page&gt;
47
+ &lt;content:heading&gt;Create User&lt;/content:heading&gt;
48
+ &lt;form action=&quot;#&quot;&gt;
49
+ &lt;input name=&quot;name&quot; /&gt;
50
+ &lt;input type=&quot;submit&quot; /&gt;
51
+ &lt;/form&gt;
52
+ &lt;/content:page&gt;
53
+ </code></pre>
54
+
55
+ <p>This template would typically be designed with supporting <code>_page.xnode</code> and <code>_heading.xnode</code> in the same directory or, more typically, somewhere further up the directory hierarchy.</p>
56
+
57
+
58
+ <footer>
59
+ Last Modified: 2017-05-03 14:21:19 +1200 —
60
+ </footer>
61
+
62
+ </div>
63
+ </body>
64
+ </html>