common_interface 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. data/Rakefile +8 -63
  2. data/lib/views/CommonInterface/Demo/Basic/_dialog.html.haml +7 -0
  3. data/lib/views/CommonInterface/Demo/Basic/_popup.html.haml +4 -0
  4. data/lib/views/CommonInterface/Demo/Basic/aspects.html.haml +32 -0
  5. data/lib/views/CommonInterface/Demo/Basic/basic.html.haml +122 -0
  6. data/lib/views/CommonInterface/Demo/Basic/dialog.js.erb +1 -0
  7. data/lib/views/CommonInterface/Demo/Basic/folder.html.haml +45 -0
  8. data/lib/views/CommonInterface/Demo/Basic/help.html.haml +7 -0
  9. data/lib/views/CommonInterface/Demo/Basic/index.html.haml +24 -0
  10. data/lib/views/CommonInterface/Demo/Basic/items.html.haml +91 -0
  11. data/lib/views/CommonInterface/Demo/Basic/list.html.haml +23 -0
  12. data/lib/views/CommonInterface/Demo/Basic/page.html.haml +19 -0
  13. data/lib/views/CommonInterface/Demo/Basic/page/_folder.html.haml +10 -0
  14. data/lib/views/CommonInterface/Demo/Basic/page/_note.html.haml +4 -0
  15. data/lib/views/CommonInterface/Demo/Basic/page/_toolbar.html.haml +5 -0
  16. data/lib/views/CommonInterface/Demo/Basic/popup.js.erb +1 -0
  17. data/lib/views/CommonInterface/Demo/Basic/selector.html.haml +38 -0
  18. data/lib/views/CommonInterface/Demo/Basic/style.html.erb +113 -0
  19. data/lib/views/CommonInterface/Demo/Basic/tmp.haml +2 -0
  20. data/lib/views/CommonInterface/Demo/Basic/user.html.haml +16 -0
  21. data/lib/views/CommonInterface/Demo/Site/blog.html.haml +13 -0
  22. data/lib/views/CommonInterface/Demo/Site/home.html.haml +9 -0
  23. data/lib/views/CommonInterface/Demo/Site/post.html.haml +11 -0
  24. data/lib/views/CommonInterface/Demo/Site/style.html.haml +9 -0
  25. data/lib/views/CommonInterface/Demo/layouts/theme.html.erb +1 -0
  26. data/lib/views/CommonInterface/Demo/layouts/theme.js.erb +14 -0
  27. data/lib/views/CommonInterface/Demo/shared/_comments.html.haml +11 -0
  28. data/lib/views/CommonInterface/Demo/shared/_core_tools.html.haml +6 -0
  29. data/lib/views/CommonInterface/Demo/shared/_line_previews.html.haml +39 -0
  30. data/lib/views/CommonInterface/Demo/shared/_paginator.html.haml +7 -0
  31. data/lib/views/CommonInterface/Demo/shared/_tools.html.haml +26 -0
  32. data/lib/views/CommonInterface/Demo/shared/_top_navigation_bottom.html.haml +32 -0
  33. data/lib/views/layouts/config/default.yml +14 -0
  34. data/lib/views/layouts/config/simple_organization.yml +24 -0
  35. data/lib/views/themes/default/application.html.haml +29 -0
  36. data/lib/views/themes/default/aspects/comment.html.haml +14 -0
  37. data/lib/views/themes/default/aspects/controls.html.haml +3 -0
  38. data/lib/views/themes/default/aspects/details.html.haml +6 -0
  39. data/lib/views/themes/default/aspects/discussion.html.haml +9 -0
  40. data/lib/views/themes/default/aspects/paginator.html.haml +8 -0
  41. data/lib/views/themes/default/aspects/tag_selector.html.haml +11 -0
  42. data/lib/views/themes/default/basic/bottom_panel.html.haml +9 -0
  43. data/lib/views/themes/default/basic/dialog.html.haml +1 -0
  44. data/lib/views/themes/default/basic/divider.html.haml +2 -0
  45. data/lib/views/themes/default/basic/html.html.haml +1 -0
  46. data/lib/views/themes/default/basic/inplace.html.haml +1 -0
  47. data/lib/views/themes/default/basic/message.html.haml +3 -0
  48. data/lib/views/themes/default/basic/more.html.haml +5 -0
  49. data/lib/views/themes/default/basic/narrow.html.haml +1 -0
  50. data/lib/views/themes/default/basic/navigation.html.haml +9 -0
  51. data/lib/views/themes/default/basic/popup.html.haml +1 -0
  52. data/lib/views/themes/default/basic/text.html.haml +1 -0
  53. data/lib/views/themes/default/basic/title.html.haml +3 -0
  54. data/lib/views/themes/default/basic/tool.html.haml +4 -0
  55. data/lib/views/themes/default/basic/top_panel.html.haml +18 -0
  56. data/lib/views/themes/default/components/basic_list.html.haml +1 -0
  57. data/lib/views/themes/default/components/basic_list_item.html.haml +4 -0
  58. data/lib/views/themes/default/components/table.html.haml +12 -0
  59. data/lib/views/themes/default/components/table_row.html.haml +5 -0
  60. data/lib/views/themes/default/components/tabs.html.haml +4 -0
  61. data/lib/views/themes/default/components/tabs_item.html.haml +4 -0
  62. data/lib/views/themes/default/components/toolbar.html.haml +14 -0
  63. data/lib/views/themes/default/forms/errors.html.haml +5 -0
  64. data/lib/views/themes/default/forms/field.html.haml +19 -0
  65. data/lib/views/themes/default/forms/form.html.haml +5 -0
  66. data/lib/views/themes/default/forms/line.html.haml +6 -0
  67. data/lib/views/themes/default/help.html.haml +1 -0
  68. data/lib/views/themes/default/items/file.html.haml +19 -0
  69. data/lib/views/themes/default/items/folder.html.haml +23 -0
  70. data/lib/views/themes/default/items/line.html.haml +34 -0
  71. data/lib/views/themes/default/items/list.html.haml +35 -0
  72. data/lib/views/themes/default/items/list_item.html.haml +16 -0
  73. data/lib/views/themes/default/items/note.html.haml +16 -0
  74. data/lib/views/themes/default/items/page.html.haml +29 -0
  75. data/lib/views/themes/default/items/selector.html.haml +18 -0
  76. data/lib/views/themes/default/items/thumb.html.haml +12 -0
  77. data/lib/views/themes/default/items/user.html.haml +12 -0
  78. data/lib/views/themes/default/layout_templates/dashboard.html.haml +1 -0
  79. data/lib/views/themes/default/layout_templates/default.html.haml +11 -0
  80. data/lib/views/themes/default/metadata.rb +117 -0
  81. data/lib/views/themes/simple_organization/application.html.erb +45 -0
  82. data/lib/views/themes/simple_organization/application_js.html.erb +12 -0
  83. data/lib/views/themes/simple_organization/aspects/comment.html.haml +21 -0
  84. data/lib/views/themes/simple_organization/aspects/discussion.html.haml +14 -0
  85. data/lib/views/themes/simple_organization/aspects/paginator.html.haml +5 -0
  86. data/lib/views/themes/simple_organization/aspects/tag_selector.html.haml +10 -0
  87. data/lib/views/themes/simple_organization/basic/bottom_panel.html.erb +12 -0
  88. data/lib/views/themes/simple_organization/basic/divider.html.erb +3 -0
  89. data/lib/views/themes/simple_organization/basic/message.html.erb +7 -0
  90. data/lib/views/themes/simple_organization/basic/more.html.haml +5 -0
  91. data/lib/views/themes/simple_organization/basic/navigation.html.erb +15 -0
  92. data/lib/views/themes/simple_organization/basic/text.html.haml +1 -0
  93. data/lib/views/themes/simple_organization/basic/tool.html.erb +9 -0
  94. data/lib/views/themes/simple_organization/basic/top_panel.html.erb +14 -0
  95. data/lib/views/themes/simple_organization/help.html.erb +1 -0
  96. data/lib/views/themes/simple_organization/items/line.html.haml +17 -0
  97. data/lib/views/themes/simple_organization/items/note.html.haml +16 -0
  98. data/lib/views/themes/simple_organization/items/selector.html.haml +11 -0
  99. data/lib/views/themes/simple_organization/layout_templates/default.html.erb +20 -0
  100. data/lib/views/themes/simple_organization/layout_templates/home.html.erb +14 -0
  101. data/lib/views/themes/simple_organization/metadata.rb +193 -0
  102. data/spec/basic_spec.rb +2 -2
  103. data/spec/helper.rb +1 -2
  104. metadata +104 -5
  105. data/spec/spec.opts +0 -4
@@ -0,0 +1,29 @@
1
+ - tag :div, object.merge_html_attributes(:class => " dpage _page dhover_controls_container") do
2
+ - if object.controls?
3
+ .dhover_controls= object.controls.join(' ')
4
+
5
+ - if object.toolbar?
6
+ %textarea._toolbar_template._hidden
7
+ .toolbar._inplace_target._toolbar.dhover_controls_container
8
+ %br
9
+ .dhover_controls
10
+ = t(:add_embedded_item) + ':'
11
+ = object.toolbar.join(' ')
12
+
13
+ - if object.name?
14
+ %h1.item_title= object.name
15
+ - else
16
+  
17
+
18
+ - if object.text?
19
+ .dtext._markup.dmarkup= object.text
20
+ ._clear
21
+
22
+ ._container
23
+ = object.content.to_a.join("\n")
24
+
25
+ - if object.tags?
26
+ .ditem_tags= object.tags.join("\n")
27
+ - if object.details?
28
+ .ditem_details= object.details.to_a.join(', ')
29
+ ._clear
@@ -0,0 +1,18 @@
1
+ - tag :div, object.merge_html_attributes(:class => " _selector dselector") do
2
+ .dhover_controls_container
3
+ .dhover_controls= object.controls.join(' ') if object.controls?
4
+
5
+ - if object.name?
6
+ %h1.item_title= object.name
7
+ - else
8
+  
9
+
10
+ - if object.text?
11
+ .dtext._markup.dmarkup= object.text
12
+
13
+ - if object.tags?
14
+ .ditem_tags= object.tags.join("\n")
15
+
16
+ - if object.details?
17
+ .ditem_details= object.details.to_a.join(', ')
18
+ ._clear
@@ -0,0 +1,12 @@
1
+ - tag :div, object.merge_html_attributes(:class => " dselectable_item dthumb_item") do
2
+ .dhover_controls_container
3
+ .dhover_controls= object.controls.join(' ') if object.controls?
4
+
5
+ %a._image_box{:href => object.url}
6
+ %img{:src => object.thumb}
7
+
8
+ %a{:href => object.url}
9
+ - if object.url? or object.name?
10
+ .dtitle= object.name if object.name?
11
+ - else
12
+ .dtitle= "(#{t(:empty)})"
@@ -0,0 +1,12 @@
1
+ - tag :div, object.merge_html_attributes(:class => " duser _user dcontrols_container") do
2
+ - if object.controls?
3
+ .dcontrols= object.controls.join(' ')
4
+
5
+ %h1= object.name
6
+
7
+ .dcolumns.don-4
8
+ .dcolumn
9
+ .davatar= object.avatar
10
+ .dproperties= object.properties
11
+ .dcolumn.dspan-3
12
+ .dcontent= object.content
@@ -0,0 +1 @@
1
+ - raise 'not impl'
@@ -0,0 +1,11 @@
1
+ ._layout_content.dlayout_content.dcolumns
2
+ .delastic.dcolumn
3
+ ._main
4
+ = yield :aspects_top
5
+ ._content
6
+ = yield :content
7
+ = yield :aspects
8
+ = yield :aspects_bottom
9
+
10
+ .dfixed.dcolumn{:style => 'width:200px'}
11
+ .dtools= yield :tools
@@ -0,0 +1,117 @@
1
+ base = "/common_interface"
2
+
3
+ m = {
4
+ :logo => "<a href='/'>BOS Tec</a>"
5
+ }
6
+
7
+ m[:homepage_html] = <<HTML
8
+ <p>The Terminator (1984) <a href='#'>More at IMDbPro</a></p>
9
+ <p>In the Year of Darkness, 2029, the rulers of this planet devised the ultimate plan. They would reshape the Future by changing the Past. The plan required something that felt no pity. No pain. No fear. Something unstoppable. They created 'THE TERMINATOR'</p>
10
+ <p>The thing that won't die, in the nightmare that won't end. A human-looking, apparently unstoppable cyborg is sent from the future to kill Sarah Connor; Kyle Reese is sent to stop it.</p>
11
+ <p>Your future is in his hands.</p>
12
+ HTML
13
+
14
+ m[:style_html] = <<HTML
15
+ <h1>Heading 1</h1>
16
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
17
+
18
+ <h2>Heading 2</h2>
19
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
20
+
21
+ <h3>Heading 3</h3>
22
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
23
+
24
+ <h4>Heading 4</h4>
25
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
26
+
27
+ <div class="content-separator"></div>
28
+
29
+ <h2>Images in text</h2>
30
+
31
+ <img src="#{base}/images/img1_thumb.jpg">
32
+
33
+ <p>Curabitur faucibus risus quis lectus. <a href="#">Donec vehicula</a>. Pellentesque nec, lectus. Nullam dictum sem. Phasellus varius. Vestibulum in felis in mauris consequat molestie</p>
34
+
35
+ <div class="content-separator"></div>
36
+
37
+ <h2>Blockquote</h2>
38
+
39
+ <blockquote>
40
+ <p>Praesent orci nisi, interdum quis, tristique vitae, consectetur sed, arcu. Ut at sapien non dolor semper sollicitudin. Etiam semper erat quis odio. Quisque commodo suscipit velit. Nulla facilisi.</p>
41
+ <p><cite>- Duis justo quam</cite></p>
42
+ </blockquote>
43
+
44
+ <div class="content-separator"></div>
45
+
46
+ <h2>Lists</h2>
47
+
48
+ <h3>Unsorted list</h3>
49
+ <ul>
50
+ <li>Blandit in, interdum a</li>
51
+ <li>Ultrices non lectus</li>
52
+ <li>Nunc id odio</li>
53
+ <li>Fusce ultricies</li>
54
+ </ul>
55
+
56
+ <h3>Ordered list</h3>
57
+ <ol>
58
+ <li>Blandit in, interdum a</li>
59
+ <li>Ultrices non lectus</li>
60
+ <li>Nunc id odio</li>
61
+ <li>Fusce ultricies</li>
62
+ </ol>
63
+
64
+ <h3>Definition list</h3>
65
+
66
+ <dl>
67
+ <dt>title</dt>
68
+ <dd>definition</dd>
69
+ <dd>definition</dd>
70
+ <dt>title</dt>
71
+ <dt>title</dt>
72
+ <dd>definition</dd>
73
+ <dt>title</dt>
74
+ <dd>definition</dd>
75
+ </dl>
76
+
77
+ <div class="content-separator"></div>
78
+
79
+ <h2>Tables</h2>
80
+
81
+ <h3>Data table</h3>
82
+
83
+ <table class="data-table">
84
+ <tbody><tr>
85
+ <th>Property 1</th>
86
+ <th>Property 2</th>
87
+ <th>Property 3</th>
88
+ <th>Property 4</th>
89
+ </tr>
90
+ <tr class="even">
91
+ <td>Value 1.1</td>
92
+ <td>Value 1.2</td>
93
+ <td>Value 1.3</td>
94
+ <td>Value 1.4</td>
95
+ </tr>
96
+ <tr>
97
+ <td>Value 2.1</td>
98
+ <td>Value 2.2</td>
99
+ <td>Value 2.3</td>
100
+ <td>Value 2.4</td>
101
+ </tr>
102
+ <tr class="even">
103
+ <td>Value 3.1</td>
104
+ <td>Value 3.2</td>
105
+ <td>Value 3.3</td>
106
+ <td>Value 3.4</td>
107
+ </tr>
108
+ <tr>
109
+ <td>Value 4.1</td>
110
+ <td>Value 4.2</td>
111
+ <td>Value 4.3</td>
112
+ <td>Value 4.4</td>
113
+ </tr>
114
+ </tbody></table>
115
+ HTML
116
+
117
+ m
@@ -0,0 +1,45 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
3
+
4
+ <head>
5
+ <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
6
+
7
+ <% unless (title = @html_title || @title || respond_to(:title)).blank? %>
8
+ <title><%= h title %></title>
9
+ <% end %>
10
+
11
+ <%#= tag :link, '', :rel => "icon", :href => "/favicon.ico", :type => "image/x-icon" %>
12
+
13
+ <%= stylesheet_link_tag themed_resource('style.css') %>
14
+ <%= stylesheet_link_tag *merged_stylesheets(:common_interface_base_mixin) %>
15
+
16
+ <%= yield :head %>
17
+ </head>
18
+
19
+ <body>
20
+ <div id="site-wrapper">
21
+
22
+ <div id="header">
23
+ <div id="top">
24
+ <%= yield :top_panel %>
25
+ <%= yield :navigation %>
26
+ <div class="clearer">&nbsp;</div>
27
+ </div>
28
+ </div>
29
+
30
+ <%= render themed_partial("layout_templates/#{current_theme.layout_template}") %>
31
+
32
+ <div id="footer">
33
+ <%= yield :bottom_panel %>
34
+
35
+ <div class="clearer">&nbsp;</div>
36
+ </div>
37
+
38
+ </div>
39
+
40
+ <%= javascript_include_tag *merged_javascripts(:common_interface_base) %>
41
+
42
+ <%= yield :bottom %>
43
+ <%= render themed_partial('application_js')%>
44
+ </body>
45
+ </html>
@@ -0,0 +1,12 @@
1
+ <% javascript_tag do %>
2
+ $(function(){
3
+ // Delimiter between blog posts
4
+ $('.post:not(:last)').after("<div class='archive-separator'></div>");
5
+
6
+ // Add .alignleft to images in text if other not specified
7
+ // $('.so_markup img:not([class])').addClass('alignleft');
8
+
9
+ // Add borders to all images inside markup
10
+ // $('.so_markup img').addClass('bordered');
11
+ });
12
+ <% end %>
@@ -0,0 +1,21 @@
1
+ - tag :li, object.merge_html_attributes(:class => " _comment comment comment-single") do
2
+ .comment-profile-wrapper.left
3
+ .comment-profile
4
+ .comment-gravatar= object.avatar if object.avatar?
5
+ .comment-author= object.owner
6
+
7
+
8
+ .comment-content-wrapper.right
9
+ .comment-content-wrapper-2
10
+ .comment-body
11
+ .comment-arrow
12
+ - if object.details?
13
+ .post-date
14
+ .right= object.details.to_a.join(', ')
15
+ .clearer &nbsp;
16
+
17
+ .comment-text= object.text
18
+
19
+ .clearer &nbsp;
20
+
21
+ .clearer &nbsp;
@@ -0,0 +1,14 @@
1
+ - tag :div, object.merge_html_attributes(:class => " comments _discussion _aspect") do
2
+ - if object.name?
3
+ .left
4
+ %h2= object.name
5
+
6
+ - if object.controls?
7
+ %h3.right= object.controls.to_a.join("\n")
8
+
9
+
10
+ .clearer &nbsp;
11
+
12
+ - if object.content?
13
+ .comment-list-wrapper
14
+ %ul.comment-list._comments= object.content.to_a.join("\n")
@@ -0,0 +1,5 @@
1
+ .archive-pagination.archive-pagination-bottom
2
+ - if object.prev?
3
+ .left= "« #{object.prev}"
4
+ - if object.next?
5
+ .right= "#{object.next} »"
@@ -0,0 +1,10 @@
1
+ - if object.tags?
2
+ - tag :div, object.merge_html_attributes(:class => " quiet tags") do
3
+ - classes = ['size-1', 'size-2', 'size-3', 'size-4']
4
+ - tag_cloud object.tags, classes do |tag, aclass|
5
+ - if object.selected.include? tag.name
6
+ - self.tag :span, :class => "selected_tag #{aclass}" do
7
+ = object.selected_tag_to_link.call(tag)
8
+ - else
9
+ - self.tag :span, :class => "#{aclass}" do
10
+ = object.tag_to_link.call(tag)
@@ -0,0 +1,12 @@
1
+ <%= object.content %>
2
+ <div class="left" id="footer-left">
3
+ <%= object.left.content %>
4
+ <div class="clearer">&nbsp;</div>
5
+ </div>
6
+
7
+ <div class="right" id="footer-right">
8
+ <p class="quiet">
9
+ <%= object.right %>
10
+ <br>Design by <a href="http://arcsin.se/">Arcsin</a>
11
+ </p>
12
+ </div>
@@ -0,0 +1,3 @@
1
+ <% tag :div, object.merge_html_attributes(:class => " _divider section") do %>
2
+ <div class="section-title"><%= object.content %></div>
3
+ <% end %>
@@ -0,0 +1,7 @@
1
+ <% if object.content? %>
2
+ <%
3
+ type = object.type.to_s == 'info' ? 'notice' : object.type
4
+ type ||= 'notice'
5
+ %>
6
+ <%= tag :div, object.content, object.merge_html_attributes(:class => " #{type}") %>
7
+ <% end %>
@@ -0,0 +1,5 @@
1
+ - raise "you should provide unique id for b.more element (to allow it remember it's state in ajax requests')!" unless object.id?
2
+ - if object.content?
3
+ - tag :div, object.merge_html_attributes(:class => " more _more") do
4
+ %a{:href => '#', :class => '_button'}= object.name
5
+ ._content._hidden= object.content
@@ -0,0 +1,15 @@
1
+ <% if object.items? %>
2
+ <% tag :div, object.merge_html_attributes(:class => " left navigation main-nav") do %>
3
+ <!-- <div class="left navigation" id="main-nav"> -->
4
+ <ul class="tabbed">
5
+ <% object.items.each do |item| %>
6
+ <% if item.hash? and item.active? %>
7
+ <li class="current-tab"><a href="#"><%= item.content %></a></li>
8
+ <% else %>
9
+ <li><%= item.content %></li>
10
+ <% end %>
11
+ <% end %>
12
+ </ul>
13
+ <div class="clearer">&nbsp;</div>
14
+ <% end %>
15
+ <% end %>
@@ -0,0 +1 @@
1
+ = tag :div, object.content, object.merge_html_attributes(:class => " so_markup _markup") if object.content?
@@ -0,0 +1,9 @@
1
+ <% tag :div, object.merge_html_attributes(:class => " section _tool") do %>
2
+ <% if object.name? %>
3
+ <div class="section-title"><%= object.name %></div>
4
+ <% end %>
5
+
6
+ <div class="section-content">
7
+ <%= object.content %>
8
+ </div>
9
+ <% end %>
@@ -0,0 +1,14 @@
1
+ <% if object.right? %>
2
+ <div class="user_menu">
3
+ <% object.right.each do |item| %>
4
+ <%= item.blank? ? "<span class='delimiter'>&nbsp;</span>" : tag(:span, item, :class => 'um_item') %>
5
+ <% end %>
6
+ </div>
7
+ <div class='_clear'/>
8
+ <% end %>
9
+
10
+ <div class="left" id="logo">
11
+ <!-- Logo, image 235x100 px -->
12
+ <!-- <a href="index.html"><img src="img/logo.gif" alt=""></a> -->
13
+ <%= object.logo %>
14
+ </div>
@@ -0,0 +1 @@
1
+ TODO Help page for Simple Organization Template
@@ -0,0 +1,17 @@
1
+ - tag :div, object.merge_html_attributes(:class => " post") do
2
+
3
+ / - if object.icon?
4
+ / .archive-post-date
5
+ / %a{:href => object.url}
6
+ / %img{:src => object.icon, :width => '45px', :height => '45px'}
7
+
8
+ - if object.name?
9
+ .archive-post-title
10
+ %h3
11
+ %a{:href => object.url}= object.name
12
+
13
+ - if object.text?
14
+ %p= object.text
15
+
16
+ - if object.details?
17
+ .post-date= object.details.to_a.join(', ')
@@ -0,0 +1,16 @@
1
+ - tag :div, object.merge_html_attributes(:class => " _note") do
2
+ - if object.name?
3
+ %h1= object.name
4
+
5
+ .text._markup.so_markup= object.text
6
+ ._clear
7
+
8
+ %br
9
+ - if object.tags?
10
+ .post-date.item_tags= object.tags.join(' ')
11
+ - if object.details?
12
+ .post-date.item_details= object.details.to_a.join(', ')
13
+ - if object.controls?
14
+ .post-date.item_controls= object.controls.join(' ')
15
+
16
+ ._clear