blogit 0.4.8 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +11 -3
- data/app/assets/javascripts/blogit/archive.js +8 -0
- data/app/assets/javascripts/blogit/index.js +1 -1
- data/app/assets/stylesheets/blogit/index.css +10 -1
- data/app/controllers/blogit/comments_controller.rb +7 -7
- data/app/controllers/blogit/posts_controller.rb +12 -10
- data/app/helpers/blogit/application_helper.rb +23 -4
- data/app/helpers/blogit/posts_helper.rb +47 -3
- data/app/models/blogit/comment.rb +2 -0
- data/app/models/blogit/post.rb +26 -8
- data/app/views/blogit/comments/_admin_links.html.erb +2 -2
- data/app/views/blogit/comments/_comment.html.erb +8 -8
- data/app/views/blogit/comments/_form.html.erb +17 -18
- data/app/views/blogit/posts/_active_record_comments.html.erb +4 -0
- data/app/views/blogit/posts/_blogger_information.html.erb +1 -1
- data/app/views/blogit/posts/_comments_count.html.erb +2 -2
- data/app/views/blogit/posts/_disqus_comments.html.erb +14 -0
- data/app/views/blogit/posts/_empty.html.erb +2 -2
- data/app/views/blogit/posts/_form.html.erb +9 -9
- data/app/views/blogit/posts/_no_comments.html.erb +0 -0
- data/app/views/blogit/posts/_post.html.erb +6 -6
- data/app/views/blogit/posts/_post_links.html.erb +1 -1
- data/app/views/blogit/posts/_share_bar.html.erb +45 -0
- data/app/views/blogit/posts/edit.html.erb +2 -2
- data/app/views/blogit/posts/index.html.erb +7 -7
- data/app/views/blogit/posts/new.html.erb +1 -1
- data/app/views/blogit/posts/show.html.erb +2 -6
- data/config/locales/en.yml +48 -0
- data/config/locales/fr.yml +61 -0
- data/lib/blogit/configuration.rb +69 -30
- data/lib/blogit/version.rb +1 -1
- data/lib/generators/templates/blogit.rb +34 -18
- data/spec/controllers/blogit/posts_controller_spec.rb +75 -75
- data/spec/dummy/app/helpers/application_helper.rb +1 -0
- data/spec/dummy/app/views/layouts/application.html.erb +8 -4
- data/spec/dummy/config/application.rb +1 -1
- data/spec/dummy/config/initializers/blogit.rb +21 -12
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +155 -0
- data/spec/dummy/log/test.log +7310 -0
- data/spec/helpers/blogit/application_helper_spec.rb +63 -8
- data/spec/helpers/blogit/posts_helper_spec.rb +114 -6
- data/spec/lib/blogit/parsers/markdown_parser_spec.rb +7 -3
- data/spec/lib/configuration_spec.rb +43 -19
- data/spec/models/blogit/post_spec.rb +51 -53
- data/spec/spec_helper.rb +1 -1
- metadata +158 -36
@@ -1,5 +1,5 @@
|
|
1
1
|
<%= content_tag(:div, class: "blog_post_comments_count", id: "blog_post_#{post.id}_comments_count") do %>
|
2
2
|
<%= link_to(post_path(post, anchor: "comments")) do %>
|
3
|
-
<%=
|
4
|
-
<% end %>
|
3
|
+
<%=t :comment, scope: 'blogit.posts', count: post.comments_count %>
|
4
|
+
<% end %>
|
5
5
|
<% end %>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<div id="disqus_thread"></div>
|
2
|
+
<script type="text/javascript">
|
3
|
+
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
|
4
|
+
var disqus_shortname = '<%= Blogit.configuration.disqus_shortname %>'; // required: replace example with your forum shortname
|
5
|
+
|
6
|
+
/* * * DON'T EDIT BELOW THIS LINE * * */
|
7
|
+
(function() {
|
8
|
+
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
9
|
+
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
|
10
|
+
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
11
|
+
})();
|
12
|
+
</script>
|
13
|
+
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
14
|
+
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
|
@@ -1,3 +1,3 @@
|
|
1
1
|
<div class="blogit_empty_message">
|
2
|
-
|
3
|
-
</div>
|
2
|
+
<%=t :there_are_no_posts_about, scope: 'blogit.posts', tag: params[:tag] %>
|
3
|
+
</div>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
<% if @post.errors.any? %>
|
4
4
|
<div id="error_explanation">
|
5
|
-
<h2><%=
|
5
|
+
<h2><%=t :prohibited_this_post_from_being_saved, scope: 'blogit.posts', count: @post.errors.count%></h2>
|
6
6
|
|
7
7
|
<ul>
|
8
8
|
<% @post.errors.full_messages.each do |msg| %>
|
@@ -14,30 +14,30 @@
|
|
14
14
|
|
15
15
|
<fieldset>
|
16
16
|
<%= field do %>
|
17
|
-
<%= f.text_field :title, placeholder:
|
17
|
+
<%= f.text_field :title, placeholder: t(:give_your_post_a_title, scope: 'blogit.posts') %>
|
18
18
|
<% end %>
|
19
19
|
|
20
20
|
<%= field do %>
|
21
|
-
<%= f.text_area :body, placeholder:
|
21
|
+
<%= f.text_area :body, placeholder: t(:write_something_here, scope: 'blogit.posts') %>
|
22
22
|
<% end %>
|
23
23
|
</fieldset>
|
24
24
|
|
25
25
|
<fieldset>
|
26
26
|
|
27
27
|
<%= field id: "new_blog_post_tag_field" do %>
|
28
|
-
<%= f.label :tag_list,
|
29
|
-
<%= f.text_field :tag_list, placeholder:
|
28
|
+
<%= f.label :tag_list, t(:tags, scope: 'blogit.posts') %>
|
29
|
+
<%= f.text_field :tag_list, placeholder: t(:tag_placeholder, scope: 'blogit.posts') %>
|
30
30
|
<% end %>
|
31
|
-
|
31
|
+
|
32
32
|
<p class="blog_post_tip">
|
33
|
-
|
33
|
+
<%=t :tip_you_can_style_your_post_using, scope: 'blogit.posts', parser: blogit_conf.default_parser %>
|
34
34
|
</p>
|
35
35
|
|
36
36
|
</fieldset>
|
37
37
|
|
38
38
|
<%= actions do %>
|
39
|
-
<%= f.submit %> or
|
40
|
-
<%= link_to(
|
39
|
+
<%= f.submit %> <%=t :or, scope: 'blogit.posts'%>
|
40
|
+
<%= link_to(t(:cancel, scope: 'blogit.posts'), @post.new_record? ? root_path : post_path(@post)) %>
|
41
41
|
<% end %>
|
42
42
|
|
43
43
|
<% end %>
|
File without changes
|
@@ -5,15 +5,15 @@
|
|
5
5
|
|
6
6
|
<%# Render the body of this blog post (as Markdown) %>
|
7
7
|
<%= render "blogit/posts/post_body", post: post %>
|
8
|
-
|
8
|
+
|
9
9
|
<%# Render admin links to edit/delete this post %>
|
10
10
|
<%= render "blogit/posts/post_links", post: post %>
|
11
|
-
|
11
|
+
|
12
12
|
<%# Render info about the person who wrote this post %>
|
13
13
|
<%= render "blogit/posts/blogger_information", post: post %>
|
14
|
-
|
14
|
+
|
15
15
|
<%# Render the no. of comments %>
|
16
|
-
<%= render "blogit/posts/comments_count",
|
16
|
+
<%= render "blogit/posts/comments_count",
|
17
17
|
post: post if defined?(show_comments_count) and show_comments_count %>
|
18
|
-
|
19
|
-
<% end %>
|
18
|
+
|
19
|
+
<% end %>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<%= login_required do %>
|
2
2
|
<%= actions do %>
|
3
|
-
<%= link_to(
|
3
|
+
<%= link_to(t(:edit, scope: 'blogit.posts'), edit_post_path(post)) %> | <%= link_to(t(:delete, scope: 'blogit.posts'), post, method: :delete, confirm: t(:are_you_sure_you_want_to_remove_this_post, scope: 'blogit.posts')) %>
|
4
4
|
<% end %>
|
5
5
|
<% end unless blogit_conf.author_edits_only and not this_blogger?(post) %>
|
@@ -0,0 +1,45 @@
|
|
1
|
+
<div id="blog_share_bar">
|
2
|
+
|
3
|
+
<div id="google-plus" class="social_button">
|
4
|
+
<!-- GOOGLE +1 -->
|
5
|
+
<g:plusone size="medium"></g:plusone>
|
6
|
+
<script type="text/javascript">
|
7
|
+
window.___gcfg = {lang: '<%= I18n.default_locale %>'};
|
8
|
+
|
9
|
+
(function() {
|
10
|
+
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
|
11
|
+
po.src = 'https://apis.google.com/js/plusone.js';
|
12
|
+
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
|
13
|
+
})();
|
14
|
+
</script>
|
15
|
+
<!-- /GOOGLE +1 -->
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<div id="twitter" class="social_button">
|
19
|
+
<!-- TWITTER -->
|
20
|
+
<a href="https://twitter.com/share" class="twitter-share-button"
|
21
|
+
data-lang="<%= I18n.default_locale %>"
|
22
|
+
data-url="http://<%= request.host_with_port %><%= request.path.gsub("//","/") %>"
|
23
|
+
data-via="<%= Blogit.configuration.twitter_username %>"
|
24
|
+
data-text="<%= post.title%>"
|
25
|
+
data-count="horizontal">Tweet</a>
|
26
|
+
|
27
|
+
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
|
28
|
+
<!-- /TWITTER -->
|
29
|
+
</div>
|
30
|
+
|
31
|
+
<div id="facebook" class="social_button">
|
32
|
+
<!-- FACEBOOK LIKE -->
|
33
|
+
<div id="fb-root"></div>
|
34
|
+
<script>(function(d, s, id) {
|
35
|
+
var js, fjs = d.getElementsByTagName(s)[0];
|
36
|
+
if (d.getElementById(id)) return;
|
37
|
+
js = d.createElement(s); js.id = id;
|
38
|
+
js.src = "//connect.facebook.net/<%= t "blogit.share_bar.facebook" %>/all.js#xfbml=1";
|
39
|
+
fjs.parentNode.insertBefore(js, fjs);
|
40
|
+
}(document, 'script', 'facebook-jssdk'));</script>
|
41
|
+
<div class="fb-like" data-send="false" data-layout="button_count" data-width="90" data-show-faces="false"></div>
|
42
|
+
<!-- /FACEBOOK LIKE -->
|
43
|
+
</div>
|
44
|
+
|
45
|
+
</div>
|
@@ -1,3 +1,3 @@
|
|
1
|
-
<h2
|
1
|
+
<h2><%=t :edit_blog_post, scope: 'blogit.posts', id: @post.id %></h2>
|
2
2
|
|
3
|
-
<%= render 'form' %>
|
3
|
+
<%= render 'form' %>
|
@@ -1,17 +1,17 @@
|
|
1
1
|
<%= login_required class: "actions", id: "new_blog_post_link" do %>
|
2
|
-
<%= link_to
|
2
|
+
<%= link_to t(:new_blog_post, scope: 'blogit.posts'), new_post_path %>
|
3
3
|
<% end %>
|
4
4
|
|
5
5
|
<% if @posts.any? %>
|
6
6
|
|
7
|
-
<%= render partial: "blogit/posts/post",
|
8
|
-
collection: @posts,
|
9
|
-
spacer_template: "blog_post_spacer",
|
7
|
+
<%= render partial: "blogit/posts/post",
|
8
|
+
collection: @posts,
|
9
|
+
spacer_template: "blog_post_spacer",
|
10
10
|
locals: {show_comments_count: true} %>
|
11
11
|
<% else %>
|
12
|
-
|
12
|
+
|
13
13
|
<%= render partial: "blogit/posts/empty" %>
|
14
|
-
|
14
|
+
|
15
15
|
<% end %>
|
16
16
|
|
17
|
-
<%= render "pagination" %>
|
17
|
+
<%= render "pagination" %>
|
@@ -0,0 +1,48 @@
|
|
1
|
+
en:
|
2
|
+
blogit:
|
3
|
+
comments:
|
4
|
+
leave_a_comment: "Leave a comment"
|
5
|
+
name: "Name *"
|
6
|
+
email_never_displayed: "Email * (Never displayed)"
|
7
|
+
your_website: "Your Website"
|
8
|
+
your_comment: "Your comment *"
|
9
|
+
add_comment: "Add Comment"
|
10
|
+
adding_comment: "Adding Comment..."
|
11
|
+
wrote: "%{author} wrote:"
|
12
|
+
posted_on: "Posted on"
|
13
|
+
delete: "delete"
|
14
|
+
are_you_sure_you_want_to_remove_this_comment: "Are you sure you want to remove this comment?"
|
15
|
+
successfully_added_comment: "Successfully added comment!"
|
16
|
+
successfully_removed_comment: "Successfully removed comment."
|
17
|
+
posts:
|
18
|
+
written_by: "Written by %{author} on"
|
19
|
+
there_are_no_posts_about: "Sorry, there are no posts about \"%{tag}\"."
|
20
|
+
prohibited_this_post_from_being_saved:
|
21
|
+
one: "One error prohibited this post form being saved:"
|
22
|
+
other: "%{count} errors prohibited this post form being saved:"
|
23
|
+
give_your_post_a_title: "Give your post a title"
|
24
|
+
write_something_here: "Write something here..."
|
25
|
+
tags: "Tags"
|
26
|
+
tag_placeholder: "tag one, tag two, etc..."
|
27
|
+
tip_you_can_style_your_post_using: "Tip: you can style your post using %{parser}"
|
28
|
+
or: "or"
|
29
|
+
cancel: "cancel"
|
30
|
+
edit: "edit"
|
31
|
+
delete: "delete"
|
32
|
+
are_you_sure_you_want_to_remove_this_post: "Are you sure you want to remove this post?"
|
33
|
+
comment:
|
34
|
+
one: "1 comment"
|
35
|
+
other: "%{count} comments"
|
36
|
+
edit_blog_post: "Edit Blog Post #%{id}"
|
37
|
+
new_blog_post: "New Blog post"
|
38
|
+
write_a_new_blog_post: "Write a new blog post"
|
39
|
+
blog_post_was_successfully_created: "Blog post was successfully created."
|
40
|
+
blog_post_was_successfully_updated: "Blog post was successfully updated."
|
41
|
+
blog_post_was_successfully_destroyed: "Blog post was successfully destroyed."
|
42
|
+
share_bar:
|
43
|
+
facebook: "en_US"
|
44
|
+
|
45
|
+
time:
|
46
|
+
formats:
|
47
|
+
plain_month_only: "%B"
|
48
|
+
|
@@ -0,0 +1,61 @@
|
|
1
|
+
fr:
|
2
|
+
blogit:
|
3
|
+
comments:
|
4
|
+
leave_a_comment: "Laissez un commentaire"
|
5
|
+
name: "Nom *"
|
6
|
+
email_never_displayed: "Email * (Jamais affiché)"
|
7
|
+
your_website: "Votre site web"
|
8
|
+
your_comment: "Votre commentaire *"
|
9
|
+
add_comment: "Ajouter un commentaire"
|
10
|
+
adding_comment: "Ajout de commentaire ..."
|
11
|
+
wrote: "%{author} a écrit:"
|
12
|
+
posted_on: "Publié le "
|
13
|
+
delete: "effacer"
|
14
|
+
are_you_sure_you_want_to_remove_this_comment: "Etes vous certain de vouloir supprimer ce commentaire?"
|
15
|
+
successfully_added_comment: "Commentaire ajouté avec succès."
|
16
|
+
successfully_removed_comment: "Commentaire supprimé avec succès."
|
17
|
+
posts:
|
18
|
+
written_by: "Ecrit par %{author} le"
|
19
|
+
there_are_no_posts_about: "Désolé, il n'y a pas d'article à propos de \"%{tag}\"."
|
20
|
+
prohibited_this_post_from_being_saved:
|
21
|
+
one: "Une erreur a empêché cet article d'être enregistré :"
|
22
|
+
other: "%{count} erreurs ont empêché cet article d'être enregistré :"
|
23
|
+
give_your_post_a_title: "Donnez un nom à votre article"
|
24
|
+
write_something_here: "Ecrivez quelque chose ici ..."
|
25
|
+
tags: "Libellés"
|
26
|
+
tag_placeholder: "Libellé 1, Libellé 2 ..."
|
27
|
+
tip_you_can_style_your_post_using: "Astuce : vous pouvez styler votre article en utilisant %{parser}"
|
28
|
+
or: "ou"
|
29
|
+
cancel: "annuler"
|
30
|
+
edit: "editer"
|
31
|
+
delete: "supprimer"
|
32
|
+
are_you_sure_you_want_to_remove_this_post: "Etes vous certain de vouloir supprimer cet article?"
|
33
|
+
comment:
|
34
|
+
zero: "Aucun commentaire"
|
35
|
+
one: "1 commentaire"
|
36
|
+
other: "%{count} commentaires"
|
37
|
+
edit_blog_post: "Editez l'article #%{id}"
|
38
|
+
new_blog_post: "Nouvel article"
|
39
|
+
write_a_new_blog_post: "Ecrivez un nouvel article"
|
40
|
+
blog_post_was_successfully_created: "Article ajouté avec succès."
|
41
|
+
blog_post_was_successfully_updated: "Article modifié avec succès."
|
42
|
+
blog_post_was_successfully_destroyed: "Article supprimé avec succès."
|
43
|
+
share_bar:
|
44
|
+
facebook: "fr_FR"
|
45
|
+
|
46
|
+
time:
|
47
|
+
formats:
|
48
|
+
plain_month_only: "%B"
|
49
|
+
|
50
|
+
activerecord:
|
51
|
+
models:
|
52
|
+
blogit/post: "article"
|
53
|
+
blogit/comment: "commentaire"
|
54
|
+
attributes:
|
55
|
+
blogit/post:
|
56
|
+
title: "titre"
|
57
|
+
body: "corps"
|
58
|
+
blogit/comment:
|
59
|
+
name: "nom"
|
60
|
+
body: "corps"
|
61
|
+
|
data/lib/blogit/configuration.rb
CHANGED
@@ -1,71 +1,80 @@
|
|
1
1
|
module Blogit
|
2
2
|
class Configuration
|
3
|
-
|
4
|
-
#
|
3
|
+
|
4
|
+
# What kind of comments do you want to add to your blog ? (:active_record, :disqus or :no)
|
5
5
|
attr_accessor :include_comments
|
6
6
|
|
7
|
+
# When using disqus comments, what is the shortname of your forum ?
|
8
|
+
attr_reader :disqus_shortname
|
9
|
+
|
10
|
+
# Should there be a share bar on every post ?
|
11
|
+
attr_accessor :include_share_bar
|
12
|
+
|
13
|
+
# Twitter username used in the share bar
|
14
|
+
attr_reader :twitter_username
|
15
|
+
|
7
16
|
# The name of the controller method we'll call to return the current blogger.
|
8
17
|
attr_accessor :current_blogger_method
|
9
|
-
|
18
|
+
|
10
19
|
# what method do we call on blogger to return their display name?
|
11
20
|
# Defaults to :username
|
12
21
|
attr_accessor :blogger_display_name_method
|
13
|
-
|
14
|
-
# Which DateTime::FORMATS format do we use to display
|
22
|
+
|
23
|
+
# Which DateTime::FORMATS format do we use to display
|
15
24
|
# blog and comment publish time
|
16
25
|
# Defaults to :short
|
17
26
|
attr_accessor :datetime_format
|
18
|
-
|
27
|
+
|
19
28
|
# Number of posts to show per page
|
20
29
|
# @see https://github.com/amatsuda/kaminari
|
21
30
|
# @see Blogit::Post
|
22
31
|
attr_accessor :posts_per_page
|
23
|
-
|
32
|
+
|
24
33
|
# Should text within "```" or "`" be highlighted as code?
|
25
34
|
# Defaults to true
|
26
35
|
# @note - At the moment this only works when default_parser
|
27
36
|
# is :markdown
|
28
37
|
attr_accessor :highlight_code_syntax
|
29
|
-
|
38
|
+
|
30
39
|
# The name of the before filter we'll call to authenticate the current user.
|
31
40
|
# Defaults to :login_required
|
32
41
|
attr_accessor :authentication_method
|
33
|
-
|
42
|
+
|
34
43
|
# If set to true, only the user who authored the post may, edit or destroy.
|
35
44
|
# Defaults to false
|
36
45
|
attr_accessor :author_edits_only
|
37
|
-
|
38
|
-
# If set to true, the comments form will POST and DELETE to the comments
|
46
|
+
|
47
|
+
# If set to true, the comments form will POST and DELETE to the comments
|
39
48
|
# controller using AJAX calls.
|
40
49
|
# Defaults to true
|
41
50
|
attr_accessor :ajax_comments
|
42
|
-
|
51
|
+
|
43
52
|
# If set to true, the create, edit, update and destroy actions
|
44
|
-
# will be included. If set to false, you'll have to set these
|
53
|
+
# will be included. If set to false, you'll have to set these
|
45
54
|
# yourself elsewhere in the app
|
46
55
|
attr_accessor :include_admin_actions
|
47
|
-
|
56
|
+
|
48
57
|
# If set to true, links for new posts, editing posts and deleting comments
|
49
|
-
# will be available. If set to false, you'll have to set these
|
58
|
+
# will be available. If set to false, you'll have to set these
|
50
59
|
# yourself in the templates.
|
51
60
|
attr_accessor :include_admin_links
|
52
|
-
|
61
|
+
|
53
62
|
# The default format for parsing the blog content.
|
54
63
|
# Defaults to :markdown
|
55
64
|
attr_accessor :default_parser
|
56
|
-
|
65
|
+
|
57
66
|
# When using redcarpet as content parser, pass these options as defaults
|
58
67
|
# Defaults to REDCARPET_OPTIONS
|
59
|
-
attr_accessor :redcarpet_options
|
60
|
-
|
68
|
+
attr_accessor :redcarpet_options
|
69
|
+
|
61
70
|
# Should the controllers cache the blog pages as HTML?
|
62
71
|
# Defaults to false
|
63
72
|
attr_accessor :cache_pages
|
64
|
-
|
73
|
+
|
65
74
|
# The title of the RSS feed for the blog posts
|
66
|
-
# Defaults to "[Application Name] Blog Posts"
|
75
|
+
# Defaults to "[Application Name] Blog Posts"
|
67
76
|
attr_accessor :rss_feed_title
|
68
|
-
|
77
|
+
|
69
78
|
# The description of the RSS feed for the blog posts
|
70
79
|
# Defaults to "[Application Name] Blog Posts"
|
71
80
|
attr_accessor :rss_feed_description
|
@@ -74,18 +83,24 @@ module Blogit
|
|
74
83
|
# Defaults to 'en'
|
75
84
|
attr_accessor :rss_feed_language
|
76
85
|
|
77
|
-
|
86
|
+
# Should the routes of the main app be accessible without
|
87
|
+
# the "main_app." prefix ?
|
88
|
+
attr_accessor :inline_main_app_named_routes
|
89
|
+
|
78
90
|
REDCARPET_OPTIONS = {
|
79
|
-
hard_wrap: true,
|
80
|
-
filter_html: true,
|
91
|
+
hard_wrap: true,
|
92
|
+
filter_html: true,
|
81
93
|
autolink: true,
|
82
94
|
no_intra_emphasis: true,
|
83
95
|
fenced_code_blocks: true,
|
84
96
|
gh_blockcode: true,
|
85
97
|
}
|
86
|
-
|
98
|
+
|
87
99
|
def initialize
|
88
|
-
@include_comments =
|
100
|
+
@include_comments = :active_record
|
101
|
+
@disqus_shortname = ""
|
102
|
+
@include_share_bar = false
|
103
|
+
@twitter_username = ""
|
89
104
|
@current_blogger_method = :current_user
|
90
105
|
@blogger_display_name_method = :username
|
91
106
|
@datetime_format = :short
|
@@ -94,7 +109,7 @@ module Blogit
|
|
94
109
|
@author_edits_only = false
|
95
110
|
@ajax_comments = true
|
96
111
|
@include_admin_actions = true
|
97
|
-
@include_admin_links = true
|
112
|
+
@include_admin_links = true
|
98
113
|
@cache_pages = false
|
99
114
|
@default_parser = :markdown
|
100
115
|
@highlight_code_syntax = true
|
@@ -103,10 +118,34 @@ module Blogit
|
|
103
118
|
@rss_feed_language = "en"
|
104
119
|
@redcarpet_options = REDCARPET_OPTIONS
|
105
120
|
end
|
106
|
-
|
121
|
+
|
107
122
|
def default_parser_class
|
108
123
|
"Blogit::Parsers::#{@default_parser.to_s.classify}Parser".constantize
|
109
124
|
end
|
125
|
+
|
126
|
+
# If the user has defined a disqus shortname but hasn't set include_comments to
|
127
|
+
# disqus, print a warning to the console.
|
128
|
+
def disqus_shortname=(shortname)
|
129
|
+
if @include_comments && @include_comments != :disqus
|
130
|
+
blogit_warn "You've set config.disqus_shortname in your blogit config file but config.include_comments is not set to :disqus"
|
131
|
+
end
|
132
|
+
@disqus_shortname = shortname
|
133
|
+
end
|
134
|
+
|
135
|
+
# If the user has defined a disqus shortname but hasn't set include_comments to
|
136
|
+
# disqus, print a warning to the console.
|
137
|
+
def twitter_username=(username)
|
138
|
+
if @twitter_username.present? and not @include_share_bar
|
139
|
+
blogit_warn "You've set config.twitter_username in your blogit config file but config.include_share_bar is set to false"
|
140
|
+
end
|
141
|
+
@twitter_username = username
|
142
|
+
end
|
143
|
+
|
144
|
+
private
|
145
|
+
|
146
|
+
def blogit_warn(message)
|
147
|
+
warn "[Blogit]: #{message}"
|
148
|
+
end
|
110
149
|
|
111
150
|
end
|
112
|
-
end
|
151
|
+
end
|