monologue 0.2.0 → 0.3.0
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.
- checksums.yaml +7 -0
- data/MIT-LICENSE +1 -1
- data/README.md +28 -6
- data/app/assets/images/monologue/admin/select2.png +0 -0
- data/app/assets/javascripts/monologue/admin/application.js +6 -2
- data/app/assets/javascripts/monologue/admin/ckeditor-config.js +21 -0
- data/app/assets/javascripts/monologue/admin/posts.js +62 -0
- data/app/assets/stylesheets/monologue/admin/application.css +2 -1
- data/app/assets/stylesheets/monologue/admin/posts.sass +21 -0
- data/app/assets/stylesheets/monologue/blog/application.css +1 -1
- data/app/assets/stylesheets/monologue/blog/monologue.css +12 -1
- data/app/controllers/monologue/admin/base_controller.rb +2 -2
- data/app/controllers/monologue/admin/posts_controller.rb +31 -44
- data/app/controllers/monologue/admin/sessions_controller.rb +2 -2
- data/app/controllers/monologue/admin/users_controller.rb +39 -3
- data/app/controllers/monologue/application_controller.rb +7 -7
- data/app/controllers/monologue/posts_controller.rb +5 -7
- data/app/controllers/monologue/tags_controller.rb +8 -3
- data/app/form_builders/monologue_admin_form_builder.rb +12 -8
- data/app/helpers/monologue/application_helper.rb +9 -39
- data/app/helpers/monologue/html_helper.rb +35 -0
- data/app/helpers/monologue/tags_helper.rb +25 -0
- data/app/models/monologue/post.rb +38 -23
- data/app/models/monologue/tag.rb +3 -4
- data/app/models/monologue/tagging.rb +2 -0
- data/app/models/monologue/user.rb +13 -2
- data/app/sweepers/monologue/posts_sweeper.rb +2 -5
- data/app/views/layouts/monologue/admin.html.erb +2 -2
- data/app/views/layouts/monologue/admin/_nav_bar.html.erb +8 -16
- data/app/views/layouts/monologue/application.html.erb +1 -1
- data/app/views/layouts/monologue/application/_fb_open_graph.html.erb +2 -2
- data/app/views/layouts/monologue/application/_sidebar.html.erb +3 -1
- data/app/views/layouts/monologue/application/_twitter_cards.html.erb +2 -2
- data/app/views/monologue/admin/cache/_config.html.erb +1 -1
- data/app/views/monologue/admin/cache/show.html.erb +1 -1
- data/app/views/monologue/admin/posts/_form.html.erb +23 -9
- data/app/views/monologue/admin/posts/edit.html.erb +3 -3
- data/app/views/monologue/admin/posts/index.html.erb +5 -3
- data/app/views/monologue/admin/posts/new.html.erb +1 -1
- data/app/views/monologue/admin/sessions/new.html.erb +1 -1
- data/app/views/monologue/admin/users/_form.html.erb +5 -0
- data/app/views/monologue/admin/users/edit.html.erb +3 -7
- data/app/views/monologue/admin/users/index.html.erb +28 -0
- data/app/views/monologue/admin/users/new.html.erb +5 -0
- data/app/views/monologue/posts/_pagination.html.erb +2 -2
- data/app/views/monologue/posts/_post.html.erb +6 -8
- data/app/views/monologue/posts/_post_header.html.erb +16 -0
- data/app/views/monologue/posts/_social_sharing.html.erb +6 -6
- data/app/views/monologue/posts/feed.rss.builder +7 -8
- data/app/views/monologue/posts/index.html.erb +1 -1
- data/app/views/monologue/posts/show.html.erb +8 -8
- data/app/views/monologue/sidebar/_latest_posts.html.erb +1 -1
- data/app/views/monologue/sidebar/_latest_tweets.html.erb +1 -1
- data/app/views/monologue/sidebar/_tag_cloud.html.erb +1 -1
- data/config/locales/en.yml +81 -112
- data/config/locales/es.yml +148 -0
- data/config/locales/fr.yml +76 -110
- data/config/locales/it.yml +147 -0
- data/config/locales/pt.yml +147 -0
- data/config/locales/ro.yml +78 -110
- data/config/routes.rb +12 -10
- data/db/migrate/20120120193858_create_monologue_posts_revisions.rb +1 -1
- data/db/migrate/20120514194459_join_posts_and_tags.rb +1 -1
- data/db/migrate/20120526131841_migrate_old_urls.rb +3 -0
- data/db/migrate/20120612015727_delete_join_posts_tags.rb +1 -1
- data/db/migrate/20130108123111_move_user_id_to_post.rb +31 -0
- data/db/migrate/20130509015400_merge_revisions_into_posts.rb +40 -0
- data/db/seeds.rb +1 -1
- data/lib/monologue/engine.rb +6 -6
- data/lib/monologue/version.rb +1 -1
- data/lib/tasks/monologue_cache.rake +1 -1
- data/vendor/assets/javascripts/monologue/bootstrap/bootstrap-datepicker-es.js +7 -0
- data/vendor/assets/javascripts/monologue/bootstrap/bootstrap-datepicker-it.js +9 -0
- data/vendor/assets/javascripts/monologue/bootstrap/bootstrap-datepicker-pt.js +9 -0
- metadata +88 -78
- data/app/assets/javascripts/monologue/admin/tinymce-config.js +0 -21
- data/app/models/monologue/posts_revision.rb +0 -61
- data/app/views/monologue/posts/_revision_header.html.erb +0 -9
@@ -1,33 +1,25 @@
|
|
1
1
|
<div class="navbar">
|
2
2
|
<div class="navbar-inner">
|
3
3
|
<div class="container" data-monologue="nav-bar">
|
4
|
-
<%= link_to "Monologue", admin_path, :
|
4
|
+
<%= link_to "Monologue", admin_path, class: "brand" %>
|
5
5
|
<ul class="nav pull-left" data-monologue="nav-bar-left">
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
</li>
|
10
|
-
<li class="<%= request.fullpath === admin_posts_path || request.fullpath === admin_path ? "active":"" %>">
|
11
|
-
<%= link_to t(".list_monologues"), admin_posts_path %>
|
12
|
-
</li>
|
13
|
-
<li class="<%= request.fullpath === admin_comments_path ? "active":"" %>">
|
14
|
-
<%= link_to t(".comments"), admin_comments_path %>
|
15
|
-
</li>
|
6
|
+
<%= activable_li_tag_with_link t(".add_a_monologue"), new_admin_post_path %>
|
7
|
+
<%= activable_li_tag_with_link t(".list_monologues"), admin_posts_path, admin_path %>
|
8
|
+
<%= activable_li_tag_with_link t(".comments"), admin_comments_path %>
|
16
9
|
</ul>
|
10
|
+
|
17
11
|
<ul class="nav pull-right" data-monologue="nav-bar-right">
|
12
|
+
<%= activable_li_tag_with_link t(".users"), admin_users_path %>
|
18
13
|
<% if ActionController::Base.perform_caching %>
|
19
|
-
|
20
|
-
<%= link_to t(".cache"), admin_cache_path %>
|
21
|
-
</li>
|
14
|
+
<%= activable_li_tag_with_link t(".cache"), admin_cache_path %>
|
22
15
|
<% end %>
|
23
16
|
<li id="fat-menu" class="dropdown">
|
24
17
|
<a href="#" id="settings" data-toggle="dropdown"><%= t(".settings") %> <b class="caret"></b></a>
|
25
18
|
<ul class="dropdown-menu" role="menu" aria-labelledby="settings">
|
26
|
-
<li><%= link_to t(".edit_user_info"), edit_admin_user_path(
|
19
|
+
<li><%= link_to t(".edit_user_info"), edit_admin_user_path(monologue_current_user)%></li>
|
27
20
|
</ul>
|
28
21
|
</li>
|
29
22
|
<li><%= link_to t(".log_out"), admin_logout_path %></li>
|
30
|
-
|
31
23
|
</ul>
|
32
24
|
|
33
25
|
</div>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<%= rss_icon %>
|
13
13
|
<h1><a href="<%= root_path %>"><%=Monologue.site_name%></a></h1>
|
14
14
|
<h2><%=Monologue.site_subtitle%></h2>
|
15
|
-
<%= render :
|
15
|
+
<%= render partial: "layouts/monologue/application/social_icons" %>
|
16
16
|
</header>
|
17
17
|
|
18
18
|
<div class="content twelve columns">
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<meta property="og:title" content="<%= monologue_accurate_title %>"/>
|
2
2
|
<meta property="og:type" content="<%= controller.action_name == "show" ? "article" : "blog" %>"/>
|
3
|
-
<meta property="og:url" content="
|
3
|
+
<meta property="og:url" content="<%= request.protocol %><%= request.host_with_port %><%= request.path.gsub("//","/") %>"/>
|
4
4
|
<meta property="og:site_name" content="<%= Monologue.site_name %>"/>
|
5
5
|
<% if Monologue.facebook_logo%>
|
6
6
|
<meta property="og:image" content="<%= absolute_image_url(image_path(Monologue.facebook_logo)) %>" />
|
7
|
-
<% end %>
|
7
|
+
<% end %>
|
@@ -2,6 +2,6 @@
|
|
2
2
|
<% if Monologue.twitter_username %>
|
3
3
|
<meta name="twitter:site" content="<%= Monologue.twitter_username %>">
|
4
4
|
<% end %>
|
5
|
-
<meta name="twitter:url" content="
|
5
|
+
<meta name="twitter:url" content="<%= request.protocol %><%= request.host_with_port %><%= request.path.gsub("//","/") %>">
|
6
6
|
<meta name="twitter:title" content="<%= monologue_accurate_title %>">
|
7
|
-
<meta name="twitter:description" content="<%= content_for?(:meta_description) ? yield(:meta_description) : Monologue.meta_description %>">
|
7
|
+
<meta name="twitter:description" content="<%= content_for?(:meta_description) ? yield(:meta_description) : Monologue.meta_description %>">
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<h1>Current config</h1>
|
2
|
-
<p>Want to know more about those configs? See here: <%= link_to "Configure Monologue's cache (english only)", "https://github.com/jipiboily/monologue/wiki/Configure-Monologue's-cache", :
|
2
|
+
<p>Want to know more about those configs? See here: <%= link_to "Configure Monologue's cache (english only)", "https://github.com/jipiboily/monologue/wiki/Configure-Monologue's-cache", target: "_blank" %></p>
|
3
3
|
|
4
4
|
<div class="alert alert-<%= ActionController::Base.perform_caching ? "success" : "error" %>">
|
5
5
|
ActionController::Base.perform_caching = <%= ActionController::Base.perform_caching %>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<hr>
|
6
6
|
|
7
7
|
<h2><%= t(".delete") %></h2>
|
8
|
-
<%= link_to t(".delete"), admin_cache_path, :
|
8
|
+
<%= link_to t(".delete"), admin_cache_path, data: {confirm: t(".confirm")}, method: :delete, class: "btn btn-large btn-danger" %>
|
9
9
|
|
10
10
|
<hr>
|
11
11
|
|
@@ -1,17 +1,31 @@
|
|
1
1
|
<%= post.error_messages %>
|
2
|
-
<%= post.
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
2
|
+
<%= post.text_field :title, label: t(".title"), class: "span6" %>
|
3
|
+
<%= post.text_area :content, label: t(".content"), class: "span12 ckeditor", id: "post_content" %>
|
4
|
+
<%= post.text_field :url, label: raw(t(".url.caption", default_url: "#{DateTime.now.year}/#{t(".url.generated_title")}", root: monologue.root_path)) %>
|
5
|
+
<%= post.text_field :published_at, label: t(".published_at"), data: {datepicker: "datepicker"}, value: post.object.published_at.nil? ? "" : post.object.published_at.strftime("%Y-%m-%d") %>
|
6
|
+
<%= post.text_field :tag_list, label: raw(t(".tags")) %>
|
7
|
+
<%= post.check_box :published, label: t(".published") %>
|
8
8
|
|
9
|
-
|
10
|
-
<%= post.
|
11
|
-
<%= post.
|
9
|
+
<div class="form-actions">
|
10
|
+
<%= post.button t(".save"), class: "btn btn-large btn-primary" %>
|
11
|
+
<%= post.button t(".preview"), class: "btn btn-large", type: "button", value: "preview"%>
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<div class="post-preview modal-backdrop hide" data-url="<%=admin_post_preview_url%>" data-toggle="post-preview" data-trigger="button[value='preview']">
|
15
|
+
<div class="post-preview-inner">
|
16
|
+
<div class="navbar pull-right">
|
17
|
+
<div class="navbar-inner">
|
18
|
+
<span class="brand"><%=t(".preview")%></span>
|
19
|
+
<a class="btn btn-primary pull-right" data-dismiss="post-preview"><%=t(".close")%></a>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
<iframe src="" name="preview"></iframe>
|
24
|
+
</div>
|
12
25
|
|
13
26
|
<script>
|
14
27
|
if($.fn.datepicker.defaults_<%= I18n.locale %>){
|
15
28
|
$.fn.datepicker.defaults = $.fn.datepicker.defaults_<%= I18n.locale %>;
|
16
29
|
}
|
30
|
+
$("#post_tag_list").select2({tags: <%= Monologue::Tag.all.map{|t| t.name }.to_json.html_safe %> });
|
17
31
|
</script>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<h1><%= t(".header") %> "<%= @post.
|
2
|
-
<%= monologue_admin_form_for ["admin", @post], :
|
3
|
-
<%= render :
|
1
|
+
<h1><%= t(".header") %> "<%= @post.title %>"</h1>
|
2
|
+
<%= monologue_admin_form_for ["admin", @post], method: :put do |post| %>
|
3
|
+
<%= render partial: 'form', locals: {post: post} %>
|
4
4
|
<% end %>
|
@@ -3,6 +3,7 @@
|
|
3
3
|
<tr>
|
4
4
|
<th><%= t(".title")%></th>
|
5
5
|
<th><%= t(".status")%></th>
|
6
|
+
<th><%= t(".author")%></th>
|
6
7
|
<th></th>
|
7
8
|
<th></th>
|
8
9
|
</tr>
|
@@ -10,10 +11,11 @@
|
|
10
11
|
<tbody>
|
11
12
|
<% @posts.each do |post|%>
|
12
13
|
<tr>
|
13
|
-
<td><%= link_to post.
|
14
|
+
<td><%= link_to post.title, edit_admin_post_path(post) %></td>
|
14
15
|
<td><span class="label label-<%= post.published ? "success" : "important" %>"><%= post.published ? t(".published") : t(".not_published") %></span></td>
|
15
|
-
<td><%=
|
16
|
-
<td><%= link_to t(".
|
16
|
+
<td><span><%= post.user.name %></span> </td>
|
17
|
+
<td><%= link_to t(".edit"), edit_admin_post_path(post), class: "btn btn-small" %></td>
|
18
|
+
<td><%= link_to t(".delete"), [:admin, post],data: {confirm: 'Are you sure?'}, method: :delete, class: "btn btn-small btn-danger" %></td>
|
17
19
|
</tr>
|
18
20
|
<% end %>
|
19
21
|
</tbody>
|
@@ -9,5 +9,5 @@
|
|
9
9
|
<%= label_tag :password, t(".password") %>
|
10
10
|
<%= password_field_tag :password %>
|
11
11
|
</div>
|
12
|
-
<div class="actions"><%= submit_tag t(".button"), :
|
12
|
+
<div class="actions"><%= submit_tag t(".button"), class: "btn btn-large btn-primary" %></div>
|
13
13
|
<% end %>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<%= user.error_messages %>
|
2
|
+
<%= user.text_field :name, label: t(".name"), class: "span6" %>
|
3
|
+
<%= user.text_field :email, label: t(".email"), class: "span6" %>
|
4
|
+
<%= user.password_field :password, label: t(".password"), class: "span6" %>
|
5
|
+
<%= user.password_field :password_confirmation, label: t(".password_confirmation"), class: "span6" %>
|
@@ -1,9 +1,5 @@
|
|
1
1
|
<h1><%= t(".header") %></h1>
|
2
|
-
<%= monologue_admin_form_for [
|
3
|
-
<%= user
|
4
|
-
<%= user.
|
5
|
-
<%= user.text_field :email, :label => t(".email"), :class => "span6" %>
|
6
|
-
<%= user.password_field :password, :label => t(".password"), :class => "span6" %>
|
7
|
-
<%= user.password_field :password_confirmation, :label => t(".password_confirmation"), :class => "span6" %>
|
8
|
-
<%= user.submit t(".save"), :class => "btn btn-large btn-primary" %>
|
2
|
+
<%= monologue_admin_form_for [:admin, @user], method: :put do |user| %>
|
3
|
+
<%= render :partial => 'form', :locals => { :user => user } %>
|
4
|
+
<%= user.submit t(".save"), class: "btn btn-large btn-primary" %>
|
9
5
|
<% end %>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<h2><%= link_to t(".create"), new_admin_user_path, class: "btn btn-success" %></h2>
|
2
|
+
|
3
|
+
<table class="table table-striped table-bordered">
|
4
|
+
<thead>
|
5
|
+
<tr>
|
6
|
+
<th><%= t(".name") %></th>
|
7
|
+
<th><%= t(".email") %></th>
|
8
|
+
<th></th>
|
9
|
+
<th></th>
|
10
|
+
</tr>
|
11
|
+
</thead>
|
12
|
+
<tbody>
|
13
|
+
<% @users.each do |user| %>
|
14
|
+
<tr>
|
15
|
+
<td><%= user.name %></td>
|
16
|
+
<td><%= user.email %></td>
|
17
|
+
<td><%= link_to t(".edit"), edit_admin_user_path(user), class: "btn btn-small" %></td>
|
18
|
+
<td>
|
19
|
+
<% if monologue_current_user.can_delete?(user) %>
|
20
|
+
<%= link_to t(".delete"), [:admin, user], data: { confirm: 'Are you sure?' }, method: :delete, class: "btn btn-small btn-danger" %>
|
21
|
+
<% else %>
|
22
|
+
<a href="#" class="btn btn-small btn-danger disabled"><%= t(".delete") %></a>
|
23
|
+
<% end %>
|
24
|
+
</td>
|
25
|
+
</tr>
|
26
|
+
<% end %>
|
27
|
+
</tbody>
|
28
|
+
</table>
|
@@ -1,9 +1,9 @@
|
|
1
1
|
<div id="pagination">
|
2
2
|
<% if @posts.total_pages > 1 && @posts.total_pages != @page.to_i %>
|
3
|
-
<%= link_to t(".older_posts"), posts_page_path(@page.to_i+1), :
|
3
|
+
<%= link_to t(".older_posts"), posts_page_path(@page.to_i+1), class: "older_posts" %>
|
4
4
|
<% end %>
|
5
5
|
|
6
6
|
<% if @posts.total_pages > 1 && @page.to_i > 1 %>
|
7
|
-
<%= link_to t(".newer_posts"), posts_page_path(@page.to_i-1), :
|
7
|
+
<%= link_to t(".newer_posts"), posts_page_path(@page.to_i-1), class: "newer_posts" %>
|
8
8
|
<% end %>
|
9
9
|
</div>
|
@@ -1,14 +1,12 @@
|
|
1
|
-
<% revision = post.active_revision %>
|
2
1
|
<section>
|
3
|
-
<%= render :
|
2
|
+
<%= render partial: 'monologue/posts/post_header', locals: {post: post} %>
|
4
3
|
|
5
|
-
<div
|
6
|
-
<%= truncate_html(
|
4
|
+
<div class="content" data-monologue="content">
|
5
|
+
<%= truncate_html(post.content, length: 1000, omission: '...') %>
|
7
6
|
</div>
|
8
7
|
|
9
|
-
<div
|
8
|
+
<div class="tags" data-monologue="tags">
|
10
9
|
<%= render post.tags %>
|
11
10
|
</div>
|
12
|
-
<%= link_to t(".readmore"),
|
13
|
-
</section>
|
14
|
-
|
11
|
+
<%= link_to t(".readmore"), post.full_url, class: "button" %>
|
12
|
+
</section>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<header class="post-header">
|
2
|
+
<h1><%= link_to post.title, post.full_url %></h1>
|
3
|
+
<div class="posted">
|
4
|
+
<span data-monologue="time">
|
5
|
+
<time datetime="<%= post.published_at %>">
|
6
|
+
<%= I18n.localize(post.published_at.to_date, format: :long) %>
|
7
|
+
</time>
|
8
|
+
</span>
|
9
|
+
<span data-monologue="user">
|
10
|
+
<%= post.user.name %>
|
11
|
+
</span>
|
12
|
+
<span data-monologue="disqus">
|
13
|
+
<a href="<%= post.full_url + "#disqus_thread" %>"></a>
|
14
|
+
</span>
|
15
|
+
</div>
|
16
|
+
</header>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<span class="social-tagline"><%= t(".tagline") %></span>
|
3
3
|
<div id="social-share">
|
4
4
|
<div id="google-plus">
|
5
|
-
|
5
|
+
<!-- GOOGLE +1 -->
|
6
6
|
<!-- Placez cette balise là où vous souhaitez positionner le bouton +1. -->
|
7
7
|
<g:plusone size="medium"></g:plusone>
|
8
8
|
|
@@ -16,15 +16,15 @@
|
|
16
16
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
|
17
17
|
})();
|
18
18
|
</script>
|
19
|
-
|
19
|
+
<!-- /GOOGLE +1 -->
|
20
20
|
</div>
|
21
21
|
<div id="twitter">
|
22
22
|
<!-- TWITTER -->
|
23
23
|
<a href="https://twitter.com/share" class="twitter-share-button"
|
24
24
|
data-lang="<%= Monologue.twitter_locale || "en" %>"
|
25
|
-
data-url="
|
25
|
+
data-url="<%= request.protocol %><%= request.host_with_port %><%= request.path.gsub("//","/") %>"
|
26
26
|
data-via="<%=Monologue.twitter_username%>"
|
27
|
-
data-text="<%=@
|
27
|
+
data-text="<%=@post.title%>"
|
28
28
|
data-count="horizontal">Tweet</a>
|
29
29
|
|
30
30
|
<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>
|
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
<div id="facebook">
|
36
36
|
<!-- FACEBOOK LIKE -->
|
37
|
-
|
37
|
+
<div id="fb-root"></div>
|
38
38
|
<script>(function(d, s, id) {
|
39
39
|
var js, fjs = d.getElementsByTagName(s)[0];
|
40
40
|
if (d.getElementById(id)) return;
|
@@ -48,4 +48,4 @@
|
|
48
48
|
|
49
49
|
|
50
50
|
</div>
|
51
|
-
</footer>
|
51
|
+
</footer>
|
@@ -1,18 +1,17 @@
|
|
1
|
-
xml.instruct! :xml, :
|
2
|
-
xml.rss :
|
1
|
+
xml.instruct! :xml, version: "1.0"
|
2
|
+
xml.rss version: "2.0" do
|
3
3
|
xml.channel do
|
4
4
|
xml.title Monologue.site_name
|
5
5
|
xml.description Monologue.meta_description
|
6
6
|
xml.link root_url
|
7
7
|
|
8
8
|
for post in @posts
|
9
|
-
revision = post.posts_revisions.last
|
10
9
|
xml.item do
|
11
|
-
xml.title
|
12
|
-
xml.description raw(
|
13
|
-
xml.pubDate
|
14
|
-
xml.link Monologue.site_url +
|
15
|
-
xml.guid Monologue.site_url +
|
10
|
+
xml.title post.title
|
11
|
+
xml.description raw(post.content)
|
12
|
+
xml.pubDate post.published_at.to_s(:rfc822)
|
13
|
+
xml.link Monologue.site_url + post.full_url
|
14
|
+
xml.guid Monologue.site_url + post.full_url
|
16
15
|
end
|
17
16
|
end
|
18
17
|
end
|
@@ -1,22 +1,22 @@
|
|
1
1
|
<% content_for :title do %>
|
2
|
-
<%= @
|
2
|
+
<%= @post.title %>
|
3
3
|
<% end %>
|
4
4
|
|
5
5
|
<% content_for :meta_description do %>
|
6
|
-
<%= truncate(strip_tags(@
|
6
|
+
<%= truncate(strip_tags(@post.content), length: 155) %>
|
7
7
|
<% end %>
|
8
8
|
|
9
9
|
<article>
|
10
|
-
<%= render :
|
11
|
-
<div
|
12
|
-
<%= raw @
|
10
|
+
<%= render partial: 'monologue/posts/post_header', locals: {post: @post }%>
|
11
|
+
<div class="content" data-monologue="content">
|
12
|
+
<%= raw @post.content %>
|
13
13
|
</div>
|
14
14
|
|
15
|
-
<div
|
16
|
-
<%= render @
|
15
|
+
<div class="tags" data-monologue="tags">
|
16
|
+
<%= render @post.tags %>
|
17
17
|
</div>
|
18
18
|
|
19
|
-
<%= render "social_sharing" %>
|
19
|
+
<%= render "monologue/posts/social_sharing" %>
|
20
20
|
|
21
21
|
<div id="disqus_thread"></div>
|
22
22
|
<%= render 'layouts/monologue/application/disqus_embed' %>
|
@@ -3,6 +3,6 @@
|
|
3
3
|
<ul id="latest_tweets">
|
4
4
|
<li id="tweet_template" style="display:none;">{{text}}</li>
|
5
5
|
</ul>
|
6
|
-
<script type="text/javascript" src="
|
6
|
+
<script type="text/javascript" src="https://api.twitter.com/1/statuses/user_timeline/<%= Monologue.twitter_username %>.json?callback=TwitterWidget.callback&count=5"></script>
|
7
7
|
<% end %>
|
8
8
|
<% end %>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<%= sidebar_section_for(t(".title")) do %>
|
2
2
|
<% @tags.each do |tag| %>
|
3
|
-
<%=link_to tag.name, tag_url(tag), :
|
3
|
+
<%=link_to tag.name, tag_url(tag), class:label_for_tag(tag,@tags_frequency_min,@tags_frequency_max) %>
|
4
4
|
<% end %>
|
5
5
|
<% end %>
|
data/config/locales/en.yml
CHANGED
@@ -2,111 +2,90 @@ en:
|
|
2
2
|
monologue:
|
3
3
|
posts:
|
4
4
|
pagination:
|
5
|
-
older_posts:
|
6
|
-
|
7
|
-
newer_posts:
|
8
|
-
"Newer posts"
|
5
|
+
older_posts: "Older posts"
|
6
|
+
newer_posts: "Newer posts"
|
9
7
|
social_sharing:
|
10
|
-
tagline:
|
11
|
-
"Loved what you just read? Share it!"
|
8
|
+
tagline: "Loved what you just read? Share it!"
|
12
9
|
post:
|
13
|
-
readmore:
|
14
|
-
"Read more"
|
10
|
+
readmore: "Read more"
|
15
11
|
"404":
|
16
|
-
title:
|
17
|
-
|
18
|
-
message:
|
19
|
-
"You may have mistyped the address or the page may have moved."
|
12
|
+
title: "The page you were looking for doesn't exist."
|
13
|
+
message: "You may have mistyped the address or the page may have moved."
|
20
14
|
sidebar:
|
21
15
|
categories:
|
22
|
-
title:
|
23
|
-
"Categories"
|
16
|
+
title: "Categories"
|
24
17
|
latest_posts:
|
25
|
-
title:
|
26
|
-
"Latest posts"
|
18
|
+
title: "Latest posts"
|
27
19
|
latest_tweets:
|
28
|
-
title:
|
29
|
-
"Latest tweets"
|
20
|
+
title: "Latest tweets"
|
30
21
|
tag_cloud:
|
31
|
-
title:
|
32
|
-
"Tags"
|
22
|
+
title: "Tags"
|
33
23
|
tags:
|
34
24
|
show:
|
35
|
-
showing_post_with_tag:
|
36
|
-
|
37
|
-
show_all_posts:
|
38
|
-
"Show all posts"
|
25
|
+
showing_post_with_tag: "Showing posts with label"
|
26
|
+
show_all_posts: "Show all posts"
|
39
27
|
admin:
|
40
28
|
login:
|
41
|
-
need_auth:
|
42
|
-
"You must first log in to access admin section."
|
29
|
+
need_auth: "You must first log in to access admin section."
|
43
30
|
users:
|
44
|
-
|
45
|
-
header: "Edit your account"
|
31
|
+
form:
|
46
32
|
email: "Email"
|
47
33
|
name: "Name"
|
48
34
|
password: "Password"
|
49
|
-
|
35
|
+
password_confirmation: "Password confirmation"
|
36
|
+
edit:
|
37
|
+
header: "Edit your account"
|
50
38
|
save: "Save"
|
39
|
+
new:
|
40
|
+
create: "Create"
|
41
|
+
header: "Add a user"
|
42
|
+
create:
|
43
|
+
success: "User created"
|
44
|
+
delete:
|
45
|
+
removed: "User '%{user}' removed successfully"
|
46
|
+
failed: "Could not remove user '%{user}'"
|
47
|
+
index:
|
48
|
+
email: "Email"
|
49
|
+
name: "Name"
|
50
|
+
edit: "Edit"
|
51
|
+
delete: "Delete"
|
52
|
+
create: "Create"
|
51
53
|
posts:
|
52
54
|
index:
|
53
|
-
title:
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
published:
|
60
|
-
"Yes"
|
61
|
-
not_published:
|
62
|
-
"Not published"
|
63
|
-
status:
|
64
|
-
"Published ?"
|
55
|
+
title: "Title"
|
56
|
+
edit: "Edit"
|
57
|
+
delete: "Delete"
|
58
|
+
published: "Yes"
|
59
|
+
not_published: "Not published"
|
60
|
+
status: "Published ?"
|
65
61
|
new:
|
66
|
-
header:
|
67
|
-
"New monologue"
|
62
|
+
header: "New monologue"
|
68
63
|
create:
|
69
|
-
created
|
70
|
-
|
71
|
-
created_with_future_date_and_cache:
|
72
|
-
"Monologue created: posts with a future publication date will not be shown unless cache is cleared on that same day. Cache will most probably be generated before that and won't be refreshed automatically."
|
64
|
+
saved: "Monologue created"
|
65
|
+
saved_with_future_date_and_cache: "Monologue created: posts with a future publication date will not be shown unless cache is cleared on that same day. Cache will most probably be generated before that and won't be refreshed automatically."
|
73
66
|
edit:
|
74
|
-
header:
|
75
|
-
"Edit"
|
67
|
+
header: "Edit"
|
76
68
|
update:
|
77
|
-
saved_with_future_date_and_cache:
|
78
|
-
|
79
|
-
saved:
|
80
|
-
"Monologue saved"
|
69
|
+
saved_with_future_date_and_cache: "Monologue saved: posts with a future publication date will not be shown unless cache is cleared on that same day. Cache will most probably be generated before that and won't be refreshed automatically."
|
70
|
+
saved: "Monologue saved"
|
81
71
|
delete:
|
82
|
-
removed:
|
83
|
-
|
84
|
-
fail:
|
85
|
-
"Failed to remove monologue!"
|
72
|
+
removed: "Monologue removed"
|
73
|
+
fail: "Failed to remove monologue!"
|
86
74
|
form:
|
87
|
-
title:
|
88
|
-
|
89
|
-
content:
|
90
|
-
"Content"
|
75
|
+
title: "Title"
|
76
|
+
content: "Content"
|
91
77
|
url:
|
92
|
-
caption:
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
save:
|
101
|
-
"Save"
|
102
|
-
preview:
|
103
|
-
"Preview"
|
104
|
-
tags:
|
105
|
-
"Tags <br/><i>Separate tags by commas</i>"
|
78
|
+
caption: "URL<br/><i> This will be filled by default with '%{default_url}'. You can choose your own URL. Do not add '%{root}' at the beginning of your URL.</i>"
|
79
|
+
generated_title: "your-post-title"
|
80
|
+
published_at: "Published at"
|
81
|
+
published: "Published"
|
82
|
+
save: "Save"
|
83
|
+
preview: "Preview"
|
84
|
+
close: "Close"
|
85
|
+
tags: "Tags"
|
106
86
|
comments:
|
107
87
|
show:
|
108
|
-
recent_comments:
|
109
|
-
"Recent comments"
|
88
|
+
recent_comments: "Recent comments"
|
110
89
|
cache:
|
111
90
|
show:
|
112
91
|
title: "Manage cache"
|
@@ -114,44 +93,37 @@ en:
|
|
114
93
|
files_in_cache: "Here are the files actually cached:"
|
115
94
|
no_files_are_cached: "There are actually no file in cache."
|
116
95
|
delete: "Completely wipe cache?"
|
117
|
-
confirm: 'Are you sure you want to
|
96
|
+
confirm: 'Are you sure you want to completely clear cache?'
|
118
97
|
cache_wiped: "Cache was wiped!"
|
119
98
|
how_to_enable:
|
120
99
|
warning: "You can't manage cache!"
|
121
100
|
explanations: "There are certain settings that are not set correctly to be able to use Monologue's basic cache. Please review configuration documentation."
|
122
101
|
sessions:
|
123
102
|
new:
|
124
|
-
title:
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
password:
|
129
|
-
"Password"
|
130
|
-
button:
|
131
|
-
"Log in"
|
103
|
+
title: "Sign in"
|
104
|
+
email: "Email"
|
105
|
+
password: "Password"
|
106
|
+
button: "Log in"
|
132
107
|
messages:
|
133
|
-
invalid:
|
134
|
-
|
135
|
-
|
136
|
-
"Logged in!"
|
137
|
-
logged_out:
|
138
|
-
"Logged out!"
|
108
|
+
invalid: "Invalid email or password"
|
109
|
+
logged_in: "Logged in!"
|
110
|
+
logged_out: "Logged out!"
|
139
111
|
layouts:
|
140
112
|
monologue:
|
141
113
|
admin:
|
142
114
|
nav_bar:
|
143
|
-
add_a_monologue:
|
144
|
-
|
145
|
-
|
146
|
-
"List of monologues"
|
147
|
-
comments:
|
148
|
-
"Comments"
|
115
|
+
add_a_monologue: "Add a monologue"
|
116
|
+
list_monologues: "List of monologues"
|
117
|
+
comments: "Comments"
|
149
118
|
cache: "Manage cache"
|
150
119
|
edit_user_info: "My account"
|
151
120
|
settings: "Settings"
|
152
|
-
log_out:
|
153
|
-
|
121
|
+
log_out: "Log out"
|
122
|
+
users: "Users"
|
154
123
|
activerecord:
|
124
|
+
attributes:
|
125
|
+
monologue/user:
|
126
|
+
password_digest: "Password confirmation"
|
155
127
|
errors:
|
156
128
|
format: "%{message}"
|
157
129
|
errors:
|
@@ -159,21 +131,18 @@ en:
|
|
159
131
|
errors:
|
160
132
|
models:
|
161
133
|
full_messages: "%{message}"
|
162
|
-
monologue/
|
163
|
-
blank:
|
164
|
-
|
134
|
+
monologue/post:
|
135
|
+
blank: "%{attribute} is required"
|
136
|
+
taken: "%{attribute} is already used by another post"
|
165
137
|
attributes:
|
166
138
|
published_at:
|
167
|
-
blank:
|
168
|
-
"'Published at' is required"
|
139
|
+
blank: "'Published at' is required"
|
169
140
|
url:
|
170
|
-
start_with_slash:
|
171
|
-
|
172
|
-
unique:
|
173
|
-
"URL is already used by another post"
|
141
|
+
start_with_slash: "URL can't start with a slash ('/')"
|
142
|
+
|
174
143
|
monologue/user:
|
175
|
-
blank:
|
176
|
-
|
144
|
+
blank: "%{attribute} is required"
|
145
|
+
taken: "%{attribute} has already been taken"
|
177
146
|
attributes:
|
178
147
|
password:
|
179
|
-
confirmation: "Password and confirmation doesn't match."
|
148
|
+
confirmation: "Password and confirmation doesn't match."
|