spree_awesome_blog 3.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +13 -0
- data/app/controllers/admin/comments_controller.rb +32 -0
- data/app/controllers/admin/post_images_controller.rb +55 -0
- data/app/controllers/admin/posts_controller.rb +19 -0
- data/app/controllers/comments_controller.rb +23 -0
- data/app/controllers/posts_controller.rb +32 -0
- data/app/helpers/posts_helper.rb +19 -0
- data/app/models/comment.rb +31 -0
- data/app/models/comment.rb~ +31 -0
- data/app/models/post.rb +47 -0
- data/app/stylesheets/blog.less +234 -0
- data/app/views/admin/comments/_form.html.erb +28 -0
- data/app/views/admin/comments/edit.html.erb +8 -0
- data/app/views/admin/comments/index.html.erb +45 -0
- data/app/views/admin/post_images/_form.html.erb +8 -0
- data/app/views/admin/post_images/edit.html.erb +18 -0
- data/app/views/admin/post_images/index.html.erb +44 -0
- data/app/views/admin/post_images/new.html.erb +22 -0
- data/app/views/admin/posts/_form.html.erb +39 -0
- data/app/views/admin/posts/edit.html.erb +8 -0
- data/app/views/admin/posts/index.html.erb +53 -0
- data/app/views/admin/posts/new.html.erb +6 -0
- data/app/views/comments/_form.html.erb +30 -0
- data/app/views/comments/new.html.erb +3 -0
- data/app/views/posts/_sidebar.html.erb +34 -0
- data/app/views/posts/_tag_cloud.html.erb +5 -0
- data/app/views/posts/_tags.html.erb +3 -0
- data/app/views/posts/index.html.erb +32 -0
- data/app/views/posts/index.rss.builder +18 -0
- data/app/views/posts/show.html.erb +43 -0
- data/app/views/shared/_blog_sub_menu.html.erb +9 -0
- data/app/views/shared/_blog_tabs.html.erb +25 -0
- data/config/locales/en-US.yml +35 -0
- data/config/routes.rb +20 -0
- data/lib/generators/spree_awesome_blog/install_generator.rb +14 -0
- data/lib/generators/templates/db/migrate/20110110042721_create_posts.rb +21 -0
- data/lib/generators/templates/db/migrate/20110110042722_create_comments.rb +20 -0
- data/lib/generators/templates/db/migrate/20110110053623_acts_as_taggable_on_migration.rb +28 -0
- data/lib/generators/templates/public/images/markitup/bold.png +0 -0
- data/lib/generators/templates/public/images/markitup/clean.png +0 -0
- data/lib/generators/templates/public/images/markitup/h1.png +0 -0
- data/lib/generators/templates/public/images/markitup/h2.png +0 -0
- data/lib/generators/templates/public/images/markitup/h3.png +0 -0
- data/lib/generators/templates/public/images/markitup/h4.png +0 -0
- data/lib/generators/templates/public/images/markitup/h5.png +0 -0
- data/lib/generators/templates/public/images/markitup/h6.png +0 -0
- data/lib/generators/templates/public/images/markitup/image.png +0 -0
- data/lib/generators/templates/public/images/markitup/italic.png +0 -0
- data/lib/generators/templates/public/images/markitup/link.png +0 -0
- data/lib/generators/templates/public/images/markitup/list-bullet.png +0 -0
- data/lib/generators/templates/public/images/markitup/list-numeric.png +0 -0
- data/lib/generators/templates/public/images/markitup/paragraph.png +0 -0
- data/lib/generators/templates/public/images/markitup/picture.png +0 -0
- data/lib/generators/templates/public/images/markitup/preview.png +0 -0
- data/lib/generators/templates/public/images/markitup/quotes.png +0 -0
- data/lib/generators/templates/public/images/markitup/stroke.png +0 -0
- data/lib/generators/templates/public/javascripts/admin/blog.js +15 -0
- data/lib/generators/templates/public/javascripts/jquery.markitup.showdown.js +1904 -0
- data/lib/generators/templates/public/stylesheets/admin/blog.css +163 -0
- data/lib/generators/templates/public/stylesheets/blog.css +34 -0
- data/lib/spree_awesome_blog.rb +5 -0
- data/lib/spree_awesome_blog/engine.rb +29 -0
- data/lib/spree_awesome_blog_hooks.rb +10 -0
- metadata +179 -0
@@ -0,0 +1,163 @@
|
|
1
|
+
/* -------------------------------------------------------------------
|
2
|
+
// markItUp! Universal MarkUp Engine, JQuery plugin
|
3
|
+
// By Jay Salvat - http://markitup.jaysalvat.com/
|
4
|
+
// ------------------------------------------------------------------*/
|
5
|
+
.markItUp a:link,
|
6
|
+
.markItUp a:visited {
|
7
|
+
color:#000;
|
8
|
+
text-decoration:none;
|
9
|
+
}
|
10
|
+
.markItUp {
|
11
|
+
margin:5px 0 5px 0;
|
12
|
+
}
|
13
|
+
.markItUpContainer {
|
14
|
+
}
|
15
|
+
.markItUpEditor {
|
16
|
+
padding:5px;
|
17
|
+
clear:both;
|
18
|
+
overflow:auto;
|
19
|
+
}
|
20
|
+
.markItUpPreview {
|
21
|
+
overflow:auto;
|
22
|
+
margin:10px 0;
|
23
|
+
padding: 30px;
|
24
|
+
background: #ccc;
|
25
|
+
}
|
26
|
+
.markItUpFooter {
|
27
|
+
width:100%;
|
28
|
+
}
|
29
|
+
.markItUpResizeHandle {
|
30
|
+
overflow:hidden;
|
31
|
+
width:22px; height:5px;
|
32
|
+
margin-left:auto;
|
33
|
+
margin-right:auto;
|
34
|
+
cursor:n-resize;
|
35
|
+
}
|
36
|
+
/***************************************************************************************/
|
37
|
+
/* first row of buttons */
|
38
|
+
.markItUpHeader ul {
|
39
|
+
margin: 0px;
|
40
|
+
padding: 0px;
|
41
|
+
}
|
42
|
+
.markItUpHeader ul li {
|
43
|
+
list-style:none;
|
44
|
+
float:left;
|
45
|
+
position:relative;
|
46
|
+
}
|
47
|
+
.markItUpHeader ul li:hover > ul{
|
48
|
+
display:block;
|
49
|
+
}
|
50
|
+
.markItUpHeader ul .markItUpDropMenu {
|
51
|
+
margin-right:5px;
|
52
|
+
}
|
53
|
+
.markItUpHeader ul .markItUpDropMenu li {
|
54
|
+
margin-right:0px;
|
55
|
+
}
|
56
|
+
/* next rows of buttons */
|
57
|
+
.markItUpHeader ul ul {
|
58
|
+
display:none;
|
59
|
+
position:absolute;
|
60
|
+
top:18px; left:0px;
|
61
|
+
background:#FFF;
|
62
|
+
border:1px solid #000;
|
63
|
+
}
|
64
|
+
.markItUpHeader ul ul li {
|
65
|
+
float:none;
|
66
|
+
border-bottom:1px solid #000;
|
67
|
+
}
|
68
|
+
.markItUpHeader ul ul .markItUpDropMenu {
|
69
|
+
background:#FFF;
|
70
|
+
}
|
71
|
+
.markItUpHeader ul .markItUpSeparator {
|
72
|
+
margin:0 10px;
|
73
|
+
width:1px;
|
74
|
+
height:16px;
|
75
|
+
overflow:hidden;
|
76
|
+
background-color:#CCC;
|
77
|
+
}
|
78
|
+
.markItUpHeader ul ul .markItUpSeparator {
|
79
|
+
width:auto; height:1px;
|
80
|
+
margin:0px;
|
81
|
+
}
|
82
|
+
/* next rows of buttons */
|
83
|
+
.markItUpHeader ul ul ul {
|
84
|
+
position:absolute;
|
85
|
+
top:-1px; left:150px;
|
86
|
+
}
|
87
|
+
.markItUpHeader ul ul ul li {
|
88
|
+
float:none;
|
89
|
+
}
|
90
|
+
.markItUpHeader ul a {
|
91
|
+
display:block;
|
92
|
+
width:16px; height:16px;
|
93
|
+
text-indent:-10000px;
|
94
|
+
background-repeat:no-repeat;
|
95
|
+
padding:3px;
|
96
|
+
margin:0px;
|
97
|
+
}
|
98
|
+
.markItUpHeader ul ul a {
|
99
|
+
display:block;
|
100
|
+
padding-left:0px;
|
101
|
+
text-indent:0;
|
102
|
+
width:120px;
|
103
|
+
padding:5px 5px 5px 25px;
|
104
|
+
background-position:2px 50%;
|
105
|
+
}
|
106
|
+
.markItUpHeader ul ul a:hover {
|
107
|
+
color:#FFF;
|
108
|
+
background-color:#000;
|
109
|
+
}
|
110
|
+
/* -------------------------------------------------------------------
|
111
|
+
// markItUp!
|
112
|
+
// By Jay Salvat - http://markitup.jaysalvat.com/
|
113
|
+
// ------------------------------------------------------------------*/
|
114
|
+
.markItUp .heading1 a {
|
115
|
+
background-image:url(/images/markitup/h1.png);
|
116
|
+
}
|
117
|
+
.markItUp .heading2 a {
|
118
|
+
background-image:url(/images/markitup/h2.png);
|
119
|
+
}
|
120
|
+
.markItUp .heading3 a {
|
121
|
+
background-image:url(/images/markitup/h3.png);
|
122
|
+
}
|
123
|
+
.markItUp .heading4 a {
|
124
|
+
background-image:url(/images/markitup/h4.png);
|
125
|
+
}
|
126
|
+
.markItUp .heading5 a {
|
127
|
+
background-image:url(/images/markitup/h5.png);
|
128
|
+
}
|
129
|
+
.markItUp .heading6 a {
|
130
|
+
background-image:url(/images/markitup/h6.png);
|
131
|
+
}
|
132
|
+
.markItUp .paragraph a {
|
133
|
+
background-image:url(/images/markitup/paragraph.png);
|
134
|
+
}
|
135
|
+
.markItUp .bullet-list a {
|
136
|
+
background-image:url(/images/markitup/list-bullet.png);
|
137
|
+
}
|
138
|
+
.markItUp .number-list a {
|
139
|
+
background-image:url(/images/markitup/list-numeric.png);
|
140
|
+
}
|
141
|
+
.markItUp .quotes a {
|
142
|
+
background-image:url(/images/markitup/quotes.png);
|
143
|
+
}
|
144
|
+
.markItUp .bold a {
|
145
|
+
background-image:url(/images/markitup/bold.png);
|
146
|
+
}
|
147
|
+
.markItUp .italic a {
|
148
|
+
background-image:url(/images/markitup/italic.png);
|
149
|
+
}
|
150
|
+
|
151
|
+
.markItUp .picture > a {
|
152
|
+
background-image:url(/images/markitup/picture.png);
|
153
|
+
}
|
154
|
+
.markItUp .link a {
|
155
|
+
background-image:url(/images/markitup/link.png);
|
156
|
+
}
|
157
|
+
|
158
|
+
.markItUp .clean a {
|
159
|
+
background-image:url(/images/markitup/clean.png);
|
160
|
+
}
|
161
|
+
.markItUp .preview a {
|
162
|
+
background-image:url(/images/markitup/preview.png);
|
163
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
#posts h2 { font-size: 2em; }
|
2
|
+
#posts h2 a { text-decoration: none; }
|
3
|
+
#posts .post { margin: 5px 0px; }
|
4
|
+
#posts .post hr { margin: 10px 0 20px; }
|
5
|
+
#posts .post .body { margin: 0 40px 0 0; }
|
6
|
+
#blog-archive span { cursor: pointer; }
|
7
|
+
#blog-archive a { text-decoration: none; }
|
8
|
+
#blog-archive ul.months { display: none; }
|
9
|
+
#blog-archive ul.posts { display: none; }
|
10
|
+
#blog-archive ul.posts {
|
11
|
+
list-style-type: none;
|
12
|
+
margin: 0px;
|
13
|
+
}
|
14
|
+
.tag-cloud a { text-decoration: none; }
|
15
|
+
.tag-cloud .tag1 {
|
16
|
+
font-size: 1em;
|
17
|
+
font-weight: lighter;
|
18
|
+
}
|
19
|
+
.tag-cloud .tag2 {
|
20
|
+
font-size: 1.2em;
|
21
|
+
font-weight: normal;
|
22
|
+
}
|
23
|
+
.tag-cloud .tag3 {
|
24
|
+
font-size: 1.4em;
|
25
|
+
font-weight: bold;
|
26
|
+
}
|
27
|
+
.tag-cloud .tag4 {
|
28
|
+
font-size: 1.6em;
|
29
|
+
font-weight: bolder;
|
30
|
+
}
|
31
|
+
#post h2 { margin: 0px; }
|
32
|
+
#post #body { margin: 0px 20px 0 0; }
|
33
|
+
.tags a { text-decoration: none; }
|
34
|
+
#tags a { text-decoration: none; }
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require "spree_awesome_blog"
|
2
|
+
|
3
|
+
module SpreeAwesomeBlog
|
4
|
+
|
5
|
+
class Engine < Rails::Engine
|
6
|
+
|
7
|
+
def self.activate
|
8
|
+
Spree::BaseHelper.module_eval do
|
9
|
+
def link_to_rss
|
10
|
+
tag(:link,
|
11
|
+
:rel => 'alternate',
|
12
|
+
:type => "application/rss+xml",
|
13
|
+
:title => Spree::Config[:blog_title] || "#{Spree::Config[:site_name]} Blog",
|
14
|
+
:href => posts_path(:format => :rss))
|
15
|
+
end
|
16
|
+
|
17
|
+
def markdown(text)
|
18
|
+
sanitize(RDiscount.new(text).to_html)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
config.root = (Pathname.new(File.dirname(File.expand_path(__FILE__))) + "../../").to_s
|
25
|
+
config.to_prepare &method(:activate).to_proc
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
class SpreeFaqHooks < Spree::ThemeSupport::HookListener
|
2
|
+
insert_after :admin_tabs do
|
3
|
+
%(<%= tab(:posts, :label => :blog) %>)
|
4
|
+
end
|
5
|
+
|
6
|
+
insert_after :admin_inside_head do
|
7
|
+
%(<%= javascript_include_tag 'jquery.markitup.showdown.js', 'admin/blog.js' %> <%= stylesheet_link_tag 'admin/blog' %>)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
metadata
ADDED
@@ -0,0 +1,179 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: spree_awesome_blog
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 3
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 3
|
8
|
+
- 0
|
9
|
+
- 2
|
10
|
+
version: 3.0.2
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Josh Nussbaum
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-01-19 00:00:00 -05:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: spree_core
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 101
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
- 30
|
33
|
+
- 1
|
34
|
+
version: 0.30.1
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: acts-as-taggable-on
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 977940590
|
46
|
+
segments:
|
47
|
+
- 2
|
48
|
+
- 0
|
49
|
+
- 0
|
50
|
+
- rc1
|
51
|
+
version: 2.0.0.rc1
|
52
|
+
type: :runtime
|
53
|
+
version_requirements: *id002
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: rdiscount
|
56
|
+
prerelease: false
|
57
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - "="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
hash: 5
|
63
|
+
segments:
|
64
|
+
- 1
|
65
|
+
- 6
|
66
|
+
- 5
|
67
|
+
version: 1.6.5
|
68
|
+
type: :runtime
|
69
|
+
version_requirements: *id003
|
70
|
+
description:
|
71
|
+
email: joshnuss@gmail.com
|
72
|
+
executables: []
|
73
|
+
|
74
|
+
extensions: []
|
75
|
+
|
76
|
+
extra_rdoc_files: []
|
77
|
+
|
78
|
+
files:
|
79
|
+
- README.md
|
80
|
+
- lib/spree_awesome_blog/engine.rb
|
81
|
+
- lib/spree_awesome_blog_hooks.rb
|
82
|
+
- lib/spree_awesome_blog.rb
|
83
|
+
- lib/generators/spree_awesome_blog/install_generator.rb
|
84
|
+
- lib/generators/templates/public/javascripts/jquery.markitup.showdown.js
|
85
|
+
- lib/generators/templates/public/javascripts/admin/blog.js
|
86
|
+
- lib/generators/templates/public/stylesheets/blog.css
|
87
|
+
- lib/generators/templates/public/stylesheets/admin/blog.css
|
88
|
+
- lib/generators/templates/public/images/markitup/h1.png
|
89
|
+
- lib/generators/templates/public/images/markitup/h6.png
|
90
|
+
- lib/generators/templates/public/images/markitup/quotes.png
|
91
|
+
- lib/generators/templates/public/images/markitup/image.png
|
92
|
+
- lib/generators/templates/public/images/markitup/h5.png
|
93
|
+
- lib/generators/templates/public/images/markitup/h4.png
|
94
|
+
- lib/generators/templates/public/images/markitup/preview.png
|
95
|
+
- lib/generators/templates/public/images/markitup/h2.png
|
96
|
+
- lib/generators/templates/public/images/markitup/h3.png
|
97
|
+
- lib/generators/templates/public/images/markitup/italic.png
|
98
|
+
- lib/generators/templates/public/images/markitup/bold.png
|
99
|
+
- lib/generators/templates/public/images/markitup/paragraph.png
|
100
|
+
- lib/generators/templates/public/images/markitup/picture.png
|
101
|
+
- lib/generators/templates/public/images/markitup/stroke.png
|
102
|
+
- lib/generators/templates/public/images/markitup/link.png
|
103
|
+
- lib/generators/templates/public/images/markitup/clean.png
|
104
|
+
- lib/generators/templates/public/images/markitup/list-numeric.png
|
105
|
+
- lib/generators/templates/public/images/markitup/list-bullet.png
|
106
|
+
- lib/generators/templates/db/migrate/20110110042721_create_posts.rb
|
107
|
+
- lib/generators/templates/db/migrate/20110110042722_create_comments.rb
|
108
|
+
- lib/generators/templates/db/migrate/20110110053623_acts_as_taggable_on_migration.rb
|
109
|
+
- app/views/shared/_blog_sub_menu.html.erb
|
110
|
+
- app/views/shared/_blog_tabs.html.erb
|
111
|
+
- app/views/comments/new.html.erb
|
112
|
+
- app/views/comments/_form.html.erb
|
113
|
+
- app/views/posts/show.html.erb
|
114
|
+
- app/views/posts/_tags.html.erb
|
115
|
+
- app/views/posts/_tag_cloud.html.erb
|
116
|
+
- app/views/posts/_sidebar.html.erb
|
117
|
+
- app/views/posts/index.html.erb
|
118
|
+
- app/views/posts/index.rss.builder
|
119
|
+
- app/views/admin/comments/edit.html.erb
|
120
|
+
- app/views/admin/comments/_form.html.erb
|
121
|
+
- app/views/admin/comments/index.html.erb
|
122
|
+
- app/views/admin/posts/edit.html.erb
|
123
|
+
- app/views/admin/posts/new.html.erb
|
124
|
+
- app/views/admin/posts/_form.html.erb
|
125
|
+
- app/views/admin/posts/index.html.erb
|
126
|
+
- app/views/admin/post_images/edit.html.erb
|
127
|
+
- app/views/admin/post_images/new.html.erb
|
128
|
+
- app/views/admin/post_images/_form.html.erb
|
129
|
+
- app/views/admin/post_images/index.html.erb
|
130
|
+
- app/helpers/posts_helper.rb
|
131
|
+
- app/controllers/comments_controller.rb
|
132
|
+
- app/controllers/admin/comments_controller.rb
|
133
|
+
- app/controllers/admin/post_images_controller.rb
|
134
|
+
- app/controllers/admin/posts_controller.rb
|
135
|
+
- app/controllers/posts_controller.rb
|
136
|
+
- app/models/post.rb
|
137
|
+
- app/models/comment.rb
|
138
|
+
- app/models/comment.rb~
|
139
|
+
- app/stylesheets/blog.less
|
140
|
+
- config/routes.rb
|
141
|
+
- config/locales/en-US.yml
|
142
|
+
has_rdoc: true
|
143
|
+
homepage: http://spreecommerce.com
|
144
|
+
licenses: []
|
145
|
+
|
146
|
+
post_install_message:
|
147
|
+
rdoc_options: []
|
148
|
+
|
149
|
+
require_paths:
|
150
|
+
- lib
|
151
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
152
|
+
none: false
|
153
|
+
requirements:
|
154
|
+
- - ">="
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
hash: 57
|
157
|
+
segments:
|
158
|
+
- 1
|
159
|
+
- 8
|
160
|
+
- 7
|
161
|
+
version: 1.8.7
|
162
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
|
+
none: false
|
164
|
+
requirements:
|
165
|
+
- - ">="
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
hash: 3
|
168
|
+
segments:
|
169
|
+
- 0
|
170
|
+
version: "0"
|
171
|
+
requirements:
|
172
|
+
- none
|
173
|
+
rubyforge_project:
|
174
|
+
rubygems_version: 1.3.7
|
175
|
+
signing_key:
|
176
|
+
specification_version: 3
|
177
|
+
summary: Adds a basic blog with admin management tools
|
178
|
+
test_files: []
|
179
|
+
|