trellis 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.git/COMMIT_EDITMSG +1 -0
- data/.git/HEAD +1 -0
- data/.git/config +9 -0
- data/.git/description +1 -0
- data/.git/hooks/applypatch-msg.sample +15 -0
- data/.git/hooks/commit-msg.sample +24 -0
- data/.git/hooks/post-commit.sample +8 -0
- data/.git/hooks/post-receive.sample +15 -0
- data/.git/hooks/post-update.sample +8 -0
- data/.git/hooks/pre-applypatch.sample +14 -0
- data/.git/hooks/pre-commit.sample +18 -0
- data/.git/hooks/pre-rebase.sample +169 -0
- data/.git/hooks/prepare-commit-msg.sample +36 -0
- data/.git/hooks/update.sample +107 -0
- data/.git/index +0 -0
- data/.git/info/exclude +6 -0
- data/.git/logs/HEAD +1 -0
- data/.git/logs/refs/heads/master +1 -0
- data/.git/logs/refs/remotes/origin/master +1 -0
- data/.git/objects/01/2368d4dd3162ed570e6c1423ecb07a6a35f8c0 +0 -0
- data/.git/objects/02/238c88c522b88e71529495460cc5c2c8abe110 +0 -0
- data/.git/objects/07/03d3b123189f1da72d3889d9340e681841c96d +0 -0
- data/.git/objects/0b/3935fdbf3ce8d37e6cb2a6ec94edaccb1c58dc +0 -0
- data/.git/objects/0f/ecd1ad35f280c874ce070b7a97a4c1f86ace54 +0 -0
- data/.git/objects/12/61911b063b7e6883c5e9db7ab4396183f6f2b5 +0 -0
- data/.git/objects/13/0b7e2d214ec198d07aeed5b462597670ce85ad +0 -0
- data/.git/objects/13/214d40f02b63f1233fd7881b1df9bb75d9c0a7 +0 -0
- data/.git/objects/14/7522bdc96af0b578935d81c1a7347b40573940 +0 -0
- data/.git/objects/16/a7fde706fe92b3548254d29722f5ca311ce63b +2 -0
- data/.git/objects/16/fe580663cc29d141bf416dff5bf21bf4ea42a3 +0 -0
- data/.git/objects/17/2d55806918bafb4e701515edb27147a4ef6498 +0 -0
- data/.git/objects/17/686ef1882ed6c3c07b781fab18739b1c5e48bd +0 -0
- data/.git/objects/17/824053c41a2cb523303e20cac42f66f9ca2134 +0 -0
- data/.git/objects/18/68448c5f88bc73b2fef6b8f3aa75b663013a3a +1 -0
- data/.git/objects/1a/6d9051dc4c7db10bdcf5e17c5cb717b072d30a +0 -0
- data/.git/objects/1a/8bdb445fb5668dcd1309cb9de5dedf846c822f +0 -0
- data/.git/objects/1b/6fa67b70358fdb82eabcd7ef3bc46d518d0426 +0 -0
- data/.git/objects/1c/f6510ed08a274fb3292d40557cebb3e7090767 +0 -0
- data/.git/objects/1d/e661ce11d5335e5dd7968ef5698e2eb164eb52 +0 -0
- data/.git/objects/1e/301ee672d6040e734af6d0a5491185129d7b67 +0 -0
- data/.git/objects/21/2201d46200f13d23d8199bd4a7ecc9165205b3 +0 -0
- data/.git/objects/22/f687370babdf38d224d2a9ff039707e8d0aac1 +0 -0
- data/.git/objects/24/202d2de95dc31f5f1802e629a16ad45b723267 +0 -0
- data/.git/objects/25/4c5b6b8d211d8b9f07310fd342fd7b078a81af +0 -0
- data/.git/objects/25/5832653fde9e9748855347fe7bce013aa0a6c7 +0 -0
- data/.git/objects/25/806945c89b4b5adb8c8676c308e4653361109c +5 -0
- data/.git/objects/26/cb8deaca28bf275769cbb71b88e53a44adb9ca +0 -0
- data/.git/objects/2e/1c13fb5f154f89cccd4c645540a2ec8ee0f57a +0 -0
- data/.git/objects/2f/437425b2c085bb529379e409d6b4bc7f9f9fba +0 -0
- data/.git/objects/2f/7cf4a25937b71f3de52e70c7a47cb2f7da07ea +0 -0
- data/.git/objects/31/31bdbbac6e6e7e24fd6ea84332461f67e6e5b6 +0 -0
- data/.git/objects/32/02e02de478263912b729283eabc7cdab8a8037 +0 -0
- data/.git/objects/32/839ed9baa8c800d9033655d1ee995499825fb5 +0 -0
- data/.git/objects/34/2e479c61796125b0e025b483401ec12f3c5824 +2 -0
- data/.git/objects/36/7acb017aebab3f627a5208c25885c21fa7fdbb +0 -0
- data/.git/objects/38/12910d2e2a8e6eeb79a399d20751675d3fbe77 +0 -0
- data/.git/objects/38/3fe1e1a07537db6e0f39c6005b7b4e40fa5ccd +0 -0
- data/.git/objects/39/5ef328bc94df9191f4d80a77503a5be9f1f673 +0 -0
- data/.git/objects/39/dc76dc096fdf737e9f4f7062b78cbf4ab9628f +0 -0
- data/.git/objects/3b/09eb196140b471556ed4c3987c0bc739733617 +0 -0
- data/.git/objects/3b/9f97f1bf55834832a92bab1ab900918dc49570 +0 -0
- data/.git/objects/40/5ffd3925b39dd905638ec24640dd8efa27cc1b +0 -0
- data/.git/objects/42/4a5f37c6fe3a7cac54b0f85688c1cce7da9cdf +0 -0
- data/.git/objects/44/9e23363d4e20da6a67be7ab78fc610b4e9852a +0 -0
- data/.git/objects/48/90bb5d241cecaa30b28148c920b833056c7508 +0 -0
- data/.git/objects/4c/558c43676410a2c0a7d5c7b94fca18923a9af1 +0 -0
- data/.git/objects/4f/bf572175dd5245104679ff8f676f6a34466c29 +0 -0
- data/.git/objects/53/8583edf00c9f656b32149a0e69e030371737c5 +0 -0
- data/.git/objects/5b/8a2c4bf7bb56ae199414096dbda21fd4b8cd63 +0 -0
- data/.git/objects/5c/9fe8ff998d56dc076657ef88ee9f784ec160f9 +0 -0
- data/.git/objects/5f/8441f9d3507587940f31af04dd9fd5911d2812 +0 -0
- data/.git/objects/61/4f2752550e63b793e31dcf98b5ea26c32eb0be +0 -0
- data/.git/objects/65/801b0fabdfd673861dbb2ac134d438ab2cc5e4 +3 -0
- data/.git/objects/66/2746dffaddbcd311f4ac070b5b9bddcd8894a7 +0 -0
- data/.git/objects/69/1ed3b65603a0d0dabfb66720e7163664be78f5 +0 -0
- data/.git/objects/69/3dc3b6037df8c1c8dfda916d649e7975481124 +0 -0
- data/.git/objects/69/67538427b3a371b33c01c72726ac7e67a04c39 +0 -0
- data/.git/objects/69/6cd6c3508e2adcc68829497884ff3d4b774dc2 +0 -0
- data/.git/objects/69/6ee93917040308ccd0bfc245d63c1cbeb23dae +0 -0
- data/.git/objects/6a/3ac317746a8a2cfc88f3580bbd2b03dc0d50b5 +0 -0
- data/.git/objects/6d/6ba435839a65b96cb3f7584a40dd3767a0990f +0 -0
- data/.git/objects/6f/32c190a651a82caeefeb55eb797fc5daf05426 +0 -0
- data/.git/objects/71/fecbce1bec36eaf4de655763d4bb7ceffc991d +0 -0
- data/.git/objects/72/01d78a9e90347fd2f7790f9e8665587791d853 +0 -0
- data/.git/objects/73/6c97d6a551363ba4a4956408ba228fcab7f91f +0 -0
- data/.git/objects/75/3264271e935e18f4eada49aa1818c6fb9e6abb +0 -0
- data/.git/objects/75/cc7d390b4a565495cbdc5a08d4479e7e8dbfeb +0 -0
- data/.git/objects/76/7c0c96f68b9ccec34ae538045a63bbe4f97d3e +0 -0
- data/.git/objects/7b/47fe9b1ab9f2692b9706054de706430089ecd4 +0 -0
- data/.git/objects/7c/73144ef6847d1bc2315aee0925c0e5cf5c09d1 +0 -0
- data/.git/objects/7d/9c177c155386606aa1024d5cb020a097eea64a +0 -0
- data/.git/objects/7d/e9a3296007c09ba9b7bc1802e1c5d9ad1d5dbb +0 -0
- data/.git/objects/7e/b73d408147c8d84881109189a9724292abcb8d +0 -0
- data/.git/objects/82/0e3bf5449a8f6b8eb637a653dcb2dc387b393c +0 -0
- data/.git/objects/83/a10ce96763cb30d0b81425e9372f89c52f4c9f +0 -0
- data/.git/objects/83/bdb801e78444d59225f83cf2f336f114cd23cf +0 -0
- data/.git/objects/85/24e583e822abc18b1ffdd0aa356c9c079b5548 +0 -0
- data/.git/objects/88/b46cc8de5237897d4ba5023d3efdc83fec4f7c +0 -0
- data/.git/objects/89/5eea66474f48a2cbf643ad0ef266fd26f9d2a3 +0 -0
- data/.git/objects/8a/539c5fc35d5b770d67241d2ccb6c6855df6a43 +0 -0
- data/.git/objects/8a/82cdbfb20cc58fdffe4e13b70b55977deb92c6 +0 -0
- data/.git/objects/8b/2b537442e4ac8719ffa71b3ae0c707133df06f +0 -0
- data/.git/objects/8c/2a45f0c81284a081f8d7980e9a54210a9dd52c +0 -0
- data/.git/objects/8e/10355b4ab312450031966107ef6a65b13833ee +0 -0
- data/.git/objects/90/f6c76767ae725f15fa6790dcb6afd1719fa0e2 +0 -0
- data/.git/objects/92/92b696aba9840c089241c68d4c6ca14be38a64 +2 -0
- data/.git/objects/93/e03faa6906892434fa9f2ad230c4ececc64055 +0 -0
- data/.git/objects/93/eca2e28d80fda45d327fdfc6c39ae690af41cd +0 -0
- data/.git/objects/95/92fe63bd5403654730cdec76cbf116ef83bbff +0 -0
- data/.git/objects/96/bc6dd471c1c188a2eb4308bcc3ca4e6c8faac8 +0 -0
- data/.git/objects/96/d855221a9ff4fba57d2b70680b57bd5115cfde +0 -0
- data/.git/objects/97/4ec92b2b9eb01a73fb57dc78d463cafdda69a7 +0 -0
- data/.git/objects/97/b7ec01ebe089832a0972d20b0a40d54456985c +2 -0
- data/.git/objects/97/fa6aaae4cfc7654feb39971e7aee5c41ed1679 +1 -0
- data/.git/objects/98/18351c6685a1df5d23686e6346d11d261cc6f0 +0 -0
- data/.git/objects/98/3d3b7e55cbbce2f2a52c6e6d830a5dca7b4d42 +0 -0
- data/.git/objects/a2/e551049a5388112c21e7f3a4a720bf720601fa +0 -0
- data/.git/objects/a3/7066bea4fae90d34761a3ebb3f8a348d94eba1 +0 -0
- data/.git/objects/a6/c99619145d1b9b75aa15ca04fbe4db0b2ee79b +0 -0
- data/.git/objects/aa/e2234d0a8c1485096c7a7de039eceb4e019e13 +0 -0
- data/.git/objects/b0/3b52f4269c9719e02ecd6caabd8aff5adf3aac +0 -0
- data/.git/objects/b1/50dbbd89f825302a9e82d8fdd66f238b8e6fc4 +0 -0
- data/.git/objects/b4/545fbe393aaa18f1c48de4d9f68f64ebf09ddc +0 -0
- data/.git/objects/b6/8691404e088692929d40b988b993f815d76756 +0 -0
- data/.git/objects/b7/daa3d844ef5f5cd917084e48edd82e67f8f476 +0 -0
- data/.git/objects/bf/4232281dba5a0f17e8b5c16b9cbd0f52274fa8 +0 -0
- data/.git/objects/bf/9b84d10f19188beffe5ee99e6f5af035ba77d3 +2 -0
- data/.git/objects/c0/06e664b306145de804f74ab27550d62a92f58a +1 -0
- data/.git/objects/c2/2806b16775f66453012d085d21fb8698521ea9 +0 -0
- data/.git/objects/c2/7f6559350f7adb19d43742b55b2f91d07b6550 +0 -0
- data/.git/objects/c3/833df21ed674a77374fd40ed931f900134d38b +0 -0
- data/.git/objects/c3/b9da021eb76abad0b17ad6c4be75595e41a7e6 +0 -0
- data/.git/objects/c5/ca6b7e3561ea88aba1712aabb984d1167787f1 +0 -0
- data/.git/objects/c6/39f65e1f43c75b7f57c5ab28623d295dfb2afd +0 -0
- data/.git/objects/c8/6f05fa5539f8e69e94850d1cd917919ff581be +0 -0
- data/.git/objects/cb/5e499c8dcc6f2901014a08e74f04b7a4bd6596 +0 -0
- data/.git/objects/cc/1289d25eeee6ba31b4e406372cb9abf969fc6f +0 -0
- data/.git/objects/cc/784e1b49111c42fa7eae10ad0e788186e672d1 +0 -0
- data/.git/objects/cc/bcae254dad515d7ef01a461980544e4483c41e +0 -0
- data/.git/objects/ce/bfadad3a7c17148998e04275e6d0d1cf1b2e1e +0 -0
- data/.git/objects/ce/f3335522abdc47a2c94be70455dcfaa9a51a27 +0 -0
- data/.git/objects/cf/6add7ea568d3d90d6a1f8afb0898b0119b14ff +0 -0
- data/.git/objects/d0/719abd196033fec0e4cbe2af68a26ca435389c +0 -0
- data/.git/objects/d1/ce63ff0eaec4dba419e5547f99195dfb9b5b20 +0 -0
- data/.git/objects/d2/c3feb3c74b892cca0049c0aced6ce786a784c8 +0 -0
- data/.git/objects/d7/8a91da13413419da71b539a3c6c7df4d8a2458 +0 -0
- data/.git/objects/d8/c7bed2b1357d54b6935536a8a51a3c73d535b4 +0 -0
- data/.git/objects/da/c3a1277ccb4806011e33eb32c5609cc45c46f2 +0 -0
- data/.git/objects/dc/3f920f4b937d0e2ac512f0bb31d477624c46d5 +0 -0
- data/.git/objects/dc/6c389abf5bd0d7b9be2a6bb6af90738a410e59 +0 -0
- data/.git/objects/df/07c423309f39c4d5570b0fad65dff23af654ae +0 -0
- data/.git/objects/e2/93a5c9e2257b9f3fcb8fa5d5c8147a2f07ba1b +0 -0
- data/.git/objects/e4/8464df56bf487e96e21ea99487330266dae3c9 +0 -0
- data/.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
- data/.git/objects/e8/0c13a1d1f62756fb9f1e4fb9f7512e5b8c5816 +0 -0
- data/.git/objects/e9/b8ade2125b2615ddc4c8043940c40ed36215c9 +0 -0
- data/.git/objects/ed/59a7599a81ef7ea7c230c3332345a3484febf8 +0 -0
- data/.git/objects/f0/d2a74226877e9a28af814d0d3727e4a3487439 +0 -0
- data/.git/objects/f0/f3ba7264f1d8e60eb93a907092af98fdc248e4 +0 -0
- data/.git/objects/f1/cdcc7ff2dc6298318523b2c4e425f515a58bf7 +3 -0
- data/.git/objects/f4/45c96f406f4d2f9839b3fe2fe8bc7f943ab469 +0 -0
- data/.git/objects/f7/eef7ce0a650d6f0c85dc4982f481da7bd44362 +0 -0
- data/.git/objects/f9/0abf96c5059ce1ba115f73bc9cf33e4663b3e1 +0 -0
- data/.git/objects/f9/cf7ae572eaebbd63f809f16a5ef14b9c679790 +0 -0
- data/.git/objects/fc/300df53fe2c9467210e2fd4c2f34e1c9c7c89a +0 -0
- data/.git/objects/fc/45546596ab8debc4c9f49a7abc7fc14a7bcc7f +4 -0
- data/.git/objects/fc/68d89167f69614eda17bd56dfccb4355d818e6 +0 -0
- data/.git/objects/fc/e4c02bb132e73b3cb957da182db7b75a47c242 +0 -0
- data/.git/objects/fe/be283da7f326344013f1fc847c12c8f29ab6ef +0 -0
- data/.git/refs/heads/master +1 -0
- data/.git/refs/remotes/origin/master +1 -0
- data/.gitignore +5 -0
- data/History.txt +4 -0
- data/License.txt +22 -0
- data/Manifest.txt +291 -0
- data/README +156 -0
- data/README.txt +156 -0
- data/Rakefile +4 -0
- data/config/hoe.rb +83 -0
- data/config/requirements.rb +15 -0
- data/examples/crud_components/html/address_view_edit.xhtml +19 -0
- data/examples/crud_components/html/addresses.xhtml +20 -0
- data/examples/crud_components/html/images/destroy.gif +0 -0
- data/examples/crud_components/html/images/edit.gif +0 -0
- data/examples/crud_components/html/images/field-error-marker.gif +0 -0
- data/examples/crud_components/html/images/sort-asc.png +0 -0
- data/examples/crud_components/html/images/sort-desc.png +0 -0
- data/examples/crud_components/html/images/sortable.png +0 -0
- data/examples/crud_components/html/style/trellis.css +416 -0
- data/examples/crud_components/source/crud_components.rb +77 -0
- data/examples/crud_components/source/domain.rb +6 -0
- data/examples/examples.txt +65 -0
- data/examples/flickr/source/flickr.rb +87 -0
- data/examples/guest_book/source/guest_book.rb +61 -0
- data/examples/hangman/html/game_over.xhtml +23 -0
- data/examples/hangman/html/guess.xhtml +47 -0
- data/examples/hangman/html/images/a_disabled.png +0 -0
- data/examples/hangman/html/images/a_enabled.png +0 -0
- data/examples/hangman/html/images/b_disabled.png +0 -0
- data/examples/hangman/html/images/b_enabled.png +0 -0
- data/examples/hangman/html/images/c_disabled.png +0 -0
- data/examples/hangman/html/images/c_enabled.png +0 -0
- data/examples/hangman/html/images/d_disabled.png +0 -0
- data/examples/hangman/html/images/d_enabled.png +0 -0
- data/examples/hangman/html/images/e_disabled.png +0 -0
- data/examples/hangman/html/images/e_enabled.png +0 -0
- data/examples/hangman/html/images/f_disabled.png +0 -0
- data/examples/hangman/html/images/f_enabled.png +0 -0
- data/examples/hangman/html/images/g_disabled.png +0 -0
- data/examples/hangman/html/images/g_enabled.png +0 -0
- data/examples/hangman/html/images/h_disabled.png +0 -0
- data/examples/hangman/html/images/h_enabled.png +0 -0
- data/examples/hangman/html/images/i_disabled.png +0 -0
- data/examples/hangman/html/images/i_enabled.png +0 -0
- data/examples/hangman/html/images/j_disabled.png +0 -0
- data/examples/hangman/html/images/j_enabled.png +0 -0
- data/examples/hangman/html/images/k_disabled.png +0 -0
- data/examples/hangman/html/images/k_enabled.png +0 -0
- data/examples/hangman/html/images/l_disabled.png +0 -0
- data/examples/hangman/html/images/l_enabled.png +0 -0
- data/examples/hangman/html/images/m_disabled.png +0 -0
- data/examples/hangman/html/images/m_enabled.png +0 -0
- data/examples/hangman/html/images/n_disabled.png +0 -0
- data/examples/hangman/html/images/n_enabled.png +0 -0
- data/examples/hangman/html/images/o_disabled.png +0 -0
- data/examples/hangman/html/images/o_enabled.png +0 -0
- data/examples/hangman/html/images/p_disabled.png +0 -0
- data/examples/hangman/html/images/p_enabled.png +0 -0
- data/examples/hangman/html/images/q_disabled.png +0 -0
- data/examples/hangman/html/images/q_enabled.png +0 -0
- data/examples/hangman/html/images/r_disabled.png +0 -0
- data/examples/hangman/html/images/r_enabled.png +0 -0
- data/examples/hangman/html/images/s_disabled.png +0 -0
- data/examples/hangman/html/images/s_enabled.png +0 -0
- data/examples/hangman/html/images/t_disabled.png +0 -0
- data/examples/hangman/html/images/t_enabled.png +0 -0
- data/examples/hangman/html/images/u_disabled.png +0 -0
- data/examples/hangman/html/images/u_enabled.png +0 -0
- data/examples/hangman/html/images/v_disabled.png +0 -0
- data/examples/hangman/html/images/v_enabled.png +0 -0
- data/examples/hangman/html/images/w_disabled.png +0 -0
- data/examples/hangman/html/images/w_enabled.png +0 -0
- data/examples/hangman/html/images/x_disabled.png +0 -0
- data/examples/hangman/html/images/x_enabled.png +0 -0
- data/examples/hangman/html/images/y_disabled.png +0 -0
- data/examples/hangman/html/images/y_enabled.png +0 -0
- data/examples/hangman/html/images/z_disabled.png +0 -0
- data/examples/hangman/html/images/z_enabled.png +0 -0
- data/examples/hangman/html/resources/word_list.txt +35 -0
- data/examples/hangman/html/start.xhtml +18 -0
- data/examples/hangman/html/style/hangman.css +27 -0
- data/examples/hangman/source/hangman.rb +71 -0
- data/examples/hilo/html/game_over.xhtml +15 -0
- data/examples/hilo/html/guess.xhtml +18 -0
- data/examples/hilo/html/start.xhtml +17 -0
- data/examples/hilo/source/hilo.rb +51 -0
- data/examples/simplest/html/start.xhtml +0 -0
- data/examples/simplest/source/simplest.rb +39 -0
- data/examples/stateful_counters/html/counters.xhtml +49 -0
- data/examples/stateful_counters/html/style/main.css +441 -0
- data/examples/stateful_counters/source/stateful_counters.rb +68 -0
- data/lib/trellis/core_components.rb +870 -0
- data/lib/trellis/jquery.rb +38 -0
- data/lib/trellis/logging.rb +60 -0
- data/lib/trellis/trellis.rb +701 -0
- data/lib/trellis/utils.rb +209 -0
- data/lib/trellis/version.rb +35 -0
- data/lib/trellis.rb +27 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/txt2html +82 -0
- data/setup.rb +1585 -0
- data/tasks/deployment.rake +34 -0
- data/tasks/environment.rake +7 -0
- data/tasks/rspec.rake +21 -0
- data/tasks/website.rake +17 -0
- data/test/application_spec.rb +79 -0
- data/test/component_spec.rb +88 -0
- data/test/core_extensions_spec.rb +108 -0
- data/test/fixtures/application_spec_applications.rb +51 -0
- data/test/page_spec.rb +46 -0
- data/test/renderer_spec.rb +12 -0
- data/test/router_spec.rb +52 -0
- data/test/spec.opts +1 -0
- data/test/spec_helper.rb +16 -0
- data/website/index.html +124 -0
- data/website/index.txt +119 -0
- data/website/javascripts/rounded_corners_lite.inc.js +285 -0
- data/website/stylesheets/screen.css +138 -0
- data/website/template.html.erb +48 -0
- metadata +512 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
6
|
+
<link rel="stylesheet" type="text/css" href="/style/hangman.css" />
|
7
|
+
<title>Game Over!</title>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
<trellis:if test="!win">
|
11
|
+
<p>Bad luck. You failed to guess that the word was <trellis:value name="target"><b>education</b></trellis:value>.
|
12
|
+
</p><p>Better luck next time!</p>
|
13
|
+
</trellis:if>
|
14
|
+
|
15
|
+
<trellis:if test="win">
|
16
|
+
<p>Congratulations! You guessed that the word was <trellis:value name="target"><b>education</b></trellis:value>
|
17
|
+
with <trellis:value name="guesses_left">2</trellis:value> remaining guesses.</p>
|
18
|
+
</trellis:if>
|
19
|
+
|
20
|
+
<p>[<trellis:page_link tpage="start">Play Again</trellis:page_link>].</p>
|
21
|
+
</body>
|
22
|
+
</html>
|
23
|
+
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:trellis="http://labs.integralis.org/schema/trellis_1_0_0.xsd">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
6
|
+
<link rel="stylesheet" type="text/css" href="/style/hangman.css" />
|
7
|
+
<title>Trellis Hangman</title>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
<p><trellis:value name="guesses_left">n</trellis:value> guesses remaining</p>
|
11
|
+
<p>Word: <trellis:value name="letters">________</trellis:value></p>
|
12
|
+
|
13
|
+
<div style="width: 250px;">
|
14
|
+
<trellis:loop source="a..z" value="guess">
|
15
|
+
<div class="letter">
|
16
|
+
<trellis:if test="!guessed['${guess}']">
|
17
|
+
<trellis:action_link tid="link" context="guess">
|
18
|
+
<trellis:img alt="${guess}" style="vertical-align:middle;border:0" src="/images/${guess}_disabled.png" />
|
19
|
+
</trellis:action_link>
|
20
|
+
</trellis:if>
|
21
|
+
<trellis:if test="guessed['${guess}']">
|
22
|
+
<trellis:img alt="${guess}" style="vertical-align:middle;border:0" src="/images/${guess}_enabled.png" />
|
23
|
+
</trellis:if>
|
24
|
+
</div>
|
25
|
+
</trellis:loop>
|
26
|
+
<trellis:remove>
|
27
|
+
<!-- preview by designers -->
|
28
|
+
<div class="letter">
|
29
|
+
<img alt="" style="vertical-align:middle;border:0" src="images/a_disabled.png" />
|
30
|
+
</div>
|
31
|
+
<div class="letter">
|
32
|
+
<img alt="" style="vertical-align:middle;border:0" src="images/b_disabled.png" />
|
33
|
+
</div>
|
34
|
+
<div class="letter">
|
35
|
+
<img alt="" style="vertical-align:middle;border:0" src="images/c_disabled.png" />
|
36
|
+
</div>
|
37
|
+
<div class="letter">
|
38
|
+
<img alt="" style="vertical-align:middle;border:0" src="images/d_enabled.png" />
|
39
|
+
</div>
|
40
|
+
<div class="letter">
|
41
|
+
<img alt="" style="vertical-align:middle;border:0" src="images/e_disabled.png" />
|
42
|
+
</div>
|
43
|
+
<!-- end of preview -->
|
44
|
+
</trellis:remove>
|
45
|
+
</div>
|
46
|
+
</body>
|
47
|
+
</html>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,35 @@
|
|
1
|
+
tapestry
|
2
|
+
trellis
|
3
|
+
peanut
|
4
|
+
pinball
|
5
|
+
helmet
|
6
|
+
stereo
|
7
|
+
citadel
|
8
|
+
gargoyle
|
9
|
+
cranium
|
10
|
+
axiom
|
11
|
+
media
|
12
|
+
virus
|
13
|
+
orbit
|
14
|
+
wizard
|
15
|
+
golden
|
16
|
+
revenge
|
17
|
+
bowling
|
18
|
+
annual
|
19
|
+
mercy
|
20
|
+
anatomy
|
21
|
+
zanzibar
|
22
|
+
pepper
|
23
|
+
connect
|
24
|
+
monster
|
25
|
+
impress
|
26
|
+
doctor
|
27
|
+
horror
|
28
|
+
cooking
|
29
|
+
virtual
|
30
|
+
power
|
31
|
+
freight
|
32
|
+
formula
|
33
|
+
board
|
34
|
+
eclipse
|
35
|
+
biology
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
6
|
+
<link rel="stylesheet" type="text/css" href="/style/hangman.css" />
|
7
|
+
<title>Trellis Hangman</title>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
<h1>Trellis Hangman</h1>
|
11
|
+
|
12
|
+
<p>Are you ready to play? ... </p>
|
13
|
+
|
14
|
+
<p>
|
15
|
+
<trellis:action_link>Start playing</trellis:action_link>
|
16
|
+
</p>
|
17
|
+
</body>
|
18
|
+
</html>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
body {
|
2
|
+
background-color: white;
|
3
|
+
color: #555555;
|
4
|
+
font-family: 'Lucida Sans', 'Helvetica', 'Sans-serif', 'sans';
|
5
|
+
font-size: 9pt;
|
6
|
+
line-height: 1.8em;
|
7
|
+
padding: 1em;
|
8
|
+
margin: 1em;
|
9
|
+
}
|
10
|
+
|
11
|
+
form {
|
12
|
+
padding: 0;
|
13
|
+
margin: 0;
|
14
|
+
display: inline;
|
15
|
+
}
|
16
|
+
|
17
|
+
.letter {
|
18
|
+
width: 30px;
|
19
|
+
height: 30px;
|
20
|
+
margin: 2px;
|
21
|
+
float: left;
|
22
|
+
}
|
23
|
+
|
24
|
+
a {
|
25
|
+
color: black;
|
26
|
+
}
|
27
|
+
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'trellis'
|
3
|
+
|
4
|
+
include Trellis
|
5
|
+
|
6
|
+
module Hangman
|
7
|
+
class HangmanGame < Application
|
8
|
+
home :start
|
9
|
+
pages :guess, :game_over
|
10
|
+
|
11
|
+
map_static ['/images', '/style', '/favicon.ico']
|
12
|
+
end
|
13
|
+
|
14
|
+
class Start < Page
|
15
|
+
pages :guess
|
16
|
+
|
17
|
+
@@words = Array.new
|
18
|
+
File.open("#{File.dirname($0)}/../html/resources/word_list.txt", "r").each do |word|
|
19
|
+
@@words << word.strip
|
20
|
+
end
|
21
|
+
|
22
|
+
def on_select
|
23
|
+
@guess.set_target_word = @@words[rand(@@words.size)]
|
24
|
+
@guess
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
class Guess < Page
|
29
|
+
pages :game_over
|
30
|
+
persistent :target, :guesses_left, :letters, :guessed, :win
|
31
|
+
|
32
|
+
def on_select_from_link(value)
|
33
|
+
next_page = self
|
34
|
+
@guessed[value] = true
|
35
|
+
|
36
|
+
if @target.include?(value)
|
37
|
+
@letters.each_index { |index| @letters[index] = value if @target[index] == value }
|
38
|
+
else
|
39
|
+
@guesses_left = @guesses_left - 1
|
40
|
+
end
|
41
|
+
|
42
|
+
@win = !@letters.include?('_')
|
43
|
+
|
44
|
+
if @win || @guesses_left == 0
|
45
|
+
next_page = @game_over
|
46
|
+
@game_over.target = @target
|
47
|
+
@game_over.win = @win
|
48
|
+
@game_over.guesses_left = @guesses_left
|
49
|
+
end
|
50
|
+
|
51
|
+
next_page
|
52
|
+
end
|
53
|
+
|
54
|
+
def set_target_word=(value)
|
55
|
+
@win = false
|
56
|
+
@guesses_left = 5
|
57
|
+
@target = Array.new
|
58
|
+
value.scan(/.{1}/).each { |char| @target << char }
|
59
|
+
@letters = Array.new(@target.length, '_')
|
60
|
+
@guessed = Hash.new(false)
|
61
|
+
('a'..'z').each { |letter| @guessed[letter] = false }
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
class GameOver < Page
|
66
|
+
attr_accessor :target, :win, :guesses_left
|
67
|
+
end
|
68
|
+
|
69
|
+
web_app = HangmanGame.new
|
70
|
+
web_app.start 3010 if __FILE__ == $PROGRAM_NAME
|
71
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
6
|
+
<title>Game Over!</title>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<h1>Game Over</h1>
|
10
|
+
|
11
|
+
<p>You guessed the secret number in <trellis:value name="count">n</trellis:value> guesses!</p>
|
12
|
+
<p>[<trellis:page_link tpage="start">Play Again</trellis:page_link>]</p>
|
13
|
+
</body>
|
14
|
+
</html>
|
15
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
6
|
+
<title>Guess A Number</title>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<p>Make a guess between one and ten:</p>
|
10
|
+
<p><trellis:value name="message">Too low or two high message</trellis:value></p>
|
11
|
+
|
12
|
+
<trellis:loop source="1..10" value="guess">
|
13
|
+
<trellis:action_link tid="link" context="guess">
|
14
|
+
<trellis:value name="guess">guess</trellis:value>
|
15
|
+
</trellis:action_link>
|
16
|
+
</trellis:loop>
|
17
|
+
</body>
|
18
|
+
</html>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
6
|
+
<title>Hi/Lo Game Start Page</title>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<h1>Hi/Lo Guess</h1>
|
10
|
+
|
11
|
+
<p>I'm thinking of a number between one and ten ... </p>
|
12
|
+
|
13
|
+
<p>
|
14
|
+
<trellis:action_link>Start guessing</trellis:action_link>
|
15
|
+
</p>
|
16
|
+
</body>
|
17
|
+
</html>
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'trellis'
|
3
|
+
|
4
|
+
include Trellis
|
5
|
+
|
6
|
+
module HiLo
|
7
|
+
|
8
|
+
class HiLoGame < Application
|
9
|
+
home :start
|
10
|
+
pages :guess, :game_over
|
11
|
+
end
|
12
|
+
|
13
|
+
class Start < Page
|
14
|
+
pages :guess
|
15
|
+
|
16
|
+
def on_select
|
17
|
+
@guess.target = rand(10);
|
18
|
+
return @guess
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class Guess < Page
|
23
|
+
pages :game_over
|
24
|
+
persistent :target, :message, :count
|
25
|
+
|
26
|
+
def on_select_from_link(value)
|
27
|
+
guess_val = value.to_i
|
28
|
+
next_page = self
|
29
|
+
@count = @count + 1
|
30
|
+
if guess_val == @target
|
31
|
+
@game_over.count = @count
|
32
|
+
next_page = @game_over
|
33
|
+
else
|
34
|
+
@message = "Guess #{guess_val} is too #{guess_val < @target ? 'low' : 'high'}"
|
35
|
+
end
|
36
|
+
|
37
|
+
next_page
|
38
|
+
end
|
39
|
+
|
40
|
+
def target=(value)
|
41
|
+
@target, @count, @message = value, 0, ''
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
class GameOver < Page
|
46
|
+
attr_accessor :count
|
47
|
+
end
|
48
|
+
|
49
|
+
web_app = HiLoGame.new
|
50
|
+
web_app.start 3001 if __FILE__ == $PROGRAM_NAME
|
51
|
+
end
|
File without changes
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'trellis'
|
3
|
+
|
4
|
+
include Trellis
|
5
|
+
|
6
|
+
module Simplest
|
7
|
+
|
8
|
+
class Simplest < Application
|
9
|
+
home :start
|
10
|
+
end
|
11
|
+
|
12
|
+
class Start < Page
|
13
|
+
attr_accessor :current_time
|
14
|
+
|
15
|
+
def initialize
|
16
|
+
@current_time = Time.now
|
17
|
+
end
|
18
|
+
|
19
|
+
template do # using Markaby
|
20
|
+
xhtml_strict {
|
21
|
+
head { title "Simplest Trellis Application" }
|
22
|
+
body {
|
23
|
+
h1 "Simplest Trellis Application"
|
24
|
+
p "One Application, One Page, Two Components"
|
25
|
+
p "The time below should change after each request."
|
26
|
+
p {
|
27
|
+
text "The current time is: "
|
28
|
+
text %[<trellis:value name="current_time">${currentTime}.</trellis:value>]
|
29
|
+
}
|
30
|
+
p {
|
31
|
+
text %[[<trellis:page_link tpage="start">refresh</trellis:page_link>]]
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
Simplest.new.start if __FILE__ == $PROGRAM_NAME
|
39
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
4
|
+
<head>
|
5
|
+
<title>Trellis: Multi Counter</title>
|
6
|
+
<link rel="stylesheet" type="text/css" media="all" href="style/main.css"/>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<div id="wrap">
|
10
|
+
<div id="desk" class="wide">
|
11
|
+
<div id="body" class="columns">
|
12
|
+
<div id="content" class="triple">
|
13
|
+
<h1 class="heading">Multi Counter</h1>
|
14
|
+
<p>The multicounter show multiple instances of a stateful component. It displays several instances of the same counter component.</p>
|
15
|
+
<p>
|
16
|
+
|
17
|
+
</p>
|
18
|
+
<div class="paragraph">
|
19
|
+
<div class="trellis">
|
20
|
+
<trellis:remove>
|
21
|
+
<h1>1</h1>
|
22
|
+
<a href="add_link">++</a> <a href="subtract_link">--</a>
|
23
|
+
<hr/>
|
24
|
+
<h1>1</h1>
|
25
|
+
<a href="add_link">++</a> <a href="subtract_link">--</a>
|
26
|
+
<hr/>
|
27
|
+
<h1>1</h1>
|
28
|
+
<a href="add_link">++</a> <a href="subtract_link">--</a>
|
29
|
+
<hr/>
|
30
|
+
<h1>0</h1>
|
31
|
+
<a href="add_link">++</a> <a href="subtract_link">--</a>
|
32
|
+
<hr/>
|
33
|
+
<h1>0</h1>
|
34
|
+
<a href="add_link">++</a> <a href="subtract_link">--</a>
|
35
|
+
</trellis:remove>
|
36
|
+
<trellis:counter tid="one" />
|
37
|
+
<hr/>
|
38
|
+
<trellis:counter tid="two" />
|
39
|
+
<hr/>
|
40
|
+
<trellis:counter tid="three" />
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
<trellis:action_link tid="reset">Reset all counters</trellis:action_link>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
</body>
|
49
|
+
</html>
|