publify_core 10.0.4 → 11.0.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 +4 -4
- data/CHANGELOG.md +243 -53
- data/app/assets/javascripts/publify.js +0 -1
- data/app/assets/javascripts/publify_admin.js +10 -9
- data/app/assets/stylesheets/accounts.css.scss +0 -2
- data/app/assets/stylesheets/administration_structure.css.scss +0 -4
- data/app/assets/stylesheets/publify.css.scss +0 -1
- data/app/assets/stylesheets/publify_admin.css.scss +0 -2
- data/app/assets/stylesheets/sidebar_admin.css.scss +0 -6
- data/app/controllers/admin/articles_controller.rb +1 -1
- data/app/controllers/admin/base_controller.rb +2 -2
- data/app/controllers/admin/redirects_controller.rb +2 -2
- data/app/controllers/admin/resources_controller.rb +1 -1
- data/app/controllers/admin/seo_controller.rb +2 -2
- data/app/controllers/admin/settings_controller.rb +2 -2
- data/app/controllers/admin/tags_controller.rb +1 -1
- data/app/controllers/admin/users_controller.rb +2 -2
- data/app/controllers/articles_controller.rb +2 -5
- data/app/controllers/authors_controller.rb +0 -2
- data/app/controllers/comments_controller.rb +5 -2
- data/app/controllers/content_controller.rb +0 -4
- data/app/controllers/notes_controller.rb +1 -6
- data/app/controllers/setup_controller.rb +1 -1
- data/app/controllers/tags_controller.rb +0 -1
- data/app/controllers/users/registrations_controller.rb +1 -0
- data/app/helpers/admin/base_helper.rb +20 -13
- data/app/helpers/admin/feedback_helper.rb +4 -4
- data/app/helpers/base_helper.rb +10 -6
- data/app/helpers/xml_helper.rb +4 -0
- data/app/models/article.rb +7 -7
- data/app/models/blog.rb +3 -3
- data/app/models/comment.rb +1 -1
- data/app/models/config_manager.rb +1 -3
- data/app/models/content.rb +4 -5
- data/app/models/content_base.rb +4 -3
- data/app/models/feedback.rb +1 -1
- data/app/models/note.rb +74 -8
- data/app/models/page.rb +1 -1
- data/app/models/redirect.rb +0 -4
- data/app/models/resource.rb +1 -0
- data/app/models/sidebar.rb +6 -14
- data/app/models/tag.rb +2 -2
- data/app/models/text_filter.rb +2 -2
- data/app/models/trigger.rb +1 -1
- data/app/models/user.rb +12 -21
- data/app/uploaders/resource_uploader.rb +1 -0
- data/app/views/admin/articles/_form.html.erb +99 -105
- data/app/views/admin/articles/index.html.erb +15 -23
- data/app/views/admin/dashboard/_comment.html.erb +1 -1
- data/app/views/admin/dashboard/_comments.html.erb +4 -6
- data/app/views/admin/dashboard/_drafts.html.erb +4 -6
- data/app/views/admin/dashboard/_overview.html.erb +2 -5
- data/app/views/admin/dashboard/_welcome.html.erb +19 -19
- data/app/views/admin/dashboard/index.html.erb +3 -3
- data/app/views/admin/feedback/_button.html.erb +7 -13
- data/app/views/admin/feedback/article.html.erb +17 -17
- data/app/views/admin/feedback/edit.html.erb +17 -21
- data/app/views/admin/feedback/index.html.erb +8 -8
- data/app/views/admin/notes/_form.html.erb +5 -5
- data/app/views/admin/notes/_list.html.erb +1 -1
- data/app/views/admin/notes/_note.html.erb +1 -1
- data/app/views/admin/notes/edit.html.erb +1 -1
- data/app/views/admin/notes/index.html.erb +1 -1
- data/app/views/admin/pages/_form.html.erb +23 -27
- data/app/views/admin/post_types/_index_and_form.html.erb +5 -5
- data/app/views/admin/redirects/_index_and_form.html.erb +2 -2
- data/app/views/admin/resources/index.html.erb +20 -8
- data/app/views/admin/seo/_general.html.erb +36 -36
- data/app/views/admin/seo/_permalinks.html.erb +22 -14
- data/app/views/admin/seo/_titles.html.erb +63 -63
- data/app/views/admin/settings/display.html.erb +23 -23
- data/app/views/admin/settings/feedback.html.erb +29 -29
- data/app/views/admin/settings/index.html.erb +21 -21
- data/app/views/admin/settings/write.html.erb +18 -18
- data/app/views/admin/shared/_flash.html.erb +6 -0
- data/app/views/admin/shared/_menu.html.erb +56 -68
- data/app/views/admin/sidebar/_config.html.erb +15 -19
- data/app/views/admin/sidebar/_target.html.erb +3 -3
- data/app/views/admin/sidebar/_target_sidebar.html.erb +14 -13
- data/app/views/admin/sidebar/index.html.erb +2 -2
- data/app/views/admin/tags/_index_and_form.html.erb +3 -3
- data/app/views/admin/themes/index.html.erb +21 -19
- data/app/views/admin/users/_form.html.erb +79 -79
- data/app/views/articles/search.html.erb +1 -1
- data/app/views/layouts/accounts.html.erb +7 -9
- data/app/views/layouts/administration.html.erb +2 -2
- data/app/views/notes/show.html.erb +15 -0
- data/app/views/setup/index.html.erb +1 -1
- data/app/views/shared/_atom_item_article.atom.builder +1 -3
- data/app/views/shared/_rss_item_article.rss.builder +1 -2
- data/config/i18n-tasks.yml +0 -1
- data/config/locales/ar.yml +3 -2
- data/config/locales/da.yml +3 -2
- data/config/locales/de.yml +3 -2
- data/config/locales/en.yml +3 -2
- data/config/locales/es-MX.yml +3 -2
- data/config/locales/fr.yml +3 -2
- data/config/locales/he.yml +3 -2
- data/config/locales/it.yml +3 -2
- data/config/locales/ja.yml +3 -2
- data/config/locales/lt.yml +3 -2
- data/config/locales/nb.yml +3 -2
- data/config/locales/nl.yml +3 -2
- data/config/locales/pl.yml +3 -2
- data/config/locales/pt-BR.yml +3 -2
- data/config/locales/ro.yml +3 -2
- data/config/locales/ru.yml +3 -2
- data/config/locales/zh-CN.yml +3 -2
- data/config/locales/zh-TW.yml +3 -2
- data/config/routes.rb +0 -11
- data/db/migrate/114_fixes_buggy_articles_and_notes.rb +2 -2
- data/db/migrate/20150807134129_simplify_redirect_relations.rb +1 -1
- data/db/migrate/20160605154632_remove_profiles.rb +1 -1
- data/db/migrate/20190208152646_move_text_filter_to_name.rb +2 -2
- data/lib/format.rb +2 -2
- data/lib/publify_core/engine.rb +10 -0
- data/lib/publify_core/string_ext.rb +1 -13
- data/lib/publify_core/text_filter/markdown.rb +5 -1
- data/lib/publify_core/text_filter/markdown_smartquotes.rb +6 -1
- data/lib/publify_core/version.rb +1 -1
- data/lib/publify_core.rb +2 -2
- data/lib/text_filter_plugin.rb +20 -22
- data/lib/theme.rb +56 -37
- metadata +100 -397
- data/app/assets/javascripts/bootstrap/affix.js +0 -164
- data/app/assets/javascripts/bootstrap/alert.js +0 -95
- data/app/assets/javascripts/bootstrap/button.js +0 -125
- data/app/assets/javascripts/bootstrap/collapse.js +0 -212
- data/app/assets/javascripts/bootstrap/dropdown.js +0 -165
- data/app/assets/javascripts/bootstrap/modal.js +0 -358
- data/app/assets/javascripts/bootstrap/tab.js +0 -155
- data/app/assets/javascripts/bootstrap/transition.js +0 -59
- data/app/assets/javascripts/bootstrap-sprockets.js +0 -8
- data/app/assets/javascripts/lightbox.js +0 -350
- data/app/assets/stylesheets/_bootstrap-compass.scss +0 -9
- data/app/assets/stylesheets/_bootstrap-mincer.scss +0 -19
- data/app/assets/stylesheets/_bootstrap-sprockets.scss +0 -9
- data/app/assets/stylesheets/_bootstrap.scss +0 -42
- data/app/assets/stylesheets/bootstrap/_alerts.scss +0 -73
- data/app/assets/stylesheets/bootstrap/_button-groups.scss +0 -242
- data/app/assets/stylesheets/bootstrap/_buttons.scss +0 -168
- data/app/assets/stylesheets/bootstrap/_close.scss +0 -37
- data/app/assets/stylesheets/bootstrap/_code.scss +0 -69
- data/app/assets/stylesheets/bootstrap/_component-animations.scss +0 -38
- data/app/assets/stylesheets/bootstrap/_dropdowns.scss +0 -213
- data/app/assets/stylesheets/bootstrap/_forms.scss +0 -586
- data/app/assets/stylesheets/bootstrap/_grid.scss +0 -94
- data/app/assets/stylesheets/bootstrap/_labels.scss +0 -66
- data/app/assets/stylesheets/bootstrap/_media.scss +0 -66
- data/app/assets/stylesheets/bootstrap/_mixins.scss +0 -37
- data/app/assets/stylesheets/bootstrap/_modals.scss +0 -150
- data/app/assets/stylesheets/bootstrap/_navbar.scss +0 -479
- data/app/assets/stylesheets/bootstrap/_navs.scss +0 -242
- data/app/assets/stylesheets/bootstrap/_normalize.scss +0 -427
- data/app/assets/stylesheets/bootstrap/_pagination.scss +0 -86
- data/app/assets/stylesheets/bootstrap/_panels.scss +0 -222
- data/app/assets/stylesheets/bootstrap/_print.scss +0 -99
- data/app/assets/stylesheets/bootstrap/_scaffolding.scss +0 -160
- data/app/assets/stylesheets/bootstrap/_tables.scss +0 -234
- data/app/assets/stylesheets/bootstrap/_theme.scss +0 -224
- data/app/assets/stylesheets/bootstrap/_type.scss +0 -296
- data/app/assets/stylesheets/bootstrap/_utilities.scss +0 -55
- data/app/assets/stylesheets/bootstrap/_variables.scss +0 -638
- data/app/assets/stylesheets/bootstrap/_wells.scss +0 -29
- data/app/assets/stylesheets/bootstrap/mixins/_alerts.scss +0 -15
- data/app/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -12
- data/app/assets/stylesheets/bootstrap/mixins/_border-radius.scss +0 -18
- data/app/assets/stylesheets/bootstrap/mixins/_buttons.scss +0 -56
- data/app/assets/stylesheets/bootstrap/mixins/_center-block.scss +0 -7
- data/app/assets/stylesheets/bootstrap/mixins/_clearfix.scss +0 -22
- data/app/assets/stylesheets/bootstrap/mixins/_forms.scss +0 -82
- data/app/assets/stylesheets/bootstrap/mixins/_gradients.scss +0 -56
- data/app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -81
- data/app/assets/stylesheets/bootstrap/mixins/_grid.scss +0 -122
- data/app/assets/stylesheets/bootstrap/mixins/_hide-text.scss +0 -21
- data/app/assets/stylesheets/bootstrap/mixins/_image.scss +0 -28
- data/app/assets/stylesheets/bootstrap/mixins/_labels.scss +0 -12
- data/app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
- data/app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +0 -9
- data/app/assets/stylesheets/bootstrap/mixins/_opacity.scss +0 -7
- data/app/assets/stylesheets/bootstrap/mixins/_pagination.scss +0 -24
- data/app/assets/stylesheets/bootstrap/mixins/_panels.scss +0 -20
- data/app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +0 -8
- data/app/assets/stylesheets/bootstrap/mixins/_resize.scss +0 -6
- data/app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +0 -17
- data/app/assets/stylesheets/bootstrap/mixins/_size.scss +0 -10
- data/app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +0 -9
- data/app/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -28
- data/app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -12
- data/app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +0 -8
- data/app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +0 -222
- data/app/assets/stylesheets/lightbox.css +0 -63
- data/app/controllers/theme_controller.rb +0 -63
- data/app/views/notes/show_in_reply.html.erb +0 -18
- data/app/views/theme/static_view_test.html.erb +0 -1
- data/lib/publify_core/text_filter/twitterfilter.rb +0 -55
- data/lib/tasks/manifest.rake +0 -30
- /data/app/views/layouts/{default.html.erb → application.html.erb} +0 -0
- /data/themes/plain/javascripts/{theme.js → plain/theme.js} +0 -0
- /data/themes/plain/stylesheets/{theme.css → plain/theme.css} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9ce0abf6a55254193cdc6475dd86481f250201069155275d9178b17f87fb5e9e
|
|
4
|
+
data.tar.gz: fe986ec81f387a6bd29a91a7be4d62d7f3655bbd19523ad12c02ba4e1b7cf292
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 93aaa5759263e4e8fb3fe8cb56f33e3469a0ed085503e10d6b37c12c6ca45816c56f567424283ea171d8109b0968679b4cebf0fc97c0217db32172dcb095ca1d
|
|
7
|
+
data.tar.gz: 1d954da004caa610dd8f306f5c482a415887cde00f9b0a2ad4ea7e2d5ab67ade36bb3f90826071ac101d1f7e7525d435724e5f5bc89cc7ec52c97be19c0573cb
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,167 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 11.0.0 / 2026-10-04
|
|
4
|
+
|
|
5
|
+
This major release updates Rails to version 7.2, and updates supported Ruby
|
|
6
|
+
versions to 3.2 through 4.0. It also includes breaking changes to theming
|
|
7
|
+
support.
|
|
8
|
+
|
|
9
|
+
### Security
|
|
10
|
+
|
|
11
|
+
* Refuse attempts to upload a file detected as text with an html extension ([#268] by [mvz])
|
|
12
|
+
|
|
13
|
+
### Ruby support
|
|
14
|
+
|
|
15
|
+
PublifyCore 11.0 supports Ruby 3.2 through 4.0, dropping support for older versions:
|
|
16
|
+
|
|
17
|
+
* Support Ruby 3.0 and up ([#136] by [mvz])
|
|
18
|
+
* Add Ruby 3.4 to the GitHub Actions matrix ([#167] by [mvz])
|
|
19
|
+
* Drop support for Ruby 3.0 and 3.1 ([#189] by [mvz])
|
|
20
|
+
* Test with Ruby 4.0 in CI ([#221] by [mvz])
|
|
21
|
+
|
|
22
|
+
### Rails support
|
|
23
|
+
|
|
24
|
+
PublifyCore 11.0 supports Rails 7.1 and 7.2:
|
|
25
|
+
|
|
26
|
+
* Drop support for Rails 6.1 ([#195] by [mvz])
|
|
27
|
+
* Set explicit coder for serialized attributes ([#198] by [mvz])
|
|
28
|
+
* Support Rails 7.2 ([#261] by [mvz])
|
|
29
|
+
* Handle Rails 7.1 deprecation warnings ([#222] by [mvz])
|
|
30
|
+
* Drop support for Rails 7.0 ([#215] by [mvz])
|
|
31
|
+
* Make old migration work with Postgres in Rails 7.2 ([#262] by [mvz])
|
|
32
|
+
|
|
33
|
+
### Theming
|
|
34
|
+
|
|
35
|
+
This release includes breaking changes to theming. Themes must now use the
|
|
36
|
+
default Rails layout name, `application`. All theme assets are served via the
|
|
37
|
+
asset pipeline. To avoid asset name conflicts, themes must namespace their
|
|
38
|
+
assets with the theme name.
|
|
39
|
+
|
|
40
|
+
For example for a theme named 'foo', this results in the following setup:
|
|
41
|
+
|
|
42
|
+
* Layout in `themes/foo/views/layouts/application.html.erb`
|
|
43
|
+
* In the layout, links to style sheets and javascript files that automatically
|
|
44
|
+
prefix the theme name:
|
|
45
|
+
|
|
46
|
+
```erb
|
|
47
|
+
<%= themeable_stylesheet_link_tag :theme %>
|
|
48
|
+
<%= themeable_javascript_include_tag :theme %>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
* Asset files:
|
|
52
|
+
* `themes/foo/javascripts/foo/theme.js`
|
|
53
|
+
* `themes/foo/stylesheets/foo/theme.css`
|
|
54
|
+
|
|
55
|
+
Related pull requests:
|
|
56
|
+
|
|
57
|
+
* Simplify derivation of a theme's name from its path ([#240] by [mvz])
|
|
58
|
+
* Remove translation only used in Typographic theme ([#245] by [mvz])
|
|
59
|
+
* Always use the standard Rails layout name for the content pages ([#244] by [mvz])
|
|
60
|
+
* Use the asset pipeline for theme assets ([#247] by [mvz])
|
|
61
|
+
|
|
62
|
+
### Dependencies
|
|
63
|
+
|
|
64
|
+
* Port Admin views to Bootstrap 4 ([#178] by [mvz])
|
|
65
|
+
* Upgrade to commonmarker version 2.3 ([#193] by [mvz])
|
|
66
|
+
* Upgrade to bootstrap 5.3 ([#234] by [mvz])
|
|
67
|
+
* Update Devise to version 5.0.4 ([#226] by [mvz])
|
|
68
|
+
|
|
69
|
+
### Miscellaneous
|
|
70
|
+
|
|
71
|
+
* Upgrade `html_pipeline` to version 3.2 and port custom filters ([#211] by [mvz])
|
|
72
|
+
* Replace `devise_zxcvbn` with direct integration of `zxcvbn` ([#217] by [mvz])
|
|
73
|
+
* Add specs for `ContentBase#excerpt_text` ([#228] by [mvz])
|
|
74
|
+
* Remove monkey-patched `String#strip_html` method ([#231] by [mvz])
|
|
75
|
+
* Clean up deprecations ([#233] by [mvz])
|
|
76
|
+
* Remove EkkoLightbox ([#235] by [mvz])
|
|
77
|
+
* Remove old password fallback mechanism ([#236] by [mvz])
|
|
78
|
+
* Clean up textfilter macro methods ([#238] by [mvz])
|
|
79
|
+
* Replace ad-hoc excerpt code with `#excerpt_text` ([#239] by [mvz])
|
|
80
|
+
* Remove useless `Redirect#to_url` method ([#252] by [mvz])
|
|
81
|
+
* Remove html tags the Rails way when generating permalinks ([#249] by [mvz])
|
|
82
|
+
|
|
83
|
+
### Internal
|
|
84
|
+
|
|
85
|
+
* Allow starting the GitHub Actions workflow manually ([#140] by [mvz])
|
|
86
|
+
* Pull in latest changes from 10-0-stable ([#164] by [mvz])
|
|
87
|
+
* Pull in latest changes from 10-0-stable ([#152] by [mvz])
|
|
88
|
+
* Fix linting job in GitHub Actions ([#158] by [mvz])
|
|
89
|
+
* Provide needed graphics processing dependency in CI ([#169] by [mvz])
|
|
90
|
+
* Test with all supported Rails versions in CI ([#168] by [mvz])
|
|
91
|
+
* Use rake-manifest to generate the manifest ([#170] by [mvz])
|
|
92
|
+
* Prevent manifest task definition from being loaded in dependent projects
|
|
93
|
+
([11727f5] by [mvz])
|
|
94
|
+
* Update RuboCop dependencies and configuration and fix new offenses ([#173] by [mvz])
|
|
95
|
+
* Clarify logic in `CommentsController#recaptcha_ok_for?` ([#174] by [mvz])
|
|
96
|
+
* Switch to weekly dependabot updates ([#188] by [mvz])
|
|
97
|
+
* Use new official name for `erb_lint` ([#190] by [mvz])
|
|
98
|
+
* Remove scheduled CI runs ([#204] by [mvz])
|
|
99
|
+
* Pull in changelog for version 10.0.3 ([#194] by [mvz])
|
|
100
|
+
* Remove obsolete `before_action` ([#196] by [mvz])
|
|
101
|
+
* Remove exceptions from `login_required` before_action ([#197] by [mvz])
|
|
102
|
+
* Refactor notes rendering ([#210] by [mvz])
|
|
103
|
+
* Remove any permissions from `GITHUB_TOKEN` in CI ([#253] by [mvz])
|
|
104
|
+
* Remove dummy application layout view ([#246] by [mvz])
|
|
105
|
+
* Make 'rails server' work with the dummy test app ([#216] by [mvz])
|
|
106
|
+
* Update rubocop dependencies and handle new offenses ([#223] by [mvz])
|
|
107
|
+
* Remove dependency on pry ([#165] by [mvz])
|
|
108
|
+
* Loosen development dependencies ([#266] by [mvz])
|
|
109
|
+
|
|
110
|
+
[#136]: https://github.com/publify/publify_core/pull/136
|
|
111
|
+
[#140]: https://github.com/publify/publify_core/pull/140
|
|
112
|
+
[#152]: https://github.com/publify/publify_core/pull/152
|
|
113
|
+
[#158]: https://github.com/publify/publify_core/pull/158
|
|
114
|
+
[#164]: https://github.com/publify/publify_core/pull/164
|
|
115
|
+
[#165]: https://github.com/publify/publify_core/pull/165
|
|
116
|
+
[#167]: https://github.com/publify/publify_core/pull/167
|
|
117
|
+
[#168]: https://github.com/publify/publify_core/pull/168
|
|
118
|
+
[#169]: https://github.com/publify/publify_core/pull/169
|
|
119
|
+
[#170]: https://github.com/publify/publify_core/pull/170
|
|
120
|
+
[#173]: https://github.com/publify/publify_core/pull/173
|
|
121
|
+
[#174]: https://github.com/publify/publify_core/pull/174
|
|
122
|
+
[#178]: https://github.com/publify/publify_core/pull/178
|
|
123
|
+
[#188]: https://github.com/publify/publify_core/pull/188
|
|
124
|
+
[#189]: https://github.com/publify/publify_core/pull/189
|
|
125
|
+
[#190]: https://github.com/publify/publify_core/pull/190
|
|
126
|
+
[#193]: https://github.com/publify/publify_core/pull/193
|
|
127
|
+
[#194]: https://github.com/publify/publify_core/pull/194
|
|
128
|
+
[#195]: https://github.com/publify/publify_core/pull/195
|
|
129
|
+
[#196]: https://github.com/publify/publify_core/pull/196
|
|
130
|
+
[#197]: https://github.com/publify/publify_core/pull/197
|
|
131
|
+
[#198]: https://github.com/publify/publify_core/pull/198
|
|
132
|
+
[#204]: https://github.com/publify/publify_core/pull/204
|
|
133
|
+
[#210]: https://github.com/publify/publify_core/pull/210
|
|
134
|
+
[#211]: https://github.com/publify/publify_core/pull/211
|
|
135
|
+
[#215]: https://github.com/publify/publify_core/pull/215
|
|
136
|
+
[#216]: https://github.com/publify/publify_core/pull/216
|
|
137
|
+
[#217]: https://github.com/publify/publify_core/pull/217
|
|
138
|
+
[#221]: https://github.com/publify/publify_core/pull/221
|
|
139
|
+
[#222]: https://github.com/publify/publify_core/pull/222
|
|
140
|
+
[#223]: https://github.com/publify/publify_core/pull/223
|
|
141
|
+
[#226]: https://github.com/publify/publify_core/pull/226
|
|
142
|
+
[#228]: https://github.com/publify/publify_core/pull/228
|
|
143
|
+
[#231]: https://github.com/publify/publify_core/pull/231
|
|
144
|
+
[#233]: https://github.com/publify/publify_core/pull/233
|
|
145
|
+
[#234]: https://github.com/publify/publify_core/pull/234
|
|
146
|
+
[#235]: https://github.com/publify/publify_core/pull/235
|
|
147
|
+
[#236]: https://github.com/publify/publify_core/pull/236
|
|
148
|
+
[#238]: https://github.com/publify/publify_core/pull/238
|
|
149
|
+
[#239]: https://github.com/publify/publify_core/pull/239
|
|
150
|
+
[#240]: https://github.com/publify/publify_core/pull/240
|
|
151
|
+
[#244]: https://github.com/publify/publify_core/pull/244
|
|
152
|
+
[#245]: https://github.com/publify/publify_core/pull/245
|
|
153
|
+
[#246]: https://github.com/publify/publify_core/pull/246
|
|
154
|
+
[#247]: https://github.com/publify/publify_core/pull/247
|
|
155
|
+
[#249]: https://github.com/publify/publify_core/pull/249
|
|
156
|
+
[#252]: https://github.com/publify/publify_core/pull/252
|
|
157
|
+
[#253]: https://github.com/publify/publify_core/pull/253
|
|
158
|
+
[#261]: https://github.com/publify/publify_core/pull/261
|
|
159
|
+
[#262]: https://github.com/publify/publify_core/pull/262
|
|
160
|
+
[#266]: https://github.com/publify/publify_core/pull/266
|
|
161
|
+
[#268]: https://github.com/publify/publify_core/pull/268
|
|
162
|
+
|
|
163
|
+
[11727f5]: https://github.com/publify/publify_core/commit/11727f5a2826ea351964c2367d36a979dfab212d
|
|
164
|
+
|
|
3
165
|
## 10.0.4 / 2026-10-04
|
|
4
166
|
|
|
5
167
|
* Refuse attempts to upload a file detected as text with an html extension ([#267] by [mvz])
|
|
@@ -84,60 +246,88 @@
|
|
|
84
246
|
|
|
85
247
|
### Breaking changes
|
|
86
248
|
|
|
87
|
-
* Remove support for Textile as a text format
|
|
249
|
+
* Remove support for Textile as a text format
|
|
250
|
+
[publify#1001](https://github.com/publify/publify/pull/1001)
|
|
88
251
|
|
|
89
252
|
### Other changes
|
|
90
253
|
|
|
91
254
|
* Improve feedback listings [publify#1005](https://github.com/publify/publify/pull/1005)
|
|
92
|
-
* Link to article from article feedback admin page
|
|
255
|
+
* Link to article from article feedback admin page
|
|
256
|
+
[publify#1007](https://github.com/publify/publify/pull/1007)
|
|
93
257
|
* Link to blog from admin menu [publify#1008](https://github.com/publify/publify/pull/1008)
|
|
94
|
-
* Handle markdown links in notes correctly
|
|
95
|
-
|
|
258
|
+
* Handle markdown links in notes correctly
|
|
259
|
+
[publify#1009](https://github.com/publify/publify/pull/1009)
|
|
260
|
+
* Make notes twitterfilter robust
|
|
261
|
+
[publify#1010](https://github.com/publify/publify/pull/1010)
|
|
96
262
|
* Miscellaneous admin fixes [publify#1012](https://github.com/publify/publify/pull/1012)
|
|
97
|
-
* Add arabic language to the project
|
|
263
|
+
* Add arabic language to the project
|
|
264
|
+
[publify#1060](https://github.com/publify/publify/pull/1060) by [ahmedhamid13](https://github.com/ahmedhamid13)
|
|
98
265
|
|
|
99
266
|
### Internal changes
|
|
100
267
|
|
|
101
268
|
* Remove use of 'notextile' [publify#1002](https://github.com/publify/publify/pull/1002)
|
|
102
|
-
* Remove `TextFilter.filter_text` in favor of `#filter_text`
|
|
103
|
-
|
|
104
|
-
*
|
|
105
|
-
|
|
106
|
-
*
|
|
107
|
-
|
|
108
|
-
* Remove
|
|
109
|
-
|
|
110
|
-
*
|
|
111
|
-
|
|
269
|
+
* Remove `TextFilter.filter_text` in favor of `#filter_text`
|
|
270
|
+
[publify#1003](https://github.com/publify/publify/pull/1003)
|
|
271
|
+
* Replace BlueCloth with CommonMarker for Markdown processing
|
|
272
|
+
[publify#810](https://github.com/publify/publify/pull/810)
|
|
273
|
+
* Rename Admin::ContentController to Admin::ArticlesController
|
|
274
|
+
[publify#1004](https://github.com/publify/publify/pull/1004)
|
|
275
|
+
* Remove unneeded wrapping elements from admin layout
|
|
276
|
+
[publify#1006](https://github.com/publify/publify/pull/1006)
|
|
277
|
+
* Split the factories into individual files
|
|
278
|
+
[publify#1031](https://github.com/publify/publify/pull/1031) by [VictorPS](https://github.com/VictorPS)
|
|
279
|
+
* Ensure `auto_link` helper is loaded on time
|
|
280
|
+
[publify#1040](https://github.com/publify/publify/pull/1040)
|
|
281
|
+
* Remove `sitealizer` table
|
|
282
|
+
[publify#1089](https://github.com/publify/publify/pull/1089) by [SupriyaMedankar](https://github.com/SupriyaMedankar)
|
|
283
|
+
* Remove itunes fields from resources
|
|
284
|
+
[publify#1092](https://github.com/publify/publify/pull/1092) by [SupriyaMedankar](https://github.com/SupriyaMedankar)
|
|
285
|
+
* Remove `page_caches` table
|
|
286
|
+
[publify#1090](https://github.com/publify/publify/pull/1090) by [SupriyaMedankar](https://github.com/SupriyaMedankar)
|
|
287
|
+
* Remove obsolete Sidebar code
|
|
288
|
+
[publify_core#58](https://github.com/publify/publify_core/pull/58)
|
|
112
289
|
|
|
113
290
|
## 9.2.10 / 2023-01-08
|
|
114
291
|
|
|
115
292
|
* Bump Rails version to 5.2.8.1 [publify#1070](https://github.com/publify/publify/pull/1070)
|
|
116
|
-
* Limit length of settings values
|
|
117
|
-
|
|
118
|
-
*
|
|
119
|
-
|
|
120
|
-
*
|
|
293
|
+
* Limit length of settings values
|
|
294
|
+
[publify#1072](https://github.com/publify/publify/pull/1072)
|
|
295
|
+
* Require login to stay unique when updating a User
|
|
296
|
+
[publify#1073](https://github.com/publify/publify/pull/1073)
|
|
297
|
+
* Validate lengths of string attributes
|
|
298
|
+
[publify#1077](https://github.com/publify/publify/pull/1077)
|
|
299
|
+
* Strip EXIF data from resource uploads
|
|
300
|
+
[publify#1078](https://github.com/publify/publify/pull/1078)
|
|
301
|
+
* Require user passwords to be strong
|
|
302
|
+
[publify#1086](https://github.com/publify/publify/pull/1086)
|
|
121
303
|
|
|
122
304
|
## 9.2.9 / 2022-05-22
|
|
123
305
|
|
|
124
|
-
* Fix admin article access control
|
|
125
|
-
|
|
306
|
+
* Fix admin article access control
|
|
307
|
+
[publify#1065](https://github.com/publify/publify/pull/1065)
|
|
308
|
+
* Refuse html files as resources even if declared to be plain text
|
|
309
|
+
[publify#1066](https://github.com/publify/publify/pull/1066)
|
|
126
310
|
|
|
127
311
|
## 9.2.8 / 2022-05-14
|
|
128
312
|
|
|
129
|
-
* Fix password protected article reveal
|
|
130
|
-
|
|
313
|
+
* Fix password protected article reveal
|
|
314
|
+
[publify#1049](https://github.com/publify/publify/pull/1049)
|
|
315
|
+
* Disallow comments on draft articles
|
|
316
|
+
[publify#1048](https://github.com/publify/publify/pull/1048)
|
|
131
317
|
* Clean up Feedback validation [publify#1051](https://github.com/publify/publify/pull/1051)
|
|
132
318
|
* Disallow images in comments [publify#1054](https://github.com/publify/publify/pull/1054)
|
|
133
319
|
* Fix password reset process [publify#1055](https://github.com/publify/publify/pull/1055)
|
|
134
|
-
* Hide bodies of password-protected articles in search results
|
|
135
|
-
|
|
136
|
-
*
|
|
320
|
+
* Hide bodies of password-protected articles in search results
|
|
321
|
+
[publify#1057](https://github.com/publify/publify/pull/1057)
|
|
322
|
+
* Provide correct `article_id` input in bulkops form
|
|
323
|
+
[publify#1058](https://github.com/publify/publify/pull/1058)
|
|
324
|
+
* Do not create article meta description for password-protected articles
|
|
325
|
+
[publify#1061](https://github.com/publify/publify/pull/1061)
|
|
137
326
|
|
|
138
327
|
## 9.2.7 / 2022-02-07
|
|
139
328
|
|
|
140
|
-
* Fix setting the article password from the Admin
|
|
329
|
+
* Fix setting the article password from the Admin
|
|
330
|
+
[publify#1044](https://github.com/publify/publify/pull/1044)
|
|
141
331
|
|
|
142
332
|
## 9.2.6 / 2022-01-07
|
|
143
333
|
|
|
@@ -232,41 +422,41 @@ Additionally, it includes the following changes:
|
|
|
232
422
|
* Let first-run users pick their own password instead of generating one (mvz)
|
|
233
423
|
|
|
234
424
|
* Dependencies
|
|
235
|
-
|
|
236
|
-
|
|
425
|
+
* Update dependencies (mvz)
|
|
426
|
+
* Drop support for Ruby 2.1 (mvz)
|
|
237
427
|
|
|
238
428
|
* Removing of old/outdated functionality
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
429
|
+
* Remove support for feedburner (mvz)
|
|
430
|
+
* Drop old redirects (mvz)
|
|
431
|
+
* Remove RSD end point (mvz)
|
|
242
432
|
|
|
243
433
|
* Feedback
|
|
244
|
-
|
|
245
|
-
|
|
434
|
+
* Stop sending trackbacks and pingbacks (mvz)
|
|
435
|
+
* Stop accepting trackbacks (mvz)
|
|
246
436
|
|
|
247
437
|
* Improve Atom/RSS feeds
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
438
|
+
* Fix URLs used for resources (mvz)
|
|
439
|
+
* Fix URL/alternate links to not just point to the site root (mvz)
|
|
440
|
+
* Unify comment and trackback feeds into feedback feed (mvz)
|
|
441
|
+
* Add caching for feeds (mvz)
|
|
442
|
+
* Fix atom entry publication date (mvz)
|
|
443
|
+
* Fix ordering of feedback feed by using created_at (mvz)
|
|
254
444
|
|
|
255
445
|
* Bug fixes
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
446
|
+
* Fix user resource image display when using Fog (mvz)
|
|
447
|
+
* Fix sending of welcome email (mvz)
|
|
448
|
+
* Fix Tag page description (mvz)
|
|
449
|
+
* Handle setting published_at to blank (mvz)
|
|
450
|
+
* Handle preview of articles without publication date (mvz)
|
|
451
|
+
* Include CSRF meta tag so remote forms work (mvz)
|
|
452
|
+
* Fix sidebar field rendering in admin (mvz)
|
|
453
|
+
* Fix formatting of settings forms in admin (mvz)
|
|
264
454
|
|
|
265
455
|
* Code improvements
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
456
|
+
* Performance improvements (mvz)
|
|
457
|
+
* Improve tags controller (mvz)
|
|
458
|
+
* Clean up archives and authors page code (mvz)
|
|
459
|
+
* Unify content models more to improve performance when mixing models (mvz)
|
|
270
460
|
|
|
271
461
|
## 9.0.0.pre6 / 2016-12-23
|
|
272
462
|
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
//= require jquery
|
|
4
4
|
//= require jquery_ujs
|
|
5
5
|
//= require jquery-ui
|
|
6
|
+
//= require popper
|
|
6
7
|
//= require bootstrap-sprockets
|
|
7
8
|
//= require quicktags
|
|
8
9
|
//= require tagmanager
|
|
9
10
|
//= require typeahead
|
|
10
11
|
//= require sidebar
|
|
11
12
|
//= require spinnable
|
|
12
|
-
//= require lightbox
|
|
13
13
|
//
|
|
14
14
|
//= require_self
|
|
15
15
|
|
|
@@ -69,12 +69,13 @@ $(document).ready(function() {
|
|
|
69
69
|
$('#article_form').each(function(e){tag_manager()});
|
|
70
70
|
$('#checkall').click(function(e){check_all(e.target)});
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
const lightboxModal = document.getElementById('image-lightbox-modal');
|
|
73
|
+
if (lightboxModal) {
|
|
74
|
+
lightboxModal.addEventListener('show.bs.modal', event => {
|
|
75
|
+
const triggerElem = event.relatedTarget;
|
|
76
|
+
const imageUrl = triggerElem.getAttribute('data-bs-imageurl');
|
|
77
|
+
const imageElem = lightboxModal.querySelector('.modal-body img')
|
|
78
|
+
imageElem.src = imageUrl;
|
|
79
|
+
})
|
|
80
|
+
}
|
|
74
81
|
});
|
|
75
|
-
|
|
76
|
-
$(document).delegate('*[data-toggle="lightbox"]', 'click',
|
|
77
|
-
function(event) {
|
|
78
|
-
event.preventDefault();
|
|
79
|
-
$(this).ekkoLightbox();
|
|
80
|
-
});
|
|
@@ -116,7 +116,7 @@ class Admin::ArticlesController < Admin::BaseController
|
|
|
116
116
|
@article.text_filter_name ||= default_text_filter
|
|
117
117
|
|
|
118
118
|
if @article.title.blank?
|
|
119
|
-
lastid = Article.order(
|
|
119
|
+
lastid = Article.order(id: :desc).first.id
|
|
120
120
|
@article.title = "Draft article #{lastid}"
|
|
121
121
|
end
|
|
122
122
|
|
|
@@ -9,7 +9,7 @@ class Admin::BaseController < BaseController
|
|
|
9
9
|
@@look_for_migrations = true
|
|
10
10
|
layout "administration"
|
|
11
11
|
|
|
12
|
-
before_action :login_required
|
|
12
|
+
before_action :login_required
|
|
13
13
|
before_action :no_caching
|
|
14
14
|
|
|
15
15
|
private
|
|
@@ -18,7 +18,7 @@ class Admin::BaseController < BaseController
|
|
|
18
18
|
@record = klass_to_destroy.find(params[:id])
|
|
19
19
|
if @record.respond_to?(:access_by?) && !@record.access_by?(current_user)
|
|
20
20
|
flash[:error] = I18n.t("admin.base.not_allowed")
|
|
21
|
-
return
|
|
21
|
+
return redirect_to action: "index"
|
|
22
22
|
end
|
|
23
23
|
@record.destroy
|
|
24
24
|
flash[:notice] = I18n.t("admin.base.successfully_deleted",
|
|
@@ -4,13 +4,13 @@ class Admin::RedirectsController < Admin::BaseController
|
|
|
4
4
|
before_action :set_redirect, only: [:edit, :update, :destroy]
|
|
5
5
|
|
|
6
6
|
def index
|
|
7
|
-
@redirects = Redirect.where(content_id: nil).order(
|
|
7
|
+
@redirects = Redirect.where(content_id: nil).order(id: :desc).page(params[:page])
|
|
8
8
|
.per(this_blog.admin_display_elements)
|
|
9
9
|
@redirect = Redirect.new
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def edit
|
|
13
|
-
@redirects = Redirect.where(content_id: nil).order(
|
|
13
|
+
@redirects = Redirect.where(content_id: nil).order(id: :desc).page(params[:page])
|
|
14
14
|
.per(this_blog.admin_display_elements)
|
|
15
15
|
end
|
|
16
16
|
|
|
@@ -18,7 +18,7 @@ class Admin::ResourcesController < Admin::BaseController
|
|
|
18
18
|
|
|
19
19
|
def index
|
|
20
20
|
@r = Resource.new
|
|
21
|
-
@resources = Resource.order(
|
|
21
|
+
@resources = Resource.order(created_at: :desc).page(params[:page])
|
|
22
22
|
.per(this_blog.admin_display_elements)
|
|
23
23
|
end
|
|
24
24
|
|
|
@@ -4,6 +4,8 @@ class Admin::SeoController < Admin::BaseController
|
|
|
4
4
|
before_action :set_setting
|
|
5
5
|
before_action :set_section
|
|
6
6
|
|
|
7
|
+
VALID_SECTIONS = %w(general titles permalinks).freeze
|
|
8
|
+
|
|
7
9
|
def show
|
|
8
10
|
if @setting.permalink_format != "/%year%/%month%/%day%/%title%" &&
|
|
9
11
|
@setting.permalink_format != "/%year%/%month%/%title%" &&
|
|
@@ -37,8 +39,6 @@ class Admin::SeoController < Admin::BaseController
|
|
|
37
39
|
@setting.settings_keys + [:custom_permalink]
|
|
38
40
|
end
|
|
39
41
|
|
|
40
|
-
VALID_SECTIONS = %w(general titles permalinks).freeze
|
|
41
|
-
|
|
42
42
|
def set_section
|
|
43
43
|
section = params[:section]
|
|
44
44
|
@section = VALID_SECTIONS.include?(section) ? section : "general"
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
class Admin::SettingsController < Admin::BaseController
|
|
4
|
+
VALID_ACTIONS = %w(index write feedback display).freeze
|
|
5
|
+
|
|
4
6
|
def index
|
|
5
7
|
this_blog.base_url = blog_base_url if this_blog.base_url.blank?
|
|
6
8
|
load_settings
|
|
@@ -33,8 +35,6 @@ class Admin::SettingsController < Admin::BaseController
|
|
|
33
35
|
|
|
34
36
|
private
|
|
35
37
|
|
|
36
|
-
VALID_ACTIONS = %w(index write feedback display).freeze
|
|
37
|
-
|
|
38
38
|
def settings_params
|
|
39
39
|
@settings_params ||= params.require(:setting).permit(@setting.settings_keys)
|
|
40
40
|
end
|
|
@@ -4,7 +4,7 @@ class Admin::UsersController < Admin::BaseController
|
|
|
4
4
|
before_action :set_user, only: [:edit, :update, :destroy]
|
|
5
5
|
|
|
6
6
|
def index
|
|
7
|
-
@users = User.order(
|
|
7
|
+
@users = User.order(:login).page(params[:page])
|
|
8
8
|
.per(this_blog.admin_display_elements)
|
|
9
9
|
end
|
|
10
10
|
|
|
@@ -38,7 +38,7 @@ class Admin::UsersController < Admin::BaseController
|
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
def destroy
|
|
41
|
-
@user.destroy if User.where("profile = ? and id != ?", User::ADMIN, @user.id).
|
|
41
|
+
@user.destroy if User.where("profile = ? and id != ?", User::ADMIN, @user.id).many?
|
|
42
42
|
redirect_to admin_users_url
|
|
43
43
|
end
|
|
44
44
|
|
|
@@ -5,9 +5,6 @@ class ArticlesController < ContentController
|
|
|
5
5
|
|
|
6
6
|
before_action :login_required, only: [:preview, :preview_page]
|
|
7
7
|
before_action :verify_config
|
|
8
|
-
before_action :auto_discovery_feed, only: [:show, :index]
|
|
9
|
-
|
|
10
|
-
layout :theme_layout, except: [:trackback]
|
|
11
8
|
|
|
12
9
|
helper :"admin/base"
|
|
13
10
|
|
|
@@ -98,7 +95,7 @@ class ArticlesController < ContentController
|
|
|
98
95
|
r = Redirect.find_by!(from_path: from)
|
|
99
96
|
# TODO: If linked to article, directly redirect to the article.
|
|
100
97
|
# Let redirection made outside of the blog on purpose (deal with it, Brakeman!)
|
|
101
|
-
redirect_to r.full_to_path, status: :moved_permanently if r
|
|
98
|
+
redirect_to r.full_to_path, allow_other_host: true, status: :moved_permanently if r
|
|
102
99
|
end
|
|
103
100
|
|
|
104
101
|
def archives
|
|
@@ -154,7 +151,7 @@ class ArticlesController < ContentController
|
|
|
154
151
|
def verify_config
|
|
155
152
|
if !this_blog.configured?
|
|
156
153
|
redirect_to controller: "setup", action: "index"
|
|
157
|
-
elsif User.
|
|
154
|
+
elsif User.none?
|
|
158
155
|
redirect_to new_user_registration_path
|
|
159
156
|
else
|
|
160
157
|
true
|
|
@@ -31,8 +31,11 @@ class CommentsController < BaseController
|
|
|
31
31
|
private
|
|
32
32
|
|
|
33
33
|
def recaptcha_ok_for?(comment)
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
if comment.blog.use_recaptcha
|
|
35
|
+
verify_recaptcha(model: comment)
|
|
36
|
+
else
|
|
37
|
+
true
|
|
38
|
+
end
|
|
36
39
|
end
|
|
37
40
|
|
|
38
41
|
def new_comment_defaults
|
|
@@ -11,10 +11,6 @@ class ContentController < BaseController
|
|
|
11
11
|
end
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
def theme_layout
|
|
15
|
-
this_blog.current_theme.layout(action_name)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
14
|
def render_cached_xml(template, object)
|
|
19
15
|
feed = cache([controller_name, template, object]) do
|
|
20
16
|
render_to_string template, layout: false
|