dust-cms 0.0.05
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +20 -0
- data/README.md +3 -0
- data/Rakefile +5 -0
- data/app/assets/images/admin/blank.png +0 -0
- data/app/assets/images/admin/dust-letterpress.png +0 -0
- data/app/assets/images/admin/main-back.png +0 -0
- data/app/assets/images/admin/ui/delete-icon.png +0 -0
- data/app/assets/images/admin/ui/edit-icon.png +0 -0
- data/app/assets/images/admin/ui/handle.png +0 -0
- data/app/assets/images/admin/ui/icons.png +0 -0
- data/app/assets/images/admin/ui/index-icon.png +0 -0
- data/app/assets/images/admin/ui/new-icon.png +0 -0
- data/app/assets/images/entypo/entypo.eot +0 -0
- data/app/assets/images/entypo/entypo.svg +13 -0
- data/app/assets/images/entypo/entypo.ttf +0 -0
- data/app/assets/images/entypo/entypo.woff +0 -0
- data/app/assets/images/entypo-social/entypo-social.eot +0 -0
- data/app/assets/images/entypo-social/entypo-social.svg +13 -0
- data/app/assets/images/entypo-social/entypo-social.ttf +0 -0
- data/app/assets/images/entypo-social/entypo-social.woff +0 -0
- data/app/assets/images/fancybox/blank.gif +0 -0
- data/app/assets/images/fancybox/fancy_close.png +0 -0
- data/app/assets/images/fancybox/fancy_loading.png +0 -0
- data/app/assets/images/fancybox/fancy_nav_left.png +0 -0
- data/app/assets/images/fancybox/fancy_nav_right.png +0 -0
- data/app/assets/images/fancybox/fancy_shadow_e.png +0 -0
- data/app/assets/images/fancybox/fancy_shadow_n.png +0 -0
- data/app/assets/images/fancybox/fancy_shadow_ne.png +0 -0
- data/app/assets/images/fancybox/fancy_shadow_nw.png +0 -0
- data/app/assets/images/fancybox/fancy_shadow_s.png +0 -0
- data/app/assets/images/fancybox/fancy_shadow_se.png +0 -0
- data/app/assets/images/fancybox/fancy_shadow_sw.png +0 -0
- data/app/assets/images/fancybox/fancy_shadow_w.png +0 -0
- data/app/assets/images/fancybox/fancy_title_left.png +0 -0
- data/app/assets/images/fancybox/fancy_title_main.png +0 -0
- data/app/assets/images/fancybox/fancy_title_over.png +0 -0
- data/app/assets/images/fancybox/fancy_title_right.png +0 -0
- data/app/assets/images/fancybox/fancybox-x.png +0 -0
- data/app/assets/images/fancybox/fancybox-y.png +0 -0
- data/app/assets/images/fancybox/fancybox.png +0 -0
- data/app/assets/javascripts/cms/dust/defaults.js.coffee +31 -0
- data/app/assets/javascripts/cms/dust/gallery/photo.js.coffee +1 -0
- data/app/assets/javascripts/cms/dust/gallery/photo_view.js.coffee +21 -0
- data/app/assets/javascripts/cms/dust/gallery/photos.js.coffee +6 -0
- data/app/assets/javascripts/cms/dust/gallery/photos_view.js.coffee +12 -0
- data/app/assets/javascripts/cms/dust/gallery/router.js.coffee +14 -0
- data/app/assets/javascripts/cms/dust/gallery.js.coffee +31 -0
- data/app/assets/javascripts/cms/dust/nav.js.coffee +21 -0
- data/app/assets/javascripts/cms/dust/sections.js.coffee +21 -0
- data/app/assets/javascripts/cms/dust/sortables.js.coffee +64 -0
- data/app/assets/javascripts/cms/dust/window.js.coffee +11 -0
- data/app/assets/javascripts/cms/dust.js.coffee +19 -0
- data/app/assets/javascripts/cms/lib/backbone.js +42 -0
- data/app/assets/javascripts/cms/lib/fineuploader-3.0.js +71 -0
- data/app/assets/javascripts/cms/lib/handlebars.js +1920 -0
- data/app/assets/javascripts/cms/lib/spin.js +2 -0
- data/app/assets/javascripts/cms/lib/underscore.js +1 -0
- data/app/assets/javascripts/cms.js +14 -0
- data/app/assets/javascripts/core/jquery.form.js +785 -0
- data/app/assets/javascripts/core/jquery.html5.js +29 -0
- data/app/assets/javascripts/core/jquery.mousewheel-3.0.2.pack.js +13 -0
- data/app/assets/javascripts/core/jquery.placeholder.min.js +11 -0
- data/app/assets/javascripts/core/nestedsortables.js +429 -0
- data/app/assets/javascripts/core/serializelist.js +66 -0
- data/app/assets/javascripts/core/tipTip.js +21 -0
- data/app/assets/javascripts/core.js +4 -0
- data/app/assets/javascripts/front_end/application-main.js.coffee +27 -0
- data/app/assets/javascripts/front_end/map.js +34 -0
- data/app/assets/javascripts/front_end/video.js +4569 -0
- data/app/assets/javascripts/front_end.js +18 -0
- data/app/assets/stylesheets/cms/flash_messages.css.scss +17 -0
- data/app/assets/stylesheets/cms/footer.css.scss +12 -0
- data/app/assets/stylesheets/cms/forms.css.scss +67 -0
- data/app/assets/stylesheets/cms/gallery.css.scss +21 -0
- data/app/assets/stylesheets/cms/icons.css.scss +123 -0
- data/app/assets/stylesheets/cms/jquery-ui.custom.scss +6 -0
- data/app/assets/stylesheets/cms/layout.css.scss +162 -0
- data/app/assets/stylesheets/cms/lib/grid.css.scss +116 -0
- data/app/assets/stylesheets/cms/lib/mixins.css.scss +20 -0
- data/app/assets/stylesheets/cms/login.scss +12 -0
- data/app/assets/stylesheets/cms/main.old +155 -0
- data/app/assets/stylesheets/cms/nav.css.scss +73 -0
- data/app/assets/stylesheets/cms/sections.scss +17 -0
- data/app/assets/stylesheets/cms/sortables.scss +20 -0
- data/app/assets/stylesheets/cms.css.scss +30 -0
- data/app/assets/stylesheets/core/app/defaults.css.scss +556 -0
- data/app/assets/stylesheets/core/plugins/PIE.htc +96 -0
- data/app/assets/stylesheets/core/plugins/jquery-ui-1.8.5.custom.old +572 -0
- data/app/assets/stylesheets/core/plugins/jquery.fancybox-1.3.1.css +364 -0
- data/app/assets/stylesheets/core/plugins/skeleton.css +155 -0
- data/app/assets/stylesheets/core/plugins/tipTip.css +115 -0
- data/app/assets/stylesheets/core/plugins/uploadify.css +25 -0
- data/app/assets/stylesheets/core/reset/reset.css +211 -0
- data/app/assets/stylesheets/core/reset/text.css +86 -0
- data/app/assets/stylesheets/core.css.scss +14 -0
- data/app/assets/stylesheets/front_end/app/just-delete-me-and-start-over.css.scss +70 -0
- data/app/assets/stylesheets/front_end.css +14 -0
- data/app/controllers/authentication_controller.rb +30 -0
- data/app/controllers/dust/blocks_controller.rb +49 -0
- data/app/controllers/dust/contacts_controller.rb +89 -0
- data/app/controllers/dust/dashboard_controller.rb +26 -0
- data/app/controllers/dust/gallery/albums_controller.rb +49 -0
- data/app/controllers/dust/gallery/api/photos_controller.rb +28 -0
- data/app/controllers/dust/gallery/photos_controller.rb +47 -0
- data/app/controllers/dust/menu_items_controller.rb +51 -0
- data/app/controllers/dust/menus_controller.rb +47 -0
- data/app/controllers/dust/pages_controller.rb +52 -0
- data/app/controllers/dust/password_resets_controller.rb +48 -0
- data/app/controllers/dust/posts_controller.rb +47 -0
- data/app/controllers/dust/roles_controller.rb +47 -0
- data/app/controllers/dust/sessions_controller.rb +29 -0
- data/app/controllers/dust/site_wides_controller.rb +28 -0
- data/app/controllers/dust/sortable_controller.rb +17 -0
- data/app/controllers/dust/users_controller.rb +52 -0
- data/app/controllers/front_end/page_controller.rb +27 -0
- data/app/controllers/front_end/post_controller.rb +14 -0
- data/app/controllers/front_end/sitemap_controller.rb +11 -0
- data/app/controllers/front_end_controller.rb +18 -0
- data/app/helpers/error_messages_helper.rb +23 -0
- data/app/helpers/exceptions.rb +4 -0
- data/app/helpers/layout_helper.rb +28 -0
- data/app/helpers/misc_helper.rb +29 -0
- data/app/helpers/region_helper.rb +32 -0
- data/app/mailers/post_office.rb +39 -0
- data/app/models/ckeditor/asset.rb +7 -0
- data/app/models/ckeditor/attachment_file.rb +7 -0
- data/app/models/ckeditor/picture.rb +7 -0
- data/app/models/dust/block.rb +114 -0
- data/app/models/dust/builder/page.rb +84 -0
- data/app/models/dust/builder/site_wide.rb +50 -0
- data/app/models/dust/contact.rb +34 -0
- data/app/models/dust/gallery/album.rb +14 -0
- data/app/models/dust/gallery/photo.rb +23 -0
- data/app/models/dust/handlebar.rb +59 -0
- data/app/models/dust/map.rb +21 -0
- data/app/models/dust/menu/item_dependency.rb +66 -0
- data/app/models/dust/menu.rb +11 -0
- data/app/models/dust/menu_item.rb +64 -0
- data/app/models/dust/page.rb +52 -0
- data/app/models/dust/post.rb +39 -0
- data/app/models/dust/role.rb +9 -0
- data/app/models/dust/section.rb +11 -0
- data/app/models/dust/session.rb +28 -0
- data/app/models/dust/site_wide.rb +41 -0
- data/app/models/dust/sort.rb +52 -0
- data/app/models/dust/sortable_item.rb +21 -0
- data/app/models/dust/user.rb +49 -0
- data/app/uploaders/ckeditor_attachment_file_uploader.rb +42 -0
- data/app/uploaders/ckeditor_picture_uploader.rb +53 -0
- data/app/uploaders/gallery_photo_uploader.rb +52 -0
- data/app/uploaders/image_uploader.rb +51 -0
- data/app/uploaders/slide_image_uploader.rb +51 -0
- data/app/views/dust/blocks/_block.html.haml +20 -0
- data/app/views/dust/blocks/_form.html.haml +50 -0
- data/app/views/dust/blocks/_normal_block_content.html.haml +1 -0
- data/app/views/dust/blocks/_search.html.haml +4 -0
- data/app/views/dust/blocks/edit.html.haml +4 -0
- data/app/views/dust/blocks/index.html.haml +16 -0
- data/app/views/dust/blocks/new.html.haml +3 -0
- data/app/views/dust/contacts/_form.html.haml +37 -0
- data/app/views/dust/contacts/_import_csv.html.haml +8 -0
- data/app/views/dust/contacts/_instance.html.haml +13 -0
- data/app/views/dust/contacts/_search.html.haml +4 -0
- data/app/views/dust/contacts/edit.html.haml +2 -0
- data/app/views/dust/contacts/index.html.haml +17 -0
- data/app/views/dust/contacts/index.json.haml +6 -0
- data/app/views/dust/contacts/new.html.haml +3 -0
- data/app/views/dust/dashboard/_options.html.haml +6 -0
- data/app/views/dust/dashboard/show.html.haml +33 -0
- data/app/views/dust/dashboard/update.html.haml +6 -0
- data/app/views/dust/gallery/albums/_form.html.haml +52 -0
- data/app/views/dust/gallery/albums/_photo.html.haml +12 -0
- data/app/views/dust/gallery/albums/edit.html.haml +3 -0
- data/app/views/dust/gallery/albums/index.html.haml +18 -0
- data/app/views/dust/gallery/albums/new.html.haml +4 -0
- data/app/views/dust/gallery/albums/show.html.haml +2 -0
- data/app/views/dust/gallery/photos/_form.html.haml +26 -0
- data/app/views/dust/gallery/photos/edit.html.haml +3 -0
- data/app/views/dust/gallery/photos/index.html.haml +18 -0
- data/app/views/dust/gallery/photos/new.html.haml +4 -0
- data/app/views/dust/gallery/photos/show.json.jbuilder +5 -0
- data/app/views/dust/menu_items/_form.html.haml +24 -0
- data/app/views/dust/menu_items/_roots.html.haml +3 -0
- data/app/views/dust/menu_items/_search.html.haml +4 -0
- data/app/views/dust/menu_items/_tree.html.haml +11 -0
- data/app/views/dust/menu_items/edit.html.haml +2 -0
- data/app/views/dust/menu_items/index.html.haml +19 -0
- data/app/views/dust/menu_items/new.html.haml +2 -0
- data/app/views/dust/menus/_form.html.haml +39 -0
- data/app/views/dust/menus/edit.html.haml +3 -0
- data/app/views/dust/menus/index.html.haml +18 -0
- data/app/views/dust/menus/new.html.haml +4 -0
- data/app/views/dust/menus/show.html.haml +2 -0
- data/app/views/dust/pages/_form.html.haml +68 -0
- data/app/views/dust/pages/_search.html.haml +4 -0
- data/app/views/dust/pages/edit.html.haml +3 -0
- data/app/views/dust/pages/index.html.haml +16 -0
- data/app/views/dust/pages/new.html.haml +3 -0
- data/app/views/dust/password_resets/edit.html.haml +6 -0
- data/app/views/dust/password_resets/new.html.haml +10 -0
- data/app/views/dust/posts/_form.html.haml +39 -0
- data/app/views/dust/posts/edit.html.haml +3 -0
- data/app/views/dust/posts/index.html.haml +18 -0
- data/app/views/dust/posts/new.html.haml +4 -0
- data/app/views/dust/posts/show.html.haml +2 -0
- data/app/views/dust/roles/_form.html.haml +11 -0
- data/app/views/dust/roles/edit.html.haml +2 -0
- data/app/views/dust/roles/index.html.haml +14 -0
- data/app/views/dust/roles/new.html.haml +2 -0
- data/app/views/dust/sessions/_form.html.haml +18 -0
- data/app/views/dust/sessions/new.html.haml +2 -0
- data/app/views/dust/site_wides/new.html.haml +19 -0
- data/app/views/dust/slides/_form.html.haml +26 -0
- data/app/views/dust/slides/_search.html.haml +4 -0
- data/app/views/dust/slides/_slideshow.html.haml +12 -0
- data/app/views/dust/slides/edit.html.haml +5 -0
- data/app/views/dust/slides/index.html.haml +25 -0
- data/app/views/dust/slides/index.js.haml +2 -0
- data/app/views/dust/slides/new.html.haml +6 -0
- data/app/views/dust/slides/show.html.haml +15 -0
- data/app/views/dust/sortable/sort.js.coffee +10 -0
- data/app/views/dust/users/_form.html.haml +27 -0
- data/app/views/dust/users/_search.html.haml +4 -0
- data/app/views/dust/users/_user_bar.html.haml +10 -0
- data/app/views/dust/users/dashboard.html.haml +40 -0
- data/app/views/dust/users/edit.html.haml +2 -0
- data/app/views/dust/users/index.html.haml +16 -0
- data/app/views/dust/users/new.html.haml +2 -0
- data/app/views/front_end/page/_admin.html.haml +6 -0
- data/app/views/front_end/page/search.html.haml +9 -0
- data/app/views/front_end/page/show.html.haml +8 -0
- data/app/views/front_end/post/_admin.html.haml +7 -0
- data/app/views/front_end/post/show.html.haml +12 -0
- data/app/views/front_end/sitemap/index.html.haml +4 -0
- data/app/views/front_end/sitemap/index.xml.haml +9 -0
- data/app/views/layouts/app_partials/_analytics.html.haml +11 -0
- data/app/views/layouts/app_partials/_application_tree.html.haml +6 -0
- data/app/views/layouts/cms.html.haml +52 -0
- data/app/views/layouts/cms_partials/_nav.html.haml +5 -0
- data/app/views/layouts/front_end.html.haml +22 -0
- data/app/views/layouts/sessions.html.haml +19 -0
- data/app/views/post_office/contact_confirmation.html.haml +7 -0
- data/app/views/post_office/contact_request.html.haml +24 -0
- data/app/views/post_office/password_reset_instructions.html.haml +6 -0
- data/app/views/widgets/_contact_form.html.haml +20 -0
- data/app/views/widgets/_map.html.haml +16 -0
- data/app/views/widgets/_quick_contact_form.html.haml +10 -0
- data/app/views/widgets/_site_map.html.haml +7 -0
- data/app/views/widgets/_site_menu.html.haml +10 -0
- data/app/views/widgets/_slider.html.haml +0 -0
- data/app/views/widgets/_user_login.html.haml +13 -0
- data/app/views/widgets/galleries/_archive.html.haml +1 -0
- data/app/views/widgets/galleries/_show.html.haml +0 -0
- data/app/views/widgets/posts/_index.html.haml +1 -0
- data/app/views/widgets/posts/_show.html.haml +0 -0
- data/config/authorization_rules.rb +23 -0
- data/config/generators/templates/haml/scaffold/_form.html.haml +19 -0
- data/config/generators/templates/haml/scaffold/edit.html.haml +3 -0
- data/config/generators/templates/haml/scaffold/index.html.haml +18 -0
- data/config/generators/templates/haml/scaffold/new.html.haml +4 -0
- data/config/generators/templates/haml/scaffold/show.html.haml +2 -0
- data/config/generators/templates/rails/scaffold_controller/controller.rb +51 -0
- data/config/initializers/app_string_io.rb +12 -0
- data/config/initializers/ckeditor.rb +18 -0
- data/config/initializers/client_side_validations.rb +13 -0
- data/config/initializers/dust_config.rb +22 -0
- data/config/initializers/dust_core_reloader.rb +11 -0
- data/config/initializers/sorcery.rb +398 -0
- data/config/initializers/wrap_parameters.rb +14 -0
- data/config/routes.rb +55 -0
- data/db/migrate/20101206025845_create_roles.rb +11 -0
- data/db/migrate/20110217212357_create_ckeditor_assets.rb +31 -0
- data/db/migrate/20110218000640_create_pages.rb +15 -0
- data/db/migrate/20110218000641_create_sections.rb +15 -0
- data/db/migrate/20110218002220_create_contacts.rb +22 -0
- data/db/migrate/20110218020608_create_menu_items.rb +21 -0
- data/db/migrate/20110507014158_create_blocks.rb +23 -0
- data/db/migrate/20121106195938_sorcery_core.rb +17 -0
- data/db/migrate/20121106195939_sorcery_remember_me.rb +15 -0
- data/db/migrate/20121106195940_sorcery_reset_password.rb +17 -0
- data/db/migrate/20121106195941_sorcery_activity_logging.rb +17 -0
- data/db/migrate/20121106200754_sorcery_user_activation.rb +17 -0
- data/db/migrate/20130220044031_create_site_wides.rb +11 -0
- data/db/migrate/20130220051658_create_menus.rb +11 -0
- data/db/migrate/20130223030136_create_albums.rb +13 -0
- data/db/migrate/20130223040911_create_photos.rb +15 -0
- data/db/migrate/20130223044553_create_posts.rb +15 -0
- data/lib/dust/engine.rb +18 -0
- data/lib/dust/utils.rb +14 -0
- data/lib/dust/version.rb +3 -0
- data/lib/dust-cms.rb +53 -0
- data/lib/tasks/dust_tasks.rake +51 -0
- data/lib/tasks/seed.rb +46 -0
- metadata +613 -0
@@ -0,0 +1,211 @@
|
|
1
|
+
/* `XHTML, HTML4, HTML5 Reset
|
2
|
+
----------------------------------------------------------------------------------------------------*/
|
3
|
+
|
4
|
+
a,
|
5
|
+
abbr,
|
6
|
+
acronym,
|
7
|
+
address,
|
8
|
+
applet,
|
9
|
+
article,
|
10
|
+
aside,
|
11
|
+
audio,
|
12
|
+
b,
|
13
|
+
big,
|
14
|
+
blockquote,
|
15
|
+
body,
|
16
|
+
canvas,
|
17
|
+
caption,
|
18
|
+
center,
|
19
|
+
cite,
|
20
|
+
code,
|
21
|
+
dd,
|
22
|
+
del,
|
23
|
+
details,
|
24
|
+
dfn,
|
25
|
+
dialog,
|
26
|
+
div,
|
27
|
+
dl,
|
28
|
+
dt,
|
29
|
+
em,
|
30
|
+
embed,
|
31
|
+
fieldset,
|
32
|
+
figcaption,
|
33
|
+
figure,
|
34
|
+
font,
|
35
|
+
footer,
|
36
|
+
form,
|
37
|
+
h1,
|
38
|
+
h2,
|
39
|
+
h3,
|
40
|
+
h4,
|
41
|
+
h5,
|
42
|
+
h6,
|
43
|
+
header,
|
44
|
+
hgroup,
|
45
|
+
hr,
|
46
|
+
html,
|
47
|
+
i,
|
48
|
+
iframe,
|
49
|
+
img,
|
50
|
+
ins,
|
51
|
+
kbd,
|
52
|
+
label,
|
53
|
+
legend,
|
54
|
+
li,
|
55
|
+
mark,
|
56
|
+
menu,
|
57
|
+
meter,
|
58
|
+
nav,
|
59
|
+
object,
|
60
|
+
ol,
|
61
|
+
output,
|
62
|
+
p,
|
63
|
+
pre,
|
64
|
+
progress,
|
65
|
+
q,
|
66
|
+
rp,
|
67
|
+
rt,
|
68
|
+
ruby,
|
69
|
+
s,
|
70
|
+
samp,
|
71
|
+
section,
|
72
|
+
small,
|
73
|
+
span,
|
74
|
+
strike,
|
75
|
+
strong,
|
76
|
+
sub,
|
77
|
+
summary,
|
78
|
+
sup,
|
79
|
+
table,
|
80
|
+
tbody,
|
81
|
+
td,
|
82
|
+
tfoot,
|
83
|
+
th,
|
84
|
+
thead,
|
85
|
+
time,
|
86
|
+
tr,
|
87
|
+
tt,
|
88
|
+
u,
|
89
|
+
ul,
|
90
|
+
var,
|
91
|
+
video,
|
92
|
+
xmp {
|
93
|
+
border: 0;
|
94
|
+
margin: 0;
|
95
|
+
padding: 0;
|
96
|
+
font-size: 100%;
|
97
|
+
}
|
98
|
+
|
99
|
+
html,
|
100
|
+
body {
|
101
|
+
height: 100%;
|
102
|
+
}
|
103
|
+
|
104
|
+
article,
|
105
|
+
aside,
|
106
|
+
details,
|
107
|
+
figcaption,
|
108
|
+
figure,
|
109
|
+
footer,
|
110
|
+
header,
|
111
|
+
hgroup,
|
112
|
+
menu,
|
113
|
+
nav,
|
114
|
+
section {
|
115
|
+
/*
|
116
|
+
Override the default (display: inline) for
|
117
|
+
browsers that do not recognize HTML5 tags.
|
118
|
+
|
119
|
+
IE8 (and lower) requires a shiv:
|
120
|
+
http://ejohn.org/blog/html5-shiv
|
121
|
+
*/
|
122
|
+
display: block;
|
123
|
+
}
|
124
|
+
|
125
|
+
b,
|
126
|
+
strong {
|
127
|
+
/*
|
128
|
+
Makes browsers agree.
|
129
|
+
IE + Opera = font-weight: bold.
|
130
|
+
Gecko + WebKit = font-weight: bolder.
|
131
|
+
*/
|
132
|
+
font-weight: bold;
|
133
|
+
}
|
134
|
+
|
135
|
+
img {
|
136
|
+
color: transparent;
|
137
|
+
font-size: 0;
|
138
|
+
vertical-align: middle;
|
139
|
+
/*
|
140
|
+
For IE.
|
141
|
+
http://css-tricks.com/ie-fix-bicubic-scaling-for-images
|
142
|
+
*/
|
143
|
+
-ms-interpolation-mode: bicubic;
|
144
|
+
}
|
145
|
+
|
146
|
+
ol,
|
147
|
+
ul {
|
148
|
+
list-style: none;
|
149
|
+
}
|
150
|
+
|
151
|
+
li {
|
152
|
+
/*
|
153
|
+
For IE6 + IE7:
|
154
|
+
|
155
|
+
"display: list-item" keeps bullets from
|
156
|
+
disappearing if hasLayout is triggered.
|
157
|
+
*/
|
158
|
+
display: list-item;
|
159
|
+
}
|
160
|
+
|
161
|
+
table {
|
162
|
+
border-collapse: collapse;
|
163
|
+
border-spacing: 0;
|
164
|
+
}
|
165
|
+
|
166
|
+
th,
|
167
|
+
td,
|
168
|
+
caption {
|
169
|
+
font-weight: normal;
|
170
|
+
vertical-align: top;
|
171
|
+
text-align: left;
|
172
|
+
}
|
173
|
+
|
174
|
+
q {
|
175
|
+
quotes: none;
|
176
|
+
}
|
177
|
+
|
178
|
+
q:before,
|
179
|
+
q:after {
|
180
|
+
content: '';
|
181
|
+
content: none;
|
182
|
+
}
|
183
|
+
|
184
|
+
sub,
|
185
|
+
sup,
|
186
|
+
small {
|
187
|
+
font-size: 75%;
|
188
|
+
}
|
189
|
+
|
190
|
+
sub,
|
191
|
+
sup {
|
192
|
+
line-height: 0;
|
193
|
+
position: relative;
|
194
|
+
vertical-align: baseline;
|
195
|
+
}
|
196
|
+
|
197
|
+
sub {
|
198
|
+
bottom: -0.25em;
|
199
|
+
}
|
200
|
+
|
201
|
+
sup {
|
202
|
+
top: -0.5em;
|
203
|
+
}
|
204
|
+
|
205
|
+
svg {
|
206
|
+
/*
|
207
|
+
For IE9. Without, occasionally draws shapes
|
208
|
+
outside the boundaries of <svg> rectangle.
|
209
|
+
*/
|
210
|
+
overflow: hidden;
|
211
|
+
}
|
@@ -0,0 +1,86 @@
|
|
1
|
+
/*
|
2
|
+
960 Grid System ~ Text CSS.
|
3
|
+
Learn more ~ http://960.gs/
|
4
|
+
|
5
|
+
Licensed under GPL and MIT.
|
6
|
+
*/
|
7
|
+
|
8
|
+
/* `Basic HTML
|
9
|
+
----------------------------------------------------------------------------------------------------*/
|
10
|
+
|
11
|
+
body {
|
12
|
+
font: 13px/1.5 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif;
|
13
|
+
}
|
14
|
+
|
15
|
+
pre,
|
16
|
+
code {
|
17
|
+
font-family: 'DejaVu Sans Mono', Menlo, Consolas, monospace;
|
18
|
+
}
|
19
|
+
|
20
|
+
hr {
|
21
|
+
border: 0 #ccc solid;
|
22
|
+
border-top-width: 1px;
|
23
|
+
clear: both;
|
24
|
+
height: 0;
|
25
|
+
}
|
26
|
+
|
27
|
+
/* `Headings
|
28
|
+
----------------------------------------------------------------------------------------------------*/
|
29
|
+
|
30
|
+
h1 {
|
31
|
+
font-size: 25px;
|
32
|
+
}
|
33
|
+
|
34
|
+
h2 {
|
35
|
+
font-size: 23px;
|
36
|
+
}
|
37
|
+
|
38
|
+
h3 {
|
39
|
+
font-size: 21px;
|
40
|
+
}
|
41
|
+
|
42
|
+
h4 {
|
43
|
+
font-size: 19px;
|
44
|
+
}
|
45
|
+
|
46
|
+
h5 {
|
47
|
+
font-size: 17px;
|
48
|
+
}
|
49
|
+
|
50
|
+
h6 {
|
51
|
+
font-size: 15px;
|
52
|
+
}
|
53
|
+
|
54
|
+
/* `Spacing
|
55
|
+
----------------------------------------------------------------------------------------------------*/
|
56
|
+
|
57
|
+
ol {
|
58
|
+
list-style: decimal;
|
59
|
+
}
|
60
|
+
|
61
|
+
ul {
|
62
|
+
list-style: disc;
|
63
|
+
}
|
64
|
+
|
65
|
+
li {
|
66
|
+
margin-left: 30px;
|
67
|
+
}
|
68
|
+
|
69
|
+
p,
|
70
|
+
dl,
|
71
|
+
hr,
|
72
|
+
h1,
|
73
|
+
h2,
|
74
|
+
h3,
|
75
|
+
h4,
|
76
|
+
h5,
|
77
|
+
h6,
|
78
|
+
ol,
|
79
|
+
ul,
|
80
|
+
pre,
|
81
|
+
table,
|
82
|
+
address,
|
83
|
+
fieldset,
|
84
|
+
figure {
|
85
|
+
margin-bottom: 20px;
|
86
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
/*
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
3
|
+
* listed below.
|
4
|
+
*
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
6
|
+
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
7
|
+
*
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the top of the
|
9
|
+
* compiled file, but it's generally better to create a new file per style scope.
|
10
|
+
*
|
11
|
+
*= require_directory ./core/reset
|
12
|
+
*= require_directory ./core/plugins
|
13
|
+
*= require_directory ./core/app
|
14
|
+
*/
|
@@ -0,0 +1,70 @@
|
|
1
|
+
html {
|
2
|
+
color: #333333;
|
3
|
+
-webkit-font-smoothing: antialiased;
|
4
|
+
|
5
|
+
background-color: #ebeded;
|
6
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(235, 237, 237)), to(rgb(245, 246, 247)));
|
7
|
+
background-image: -webkit-linear-gradient(top, rgb(235, 237, 237), rgb(245, 246, 247));
|
8
|
+
background-image: -moz-linear-gradient(top, rgb(235, 237, 237), rgb(245, 246, 247));
|
9
|
+
background-image: -o-linear-gradient(top, rgb(235, 237, 237), rgb(245, 246, 247));
|
10
|
+
background-image: -ms-linear-gradient(top, rgb(235, 237, 237), rgb(245, 246, 247));
|
11
|
+
background-image: linear-gradient(top, rgb(235, 237, 237), rgb(245, 246, 247));
|
12
|
+
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#ebeded', EndColorStr='#f5f6f7');
|
13
|
+
|
14
|
+
body {
|
15
|
+
background: url(/assets/admin/dust-letterpress.png) 50% 50% no-repeat;
|
16
|
+
background-size: 250px;
|
17
|
+
|
18
|
+
&::after {
|
19
|
+
content: "dust cms";
|
20
|
+
position: absolute;
|
21
|
+
bottom: 20px;
|
22
|
+
right: 20px;
|
23
|
+
|
24
|
+
text-shadow: 1px 1px 0 #fff;
|
25
|
+
color: #CDD0D2;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
body {
|
31
|
+
-moz-animation-name: dropHeader;
|
32
|
+
-moz-animation-iteration-count: once;
|
33
|
+
-moz-animation-timing-function: ease-in;
|
34
|
+
-moz-animation-duration: 2s;
|
35
|
+
|
36
|
+
-webkit-animation-name: dropHeader;
|
37
|
+
-webkit-animation-iteration-count: once;
|
38
|
+
-webkit-animation-timing-function: ease-in;
|
39
|
+
-webkit-animation-duration: 2s;
|
40
|
+
}
|
41
|
+
@-moz-keyframes dropHeader {
|
42
|
+
0% {
|
43
|
+
background-size: 0px;
|
44
|
+
}
|
45
|
+
100% {
|
46
|
+
background-size: 250px;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
@-webkit-keyframes dropHeader {
|
50
|
+
0% {
|
51
|
+
background-size: 0px;
|
52
|
+
}
|
53
|
+
100% {
|
54
|
+
background-size: 250px;
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
#header_one-blocks-wrapper {
|
59
|
+
background:#DC4E00;
|
60
|
+
border-bottom: 5px solid #C44500;
|
61
|
+
box-shadow: 0 0 5px rgba(0,0,0,0.25);
|
62
|
+
}
|
63
|
+
|
64
|
+
#tree .menu-item {
|
65
|
+
padding: 20px;
|
66
|
+
|
67
|
+
a {
|
68
|
+
color: #fff;
|
69
|
+
}
|
70
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
/*
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
3
|
+
* listed below.
|
4
|
+
*
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
6
|
+
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
7
|
+
*
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the top of the
|
9
|
+
* compiled file, but it's generally better to create a new file per style scope.
|
10
|
+
*
|
11
|
+
*= require core
|
12
|
+
*= require_directory ./front_end/app
|
13
|
+
|
14
|
+
*/
|
@@ -0,0 +1,30 @@
|
|
1
|
+
class AuthenticationController < ActionController::Base
|
2
|
+
|
3
|
+
protect_from_forgery
|
4
|
+
helper :all
|
5
|
+
|
6
|
+
before_filter { |c| Authorization.current_user = c.current_user }
|
7
|
+
|
8
|
+
def permission_denied
|
9
|
+
flash[:error] = "Sorry, either you need to log in first to view that page."
|
10
|
+
if current_user
|
11
|
+
redirect_to dust_dashboard_url
|
12
|
+
else
|
13
|
+
redirect_to root_url
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def not_authenticated
|
18
|
+
redirect_to dust_login_url, :error => "First log in to view this page."
|
19
|
+
end
|
20
|
+
|
21
|
+
def try_return_to_previous_page(url)
|
22
|
+
!params[:return].blank? ? redirect_to(params[:return]) : redirect_to(url)
|
23
|
+
end
|
24
|
+
|
25
|
+
protected
|
26
|
+
def _prefixes
|
27
|
+
@_prefixes_with_partials ||= super | %w(widgets)
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Dust
|
2
|
+
class BlocksController < AuthenticationController
|
3
|
+
|
4
|
+
filter_access_to :all
|
5
|
+
|
6
|
+
layout 'cms'
|
7
|
+
|
8
|
+
def index
|
9
|
+
@blocks = Dust::Block.page(params[:search], params[:page])
|
10
|
+
end
|
11
|
+
|
12
|
+
def new
|
13
|
+
@block = Dust::Block.new(:show => params[:show]) if params[:show]
|
14
|
+
@block ||= Dust::Block.new
|
15
|
+
end
|
16
|
+
|
17
|
+
def create
|
18
|
+
@block = Dust::Block.new(params[:dust_block])
|
19
|
+
if @block.save
|
20
|
+
flash[:notice] = "Successfully created block."
|
21
|
+
try_return_to_previous_page(dust_blocks_url)
|
22
|
+
else
|
23
|
+
render :action => 'new'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def edit
|
28
|
+
@block = Dust::Block.find(params[:id])
|
29
|
+
end
|
30
|
+
|
31
|
+
def update
|
32
|
+
@block = Dust::Block.find(params[:id])
|
33
|
+
if @block.update_attributes(params[:dust_block])
|
34
|
+
flash[:notice] = "Successfully updated block."
|
35
|
+
try_return_to_previous_page(dust_blocks_path)
|
36
|
+
else
|
37
|
+
render :action => 'edit'
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def destroy
|
42
|
+
@block = Dust::Block.find(params[:id])
|
43
|
+
@block.destroy
|
44
|
+
flash[:notice] = "Successfully destroyed block."
|
45
|
+
try_return_to_previous_page(dust_blocks_url)
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
module Dust
|
2
|
+
class ContactsController < AuthenticationController
|
3
|
+
|
4
|
+
require "csv"
|
5
|
+
|
6
|
+
filter_access_to :all
|
7
|
+
|
8
|
+
layout 'cms'
|
9
|
+
|
10
|
+
def index
|
11
|
+
@contacts = Dust::Contact.page(params[:search], params[:page], params[:date])
|
12
|
+
end
|
13
|
+
|
14
|
+
def new
|
15
|
+
@contact = Dust::Contact.new
|
16
|
+
end
|
17
|
+
|
18
|
+
def create
|
19
|
+
@page = Dust::Page.find(1)
|
20
|
+
@contact = Dust::Contact.new(params[:dust_contact])
|
21
|
+
if @contact.save
|
22
|
+
@contact.deliver_messages
|
23
|
+
flash[:notice] = "Successfully Sent Message."
|
24
|
+
redirect_to root_url
|
25
|
+
else
|
26
|
+
render :action => 'new', :layout => 'application'
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def edit
|
31
|
+
@contact = Dust::Contact.find(params[:id])
|
32
|
+
end
|
33
|
+
|
34
|
+
def update
|
35
|
+
@contact = Dust::Contact.find(params[:id])
|
36
|
+
if @contact.update_attributes(params[:dust_contact])
|
37
|
+
flash[:notice] = "Successfully updated contact."
|
38
|
+
redirect_to @contact
|
39
|
+
else
|
40
|
+
render :action => 'edit'
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def destroy
|
45
|
+
@contact = Dust::Contact.find(params[:id])
|
46
|
+
@contact.destroy
|
47
|
+
flash[:notice] = "Successfully destroyed contact."
|
48
|
+
redirect_to dust_contacts_url
|
49
|
+
end
|
50
|
+
|
51
|
+
def csv
|
52
|
+
@contacts = Dust::Contact.order("created_at DESC")
|
53
|
+
if @contacts.empty?
|
54
|
+
flash[:error] = "There are no contact requests available."
|
55
|
+
redirect_to dust_contacts_path
|
56
|
+
else
|
57
|
+
csv_string = CSV.generate do |csv|
|
58
|
+
csv << ["Name", "Email", "message"]
|
59
|
+
@contacts.each do |contact|
|
60
|
+
csv << [contact['name'], contact['email'], contact['message']]
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
send_data(csv_string,
|
65
|
+
:type => 'text/csv; charset=utf-8; header=present',
|
66
|
+
:filename => "AllDust::Contacts#{Date.today}.csv"
|
67
|
+
)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def csv_import
|
72
|
+
csv = CSV.new(params[:csv_import][:file])
|
73
|
+
csv.each do |row|
|
74
|
+
Dust::Contact.create(:name => row[0],
|
75
|
+
:email => row[1],
|
76
|
+
:message => row[2]
|
77
|
+
)
|
78
|
+
end
|
79
|
+
csv.close
|
80
|
+
flash[:notice] = "Successfully added some Dust::Contact(s)."
|
81
|
+
redirect_to contacts_path
|
82
|
+
rescue => exception
|
83
|
+
# If an exception is thrown, the transaction rolls back and we end up in this rescue block
|
84
|
+
error = ERB::Util.h(exception.to_s) # get the error and HTML escape it
|
85
|
+
flash[:error] = "Error adding logs. (some #{error}). Please try again."
|
86
|
+
redirect_to contacts_path
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Dust
|
2
|
+
class DashboardController < AuthenticationController
|
3
|
+
|
4
|
+
filter_access_to :all
|
5
|
+
|
6
|
+
layout 'cms'
|
7
|
+
|
8
|
+
def show
|
9
|
+
@options = SiteWide.variables_by_category
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
def update
|
14
|
+
@site_wide = Dust::Builder::SiteWide.new(:options => params[:options])
|
15
|
+
|
16
|
+
if @site_wide.update
|
17
|
+
flash[:notice] = "Successfully saved site wide variables!"
|
18
|
+
redirect_to dust_dashboard_url
|
19
|
+
else
|
20
|
+
@options = @site_wide.variables.group_by{ |i| i.category }
|
21
|
+
render :action => :show
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Dust
|
2
|
+
module Gallery
|
3
|
+
class AlbumsController < AuthenticationController
|
4
|
+
|
5
|
+
filter_access_to :all
|
6
|
+
|
7
|
+
layout 'cms'
|
8
|
+
|
9
|
+
def index
|
10
|
+
@albums = Dust::Gallery::Album.all
|
11
|
+
end
|
12
|
+
|
13
|
+
def new
|
14
|
+
@album = Dust::Gallery::Album.new_with_menu_item
|
15
|
+
end
|
16
|
+
|
17
|
+
def edit
|
18
|
+
@album = Dust::Gallery::Album.find(params[:id])
|
19
|
+
end
|
20
|
+
|
21
|
+
def create
|
22
|
+
@album = Dust::Gallery::Album.new_with_menu_item(params[:dust_gallery_album])
|
23
|
+
|
24
|
+
if @album.save
|
25
|
+
redirect_to edit_dust_gallery_album_path(@album), notice: 'Album was successfully created.'
|
26
|
+
else
|
27
|
+
render action: "new"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def update
|
32
|
+
@album = Dust::Gallery::Album.find(params[:id])
|
33
|
+
|
34
|
+
if @album.update_attributes(params[:dust_gallery_album])
|
35
|
+
redirect_to dust_gallery_albums_path, notice: 'Album was successfully updated.'
|
36
|
+
else
|
37
|
+
render action: "edit"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def destroy
|
42
|
+
@album = Dust::Gallery::Album.find(params[:id])
|
43
|
+
@album.destroy
|
44
|
+
|
45
|
+
redirect_to dust_gallery_albums_url
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Dust
|
2
|
+
module Gallery
|
3
|
+
module Api
|
4
|
+
class PhotosController < AuthenticationController
|
5
|
+
|
6
|
+
respond_to :json
|
7
|
+
|
8
|
+
def show
|
9
|
+
respond_with Dust::Gallery::Photo.find(params[:id])
|
10
|
+
end
|
11
|
+
|
12
|
+
def create
|
13
|
+
file = AppSpecificStringIO.new(params[:qqfile], request.raw_post)
|
14
|
+
respond_with Dust::Gallery::Photo.create :filename => file, :album_id => params[:album_id]
|
15
|
+
end
|
16
|
+
|
17
|
+
def update
|
18
|
+
respond_with Dust::Gallery::Photo.update params[:dust_gallery_photo]
|
19
|
+
end
|
20
|
+
|
21
|
+
def destroy
|
22
|
+
respond_with Dust::Gallery::Photo.destroy params[:id]
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Dust
|
2
|
+
module Gallery
|
3
|
+
class PhotosController < AuthenticationController
|
4
|
+
|
5
|
+
filter_access_to :all
|
6
|
+
|
7
|
+
layout 'cms'
|
8
|
+
|
9
|
+
def show
|
10
|
+
@photo = Dust::Gallery::Photo.find params[:id]
|
11
|
+
end
|
12
|
+
|
13
|
+
def edit
|
14
|
+
@photo = Dust::Gallery::Photo.find params[:id]
|
15
|
+
end
|
16
|
+
|
17
|
+
#def create
|
18
|
+
#file = AppSpecificStringIO.new(params[:qqfile], request.raw_post)
|
19
|
+
#@photo = Dust::Gallery::Photo.new :filename => file, :album_id => params[:album_id]
|
20
|
+
|
21
|
+
#if @photo.save
|
22
|
+
#redirect_to @photo, notice: 'Photo was successfully created.'
|
23
|
+
#else
|
24
|
+
#render :json => {success: false}
|
25
|
+
#end
|
26
|
+
#end
|
27
|
+
|
28
|
+
def update
|
29
|
+
@photo = Photo.find(params[:id])
|
30
|
+
|
31
|
+
if @photo.update_attributes(params[:dust_gallery_photo])
|
32
|
+
redirect_to edit_dust_gallery_album_path(@photo.album), notice: 'Photo was successfully updated.'
|
33
|
+
else
|
34
|
+
render action: "edit"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def destroy
|
39
|
+
@photo = Photo.find(params[:id])
|
40
|
+
@photo.destroy
|
41
|
+
|
42
|
+
redirect_to edit_dust_gallery_album_path(@photo.album)
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|