publify_core 9.0.0 → 9.0.1

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.

Potentially problematic release.


This version of publify_core might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1f81670a189d8b1a57d349dc688c93340d586128
4
- data.tar.gz: 5fd4da9990342b133e045b7a797564407dbf915d
3
+ metadata.gz: 1a1cf89cac6e217d23be79402f8ea4fab3ef6d88
4
+ data.tar.gz: 1c7a95fab11db0e9c95a10b21094f59d959b7d8b
5
5
  SHA512:
6
- metadata.gz: a69c04c575796c90ac2df1c7d7de537c328f6633e93e94833896efb27c355239c8a5d211bd9b3fb4938c45d847cf38323fca36ed4a1b17a96ec082bb2b6415a2
7
- data.tar.gz: 0f4331c8fdb2fdc2c1bc2f1b61ed7cc0918bf195a1afe1f794adbb1f8d40e18b5cc077ef4e19a534702ea66448b6bda267629c4ea8f7939b72005bca7ff0b84f
6
+ metadata.gz: f41c5ddd206410b9c6fbe1a9849a811e0fc074c9092924c1725e0a03f498807eb84e2c43b4f52d527497901d58bbda91b3293d5c492b6cd7077c2bc3aef18f82
7
+ data.tar.gz: a56f839f4b1cff29318ffcd76fe6c1f4e680474534bd54d9ae184e28b4c1fe7e24400f2ce2ec46010cd382dfeae22080a5ddb0324dca648fcca5a8b9fcba654d
data/CHANGELOG.md CHANGED
@@ -1,70 +1,79 @@
1
1
  # Changelog
2
2
 
3
+ ## 9.0.1
4
+
5
+ * Remove link_to_author setting: author email is no longer shown. Whoever
6
+ really wants to have it shown should create a new theme (mvz)
7
+ * Update dependencies (mvz)
8
+ * Make Devise use the correct layout (mvz)
9
+ * Ensure email parameter is processed correctly on sign up (mvz)
10
+ * Correctly serve js files from themes (cantin)
11
+
3
12
  ## 9.0.0
4
13
 
5
- * Replace page caching with fragment caching
6
- * Replace home-grown state machine with aasm
7
- * Remove automigration. Users should run db:migrate themselves
8
- * Let first-run users pick their own password instead of generating one
14
+ * Replace page caching with fragment caching (mvz)
15
+ * Replace home-grown state machine with aasm (mvz)
16
+ * Remove automigration. Users should run db:migrate themselves (mvz)
17
+ * Let first-run users pick their own password instead of generating one (mvz)
9
18
 
10
19
  * Dependencies
11
- - Update dependencies
12
- - Drop support for Ruby 2.1
20
+ - Update dependencies (mvz)
21
+ - Drop support for Ruby 2.1 (mvz)
13
22
 
14
23
  * Removing of old/outdated functionality
15
- - Remove support for feedburner
16
- - Drop old redirects
17
- - Remove RSD end point
24
+ - Remove support for feedburner (mvz)
25
+ - Drop old redirects (mvz)
26
+ - Remove RSD end point (mvz)
18
27
 
19
28
  * Feedback
20
- - Stop sending trackbacks and pingbacks
21
- - Stop accepting trackbacks
29
+ - Stop sending trackbacks and pingbacks (mvz)
30
+ - Stop accepting trackbacks (mvz)
22
31
 
23
32
  * Improve Atom/RSS feeds
24
- - Fix URLs used for resources
25
- - Fix URL/alternate links to not just point to the site root
26
- - Unify comment and trackback feeds into feedback feed
27
- - Add caching for feeds
28
- - Fix atom entry publication date
29
- - Fix ordering of feedback feed by using created_at
33
+ - Fix URLs used for resources (mvz)
34
+ - Fix URL/alternate links to not just point to the site root (mvz)
35
+ - Unify comment and trackback feeds into feedback feed (mvz)
36
+ - Add caching for feeds (mvz)
37
+ - Fix atom entry publication date (mvz)
38
+ - Fix ordering of feedback feed by using created_at (mvz)
30
39
 
31
40
  * Bug fixes
32
- - Fix user resource image display when using Fog
33
- - Fix sending of welcome email
34
- - Fix Tag page description
35
- - Handle setting published_at to blank
36
- - Handle preview of articles without publication date
37
- - Include CSRF meta tag so remote forms work
38
- - Fix sidebar field rendering in admin
39
- - Fix formatting of settings forms in admin
41
+ - Fix user resource image display when using Fog (mvz)
42
+ - Fix sending of welcome email (mvz)
43
+ - Fix Tag page description (mvz)
44
+ - Handle setting published_at to blank (mvz)
45
+ - Handle preview of articles without publication date (mvz)
46
+ - Include CSRF meta tag so remote forms work (mvz)
47
+ - Fix sidebar field rendering in admin (mvz)
48
+ - Fix formatting of settings forms in admin (mvz)
40
49
 
41
50
  * Code improvements
42
- - Performance improvements
43
- - Improve tags controller
44
- - Clean up archives and authors page code
45
- - Unify content models more to improve performance when mixing models
51
+ - Performance improvements (mvz)
52
+ - Improve tags controller (mvz)
53
+ - Clean up archives and authors page code (mvz)
54
+ - Unify content models more to improve performance when mixing models (mvz)
46
55
 
47
56
  ## 9.0.0.pre6 / 2016-12-23
48
57
 
49
- * Remove now-broken caching of theme assets
50
- * Remove cache invalidation support code from content
58
+ * Remove now-broken caching of theme assets (mvz)
59
+ * Remove cache invalidation support code from content (mvz)
51
60
 
52
61
  ## 9.0.0.pre5 / 2016-12-17
53
62
 
54
- * Update dependencies
63
+ * Update dependencies (mvz)
55
64
  * Remove activerecord-session_store. The main application should decide on the
56
- store to use.
57
- * Remove unused translations
65
+ store to use (mvz)
66
+ * Remove unused translations (mvz)
58
67
 
59
68
  ## 9.0.0.pre4
60
69
 
61
- * Ensure theme files are part of the gem.
70
+ * Ensure theme files are part of the gem (mvz)
62
71
 
63
72
  ## 9.0.0.pre3
64
73
 
65
- * Update to Rails 5.0
74
+ * Update to Rails 5.0 (mvz)
66
75
  * Remove page caching since the released version of actionpack-page_caching is
67
- incompatible with Rails 5.
76
+ incompatible with Rails 5 (mvz)
68
77
 
69
78
  ## 9.0.0.pre2
70
79
 
@@ -2,15 +2,9 @@ require 'cancancan'
2
2
 
3
3
  class BaseController < ApplicationController
4
4
  before_action :fire_triggers, :load_lang, :set_paths
5
- before_action :configure_permitted_parameters, if: :devise_controller?
6
5
 
7
6
  private
8
7
 
9
- def configure_permitted_parameters
10
- # TODO: Check if this is still needed
11
- devise_parameter_sanitizer.permit(:sign_up, keys: [:email])
12
- end
13
-
14
8
  def login_required
15
9
  authenticate_user! && authorize!(params[:action], params[:controller])
16
10
  end
@@ -1,10 +1,13 @@
1
1
  class ThemeController < ContentController
2
+ # Allow javascripts via Get request
3
+ skip_before_action :verify_authenticity_token, only: :javascripts
4
+
2
5
  def stylesheets
3
6
  render_theme_item(:stylesheets, params[:filename], 'text/css; charset=utf-8')
4
7
  end
5
8
 
6
- def javascript
7
- render_theme_item(:javascript, params[:filename], 'text/javascript; charset=utf-8')
9
+ def javascripts
10
+ render_theme_item(:javascripts, params[:filename], 'text/javascript; charset=utf-8')
8
11
  end
9
12
 
10
13
  def images
@@ -22,18 +22,6 @@ module AuthorsHelper
22
22
  end
23
23
 
24
24
  def author_link(article)
25
- return h(article.author) if just_author?(article.user)
26
- return h(article.user.name) if just_name?(article.user)
27
- content_tag(:a, href: "mailto:#{h article.user.email}") { h(article.user.name) }
28
- end
29
-
30
- private
31
-
32
- def just_author?(author)
33
- author.nil? || author.name.blank?
34
- end
35
-
36
- def just_name?(author)
37
- author.present? && !this_blog.link_to_author
25
+ h(article.author_name)
38
26
  end
39
27
  end
@@ -31,6 +31,11 @@ module BaseHelper
31
31
  stylesheet_link_tag "/stylesheets/theme/#{name}.css" if File.exist? src
32
32
  end
33
33
 
34
+ def themeable_javascript_include_tag(name)
35
+ src = this_blog.current_theme.path + "/javascripts/#{name}.js"
36
+ javascript_include_tag "/javascripts/theme/#{name}.js" if File.exist? src
37
+ end
38
+
34
39
  def render_to_string(*args, &block)
35
40
  controller.send(:render_to_string, *args, &block)
36
41
  end
data/app/models/blog.rb CHANGED
@@ -54,7 +54,6 @@ class Blog < ActiveRecord::Base
54
54
  setting :default_allow_pings, :boolean, false
55
55
  setting :default_allow_comments, :boolean, true
56
56
  setting :default_moderate_comments, :boolean, false
57
- setting :link_to_author, :boolean, false
58
57
  setting :show_extended_on_rss, :boolean, true # deprecated but still needed for backward compatibility
59
58
  setting :hide_extended_on_rss, :boolean, false
60
59
  setting :theme, :string, 'plain'
@@ -45,6 +45,14 @@ class Content < ActiveRecord::Base
45
45
  end
46
46
  end
47
47
 
48
+ def author_name
49
+ if user.present? && user.name.present?
50
+ user.name
51
+ else
52
+ author
53
+ end
54
+ end
55
+
48
56
  # Set the text filter for this object.
49
57
  # NOTE: Due to how Rails injects association methods, this cannot be put in ContentBase
50
58
  # TODO: Allowing assignment of a string here is not very clean.
@@ -109,16 +117,11 @@ class Content < ActiveRecord::Base
109
117
  self[:whiteboard] ||= {}
110
118
  end
111
119
 
112
- def link_to_author?
113
- user.email.present? && blog.link_to_author
114
- end
115
-
116
120
  def get_rss_description
117
121
  return '' unless blog.rss_description
118
- return '' unless respond_to?(:user) && user && user.name
119
122
 
120
123
  rss_desc = blog.rss_description_text
121
- rss_desc.gsub!('%author%', user.name)
124
+ rss_desc.gsub!('%author%', author_name)
122
125
  rss_desc.gsub!('%blog_url%', blog.base_url)
123
126
  rss_desc.gsub!('%blog_name%', blog.blog_name)
124
127
  rss_desc.gsub!('%permalink_url%', permalink_url)
@@ -2,8 +2,7 @@ xml.instruct! :xml, version: '1.0', encoding: 'UTF-8'
2
2
  xml.instruct! 'xml-stylesheet', type: 'text/css', href: url_for('/stylesheets/rss.css')
3
3
 
4
4
  xml.rss 'version' => '2.0', 'xmlns:dc' => 'http://purl.org/dc/elements/1.1/',
5
- 'xmlns:atom' => 'http://www.w3.org/2005/Atom',
6
- 'xmlns:trackback' => 'http://madskills.com/public/xml/rss/module/trackback/' do
5
+ 'xmlns:atom' => 'http://www.w3.org/2005/Atom' do
7
6
  xml.channel do
8
7
  xml.title feed_title
9
8
  xml.link @article.permalink_url
@@ -2,8 +2,7 @@ xml.instruct! :xml, version: '1.0', encoding: 'UTF-8'
2
2
  xml.instruct! 'xml-stylesheet', type: 'text/css', href: url_for('/stylesheets/rss.css')
3
3
 
4
4
  xml.rss 'version' => '2.0', 'xmlns:dc' => 'http://purl.org/dc/elements/1.1/',
5
- 'xmlns:atom' => 'http://www.w3.org/2005/Atom',
6
- 'xmlns:trackback' => 'http://madskills.com/public/xml/rss/module/trackback/' do
5
+ 'xmlns:atom' => 'http://www.w3.org/2005/Atom' do
7
6
  xml.channel do
8
7
  xml.title feed_title
9
8
  xml.link this_blog.base_url
@@ -2,8 +2,7 @@ xml.instruct! :xml, version: '1.0', encoding: 'UTF-8'
2
2
  xml.instruct! 'xml-stylesheet', type: 'text/css', href: url_for('/stylesheets/rss.css')
3
3
 
4
4
  xml.rss 'version' => '2.0', 'xmlns:dc' => 'http://purl.org/dc/elements/1.1/',
5
- 'xmlns:atom' => 'http://www.w3.org/2005/Atom',
6
- 'xmlns:trackback' => 'http://madskills.com/public/xml/rss/module/trackback/' do
5
+ 'xmlns:atom' => 'http://www.w3.org/2005/Atom' do
7
6
  xml.channel do
8
7
  xml.title feed_title
9
8
  xml.link this_blog.base_url
@@ -2,8 +2,7 @@ xml.instruct! :xml, version: '1.0', encoding: 'UTF-8'
2
2
  xml.instruct! 'xml-stylesheet', type: 'text/css', href: url_for('/stylesheets/rss.css')
3
3
 
4
4
  xml.rss 'version' => '2.0', 'xmlns:dc' => 'http://purl.org/dc/elements/1.1/',
5
- 'xmlns:atom' => 'http://www.w3.org/2005/Atom',
6
- 'xmlns:trackback' => 'http://madskills.com/public/xml/rss/module/trackback/' do
5
+ 'xmlns:atom' => 'http://www.w3.org/2005/Atom' do
7
6
  xml.channel do
8
7
  xml.title feed_title
9
8
  xml.link this_blog.base_url
@@ -3,6 +3,7 @@
3
3
  <head>
4
4
  <%= render 'shared/page_header' %>
5
5
  <%= themeable_stylesheet_link_tag :theme %>
6
+ <%= themeable_javascript_include_tag :theme %>
6
7
  <meta name="viewport" content="width=device-width, initial-scale=1">
7
8
  <title><%=h page_title %></title>
8
9
  </head>
@@ -1,17 +1,6 @@
1
1
  feed.entry item, id: "urn:uuid:#{item.guid}", published: item.published_at, url: item.permalink_url do |entry|
2
2
  entry.author do
3
- name = begin
4
- item.user.name
5
- rescue
6
- item.author
7
- end
8
- email = begin
9
- item.user.email
10
- rescue
11
- nil
12
- end
13
- entry.name name
14
- entry.email email unless email.blank? || !this_blog.link_to_author
3
+ entry.name item.author_name
15
4
  end
16
5
 
17
6
  if item.is_a?(Note)
@@ -8,7 +8,7 @@ xm.item do
8
8
  xm.description content_html + item.get_rss_description
9
9
  xm.pubDate item.published_at.rfc822
10
10
  xm.guid "urn:uuid:#{item.guid}", 'isPermaLink' => 'false'
11
- xm.author "#{item.user.email} (#{item.user.name})" if item.link_to_author?
11
+ xm.dc :creator, item.author_name
12
12
 
13
13
  if item.is_a?(Article)
14
14
  xm.comments(item.permalink_url('comments'))
data/config/routes.rb CHANGED
@@ -48,7 +48,7 @@ Rails.application.routes.draw do
48
48
  # ThemeController
49
49
  scope controller: 'theme', filename: /.*/ do
50
50
  get 'stylesheets/theme/:filename', action: 'stylesheets', format: false
51
- get 'javascripts/theme/:filename', action: 'javascript', format: false
51
+ get 'javascripts/theme/:filename', action: 'javascripts', format: false
52
52
  get 'images/theme/:filename', action: 'images', format: false
53
53
  get 'fonts/theme/:filename', action: 'fonts', format: false
54
54
  end
@@ -5,6 +5,11 @@ module PublifyCore
5
5
  generators.fixture_replacement :factory_girl, dir: 'spec/factories'
6
6
  end
7
7
 
8
+ config.to_prepare do
9
+ DeviseController.layout 'accounts'
10
+ DeviseController.before_action { devise_parameter_sanitizer.permit(:sign_up, keys: [:email]) }
11
+ end
12
+
8
13
  initializer 'publify_core.assets.precompile' do |app|
9
14
  app.config.assets.precompile += %w(
10
15
  publify.js
@@ -1,3 +1,3 @@
1
1
  module PublifyCore
2
- VERSION = '9.0.0'
2
+ VERSION = '9.0.1'
3
3
  end
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: publify_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.0.0
4
+ version: 9.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matijs van Zuijlen
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2017-07-29 00:00:00.000000000 Z
14
+ date: 2017-08-31 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -145,14 +145,14 @@ dependencies:
145
145
  requirements:
146
146
  - - "~>"
147
147
  - !ruby/object:Gem::Version
148
- version: 1.1.0
148
+ version: 1.2.0
149
149
  type: :runtime
150
150
  prerelease: false
151
151
  version_requirements: !ruby/object:Gem::Requirement
152
152
  requirements:
153
153
  - - "~>"
154
154
  - !ruby/object:Gem::Version
155
- version: 1.1.0
155
+ version: 1.2.0
156
156
  - !ruby/object:Gem::Dependency
157
157
  name: dynamic_form
158
158
  requirement: !ruby/object:Gem::Requirement
@@ -187,14 +187,14 @@ dependencies:
187
187
  requirements:
188
188
  - - "~>"
189
189
  - !ruby/object:Gem::Version
190
- version: 1.3.0
190
+ version: 1.4.0
191
191
  type: :runtime
192
192
  prerelease: false
193
193
  version_requirements: !ruby/object:Gem::Requirement
194
194
  requirements:
195
195
  - - "~>"
196
196
  - !ruby/object:Gem::Version
197
- version: 1.3.0
197
+ version: 1.4.0
198
198
  - !ruby/object:Gem::Dependency
199
199
  name: jquery-rails
200
200
  requirement: !ruby/object:Gem::Requirement
@@ -859,6 +859,7 @@ files:
859
859
  - lib/theme.rb
860
860
  - lib/transforms.rb
861
861
  - themes/plain/about.markdown
862
+ - themes/plain/javascripts/theme.js
862
863
  - themes/plain/preview.png
863
864
  - themes/plain/stylesheets/theme.css
864
865
  homepage: https://publify.co
@@ -881,7 +882,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
881
882
  version: '0'
882
883
  requirements: []
883
884
  rubyforge_project:
884
- rubygems_version: 2.6.12
885
+ rubygems_version: 2.6.11
885
886
  signing_key:
886
887
  specification_version: 4
887
888
  summary: Core engine for the Publify blogging system.