monologue 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +1 -1
  3. data/README.md +28 -6
  4. data/app/assets/images/monologue/admin/select2.png +0 -0
  5. data/app/assets/javascripts/monologue/admin/application.js +6 -2
  6. data/app/assets/javascripts/monologue/admin/ckeditor-config.js +21 -0
  7. data/app/assets/javascripts/monologue/admin/posts.js +62 -0
  8. data/app/assets/stylesheets/monologue/admin/application.css +2 -1
  9. data/app/assets/stylesheets/monologue/admin/posts.sass +21 -0
  10. data/app/assets/stylesheets/monologue/blog/application.css +1 -1
  11. data/app/assets/stylesheets/monologue/blog/monologue.css +12 -1
  12. data/app/controllers/monologue/admin/base_controller.rb +2 -2
  13. data/app/controllers/monologue/admin/posts_controller.rb +31 -44
  14. data/app/controllers/monologue/admin/sessions_controller.rb +2 -2
  15. data/app/controllers/monologue/admin/users_controller.rb +39 -3
  16. data/app/controllers/monologue/application_controller.rb +7 -7
  17. data/app/controllers/monologue/posts_controller.rb +5 -7
  18. data/app/controllers/monologue/tags_controller.rb +8 -3
  19. data/app/form_builders/monologue_admin_form_builder.rb +12 -8
  20. data/app/helpers/monologue/application_helper.rb +9 -39
  21. data/app/helpers/monologue/html_helper.rb +35 -0
  22. data/app/helpers/monologue/tags_helper.rb +25 -0
  23. data/app/models/monologue/post.rb +38 -23
  24. data/app/models/monologue/tag.rb +3 -4
  25. data/app/models/monologue/tagging.rb +2 -0
  26. data/app/models/monologue/user.rb +13 -2
  27. data/app/sweepers/monologue/posts_sweeper.rb +2 -5
  28. data/app/views/layouts/monologue/admin.html.erb +2 -2
  29. data/app/views/layouts/monologue/admin/_nav_bar.html.erb +8 -16
  30. data/app/views/layouts/monologue/application.html.erb +1 -1
  31. data/app/views/layouts/monologue/application/_fb_open_graph.html.erb +2 -2
  32. data/app/views/layouts/monologue/application/_sidebar.html.erb +3 -1
  33. data/app/views/layouts/monologue/application/_twitter_cards.html.erb +2 -2
  34. data/app/views/monologue/admin/cache/_config.html.erb +1 -1
  35. data/app/views/monologue/admin/cache/show.html.erb +1 -1
  36. data/app/views/monologue/admin/posts/_form.html.erb +23 -9
  37. data/app/views/monologue/admin/posts/edit.html.erb +3 -3
  38. data/app/views/monologue/admin/posts/index.html.erb +5 -3
  39. data/app/views/monologue/admin/posts/new.html.erb +1 -1
  40. data/app/views/monologue/admin/sessions/new.html.erb +1 -1
  41. data/app/views/monologue/admin/users/_form.html.erb +5 -0
  42. data/app/views/monologue/admin/users/edit.html.erb +3 -7
  43. data/app/views/monologue/admin/users/index.html.erb +28 -0
  44. data/app/views/monologue/admin/users/new.html.erb +5 -0
  45. data/app/views/monologue/posts/_pagination.html.erb +2 -2
  46. data/app/views/monologue/posts/_post.html.erb +6 -8
  47. data/app/views/monologue/posts/_post_header.html.erb +16 -0
  48. data/app/views/monologue/posts/_social_sharing.html.erb +6 -6
  49. data/app/views/monologue/posts/feed.rss.builder +7 -8
  50. data/app/views/monologue/posts/index.html.erb +1 -1
  51. data/app/views/monologue/posts/show.html.erb +8 -8
  52. data/app/views/monologue/sidebar/_latest_posts.html.erb +1 -1
  53. data/app/views/monologue/sidebar/_latest_tweets.html.erb +1 -1
  54. data/app/views/monologue/sidebar/_tag_cloud.html.erb +1 -1
  55. data/config/locales/en.yml +81 -112
  56. data/config/locales/es.yml +148 -0
  57. data/config/locales/fr.yml +76 -110
  58. data/config/locales/it.yml +147 -0
  59. data/config/locales/pt.yml +147 -0
  60. data/config/locales/ro.yml +78 -110
  61. data/config/routes.rb +12 -10
  62. data/db/migrate/20120120193858_create_monologue_posts_revisions.rb +1 -1
  63. data/db/migrate/20120514194459_join_posts_and_tags.rb +1 -1
  64. data/db/migrate/20120526131841_migrate_old_urls.rb +3 -0
  65. data/db/migrate/20120612015727_delete_join_posts_tags.rb +1 -1
  66. data/db/migrate/20130108123111_move_user_id_to_post.rb +31 -0
  67. data/db/migrate/20130509015400_merge_revisions_into_posts.rb +40 -0
  68. data/db/seeds.rb +1 -1
  69. data/lib/monologue/engine.rb +6 -6
  70. data/lib/monologue/version.rb +1 -1
  71. data/lib/tasks/monologue_cache.rake +1 -1
  72. data/vendor/assets/javascripts/monologue/bootstrap/bootstrap-datepicker-es.js +7 -0
  73. data/vendor/assets/javascripts/monologue/bootstrap/bootstrap-datepicker-it.js +9 -0
  74. data/vendor/assets/javascripts/monologue/bootstrap/bootstrap-datepicker-pt.js +9 -0
  75. metadata +88 -78
  76. data/app/assets/javascripts/monologue/admin/tinymce-config.js +0 -21
  77. data/app/models/monologue/posts_revision.rb +0 -61
  78. data/app/views/monologue/posts/_revision_header.html.erb +0 -9
@@ -0,0 +1,147 @@
1
+ pt_BR:
2
+ monologue:
3
+ posts:
4
+ pagination:
5
+ older_posts: "Posts antigos"
6
+ newer_posts: "Posts recentes"
7
+ social_sharing:
8
+ tagline: "Gostou do que você leu? Compartilhe!"
9
+ post:
10
+ readmore: "Leia mais"
11
+ "404":
12
+ title: "A página que você procura não existe.."
13
+ message: "Você deve teve ter escrito outro endereço ou esta página pode ter sido movida."
14
+ sidebar:
15
+ categories:
16
+ title: "Categorias"
17
+ latest_posts:
18
+ title: "Posts recentes"
19
+ latest_tweets:
20
+ title: "Tweets recentes"
21
+ tag_cloud:
22
+ title: "Tags"
23
+ tags:
24
+ show:
25
+ showing_post_with_tag: "Mostrando posts com tag"
26
+ show_all_posts: "Mostrar todos posts"
27
+ admin:
28
+ login:
29
+ need_auth: "É necessário estar logado"
30
+ users:
31
+ form:
32
+ email: "Email"
33
+ name: "Nome"
34
+ password: "Senha"
35
+ password_confirmation: "Confirmação de senha"
36
+ edit:
37
+ header: "Editar configurações de usuário"
38
+ save: "Salvar"
39
+ new:
40
+ create: "TODO Create"
41
+ header: "TODO Add a user"
42
+ create:
43
+ success: "TODO User created"
44
+ delete:
45
+ removed: "TODO User '%{user}' removed successfully"
46
+ failed: "TODO Could not remove user '%{user}'"
47
+ index:
48
+ email: "Email"
49
+ name: "Nome"
50
+ edit: "Editar"
51
+ delete: "Deletar"
52
+ create: "TODO Create"
53
+ posts:
54
+ index:
55
+ title: "Título"
56
+ edit: "Editar"
57
+ delete: "Deletar"
58
+ published: "Sim"
59
+ not_published: "Não publicado"
60
+ status: "Publicado?"
61
+ new:
62
+ header: "Novo blog post"
63
+ create:
64
+ saved: "Post criado com sucesso"
65
+ saved_with_future_date_and_cache: "Post criado com sucesso: posts com data de publicação no futuro não irão ser mostrados a menos que a cache seja limpa naquele mesmo dia. A cache provavelmente será gerada antes disso e não será atualizada automaticamente."
66
+ edit:
67
+ header: "Editar"
68
+ update:
69
+ saved_with_future_date_and_cache: "Post salvo com sucesso: posts com data de publicação no futuro não irão ser mostrados a menos que a cache seja limpa naquele mesmo dia. A cache provavelmente será gerada antes disso e não será atualizada automaticamente."
70
+ saved: "Post salvo com sucesso"
71
+ delete:
72
+ removed: "Post removido com sucesso"
73
+ fail: "Falha na remoção do post!"
74
+ form:
75
+ title: "Título"
76
+ content: "Conteúdo"
77
+ url:
78
+ caption: "URL<br/><i> Esse campo será preenchido automaticamente com '%{default_url}'. Você pode escolher a sua própria URL. Não adicione '%{root}' no início da sua URL.</i>"
79
+ generated_title: "seu-titulo-de-post"
80
+ published_at: "Data de publicação"
81
+ published: "Publicado"
82
+ save: "Salvar"
83
+ preview: "Visualizar"
84
+ close: "Fechar"
85
+ tags: "Tags"
86
+ comments:
87
+ show:
88
+ recent_comments: "Comentários recentes"
89
+ cache:
90
+ show:
91
+ title: "Gerenciar cache"
92
+ description: "Você pode limpar a cache aqui."
93
+ files_in_cache: "Estes são os arquivos em cache:"
94
+ no_files_are_cached: "Não há nenhum arquivo em cache."
95
+ delete: "Limpar cache?"
96
+ confirm: 'Você tem certeza que deseja limpar a cache?'
97
+ cache_wiped: "A cache foi limpa!"
98
+ how_to_enable:
99
+ warning: "Você não pode gerenciar a cache!"
100
+ explanations: "Existem certas configurações que estão incorretas para utilizar a cache básica do Monologue. Por favor, revise a documentação das configurações."
101
+ sessions:
102
+ new:
103
+ title: "Tela administrativa do blog"
104
+ email: "Email"
105
+ password: "Senha"
106
+ button: "Entrar"
107
+ messages:
108
+ invalid: "Email ou senha inválidos"
109
+ logged_in: "Login efetuado com sucesso!"
110
+ logged_out: "Logout efetuado com sucesso!"
111
+ layouts:
112
+ monologue:
113
+ admin:
114
+ nav_bar:
115
+ add_a_monologue: "Criar post"
116
+ list_monologues: "Listar posts"
117
+ comments: "Comentários"
118
+ cache: "Gerenciar cache"
119
+ edit_user_info: "Minha conta"
120
+ settings: "Configurações"
121
+ log_out: "Sair"
122
+ users: "TODO Users"
123
+ activerecord:
124
+ attributes:
125
+ monologue/user:
126
+ password_digest: "TODO Password confirmation"
127
+ errors:
128
+ format: "%{message}"
129
+ errors:
130
+ full_messages: "%{message}"
131
+ errors:
132
+ models:
133
+ full_messages: "%{message}"
134
+ monologue/post:
135
+ blank: "%{attribute} é obrigatório"
136
+ taken: "%{attribute} já utilizada por outro post"
137
+ attributes:
138
+ published_at:
139
+ blank: "'Data de publicação' é obrigatório"
140
+ url:
141
+ start_with_slash: "URL não pode começar com '/'"
142
+ monologue/user:
143
+ blank: "%{attribute} é obrigatório"
144
+ taken: "TODO %{attribute} has already been taken"
145
+ attributes:
146
+ password:
147
+ confirmation: "Senha e confirmação diferem."
@@ -2,111 +2,90 @@ ro:
2
2
  monologue:
3
3
  posts:
4
4
  pagination:
5
- older_posts:
6
- "Articole mai vechi"
7
- newer_posts:
8
- "Articole mai noi"
5
+ older_posts: "Articole mai vechi"
6
+ newer_posts: "Articole mai noi"
9
7
  social_sharing:
10
- tagline:
11
- "V-a placut articolul ? Dati mai departe."
8
+ tagline: "V-a placut articolul ? Dati mai departe."
12
9
  post:
13
- readmore:
14
- "Cititi articolul"
10
+ readmore: "Cititi articolul"
15
11
  "404":
16
- title:
17
- "Pagina pe care o cautati nu exista."
18
- message:
19
- "Este posibil sa fi gresit adresa sau pagina sa se fi mutat la alta adresa."
12
+ title: "Pagina pe care o cautati nu exista."
13
+ message: "Este posibil sa fi gresit adresa sau pagina sa se fi mutat la alta adresa."
20
14
  sidebar:
21
15
  categories:
22
- title:
23
- "Categorii"
16
+ title: "Categorii"
24
17
  latest_posts:
25
- title:
26
- "Ultimele articole"
18
+ title: "Ultimele articole"
27
19
  latest_tweets:
28
- title:
29
- "Ultimele tweet-uri"
20
+ title: "Ultimele tweet-uri"
30
21
  tag_cloud:
31
- title:
32
- "Tag-uri"
22
+ title: "Tag-uri"
33
23
  tags:
34
24
  show:
35
- showing_post_with_tag:
36
- "Articole cu tag-ul"
37
- show_all_posts:
38
- "Toate articolele"
25
+ showing_post_with_tag: "Articole cu tag-ul"
26
+ show_all_posts: "Toate articolele"
39
27
  admin:
40
28
  login:
41
- need_auth:
42
- "Pentru a accesa aceasta pagina, trebuie sa va autentificati."
29
+ need_auth: "Pentru a accesa aceasta pagina, trebuie sa va autentificati."
43
30
  users:
44
- edit:
45
- header: "Modificare cont"
31
+ form:
46
32
  email: "Email"
47
33
  name: "Nume"
48
34
  password: "Parola"
49
- confirmation: "Confirmare parola"
35
+ password_confirmation: "Confirmare parola"
36
+ edit:
37
+ header: "Modificare cont"
50
38
  save: "Salvati"
39
+ new:
40
+ create: "TODO Create"
41
+ header: "TODO Add a user"
42
+ create:
43
+ success: "TODO User created"
44
+ delete:
45
+ removed: "TODO User '%{user}' removed successfully"
46
+ failed: "TODO Could not remove user '%{user}'"
47
+ index:
48
+ email: "Email"
49
+ name: "Nume"
50
+ edit: "Modificati"
51
+ delete: "Stergeti"
52
+ create: "TODO Create"
51
53
  posts:
52
54
  index:
53
- title:
54
- "Titlu"
55
- edit:
56
- "Modificati"
57
- delete:
58
- "Stergeti"
59
- published:
60
- "Da"
61
- not_published:
62
- "Nu e publicat"
63
- status:
64
- "Publicat ?"
55
+ title: "Titlu"
56
+ edit: "Modificati"
57
+ delete: "Stergeti"
58
+ published: "Da"
59
+ not_published: "Nu e publicat"
60
+ status: "Publicat ?"
65
61
  new:
66
- header:
67
- "Articol nou"
62
+ header: "Articol nou"
68
63
  create:
69
- created:
70
- "Articol creeat"
71
- created_with_future_date_and_cache:
72
- "Articol creeat: articolele cu data publicarii in viitor nu vor aparea decat daca stergeti cache-ul in acea zi. Cache-ul va fi generat mai devreme si nu va fi actualizat automat."
64
+ saved: "Articol creeat"
65
+ saved_with_future_date_and_cache: "Articol creeat: articolele cu data publicarii in viitor nu vor aparea decat daca stergeti cache-ul in acea zi. Cache-ul va fi generat mai devreme si nu va fi actualizat automat."
73
66
  edit:
74
- header:
75
- "Modificati"
67
+ header: "Modificati"
76
68
  update:
77
- saved_with_future_date_and_cache:
78
- "Articol salvat: articolele cu data publicarii in viitor nu vor aparea decat daca stergeti cache-ul in acea zi. Cache-ul va fi generat mai devreme si nu va fi actualizat automat."
79
- saved:
80
- "Articol salvat"
69
+ saved_with_future_date_and_cache: "Articol salvat: articolele cu data publicarii in viitor nu vor aparea decat daca stergeti cache-ul in acea zi. Cache-ul va fi generat mai devreme si nu va fi actualizat automat."
70
+ saved: "Articol salvat"
81
71
  delete:
82
- removed:
83
- "Articol sters"
84
- fail:
85
- "Articolul nu a putut fi sters!"
72
+ removed: "Articol sters"
73
+ fail: "Articolul nu a putut fi sters!"
86
74
  form:
87
- title:
88
- "Titlu"
89
- content:
90
- "Continut"
75
+ title: "Titlu"
76
+ content: "Continut"
91
77
  url:
92
- caption:
93
- "URL<br/><i> Va fi completat automat cu '%s'. Puteti alege un URL personalizat. Nu adaugati '%s' la inceputul URL-ului.</i>"
94
- generated_title:
95
- "titlul-articolului"
96
- published_at:
97
- "Publicat la data de"
98
- published:
99
- "Publicat"
100
- save:
101
- "Salvati"
102
- preview:
103
- "Vizualizare"
104
- tags:
105
- "Tag-uri <br/><i>Separate prin virgula</i>"
78
+ caption: "URL<br/><i> Va fi completat automat cu '%{default_url}'. Puteti alege un URL personalizat. Nu adaugati '%{root}' la inceputul URL-ului.</i>"
79
+ generated_title: "titlul-articolului"
80
+ published_at: "Publicat la data de"
81
+ published: "Publicat"
82
+ save: "Salvati"
83
+ preview: "Vizualizare"
84
+ close: "Inchide"
85
+ tags: "Tag-uri"
106
86
  comments:
107
87
  show:
108
- recent_comments:
109
- "Comentarii recente"
88
+ recent_comments: "Comentarii recente"
110
89
  cache:
111
90
  show:
112
91
  title: "Gestionare cache"
@@ -121,37 +100,30 @@ ro:
121
100
  explanations: "Anumite setari sunt incorecte pentru a putea folosi cache-ul din Monologue. Va rugam sa citit documentatia."
122
101
  sessions:
123
102
  new:
124
- title:
125
- "Autentificare"
126
- email:
127
- "Email"
128
- password:
129
- "Parola"
130
- button:
131
- "Autentificare"
103
+ title: "Autentificare"
104
+ email: "Email"
105
+ password: "Parola"
106
+ button: "Autentificare"
132
107
  messages:
133
- invalid:
134
- "Email sau parola gresita."
135
- logged_in:
136
- "Autentificat!"
137
- logged_out:
138
- "La revedere!"
108
+ invalid: "Email sau parola gresita."
109
+ logged_in: "Autentificat!"
110
+ logged_out: "La revedere!"
139
111
  layouts:
140
112
  monologue:
141
113
  admin:
142
114
  nav_bar:
143
- add_a_monologue:
144
- "Adaugati articol"
145
- list_monologues:
146
- "Lista articole"
147
- comments:
148
- "Comentarii"
115
+ add_a_monologue: "Adaugati articol"
116
+ list_monologues: "Lista articole"
117
+ comments: "Comentarii"
149
118
  cache: "Gestionati cache"
150
119
  edit_user_info: "Contul meu"
151
120
  settings: "Preferinte"
152
- log_out:
153
- "Iesire"
121
+ log_out: "Iesire"
122
+ users: "TODO Users"
154
123
  activerecord:
124
+ attributes:
125
+ monologue/user:
126
+ password_digest: "TODO Password confirmation"
155
127
  errors:
156
128
  format: "%{message}"
157
129
  errors:
@@ -159,21 +131,17 @@ ro:
159
131
  errors:
160
132
  models:
161
133
  full_messages: "%{message}"
162
- monologue/posts_revision:
163
- blank:
164
- "%{attribute} este necesar"
134
+ monologue/post:
135
+ blank: "%{attribute} este necesar"
136
+ taken: "%{attribute}-ul este deja folosit"
165
137
  attributes:
166
138
  published_at:
167
- blank:
168
- "'Published at' este necesar"
139
+ blank: "'Published at' este necesar"
169
140
  url:
170
- start_with_slash:
171
- "URL-ul nu poate incepe cu slash ('/')"
172
- unique:
173
- "URL-ul este deja folosit"
141
+ start_with_slash: "URL-ul nu poate incepe cu slash ('/')"
174
142
  monologue/user:
175
- blank:
176
- "%{attribute} este necesar"
143
+ blank: "%{attribute} este necesar"
144
+ taken: "TODO %{attribute} has already been taken"
177
145
  attributes:
178
146
  password:
179
147
  confirmation: "Parola si confirmarea acesteia nu sunt identice."
@@ -1,22 +1,24 @@
1
1
  Monologue::Engine.routes.draw do
2
- root :to => "posts#index"
3
- match "/page/:page", :to => "posts#index", :as => "posts_page"
4
- match "/feed" => "posts#feed", :as => "feed", :defaults => {:format => :rss}
2
+ root to: "posts#index"
3
+ get "/page/:page", to: "posts#index", as: "posts_page"
4
+ get "/feed" => "posts#feed", as: "feed", defaults: {format: :rss}
5
5
 
6
- match "/tags/:tag" =>"tags#show", :as => "tags_page"
6
+ get "/tags/:tag" =>"tags#show", as: "tags_page"
7
7
 
8
- namespace :admin, :path => "monologue" do
9
- get "/" => "posts#index", :as => "" # responds to admin_url and admin_path
8
+ namespace :admin, path: "monologue" do
9
+ get "/" => "posts#index", as: "" # responds to admin_url and admin_path
10
10
  get "logout" => "sessions#destroy"
11
11
  get "login" => "sessions#new"
12
12
  resources :sessions
13
13
  resources :posts
14
14
  resources :users
15
- get "comments" => "comments#show", :as => "comments"
15
+ get "comments" => "comments#show", as: "comments"
16
16
 
17
- get "cache" => "cache#show", :as => "cache"
17
+ get "cache" => "cache#show", as: "cache"
18
18
  delete "cache" => "cache#destroy"
19
+
20
+ match "/post/preview"=>"posts#preview", :as=>"post_preview", :via => [:put, :post]
19
21
  end
20
22
 
21
- match "*post_url" => "posts#show", :as => "post"
22
- end
23
+ get "*post_url" => "posts#show", as: "post"
24
+ end
@@ -11,7 +11,7 @@ class CreateMonologuePostsRevisions < ActiveRecord::Migration
11
11
  t.timestamps
12
12
  end
13
13
 
14
- add_index :monologue_posts_revisions, :id, :unique => true
14
+ add_index :monologue_posts_revisions, :id, unique: true
15
15
  add_index :monologue_posts_revisions, :published_at
16
16
  add_index :monologue_posts_revisions, :post_id
17
17
  end
@@ -1,6 +1,6 @@
1
1
  class JoinPostsAndTags < ActiveRecord::Migration
2
2
  def change
3
- create_table :posts_tags, :id=>false do |t|
3
+ create_table :posts_tags, id:false do |t|
4
4
  t.integer :post_id,:tag_id
5
5
  end
6
6
  end