trellis 0.0.1 → 0.0.2

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 (205) hide show
  1. data/History.txt +7 -0
  2. data/Manifest.txt +6 -181
  3. data/examples/crud_components/source/crud_components.rb +0 -1
  4. data/examples/examples.txt +32 -30
  5. data/examples/flickr/source/flickr.rb +0 -4
  6. data/examples/hangman/source/hangman.rb +1 -2
  7. data/examples/hilo/html/guess.xhtml +2 -2
  8. data/examples/hilo/source/hilo.rb +6 -6
  9. data/examples/routing/source/routing.rb +50 -0
  10. data/examples/stateful_counters/source/stateful_counters.rb +9 -4
  11. data/lib/trellis/{core_components.rb → component_library/core_components.rb} +48 -398
  12. data/lib/trellis/component_library/grid.rb +311 -0
  13. data/lib/trellis/{jquery.rb → component_library/jquery.rb} +0 -0
  14. data/lib/trellis/component_library/object_editor.rb +110 -0
  15. data/lib/trellis/trellis.rb +162 -52
  16. data/lib/trellis/utils.rb +9 -3
  17. data/lib/trellis/version.rb +1 -1
  18. data/tasks/rspec.rake +2 -1
  19. data/test/application_spec.rb +55 -30
  20. data/test/component_spec.rb +95 -81
  21. data/test/core_extensions_spec.rb +34 -2
  22. data/test/default_router_spec.rb +91 -0
  23. data/test/fixtures/application_spec_applications.rb +91 -3
  24. data/test/page_spec.rb +18 -8
  25. data/test/router_spec.rb +49 -49
  26. metadata +8 -185
  27. data/.git/COMMIT_EDITMSG +0 -1
  28. data/.git/HEAD +0 -1
  29. data/.git/config +0 -9
  30. data/.git/description +0 -1
  31. data/.git/hooks/applypatch-msg.sample +0 -15
  32. data/.git/hooks/commit-msg.sample +0 -24
  33. data/.git/hooks/post-commit.sample +0 -8
  34. data/.git/hooks/post-receive.sample +0 -15
  35. data/.git/hooks/post-update.sample +0 -8
  36. data/.git/hooks/pre-applypatch.sample +0 -14
  37. data/.git/hooks/pre-commit.sample +0 -18
  38. data/.git/hooks/pre-rebase.sample +0 -169
  39. data/.git/hooks/prepare-commit-msg.sample +0 -36
  40. data/.git/hooks/update.sample +0 -107
  41. data/.git/index +0 -0
  42. data/.git/info/exclude +0 -6
  43. data/.git/logs/HEAD +0 -1
  44. data/.git/logs/refs/heads/master +0 -1
  45. data/.git/logs/refs/remotes/origin/master +0 -1
  46. data/.git/objects/01/2368d4dd3162ed570e6c1423ecb07a6a35f8c0 +0 -0
  47. data/.git/objects/02/238c88c522b88e71529495460cc5c2c8abe110 +0 -0
  48. data/.git/objects/07/03d3b123189f1da72d3889d9340e681841c96d +0 -0
  49. data/.git/objects/0b/3935fdbf3ce8d37e6cb2a6ec94edaccb1c58dc +0 -0
  50. data/.git/objects/0f/ecd1ad35f280c874ce070b7a97a4c1f86ace54 +0 -0
  51. data/.git/objects/12/61911b063b7e6883c5e9db7ab4396183f6f2b5 +0 -0
  52. data/.git/objects/13/0b7e2d214ec198d07aeed5b462597670ce85ad +0 -0
  53. data/.git/objects/13/214d40f02b63f1233fd7881b1df9bb75d9c0a7 +0 -0
  54. data/.git/objects/14/7522bdc96af0b578935d81c1a7347b40573940 +0 -0
  55. data/.git/objects/16/a7fde706fe92b3548254d29722f5ca311ce63b +0 -2
  56. data/.git/objects/16/fe580663cc29d141bf416dff5bf21bf4ea42a3 +0 -0
  57. data/.git/objects/17/2d55806918bafb4e701515edb27147a4ef6498 +0 -0
  58. data/.git/objects/17/686ef1882ed6c3c07b781fab18739b1c5e48bd +0 -0
  59. data/.git/objects/17/824053c41a2cb523303e20cac42f66f9ca2134 +0 -0
  60. data/.git/objects/18/68448c5f88bc73b2fef6b8f3aa75b663013a3a +0 -1
  61. data/.git/objects/1a/6d9051dc4c7db10bdcf5e17c5cb717b072d30a +0 -0
  62. data/.git/objects/1a/8bdb445fb5668dcd1309cb9de5dedf846c822f +0 -0
  63. data/.git/objects/1b/6fa67b70358fdb82eabcd7ef3bc46d518d0426 +0 -0
  64. data/.git/objects/1c/f6510ed08a274fb3292d40557cebb3e7090767 +0 -0
  65. data/.git/objects/1d/e661ce11d5335e5dd7968ef5698e2eb164eb52 +0 -0
  66. data/.git/objects/1e/301ee672d6040e734af6d0a5491185129d7b67 +0 -0
  67. data/.git/objects/21/2201d46200f13d23d8199bd4a7ecc9165205b3 +0 -0
  68. data/.git/objects/22/f687370babdf38d224d2a9ff039707e8d0aac1 +0 -0
  69. data/.git/objects/24/202d2de95dc31f5f1802e629a16ad45b723267 +0 -0
  70. data/.git/objects/25/4c5b6b8d211d8b9f07310fd342fd7b078a81af +0 -0
  71. data/.git/objects/25/5832653fde9e9748855347fe7bce013aa0a6c7 +0 -0
  72. data/.git/objects/25/806945c89b4b5adb8c8676c308e4653361109c +0 -5
  73. data/.git/objects/26/cb8deaca28bf275769cbb71b88e53a44adb9ca +0 -0
  74. data/.git/objects/2e/1c13fb5f154f89cccd4c645540a2ec8ee0f57a +0 -0
  75. data/.git/objects/2f/437425b2c085bb529379e409d6b4bc7f9f9fba +0 -0
  76. data/.git/objects/2f/7cf4a25937b71f3de52e70c7a47cb2f7da07ea +0 -0
  77. data/.git/objects/31/31bdbbac6e6e7e24fd6ea84332461f67e6e5b6 +0 -0
  78. data/.git/objects/32/02e02de478263912b729283eabc7cdab8a8037 +0 -0
  79. data/.git/objects/32/839ed9baa8c800d9033655d1ee995499825fb5 +0 -0
  80. data/.git/objects/34/2e479c61796125b0e025b483401ec12f3c5824 +0 -2
  81. data/.git/objects/36/7acb017aebab3f627a5208c25885c21fa7fdbb +0 -0
  82. data/.git/objects/38/12910d2e2a8e6eeb79a399d20751675d3fbe77 +0 -0
  83. data/.git/objects/38/3fe1e1a07537db6e0f39c6005b7b4e40fa5ccd +0 -0
  84. data/.git/objects/39/5ef328bc94df9191f4d80a77503a5be9f1f673 +0 -0
  85. data/.git/objects/39/dc76dc096fdf737e9f4f7062b78cbf4ab9628f +0 -0
  86. data/.git/objects/3b/09eb196140b471556ed4c3987c0bc739733617 +0 -0
  87. data/.git/objects/3b/9f97f1bf55834832a92bab1ab900918dc49570 +0 -0
  88. data/.git/objects/40/5ffd3925b39dd905638ec24640dd8efa27cc1b +0 -0
  89. data/.git/objects/42/4a5f37c6fe3a7cac54b0f85688c1cce7da9cdf +0 -0
  90. data/.git/objects/44/9e23363d4e20da6a67be7ab78fc610b4e9852a +0 -0
  91. data/.git/objects/48/90bb5d241cecaa30b28148c920b833056c7508 +0 -0
  92. data/.git/objects/4c/558c43676410a2c0a7d5c7b94fca18923a9af1 +0 -0
  93. data/.git/objects/4f/bf572175dd5245104679ff8f676f6a34466c29 +0 -0
  94. data/.git/objects/53/8583edf00c9f656b32149a0e69e030371737c5 +0 -0
  95. data/.git/objects/5b/8a2c4bf7bb56ae199414096dbda21fd4b8cd63 +0 -0
  96. data/.git/objects/5c/9fe8ff998d56dc076657ef88ee9f784ec160f9 +0 -0
  97. data/.git/objects/5f/8441f9d3507587940f31af04dd9fd5911d2812 +0 -0
  98. data/.git/objects/61/4f2752550e63b793e31dcf98b5ea26c32eb0be +0 -0
  99. data/.git/objects/65/801b0fabdfd673861dbb2ac134d438ab2cc5e4 +0 -3
  100. data/.git/objects/66/2746dffaddbcd311f4ac070b5b9bddcd8894a7 +0 -0
  101. data/.git/objects/69/1ed3b65603a0d0dabfb66720e7163664be78f5 +0 -0
  102. data/.git/objects/69/3dc3b6037df8c1c8dfda916d649e7975481124 +0 -0
  103. data/.git/objects/69/67538427b3a371b33c01c72726ac7e67a04c39 +0 -0
  104. data/.git/objects/69/6cd6c3508e2adcc68829497884ff3d4b774dc2 +0 -0
  105. data/.git/objects/69/6ee93917040308ccd0bfc245d63c1cbeb23dae +0 -0
  106. data/.git/objects/6a/3ac317746a8a2cfc88f3580bbd2b03dc0d50b5 +0 -0
  107. data/.git/objects/6d/6ba435839a65b96cb3f7584a40dd3767a0990f +0 -0
  108. data/.git/objects/6f/32c190a651a82caeefeb55eb797fc5daf05426 +0 -0
  109. data/.git/objects/71/fecbce1bec36eaf4de655763d4bb7ceffc991d +0 -0
  110. data/.git/objects/72/01d78a9e90347fd2f7790f9e8665587791d853 +0 -0
  111. data/.git/objects/73/6c97d6a551363ba4a4956408ba228fcab7f91f +0 -0
  112. data/.git/objects/75/3264271e935e18f4eada49aa1818c6fb9e6abb +0 -0
  113. data/.git/objects/75/cc7d390b4a565495cbdc5a08d4479e7e8dbfeb +0 -0
  114. data/.git/objects/76/7c0c96f68b9ccec34ae538045a63bbe4f97d3e +0 -0
  115. data/.git/objects/7b/47fe9b1ab9f2692b9706054de706430089ecd4 +0 -0
  116. data/.git/objects/7c/73144ef6847d1bc2315aee0925c0e5cf5c09d1 +0 -0
  117. data/.git/objects/7d/9c177c155386606aa1024d5cb020a097eea64a +0 -0
  118. data/.git/objects/7d/e9a3296007c09ba9b7bc1802e1c5d9ad1d5dbb +0 -0
  119. data/.git/objects/7e/b73d408147c8d84881109189a9724292abcb8d +0 -0
  120. data/.git/objects/82/0e3bf5449a8f6b8eb637a653dcb2dc387b393c +0 -0
  121. data/.git/objects/83/a10ce96763cb30d0b81425e9372f89c52f4c9f +0 -0
  122. data/.git/objects/83/bdb801e78444d59225f83cf2f336f114cd23cf +0 -0
  123. data/.git/objects/85/24e583e822abc18b1ffdd0aa356c9c079b5548 +0 -0
  124. data/.git/objects/88/b46cc8de5237897d4ba5023d3efdc83fec4f7c +0 -0
  125. data/.git/objects/89/5eea66474f48a2cbf643ad0ef266fd26f9d2a3 +0 -0
  126. data/.git/objects/8a/539c5fc35d5b770d67241d2ccb6c6855df6a43 +0 -0
  127. data/.git/objects/8a/82cdbfb20cc58fdffe4e13b70b55977deb92c6 +0 -0
  128. data/.git/objects/8b/2b537442e4ac8719ffa71b3ae0c707133df06f +0 -0
  129. data/.git/objects/8c/2a45f0c81284a081f8d7980e9a54210a9dd52c +0 -0
  130. data/.git/objects/8e/10355b4ab312450031966107ef6a65b13833ee +0 -0
  131. data/.git/objects/90/f6c76767ae725f15fa6790dcb6afd1719fa0e2 +0 -0
  132. data/.git/objects/92/92b696aba9840c089241c68d4c6ca14be38a64 +0 -2
  133. data/.git/objects/93/e03faa6906892434fa9f2ad230c4ececc64055 +0 -0
  134. data/.git/objects/93/eca2e28d80fda45d327fdfc6c39ae690af41cd +0 -0
  135. data/.git/objects/95/92fe63bd5403654730cdec76cbf116ef83bbff +0 -0
  136. data/.git/objects/96/bc6dd471c1c188a2eb4308bcc3ca4e6c8faac8 +0 -0
  137. data/.git/objects/96/d855221a9ff4fba57d2b70680b57bd5115cfde +0 -0
  138. data/.git/objects/97/4ec92b2b9eb01a73fb57dc78d463cafdda69a7 +0 -0
  139. data/.git/objects/97/b7ec01ebe089832a0972d20b0a40d54456985c +0 -2
  140. data/.git/objects/97/fa6aaae4cfc7654feb39971e7aee5c41ed1679 +0 -1
  141. data/.git/objects/98/18351c6685a1df5d23686e6346d11d261cc6f0 +0 -0
  142. data/.git/objects/98/3d3b7e55cbbce2f2a52c6e6d830a5dca7b4d42 +0 -0
  143. data/.git/objects/a2/e551049a5388112c21e7f3a4a720bf720601fa +0 -0
  144. data/.git/objects/a3/7066bea4fae90d34761a3ebb3f8a348d94eba1 +0 -0
  145. data/.git/objects/a6/c99619145d1b9b75aa15ca04fbe4db0b2ee79b +0 -0
  146. data/.git/objects/aa/e2234d0a8c1485096c7a7de039eceb4e019e13 +0 -0
  147. data/.git/objects/b0/3b52f4269c9719e02ecd6caabd8aff5adf3aac +0 -0
  148. data/.git/objects/b1/50dbbd89f825302a9e82d8fdd66f238b8e6fc4 +0 -0
  149. data/.git/objects/b4/545fbe393aaa18f1c48de4d9f68f64ebf09ddc +0 -0
  150. data/.git/objects/b6/8691404e088692929d40b988b993f815d76756 +0 -0
  151. data/.git/objects/b7/daa3d844ef5f5cd917084e48edd82e67f8f476 +0 -0
  152. data/.git/objects/bf/4232281dba5a0f17e8b5c16b9cbd0f52274fa8 +0 -0
  153. data/.git/objects/bf/9b84d10f19188beffe5ee99e6f5af035ba77d3 +0 -2
  154. data/.git/objects/c0/06e664b306145de804f74ab27550d62a92f58a +0 -1
  155. data/.git/objects/c2/2806b16775f66453012d085d21fb8698521ea9 +0 -0
  156. data/.git/objects/c2/7f6559350f7adb19d43742b55b2f91d07b6550 +0 -0
  157. data/.git/objects/c3/833df21ed674a77374fd40ed931f900134d38b +0 -0
  158. data/.git/objects/c3/b9da021eb76abad0b17ad6c4be75595e41a7e6 +0 -0
  159. data/.git/objects/c5/ca6b7e3561ea88aba1712aabb984d1167787f1 +0 -0
  160. data/.git/objects/c6/39f65e1f43c75b7f57c5ab28623d295dfb2afd +0 -0
  161. data/.git/objects/c8/6f05fa5539f8e69e94850d1cd917919ff581be +0 -0
  162. data/.git/objects/cb/5e499c8dcc6f2901014a08e74f04b7a4bd6596 +0 -0
  163. data/.git/objects/cc/1289d25eeee6ba31b4e406372cb9abf969fc6f +0 -0
  164. data/.git/objects/cc/784e1b49111c42fa7eae10ad0e788186e672d1 +0 -0
  165. data/.git/objects/cc/bcae254dad515d7ef01a461980544e4483c41e +0 -0
  166. data/.git/objects/ce/bfadad3a7c17148998e04275e6d0d1cf1b2e1e +0 -0
  167. data/.git/objects/ce/f3335522abdc47a2c94be70455dcfaa9a51a27 +0 -0
  168. data/.git/objects/cf/6add7ea568d3d90d6a1f8afb0898b0119b14ff +0 -0
  169. data/.git/objects/d0/719abd196033fec0e4cbe2af68a26ca435389c +0 -0
  170. data/.git/objects/d1/ce63ff0eaec4dba419e5547f99195dfb9b5b20 +0 -0
  171. data/.git/objects/d2/c3feb3c74b892cca0049c0aced6ce786a784c8 +0 -0
  172. data/.git/objects/d7/8a91da13413419da71b539a3c6c7df4d8a2458 +0 -0
  173. data/.git/objects/d8/c7bed2b1357d54b6935536a8a51a3c73d535b4 +0 -0
  174. data/.git/objects/da/c3a1277ccb4806011e33eb32c5609cc45c46f2 +0 -0
  175. data/.git/objects/dc/3f920f4b937d0e2ac512f0bb31d477624c46d5 +0 -0
  176. data/.git/objects/dc/6c389abf5bd0d7b9be2a6bb6af90738a410e59 +0 -0
  177. data/.git/objects/df/07c423309f39c4d5570b0fad65dff23af654ae +0 -0
  178. data/.git/objects/e2/93a5c9e2257b9f3fcb8fa5d5c8147a2f07ba1b +0 -0
  179. data/.git/objects/e4/8464df56bf487e96e21ea99487330266dae3c9 +0 -0
  180. data/.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  181. data/.git/objects/e8/0c13a1d1f62756fb9f1e4fb9f7512e5b8c5816 +0 -0
  182. data/.git/objects/e9/b8ade2125b2615ddc4c8043940c40ed36215c9 +0 -0
  183. data/.git/objects/ed/59a7599a81ef7ea7c230c3332345a3484febf8 +0 -0
  184. data/.git/objects/f0/d2a74226877e9a28af814d0d3727e4a3487439 +0 -0
  185. data/.git/objects/f0/f3ba7264f1d8e60eb93a907092af98fdc248e4 +0 -0
  186. data/.git/objects/f1/cdcc7ff2dc6298318523b2c4e425f515a58bf7 +0 -3
  187. data/.git/objects/f4/45c96f406f4d2f9839b3fe2fe8bc7f943ab469 +0 -0
  188. data/.git/objects/f7/eef7ce0a650d6f0c85dc4982f481da7bd44362 +0 -0
  189. data/.git/objects/f9/0abf96c5059ce1ba115f73bc9cf33e4663b3e1 +0 -0
  190. data/.git/objects/f9/cf7ae572eaebbd63f809f16a5ef14b9c679790 +0 -0
  191. data/.git/objects/fc/300df53fe2c9467210e2fd4c2f34e1c9c7c89a +0 -0
  192. data/.git/objects/fc/45546596ab8debc4c9f49a7abc7fc14a7bcc7f +0 -4
  193. data/.git/objects/fc/68d89167f69614eda17bd56dfccb4355d818e6 +0 -0
  194. data/.git/objects/fc/e4c02bb132e73b3cb957da182db7b75a47c242 +0 -0
  195. data/.git/objects/fe/be283da7f326344013f1fc847c12c8f29ab6ef +0 -0
  196. data/.git/refs/heads/master +0 -1
  197. data/.git/refs/remotes/origin/master +0 -1
  198. data/.gitignore +0 -5
  199. data/README.txt +0 -156
  200. data/examples/simplest/html/start.xhtml +0 -0
  201. data/website/index.html +0 -124
  202. data/website/index.txt +0 -119
  203. data/website/javascripts/rounded_corners_lite.inc.js +0 -285
  204. data/website/stylesheets/screen.css +0 -138
  205. data/website/template.html.erb +0 -48
data/README.txt DELETED
@@ -1,156 +0,0 @@
1
- = Project: Trellis
2
-
3
- Trellis is a component-based Web Application Framework written in Ruby.
4
- Its main goal is to bring component-driven development to the micro-framework world.
5
- The framework aims to be a zero-configuration framework.
6
-
7
- It draws inspiration from:
8
-
9
- Ruby Web Frameworks
10
- ===================
11
- * Rails
12
- * Camping
13
- * Merb
14
- * Iowa
15
- * Sinatra
16
-
17
- Java Web Frameworks
18
- ===================
19
- * Tapesty
20
- * Wicket
21
- * The good parts of JSF (components)
22
-
23
- Others
24
- ======
25
- * Seaside
26
-
27
- == Goals
28
- Accomplished goals are marked with a (*)
29
- - * Pure HTML templates or in-line template creation with Markaby or HAML
30
- - * To abstract away the request-response nature of web development and replace
31
- with events and listeners
32
- - * Reusable, extensible components including invisible components (behavior
33
- providers), tags (stateless components) or stateful components
34
- - Easy component composition and markup inheritance
35
- - * Multi-threading support
36
- - * Heavy CoC :-) (Convention Over Configuration) ala Rails
37
- - * No static code generation, no generators, just a Ruby file!
38
- - * Component Libraries as Gems
39
- - * Solid Ajax support attached to the event model using a single* massively tested
40
- Ajax framework/toolkit such as JQuery
41
- - Skinnable components a la DotNet. That is the ability to apply a theme to a
42
- page and cascade that to the contained components
43
- - Support for continuations in a componentized fashion (maybe)
44
- - CRUD behaviours for Pages/Components and using Datamapper under the covers
45
- - Web-based debugging and administration of the application similar to what
46
- Seaside provides
47
-
48
- == Development Goals (To-do's)
49
-
50
- - Keep the core framework in a single file
51
- - Keep the core components in another file
52
- - I have not done anything about exception handling (didn't wanted to litter the
53
- code base). Currently I'm always sending an HTTP 200 back or I'm just letting
54
- the app blow chuncks and showing rack's exception page
55
- - Radius usage is really entrenched in the current component implementation need
56
- to clean it up
57
- - Currently Trellis uses the Mongrel Rack Adapter. In the near future the
58
- particular web server would be configurable (one of the reasons to use Rack)
59
-
60
- == Classes
61
-
62
- Trellis::Application:: Base case for all Trellis applications
63
- Trellis::Page:: Base class for all application Pages
64
- Trellis::Renderer:: Renders XML/XHTML tags in the markup using Radius
65
- Trellis::Component:: Base class for all Trellis components (work in progress)
66
- Trellis::DefaultRouter:: Encapsulates the default routing logic
67
-
68
- == <b>Notes</b>::
69
-
70
- * Event model is pretty shallow right now. Basically events are just
71
- a convention of how the URLs are interpreted which results on a page method
72
- being invoked. A given URL contains information about the target page, event,
73
- source of the event and possible context values.This information is used to
74
- map to a single method in the page.
75
- * Navigation is a la Tapestry; Page methods can return the instance of a
76
- injected Page or they can return self in which case the same page is
77
- re-rendered.
78
- * Component can register their event handlers with the page. The page wraps the
79
- event handlers of the contained components and dispatches the events to the
80
- component instance.
81
- * Currently the Application is a single object, the multi-threading (which I had
82
- nothing to do with is provided by Rack) happens in the request dispatching.
83
- * Trellis is not a managed framework like Tapestry, in that sense it is more like
84
- Wicket. Pages instances are just created when needed, there is no pooling,
85
- or any of the complexity involved in activating/passivating objects to a pool.
86
-
87
- == Installation
88
-
89
- * <tt>gem install trellis</tt>
90
-
91
- A Trellis application consists of the Application class; a descendant of
92
- Trellis::Application and one or more pages; descendants of Trellis::Page. The
93
- Application at a minimum needs to declare the starting or home page:
94
-
95
- module Hello
96
- class HelloWorld < Trellis::Application
97
- home :home
98
- end
99
-
100
- class Home < Trellis::Page
101
- template do html { body { h1 "Hello World!" }} end
102
- end
103
- end
104
-
105
- To run the above application simply add the line:
106
-
107
- Hello::HelloWorld.new.start
108
-
109
- That will start the application on Mongrel running on port 3000 by default. To
110
- run on any other port pass the port number to the start method like:
111
-
112
- Hello::HelloWorld.new.start 8282
113
-
114
- == Required Gems
115
-
116
- rack => http://rack.rubyforge.org
117
- mongrel => http://mongrel.rubyforge.org
118
- radius => http://radius.rubyforge.org
119
- builder => http://builder.rubyforge.org
120
- paginator => http://paginator.rubyforge.org
121
- hpricot => http://code.whytheluckystiff.net/hpricot
122
- extensions => http://extensions.rubyforge.org
123
- haml => http://haml.hamptoncatlin.com
124
- markaby => http://code.whytheluckystiff.net/markaby
125
-
126
- == LICENSE:
127
-
128
- (The MIT License)
129
-
130
- Copyright &169;2001-2009 Integrallis Software, LLC.
131
-
132
- Permission is hereby granted, free of charge, to any person obtaining
133
- a copy of this software and associated documentation files (the
134
- 'Software'), to deal in the Software without restriction, including
135
- without limitation the rights to use, copy, modify, merge, publish,
136
- distribute, sublicense, and/or sell copies of the Software, and to
137
- permit persons to whom the Software is furnished to do so, subject to
138
- the following conditions:
139
-
140
- The above copyright notice and this permission notice shall be
141
- included in all copies or substantial portions of the Software.
142
-
143
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
144
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
145
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
146
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
147
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
148
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
149
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
150
-
151
- == Contact
152
-
153
- Author:: Brian Sam-Bodden
154
- Email:: bsbodden@integrallis.com
155
- Home Page:: http://integrallis.com
156
- License:: MIT Licence (http://www.opensource.org/licenses/mit-license.html)
File without changes
data/website/index.html DELETED
@@ -1,124 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
- <title>
8
- Trellis
9
- </title>
10
- <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
- <style>
12
-
13
- </style>
14
- <script type="text/javascript">
15
- window.onload = function() {
16
- settings = {
17
- tl: { radius: 10 },
18
- tr: { radius: 10 },
19
- bl: { radius: 10 },
20
- br: { radius: 10 },
21
- antiAlias: true,
22
- autoPad: true,
23
- validTags: ["div"]
24
- }
25
- var versionBox = new curvyCorners(settings, document.getElementById("version"));
26
- versionBox.applyCornersToAll();
27
- }
28
- </script>
29
- </head>
30
- <body>
31
- <div id="main">
32
-
33
- <h1>Trellis</h1>
34
- <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/trellis"; return false'>
35
- <p>Get Version</p>
36
- <a href="http://rubyforge.org/projects/trellis" class="numbers">0.0.1</a>
37
- </div>
38
- <h2>What</h2>
39
- <p>Trellis is an object-oriented, event-driven, page and component-based Web <br />
40
- Application Framework written in Ruby. Its main goal is to bring <br />
41
- component-driven development to the micro-framework world. <br />
42
- The framework is a zero configuration framework.</p>
43
- <p>It draws inspiration from:</p>
44
- <p>Ruby Web Frameworks<br />
45
- =======</p>
46
- <ul>
47
- <li>Rails</li>
48
- <li>Camping</li>
49
- <li>Merb</li>
50
- <li>Iowa</li>
51
- </ul>
52
- <p>Java Web Frameworks<br />
53
- =======</p>
54
- <ul>
55
- <li>Tapesty</li>
56
- <li>Wicket</li>
57
- <li>The good parts of <span class="caps">JSF</span> (components)</li>
58
- <li>Seam (session per conversation)</li>
59
- </ul>
60
- <h2>Installing</h2>
61
- <p><pre class='syntax'><span class="ident">sudo</span> <span class="ident">gem</span> <span class="ident">install</span> <span class="ident">trellis</span></pre></p>
62
- <h2>The basics</h2>
63
- <p>A Trellis application consists of the Application class; a descendant of <br />
64
- Trellis::Application and one or more pages; descendants of Trellis::Page. The<br />
65
- Application at a minimum needs to declare the starting or home page:</p>
66
- <p><pre class='syntax'>
67
- <span class="keyword">module </span><span class="module">Hello</span>
68
- <span class="keyword">class </span><span class="class">HelloWorld</span> <span class="punct">&lt;</span> <span class="constant">Trellis</span><span class="punct">::</span><span class="constant">Application</span>
69
- <span class="ident">home</span> <span class="symbol">:home</span>
70
- <span class="keyword">end</span>
71
-
72
- <span class="keyword">class </span><span class="class">Home</span> <span class="punct">&lt;</span> <span class="constant">Trellis</span><span class="punct">::</span><span class="constant">Page</span>
73
- <span class="ident">template_as_markaby</span> <span class="keyword">do</span> <span class="ident">html</span> <span class="punct">{</span> <span class="ident">body</span> <span class="punct">{</span> <span class="ident">h1</span> <span class="punct">&quot;</span><span class="string">Hello World!</span><span class="punct">&quot;</span> <span class="punct">}}</span> <span class="keyword">end</span>
74
- <span class="keyword">end</span>
75
- <span class="keyword">end</span>
76
- </pre></p>
77
- <h2>Demonstration of usage</h2>
78
- <p>To run the above application simply add the line:</p>
79
- <pre class='syntax'><span class="constant">Hello</span><span class="punct">::</span><span class="constant">HelloWorld</span><span class="punct">.</span><span class="ident">new</span><span class="punct">.</span><span class="ident">start</span></pre>
80
- <p>That will start the application on Mongrel running on port 3000 by default. To <br />
81
- run on any other port pass the port number to the start method like:</p>
82
- <pre class='syntax'><span class="constant">Hello</span><span class="punct">::</span><span class="constant">HelloWorld</span><span class="punct">.</span><span class="ident">new</span><span class="punct">.</span><span class="ident">start</span> <span class="number">8282</span></pre>
83
- <h2>Forum</h2>
84
- <p><a href="http://groups.google.com/group/trellis">http://groups.google.com/group/trellis</a></p>
85
- <h2>How to submit patches</h2>
86
- <p>Read the <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/">8 steps for fixing other people&#8217;s code</a> and for section <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8b-google-groups">8b: Submit patch to Google Groups</a>, use the Google Group above.</p>
87
- <p><span class="caps">TODO</span> &#8211; pick <span class="caps">SVN</span> or Git instructions</p>
88
- <p>The trunk repository is <code>svn://rubyforge.org/var/svn/trellis/trunk</code> for anonymous access.</p>
89
- <p><span class="caps">OOOORRRR</span></p>
90
- <p>You can fetch the source from either:</p>
91
- <ul>
92
- <li>rubyforge: <span class="caps">MISSING</span> IN <span class="caps">ACTION</span></li>
93
- </ul>
94
- <p><span class="caps">TODO</span> &#8211; You can not created a RubyForge project, OR have not run <code>rubyforge config</code><br />
95
- yet to refresh your local rubyforge data with this projects&#8217; id information.</p>
96
- <p>When you do this, this message will magically disappear!</p>
97
- <p>Or you can hack website/index.txt and make it all go away!!</p>
98
- <ul>
99
- <li>github: <a href="http://github.com/GITHUB_USERNAME/trellis/tree/master">http://github.com/GITHUB_USERNAME/trellis/tree/master</a></li>
100
- </ul>
101
- <pre>git clone git://github.com/GITHUB_USERNAME/trellis.git</pre>
102
- <p><span class="caps">TODO</span> &#8211; add &#8220;github_username: username&#8221; to ~/.rubyforge/user-config.yml and newgem will reuse it for future projects.</p>
103
- <ul>
104
- <li>gitorious: <a href="git://gitorious.org/trellis/mainline.git">git://gitorious.org/trellis/mainline.git</a></li>
105
- </ul>
106
- <pre>git clone git://gitorious.org/trellis/mainline.git</pre>
107
- <h3>Build and test instructions</h3>
108
- <pre>cd trellis
109
- rake spec
110
- rake install_gem</pre>
111
- <h2>License</h2>
112
- <p>This code is free to use under the terms of the <span class="caps">MIT</span> license.</p>
113
- <h2>Contact</h2>
114
- <p>Comments are welcome. Send an email to <a href="mailto:bsbodden@integrallis.com">Brian Sam-Bodden</a> email via the <a href="http://groups.google.com/group/trellis">forum</a></p>
115
- <p class="coda">
116
- <a href="FIXME email">FIXME full name</a>, 25th August 2008<br>
117
- Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
118
- </p>
119
- </div>
120
-
121
- <!-- insert site tracking codes here, like Google Urchin -->
122
-
123
- </body>
124
- </html>
data/website/index.txt DELETED
@@ -1,119 +0,0 @@
1
- h1. Trellis
2
-
3
- h2. What
4
-
5
- Trellis is an object-oriented, event-driven, page and component-based Web
6
- Application Framework written in Ruby. Its main goal is to bring
7
- component-driven development to the micro-framework world.
8
- The framework is a zero configuration framework.
9
-
10
- It draws inspiration from:
11
-
12
- Ruby Web Frameworks
13
- ===================
14
- * Rails
15
- * Camping
16
- * Merb
17
- * Iowa
18
-
19
- Java Web Frameworks
20
- ===================
21
- * Tapesty
22
- * Wicket
23
- * The good parts of JSF (components)
24
- * Seam (session per conversation)
25
-
26
- h2. Installing
27
-
28
- <pre syntax="ruby">sudo gem install trellis</pre>
29
-
30
- h2. The basics
31
-
32
- A Trellis application consists of the Application class; a descendant of
33
- Trellis::Application and one or more pages; descendants of Trellis::Page. The
34
- Application at a minimum needs to declare the starting or home page:
35
-
36
- <pre syntax="ruby">
37
- module Hello
38
- class HelloWorld < Trellis::Application
39
- home :home
40
- end
41
-
42
- class Home < Trellis::Page
43
- template_as_markaby do html { body { h1 "Hello World!" }} end
44
- end
45
- end
46
- </pre>
47
-
48
- h2. Demonstration of usage
49
-
50
- To run the above application simply add the line:
51
-
52
- <pre syntax="ruby">Hello::HelloWorld.new.start</pre>
53
-
54
- That will start the application on Mongrel running on port 3000 by default. To
55
- run on any other port pass the port number to the start method like:
56
-
57
- <pre syntax="ruby">Hello::HelloWorld.new.start 8282</pre>
58
-
59
- h2. Forum
60
-
61
- "http://groups.google.com/group/trellis":http://groups.google.com/group/trellis
62
-
63
- h2. How to submit patches
64
-
65
- Read the "8 steps for fixing other people's code":http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/ and for section "8b: Submit patch to Google Groups":http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8b-google-groups, use the Google Group above.
66
-
67
- TODO - pick SVN or Git instructions
68
-
69
- The trunk repository is <code>svn://rubyforge.org/var/svn/trellis/trunk</code> for anonymous access.
70
-
71
- OOOORRRR
72
-
73
- You can fetch the source from either:
74
-
75
- <% if rubyforge_project_id %>
76
-
77
- * rubyforge: "http://rubyforge.org/scm/?group_id=<%= rubyforge_project_id %>":http://rubyforge.org/scm/?group_id=<%= rubyforge_project_id %>
78
-
79
- <pre>git clone git://rubyforge.org/trellis.git</pre>
80
-
81
- <% else %>
82
-
83
- * rubyforge: MISSING IN ACTION
84
-
85
- TODO - You can not created a RubyForge project, OR have not run <code>rubyforge config</code>
86
- yet to refresh your local rubyforge data with this projects' id information.
87
-
88
- When you do this, this message will magically disappear!
89
-
90
- Or you can hack website/index.txt and make it all go away!!
91
-
92
- <% end %>
93
-
94
- * github: "http://github.com/GITHUB_USERNAME/trellis/tree/master":http://github.com/GITHUB_USERNAME/trellis/tree/master
95
-
96
- <pre>git clone git://github.com/GITHUB_USERNAME/trellis.git</pre>
97
-
98
-
99
- TODO - add "github_username: username" to ~/.rubyforge/user-config.yml and newgem will reuse it for future projects.
100
-
101
-
102
- * gitorious: "git://gitorious.org/trellis/mainline.git":git://gitorious.org/trellis/mainline.git
103
-
104
- <pre>git clone git://gitorious.org/trellis/mainline.git</pre>
105
-
106
- h3. Build and test instructions
107
-
108
- <pre>cd trellis
109
- rake spec
110
- rake install_gem</pre>
111
-
112
- h2. License
113
-
114
- This code is free to use under the terms of the MIT license.
115
-
116
- h2. Contact
117
-
118
- Comments are welcome. Send an email to "Brian Sam-Bodden":mailto:bsbodden@integrallis.com email via the "forum":http://groups.google.com/group/trellis
119
-