page_engine 0.0.3 → 0.0.4

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 (120) hide show
  1. data/app/assets/javascripts/page_engine.js +53 -50
  2. data/app/assets/stylesheets/page_engine.css +2 -0
  3. data/app/controllers/admin/pages_controller.rb +1 -3
  4. data/app/helpers/pages_helper.rb +64 -71
  5. data/app/models/page.rb +6 -18
  6. data/app/views/admin/pages/_form.html.haml +3 -3
  7. data/app/views/admin/pages/_page_part_fields.html.haml +1 -1
  8. data/app/views/admin/pages/duplicate.js.erb +0 -4
  9. data/app/views/admin/pages/index.html.haml +1 -1
  10. data/app/views/pages/_nav_item.html.haml +1 -1
  11. data/lib/generators/page_engine/install/install_generator.rb +64 -0
  12. data/lib/page_engine/extensions.rb +12 -8
  13. data/lib/page_engine/instance_methods.rb +6 -6
  14. data/lib/page_engine.rb +31 -0
  15. data/spec/dummy/app/assets/stylesheets/application.css +250 -0
  16. data/spec/dummy/app/controllers/application_controller.rb +1 -1
  17. data/spec/dummy/app/views/layouts/application.html.haml +5 -3
  18. data/spec/dummy/config/initializers/page_engine.rb +13 -0
  19. data/spec/dummy/db/development.sqlite3 +0 -0
  20. data/spec/dummy/log/development.log +18618 -0
  21. data/spec/dummy/tmp/cache/assets/BF5/7E0/sprockets%2F1681222188324d465309541f4e71f6e8 +0 -0
  22. data/spec/dummy/tmp/cache/assets/C1F/4A0/sprockets%2Fb257125f39b2a708d678262f26152408 +0 -0
  23. data/spec/dummy/tmp/cache/assets/C38/BB0/sprockets%2F122300de3f3142028abb055394919a47 +0 -0
  24. data/spec/dummy/tmp/cache/assets/C51/920/sprockets%2F3522c83d77303240c3548fdd7d186194 +0 -0
  25. data/spec/dummy/tmp/cache/assets/C54/B60/sprockets%2F08007599d13c8b8205959be4709d103d +0 -0
  26. data/spec/dummy/tmp/cache/assets/C83/E20/sprockets%2F2d6f03d170965f27d7626502373e8cd2 +0 -0
  27. data/spec/dummy/tmp/cache/assets/C8E/6D0/sprockets%2F10a754e99f089474b072c71eeb960954 +0 -0
  28. data/spec/dummy/tmp/cache/assets/CAD/1B0/sprockets%2F12cb3832e2e7e34236067e9e350b8c73 +0 -0
  29. data/spec/dummy/tmp/cache/assets/CB8/880/sprockets%2F3b651a5763758db2fc0347488e69a3e1 +0 -0
  30. data/spec/dummy/tmp/cache/assets/CBA/0A0/sprockets%2F2983f7dd6130a7c24892da333c18d779 +0 -0
  31. data/spec/dummy/tmp/cache/assets/CD0/CA0/sprockets%2F719e10ea5f5b1c20b6518a1d3432774e +0 -0
  32. data/spec/dummy/tmp/cache/assets/CD1/EB0/sprockets%2Fba17700b36ee975c05d06042a6af9631 +0 -0
  33. data/spec/dummy/tmp/cache/assets/CD5/8B0/sprockets%2F31178c43077cb48bfc81217ad0872cd1 +0 -0
  34. data/spec/dummy/tmp/cache/assets/CDA/A30/sprockets%2Fd1a7692303d59c495dd61cd1d41246b5 +0 -0
  35. data/spec/dummy/tmp/cache/assets/CDD/D20/sprockets%2F070d2bf7a81574ee0e560e174737a17f +0 -0
  36. data/spec/dummy/tmp/cache/assets/CE0/CD0/sprockets%2Fd206c4ec51748382823dee1e7f28055a +0 -0
  37. data/spec/dummy/tmp/cache/assets/CE3/690/sprockets%2F9531c78d64b8651a60dd128573bbe7e1 +0 -0
  38. data/spec/dummy/tmp/cache/assets/CE3/C10/sprockets%2F05a63f093f971cd73662695fab452b0f +0 -0
  39. data/spec/dummy/tmp/cache/assets/CE7/770/sprockets%2F56570f527d86457c48485cedb2d1c30c +0 -0
  40. data/spec/dummy/tmp/cache/assets/CEE/2B0/sprockets%2F75f58ee42279991f91ac43260b9b0fe3 +0 -0
  41. data/spec/dummy/tmp/cache/assets/CF2/E60/sprockets%2F6cf94481464e607960899cc38adac2b6 +0 -0
  42. data/spec/dummy/tmp/cache/assets/D09/2D0/sprockets%2F731ea2f82a086d10ff127d30c994f53b +0 -0
  43. data/spec/dummy/tmp/cache/assets/D0D/000/sprockets%2Fbb689a9183e1482be8c02ab4f536083b +0 -0
  44. data/spec/dummy/tmp/cache/assets/D13/FF0/sprockets%2Fd62e2814c718d1a22c84c7b3a78eb948 +0 -0
  45. data/spec/dummy/tmp/cache/assets/D16/BA0/sprockets%2F141f6d67a3871387dc3a1a9963de0de7 +0 -0
  46. data/spec/dummy/tmp/cache/assets/D17/DD0/sprockets%2F04f75f0ecb38c984675d23a9144d2be7 +0 -0
  47. data/spec/dummy/tmp/cache/assets/D1A/140/sprockets%2Fe5dbcc46887452182b85e8da04994ea0 +0 -0
  48. data/spec/dummy/tmp/cache/assets/D1F/620/sprockets%2F5eb71efe5276c4b5c148cd75958e2760 +0 -0
  49. data/spec/dummy/tmp/cache/assets/D23/570/sprockets%2Fb79b2bd85b952ef68724f54e3344dd66 +0 -0
  50. data/spec/dummy/tmp/cache/assets/D26/4D0/sprockets%2Faa9fd545084f66b324662ca8f48c88f9 +0 -0
  51. data/spec/dummy/tmp/cache/assets/D27/2F0/sprockets%2F6b6e52b5006574d3fef8d34ef639978d +0 -0
  52. data/spec/dummy/tmp/cache/assets/D30/ED0/sprockets%2Fea74cc14e1532ac70f928d8d205c5a13 +0 -0
  53. data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  54. data/spec/dummy/tmp/cache/assets/D33/E40/sprockets%2F06b596c4052fc9ad352a54ac0871cf2c +0 -0
  55. data/spec/dummy/tmp/cache/assets/D3B/4D0/sprockets%2Faf8a08611a00ade8c7f16d626708eb67 +0 -0
  56. data/spec/dummy/tmp/cache/assets/D3E/740/sprockets%2F62194496bd7f322f3b2f6f2bf602e1fb +0 -0
  57. data/spec/dummy/tmp/cache/assets/D3F/170/sprockets%2F13df698b0cd7e1f7045913a1c6a96cc4 +0 -0
  58. data/spec/dummy/tmp/cache/assets/D3F/7C0/sprockets%2F42286191d1dec5e46ae8f89a0af0d147 +0 -0
  59. data/spec/dummy/tmp/cache/assets/D40/720/sprockets%2Fe798537f2ae8abbbac509070c9e06506 +0 -0
  60. data/spec/dummy/tmp/cache/assets/D45/CF0/sprockets%2F577ac52ab81ab676640dda59969cce32 +0 -0
  61. data/spec/dummy/tmp/cache/assets/D47/1D0/sprockets%2F904ef275b101c77ee529b4fe7cf323f7 +0 -0
  62. data/spec/dummy/tmp/cache/assets/D4A/D90/sprockets%2F4f476e9f41ff71e1045d03fc36de6c66 +0 -0
  63. data/spec/dummy/tmp/cache/assets/D4C/EE0/sprockets%2F7ee487bf0d625668f3fcb075c89a420d +0 -0
  64. data/spec/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4 +0 -0
  65. data/spec/dummy/tmp/cache/assets/D60/DB0/sprockets%2Fb2b29acaab38e7049fd950a381e05f11 +0 -0
  66. data/spec/dummy/tmp/cache/assets/D68/450/sprockets%2F7290abaa3947f361fb72cb333692beaf +0 -0
  67. data/spec/dummy/tmp/cache/assets/D69/910/sprockets%2F05abeb33740bac77bef60b5445695c8c +0 -0
  68. data/spec/dummy/tmp/cache/assets/D6B/230/sprockets%2F744429c3ae6d8aadf46550ee21cc58b1 +0 -0
  69. data/spec/dummy/tmp/cache/assets/D6C/7E0/sprockets%2Fd3abe581052fc2ffd33b9f465b477b14 +0 -0
  70. data/spec/dummy/tmp/cache/assets/D70/280/sprockets%2F99a543e2b6be1d37c3ccc8a90261f87a +0 -0
  71. data/spec/dummy/tmp/cache/assets/D70/330/sprockets%2F292913c88244b67cdb46da1eed327fda +0 -0
  72. data/spec/dummy/tmp/cache/assets/D71/520/sprockets%2F018fdf705225eaa53bc9c287ebd68c91 +0 -0
  73. data/spec/dummy/tmp/cache/assets/D71/5D0/sprockets%2Fc8e0dae5e23b4b3941152e3b87e7f7c6 +0 -0
  74. data/spec/dummy/tmp/cache/assets/D73/830/sprockets%2F38d93d829b7d163c372f3acd557c2eab +0 -0
  75. data/spec/dummy/tmp/cache/assets/D74/120/sprockets%2Ffbe442bef82371edd6525fe5622de319 +0 -0
  76. data/spec/dummy/tmp/cache/assets/D77/7C0/sprockets%2Fcf660249e6eb81370e70cfe24d771dfe +0 -0
  77. data/spec/dummy/tmp/cache/assets/D7C/660/sprockets%2Fbb4ce966494c0b544c7ea5f4e9c2b866 +0 -0
  78. data/spec/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +0 -0
  79. data/spec/dummy/tmp/cache/assets/D87/FA0/sprockets%2Fed7ffae98375a3c9819ee641f00e388d +0 -0
  80. data/spec/dummy/tmp/cache/assets/D92/E50/sprockets%2F09a8ce459d99efe497507cad2ed88f56 +0 -0
  81. data/spec/dummy/tmp/cache/assets/D93/670/sprockets%2Fdf4cd8447459d7b31b077d0af7aba00b +0 -0
  82. data/spec/dummy/tmp/cache/assets/D94/0C0/sprockets%2Fac68f40dcce2850b0fdd7dfb91505115 +0 -0
  83. data/spec/dummy/tmp/cache/assets/D96/AE0/sprockets%2F6c450fd116d891f54a32bcfcbd4b762b +0 -0
  84. data/spec/dummy/tmp/cache/assets/DA2/0E0/sprockets%2F71a404ff712a059b23edee96c9bfcd75 +0 -0
  85. data/spec/dummy/tmp/cache/assets/DA6/860/sprockets%2Ff5526cc6647cdd14b05aed999377abbc +0 -0
  86. data/spec/dummy/tmp/cache/assets/DA7/5F0/sprockets%2Fe92688bcadd7fcddd86227c04b9712e1 +0 -0
  87. data/spec/dummy/tmp/cache/assets/DA7/6A0/sprockets%2Fa6745bdd80053c25a9ee2d81e96adef9 +0 -0
  88. data/spec/dummy/tmp/cache/assets/DA9/890/sprockets%2Fd1501c9a42bbc34f0cc11eae60b2e22e +0 -0
  89. data/spec/dummy/tmp/cache/assets/DB7/5A0/sprockets%2Fd2fac77222901b5da4abcf1c225d91db +0 -0
  90. data/spec/dummy/tmp/cache/assets/DBE/A90/sprockets%2F40e8db6da00eac4d36841aa33ff46fb3 +0 -0
  91. data/spec/dummy/tmp/cache/assets/DC6/E60/sprockets%2F415f6a64519b7c8ae296dbbafeb105ba +0 -0
  92. data/spec/dummy/tmp/cache/assets/DC8/660/sprockets%2Fbafd7b9ed0b0c06ed5e283463ad4c547 +0 -0
  93. data/spec/dummy/tmp/cache/assets/DCA/BB0/sprockets%2F1a792cae50966aef0d0d4131fe5fafd9 +0 -0
  94. data/spec/dummy/tmp/cache/assets/DD0/D40/sprockets%2Fc5ad6e6949709508d0dbdb0b1a7ecbe9 +0 -0
  95. data/spec/dummy/tmp/cache/assets/DD9/E90/sprockets%2Fd44526e0ec17dcbbccf7e14db768e869 +0 -0
  96. data/spec/dummy/tmp/cache/assets/DDC/270/sprockets%2Fadb8f369db4f8784c76fd2ee1d3633ac +0 -0
  97. data/spec/dummy/tmp/cache/assets/DDE/420/sprockets%2F69cf180e779eb3095cebe85edbfc22b7 +0 -0
  98. data/spec/dummy/tmp/cache/assets/DE0/250/sprockets%2F1559ff83d17dd6b788d6ab7fada65ee1 +0 -0
  99. data/spec/dummy/tmp/cache/assets/DE1/B40/sprockets%2F9c7deec5e90b5957c6d5b31ded7fe074 +0 -0
  100. data/spec/dummy/tmp/cache/assets/DFB/2A0/sprockets%2F801140d7903bfebe6accecc7fc9f71e2 +0 -0
  101. data/spec/dummy/tmp/cache/assets/E01/830/sprockets%2F3359db498c5ca08b6ff0a5fe54c8acda +0 -0
  102. data/spec/dummy/tmp/cache/assets/E04/7E0/sprockets%2Fee9c0f735fc2fed82f00e66fa71bc91d +0 -0
  103. data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  104. data/spec/dummy/tmp/cache/assets/E32/C40/sprockets%2Faade2bb8a94be3f057fe7d4a6fd65a84 +0 -0
  105. data/spec/dummy/tmp/cache/assets/E51/940/sprockets%2F5c78b0ffb0472ccdce1fea8dad2142bf +0 -0
  106. data/spec/dummy/tmp/cache/assets/E70/2B0/sprockets%2F7eedcfada8bf8bff28c96d9ea93521d3 +0 -0
  107. data/spec/dummy/tmp/pids/server.pid +1 -0
  108. data/vendor/assets/javascripts/codemirror/codemirror.js +2164 -0
  109. data/vendor/assets/javascripts/codemirror/modes/css.js +124 -0
  110. data/vendor/assets/javascripts/codemirror/modes/javascript.js +348 -0
  111. data/vendor/assets/javascripts/codemirror/overlay.js +51 -0
  112. data/vendor/assets/javascripts/codemirror/runmode.js +27 -0
  113. data/vendor/assets/stylesheets/codemirror/codemirror.css +68 -0
  114. data/vendor/assets/stylesheets/codemirror/themes/cobalt.css +17 -0
  115. data/vendor/assets/stylesheets/codemirror/themes/default.css +19 -0
  116. data/vendor/assets/stylesheets/codemirror/themes/elegant.css +9 -0
  117. data/vendor/assets/stylesheets/codemirror/themes/neat.css +8 -0
  118. data/vendor/assets/stylesheets/codemirror/themes/night.css +20 -0
  119. metadata +194 -18
  120. data/lib/generators/page_engine/page_engine_generator.rb +0 -60
data/lib/page_engine.rb CHANGED
@@ -10,6 +10,33 @@ require 'simple_form'
10
10
  require 'awesome_nested_set'
11
11
 
12
12
  module PageEngine
13
+
14
+ # The list of layouts available to the pages
15
+ mattr_accessor :layouts
16
+ @@layouts = ['application']
17
+
18
+ # The page parts that are created with a new page
19
+ mattr_accessor :page_parts
20
+ @@page_parts = %w{ body left right header footer }
21
+
22
+ # Extra page statuses added to the default values
23
+ @@statuses = %w{ Draft Published Review Hidden }
24
+
25
+ # List of filters that can be applied
26
+ mattr_accessor :filters
27
+ @@filters = %w{ none html textile markdown erb erb+textile }
28
+
29
+
30
+ # Module methods
31
+
32
+ def self.statuses=s
33
+ @@statuses += s if s.is_a?(Array)
34
+ end
35
+
36
+ def self.statuses
37
+ @@statuses
38
+ end
39
+
13
40
  def self.class_exists?(class_name)
14
41
  klass = Module.const_get(class_name)
15
42
  return klass.is_a?(Class)
@@ -35,6 +62,10 @@ module PageEngine
35
62
  available.delete('rails/info')
36
63
  available
37
64
  end
65
+
66
+ def self.setup
67
+ yield self
68
+ end
38
69
  end
39
70
 
40
71
  ActionView::Helpers::AssetTagHelper.register_javascript_expansion :page_engine => ["jquery-ui-1.8.15.custom.min", "jquery.ui.nestedSortable", "jquery.markitup", "markitup/sets/html/set", "markitup/sets/textile/set", "markitup/sets/markdown/set", "markitup/sets/css/set", "markitup/sets/javascript/set", "page_engine"]
@@ -6,3 +6,253 @@
6
6
  *= require page_engine
7
7
  *= require_tree .
8
8
  */
9
+
10
+ form.simple_form {
11
+ width: 836px;
12
+ }
13
+
14
+ form.simple_form label {
15
+ font-weight: bold;
16
+ }
17
+
18
+ form.simple_form fieldset {
19
+ padding: 1.4em;
20
+ margin: 0 0 1.5em 0;
21
+ }
22
+
23
+ form.simple_form legend {
24
+ font-weight: bold;
25
+ font-size: 1.2em;
26
+ }
27
+
28
+ form.simple_form input.text, form.simple_form input.title, form.simple_form input[type=email], form.simple_form input[type=text], form.simple_form input.numeric, form.simple_form input.tel, form.simple_form input.url, form.simple_form input[type=password] {
29
+ margin: 0.5em 0;
30
+ background-color: white;
31
+ padding: 5px;
32
+ }
33
+
34
+ form.simple_form input.title {
35
+ font-size: 1.5em;
36
+ }
37
+
38
+ form.simple_form textarea {
39
+ margin: 0.5em 0;
40
+ padding: 5px;
41
+ }
42
+
43
+ form.simple_form select {
44
+ margin: 0.5em 0;
45
+ }
46
+
47
+ form.simple_form fieldset {
48
+ border: 1px solid #cccccc;
49
+ }
50
+
51
+ form.simple_form input.text, form.simple_form input.title, form.simple_form input[type=email], form.simple_form input[type=text], form.simple_form input.numeric, form.simple_form input.tel, form.simple_form input.url, form.simple_form input[type=password],
52
+ form.simple_form textarea {
53
+ background-color: #fff;
54
+ border: 1px solid #bbbbbb;
55
+ }
56
+
57
+ form.simple_form input.text:focus, form.simple_form input.title:focus, form.simple_form input[type=email]:focus, form.simple_form input[type=text]:focus, form.simple_form input.numeric:focus, form.simple_form input.tel:focus, form.simple_form input.url:focus, form.simple_form input[type=password]:focus,
58
+ form.simple_form textarea:focus {
59
+ border-color: #666666;
60
+ }
61
+
62
+ form.simple_form select {
63
+ background-color: #fff;
64
+ border-width: 1px;
65
+ border-style: solid;
66
+ }
67
+
68
+ form.simple_form input.text, form.simple_form input.title, form.simple_form input[type=email], form.simple_form input[type=text], form.simple_form input.numeric, form.simple_form input.tel, form.simple_form input.url, form.simple_form input[type=password] {
69
+ width: 300px;
70
+ }
71
+
72
+ form.simple_form textarea {
73
+ width: 390px;
74
+ height: 250px;
75
+ }
76
+
77
+ form.simple_form input.text, form.simple_form input.title, form.simple_form input[type=email], form.simple_form input[type=text], form.simple_form input.numeric, form.simple_form input.tel, form.simple_form input.url, form.simple_form input[type=password] {
78
+ width: 824px;
79
+ }
80
+
81
+ form.simple_form textarea {
82
+ width: 824px;
83
+ height: 250px;
84
+ }
85
+
86
+ form.simple_form .page_parts input.text, form.simple_form .page_parts input.title, form.simple_form .page_parts input[type=email], form.simple_form .page_parts input[type=text], form.simple_form .page_parts input.numeric, form.simple_form .page_parts input.tel, form.simple_form .page_parts input.url, form.simple_form .page_parts input[type=password] {
87
+ width: 804px;
88
+ }
89
+
90
+ form.simple_form .page_parts textarea {
91
+ width: 804px;
92
+ }
93
+
94
+ form.simple_form #new_page_part_name {
95
+ width: 200px;
96
+ }
97
+
98
+ form.simple_form label {
99
+ font-weight: normal;
100
+ }
101
+
102
+ form.simple_form label abbr {
103
+ color: red;
104
+ }
105
+
106
+ form.simple_form input.numeric, form.simple_form input.tel, form.simple_form input.url, form.simple_form input.string, form.simple_form input.password {
107
+ -moz-border-radius: 5px;
108
+ -webkit-border-radius: 5px;
109
+ -o-border-radius: 5px;
110
+ -ms-border-radius: 5px;
111
+ -khtml-border-radius: 5px;
112
+ border-radius: 5px;
113
+ }
114
+
115
+ form.simple_form input.boolean {
116
+ vertical-align: middle;
117
+ margin-left: 0;
118
+ }
119
+
120
+ form.simple_form input.check_boxes {
121
+ vertical-align: middle;
122
+ }
123
+
124
+ form.simple_form .input {
125
+ clear: both;
126
+ }
127
+
128
+ form.simple_form .input label {
129
+ display: block;
130
+ }
131
+
132
+ form.simple_form .input select {
133
+ border: 1px solid #BBBBBB;
134
+ padding: 5px;
135
+ -moz-border-radius: 5px;
136
+ -webkit-border-radius: 5px;
137
+ -o-border-radius: 5px;
138
+ -ms-border-radius: 5px;
139
+ -khtml-border-radius: 5px;
140
+ border-radius: 5px;
141
+ }
142
+
143
+ form.simple_form .input .hint {
144
+ display: -moz-inline-box;
145
+ -moz-box-orient: vertical;
146
+ display: inline-block;
147
+ vertical-align: middle;
148
+ *vertical-align: auto;
149
+ width: 50%;
150
+ margin-bottom: 0.5em;
151
+ font-style: italic;
152
+ }
153
+
154
+ form.simple_form .input .hint {
155
+ *display: inline;
156
+ }
157
+
158
+ form.simple_form .input .error {
159
+ display: -moz-inline-box;
160
+ -moz-box-orient: vertical;
161
+ display: inline-block;
162
+ vertical-align: middle;
163
+ *vertical-align: auto;
164
+ text-align: right;
165
+ width: 50%;
166
+ color: red;
167
+ font-weight: bold;
168
+ float: right;
169
+ }
170
+
171
+ form.simple_form .input .error {
172
+ *display: inline;
173
+ }
174
+
175
+ form.simple_form .input.select label, form.simple_form .input.date label, form.simple_form .input.datetime label {
176
+ display: -moz-inline-box;
177
+ -moz-box-orient: vertical;
178
+ display: inline-block;
179
+ vertical-align: middle;
180
+ *vertical-align: auto;
181
+ padding-right: 5px;
182
+ }
183
+
184
+ form.simple_form .input.select label, form.simple_form .input.date label, form.simple_form .input.datetime label {
185
+ *display: inline;
186
+ }
187
+
188
+ form.simple_form .input.select .hint, form.simple_form .input.date .hint, form.simple_form .input.datetime .hint {
189
+ display: block;
190
+ }
191
+
192
+ form.simple_form .input.boolean {
193
+ padding-bottom: .5em;
194
+ }
195
+
196
+ form.simple_form .input.boolean label {
197
+ vertical-align: middle;
198
+ display: inline;
199
+ }
200
+
201
+ form.simple_form .input.boolean .hint {
202
+ display: block;
203
+ margin-top: .5em;
204
+ }
205
+
206
+ form.simple_form .input.check_boxes {
207
+ margin-bottom: 0.5em;
208
+ }
209
+
210
+ form.simple_form .input.check_boxes label.collection_check_boxes {
211
+ display: -moz-inline-box;
212
+ -moz-box-orient: vertical;
213
+ display: inline-block;
214
+ vertical-align: middle;
215
+ *vertical-align: auto;
216
+ vertical-align: middle;
217
+ }
218
+
219
+ form.simple_form .input.check_boxes label.collection_check_boxes {
220
+ *display: inline;
221
+ }
222
+
223
+ form.simple_form .input.check_boxes .hint {
224
+ display: block;
225
+ margin-top: .5em;
226
+ }
227
+
228
+ form.simple_form .input.file {
229
+ margin-bottom: .5em;
230
+ }
231
+
232
+ form.simple_form .input.file .hint {
233
+ display: block;
234
+ margin-top: .5em;
235
+ }
236
+
237
+ form.simple_form .input.field_with_errors input, form.simple_form .input.field_with_errors textarea {
238
+ border-color: error;
239
+ }
240
+
241
+ form.simple_form .actions {
242
+ text-align: right;
243
+ }
244
+
245
+ form.simple_form iframe.markItUpPreviewFrame {
246
+ width: 814px;
247
+ }
248
+
249
+ .CodeMirror {
250
+ border: 1px solid #BBBBBB;
251
+ padding: 5px;
252
+ -moz-border-radius: 5px;
253
+ -webkit-border-radius: 5px;
254
+ -o-border-radius: 5px;
255
+ -ms-border-radius: 5px;
256
+ -khtml-border-radius: 5px;
257
+ border-radius: 5px;
258
+ }
@@ -1,5 +1,5 @@
1
1
  class ApplicationController < ActionController::Base
2
2
  protect_from_forgery
3
3
 
4
- page_engine(:layouts => ['application'])
4
+ page_engine
5
5
  end
@@ -1,4 +1,4 @@
1
- !!!
1
+ !!! 5
2
2
  %html
3
3
  %head
4
4
  %title= page_title('Dummy')
@@ -10,14 +10,16 @@
10
10
  = page_css
11
11
  %body
12
12
  #nav
13
- = navigation nil, :include_root => true
13
+ = navigation :include_root => true, :depth => 5
14
14
 
15
15
  #header
16
- = breadcrumbs :format => 'inline'
16
+ = breadcrumbs :format => :inline
17
17
 
18
18
  #content
19
19
  = yield
20
20
 
21
+ = navigation :root => @page
22
+
21
23
  = page_js
22
24
 
23
25
  #footer
@@ -0,0 +1,13 @@
1
+ PageEngine.setup do |config|
2
+ # Layouts available to the psge
3
+ config.layouts = [:application]
4
+
5
+ # Page parts that are created by default with a new page
6
+ config.page_parts = %w{ body left right header footer }
7
+
8
+ # Extra page status options, added to defaults
9
+ config.statuses = []
10
+
11
+ # Filters that can be applied to the page parts content
12
+ config.filters = %w{ none html textile markdown }
13
+ end
Binary file