ecrire 0.22.1 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.travis.yml +5 -0
  4. data/Gemfile +19 -0
  5. data/README.md +2 -0
  6. data/Rakefile +1 -1
  7. data/lib/ecrire/app/assets/javascripts/admin/editor/content.coffee +46 -76
  8. data/lib/ecrire/app/assets/javascripts/admin/editor/ext.coffee +3 -0
  9. data/lib/ecrire/app/assets/javascripts/admin/editor/extensions/clipboard.coffee +2 -1
  10. data/lib/ecrire/app/assets/javascripts/admin/editor/extensions/code.coffee +1 -2
  11. data/lib/ecrire/app/assets/javascripts/admin/editor/extensions/image.coffee +73 -1
  12. data/lib/ecrire/app/assets/javascripts/admin/editor/parsers/image.coffee +6 -115
  13. data/lib/ecrire/app/assets/javascripts/admin/editor.coffee +1 -0
  14. data/lib/ecrire/app/assets/javascripts/admin/{editor/navigation → navigation}/delete.js.coffee +1 -2
  15. data/lib/ecrire/app/assets/javascripts/admin/{editor/navigation → navigation}/draft.js.coffee +1 -3
  16. data/lib/ecrire/app/assets/javascripts/admin/{editor/navigation → navigation}/help.js.coffee +1 -1
  17. data/lib/ecrire/app/assets/javascripts/admin/{editor/navigation → navigation}/save.js.coffee +2 -2
  18. data/lib/ecrire/app/assets/javascripts/admin/{editor/navigation → navigation}/sticky.js.coffee +1 -2
  19. data/lib/ecrire/app/assets/javascripts/admin/{editor/navigation → navigation}/toggle.js.coffee +1 -2
  20. data/lib/ecrire/app/assets/javascripts/admin/posts/header.coffee +96 -40
  21. data/lib/ecrire/app/assets/javascripts/admin/posts/new.js.coffee +1 -2
  22. data/lib/ecrire/app/assets/javascripts/admin/posts/tag.js.coffee +7 -0
  23. data/lib/ecrire/app/assets/javascripts/admin/posts/tags.js.coffee +15 -0
  24. data/lib/ecrire/app/assets/javascripts/admin/posts/title.coffee +38 -9
  25. data/lib/ecrire/app/assets/javascripts/admin/tags/list.js.coffee +34 -0
  26. data/lib/ecrire/app/assets/javascripts/admin.js +1 -1
  27. data/lib/ecrire/app/assets/javascripts/application.js +2 -3
  28. data/lib/ecrire/app/assets/javascripts/shared/overlay.js.coffee +1 -2
  29. data/lib/ecrire/app/assets/javascripts/shared/popup.js.coffee +1 -2
  30. data/lib/ecrire/app/assets/stylesheets/admin/base.css.scss +1 -2
  31. data/lib/ecrire/app/assets/stylesheets/admin/editor/base.css.scss +0 -7
  32. data/lib/ecrire/app/assets/stylesheets/admin/editor/content.css.scss +30 -12
  33. data/lib/ecrire/app/assets/stylesheets/admin/editor/header.css.scss +154 -32
  34. data/lib/ecrire/app/assets/stylesheets/admin/posts.css.scss +8 -1
  35. data/lib/ecrire/app/assets/stylesheets/admin/tags.css.scss +78 -0
  36. data/lib/ecrire/app/assets/stylesheets/admin/title.css.scss +51 -0
  37. data/lib/ecrire/app/assets/stylesheets/admin/variables.css.scss +3 -0
  38. data/lib/ecrire/app/assets/stylesheets/shared/popup.css.scss +2 -0
  39. data/lib/ecrire/app/controllers/admin/application_controller.rb +6 -0
  40. data/lib/ecrire/app/controllers/admin/images_controller.rb +5 -6
  41. data/lib/ecrire/app/controllers/admin/posts/tags_controller.rb +35 -0
  42. data/lib/ecrire/app/controllers/admin/posts_controller.rb +13 -12
  43. data/lib/ecrire/app/controllers/admin/tags_controller.rb +4 -0
  44. data/lib/ecrire/app/controllers/admin/titles_controller.rb +39 -0
  45. data/lib/ecrire/app/controllers/application_controller.rb +13 -3
  46. data/lib/ecrire/app/controllers/ecrire/posts_controller.rb +6 -5
  47. data/lib/ecrire/app/helpers/posts_helper.rb +0 -12
  48. data/lib/ecrire/app/models/admin/image.rb +4 -7
  49. data/lib/ecrire/app/models/admin/post.rb +2 -7
  50. data/lib/ecrire/app/models/admin/tag.rb +4 -0
  51. data/lib/ecrire/app/models/admin/title.rb +4 -0
  52. data/lib/ecrire/app/models/post.rb +30 -22
  53. data/lib/ecrire/app/models/tag.rb +5 -0
  54. data/lib/ecrire/app/models/title.rb +62 -0
  55. data/lib/ecrire/app/views/admin/images/errors.json.jbuilder +1 -0
  56. data/lib/ecrire/app/views/admin/posts/edit.html.erb +61 -21
  57. data/lib/ecrire/app/views/admin/posts/header/_dropping.html.erb +12 -0
  58. data/lib/ecrire/app/views/admin/posts/header/_error.html.erb +18 -0
  59. data/lib/ecrire/app/views/admin/posts/header/_uploading.html.erb +21 -0
  60. data/lib/ecrire/app/views/admin/posts/new.html.erb +23 -0
  61. data/lib/ecrire/app/views/admin/posts/tags/_tag.html.erb +10 -0
  62. data/lib/ecrire/app/views/admin/posts/tags/create.js.erb +1 -0
  63. data/lib/ecrire/app/views/admin/posts/tags/dialog/_tag.html.erb +3 -0
  64. data/lib/ecrire/app/views/admin/posts/tags/dialog/_tags.html.erb +12 -0
  65. data/lib/ecrire/app/views/admin/posts/tags/index.js.erb +1 -0
  66. data/lib/ecrire/app/views/admin/posts/tags/update.js.erb +2 -0
  67. data/lib/ecrire/app/views/admin/titles/_title.html.erb +11 -0
  68. data/lib/ecrire/app/views/admin/titles/_titles.html.erb +22 -0
  69. data/lib/ecrire/app/views/admin/titles/create.js.erb +1 -0
  70. data/lib/ecrire/app/views/admin/titles/edit.js.erb +1 -0
  71. data/lib/ecrire/app/views/admin/titles/errors.js.erb +5 -0
  72. data/lib/ecrire/app/views/admin/titles/index.js.erb +1 -0
  73. data/lib/ecrire/app/views/admin/titles/update.js.erb +1 -0
  74. data/lib/ecrire/app/views/layouts/admin/application.html.erb +1 -1
  75. data/lib/ecrire/app/views/sessions/_navigation.html.erb +1 -1
  76. data/lib/ecrire/application.rb +1 -1
  77. data/lib/ecrire/config/routes.rb +2 -2
  78. data/lib/ecrire/db/migrate/20150305123321_move_labels_to_titles.rb +27 -0
  79. data/lib/ecrire/db/migrate/20150318549479_create_tags.rb +13 -0
  80. data/lib/ecrire/db/schema.rb +25 -22
  81. data/lib/ecrire/onboarding/assets/javascripts/base.js +1 -1
  82. data/lib/ecrire/onboarding/assets/javascripts/databases/information.js.coffee +1 -1
  83. data/lib/ecrire/onboarding/assets/javascripts/message.js.coffee +1 -1
  84. data/lib/ecrire/template/Gemfile +4 -3
  85. data/lib/ecrire/template/assets/javascripts/base.js.coffee +1 -0
  86. data/lib/ecrire/version.rb +1 -1
  87. data/test/editor/controllers/base_controller_test.rb +1 -0
  88. data/test/editor/models/post_test.rb +26 -56
  89. data/test/editor/models/title_test.rb +31 -0
  90. data/test/editor/test_helper.rb +2 -0
  91. data/test/fixtures/posts.yml +0 -4
  92. data/test/fixtures/tags.yml +2 -0
  93. data/test/fixtures/titles.yml +11 -0
  94. data/test/initializations/railtie_test.rb +2 -2
  95. data/test/themes/template/secrets.yml +6 -0
  96. metadata +49 -24
  97. data/lib/ecrire/app/assets/stylesheets/admin/editor/image.css.scss +0 -58
  98. data/lib/ecrire/app/controllers/admin/labels_controller.rb +0 -18
  99. data/lib/ecrire/app/models/label.rb +0 -3
  100. data/lib/ecrire/app/views/admin/images/errors.js.erb +0 -1
  101. data/lib/ecrire/app/views/admin/posts/title.html.erb +0 -10
  102. data/test/editor/controllers/admin/images_controller_test.rb +0 -6
  103. data/test/editor/controllers/admin/posts_controller_test.rb +0 -90
  104. data/test/editor/controllers/images_controller_test.rb +0 -2
  105. data/test/editor/controllers/partials_controller_test.rb +0 -2
  106. data/test/editor/controllers/posts_controller_test.rb +0 -21
  107. data/test/editor/helpers/posts_helper_test.rb +0 -3
  108. data/test/editor/models/partial_test.rb +0 -4
  109. data/test/fixtures/partials.yml +0 -9
  110. /data/lib/ecrire/app/views/admin/images/{update.js.erb → create.js.erb} +0 -0
  111. /data/{lib/ecrire/template/assets/javascripts/post.js.coffee → test/themes/onboarding/.keep} +0 -0
@@ -0,0 +1,31 @@
1
+ require 'editor/test_helper'
2
+ require 'byebug'
3
+
4
+ class TitleTest < ActiveSupport::TestCase
5
+ test "length of name" do
6
+ title = Title.new(name: '', post: posts(:published))
7
+ assert !title.save
8
+ assert title.errors.has_key?(:name)
9
+
10
+ title.name = 'a'
11
+ assert title.save, title.errors.full_messages.to_sentence
12
+ end
13
+
14
+ test "uniqueness" do
15
+ persisted = titles(:draft)
16
+ title = Title.new(name: persisted.name, post: posts(:published))
17
+ assert !title.save, title.errors.full_messages.to_a
18
+ assert title.errors.has_key?(:uniqueness), title.errors.full_messages.to_a
19
+ end
20
+
21
+ test "editing only possible when it's a draft" do
22
+ title = titles(:draft)
23
+ title.name = "Changing it."
24
+ assert title.save, title.errors.full_messages.to_sentence
25
+
26
+ title = titles(:published_history)
27
+ title.name = "Shouldn't change"
28
+ assert !title.save
29
+ end
30
+
31
+ end
@@ -13,6 +13,7 @@ class ActiveSupport::TestCase
13
13
  Dir.chdir Dir.pwd + '/test/themes/template' do
14
14
  Ecrire::Application.initialize!
15
15
  ::User.first_or_create!(email: 'test@test.ca', password: 123456)
16
+
16
17
  end
17
18
  exit!
18
19
  end
@@ -21,6 +22,7 @@ class ActiveSupport::TestCase
21
22
 
22
23
  Dir.chdir Dir.pwd + '/test/themes/template' do
23
24
  Ecrire::Application.initialize!
25
+ Rails.application.secrets['s3'] ||= {}
24
26
  end
25
27
 
26
28
  include Warden::Test::Helpers
@@ -5,12 +5,8 @@
5
5
  # below each fixture, per the syntax in the comments below
6
6
  #
7
7
  published:
8
- title: "Test"
9
- slug: "test"
10
8
  content: "Test"
11
9
  published_at: <%= 2.days.ago %>
12
10
 
13
11
  draft:
14
- title: "A draft"
15
- slug: "a-draft"
16
12
  content: "A draft"
@@ -0,0 +1,2 @@
1
+ ruby:
2
+ name: Ruby
@@ -0,0 +1,11 @@
1
+ published_history:
2
+ name: "An old title"
3
+ post: published
4
+
5
+ published_current:
6
+ name: "Current Title"
7
+ post: published
8
+
9
+ draft:
10
+ name: "A draft"
11
+ post: draft
@@ -14,8 +14,8 @@ class RailtieTest < ActiveSupport::TestCase
14
14
  assert !Ecrire::Railtie.include?(Ecrire::Railtie::Theme)
15
15
  end
16
16
 
17
- test 'not configured if no user is present in the database' do
18
- Dir.chdir 'test/themes/template' do
17
+ test 'load the normal railtie if a secrets.yml can be found' do
18
+ Dir.chdir 'test/themes/onboarding' do
19
19
 
20
20
  require 'ecrire'
21
21
  Ecrire::Application.initialize!
@@ -0,0 +1,6 @@
1
+ test:
2
+ adapter: postgresql
3
+ database: ecrire_test
4
+ user: postgres
5
+ secret_key: "2370 128u3o2ujwoi12jw122e12e"
6
+ secret_key_base: "'Mlkasj alskjkdsla jsdkaljsadlkjasd'"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecrire
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.1
4
+ version: 0.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pier-Olivier Thibault
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-08 00:00:00.000000000 Z
11
+ date: 2015-03-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Blog engine on Rails
14
14
  email: pothibo@gmail.com
@@ -18,6 +18,7 @@ extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
20
  - ".gitignore"
21
+ - ".travis.yml"
21
22
  - Gemfile
22
23
  - LICENCE
23
24
  - README.md
@@ -26,26 +27,30 @@ files:
26
27
  - ecrire.gemspec
27
28
  - lib/ecrire.rb
28
29
  - lib/ecrire/app/assets/javascripts/admin.js
30
+ - lib/ecrire/app/assets/javascripts/admin/editor.coffee
29
31
  - lib/ecrire/app/assets/javascripts/admin/editor/content.coffee
30
32
  - lib/ecrire/app/assets/javascripts/admin/editor/ext.coffee
31
33
  - lib/ecrire/app/assets/javascripts/admin/editor/extensions/clipboard.coffee
32
34
  - lib/ecrire/app/assets/javascripts/admin/editor/extensions/code.coffee
33
35
  - lib/ecrire/app/assets/javascripts/admin/editor/extensions/image.coffee
34
- - lib/ecrire/app/assets/javascripts/admin/editor/navigation/delete.js.coffee
35
- - lib/ecrire/app/assets/javascripts/admin/editor/navigation/draft.js.coffee
36
- - lib/ecrire/app/assets/javascripts/admin/editor/navigation/help.js.coffee
37
- - lib/ecrire/app/assets/javascripts/admin/editor/navigation/save.js.coffee
38
- - lib/ecrire/app/assets/javascripts/admin/editor/navigation/sticky.js.coffee
39
- - lib/ecrire/app/assets/javascripts/admin/editor/navigation/toggle.js.coffee
40
36
  - lib/ecrire/app/assets/javascripts/admin/editor/parsers/code.coffee
41
37
  - lib/ecrire/app/assets/javascripts/admin/editor/parsers/heading.coffee
42
38
  - lib/ecrire/app/assets/javascripts/admin/editor/parsers/image.coffee
43
39
  - lib/ecrire/app/assets/javascripts/admin/editor/parsers/link.coffee
44
40
  - lib/ecrire/app/assets/javascripts/admin/editor/parsers/lists.coffee
45
41
  - lib/ecrire/app/assets/javascripts/admin/editor/parsers/word.coffee
42
+ - lib/ecrire/app/assets/javascripts/admin/navigation/delete.js.coffee
43
+ - lib/ecrire/app/assets/javascripts/admin/navigation/draft.js.coffee
44
+ - lib/ecrire/app/assets/javascripts/admin/navigation/help.js.coffee
45
+ - lib/ecrire/app/assets/javascripts/admin/navigation/save.js.coffee
46
+ - lib/ecrire/app/assets/javascripts/admin/navigation/sticky.js.coffee
47
+ - lib/ecrire/app/assets/javascripts/admin/navigation/toggle.js.coffee
46
48
  - lib/ecrire/app/assets/javascripts/admin/posts/header.coffee
47
49
  - lib/ecrire/app/assets/javascripts/admin/posts/new.js.coffee
50
+ - lib/ecrire/app/assets/javascripts/admin/posts/tag.js.coffee
51
+ - lib/ecrire/app/assets/javascripts/admin/posts/tags.js.coffee
48
52
  - lib/ecrire/app/assets/javascripts/admin/posts/title.coffee
53
+ - lib/ecrire/app/assets/javascripts/admin/tags/list.js.coffee
49
54
  - lib/ecrire/app/assets/javascripts/application.js
50
55
  - lib/ecrire/app/assets/javascripts/shared/overlay.js.coffee
51
56
  - lib/ecrire/app/assets/javascripts/shared/popup.js.coffee
@@ -58,7 +63,6 @@ files:
58
63
  - lib/ecrire/app/assets/stylesheets/admin/editor/base.css.scss
59
64
  - lib/ecrire/app/assets/stylesheets/admin/editor/content.css.scss
60
65
  - lib/ecrire/app/assets/stylesheets/admin/editor/header.css.scss
61
- - lib/ecrire/app/assets/stylesheets/admin/editor/image.css.scss
62
66
  - lib/ecrire/app/assets/stylesheets/admin/editor/publish.css.scss
63
67
  - lib/ecrire/app/assets/stylesheets/admin/editor/save.css.scss
64
68
  - lib/ecrire/app/assets/stylesheets/admin/images.css.scss
@@ -67,6 +71,8 @@ files:
67
71
  - lib/ecrire/app/assets/stylesheets/admin/mixins/form.css.scss
68
72
  - lib/ecrire/app/assets/stylesheets/admin/navigation.css.scss
69
73
  - lib/ecrire/app/assets/stylesheets/admin/posts.css.scss
74
+ - lib/ecrire/app/assets/stylesheets/admin/tags.css.scss
75
+ - lib/ecrire/app/assets/stylesheets/admin/title.css.scss
70
76
  - lib/ecrire/app/assets/stylesheets/admin/variables.css.scss
71
77
  - lib/ecrire/app/assets/stylesheets/application.css.scss
72
78
  - lib/ecrire/app/assets/stylesheets/sessions.css.scss
@@ -77,10 +83,12 @@ files:
77
83
  - lib/ecrire/app/controllers/admin/application_controller.rb
78
84
  - lib/ecrire/app/controllers/admin/configurations/images_controller.rb
79
85
  - lib/ecrire/app/controllers/admin/images_controller.rb
80
- - lib/ecrire/app/controllers/admin/labels_controller.rb
81
86
  - lib/ecrire/app/controllers/admin/partials_controller.rb
87
+ - lib/ecrire/app/controllers/admin/posts/tags_controller.rb
82
88
  - lib/ecrire/app/controllers/admin/posts_controller.rb
83
89
  - lib/ecrire/app/controllers/admin/properties_controller.rb
90
+ - lib/ecrire/app/controllers/admin/tags_controller.rb
91
+ - lib/ecrire/app/controllers/admin/titles_controller.rb
84
92
  - lib/ecrire/app/controllers/application_controller.rb
85
93
  - lib/ecrire/app/controllers/concerns/.keep
86
94
  - lib/ecrire/app/controllers/ecrire/posts_controller.rb
@@ -104,35 +112,54 @@ files:
104
112
  - lib/ecrire/app/models/admin/image.rb
105
113
  - lib/ecrire/app/models/admin/partial.rb
106
114
  - lib/ecrire/app/models/admin/post.rb
115
+ - lib/ecrire/app/models/admin/tag.rb
116
+ - lib/ecrire/app/models/admin/title.rb
107
117
  - lib/ecrire/app/models/concerns/.keep
108
118
  - lib/ecrire/app/models/image.rb
109
- - lib/ecrire/app/models/label.rb
110
119
  - lib/ecrire/app/models/partial.rb
111
120
  - lib/ecrire/app/models/post.rb
112
121
  - lib/ecrire/app/models/property/image.rb
113
122
  - lib/ecrire/app/models/property/label.rb
123
+ - lib/ecrire/app/models/tag.rb
124
+ - lib/ecrire/app/models/title.rb
114
125
  - lib/ecrire/app/models/user.rb
115
126
  - lib/ecrire/app/strategies/password_strategy.rb
116
127
  - lib/ecrire/app/views/admin/configurations/images/complete.html.erb
117
128
  - lib/ecrire/app/views/admin/configurations/images/show.html.erb
118
129
  - lib/ecrire/app/views/admin/images/_errors.html.erb
119
130
  - lib/ecrire/app/views/admin/images/_form.html.erb
131
+ - lib/ecrire/app/views/admin/images/create.js.erb
120
132
  - lib/ecrire/app/views/admin/images/destroy.js.erb
121
- - lib/ecrire/app/views/admin/images/errors.js.erb
122
- - lib/ecrire/app/views/admin/images/update.js.erb
133
+ - lib/ecrire/app/views/admin/images/errors.json.jbuilder
123
134
  - lib/ecrire/app/views/admin/posts/_documentation.html.erb
124
135
  - lib/ecrire/app/views/admin/posts/_list.html.erb
125
136
  - lib/ecrire/app/views/admin/posts/_post.html.erb
126
137
  - lib/ecrire/app/views/admin/posts/edit.html.erb
138
+ - lib/ecrire/app/views/admin/posts/header/_dropping.html.erb
139
+ - lib/ecrire/app/views/admin/posts/header/_error.html.erb
140
+ - lib/ecrire/app/views/admin/posts/header/_uploading.html.erb
127
141
  - lib/ecrire/app/views/admin/posts/help.js.erb
128
142
  - lib/ecrire/app/views/admin/posts/index.js.erb
129
- - lib/ecrire/app/views/admin/posts/title.html.erb
143
+ - lib/ecrire/app/views/admin/posts/new.html.erb
144
+ - lib/ecrire/app/views/admin/posts/tags/_tag.html.erb
145
+ - lib/ecrire/app/views/admin/posts/tags/create.js.erb
146
+ - lib/ecrire/app/views/admin/posts/tags/dialog/_tag.html.erb
147
+ - lib/ecrire/app/views/admin/posts/tags/dialog/_tags.html.erb
148
+ - lib/ecrire/app/views/admin/posts/tags/index.js.erb
149
+ - lib/ecrire/app/views/admin/posts/tags/update.js.erb
130
150
  - lib/ecrire/app/views/admin/posts/update/content.js.erb
131
151
  - lib/ecrire/app/views/admin/posts/update/title.js.erb
132
152
  - lib/ecrire/app/views/admin/properties/image/create.js.erb
133
153
  - lib/ecrire/app/views/admin/properties/image/destroy.js.erb
134
154
  - lib/ecrire/app/views/admin/properties/label/create.js.erb
135
155
  - lib/ecrire/app/views/admin/properties/label/destroy.js.erb
156
+ - lib/ecrire/app/views/admin/titles/_title.html.erb
157
+ - lib/ecrire/app/views/admin/titles/_titles.html.erb
158
+ - lib/ecrire/app/views/admin/titles/create.js.erb
159
+ - lib/ecrire/app/views/admin/titles/edit.js.erb
160
+ - lib/ecrire/app/views/admin/titles/errors.js.erb
161
+ - lib/ecrire/app/views/admin/titles/index.js.erb
162
+ - lib/ecrire/app/views/admin/titles/update.js.erb
136
163
  - lib/ecrire/app/views/layouts/admin/application.html.erb
137
164
  - lib/ecrire/app/views/partials/show.html.erb
138
165
  - lib/ecrire/app/views/sessions/_form.html.erb
@@ -161,6 +188,8 @@ files:
161
188
  - lib/ecrire/db/migrate/20140618321984_add_properties_to_posts.rb
162
189
  - lib/ecrire/db/migrate/20150113839713_convert_markdown_in_post_content.rb
163
190
  - lib/ecrire/db/migrate/20150120093481_add_preview_to_posts.rb
191
+ - lib/ecrire/db/migrate/20150305123321_move_labels_to_titles.rb
192
+ - lib/ecrire/db/migrate/20150318549479_create_tags.rb
164
193
  - lib/ecrire/db/schema.rb
165
194
  - lib/ecrire/locales/admin/configurations/images/en.yml
166
195
  - lib/ecrire/locales/admin/en.yml
@@ -200,7 +229,6 @@ files:
200
229
  - lib/ecrire/template/Rakefile
201
230
  - lib/ecrire/template/assets/images/.keep
202
231
  - lib/ecrire/template/assets/javascripts/base.js.coffee
203
- - lib/ecrire/template/assets/javascripts/post.js.coffee
204
232
  - lib/ecrire/template/assets/stylesheets/base.css.scss
205
233
  - lib/ecrire/template/assets/stylesheets/code.css.scss
206
234
  - lib/ecrire/template/assets/stylesheets/footer.css.scss
@@ -223,32 +251,29 @@ files:
223
251
  - lib/ecrire/template/views/static/customize/_layout.html.erb
224
252
  - lib/ecrire/template/views/static/customize/_post.html
225
253
  - lib/ecrire/version.rb
226
- - test/editor/controllers/admin/images_controller_test.rb
227
- - test/editor/controllers/admin/posts_controller_test.rb
228
254
  - test/editor/controllers/base_controller_test.rb
229
- - test/editor/controllers/images_controller_test.rb
230
- - test/editor/controllers/partials_controller_test.rb
231
- - test/editor/controllers/posts_controller_test.rb
232
255
  - test/editor/controllers/sessions_controller_test.rb
233
256
  - test/editor/helpers/base_helper_test.rb
234
- - test/editor/helpers/posts_helper_test.rb
235
257
  - test/editor/models/image_test.rb
236
- - test/editor/models/partial_test.rb
237
258
  - test/editor/models/post_test.rb
259
+ - test/editor/models/title_test.rb
238
260
  - test/editor/models/user_test.rb
239
261
  - test/editor/test_helper.rb
240
262
  - test/fixtures/images.yml
241
- - test/fixtures/partials.yml
242
263
  - test/fixtures/posts.yml
264
+ - test/fixtures/tags.yml
265
+ - test/fixtures/titles.yml
243
266
  - test/fixtures/users.yml
244
267
  - test/initializations/railtie_test.rb
245
268
  - test/isolation.rb
269
+ - test/themes/onboarding/.keep
246
270
  - test/themes/template/Gemfile
247
271
  - test/themes/template/assets/javascripts/blog.js.coffee
248
272
  - test/themes/template/assets/javascripts/post.js.coffee
249
273
  - test/themes/template/assets/stylesheets/blog.css.scss
250
274
  - test/themes/template/assets/stylesheets/post.css.scss
251
275
  - test/themes/template/config.ru
276
+ - test/themes/template/secrets.yml
252
277
  - test/themes/template/views/layouts/application.html.erb
253
278
  - test/themes/template/views/posts/index.html.erb
254
279
  homepage: http://pothibo.com
@@ -271,7 +296,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
271
296
  version: '0'
272
297
  requirements: []
273
298
  rubyforge_project:
274
- rubygems_version: 2.0.14
299
+ rubygems_version: 2.2.2
275
300
  signing_key:
276
301
  specification_version: 4
277
302
  summary: Blog engine
@@ -1,58 +0,0 @@
1
- [as='Post.Header'] {
2
- @include display(flex);
3
- @include flex-direction(column);
4
- @include align-items(center);
5
- @include justify-content(center);
6
-
7
- height: 320px;
8
- margin-bottom: 4em;
9
- cursor: pointer;
10
- background-color: rgb(232, 232, 232);
11
- background-size: cover;
12
- position: relative;
13
-
14
- &.dropping div.drop.zone {
15
- border: 7px dashed #FAFAFA;
16
- }
17
- &.dropping div.wrapper {
18
- background-blend-mode: darken;
19
- }
20
-
21
- &:hover {
22
- background-color: rgb(200, 200, 200);
23
- }
24
-
25
- input {
26
- visibility: hidden;
27
- position: absolute;
28
- }
29
-
30
- div.drop.zone {
31
- border-radius: 3px;
32
- @include transition(border 0.3s);
33
- border: 7px dashed transparent;
34
- position: absolute;
35
- top: 8px;
36
- left: 8px;
37
- right: 8px;
38
- bottom: 8px;
39
- }
40
-
41
- p {
42
- text-align: center;
43
- }
44
-
45
- form.clear {
46
- position: absolute;
47
- right: 0;
48
- bottom: -2em;
49
-
50
- button {
51
- color: rgb(145, 4, 4);
52
- text-decoration: underline;
53
- &:active {
54
- color: #E80000;
55
- }
56
- }
57
- }
58
- }
@@ -1,18 +0,0 @@
1
- module Admin
2
- class LabelsController < Admin::ApplicationController
3
- def create
4
- Admin::Label.create(label_param)
5
- end
6
-
7
- protected
8
-
9
- def label_param
10
- params.require(:admin_label).permit(:name)
11
- end
12
-
13
- def post
14
- @post ||= Post.find(params[:post_id])
15
- end
16
-
17
- end
18
- end
@@ -1,3 +0,0 @@
1
- class Label < ActiveRecord::Base
2
- validates_presence_of :name, unique: true
3
- end
@@ -1 +0,0 @@
1
- e.ErrorHTML = "<%= j render('errors', errors: @image.errors ) %>".toHTML()
@@ -1,10 +0,0 @@
1
- <%= form_for Admin::Post.new, as: 'post', html: { class: %w(post new title), as: 'Posts.New' } do |f| %>
2
-
3
- <fieldset class="transparent">
4
- <%= f.text_field :title, placeholder: t('admin.posts.new.title') %>
5
- </fieldset>
6
- <%= content_tag :p, t('admin.posts.new.editable'), class: %w(transparent) %>
7
-
8
- <%= f.button :submit, class: %w(hidden) %>
9
-
10
- <% end %>
@@ -1,6 +0,0 @@
1
- require_relative '../base_controller_test'
2
-
3
- module Admin
4
- class ImagesControllerTest < BaseControllerTest
5
- end
6
- end
@@ -1,90 +0,0 @@
1
- module Admin
2
- class PostsControllerTest < BaseControllerTest
3
-
4
- def setup
5
- super
6
- proxy.set_user users(:pothibo)
7
- end
8
-
9
- test 'Validations: Error should be shown when missing the title' do
10
- end
11
-
12
- test 'Create a post' do
13
- data = {
14
- title: 'A new published post',
15
- content: 'Some Blah blah',
16
- stylesheet: 'h1 {\n text-align: center;\n }'
17
- }
18
-
19
- put :create, post: data
20
- @post = assigns(:post)
21
-
22
- assert_equal data[:title], @post.title
23
- assert_equal data[:content], @post.content
24
- assert_equal data[:stylesheet], @post.stylesheet
25
- assert_equal data[:title].parameterize, @post.slug
26
- end
27
-
28
- test 'Update a post' do
29
- data = {
30
- title: 'A new published post',
31
- content: 'Some Blah blah',
32
- stylesheet: 'h1 {\n text-align: center;\n }'
33
- }
34
-
35
- put :update, id: posts(:published).id, post: data
36
- @post = assigns(:post)
37
-
38
- assert_equal data[:title], @post.title
39
- assert_equal data[:content], @post.content
40
- assert_equal data[:stylesheet], @post.stylesheet
41
- assert_equal posts(:published).slug, @post.slug
42
-
43
-
44
- data[:slug] = ""
45
-
46
- put :update, id: posts(:published).id, post: data
47
- @post = assigns(:post)
48
-
49
- assert_equal data[:title], @post.title
50
- assert_equal data[:content], @post.content
51
- assert_equal data[:stylesheet], @post.stylesheet
52
- assert_equal @post.title.parameterize, @post.slug
53
- end
54
-
55
- test 'Saving a post should redirect to keep editing the post' do
56
- post :create, post: {'title' => 'Just a test'}
57
- record = assigns(:post)
58
- assert_redirected_to edit_admin_post_path(record.id)
59
-
60
- put :update, id: record.id, post: {'content' => 'Something to say'}
61
- assert_redirected_to edit_admin_post_path(record.id)
62
- end
63
-
64
- test 'Saving a published article should redirect to the post edit' do
65
- @post = posts(:published)
66
- put :update, id: @post.id, post: {'content' => 'Oh em G'}
67
-
68
- assert_redirected_to edit_admin_post_path(@post.id)
69
- end
70
-
71
- test 'Publishing redirects to the blog post' do
72
- data = {
73
- title: 'A new published post',
74
- content: 'Some Blah blah',
75
- stylesheet: 'h1 {\n text-align: center;\n }'
76
- }
77
- put :update, id: posts(:published).id, post: data, button: 'publish'
78
- assert assigns(:post).published?
79
- assert_redirected_to post_path(assigns(:post).published_at.year, assigns(:post).published_at.month, assigns(:post).slug)
80
- end
81
-
82
- test 'Show draft posts' do
83
- xhr :get, :index
84
- assigns(:posts).each do |post|
85
- assert !post.published?
86
- end
87
- end
88
-
89
- end
90
- end
@@ -1,2 +0,0 @@
1
- class ImagesControllerTest < BaseControllerTest
2
- end
@@ -1,2 +0,0 @@
1
- class PartialsControllerTest < BaseControllerTest
2
- end
@@ -1,21 +0,0 @@
1
- class PostsControllerTest < BaseControllerTest
2
-
3
- test "redirect if the post isn't published" do
4
- @post = posts(:draft)
5
- get :show, year: 2003, month: 1, id: @post.id
6
- assert_redirected_to :root
7
- end
8
-
9
- test "redirect if the post doesn't exist" do
10
- get :show, year: 2003, month: 1, id: -1
11
- assert_redirected_to :root
12
- end
13
-
14
- test 'Only published posts should be listed in the index' do
15
- get :index
16
- posts.each do |post|
17
- assert post.published?
18
- end
19
- end
20
-
21
- end
@@ -1,3 +0,0 @@
1
- class PostsHelperTest < BaseHelperTest
2
- end
3
-
@@ -1,4 +0,0 @@
1
- require 'editor/test_helper'
2
-
3
- class PartialTest < ActiveSupport::TestCase
4
- end
@@ -1,9 +0,0 @@
1
- # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html
2
-
3
- # This model initially had no columns defined. If you add columns to the
4
- # model remove the '{}' from the fixture names and add the columns immediately
5
- # below each fixture, per the syntax in the comments below
6
- #
7
- # column: value
8
- #
9
- # column: value