minimalist_cms 0.0.1 → 0.0.2
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.
- data/README.md +83 -0
- data/app/controllers/page_parts_controller.rb +9 -0
- data/app/controllers/pages_controller.rb +0 -9
- data/app/views/pages/show.html.erb +2 -2
- data/config/routes.rb +1 -0
- data/db/migrate/20121216194550_create_pages.rb +2 -1
- data/db/migrate/20130324132057_create_page_parts.rb +14 -0
- data/lib/minimalist_cms/engine.rb +1 -1
- data/lib/minimalist_cms/version.rb +1 -1
- metadata +5 -3
- data/README.rdoc +0 -3
data/README.md
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
MinimalistCms
|
2
|
+
=============
|
3
|
+
|
4
|
+
The simplest CMS ever. This project is a mix between [frontendeditor_ckeditor](https://github.com/GCorbel/frontendeditor_ckeditor) and [acts_as_page](https://github.com/GCorbel/acts_as_page).
|
5
|
+
|
6
|
+
What this cms is not doing for
|
7
|
+
------------------------------
|
8
|
+
|
9
|
+
This gem is a very simple CMS. If you want a complete CMS interface, use [RefineryCMS](https://github.com/refinery/refinerycms). If you want a simple multisite manager, use [locomotivecms](https://github.com/locomotivecms/engine). If you want to use a huge, terrible and horrible monster, use Joomla! (No, seriously, don’t use Joomla! Never).
|
10
|
+
|
11
|
+
What this cms is doing for
|
12
|
+
--------------------------
|
13
|
+
|
14
|
+
This gem is integrable with any tool. It is just a page model with an editor. See the section Tool suggested to have some ideas.
|
15
|
+
|
16
|
+
The goal is to use a simple CMS which simply manage pages and use the powerful of rails to manage other part of a website like the contact page, images, etc. It's also good to use the strength of other tool.
|
17
|
+
|
18
|
+
Installation
|
19
|
+
------------
|
20
|
+
|
21
|
+
1. Add `minimalist_cms` in your Gemfile;
|
22
|
+
2. Run `rake minimalist_cms_engine:install:migrations db:migrate`;
|
23
|
+
3. Create a new file `app\assets\javascripts\minimalist_cms` like this :
|
24
|
+
|
25
|
+
```
|
26
|
+
//= require jquery
|
27
|
+
//= require jquery_ujs
|
28
|
+
//= require underscore
|
29
|
+
//= require backbone
|
30
|
+
//= require jquery.ui.effect-highlight.js
|
31
|
+
//= require ckeditor/init_ckeditor
|
32
|
+
//= require frontend_editor/frontend_editor
|
33
|
+
//= require minimalist_cms/minimalist_cms
|
34
|
+
```
|
35
|
+
You must to add only the libraries you don't have included yet;
|
36
|
+
|
37
|
+
4. The the css file minamlist_cms/minimalist_cms to have access to the editor. Include them when the use is an admin;
|
38
|
+
|
39
|
+
Usage
|
40
|
+
-----
|
41
|
+
|
42
|
+
You can create a page which your favorite administration tool.
|
43
|
+
|
44
|
+
This is an example :
|
45
|
+
|
46
|
+
1. Run `rails console`;
|
47
|
+
2. Execute `Page.create(title: 'welcome', body: 'this is a welcome page')`;
|
48
|
+
|
49
|
+
Now, you can go to this address : `localhost:3000/welcome` To edit the page, include the css and javascript file a mark in the installation section. You should have a toolbar which hillight the editable section. When you click on a section, an editor appear. Modify the text like you want;
|
50
|
+
|
51
|
+
If you whant to mark a page as the home page you can do execte `page.update_attribute('home', true)`. Your page should be accessible at this address `http://localhost:3000/`.
|
52
|
+
|
53
|
+
You can mark a page as a draft. To hide the page, you must to change your code.
|
54
|
+
|
55
|
+
Customize the model
|
56
|
+
-------------------
|
57
|
+
|
58
|
+
You can override the page model with `rails generate model Page`. You must to add the line `acts_as_page` in you new model.
|
59
|
+
|
60
|
+
Customize the view
|
61
|
+
------------------
|
62
|
+
|
63
|
+
To customize the view you can override the file `app/views/pages/show.html.erb`. To have the editable zone you must to add this line `<%= editable @page { @page.body } %>`.
|
64
|
+
Add a page in an existing page
|
65
|
+
|
66
|
+
You can add your page anywhere you want.
|
67
|
+
|
68
|
+
Add something like this in you controller :
|
69
|
+
|
70
|
+
class WelcomeController < ApplicationController
|
71
|
+
def index
|
72
|
+
@page = Page.where(home: true).first
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
Now, you can edit the file `app/views/welcome/index.html` and add this :
|
77
|
+
|
78
|
+
<%= editable @page { @page.body } %>
|
79
|
+
|
80
|
+
Tool suggested
|
81
|
+
--------------
|
82
|
+
|
83
|
+
With this gem, you can use [ActiveAdmin](https://github.com/gregbell/active_admin) and [activeadmin-globalize3](https://github.com/stefanoverna/activeadmin-globalize3). You can also use [cancan](https://github.com/ryanb/cancan). Your free to use anything you want.
|
@@ -1,7 +1,4 @@
|
|
1
1
|
class PagesController < ApplicationController
|
2
|
-
|
3
|
-
respond_to :json
|
4
|
-
|
5
2
|
def show
|
6
3
|
@page = if params[:id].present?
|
7
4
|
Page.find_by_slug(params[:id])
|
@@ -10,10 +7,4 @@ class PagesController < ApplicationController
|
|
10
7
|
end
|
11
8
|
raise ActionController::RoutingError.new('Page Not Found') if @page.nil?
|
12
9
|
end
|
13
|
-
|
14
|
-
def update
|
15
|
-
@page = Page.find(params[:id])
|
16
|
-
@page.update_attributes(params[:page])
|
17
|
-
render json: @page
|
18
|
-
end
|
19
10
|
end
|
@@ -1,3 +1,3 @@
|
|
1
|
-
<div class="editable-long-text" data-object="
|
2
|
-
<%= raw @page.body %>
|
1
|
+
<div class="editable-long-text" data-object="page_parts" data-id="<%= @page.body.id %>" data-attribute="body">
|
2
|
+
<%= raw @page.body.body %>
|
3
3
|
</div>
|
data/config/routes.rb
CHANGED
@@ -6,7 +6,8 @@ class CreatePages < ActiveRecord::Migration
|
|
6
6
|
t.boolean :home
|
7
7
|
t.boolean :draft, default: true
|
8
8
|
end
|
9
|
-
Page.create_translation_table! title: :string,
|
9
|
+
Page.create_translation_table! title: :string, slug: :string,
|
10
|
+
meta_keywords: :string, meta_description: :text
|
10
11
|
end
|
11
12
|
|
12
13
|
def down
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class CreatePageParts < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
create_table :page_parts do |t|
|
4
|
+
t.timestamps
|
5
|
+
t.references :page
|
6
|
+
end
|
7
|
+
PagePart.create_translation_table! title: :string, body: :text
|
8
|
+
end
|
9
|
+
|
10
|
+
def down
|
11
|
+
drop_table :page_parts
|
12
|
+
PagePart.drop_translation_table!
|
13
|
+
end
|
14
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minimalist_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-03-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -147,6 +147,7 @@ extensions: []
|
|
147
147
|
extra_rdoc_files: []
|
148
148
|
files:
|
149
149
|
- app/controllers/pages_controller.rb
|
150
|
+
- app/controllers/page_parts_controller.rb
|
150
151
|
- app/views/pages/show.html.erb
|
151
152
|
- app/views/pages/_form.html.erb
|
152
153
|
- app/views/pages/edit.js.erb
|
@@ -157,13 +158,14 @@ files:
|
|
157
158
|
- app/models/page.rb
|
158
159
|
- config/routes.rb
|
159
160
|
- db/migrate/20121216194550_create_pages.rb
|
161
|
+
- db/migrate/20130324132057_create_page_parts.rb
|
160
162
|
- lib/minimalist_cms/version.rb
|
161
163
|
- lib/minimalist_cms/engine.rb
|
162
164
|
- lib/tasks/minimalist_cms_tasks.rake
|
163
165
|
- lib/minimalist_cms.rb
|
164
166
|
- MIT-LICENSE
|
165
167
|
- Rakefile
|
166
|
-
- README.
|
168
|
+
- README.md
|
167
169
|
homepage: https://github.com/GCorbel/minimalist_cms
|
168
170
|
licenses: []
|
169
171
|
post_install_message:
|
data/README.rdoc
DELETED