monologue 0.1.3 → 0.2.0.beta3
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 +29 -21
- data/app/assets/javascripts/monologue/blog/twitter.js.coffee +32 -0
- data/app/assets/stylesheets/monologue/blog/application.css +3 -3
- data/app/assets/stylesheets/monologue/blog/monologue.css +150 -7
- data/app/controllers/monologue/admin/cache_controller.rb +27 -0
- data/app/controllers/monologue/admin/posts_controller.rb +28 -12
- data/app/controllers/monologue/admin/sessions_controller.rb +2 -2
- data/app/controllers/monologue/admin/users_controller.rb +13 -0
- data/app/controllers/monologue/application_controller.rb +22 -6
- data/app/controllers/monologue/posts_controller.rb +7 -7
- data/app/controllers/monologue/tags_controller.rb +12 -0
- data/app/helpers/monologue/application_helper.rb +76 -0
- data/app/helpers/monologue/tags_helper.rb +5 -0
- data/app/models/monologue/post.rb +43 -29
- data/app/models/monologue/posts_revision.rb +50 -52
- data/app/models/monologue/tag.rb +16 -0
- data/app/models/monologue/tagging.rb +4 -0
- data/app/models/monologue/user.rb +1 -0
- data/app/sweepers/monologue/posts_sweeper.rb +20 -4
- data/app/sweepers/monologue/total_sweeper.rb +5 -0
- data/app/views/layouts/monologue/admin/_nav_bar.html.erb +17 -6
- data/app/views/layouts/monologue/application.html.erb +15 -20
- data/app/views/layouts/monologue/application/_disqus.html.erb +18 -0
- data/app/views/layouts/monologue/application/_disqus_embed.html.erb +17 -0
- data/app/views/layouts/monologue/application/_fb_open_graph.html.erb +4 -1
- data/app/views/layouts/monologue/application/_gauge_analytics.html.erb +15 -0
- data/app/views/layouts/monologue/application/_google_analytics.html.erb +1 -1
- data/app/views/layouts/monologue/application/_head.html.erb +3 -2
- data/app/views/layouts/monologue/application/_sidebar.html.erb +5 -0
- data/app/views/layouts/monologue/application/_social_icons.html.erb +5 -0
- data/app/views/layouts/monologue/application/_twitter_cards.html.erb +7 -0
- data/app/views/monologue/admin/cache/_config.html.erb +18 -0
- data/app/views/monologue/admin/cache/how_to_enable.html.erb +6 -0
- data/app/views/monologue/admin/cache/show.html.erb +26 -0
- data/app/views/monologue/admin/posts/_form.html.erb +3 -2
- data/app/views/monologue/admin/posts/edit.html.erb +1 -1
- data/app/views/monologue/admin/posts/index.html.erb +1 -1
- data/app/views/monologue/admin/users/edit.html.erb +9 -0
- data/app/views/monologue/posts/_post.html.erb +14 -0
- data/app/views/monologue/posts/_revision_header.html.erb +9 -0
- data/app/views/monologue/posts/_social_sharing.html.erb +45 -36
- data/app/views/monologue/posts/index.html.erb +4 -17
- data/app/views/monologue/posts/show.html.erb +11 -24
- data/app/views/monologue/sidebar/_categories.html.erb +7 -0
- data/app/views/monologue/sidebar/_latest_posts.html.erb +7 -0
- data/app/views/monologue/sidebar/_latest_tweets.html.erb +8 -0
- data/app/views/monologue/sidebar/_tag_cloud.html.erb +5 -0
- data/app/views/monologue/tags/_tag.html.erb +1 -0
- data/app/views/monologue/tags/show.html.erb +4 -0
- data/config/locales/en.yml +54 -10
- data/config/locales/fr.yml +55 -11
- data/config/routes.rb +8 -2
- data/db/migrate/20120514164158_create_monologue_tags.rb +8 -0
- data/db/migrate/20120514194459_join_posts_and_tags.rb +7 -0
- data/db/migrate/20120604010152_rename_post_tags_table.rb +5 -0
- data/db/migrate/20120612013442_create_taggings.rb +11 -0
- data/db/migrate/20120612015727_delete_join_posts_tags.rb +11 -0
- data/db/migrate/20120612020023_add_index_to_tag_name.rb +5 -0
- data/deprecations.rb +10 -0
- data/lib/monologue.rb +20 -1
- data/lib/monologue/engine.rb +12 -1
- data/lib/monologue/version.rb +1 -1
- data/lib/tasks/monologue_cache.rake +26 -0
- data/vendor/assets/fonts/monologue/foundation_icons/social_foundicons.eot +0 -0
- data/vendor/assets/fonts/monologue/foundation_icons/social_foundicons.svg +15 -0
- data/vendor/assets/fonts/monologue/foundation_icons/social_foundicons.ttf +0 -0
- data/vendor/assets/fonts/monologue/foundation_icons/social_foundicons.woff +0 -0
- data/vendor/assets/javascripts/monologue/bootstrap/bootstrap.min.js +6 -1
- data/vendor/assets/stylesheets/monologue/bootstrap/bootstrap-responsive.min.css +9 -3
- data/vendor/assets/stylesheets/monologue/bootstrap/bootstrap.min.css +9 -610
- data/vendor/assets/stylesheets/monologue/foundation_icons/social_foundicons.css.erb +148 -0
- metadata +109 -10
- data/app/helpers/monologue/admin/admin_helper.rb +0 -4
- data/app/helpers/monologue/posts_helper.rb +0 -4
- data/app/helpers/monologue/sessions_helper.rb +0 -6
- data/lib/tasks/monologue_tasks.rake +0 -4
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
<% content_for :title do %>
|
3
2
|
<%= @revision.title %>
|
4
3
|
<% end %>
|
@@ -8,31 +7,19 @@
|
|
8
7
|
<% end %>
|
9
8
|
|
10
9
|
<article>
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
10
|
+
<%= render :partial => 'monologue/posts/revision_header', :locals => {:revision=>@revision}%>
|
11
|
+
<div id="content" data-monologue="content">
|
12
|
+
<%= raw @revision.content %>
|
13
|
+
</div>
|
14
|
+
|
15
|
+
<div id="tags" data-monologue="tags">
|
16
|
+
<%= render @revision.post.tags %>
|
17
|
+
</div>
|
18
18
|
|
19
19
|
<%= render "social_sharing" %>
|
20
20
|
|
21
21
|
<div id="disqus_thread"></div>
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
<% if Rails.env.development? %>
|
27
|
-
var disqus_developer = 1; // developer mode is on
|
28
|
-
<% end %>
|
22
|
+
<%= render 'layouts/monologue/application/disqus_embed' %>
|
23
|
+
<noscript>Please enable JavaScript to view the comments.</noscript>
|
24
|
+
</article>
|
29
25
|
|
30
|
-
/* * * DON'T EDIT BELOW THIS LINE * * */
|
31
|
-
(function() {
|
32
|
-
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
33
|
-
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
|
34
|
-
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
35
|
-
})();
|
36
|
-
</script>
|
37
|
-
<noscript>Please enable JavaScript to view the comments.</a></noscript>
|
38
|
-
</article>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<% unless Monologue.twitter_username.nil? %>
|
2
|
+
<%= sidebar_section_for(t(".title")) do %>
|
3
|
+
<ul id="latest_tweets">
|
4
|
+
<li id="tweet_template" style="display:none;">{{text}}</li>
|
5
|
+
</ul>
|
6
|
+
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/<%= Monologue.twitter_username %>.json?callback=TwitterWidget.callback&count=5"></script>
|
7
|
+
<% end %>
|
8
|
+
<% end %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<span class='tag'><%=link_to tag.name, tag_url(tag) %></span>
|
data/config/locales/en.yml
CHANGED
@@ -9,7 +9,7 @@ en:
|
|
9
9
|
social_sharing:
|
10
10
|
tagline:
|
11
11
|
"Loved what you just read? Share it!"
|
12
|
-
|
12
|
+
post:
|
13
13
|
readmore:
|
14
14
|
"Read more"
|
15
15
|
"404":
|
@@ -17,10 +17,37 @@ en:
|
|
17
17
|
"The page you were looking for doesn't exist."
|
18
18
|
message:
|
19
19
|
"You may have mistyped the address or the page may have moved."
|
20
|
+
sidebar:
|
21
|
+
categories:
|
22
|
+
title:
|
23
|
+
"Categories"
|
24
|
+
latest_posts:
|
25
|
+
title:
|
26
|
+
"Latest posts"
|
27
|
+
latest_tweets:
|
28
|
+
title:
|
29
|
+
"Latest tweets"
|
30
|
+
tag_cloud:
|
31
|
+
title:
|
32
|
+
"Tags"
|
33
|
+
tags:
|
34
|
+
show:
|
35
|
+
showing_post_with_tag:
|
36
|
+
"Showing posts with label"
|
37
|
+
show_all_posts:
|
38
|
+
"Show all posts"
|
20
39
|
admin:
|
21
40
|
login:
|
22
41
|
need_auth:
|
23
42
|
"You must first log in to access admin section."
|
43
|
+
users:
|
44
|
+
edit:
|
45
|
+
header: "Edit your account"
|
46
|
+
email: "Email"
|
47
|
+
name: "Name"
|
48
|
+
password: "Password"
|
49
|
+
confirmation: "Password confirmation"
|
50
|
+
save: "Save"
|
24
51
|
posts:
|
25
52
|
index:
|
26
53
|
title:
|
@@ -62,12 +89,8 @@ en:
|
|
62
89
|
content:
|
63
90
|
"Content"
|
64
91
|
url:
|
65
|
-
|
66
|
-
"URL
|
67
|
-
after_generated_url:
|
68
|
-
". You can choose your own URL. </i>"
|
69
|
-
do_not_add_mount_point:
|
70
|
-
"Do not add at the beginning of your URL :"
|
92
|
+
caption:
|
93
|
+
"URL<br/><i> This will be filled by default with '%s'. You can choose your own URL. Do not add '%s' at the beginning of your URL.</i>"
|
71
94
|
generated_title:
|
72
95
|
"your-post-title"
|
73
96
|
published_at:
|
@@ -78,10 +101,24 @@ en:
|
|
78
101
|
"Save"
|
79
102
|
preview:
|
80
103
|
"Preview"
|
104
|
+
tags:
|
105
|
+
"Tags <br/><i>Separate tags by commas</i>"
|
81
106
|
comments:
|
82
107
|
show:
|
83
108
|
recent_comments:
|
84
109
|
"Recent comments"
|
110
|
+
cache:
|
111
|
+
show:
|
112
|
+
title: "Manage cache"
|
113
|
+
description: "You can completely wipe cache here."
|
114
|
+
files_in_cache: "Here are the files actually cached:"
|
115
|
+
no_files_are_cached: "There are actually no file in cache."
|
116
|
+
delete: "Completely wipe cache?"
|
117
|
+
confirm: 'Are you sure you want to competely clear cache?'
|
118
|
+
cache_wiped: "Cache was wiped!"
|
119
|
+
how_to_enable:
|
120
|
+
warning: "You can't manage cache!"
|
121
|
+
explanations: "There are certain settings that are not set correctly to be able to use Monologue's basic cache. Please review configuration documentation."
|
85
122
|
sessions:
|
86
123
|
new:
|
87
124
|
title:
|
@@ -109,8 +146,9 @@ en:
|
|
109
146
|
"List of monologues"
|
110
147
|
comments:
|
111
148
|
"Comments"
|
112
|
-
|
113
|
-
|
149
|
+
cache: "Manage cache"
|
150
|
+
edit_user_info: "My account"
|
151
|
+
settings: "Settings"
|
114
152
|
log_out:
|
115
153
|
"Log out"
|
116
154
|
activerecord:
|
@@ -132,4 +170,10 @@ en:
|
|
132
170
|
start_with_slash:
|
133
171
|
"URL can't start with a slash ('/')"
|
134
172
|
unique:
|
135
|
-
"URL is already used by another post"
|
173
|
+
"URL is already used by another post"
|
174
|
+
monologue/user:
|
175
|
+
blank:
|
176
|
+
"%{attribute} is required"
|
177
|
+
attributes:
|
178
|
+
password:
|
179
|
+
confirmation: "Password and confirmation doesn't match."
|
data/config/locales/fr.yml
CHANGED
@@ -8,8 +8,8 @@ fr:
|
|
8
8
|
"Articles plus récents"
|
9
9
|
social_sharing:
|
10
10
|
tagline:
|
11
|
-
"Vous avez ce que vous avez lu? Partagez le!"
|
12
|
-
|
11
|
+
"Vous avez aimé ce que vous avez lu? Partagez le!"
|
12
|
+
post:
|
13
13
|
readmore:
|
14
14
|
"Lire"
|
15
15
|
"404":
|
@@ -17,10 +17,37 @@ fr:
|
|
17
17
|
"La page que vous cherchiez n'existe pas."
|
18
18
|
message:
|
19
19
|
"You pourriez avoir mal tappé l'adresse ou la page pourrait avoir été déplacée."
|
20
|
+
sidebar:
|
21
|
+
categories:
|
22
|
+
title:
|
23
|
+
"Catégories"
|
24
|
+
latest_posts:
|
25
|
+
title:
|
26
|
+
"Derniers articles"
|
27
|
+
latest_tweets:
|
28
|
+
title:
|
29
|
+
"Derniers tweets"
|
30
|
+
tag_cloud:
|
31
|
+
title:
|
32
|
+
"Labels"
|
33
|
+
tags:
|
34
|
+
show:
|
35
|
+
showing_post_with_tag:
|
36
|
+
"Articles ayant le label"
|
37
|
+
show_all_posts:
|
38
|
+
"Voir tous les articles"
|
20
39
|
admin:
|
21
40
|
login:
|
22
41
|
need_auth:
|
23
42
|
"Vous devez d'abord vous connectez à la section d'administration."
|
43
|
+
users:
|
44
|
+
edit:
|
45
|
+
header: "Modifier mon compte"
|
46
|
+
email: "Courriel"
|
47
|
+
name: "Nom"
|
48
|
+
password: "Mot de passe"
|
49
|
+
confirmation: "Confirmation du mot de passe"
|
50
|
+
save: "Sauvegarder"
|
24
51
|
posts:
|
25
52
|
index:
|
26
53
|
title:
|
@@ -62,12 +89,8 @@ fr:
|
|
62
89
|
content:
|
63
90
|
"Contenu"
|
64
91
|
url:
|
65
|
-
|
66
|
-
"Adresse URL
|
67
|
-
after_generated_url:
|
68
|
-
". Vous pouvez aussi choisir votre propre adresse URL. </i>"
|
69
|
-
do_not_add_mount_point:
|
70
|
-
"N'ajoutez pas au début de l'adresse URL:"
|
92
|
+
caption:
|
93
|
+
"Adresse URL<br/><i> Ce sera rempli par défaut avec '%s'. Vous pouvez aussi choisir votre propre adresse URL. N'ajoutez pas '%s' au début de l'adresse URL.</i>"
|
71
94
|
generated_title:
|
72
95
|
"nom-de-votre-article"
|
73
96
|
published_at:
|
@@ -78,6 +101,20 @@ fr:
|
|
78
101
|
"Sauvegarder"
|
79
102
|
preview:
|
80
103
|
"Aperçu"
|
104
|
+
tags:
|
105
|
+
"Catégories<br/><i>Séparer les catégories par des virgules</i>"
|
106
|
+
cache:
|
107
|
+
show:
|
108
|
+
title: "Gérer la cache"
|
109
|
+
description: "Vous pouvez complètement effacer la cache ici."
|
110
|
+
files_in_cache: "Voici les fichiers en cache:"
|
111
|
+
no_files_are_cached: "Il n'y a aucun fichier en cache."
|
112
|
+
delete: "Effacer complètement la cache?"
|
113
|
+
confirm: 'Voulez-vous vraiment effacer la cache?'
|
114
|
+
cache_wiped: "La cache a été effacée!"
|
115
|
+
how_to_enable:
|
116
|
+
warning: "Vous ne pouvez gérer la cache!"
|
117
|
+
explanations: "Il y a certaines configurations à effectuer pour utiliser la gestion de cache de base de Monologue. SVP voir la documentation ci-dessous (anglais seulement)."
|
81
118
|
comments:
|
82
119
|
show:
|
83
120
|
recent_comments:
|
@@ -109,8 +146,9 @@ fr:
|
|
109
146
|
"Liste des monologues"
|
110
147
|
comments:
|
111
148
|
"Commentaires"
|
112
|
-
|
113
|
-
|
149
|
+
cache: "Gérer la cache"
|
150
|
+
edit_user_info: "Mon compte"
|
151
|
+
settings: "Paramètres"
|
114
152
|
log_out:
|
115
153
|
"Déconnexion"
|
116
154
|
activerecord:
|
@@ -132,4 +170,10 @@ fr:
|
|
132
170
|
start_with_slash:
|
133
171
|
"L'adresse URL ne peut débuter par un slash ('/')"
|
134
172
|
unique:
|
135
|
-
"L'adresse URL est déjà utilisée par un autre article"
|
173
|
+
"L'adresse URL est déjà utilisée par un autre article"
|
174
|
+
monologue/user:
|
175
|
+
blank:
|
176
|
+
"%{attribute} est requis"
|
177
|
+
attributes:
|
178
|
+
password:
|
179
|
+
confirmation: "Le mot de passe et sa confirmation doivent concorder."
|
data/config/routes.rb
CHANGED
@@ -2,15 +2,21 @@ Monologue::Engine.routes.draw do
|
|
2
2
|
root :to => "posts#index"
|
3
3
|
match "/page/:page", :to => "posts#index", :as => "posts_page"
|
4
4
|
match "/feed" => "posts#feed", :as => "feed", :defaults => {:format => :rss}
|
5
|
-
|
5
|
+
|
6
|
+
match "/tags/:tag" =>"tags#show", :as => "tags_page"
|
7
|
+
|
6
8
|
namespace :admin, :path => "monologue" do
|
7
9
|
get "/" => "posts#index", :as => "" # responds to admin_url and admin_path
|
8
10
|
get "logout" => "sessions#destroy"
|
9
11
|
get "login" => "sessions#new"
|
10
12
|
resources :sessions
|
11
13
|
resources :posts
|
14
|
+
resources :users
|
12
15
|
get "comments" => "comments#show", :as => "comments"
|
16
|
+
|
17
|
+
get "cache" => "cache#show", :as => "cache"
|
18
|
+
delete "cache" => "cache#destroy"
|
13
19
|
end
|
14
|
-
|
20
|
+
|
15
21
|
match "*post_url" => "posts#show", :as => "post"
|
16
22
|
end
|
data/deprecations.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
def deprecate msg
|
2
|
+
puts "\e[#{31}m#{msg}\e[0m"
|
3
|
+
end
|
4
|
+
|
5
|
+
if RUBY_VERSION.include?("1.8.")
|
6
|
+
deprecate "#############################################"
|
7
|
+
deprecate "# NOTE FOR RUBY 1.8.X USERS #"
|
8
|
+
deprecate "#############################################"
|
9
|
+
deprecate "Please note that Monologue 0.2 is the last version to support Ruby 1.8."
|
10
|
+
end
|
data/lib/monologue.rb
CHANGED
@@ -7,12 +7,31 @@ module Monologue
|
|
7
7
|
:site_url,
|
8
8
|
:meta_description,
|
9
9
|
:meta_keyword,
|
10
|
+
|
11
|
+
:show_rss_icon,
|
12
|
+
|
10
13
|
:twitter_username,
|
11
14
|
:twitter_locale,
|
15
|
+
|
12
16
|
:facebook_like_locale,
|
17
|
+
:facebook_url,
|
18
|
+
:facebook_logo, #used in the open graph protocol to display an image when a post is liked
|
19
|
+
|
20
|
+
:google_plus_account_url,
|
13
21
|
:google_plusone_locale,
|
22
|
+
|
23
|
+
:linkedin_url,
|
24
|
+
|
25
|
+
:github_username,
|
26
|
+
|
14
27
|
:admin_force_ssl,
|
15
28
|
:posts_per_page,
|
16
29
|
:google_analytics_id,
|
17
|
-
:
|
30
|
+
:gauge_analytics_site_id,
|
31
|
+
:layout,
|
32
|
+
:sidebar
|
33
|
+
end
|
34
|
+
|
35
|
+
module Monologue::PageCache
|
36
|
+
mattr_accessor :enabled, :wipe_enabled, :wipe_after_save
|
18
37
|
end
|
data/lib/monologue/engine.rb
CHANGED
@@ -1,11 +1,22 @@
|
|
1
1
|
require "tinymce-rails"
|
2
|
+
require "truncate_html"
|
2
3
|
module Monologue
|
3
4
|
class Engine < Rails::Engine
|
4
5
|
isolate_namespace Monologue
|
5
|
-
|
6
|
+
|
7
|
+
|
8
|
+
|
6
9
|
config.generators.test_framework :rspec, :view_specs => false, :fixture => false
|
7
10
|
config.generators.stylesheets false
|
8
11
|
config.generators.fixture_replacement :factory_girl
|
9
12
|
config.generators.integration_tool :rspec
|
13
|
+
|
14
|
+
initializer :assets do |config|
|
15
|
+
Rails.application.config.assets.paths << Rails.root.join('vendor', 'assets', 'fonts')
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
ENGINE_ROOT = File.join(File.dirname(__FILE__), '../..')
|
20
|
+
require "#{ENGINE_ROOT}/deprecations"
|
10
21
|
end
|
11
22
|
end
|