thredded 0.7.0 → 0.8.2
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/README.md +119 -17
- data/app/assets/javascripts/thredded/components/currently_online.es6 +3 -3
- data/app/assets/javascripts/thredded/components/flash_messages.es6 +11 -0
- data/app/assets/javascripts/thredded/components/post_form.es6 +21 -4
- data/app/assets/javascripts/thredded/components/time_stamps.es6 +8 -6
- data/app/assets/javascripts/thredded/components/topic_form.es6 +14 -3
- data/app/assets/javascripts/thredded/components/topics.es6 +3 -3
- data/app/assets/javascripts/thredded/components/turboforms.es6 +15 -0
- data/app/assets/javascripts/thredded/components/user_preferences_form.es6 +47 -20
- data/app/assets/javascripts/thredded/components/users_select.es6 +25 -9
- data/app/assets/javascripts/thredded/core/hide_soft_keyboard.es6 +6 -0
- data/app/assets/javascripts/thredded/core/mention_autocompletion.es6 +54 -0
- data/app/assets/javascripts/thredded/core/on_page_load.es6 +46 -0
- data/app/assets/javascripts/thredded/dependencies.js +2 -1
- data/app/assets/javascripts/thredded/dependencies/jquery.js +1 -0
- data/app/assets/javascripts/thredded/thredded.es6 +1 -0
- data/app/assets/stylesheets/thredded/_thredded.scss +1 -0
- data/app/assets/stylesheets/thredded/base/_alerts.scss +5 -1
- data/app/assets/stylesheets/thredded/base/_grid.scss +8 -0
- data/app/assets/stylesheets/thredded/base/_nav.scss +0 -5
- data/app/assets/stylesheets/thredded/components/_following.scss +0 -3
- data/app/assets/stylesheets/thredded/components/_mention-autocomplete.scss +35 -0
- data/app/assets/stylesheets/thredded/components/_topic-header.scss +37 -17
- data/app/assets/stylesheets/thredded/components/_topics.scss +13 -0
- data/app/assets/stylesheets/thredded/layout/_main-navigation.scss +57 -14
- data/app/assets/stylesheets/thredded/layout/_moderation.scss +5 -0
- data/app/assets/stylesheets/thredded/layout/_navigation.scss +14 -17
- data/app/assets/stylesheets/thredded/layout/_search-navigation.scss +15 -3
- data/app/assets/stylesheets/thredded/layout/_user-navigation.scss +3 -11
- data/app/commands/thredded/at_notification_extractor.rb +2 -2
- data/app/commands/thredded/autofollow_mentioned_users.rb +2 -2
- data/app/commands/thredded/create_messageboard.rb +45 -0
- data/app/commands/thredded/notify_following_users.rb +10 -0
- data/app/controllers/thredded/autocomplete_users_controller.rb +2 -3
- data/app/controllers/thredded/messageboards_controller.rb +1 -24
- data/app/controllers/thredded/moderation_controller.rb +1 -1
- data/app/controllers/thredded/post_permalinks_controller.rb +1 -1
- data/app/controllers/thredded/preferences_controller.rb +4 -2
- data/app/controllers/thredded/private_post_permalinks_controller.rb +1 -1
- data/app/controllers/thredded/theme_previews_controller.rb +1 -1
- data/app/controllers/thredded/topics_controller.rb +0 -1
- data/app/forms/thredded/user_preferences_form.rb +4 -2
- data/app/helpers/thredded/application_helper.rb +5 -0
- data/app/helpers/thredded/nav_helper.rb +41 -0
- data/app/mailer_previews/thredded/base_mailer_preview.rb +0 -1
- data/app/mailers/thredded/post_mailer.rb +0 -1
- data/app/mailers/thredded/private_topic_mailer.rb +0 -1
- data/app/models/concerns/thredded/user_topic_read_state_common.rb +2 -2
- data/app/models/thredded/messageboard.rb +0 -1
- data/app/models/thredded/null_preference.rb +5 -1
- data/app/models/thredded/private_post.rb +2 -2
- data/app/policies/thredded/messageboard_group_policy.rb +1 -1
- data/app/view_hooks/thredded/all_view_hooks.rb +68 -0
- data/app/view_models/thredded/post_view.rb +3 -3
- data/app/view_models/thredded/topic_email_view.rb +0 -4
- data/app/view_models/thredded/topics_page_view.rb +12 -1
- data/app/views/layouts/thredded/application.html.erb +5 -2
- data/app/views/thredded/messageboard_groups/new.html.erb +3 -1
- data/app/views/thredded/messageboards/edit.html.erb +3 -1
- data/app/views/thredded/messageboards/new.html.erb +3 -1
- data/app/views/thredded/moderation/_users_search_form.html.erb +4 -1
- data/app/views/thredded/moderation/user.html.erb +34 -28
- data/app/views/thredded/posts_common/_form.html.erb +6 -1
- data/app/views/thredded/posts_common/form/_content_field.html.erb +5 -3
- data/app/views/thredded/preferences/_form.html.erb +30 -12
- data/app/views/thredded/private_topics/_form.html.erb +4 -3
- data/app/views/thredded/private_topics/index.html.erb +5 -5
- data/app/views/thredded/search/_form.html.erb +2 -1
- data/app/views/thredded/shared/_flash_messages.html.erb +1 -1
- data/app/views/thredded/shared/_page.html.erb +10 -1
- data/app/views/thredded/shared/nav/_moderation.html.erb +3 -2
- data/app/views/thredded/shared/nav/_notification_preferences.html.erb +5 -3
- data/app/views/thredded/shared/nav/_private_topics.html.erb +3 -2
- data/app/views/thredded/topics/_form.html.erb +6 -1
- data/app/views/thredded/topics/_header.html.erb +8 -5
- data/config/locales/en.yml +15 -7
- data/config/locales/pt-BR.yml +21 -13
- data/config/routes.rb +4 -2
- data/db/migrate/20160329231848_create_thredded.rb +5 -5
- data/db/upgrade_migrations/20161019150201_upgrade_v0_7_to_v0_8.rb +31 -0
- data/lib/generators/thredded/install/templates/initializer.rb +20 -8
- data/lib/tasks/thredded_tasks.rake +0 -7
- data/lib/thredded.rb +19 -5
- data/lib/thredded/content_formatter.rb +43 -8
- data/lib/thredded/database_seeder.rb +7 -1
- data/lib/thredded/engine.rb +2 -21
- data/lib/{html/pipeline → thredded/html_pipeline}/at_mention_filter.rb +4 -4
- data/lib/thredded/html_pipeline/autolink_filter.rb +14 -0
- data/lib/thredded/html_pipeline/kramdown_filter.rb +34 -0
- data/lib/thredded/version.rb +1 -1
- data/lib/thredded/view_hooks/config.rb +36 -0
- data/lib/thredded/view_hooks/renderer.rb +29 -0
- data/vendor/assets/javascripts/jquery.textcomplete.js +1488 -0
- metadata +65 -52
- data/app/commands/thredded/messageboard_destroyer.rb +0 -65
- data/lib/html/pipeline/bbcode_filter.rb +0 -33
- data/lib/thredded/main_app_route_delegator.rb +0 -25
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: thredded
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.8.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Joel Oliveira
|
|
@@ -9,22 +9,8 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2016-
|
|
12
|
+
date: 2016-11-13 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
|
-
- !ruby/object:Gem::Dependency
|
|
15
|
-
name: bbcoder
|
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
requirements:
|
|
18
|
-
- - "~>"
|
|
19
|
-
- !ruby/object:Gem::Version
|
|
20
|
-
version: '1.0'
|
|
21
|
-
type: :runtime
|
|
22
|
-
prerelease: false
|
|
23
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
24
|
-
requirements:
|
|
25
|
-
- - "~>"
|
|
26
|
-
- !ruby/object:Gem::Version
|
|
27
|
-
version: '1.0'
|
|
28
14
|
- !ruby/object:Gem::Dependency
|
|
29
15
|
name: pundit
|
|
30
16
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -82,7 +68,7 @@ dependencies:
|
|
|
82
68
|
- !ruby/object:Gem::Version
|
|
83
69
|
version: '0'
|
|
84
70
|
- !ruby/object:Gem::Dependency
|
|
85
|
-
name:
|
|
71
|
+
name: htmlentities
|
|
86
72
|
requirement: !ruby/object:Gem::Requirement
|
|
87
73
|
requirements:
|
|
88
74
|
- - ">="
|
|
@@ -96,7 +82,7 @@ dependencies:
|
|
|
96
82
|
- !ruby/object:Gem::Version
|
|
97
83
|
version: '0'
|
|
98
84
|
- !ruby/object:Gem::Dependency
|
|
99
|
-
name:
|
|
85
|
+
name: kaminari
|
|
100
86
|
requirement: !ruby/object:Gem::Requirement
|
|
101
87
|
requirements:
|
|
102
88
|
- - ">="
|
|
@@ -110,7 +96,7 @@ dependencies:
|
|
|
110
96
|
- !ruby/object:Gem::Version
|
|
111
97
|
version: '0'
|
|
112
98
|
- !ruby/object:Gem::Dependency
|
|
113
|
-
name:
|
|
99
|
+
name: nokogiri
|
|
114
100
|
requirement: !ruby/object:Gem::Requirement
|
|
115
101
|
requirements:
|
|
116
102
|
- - ">="
|
|
@@ -124,7 +110,21 @@ dependencies:
|
|
|
124
110
|
- !ruby/object:Gem::Version
|
|
125
111
|
version: '0'
|
|
126
112
|
- !ruby/object:Gem::Dependency
|
|
127
|
-
name:
|
|
113
|
+
name: rails
|
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
|
115
|
+
requirements:
|
|
116
|
+
- - ">="
|
|
117
|
+
- !ruby/object:Gem::Version
|
|
118
|
+
version: 4.2.0
|
|
119
|
+
type: :runtime
|
|
120
|
+
prerelease: false
|
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
122
|
+
requirements:
|
|
123
|
+
- - ">="
|
|
124
|
+
- !ruby/object:Gem::Version
|
|
125
|
+
version: 4.2.0
|
|
126
|
+
- !ruby/object:Gem::Dependency
|
|
127
|
+
name: rb-gravatar
|
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
|
129
129
|
requirements:
|
|
130
130
|
- - ">="
|
|
@@ -138,7 +138,7 @@ dependencies:
|
|
|
138
138
|
- !ruby/object:Gem::Version
|
|
139
139
|
version: '0'
|
|
140
140
|
- !ruby/object:Gem::Dependency
|
|
141
|
-
name:
|
|
141
|
+
name: inline_svg
|
|
142
142
|
requirement: !ruby/object:Gem::Requirement
|
|
143
143
|
requirements:
|
|
144
144
|
- - ">="
|
|
@@ -152,7 +152,7 @@ dependencies:
|
|
|
152
152
|
- !ruby/object:Gem::Version
|
|
153
153
|
version: '0'
|
|
154
154
|
- !ruby/object:Gem::Dependency
|
|
155
|
-
name:
|
|
155
|
+
name: kramdown
|
|
156
156
|
requirement: !ruby/object:Gem::Requirement
|
|
157
157
|
requirements:
|
|
158
158
|
- - ">="
|
|
@@ -166,21 +166,21 @@ dependencies:
|
|
|
166
166
|
- !ruby/object:Gem::Version
|
|
167
167
|
version: '0'
|
|
168
168
|
- !ruby/object:Gem::Dependency
|
|
169
|
-
name:
|
|
169
|
+
name: html-pipeline
|
|
170
170
|
requirement: !ruby/object:Gem::Requirement
|
|
171
171
|
requirements:
|
|
172
172
|
- - ">="
|
|
173
173
|
- !ruby/object:Gem::Version
|
|
174
|
-
version:
|
|
174
|
+
version: '0'
|
|
175
175
|
type: :runtime
|
|
176
176
|
prerelease: false
|
|
177
177
|
version_requirements: !ruby/object:Gem::Requirement
|
|
178
178
|
requirements:
|
|
179
179
|
- - ">="
|
|
180
180
|
- !ruby/object:Gem::Version
|
|
181
|
-
version:
|
|
181
|
+
version: '0'
|
|
182
182
|
- !ruby/object:Gem::Dependency
|
|
183
|
-
name:
|
|
183
|
+
name: html-pipeline-vimeo
|
|
184
184
|
requirement: !ruby/object:Gem::Requirement
|
|
185
185
|
requirements:
|
|
186
186
|
- - ">="
|
|
@@ -194,7 +194,7 @@ dependencies:
|
|
|
194
194
|
- !ruby/object:Gem::Version
|
|
195
195
|
version: '0'
|
|
196
196
|
- !ruby/object:Gem::Dependency
|
|
197
|
-
name:
|
|
197
|
+
name: html-pipeline-youtube
|
|
198
198
|
requirement: !ruby/object:Gem::Requirement
|
|
199
199
|
requirements:
|
|
200
200
|
- - ">="
|
|
@@ -208,7 +208,7 @@ dependencies:
|
|
|
208
208
|
- !ruby/object:Gem::Version
|
|
209
209
|
version: '0'
|
|
210
210
|
- !ruby/object:Gem::Dependency
|
|
211
|
-
name:
|
|
211
|
+
name: rinku
|
|
212
212
|
requirement: !ruby/object:Gem::Requirement
|
|
213
213
|
requirements:
|
|
214
214
|
- - ">="
|
|
@@ -222,7 +222,7 @@ dependencies:
|
|
|
222
222
|
- !ruby/object:Gem::Version
|
|
223
223
|
version: '0'
|
|
224
224
|
- !ruby/object:Gem::Dependency
|
|
225
|
-
name:
|
|
225
|
+
name: gemoji
|
|
226
226
|
requirement: !ruby/object:Gem::Requirement
|
|
227
227
|
requirements:
|
|
228
228
|
- - ">="
|
|
@@ -339,14 +339,14 @@ dependencies:
|
|
|
339
339
|
requirements:
|
|
340
340
|
- - ">="
|
|
341
341
|
- !ruby/object:Gem::Version
|
|
342
|
-
version:
|
|
342
|
+
version: 4.2.1
|
|
343
343
|
type: :runtime
|
|
344
344
|
prerelease: false
|
|
345
345
|
version_requirements: !ruby/object:Gem::Requirement
|
|
346
346
|
requirements:
|
|
347
347
|
- - ">="
|
|
348
348
|
- !ruby/object:Gem::Version
|
|
349
|
-
version:
|
|
349
|
+
version: 4.2.1
|
|
350
350
|
- !ruby/object:Gem::Dependency
|
|
351
351
|
name: capybara
|
|
352
352
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -432,33 +432,33 @@ dependencies:
|
|
|
432
432
|
- !ruby/object:Gem::Version
|
|
433
433
|
version: 3.5.0
|
|
434
434
|
- !ruby/object:Gem::Dependency
|
|
435
|
-
name:
|
|
435
|
+
name: simplecov
|
|
436
436
|
requirement: !ruby/object:Gem::Requirement
|
|
437
437
|
requirements:
|
|
438
|
-
- -
|
|
438
|
+
- - ">="
|
|
439
439
|
- !ruby/object:Gem::Version
|
|
440
|
-
version: 0
|
|
440
|
+
version: '0'
|
|
441
441
|
type: :development
|
|
442
442
|
prerelease: false
|
|
443
443
|
version_requirements: !ruby/object:Gem::Requirement
|
|
444
444
|
requirements:
|
|
445
|
-
- -
|
|
445
|
+
- - ">="
|
|
446
446
|
- !ruby/object:Gem::Version
|
|
447
|
-
version: 0
|
|
447
|
+
version: '0'
|
|
448
448
|
- !ruby/object:Gem::Dependency
|
|
449
|
-
name:
|
|
449
|
+
name: rubocop
|
|
450
450
|
requirement: !ruby/object:Gem::Requirement
|
|
451
451
|
requirements:
|
|
452
|
-
- -
|
|
452
|
+
- - '='
|
|
453
453
|
- !ruby/object:Gem::Version
|
|
454
|
-
version:
|
|
454
|
+
version: 0.42.0
|
|
455
455
|
type: :development
|
|
456
456
|
prerelease: false
|
|
457
457
|
version_requirements: !ruby/object:Gem::Requirement
|
|
458
458
|
requirements:
|
|
459
|
-
- -
|
|
459
|
+
- - '='
|
|
460
460
|
- !ruby/object:Gem::Version
|
|
461
|
-
version:
|
|
461
|
+
version: 0.42.0
|
|
462
462
|
- !ruby/object:Gem::Dependency
|
|
463
463
|
name: rails-i18n
|
|
464
464
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -572,7 +572,7 @@ dependencies:
|
|
|
572
572
|
- !ruby/object:Gem::Version
|
|
573
573
|
version: '0'
|
|
574
574
|
- !ruby/object:Gem::Dependency
|
|
575
|
-
name:
|
|
575
|
+
name: turbolinks
|
|
576
576
|
requirement: !ruby/object:Gem::Requirement
|
|
577
577
|
requirements:
|
|
578
578
|
- - ">="
|
|
@@ -586,19 +586,19 @@ dependencies:
|
|
|
586
586
|
- !ruby/object:Gem::Version
|
|
587
587
|
version: '0'
|
|
588
588
|
- !ruby/object:Gem::Dependency
|
|
589
|
-
name:
|
|
589
|
+
name: coffee-rails
|
|
590
590
|
requirement: !ruby/object:Gem::Requirement
|
|
591
591
|
requirements:
|
|
592
|
-
- - "
|
|
592
|
+
- - ">="
|
|
593
593
|
- !ruby/object:Gem::Version
|
|
594
|
-
version: '
|
|
594
|
+
version: '0'
|
|
595
595
|
type: :development
|
|
596
596
|
prerelease: false
|
|
597
597
|
version_requirements: !ruby/object:Gem::Requirement
|
|
598
598
|
requirements:
|
|
599
|
-
- - "
|
|
599
|
+
- - ">="
|
|
600
600
|
- !ruby/object:Gem::Version
|
|
601
|
-
version: '
|
|
601
|
+
version: '0'
|
|
602
602
|
description: |-
|
|
603
603
|
The best Rails 4.2+ forums engine ever. Its goal is to be as simple and feature rich as possible.
|
|
604
604
|
Thredded works with SQLite, MySQL (v5.6.4+), and PostgreSQL. See the demo at https://thredded.org/.
|
|
@@ -619,13 +619,19 @@ files:
|
|
|
619
619
|
- app/assets/images/thredded/unfollow.svg
|
|
620
620
|
- app/assets/javascripts/thredded.es6
|
|
621
621
|
- app/assets/javascripts/thredded/components/currently_online.es6
|
|
622
|
+
- app/assets/javascripts/thredded/components/flash_messages.es6
|
|
622
623
|
- app/assets/javascripts/thredded/components/post_form.es6
|
|
623
624
|
- app/assets/javascripts/thredded/components/time_stamps.es6
|
|
624
625
|
- app/assets/javascripts/thredded/components/topic_form.es6
|
|
625
626
|
- app/assets/javascripts/thredded/components/topics.es6
|
|
627
|
+
- app/assets/javascripts/thredded/components/turboforms.es6
|
|
626
628
|
- app/assets/javascripts/thredded/components/user_preferences_form.es6
|
|
627
629
|
- app/assets/javascripts/thredded/components/users_select.es6
|
|
630
|
+
- app/assets/javascripts/thredded/core/hide_soft_keyboard.es6
|
|
631
|
+
- app/assets/javascripts/thredded/core/mention_autocompletion.es6
|
|
632
|
+
- app/assets/javascripts/thredded/core/on_page_load.es6
|
|
628
633
|
- app/assets/javascripts/thredded/dependencies.js
|
|
634
|
+
- app/assets/javascripts/thredded/dependencies/jquery.js
|
|
629
635
|
- app/assets/javascripts/thredded/thredded.es6
|
|
630
636
|
- app/assets/stylesheets/thredded.scss
|
|
631
637
|
- app/assets/stylesheets/thredded/_base.scss
|
|
@@ -649,6 +655,7 @@ files:
|
|
|
649
655
|
- app/assets/stylesheets/thredded/components/_form-list.scss
|
|
650
656
|
- app/assets/stylesheets/thredded/components/_icons.scss
|
|
651
657
|
- app/assets/stylesheets/thredded/components/_main-section.scss
|
|
658
|
+
- app/assets/stylesheets/thredded/components/_mention-autocomplete.scss
|
|
652
659
|
- app/assets/stylesheets/thredded/components/_messageboard.scss
|
|
653
660
|
- app/assets/stylesheets/thredded/components/_pagination.scss
|
|
654
661
|
- app/assets/stylesheets/thredded/components/_post-form.scss
|
|
@@ -669,9 +676,9 @@ files:
|
|
|
669
676
|
- app/assets/stylesheets/thredded/utilities/_is-expanded.scss
|
|
670
677
|
- app/commands/thredded/at_notification_extractor.rb
|
|
671
678
|
- app/commands/thredded/autofollow_mentioned_users.rb
|
|
679
|
+
- app/commands/thredded/create_messageboard.rb
|
|
672
680
|
- app/commands/thredded/mark_all_read.rb
|
|
673
681
|
- app/commands/thredded/members_marked_notified.rb
|
|
674
|
-
- app/commands/thredded/messageboard_destroyer.rb
|
|
675
682
|
- app/commands/thredded/moderate_post.rb
|
|
676
683
|
- app/commands/thredded/notify_following_users.rb
|
|
677
684
|
- app/commands/thredded/notify_private_topic_users.rb
|
|
@@ -692,6 +699,7 @@ files:
|
|
|
692
699
|
- app/forms/thredded/topic_form.rb
|
|
693
700
|
- app/forms/thredded/user_preferences_form.rb
|
|
694
701
|
- app/helpers/thredded/application_helper.rb
|
|
702
|
+
- app/helpers/thredded/nav_helper.rb
|
|
695
703
|
- app/helpers/thredded/urls_helper.rb
|
|
696
704
|
- app/jobs/thredded/activity_updater_job.rb
|
|
697
705
|
- app/jobs/thredded/auto_follow_and_notify_job.rb
|
|
@@ -745,6 +753,7 @@ files:
|
|
|
745
753
|
- app/policies/thredded/private_post_policy.rb
|
|
746
754
|
- app/policies/thredded/private_topic_policy.rb
|
|
747
755
|
- app/policies/thredded/topic_policy.rb
|
|
756
|
+
- app/view_hooks/thredded/all_view_hooks.rb
|
|
748
757
|
- app/view_models/thredded/base_topic_view.rb
|
|
749
758
|
- app/view_models/thredded/messageboard_group_view.rb
|
|
750
759
|
- app/view_models/thredded/post_view.rb
|
|
@@ -855,21 +864,25 @@ files:
|
|
|
855
864
|
- db/upgrade_migrations/20160501151908_upgrade_v0_4_to_v0_5.rb
|
|
856
865
|
- db/upgrade_migrations/20160611094616_upgrade_v0_5_to_v0_6.rb
|
|
857
866
|
- db/upgrade_migrations/20160723012349_upgrade_v0_6_to_v0_7.rb
|
|
867
|
+
- db/upgrade_migrations/20161019150201_upgrade_v0_7_to_v0_8.rb
|
|
858
868
|
- lib/generators/thredded/install/USAGE
|
|
859
869
|
- lib/generators/thredded/install/install_generator.rb
|
|
860
870
|
- lib/generators/thredded/install/templates/initializer.rb
|
|
861
|
-
- lib/html/pipeline/at_mention_filter.rb
|
|
862
|
-
- lib/html/pipeline/bbcode_filter.rb
|
|
863
871
|
- lib/tasks/thredded_tasks.rake
|
|
864
872
|
- lib/thredded.rb
|
|
865
873
|
- lib/thredded/content_formatter.rb
|
|
866
874
|
- lib/thredded/database_seeder.rb
|
|
867
875
|
- lib/thredded/engine.rb
|
|
868
876
|
- lib/thredded/errors.rb
|
|
869
|
-
- lib/thredded/
|
|
877
|
+
- lib/thredded/html_pipeline/at_mention_filter.rb
|
|
878
|
+
- lib/thredded/html_pipeline/autolink_filter.rb
|
|
879
|
+
- lib/thredded/html_pipeline/kramdown_filter.rb
|
|
870
880
|
- lib/thredded/search_parser.rb
|
|
871
881
|
- lib/thredded/topics_search.rb
|
|
872
882
|
- lib/thredded/version.rb
|
|
883
|
+
- lib/thredded/view_hooks/config.rb
|
|
884
|
+
- lib/thredded/view_hooks/renderer.rb
|
|
885
|
+
- vendor/assets/javascripts/jquery.textcomplete.js
|
|
873
886
|
homepage: https://thredded.org
|
|
874
887
|
licenses:
|
|
875
888
|
- MIT
|
|
@@ -890,7 +903,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
890
903
|
version: '0'
|
|
891
904
|
requirements: []
|
|
892
905
|
rubyforge_project:
|
|
893
|
-
rubygems_version: 2.6.
|
|
906
|
+
rubygems_version: 2.6.8
|
|
894
907
|
signing_key:
|
|
895
908
|
specification_version: 4
|
|
896
909
|
summary: The best Rails forums engine ever.
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
module Thredded
|
|
3
|
-
class MessageboardDestroyer
|
|
4
|
-
def initialize(messageboard_name)
|
|
5
|
-
@messageboard = Thredded::Messageboard.friendly.find(messageboard_name)
|
|
6
|
-
@connection = ActiveRecord::Base.connection
|
|
7
|
-
rescue
|
|
8
|
-
say "No messageboard with the name '#{messageboard_name}' found."
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def run
|
|
12
|
-
return unless messageboard
|
|
13
|
-
|
|
14
|
-
ActiveRecord::Base.transaction do
|
|
15
|
-
destroy_all_lower_dependencies
|
|
16
|
-
destroy_all_posts
|
|
17
|
-
destroy_all_topics
|
|
18
|
-
destroy_messageboard_and_everything_else
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
private
|
|
23
|
-
|
|
24
|
-
attr_reader :messageboard, :connection
|
|
25
|
-
|
|
26
|
-
def destroy_all_lower_dependencies
|
|
27
|
-
say 'Destroying lower level dependencies ...'
|
|
28
|
-
[PostNotification.joins(non_private_post: :postable), UserTopicReadState.joins(:postable)].each do |child_t|
|
|
29
|
-
child_t.merge(Topic.where(messageboard_id: messageboard.id)).delete_all
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
Thredded::MessageboardUser
|
|
33
|
-
.where(thredded_messageboard_id: messageboard.id)
|
|
34
|
-
.delete_all
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def destroy_all_posts
|
|
38
|
-
say 'Destroying all posts ...'
|
|
39
|
-
|
|
40
|
-
connection.execute <<-SQL
|
|
41
|
-
DELETE FROM thredded_posts
|
|
42
|
-
WHERE messageboard_id = #{messageboard.id}
|
|
43
|
-
SQL
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def destroy_all_topics
|
|
47
|
-
say 'Destroying all topics ...'
|
|
48
|
-
|
|
49
|
-
connection.execute <<-SQL
|
|
50
|
-
DELETE FROM thredded_topics
|
|
51
|
-
WHERE messageboard_id = #{messageboard.id}
|
|
52
|
-
SQL
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def destroy_messageboard_and_everything_else
|
|
56
|
-
say 'Destroying messageboard and everything else. Sit tight ...'
|
|
57
|
-
|
|
58
|
-
@messageboard.destroy!
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
def say(message)
|
|
62
|
-
Rails.logger.info message unless Rails.env.test?
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
end
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
require 'bbcoder'
|
|
3
|
-
|
|
4
|
-
module HTML
|
|
5
|
-
class Pipeline
|
|
6
|
-
class BbcodeFilter < TextFilter
|
|
7
|
-
def initialize(text, context = {}, result = nil)
|
|
8
|
-
super text, context, result
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def call
|
|
12
|
-
html = BBCoder.new(@text).to_html
|
|
13
|
-
html = remove_url_link_contents(html)
|
|
14
|
-
html = preserve_mkdn_comments(html)
|
|
15
|
-
html.delete('<br>')
|
|
16
|
-
html.rstrip!
|
|
17
|
-
html
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def remove_url_link_contents(html)
|
|
21
|
-
doc = Nokogiri::HTML::DocumentFragment.parse(html)
|
|
22
|
-
doc.css('a').each do |link|
|
|
23
|
-
link.content = link.content.gsub(%r{https?://}, '')
|
|
24
|
-
end
|
|
25
|
-
doc.to_html
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def preserve_mkdn_comments(html)
|
|
29
|
-
html.gsub(/^> /, '> ')
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
module Thredded
|
|
3
|
-
# If thredded is rendered within an application layout, this module allows
|
|
4
|
-
# referring to the routes in the layout directly, without having to use `main_app.`.
|
|
5
|
-
module MainAppRouteDelegator
|
|
6
|
-
# delegate url helpers to main_app
|
|
7
|
-
def method_missing(method, *args, &block)
|
|
8
|
-
if main_app_route_method?(method)
|
|
9
|
-
main_app.send(method, *args)
|
|
10
|
-
else
|
|
11
|
-
super
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def respond_to_missing?(method, *args)
|
|
16
|
-
super || main_app_route_method?(method)
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
private
|
|
20
|
-
|
|
21
|
-
def main_app_route_method?(method)
|
|
22
|
-
method.to_s =~ /_(?:path|url)$/ && main_app.respond_to?(method)
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|