hobo 0.6.4 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. data/bin/hobo +4 -6
  2. data/hobo_files/plugin/CHANGES.txt +170 -0
  3. data/hobo_files/plugin/generators/hobo_front_controller/templates/index.dryml +9 -9
  4. data/hobo_files/plugin/generators/hobo_front_controller/templates/search.dryml +9 -9
  5. data/hobo_files/plugin/generators/hobo_migration/hobo_migration_generator.rb +7 -2
  6. data/hobo_files/plugin/generators/hobo_rapid/hobo_rapid_generator.rb +4 -4
  7. data/hobo_files/plugin/generators/hobo_rapid/templates/{hobo_rapid.css → hobo-rapid.css} +0 -0
  8. data/hobo_files/plugin/generators/hobo_rapid/templates/{hobo_rapid.js → hobo-rapid.js} +66 -47
  9. data/hobo_files/plugin/generators/hobo_rapid/templates/lowpro.js +130 -44
  10. data/hobo_files/plugin/generators/hobo_rapid/templates/{hobo_base.css → reset.css} +0 -5
  11. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/clean/public/images/pencil.png +0 -0
  12. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/clean/public/images/small_close.png +0 -0
  13. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/clean/public/stylesheets/application.css +45 -0
  14. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/clean/public/stylesheets/rapid_ui.css +167 -0
  15. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/clean/views/application.dryml +10 -0
  16. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_bodytop.gif → bkg-bodytop.gif} +0 -0
  17. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_corner_01.gif → bkg-corner-01.gif} +0 -0
  18. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_corner_02.gif → bkg-corner-02.gif} +0 -0
  19. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_corner_03.gif → bkg-corner-03.gif} +0 -0
  20. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_corner_04.gif → bkg-corner-04.gif} +0 -0
  21. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_shadow_bottom.gif → bkg-shadow-bottom.gif} +0 -0
  22. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_shadow_left.gif → bkg-shadow-left.gif} +0 -0
  23. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_shadow_right.gif → bkg-shadow-right.gif} +0 -0
  24. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_shadow_top.gif → bkg-shadow-top.gif} +0 -0
  25. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{header_blue.gif → header-blue.gif} +0 -0
  26. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{header_dblue.gif → header-dblue.gif} +0 -0
  27. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{header_green.gif → header-green.gif} +0 -0
  28. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{header_purple.gif → header-purple.gif} +0 -0
  29. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{header_red.gif → header-red.gif} +0 -0
  30. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{txt_list_img_dblue.gif → txt-list-img-dblue.gif} +0 -0
  31. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{txt_list_img_green.gif → txt-list-img-green.gif} +0 -0
  32. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{txt_list_img_purple.gif → txt-list-img-purple.gif} +0 -0
  33. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{txt_list_img_red.gif → txt-list-img-red.gif} +0 -0
  34. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_corner_01.gif → window-corner-01.gif} +0 -0
  35. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_corner_02.gif → window-corner-02.gif} +0 -0
  36. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_corner_03.gif → window-corner-03.gif} +0 -0
  37. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_corner_04.gif → window-corner-04.gif} +0 -0
  38. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_shadow_bottom.gif → window-shadow-bottom.gif} +0 -0
  39. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_shadow_left.gif → window-shadow-left.gif} +0 -0
  40. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_shadow_right.gif → window-shadow-right.gif} +0 -0
  41. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_shadow_top.gif → window-shadow-top.gif} +0 -0
  42. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/stylesheets/application.css +69 -69
  43. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/views/application.dryml +39 -53
  44. data/hobo_files/plugin/generators/hobo_user_model/templates/model.rb +1 -1
  45. data/hobo_files/plugin/lib/extensions.rb +0 -16
  46. data/hobo_files/plugin/lib/hobo/dryml/part_context.rb +1 -1
  47. data/hobo_files/plugin/lib/hobo/dryml/tag_parameters.rb +35 -0
  48. data/hobo_files/plugin/lib/hobo/dryml/taglib.rb +2 -2
  49. data/hobo_files/plugin/lib/hobo/dryml/template.rb +165 -236
  50. data/hobo_files/plugin/lib/hobo/dryml/template_environment.rb +158 -123
  51. data/hobo_files/plugin/lib/hobo/hobo_helper.rb +15 -4
  52. data/hobo_files/plugin/lib/hobo/model.rb +30 -11
  53. data/hobo_files/plugin/lib/hobo/model_controller.rb +13 -9
  54. data/hobo_files/plugin/lib/hobo/model_router.rb +27 -7
  55. data/hobo_files/plugin/lib/hobo/static_tags +0 -2
  56. data/hobo_files/plugin/lib/hobo/user.rb +3 -3
  57. data/hobo_files/plugin/lib/rexml.rb +10 -3
  58. data/hobo_files/plugin/tags/core.dryml +11 -16
  59. data/hobo_files/plugin/tags/rapid.dryml +147 -110
  60. data/hobo_files/plugin/tags/rapid_document_tags.dryml +22 -20
  61. data/hobo_files/plugin/tags/rapid_editing.dryml +41 -41
  62. data/hobo_files/plugin/tags/rapid_forms.dryml +51 -49
  63. data/hobo_files/plugin/tags/rapid_navigation.dryml +34 -34
  64. data/hobo_files/plugin/tags/rapid_pages.dryml +174 -174
  65. data/hobo_files/plugin/tags/rapid_plus.dryml +19 -19
  66. data/hobo_files/plugin/tags/rapid_support.dryml +5 -5
  67. data/hobo_files/plugin/tasks/dump_fixtures.rake +62 -53
  68. data/hobo_files/plugin/tasks/fix_dryml.rake +144 -0
  69. data/hobo_files/plugin/tasks/hobo_tasks.rake +0 -4
  70. metadata +43 -32
  71. data/hobo_files/plugin/lib/hobo/dryml/tag_module.rb +0 -9
@@ -5,34 +5,34 @@
5
5
  <!--- General Navigation -->
6
6
 
7
7
  <def tag="navigation" attrs="current">
8
- <ul merge_attrs>
9
- <set_scoped current_navigation="&current">
10
- <tagbody/>
11
- </set_scoped>
8
+ <ul merge-attrs>
9
+ <set-scoped current-navigation="&current">
10
+ <do param="default"/>
11
+ </set-scoped>
12
12
  </ul>
13
13
  </def>
14
14
 
15
- <def tag="nav_item">
16
- <set body="&tagbody.call"/>
15
+ <def tag="nav-item">
16
+ <set body="&parameters.default"/>
17
17
  <li class="#{'current' if (c = scope.current_navigation) && c.downcase == body.downcase.gsub(/<.*?>/, '').strip}"
18
- merge_attrs="&attributes - attrs_for(:a)">
19
- <a merge_attrs="&attributes & attrs_for(:a)"><%= body %></a>
18
+ merge-attrs="&attributes - attrs_for(:a)">
19
+ <a merge-attrs="&attributes & attrs_for(:a)"><%= body %></a>
20
20
  </li>
21
21
  </def>
22
22
 
23
23
 
24
24
  <!--- Account Navigation (log in / out / signup) -->
25
25
 
26
- <def tag="account_nav">
27
- <ul class="account_nav">
26
+ <def tag="account-nav">
27
+ <ul class="account-nav">
28
28
  <if test="&logged_in?">
29
- <li class='nav_item'>Logged in as <view:login with="&current_user"/></li>
30
- <li class='nav_item'><a href="&logout_url">Log out</a></li>
29
+ <li class='nav-item'>Logged in as <view:login with="&current_user"/></li>
30
+ <li class='nav-item'><a href="&logout_url">Log out</a></li>
31
31
  </if>
32
32
  <else>
33
33
  <set user="&Hobo::UserController.user_models.first"/>
34
- <li class='nav_item'><a href="&login_url(user)">Log in</a></li>
35
- <li if="&signup_url(user)" class='nav_item'><a href="&signup_url(user)">Sign up</a></li>
34
+ <li class='nav-item'><a href="&login_url(user)">Log in</a></li>
35
+ <li if="&signup_url(user)" class='nav-item'><a href="&signup_url(user)">Sign up</a></li>
36
36
  </else>
37
37
  </ul>
38
38
  </def>
@@ -40,59 +40,59 @@
40
40
 
41
41
  <!--- Pagination Navigation -->
42
42
 
43
- <def tag="page_nav" attrs="params">
43
+ <def tag="page-nav" attrs="params">
44
44
  <if test="&@pages && @pages.length > 1">
45
- <page_n_of_count/> -
46
- <first_page_link params="&params">|&lt;</first_page_link>
47
- <previous_page_link params="&params">Previous</previous_page_link>
48
- <next_page_link params="&params">Next</next_page_link>
49
- <last_page_link params="&params">&gt|</last_page_link>
45
+ <page-n-of-count/> -
46
+ <first-page-link params="&params">|&lt;</first-page-link>
47
+ <previous-page-link params="&params">Previous</previous-page-link>
48
+ <next-page-link params="&params">Next</next-page-link>
49
+ <last-page-link params="&params">&gt|</last-page-link>
50
50
  </if>
51
51
  </def>
52
52
 
53
53
 
54
- <def tag="page_n_of_count">
54
+ <def tag="page-n-of-count">
55
55
  Page <%= @pages.current_page.number %> of <%= @pages.length %>
56
56
  </def>
57
57
 
58
58
 
59
- <def tag="previous_page_link">
59
+ <def tag="previous-page-link">
60
60
  <a if="&@pages && @pages.current.previous"
61
61
  href="&url_for(params.merge(:page => @pages.current.previous))">
62
- <tagbody>&laquo; Previous page</tagbody>
62
+ <do param="default">&laquo; Previous page</do>
63
63
  </a>
64
64
  </def>
65
65
 
66
66
 
67
- <def tag="next_page_link">
67
+ <def tag="next-page-link">
68
68
  <a if="&@pages && @pages.current.next"
69
69
  href="&url_for(params.merge(:page => @pages.current.next))">
70
- <tagbody>Next page &raqou;</tagbody>
70
+ <do param="default">Next page &raqou;</do>
71
71
  </a>
72
72
  </def>
73
73
 
74
74
 
75
- <def tag="first_page_link">
75
+ <def tag="first-page-link">
76
76
  <a if="&@pages && @pages.first_page && @pages.current != @pages.first_page"
77
77
  href="&url_for(params.merge(:page => @pages.first_page))">
78
- <tagbody>&laquo; First page</tagbody>
78
+ <do param="default">&laquo; First page</do>
79
79
  </a>
80
80
  </def>
81
81
 
82
82
 
83
- <def tag="last_page_link">
83
+ <def tag="last-page-link">
84
84
  <a if="&@pages && @pages.last_page && @pages.current != @pages.last_page"
85
85
  href="&url_for(params.merge(:page => @pages.last_page))">
86
- <tagbody>Last page &raquo;</tagbody>
86
+ <do param="default">Last page &raquo;</do>
87
87
  </a>
88
88
  </def>
89
89
 
90
90
  <!-- magic nav, just to get you started -->
91
91
  <!-- write your own navigation using the <navigation> tag -->
92
- <def tag="magic_nav">
93
- <navigation merge_attrs>
94
- <nav_item href="#{base_url}/">Home</nav_item>
95
- <nav_item repeat="&Hobo.models[0..2]"><name/></nav_item>
96
- <nav_item href="&search_url" if="&defined_route? :search">Search</nav_item>
92
+ <def tag="magic-nav">
93
+ <navigation merge-attrs>
94
+ <nav-item href="#{base_url}/">Home</nav-item>
95
+ <nav-item repeat="&Hobo.models.select{|m| [0..2]}"><name/></nav-item>
96
+ <nav-item href="&search_url" if="&defined_route? :search">Search</nav-item>
97
97
  </navigation>
98
98
  </def>
@@ -1,11 +1,11 @@
1
- <def tag="BasePage" attrs="title, doctype">
1
+ <def tag="base-page" attrs="title, doctype">
2
2
  <% title ||= request.request_uri %>
3
3
  <doctype version="&doctype || 'HTML 4.01 STRICT'"/>
4
4
  <html>
5
5
  <head param>
6
6
  <title param><%= title %></title>
7
7
  <do param="stylesheets">
8
- <stylesheet name="hobo_base"/>
8
+ <stylesheet name="reset"/>
9
9
  <stylesheet name="application"/>
10
10
  </do>
11
11
  <do param="scripts">
@@ -18,273 +18,273 @@
18
18
  </def>
19
19
 
20
20
 
21
- <def tag="Page">
22
- <BasePage merge>
23
- <stylesheets param>
24
- <stylesheet name="hobo_base"/>
25
- <stylesheet name="hobo_rapid"/>
21
+ <def tag="page">
22
+ <base-page merge>
23
+ <stylesheets: param>
24
+ <stylesheet name="reset"/>
25
+ <stylesheet name="hobo-rapid"/>
26
26
  <stylesheet name="application"/>
27
27
  </stylesheets>
28
28
 
29
- <scripts param>
30
- <javascript name="prototype, effects, dragdrop, controls, lowpro, hobo_rapid, application"/>
31
- <hobo_rapid_javascripts param/>
29
+ <scripts: param>
30
+ <javascript name="prototype, effects, dragdrop, controls, lowpro, hobo-rapid, application"/>
31
+ <hobo-rapid-javascripts param/>
32
32
  </scripts>
33
33
 
34
- <body param>
35
- <div class="page_wrapper" param="wrapper">
36
- <ajax_progress/>
37
- <header class="page_header" param>
34
+ <body: param>
35
+ <div class="page-wrapper" param="wrapper">
36
+ <ajax-progress/>
37
+ <header class="page-header" param>
38
38
  <nav param>
39
- <magic_nav class="main_nav" param="main_nav"/>
40
- <account_nav if="&Hobo::UserController.user_models.first" param/>
39
+ <magic-nav class="main-nav" param="main-nav"/>
40
+ <account-nav if="&Hobo::UserController.user_models.first" param/>
41
41
  </nav>
42
42
  </header>
43
- <section class="page_content" param="content">
44
- <header class="content_header" param="content_header"/>
45
- <flash_message param/>
46
- <section class="content_body" param="content_body"/>
47
- <footer class="content_footer" param="content_footer"/>
43
+ <section class="page-content" param="content">
44
+ <header class="content-header" param="content-header"/>
45
+ <flash-message param/>
46
+ <section class="content-body" param="content-body"/>
47
+ <footer class="content-footer" param="content-footer"/>
48
48
  </section>
49
- <footer class="page_footer" param/>
49
+ <footer class="page-footer" param/>
50
50
  </div>
51
51
  </body>
52
- </BasePage>
52
+ </base-page>
53
53
  </def>
54
54
 
55
- <def tag="PageWithoutAside" alias_of="Page"/>
56
- <def tag="PageWithAside">
57
- <PageWithoutAside merge>
58
- <content>
59
- <section class="main_content" param="main_content">
60
- <default_tagbody for="content"/>
55
+ <def tag="page-without-aside" alias-of="page"/>
56
+ <def tag="page-with-aside">
57
+ <page-without-aside merge>
58
+ <content:>
59
+ <section class="main-content" param="main-content">
60
+ <default-tagbody for="content"/>
61
61
  </section>
62
- <aside class="aside_content" param/>
62
+ <aside class="aside-content" param/>
63
63
  </content>
64
- </PageWithoutAside>
64
+ </page-without-aside>
65
65
  </def>
66
66
 
67
67
 
68
- <def tag="PageForIndex"><Page merge/></def>
69
- <def tag="PageForNew"><Page merge/></def>
70
- <def tag="PageForShow"><Page merge/></def>
71
- <def tag="PageForEdit"><Page merge/></def>
72
- <def tag="PageForNewInCollection"><Page merge/></def>
73
- <def tag="PageForShowCollection"><Page merge/></def>
68
+ <def tag="page-for-index"><page merge/></def>
69
+ <def tag="page-for-new"><page merge/></def>
70
+ <def tag="page-for-show"><page merge/></def>
71
+ <def tag="page-for-edit"><page merge/></def>
72
+ <def tag="page-for-new-in-collection"><page merge/></def>
73
+ <def tag="page-for-show-collection"><page merge/></def>
74
74
 
75
75
 
76
- <def tag="IndexPage">
76
+ <def tag="index-page">
77
77
  <% model_name = @model.name.titleize %>
78
- <PageForIndex title="All #{model_name.pluralize}" merge>
79
- <body class="index_page #{@model.name.underscore.pluralize}" param/>
80
- <content_header param>
78
+ <page-for-index title="All #{model_name.pluralize}" merge>
79
+ <body: class="index-page #{@model.name.underscore.pluralize}" param/>
80
+ <content-header: param>
81
81
  <heading param><%= model_name.pluralize %></heading>
82
- <p class="note" param>There <count part="item_count" prefix="are" with="&@model"/></p>
83
- </content_header>
82
+ <p class="note" param>There <do with="&@model"><count part="item-count" prefix="are"/></do></p>
83
+ </content-header>
84
84
 
85
- <content_body param>
86
- <nav param="top_pagination_nav"><page_nav/></nav>
85
+ <content-body: param>
86
+ <nav param="top-pagination-nav"><page-nav/></nav>
87
87
 
88
- <Table param>
89
- <tr><td><a/></td><td><delete_button update="item_count"/></td></tr>
90
- </Table>
88
+ <table param>
89
+ <tr:><td><a/></td><td><delete-button update="item-count"/></td></tr>
90
+ </table>
91
91
 
92
- <nav param="bottom_pagination_nav"><page_nav/></nav>
93
- </content_body>
92
+ <nav param="bottom-pagination-nav"><page-nav/></nav>
93
+ </content-body>
94
94
 
95
- <content_footer param>
96
- <a to="&@model" action="new" param="new_link"/>
97
- </content_footer>
98
- </PageForIndex>
95
+ <content-footer: param>
96
+ <a to="&@model" action="new" param="new-link"/>
97
+ </content-footer>
98
+ </page-for-index>
99
99
  </def>
100
100
 
101
101
 
102
- <def tag="NewPage">
103
- <PageForNew title="New #{type_name}" merge>
104
- <body class="new_page #{type_name.underscore}" param/>
105
- <content_header param>
106
- <heading param>New <type_name title/></heading>
107
- </content_header>
102
+ <def tag="new-page">
103
+ <page-for-new title="New #{type_name}" merge>
104
+ <body: class="new-page #{type_name.underscore}" param/>
105
+ <content-header: param>
106
+ <heading param>New <type-name title/></heading>
107
+ </content-header>
108
108
 
109
- <content_body param>
110
- <ErrorMessages param/>
109
+ <content-body: param>
110
+ <error-messages param/>
111
111
 
112
112
  <form param>
113
- <FieldList skip_associations="has_many" param/>
113
+ <field-list skip-associations="has_many" param/>
114
114
  <submit label="Create" param/>
115
115
  </form>
116
- </content_body>
117
- </PageForNew>
116
+ </content-body>
117
+ </page-for-new>
118
118
  </def>
119
119
 
120
120
 
121
- <def tag="ShowPage">
121
+ <def tag="show-page">
122
122
  <% has_many_assocs = this.class.reflections.values.map do |refl|
123
123
  this.send(refl.name) if Hobo.simple_has_many_association?(refl)
124
124
  end.compact
125
125
  %>
126
- <PageForShow merge title="#{name :no_wrapper => true}">
127
- <body class="show_page #{type_name.underscore}" param/>
128
- <content_header param>
129
- <heading param><type_name/><if test="&this.respond_to? :name">: <editor:name/></if></heading>
130
- <delete_button in_place="&false" param/>
131
- </content_header>
126
+ <page-for-show merge title="#{name :no_wrapper => true}">
127
+ <body: class="show-page #{type_name.underscore}" param/>
128
+ <content-header: param>
129
+ <heading param><type-name/><if test="&this.respond_to? :name">: <editor:name/></if></heading>
130
+ <delete-button in-place="&false" param/>
131
+ </content-header>
132
132
 
133
- <content_body param>
134
- <FieldList skip="name" tag="editor" param/>
133
+ <content-body: param>
134
+ <field-list skip="name" tag="editor" param/>
135
135
 
136
- <nav param="new_links">
137
- <UL with="&has_many_assocs">
138
- <li><a action="new"/></li>
139
- </UL>
136
+ <nav param="new-links">
137
+ <ul with="&has_many_assocs">
138
+ <li:><a action="new"/></li>
139
+ </ul>
140
140
  </nav>
141
- </content_body>
142
- </PageForShow>
141
+ </content-body>
142
+ </page-for-show>
143
143
  </def>
144
144
 
145
145
 
146
- <def tag="EditPage">
147
- <PageForEdit merge>
148
- <body class="edit_page #{this.class.name.underscore}" param/>
149
- <content_header param>
150
- <heading><type_name/><if test="&this.respond_to? :name">: <name/></if></heading>
151
- <delete_button in_place="&false" param/>
152
- </content_header>
146
+ <def tag="edit-page">
147
+ <page-for-edit merge>
148
+ <body: class="edit-page #{this.class.name.underscore}" param/>
149
+ <content-header: param>
150
+ <heading><type-name/><if test="&this.respond_to? :name">: <name/></if></heading>
151
+ <delete-button in-place="&false" param/>
152
+ </content-header>
153
153
 
154
- <content_body param>
155
- <ErrorMessages param/>
154
+ <content-body: param>
155
+ <error-messages param/>
156
156
  <form param>
157
- <FieldList skip_associations="has_many" param/>
157
+ <field-list skip-associations="has_many" param/>
158
158
  <submit label="Save"/>
159
159
  </form>
160
160
 
161
- </content_body>
162
- </PageForEdit>
161
+ </content-body>
162
+ </page-for-edit>
163
163
  </def>
164
164
 
165
165
 
166
- <def tag="NewInCollectionPage">
167
- <PageForNewInCollection title="New #{type_name}" merge>
168
- <body class="new_in_collection_page #{type_name(:with => @owner)} #{type_name}" param/>
169
- <content_header param>
170
- <heading param>New <type_name/></heading>
171
- <sub_heading param>For: <a with="&@owner" /></sub_heading>
172
- </content_header>
166
+ <def tag="new-in-collection-page">
167
+ <page-for-new-in-collection title="New #{type_name}" merge>
168
+ <body: class="new-in-collection-page #{type_name(:with => @owner)} #{type_name}" param/>
169
+ <content-header: param>
170
+ <heading param>New <type-name/></heading>
171
+ <sub-heading param>For: <a with="&@owner" /></sub-heading>
172
+ </content-header>
173
173
 
174
- <content_body param>
175
- <ErrorMessages/>
174
+ <content-body: param>
175
+ <error-messages/>
176
176
 
177
177
  <form param>
178
- <FieldList skip_associations="has_many" param/>
178
+ <field-list skip-associations="has_many" param/>
179
179
  <submit label='Add to #{name(:with => @owner, :no_wrapper => true)}' param/>
180
180
  </form>
181
- </content_body>
182
- </PageForNewInCollection>
181
+ </content-body>
182
+ </page-for-new-in-collection>
183
183
  </def>
184
184
 
185
185
 
186
- <def tag="ShowCollectionPage">
186
+ <def tag="show-collection-page">
187
187
  <% title = "#{@reflection.name.to_s.titleize} for #{name(:with => @owner)}" %>
188
- <PageForShowCollection title="&title" merge>
189
- <body class="show_collection_page #{type_name(:with => @owner)} #{type_name(:pluralize => true)}"
188
+ <page-for-show-collection title="&title" merge>
189
+ <body: class="show-collection-page #{type_name(:with => @owner)} #{type_name(:pluralize => true)}"
190
190
  param/>
191
- <content_header param>
191
+ <content-header: param>
192
192
  <nav>Back to <a with="&@owner"/></nav>
193
193
  <heading><%= title %></heading>
194
- <sub_heading><count with="&@pages.item_count" label="&@reflection.klass.name.titleize"/></sub_heading>
195
- </content_header>
194
+ <sub-heading><count with="&@pages.item_count" label="&@reflection.klass.name.titleize"/></sub-heading>
195
+ </content-header>
196
196
 
197
- <content_body param>
198
- <nav param="top_pagination_nav"><page_nav/></nav>
197
+ <content-body: param>
198
+ <nav param="top-pagination-nav"><page-nav/></nav>
199
199
 
200
- <Table param="Table">
201
- <tr>
202
- <if test="can_view?">
203
- <td><a/></td><td><delete_button/></td>
200
+ <table param="Table">
201
+ <tr:>
202
+ <if test="&can_view?">
203
+ <td><a/></td><td><delete-button/></td>
204
204
  </if>
205
205
  </tr>
206
- </Table>
206
+ </table>
207
207
 
208
- <nav param="bottom_pagination_nav"><page_nav param/></nav>
208
+ <nav param="bottom-pagination-nav"><page-nav param/></nav>
209
209
 
210
- <nav if="&Hobo.simple_has_many_association?(@association)" param="new_link">
210
+ <nav if="&Hobo.simple_has_many_association?(@association)" param="new-link">
211
211
  <a to="&@association" action="new"/>
212
212
  </nav>
213
- </content_body>
214
- </PageForShowCollection>
213
+ </content-body>
214
+ </page-for-show-collection>
215
215
  </def>
216
216
 
217
217
 
218
- <def tag="LoginPage" attrs="remember_me">
219
- <Page title="Log In" merge>
220
- <body class="login_page" param/>
221
- <nav replace/>
222
- <content_header param>
218
+ <def tag="login-page" attrs="remember-me">
219
+ <page title="Log In" merge>
220
+ <body: class="login-page" param/>
221
+ <nav: replace/>
222
+ <content-header: param>
223
223
  <heading param>Log In</heading>
224
- </content_header>
224
+ </content-header>
225
225
 
226
- <content_body param>
226
+ <content-body: param>
227
227
  <form action="&request.request_uri" param>
228
- <field_list>
229
- <field_list_item>
230
- <item_label param="login_label"><%= model.login_attr.to_s.titleize %></item_label>
231
- <item_value><input type="text" name="login" id="login" param="login_input" /></item_value>
232
- </field_list_item>
233
-
234
- <field_list_item>
235
- <item_label param="password_label">Password</item_label>
236
- <item_value><input type="password" name="password" id="password" param="password_input"/></item_value>
237
- </field_list_item>
238
-
239
- <field_list_item if="&remember_me">
240
- <item_label class="field_label" param="remember_me_label">Remember me:</item_label>
241
- <item_value><input type="checkbox" name="remember_me" id="remember_me" param="remember_me_input"/></item_value>
242
- </field_list_item>
243
- </field_list>
228
+ <labelled-item-list>
229
+ <labelled-item>
230
+ <item-label param="login-label"><%= model.login_attr.to_s.titleize %></item-label>
231
+ <item-value><input type="text" name="login" id="login" param="login-input" /></item-value>
232
+ </labelled-item>
233
+
234
+ <labelled-item>
235
+ <item-label param="password-label">Password</item-label>
236
+ <item-value><input type="password" name="password" id="password" param="password-input"/></item-value>
237
+ </labelled-item>
238
+
239
+ <labelled-item if="&remember_me">
240
+ <item-label class="field-label" param="remember-me-label">Remember me:</item-label>
241
+ <item-value><input type="checkbox" name="remember_me" id="remember-me" param="remember-me-input"/></item-value>
242
+ </labelled-item>
243
+ </labelled-item-list>
244
244
  <submit label='Log in' param/>
245
245
  </form>
246
- </content_body>
247
- </Page>
246
+ </content-body>
247
+ </page>
248
248
  </def>
249
249
 
250
250
 
251
- <def tag="SignupPage">
252
- <Page title="Sign Up" merge>
253
- <body class="signup_page" param/>
254
- <nav replace/>
255
- <content_header param>
251
+ <def tag="signup-page">
252
+ <page title="Sign Up" merge>
253
+ <body: class="signup-page" param/>
254
+ <nav: replace/>
255
+ <content-header: param>
256
256
  <heading param>Sign Up</heading>
257
- </content_header>
257
+ </content-header>
258
258
 
259
- <content_body param>
260
- <ErrorMessages/>
259
+ <content-body: param>
260
+ <error-messages/>
261
261
  <form action="&request.request_uri" param>
262
- <FieldList fields="login, password, password_confirmation" param>
263
- <password_confirmation_label>Confirm Password</password_confirmation_label>
264
- </FieldList>
262
+ <field-list fields="login, password, password_confirmation" param>
263
+ <password-confirmation-label:>Confirm Password</password-confirmation-label>
264
+ </field-list>
265
265
 
266
266
  <submit label='Sign Up'/>
267
267
  </form>
268
- </content_body>
268
+ </content-body>
269
269
 
270
- </Page>
270
+ </page>
271
271
  </def>
272
272
 
273
273
 
274
- <def tag="PermissionDeniedPage">
275
- <Page merge>
276
- <content_header param>
274
+ <def tag="permission-denied-page">
275
+ <page merge>
276
+ <content-header: param>
277
277
  <heading param>That operation is not allowed</heading>
278
- </content_header>
279
- </Page>
278
+ </content-header>
279
+ </page>
280
280
  </def>
281
281
 
282
- <def tag="NotFoundPage">
283
- <Page merge>
284
- <content_header param>
282
+ <def tag="not-found-page">
283
+ <page merge>
284
+ <content-header: param>
285
285
  <heading param>The page you were looking for could not be found</heading>
286
- </content_header>
287
- </Page>
286
+ </content-header>
287
+ </page>
288
288
  </def>
289
289
 
290
290
  <def tag="doctype" attrs="version"><%=
@@ -325,15 +325,15 @@
325
325
  </else>
326
326
  </def>
327
327
 
328
- <def tag="flash_message" attrs="type">
328
+ <def tag="flash-message" attrs="type">
329
329
  <% type = type ? type.to_sym : :notice %>
330
- <div class="flash #{type}" if="&flash[type]" merge_attrs><%= flash[type] %></div>
330
+ <div class="flash #{type}" if="&flash[type]" merge-attrs><%= flash[type] %></div>
331
331
  </def>
332
332
 
333
- <def tag="ajax_progress">
334
- <div id="ajax_progress">
333
+ <def tag="ajax-progress">
334
+ <div id="ajax-progress">
335
335
  <div>
336
- <span id="ajax_progress_text"></span>
336
+ <span id="ajax-progress-text"></span>
337
337
  </div>
338
338
  </div>
339
339
  </def>