buttercms 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rst +79 -76
- data/app/controllers/buttercms/application_controller.rb +3 -3
- data/app/controllers/buttercms/blog_controller.rb +8 -8
- data/lib/buttercms.rb +1 -1
- data/lib/buttercms/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16e84fc7ba404ed82a8945ad1495498a03c3f2eb
|
4
|
+
data.tar.gz: dd9ac538f9700cf0c03b3ce82ce1c4a23601c7e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 538bba2499246d2d1207729d7646812256781829259843814200232075fade6afd9f8eac4393e9f77d06aabb5322d1fe062b66cdaf776bda64d06837ac488965
|
7
|
+
data.tar.gz: 2da147dda13d145808a6543a17779d0eecca85d211af52a776fbba5bbf64af8ae7eb83c8fcf6fa355edfa276adf14245f572825cf2b7750623e212fd9d2b7cd1
|
data/README.rst
CHANGED
@@ -28,7 +28,7 @@ Add buttercms gem to your Gemfile and install it.
|
|
28
28
|
|
29
29
|
$ gem install buttercms
|
30
30
|
|
31
|
-
Now run the Butter install generator. This will
|
31
|
+
Now run the Butter install generator. This will setup a `butter.rb` initializer, which provides many customization options, and defines a route in `config/routes.rb`. By default, your blog will live at "/blog".
|
32
32
|
|
33
33
|
.. code-block:: bash
|
34
34
|
|
@@ -38,87 +38,27 @@ Grab your API token from https://buttercms.com/api_token and throw it in `config
|
|
38
38
|
|
39
39
|
That's it! You’ve now got a blog running natively in your Rails project.
|
40
40
|
|
41
|
-
Check it out: localhost:3000/blog
|
41
|
+
Check it out: http://localhost:3000/blog
|
42
42
|
|
43
43
|
Log into https://buttercms.com/ to start blogging!
|
44
44
|
|
45
|
-
==========================
|
46
|
-
Overview of key blog views
|
47
|
-
==========================
|
48
|
-
The Butter gem implements several actions for your blog and provides a default view+layout for each of them. The gem also talks to an API that resides on https://buttercms.com to retrieve your blog content and makes that content easily available in each view.
|
49
|
-
|
50
|
-
Here's an overview each action+view and the available content:
|
51
|
-
|
52
|
-
home: /blog
|
53
|
-
-----------
|
54
|
-
.. code:: ruby
|
55
|
-
|
56
|
-
@next_page # Integer used for blog post pagination (i.e. 2)
|
57
|
-
@previous_page # Integer used for blog post pagination (i.e. 1)
|
58
|
-
@recent_posts # Array of blog posts
|
59
|
-
|
60
|
-
post: /blog/:post-slug
|
61
|
-
----------------------
|
62
|
-
.. code:: ruby
|
63
|
-
|
64
|
-
@post # All content for a blog post
|
65
|
-
|
66
|
-
=begin
|
67
|
-
@post has the following structure
|
68
|
-
"url": "https://buttercms.com/blog/the-state-of-company-blogs",
|
69
|
-
"created": "05/16/2015",
|
70
|
-
"author": {
|
71
|
-
"first_name": "Butter",
|
72
|
-
"last_name": "Cms",
|
73
|
-
"slug": "butter-cms"
|
74
|
-
},
|
75
|
-
"categories": [
|
76
|
-
{
|
77
|
-
"name": "blogs",
|
78
|
-
"slug": "blogs"
|
79
|
-
},
|
80
|
-
{
|
81
|
-
"name": "butter",
|
82
|
-
"slug": "butter"
|
83
|
-
}
|
84
|
-
],
|
85
|
-
"slug": "the-state-of-company-blogs",
|
86
|
-
"title": "The State of Company Blogs",
|
87
|
-
"body": "<h3>The problem</h3><p>Countless people and essentially every...</p>",
|
88
|
-
"summary": <h3>The problem</h3><p>Countless people and essentially...</p>,
|
89
|
-
"status": "published"
|
90
|
-
=end
|
91
|
-
|
92
|
-
author: /blog/author/:author-slug
|
93
|
-
---------------------------------
|
94
|
-
.. code:: ruby
|
95
|
-
|
96
|
-
@first_name # First name of author
|
97
|
-
@last_name # Last name of author
|
98
|
-
@recent_posts # Array of blog posts
|
99
|
-
|
100
|
-
category: /blog/category/:category-slug
|
101
|
-
---------------------------------------
|
102
|
-
.. code:: ruby
|
103
|
-
|
104
|
-
@name # Name of the category
|
105
|
-
@recent_posts # Array of blog posts
|
106
|
-
|
107
45
|
|
108
46
|
=====================
|
109
47
|
Customizing your blog
|
110
48
|
=====================
|
111
49
|
|
50
|
+
Open `initializers/butter.rb` to see the full set of options available for customizing your blog.
|
51
|
+
|
112
52
|
Specify the Blog Layout
|
113
53
|
-----------------------
|
114
|
-
We've provided a default layout but we expect you'll want the blog to appear your branded layout so we've made this as simple as defining config.
|
54
|
+
We've provided a default layout but we expect you'll want the blog to appear your branded layout so we've made this as simple as defining `config.layout` in `initializers/butter.rb`
|
115
55
|
|
116
56
|
.. code:: ruby
|
117
57
|
|
118
|
-
# In
|
119
|
-
config.
|
58
|
+
# In initializers/butter.rb
|
59
|
+
config.layout = "<your_blog_layout>"
|
120
60
|
|
121
|
-
Note that an ideal layout simply defines the header and footer for the page and `<%= yields %>` the main body. Restart the server and go to localhost:3000/blog and you'll see your new branded blog!
|
61
|
+
Note that an ideal layout simply defines the header and footer for the page and `<%= yields %>` the main body. Restart the server and go to http://localhost:3000/blog and you'll see your new branded blog!
|
122
62
|
|
123
63
|
Customizing the view templates
|
124
64
|
------------------------------
|
@@ -126,11 +66,11 @@ You can customize any view of your blog. Here is full list of page types + setti
|
|
126
66
|
|
127
67
|
.. code:: ruby
|
128
68
|
|
129
|
-
# In
|
130
|
-
config.
|
131
|
-
config.
|
132
|
-
config.
|
133
|
-
config.
|
69
|
+
# In initializers/butter.rb
|
70
|
+
config.home_template = "blog/home"
|
71
|
+
config.post_template = "blog/post"
|
72
|
+
config.author_template = "blog/author"
|
73
|
+
config.category_template = "blog/category"
|
134
74
|
|
135
75
|
We recommend putting any custom templates in `views/blog/<template>.html.erb`
|
136
76
|
|
@@ -175,7 +115,70 @@ Then tell Butter about this template:
|
|
175
115
|
|
176
116
|
.. code:: ruby
|
177
117
|
|
178
|
-
# In
|
179
|
-
config.
|
118
|
+
# In initializers/butter.rb
|
119
|
+
config.post_template = "blog/post"
|
180
120
|
|
181
|
-
That's it. Reload the server and you'll see your new customized blog post with comments!
|
121
|
+
That's it. Reload the server and you'll see your new customized blog post with comments!
|
122
|
+
|
123
|
+
|
124
|
+
==========================
|
125
|
+
Overview of key blog views
|
126
|
+
==========================
|
127
|
+
The Butter gem implements several actions for your blog and provides a default view+layout for each of them. The gem also talks to an API that resides on https://buttercms.com to retrieve your blog content and makes that content easily available in each view.
|
128
|
+
|
129
|
+
Here's an overview each action+view and the available content:
|
130
|
+
|
131
|
+
home: /blog
|
132
|
+
-----------
|
133
|
+
.. code:: ruby
|
134
|
+
|
135
|
+
@next_page # Integer used for blog post pagination (i.e. 2)
|
136
|
+
@previous_page # Integer used for blog post pagination (i.e. 1)
|
137
|
+
@recent_posts # Array of blog posts
|
138
|
+
|
139
|
+
post: /blog/:post-slug
|
140
|
+
----------------------
|
141
|
+
.. code:: ruby
|
142
|
+
|
143
|
+
@post # All content for a blog post
|
144
|
+
|
145
|
+
=begin
|
146
|
+
@post has the following structure
|
147
|
+
"url": "https://buttercms.com/blog/the-state-of-company-blogs",
|
148
|
+
"created": "05/16/2015",
|
149
|
+
"author": {
|
150
|
+
"first_name": "Butter",
|
151
|
+
"last_name": "Cms",
|
152
|
+
"slug": "butter-cms"
|
153
|
+
},
|
154
|
+
"categories": [
|
155
|
+
{
|
156
|
+
"name": "blogs",
|
157
|
+
"slug": "blogs"
|
158
|
+
},
|
159
|
+
{
|
160
|
+
"name": "butter",
|
161
|
+
"slug": "butter"
|
162
|
+
}
|
163
|
+
],
|
164
|
+
"slug": "the-state-of-company-blogs",
|
165
|
+
"title": "The State of Company Blogs",
|
166
|
+
"body": "<h3>The problem</h3><p>Countless people and essentially every...</p>",
|
167
|
+
"summary": <h3>The problem</h3><p>Countless people and essentially...</p>,
|
168
|
+
"status": "published"
|
169
|
+
=end
|
170
|
+
|
171
|
+
author: /blog/author/:author-slug
|
172
|
+
---------------------------------
|
173
|
+
.. code:: ruby
|
174
|
+
|
175
|
+
@first_name # First name of author
|
176
|
+
@last_name # Last name of author
|
177
|
+
@recent_posts # Array of blog posts
|
178
|
+
|
179
|
+
category: /blog/category/:category-slug
|
180
|
+
---------------------------------------
|
181
|
+
.. code:: ruby
|
182
|
+
|
183
|
+
@name # Name of the category
|
184
|
+
@recent_posts # Array of blog posts
|
@@ -4,11 +4,11 @@ module Buttercms
|
|
4
4
|
|
5
5
|
def get_layout
|
6
6
|
if defined? Buttercms.configuration
|
7
|
-
if defined? Buttercms.configuration.
|
8
|
-
return Buttercms.configuration.
|
7
|
+
if defined? Buttercms.configuration.layout
|
8
|
+
return Buttercms.configuration.layout
|
9
9
|
end
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
# Default to the included layout.
|
13
13
|
end
|
14
14
|
end
|
@@ -60,8 +60,8 @@ module Buttercms
|
|
60
60
|
@recent_posts = response_json['results']
|
61
61
|
|
62
62
|
if defined? Buttercms.configuration
|
63
|
-
if !Buttercms.configuration.
|
64
|
-
render template: Buttercms.configuration.
|
63
|
+
if !Buttercms.configuration.home_template.nil?
|
64
|
+
render template: Buttercms.configuration.home_template
|
65
65
|
end
|
66
66
|
end
|
67
67
|
end
|
@@ -71,8 +71,8 @@ module Buttercms
|
|
71
71
|
@post = JSON.parse(response)
|
72
72
|
|
73
73
|
if defined? Buttercms.configuration
|
74
|
-
if !Buttercms.configuration.
|
75
|
-
render template: Buttercms.configuration.
|
74
|
+
if !Buttercms.configuration.post_template.nil?
|
75
|
+
render template: Buttercms.configuration.post_template
|
76
76
|
end
|
77
77
|
end
|
78
78
|
end
|
@@ -85,8 +85,8 @@ module Buttercms
|
|
85
85
|
@recent_posts = response_json['recent_posts']
|
86
86
|
|
87
87
|
if defined? Buttercms.configuration
|
88
|
-
if !Buttercms.configuration.
|
89
|
-
render template: Buttercms.configuration.
|
88
|
+
if !Buttercms.configuration.author_template.nil?
|
89
|
+
render template: Buttercms.configuration.author_template
|
90
90
|
end
|
91
91
|
end
|
92
92
|
end
|
@@ -98,8 +98,8 @@ module Buttercms
|
|
98
98
|
@recent_posts = response_json['recent_posts']
|
99
99
|
|
100
100
|
if defined? Buttercms.configuration
|
101
|
-
if !Buttercms.configuration.
|
102
|
-
render template: Buttercms.configuration.
|
101
|
+
if !Buttercms.configuration.category_template.nil?
|
102
|
+
render template: Buttercms.configuration.category_template
|
103
103
|
end
|
104
104
|
end
|
105
105
|
end
|
data/lib/buttercms.rb
CHANGED
@@ -11,7 +11,7 @@ module Buttercms
|
|
11
11
|
end
|
12
12
|
|
13
13
|
class Configuration
|
14
|
-
attr_accessor :token, :
|
14
|
+
attr_accessor :token, :layout, :home_template, :post_template, :author_template, :category_template
|
15
15
|
|
16
16
|
def initialize
|
17
17
|
# Displays a default blog post with instructions on getting a personal token.
|
data/lib/buttercms/version.rb
CHANGED