page_engine 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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