cms9 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +192 -0
- data/Rakefile +37 -0
- data/app/assets/config/cms9_manifest.js +2 -0
- data/app/assets/images/cms9/cms9_logo.png +0 -0
- data/app/assets/images/cms9/cms9_logo_readme.png +0 -0
- data/app/assets/images/cms9/favicon-128.png +0 -0
- data/app/assets/images/cms9/favicon-16.png +0 -0
- data/app/assets/images/cms9/favicon-32.png +0 -0
- data/app/assets/images/cms9/favicon-64.png +0 -0
- data/app/assets/images/cms9/iCheck/flat/blue.png +0 -0
- data/app/assets/images/cms9/iCheck/flat/blue@2x.png +0 -0
- data/app/assets/javascripts/cms9/admin_lte.js +763 -0
- data/app/assets/javascripts/cms9/application.js +18 -0
- data/app/assets/javascripts/cms9/cable.js +13 -0
- data/app/assets/javascripts/cms9/multiple_values_selection.js +70 -0
- data/app/assets/javascripts/cms9/post_fields.js +5 -0
- data/app/assets/javascripts/cms9/posts.js +37 -0
- data/app/assets/stylesheets/cms9/admin_lte.scss +4932 -0
- data/app/assets/stylesheets/cms9/admin_lte_skins.css +1770 -0
- data/app/assets/stylesheets/cms9/application.scss +7 -0
- data/app/assets/stylesheets/cms9/fields.scss +3 -0
- data/app/assets/stylesheets/cms9/post_definitions.scss +28 -0
- data/app/assets/stylesheets/cms9/posts.scss +3 -0
- data/app/assets/stylesheets/cms9/welcome.scss +20 -0
- data/app/controllers/cms9/application_controller.rb +34 -0
- data/app/controllers/cms9/fields_controller.rb +4 -0
- data/app/controllers/cms9/post_definitions_controller.rb +85 -0
- data/app/controllers/cms9/post_fields_controller.rb +108 -0
- data/app/controllers/cms9/posts_controller.rb +76 -0
- data/app/controllers/cms9/welcome_controller.rb +8 -0
- data/app/helpers/cms9/application_helper.rb +58 -0
- data/app/helpers/cms9/fields_helper.rb +4 -0
- data/app/helpers/cms9/post_definitions_helper.rb +4 -0
- data/app/helpers/cms9/post_fields_helper.rb +4 -0
- data/app/helpers/cms9/posts_helper.rb +4 -0
- data/app/helpers/cms9/welcome_helper.rb +4 -0
- data/app/jobs/cms9/application_job.rb +4 -0
- data/app/mailers/cms9/application_mailer.rb +6 -0
- data/app/models/ckeditor/asset.rb +9 -0
- data/app/models/ckeditor/attachment_file.rb +9 -0
- data/app/models/ckeditor/picture.rb +14 -0
- data/app/models/cms9/application_record.rb +5 -0
- data/app/models/cms9/event.rb +7 -0
- data/app/models/cms9/field.rb +20 -0
- data/app/models/cms9/post.rb +16 -0
- data/app/models/cms9/post_definition.rb +25 -0
- data/app/models/cms9/post_field.rb +23 -0
- data/app/views/cms9/fields/index.html.erb +0 -0
- data/app/views/cms9/post_definitions/edit.html.erb +81 -0
- data/app/views/cms9/post_definitions/index.html.erb +48 -0
- data/app/views/cms9/post_definitions/new.html.erb +41 -0
- data/app/views/cms9/post_fields/_field_form.html.erb +46 -0
- data/app/views/cms9/post_fields/_image_sizer.html.erb +2 -0
- data/app/views/cms9/post_fields/_select.html.erb +24 -0
- data/app/views/cms9/post_fields/_select_blank.html.erb +10 -0
- data/app/views/cms9/post_fields/edit.html.erb +14 -0
- data/app/views/cms9/post_fields/new.html.erb +14 -0
- data/app/views/cms9/posts/_post_form.html.erb +13 -0
- data/app/views/cms9/posts/edit.html.erb +14 -0
- data/app/views/cms9/posts/index.html.erb +42 -0
- data/app/views/cms9/posts/inputs/_date.html.erb +2 -0
- data/app/views/cms9/posts/inputs/_date_time.html.erb +2 -0
- data/app/views/cms9/posts/inputs/_image.html.erb +19 -0
- data/app/views/cms9/posts/inputs/_number.html.erb +2 -0
- data/app/views/cms9/posts/inputs/_select_multiple.html.erb +7 -0
- data/app/views/cms9/posts/inputs/_select_single.html.erb +2 -0
- data/app/views/cms9/posts/inputs/_text.html.erb +2 -0
- data/app/views/cms9/posts/inputs/_text_area.html.erb +2 -0
- data/app/views/cms9/posts/inputs/_time.html.erb +2 -0
- data/app/views/cms9/posts/new.html.erb +14 -0
- data/app/views/cms9/welcome/_post.html.erb +46 -0
- data/app/views/cms9/welcome/_post_definition.html.erb +36 -0
- data/app/views/cms9/welcome/index.html.erb +57 -0
- data/app/views/layouts/cms9/application.html.erb +100 -0
- data/config/initializers/assets.rb +4 -0
- data/config/initializers/ckeditor.rb +59 -0
- data/config/initializers/ckeditor_dragonfly.rb +19 -0
- data/config/initializers/ckeditor_init.rb +3 -0
- data/config/initializers/dragonfly.rb +26 -0
- data/config/routes.rb +11 -0
- data/db/migrate/cms9_create.rb +73 -0
- data/db/schema.rb +49 -0
- data/db/seeds.rb +7 -0
- data/lib/cms9.rb +24 -0
- data/lib/cms9/engine.rb +24 -0
- data/lib/cms9/version.rb +3 -0
- data/lib/events/cms9_events.rb +50 -0
- data/lib/generators/cms9/install/install_generator.rb +81 -0
- data/lib/generators/cms9/install/templates/ckeditor_config.js +14 -0
- data/lib/generators/cms9/install/templates/cms9_configurator.rb +4 -0
- data/lib/sdk/cms9.rb +138 -0
- data/lib/tasks/cms9_tasks.rake +4 -0
- metadata +423 -0
@@ -0,0 +1,14 @@
|
|
1
|
+
<div class="row">
|
2
|
+
<div class="col-md-12">
|
3
|
+
<div class="box box-info">
|
4
|
+
<div class="box-header">
|
5
|
+
<h3 class="box-title">
|
6
|
+
Update Field for <%= @field.post_definition.name %>
|
7
|
+
</h3>
|
8
|
+
</div>
|
9
|
+
<div class="box-body">
|
10
|
+
<%= render 'field_form', { edit: true } %>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
</div>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<div class="row">
|
2
|
+
<div class="col-md-12">
|
3
|
+
<div class="box box-info">
|
4
|
+
<div class="box-header">
|
5
|
+
<h3 class="box-title">
|
6
|
+
Add Field for <%= @field.post_definition.name %>
|
7
|
+
</h3>
|
8
|
+
</div>
|
9
|
+
<div class="box-body">
|
10
|
+
<%= render 'field_form', { edit: false } %>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
</div>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<%= form_for @post do |f| %>
|
2
|
+
|
3
|
+
<%= f.hidden_field :post_definition_id %>
|
4
|
+
|
5
|
+
<%= f.fields_for :fields do |field| %>
|
6
|
+
<%= field.hidden_field :post_id %>
|
7
|
+
<%= field.hidden_field :post_field_id %>
|
8
|
+
<%= render 'cms9/posts/inputs/' + field.object.post_field.field_type, field: field %>
|
9
|
+
<% end %>
|
10
|
+
|
11
|
+
<%= f.submit class: 'btn btn-primary', style: 'margin-top: 30px;' %>
|
12
|
+
|
13
|
+
<% end %>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<div class="row">
|
2
|
+
<div class="col-md-12">
|
3
|
+
<div class="box box-info">
|
4
|
+
<div class="box-header">
|
5
|
+
<h3 class="box-title">
|
6
|
+
Update for <%= Cms9::PostDefinition.find(@post.post_definition_id).name %>
|
7
|
+
</h3>
|
8
|
+
</div>
|
9
|
+
<div class="box-body">
|
10
|
+
<%= render 'post_form' %>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
</div>
|
@@ -0,0 +1,42 @@
|
|
1
|
+
|
2
|
+
<div class="row">
|
3
|
+
<div class="col-md-12">
|
4
|
+
<div class="box box-info">
|
5
|
+
|
6
|
+
<div class="box-header">
|
7
|
+
<i class="fa fa-edit"></i>
|
8
|
+
<h3 class="box-title"><%= @post_definition.name.pluralize %></h3>
|
9
|
+
<div class="pull-right box-tools">
|
10
|
+
<%= link_to 'Create', new_post_path(post_definition_id: @post_definition.id), class: 'btn btn-primary btn-sm' %>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
<div class="box-body">
|
14
|
+
<table class="table table-hover">
|
15
|
+
<thead>
|
16
|
+
<th>Name</th>
|
17
|
+
<th style="width:160px;">Created</th>
|
18
|
+
<th style="width:120px;">Last Update</th>
|
19
|
+
<th style="width:120px;">Actions</th>
|
20
|
+
</thead>
|
21
|
+
<tbody>
|
22
|
+
<% @posts.each do |post| %>
|
23
|
+
<tr>
|
24
|
+
<td><%= post.field('Title').value %></td>
|
25
|
+
<td><%= distance_of_time_in_words_to_now(post.created_at) %></td>
|
26
|
+
<td>User #<%= post.user_id %></td>
|
27
|
+
<td style="text-align: right;">
|
28
|
+
<%= link_to "Edit", edit_post_path(post),
|
29
|
+
class: 'btn btn-primary btn-sm'%>
|
30
|
+
<%= link_to "Delete", post_path(post),
|
31
|
+
method: :delete,
|
32
|
+
data: { confirm: 'Are you sure?' },
|
33
|
+
class: 'btn btn-danger btn-sm'%>
|
34
|
+
</td>
|
35
|
+
</tr>
|
36
|
+
<% end %>
|
37
|
+
</tbody>
|
38
|
+
</table>
|
39
|
+
</div>
|
40
|
+
</div>
|
41
|
+
</div>
|
42
|
+
</div>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<%= field.label field.object.post_field.name + " ( " + field.object.post_field.metadata + " )", { style: 'margin-top: 20px;'} %>
|
2
|
+
|
3
|
+
<% if field.object.image_stored? %>
|
4
|
+
<%= link_to "Remove", '#', {
|
5
|
+
style: 'display: inline-block;',
|
6
|
+
onclick: "deleteFile('edit');",
|
7
|
+
id: 'remove-image' } %>
|
8
|
+
<%= field.hidden_field :remove_image, { id: 'remove-value' } %>
|
9
|
+
<%= field.file_field :image, { id: 'upload-image-field' } %>
|
10
|
+
<%= image_tag field.object.image.thumb('250x').url, {
|
11
|
+
class: 'post-image loaded',
|
12
|
+
id: 'post-image' } %>
|
13
|
+
<% else %>
|
14
|
+
<a href="#" onclick="deleteFile('new')" id="remove-image" style="display: none;">Remove</a>
|
15
|
+
<%= field.file_field :image, {
|
16
|
+
id: 'upload-image-field',
|
17
|
+
required: field.object.post_field.required } %>
|
18
|
+
<img id="post-image" class="post-image"/>
|
19
|
+
<% end %>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<%= field.label field.object.post_field.name %>
|
2
|
+
<% if field.object.value %>
|
3
|
+
<% noEmptyValue = ActiveSupport::JSON.decode(field.object.value).reject { |c| c.empty? } %>
|
4
|
+
<%= field.select :value, options_for_select(field.object.post_field.metadata.split(','), noEmptyValue), {}, { multiple: true, class: 'form-control type-selector', required: field.object.post_field.required } %>
|
5
|
+
<% else %>
|
6
|
+
<%= field.select :value, options_for_select(field.object.post_field.metadata.split(',')), {}, { multiple: true, class: 'form-control type-selector', required: field.object.post_field.required } %>
|
7
|
+
<% end %>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<div class="row">
|
2
|
+
<div class="col-md-12">
|
3
|
+
<div class="box box-info">
|
4
|
+
<div class="box-header">
|
5
|
+
<h3 class="box-title">
|
6
|
+
Create for <%= @post.post_definition.name %>
|
7
|
+
</h3>
|
8
|
+
</div>
|
9
|
+
<div class="box-body">
|
10
|
+
<%= render 'post_form' %>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
</div>
|
@@ -0,0 +1,46 @@
|
|
1
|
+
<li>
|
2
|
+
<% if event.action == 'create' %>
|
3
|
+
<i class="fa fa-file fa-inverse bg-green"></i>
|
4
|
+
<% elsif event.action == 'update' %>
|
5
|
+
<i class="fa fa-file fa-inverse bg-blue"></i>
|
6
|
+
<% else %>
|
7
|
+
<i class="fa fa-file fa-inverse bg-red"></i>
|
8
|
+
<% end %>
|
9
|
+
<div class="timeline-item">
|
10
|
+
<span class="time">
|
11
|
+
<i class="fa fa-clock-o"></i>
|
12
|
+
<%= distance_of_time_in_words_to_now(event.created_at) %>
|
13
|
+
</span>
|
14
|
+
<h3 class="timeline-header">
|
15
|
+
<span>
|
16
|
+
<% if event.action == 'destroy' %>
|
17
|
+
Deleted post
|
18
|
+
<% else %>
|
19
|
+
<%= event.action.capitalize %>d post
|
20
|
+
<% end %>
|
21
|
+
</span>
|
22
|
+
|
23
|
+
<% if event.deleted_field %>
|
24
|
+
<b><%= event.deleted_field %></b>
|
25
|
+
<% else %>
|
26
|
+
<%= link_to edit_post_path(id: event.post_id) do %>
|
27
|
+
<%= Cms9::Cms9Events.new.get_title_value_for_post(event.post_id) %>
|
28
|
+
<% end %>
|
29
|
+
|
30
|
+
<span>
|
31
|
+
in post type
|
32
|
+
</span>
|
33
|
+
|
34
|
+
<%= link_to edit_post_definition_path(id: Cms9::Post.find(event.post_id).post_definition.id) do %>
|
35
|
+
<%= Cms9::Post.find(event.post_id).post_definition.name %>
|
36
|
+
<% end %>
|
37
|
+
|
38
|
+
<% end %>
|
39
|
+
</h3>
|
40
|
+
<div class="timeline-body">
|
41
|
+
<span class="user-block-name">
|
42
|
+
<%= JSON.parse(event.user)[1] ? JSON.parse(event.user)[1] : "User #" + JSON.parse(event.user)[0].to_s %>
|
43
|
+
</span>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
</li>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<li>
|
2
|
+
<% if event.action == 'create' %>
|
3
|
+
<i class="fa fa-folder-open bg-green"></i>
|
4
|
+
<% elsif event.action == 'update' %>
|
5
|
+
<i class="fa fa-folder-open bg-blue"></i>
|
6
|
+
<% else %>
|
7
|
+
<i class="fa fa-folder-open bg-red"></i>
|
8
|
+
<% end %>
|
9
|
+
<div class="timeline-item">
|
10
|
+
<span class="time">
|
11
|
+
<i class="fa fa-clock-o"></i>
|
12
|
+
<%= distance_of_time_in_words_to_now(event.created_at) %>
|
13
|
+
</span>
|
14
|
+
<h3 class="timeline-header">
|
15
|
+
<span>
|
16
|
+
<% if event.action == 'destroy' %>
|
17
|
+
Deleted post type
|
18
|
+
<% else %>
|
19
|
+
<%= event.action.capitalize %>d post type
|
20
|
+
<% end %>
|
21
|
+
</span>
|
22
|
+
<% if event.deleted_field %>
|
23
|
+
<b><%= event.deleted_field %></b>
|
24
|
+
<% else %>
|
25
|
+
<%= link_to edit_post_definition_path(id: event.post_definition_id) do %>
|
26
|
+
<%= Cms9::PostDefinition.find(event.post_definition_id).name %>
|
27
|
+
<% end %>
|
28
|
+
<% end %>
|
29
|
+
</h3>
|
30
|
+
<div class="timeline-body">
|
31
|
+
<span class="user-block-name">
|
32
|
+
<%= JSON.parse(event.user)[1] ? JSON.parse(event.user)[1] : "User #" + JSON.parse(event.user)[0].to_s %>
|
33
|
+
</span>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
</li>
|
@@ -0,0 +1,57 @@
|
|
1
|
+
<div class="row">
|
2
|
+
<div class="col-md-12">
|
3
|
+
<div class="box box-info">
|
4
|
+
<div class="box-header">
|
5
|
+
<h3 class="box-title">
|
6
|
+
Welcome
|
7
|
+
</h3>
|
8
|
+
</div>
|
9
|
+
<div class="box-body">
|
10
|
+
<h3>Welcome to CMS9 dashboard.</h3>
|
11
|
+
<p>We've assembled some links to get you started:</p>
|
12
|
+
<ul>
|
13
|
+
<li><%= link_to 'Crate your first post type', post_definitions_path %></li>
|
14
|
+
</ul>
|
15
|
+
|
16
|
+
<ul class="timeline" style="margin-top: 50px;">
|
17
|
+
<li class="time-label">
|
18
|
+
<span class="bg-blue">
|
19
|
+
<% if params[:limit] == 'all' %>
|
20
|
+
All events
|
21
|
+
<% else %>
|
22
|
+
Last <%= params[:limit] ? params[:limit] : 10 %> events
|
23
|
+
<% end %>
|
24
|
+
</span>
|
25
|
+
<div class="btn-group" style="float: right;">
|
26
|
+
<%= link_to root_path(limit: '10'), class: 'btn btn-primary btn-xs' do %>
|
27
|
+
<span>10</span>
|
28
|
+
<% end %>
|
29
|
+
<%= link_to root_path(limit: '20'), class: 'btn btn-primary btn-xs' do %>
|
30
|
+
<span>20</span>
|
31
|
+
<% end %>
|
32
|
+
<%= link_to root_path(limit: '50'), class: 'btn btn-primary btn-xs' do %>
|
33
|
+
<span>50</span>
|
34
|
+
<% end %>
|
35
|
+
<%= link_to root_path(limit: 'all'), class: 'btn btn-danger btn-xs' do %>
|
36
|
+
<span>All</span>
|
37
|
+
<% end %>
|
38
|
+
</div>
|
39
|
+
</li>
|
40
|
+
|
41
|
+
<% @events.each do |event| %>
|
42
|
+
<% if event.post_definition_id %>
|
43
|
+
<%= render 'post_definition', event: event %>
|
44
|
+
<% elsif event.post_id %>
|
45
|
+
<%= render 'post', event: event %>
|
46
|
+
<% elsif event.post_field_id %>
|
47
|
+
<% end %>
|
48
|
+
<% end %>
|
49
|
+
|
50
|
+
<li>
|
51
|
+
<i class="fa fa-clock-o bg-gray"></i>
|
52
|
+
</li>
|
53
|
+
</ul>
|
54
|
+
</div>
|
55
|
+
</div>
|
56
|
+
</div>
|
57
|
+
</div>
|
@@ -0,0 +1,100 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
|
6
|
+
|
7
|
+
<title>Cms9</title>
|
8
|
+
<%= stylesheet_link_tag "cms9/application", media: "all" %>
|
9
|
+
<%= javascript_include_tag "cms9/application" %>
|
10
|
+
<%= csrf_meta_tags %>
|
11
|
+
<%= favicon_link_tag 'cms9/favicon-16.png', type: 'image/png' %>
|
12
|
+
<%= favicon_link_tag 'cms9/favicon-32.png', type: 'image/png' %>
|
13
|
+
<%= favicon_link_tag 'cms9/favicon-64.png', type: 'image/png' %>
|
14
|
+
<%= favicon_link_tag 'cms9/favicon-64.png', type: 'image/png' %>
|
15
|
+
</head>
|
16
|
+
|
17
|
+
<body class="skin-blue">
|
18
|
+
<header class="main-header">
|
19
|
+
<a href="#" class="logo">
|
20
|
+
<span class="logo-mini"><b>CMS</b>9</span>
|
21
|
+
<span class="logo-lg"><b>CMS</b>9</span>
|
22
|
+
</a>
|
23
|
+
<nav class="navbar navbar-static-top" role="navigation">
|
24
|
+
<a href="#" class="navbar-btn sidebar-toggle" data-toggle="offcanvas" role="button">
|
25
|
+
<span class="sr-only">Toggle navigation</span>
|
26
|
+
<span class="icon-bar"></span>
|
27
|
+
<span class="icon-bar"></span>
|
28
|
+
<span class="icon-bar"></span>
|
29
|
+
</a>
|
30
|
+
<div class="navbar-custom-menu">
|
31
|
+
<ul class="nav navbar-nav">
|
32
|
+
<li class="dropdown notifications-menu">
|
33
|
+
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
34
|
+
<i class="fa fa-gears"></i>
|
35
|
+
</a>
|
36
|
+
<ul class="dropdown-menu">
|
37
|
+
<li class="header">
|
38
|
+
<% if current_user.email %>
|
39
|
+
<%= current_user.email %>
|
40
|
+
<% else %>
|
41
|
+
User #<%= current_user.id %>
|
42
|
+
<% end %>
|
43
|
+
</li>
|
44
|
+
<li>
|
45
|
+
<ul class="menu">
|
46
|
+
<li>
|
47
|
+
<%= link_to user_logout, method: :delete do %>
|
48
|
+
<i class="fa fa-power-off text-red"></i>
|
49
|
+
Logout
|
50
|
+
<% end %>
|
51
|
+
</li>
|
52
|
+
</ul>
|
53
|
+
</li>
|
54
|
+
</ul>
|
55
|
+
</li>
|
56
|
+
</ul>
|
57
|
+
</div>
|
58
|
+
</nav>
|
59
|
+
</header>
|
60
|
+
|
61
|
+
|
62
|
+
<div class="wrapper row-offcanvas row-offcanvas-left">
|
63
|
+
<aside class="left-side sidebar-offcanvas">
|
64
|
+
<section class="sidebar">
|
65
|
+
<ul class="sidebar-menu">
|
66
|
+
<li class="header">MAIN NAVIGATION</li>
|
67
|
+
<li class="<%= 'active' if params[:controller] == 'cms9/welcome' %>">
|
68
|
+
<%= link_to root_path do %>
|
69
|
+
<span class="fa fa-home" aria-hidden="true"></span> Dashboard
|
70
|
+
<% end %>
|
71
|
+
</li>
|
72
|
+
<li class="<%= 'active' if params[:controller] == 'cms9/post_definitions' || params[:controller] == 'cms9/post_fields' %>">
|
73
|
+
<%= link_to post_definitions_path do %>
|
74
|
+
<span class="fa fa-folder-open" aria-hidden="true"></span> Post Types
|
75
|
+
<% end %>
|
76
|
+
</li>
|
77
|
+
<li class="header">POST TYPES</li>
|
78
|
+
<% Cms9::PostDefinition.all.each do |post_def| %>
|
79
|
+
<% if params[:id] %>
|
80
|
+
<li class="<%= 'active' if params[:controller] == 'cms9/posts' && Cms9::Post.find(params[:id]).post_definition_id == post_def.id %>">
|
81
|
+
<% else %>
|
82
|
+
<li class="<%= 'active' if params[:controller] == 'cms9/posts' && params[:post_definition_id] == post_def.id.to_s %>">
|
83
|
+
<% end %>
|
84
|
+
<%= link_to posts_path(post_definition_id: post_def.id) do %>
|
85
|
+
<i class="fa fa-edit" aria-hidden="true"></i> <%= post_def.name.pluralize %>
|
86
|
+
<% end %>
|
87
|
+
</li>
|
88
|
+
<% end %>
|
89
|
+
</ul>
|
90
|
+
</section>
|
91
|
+
</aside>
|
92
|
+
|
93
|
+
<aside class="right-side">
|
94
|
+
<section class="content">
|
95
|
+
<%= yield %>
|
96
|
+
</section>
|
97
|
+
</aside>
|
98
|
+
</div>
|
99
|
+
</body>
|
100
|
+
</html>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
Rails.application.config.assets.precompile += %w( cms9/favicon-16.png )
|
2
|
+
Rails.application.config.assets.precompile += %w( cms9/favicon-32.png )
|
3
|
+
Rails.application.config.assets.precompile += %w( cms9/favicon-64.png )
|
4
|
+
Rails.application.config.assets.precompile += %w( cms9/favicon-128.png )
|
@@ -0,0 +1,59 @@
|
|
1
|
+
module Cms9
|
2
|
+
Ckeditor.setup do |config|
|
3
|
+
# ==> ORM configuration
|
4
|
+
# Load and configure the ORM. Supports :active_record (default), :mongo_mapper and
|
5
|
+
# :mongoid (bson_ext recommended) by default. Other ORMs may be
|
6
|
+
# available as additional gems.
|
7
|
+
require "ckeditor/orm/active_record"
|
8
|
+
|
9
|
+
# Allowed image file types for upload.
|
10
|
+
# Set to nil or [] (empty array) for all file types
|
11
|
+
# By default: %w(jpg jpeg png gif tiff)
|
12
|
+
# config.image_file_types = %w(jpg jpeg png gif tiff)
|
13
|
+
|
14
|
+
# Allowed flash file types for upload.
|
15
|
+
# Set to nil or [] (empty array) for all file types
|
16
|
+
# By default: %w(jpg jpeg png gif tiff)
|
17
|
+
# config.flash_file_types = %w(swf)
|
18
|
+
|
19
|
+
# Allowed attachment file types for upload.
|
20
|
+
# Set to nil or [] (empty array) for all file types
|
21
|
+
# By default: %w(doc docx xls odt ods pdf rar zip tar tar.gz swf)
|
22
|
+
# config.attachment_file_types = %w(doc docx xls odt ods pdf rar zip tar tar.gz swf)
|
23
|
+
|
24
|
+
# Setup authorization to be run as a before filter
|
25
|
+
# By default: there is no authorization.
|
26
|
+
# config.authorize_with :cancan
|
27
|
+
|
28
|
+
# Override parent controller CKEditor inherits from
|
29
|
+
# By default: 'ApplicationController'
|
30
|
+
# config.parent_controller = 'MyController'
|
31
|
+
|
32
|
+
# Asset model classes
|
33
|
+
# config.picture_model { Ckeditor::Picture }
|
34
|
+
# config.attachment_file_model { Ckeditor::AttachmentFile }
|
35
|
+
|
36
|
+
# Paginate assets
|
37
|
+
# By default: 24
|
38
|
+
# config.default_per_page = 24
|
39
|
+
|
40
|
+
# Customize ckeditor assets path
|
41
|
+
# By default: nil
|
42
|
+
# config.asset_path = "http://www.example.com/assets/ckeditor/"
|
43
|
+
|
44
|
+
# To reduce the asset precompilation time, you can limit plugins and/or languages to those you need:
|
45
|
+
# By default: nil (no limit)
|
46
|
+
# config.assets_languages = ['en', 'uk']
|
47
|
+
# config.assets_plugins = ['image', 'smiley']
|
48
|
+
|
49
|
+
# CKEditor CDN
|
50
|
+
# More info here http://cdn.ckeditor.com/
|
51
|
+
# By default: nil (CDN disabled)
|
52
|
+
# config.cdn_url = "//cdn.ckeditor.com/4.5.6/standard/ckeditor.js"
|
53
|
+
|
54
|
+
# JS config url
|
55
|
+
# Used when CKEditor CDN enabled
|
56
|
+
# By default: "/assets/ckeditor/config.js"
|
57
|
+
# config.js_config_url = "/assets/ckeditor/config.js"
|
58
|
+
end
|
59
|
+
end
|