publify_core 10.0.3 → 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.
Files changed (201) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +249 -53
  3. data/app/assets/javascripts/publify.js +0 -1
  4. data/app/assets/javascripts/publify_admin.js +10 -9
  5. data/app/assets/stylesheets/accounts.css.scss +0 -2
  6. data/app/assets/stylesheets/administration_structure.css.scss +0 -4
  7. data/app/assets/stylesheets/publify.css.scss +0 -1
  8. data/app/assets/stylesheets/publify_admin.css.scss +0 -2
  9. data/app/assets/stylesheets/sidebar_admin.css.scss +0 -6
  10. data/app/controllers/admin/articles_controller.rb +1 -1
  11. data/app/controllers/admin/base_controller.rb +2 -2
  12. data/app/controllers/admin/redirects_controller.rb +2 -2
  13. data/app/controllers/admin/resources_controller.rb +1 -1
  14. data/app/controllers/admin/seo_controller.rb +2 -2
  15. data/app/controllers/admin/settings_controller.rb +2 -2
  16. data/app/controllers/admin/tags_controller.rb +1 -1
  17. data/app/controllers/admin/users_controller.rb +2 -2
  18. data/app/controllers/articles_controller.rb +2 -5
  19. data/app/controllers/authors_controller.rb +0 -2
  20. data/app/controllers/comments_controller.rb +5 -2
  21. data/app/controllers/content_controller.rb +0 -4
  22. data/app/controllers/notes_controller.rb +1 -6
  23. data/app/controllers/setup_controller.rb +1 -1
  24. data/app/controllers/tags_controller.rb +0 -1
  25. data/app/controllers/users/registrations_controller.rb +1 -0
  26. data/app/helpers/admin/base_helper.rb +20 -13
  27. data/app/helpers/admin/feedback_helper.rb +4 -4
  28. data/app/helpers/base_helper.rb +10 -6
  29. data/app/helpers/xml_helper.rb +4 -0
  30. data/app/models/article.rb +7 -7
  31. data/app/models/blog.rb +3 -3
  32. data/app/models/comment.rb +1 -1
  33. data/app/models/config_manager.rb +1 -3
  34. data/app/models/content.rb +4 -5
  35. data/app/models/content_base.rb +4 -3
  36. data/app/models/feedback.rb +1 -1
  37. data/app/models/note.rb +74 -8
  38. data/app/models/page.rb +1 -1
  39. data/app/models/redirect.rb +0 -4
  40. data/app/models/resource.rb +1 -0
  41. data/app/models/sidebar.rb +6 -14
  42. data/app/models/tag.rb +2 -2
  43. data/app/models/text_filter.rb +2 -2
  44. data/app/models/trigger.rb +1 -1
  45. data/app/models/user.rb +12 -21
  46. data/app/uploaders/resource_uploader.rb +11 -4
  47. data/app/views/admin/articles/_form.html.erb +99 -105
  48. data/app/views/admin/articles/index.html.erb +15 -23
  49. data/app/views/admin/dashboard/_comment.html.erb +1 -1
  50. data/app/views/admin/dashboard/_comments.html.erb +4 -6
  51. data/app/views/admin/dashboard/_drafts.html.erb +4 -6
  52. data/app/views/admin/dashboard/_overview.html.erb +2 -5
  53. data/app/views/admin/dashboard/_welcome.html.erb +19 -19
  54. data/app/views/admin/dashboard/index.html.erb +3 -3
  55. data/app/views/admin/feedback/_button.html.erb +7 -13
  56. data/app/views/admin/feedback/article.html.erb +17 -17
  57. data/app/views/admin/feedback/edit.html.erb +17 -21
  58. data/app/views/admin/feedback/index.html.erb +8 -8
  59. data/app/views/admin/notes/_form.html.erb +5 -5
  60. data/app/views/admin/notes/_list.html.erb +1 -1
  61. data/app/views/admin/notes/_note.html.erb +1 -1
  62. data/app/views/admin/notes/edit.html.erb +1 -1
  63. data/app/views/admin/notes/index.html.erb +1 -1
  64. data/app/views/admin/pages/_form.html.erb +23 -27
  65. data/app/views/admin/post_types/_index_and_form.html.erb +5 -5
  66. data/app/views/admin/redirects/_index_and_form.html.erb +2 -2
  67. data/app/views/admin/resources/index.html.erb +20 -8
  68. data/app/views/admin/seo/_general.html.erb +36 -36
  69. data/app/views/admin/seo/_permalinks.html.erb +22 -14
  70. data/app/views/admin/seo/_titles.html.erb +63 -63
  71. data/app/views/admin/settings/display.html.erb +23 -23
  72. data/app/views/admin/settings/feedback.html.erb +29 -29
  73. data/app/views/admin/settings/index.html.erb +21 -21
  74. data/app/views/admin/settings/write.html.erb +18 -18
  75. data/app/views/admin/shared/_flash.html.erb +6 -0
  76. data/app/views/admin/shared/_menu.html.erb +56 -68
  77. data/app/views/admin/sidebar/_config.html.erb +15 -19
  78. data/app/views/admin/sidebar/_target.html.erb +3 -3
  79. data/app/views/admin/sidebar/_target_sidebar.html.erb +14 -13
  80. data/app/views/admin/sidebar/index.html.erb +2 -2
  81. data/app/views/admin/tags/_index_and_form.html.erb +3 -3
  82. data/app/views/admin/themes/index.html.erb +21 -19
  83. data/app/views/admin/users/_form.html.erb +79 -79
  84. data/app/views/articles/search.html.erb +1 -1
  85. data/app/views/layouts/accounts.html.erb +7 -9
  86. data/app/views/layouts/administration.html.erb +2 -2
  87. data/app/views/notes/show.html.erb +15 -0
  88. data/app/views/setup/index.html.erb +1 -1
  89. data/app/views/shared/_atom_item_article.atom.builder +1 -3
  90. data/app/views/shared/_rss_item_article.rss.builder +1 -2
  91. data/config/i18n-tasks.yml +0 -1
  92. data/config/locales/ar.yml +3 -2
  93. data/config/locales/da.yml +3 -2
  94. data/config/locales/de.yml +3 -2
  95. data/config/locales/en.yml +3 -2
  96. data/config/locales/es-MX.yml +3 -2
  97. data/config/locales/fr.yml +3 -2
  98. data/config/locales/he.yml +3 -2
  99. data/config/locales/it.yml +3 -2
  100. data/config/locales/ja.yml +3 -2
  101. data/config/locales/lt.yml +3 -2
  102. data/config/locales/nb.yml +3 -2
  103. data/config/locales/nl.yml +3 -2
  104. data/config/locales/pl.yml +3 -2
  105. data/config/locales/pt-BR.yml +3 -2
  106. data/config/locales/ro.yml +3 -2
  107. data/config/locales/ru.yml +3 -2
  108. data/config/locales/zh-CN.yml +3 -2
  109. data/config/locales/zh-TW.yml +3 -2
  110. data/config/routes.rb +0 -11
  111. data/db/migrate/114_fixes_buggy_articles_and_notes.rb +2 -2
  112. data/db/migrate/20150807134129_simplify_redirect_relations.rb +1 -1
  113. data/db/migrate/20160605154632_remove_profiles.rb +1 -1
  114. data/db/migrate/20190208152646_move_text_filter_to_name.rb +2 -2
  115. data/lib/format.rb +2 -2
  116. data/lib/publify_core/engine.rb +10 -0
  117. data/lib/publify_core/string_ext.rb +1 -13
  118. data/lib/publify_core/testing_support/fixtures/like_plain.html +2 -0
  119. data/lib/publify_core/text_filter/markdown.rb +5 -1
  120. data/lib/publify_core/text_filter/markdown_smartquotes.rb +6 -1
  121. data/lib/publify_core/version.rb +1 -1
  122. data/lib/publify_core.rb +2 -2
  123. data/lib/text_filter_plugin.rb +20 -22
  124. data/lib/theme.rb +56 -37
  125. metadata +101 -397
  126. data/app/assets/javascripts/bootstrap/affix.js +0 -164
  127. data/app/assets/javascripts/bootstrap/alert.js +0 -95
  128. data/app/assets/javascripts/bootstrap/button.js +0 -125
  129. data/app/assets/javascripts/bootstrap/collapse.js +0 -212
  130. data/app/assets/javascripts/bootstrap/dropdown.js +0 -165
  131. data/app/assets/javascripts/bootstrap/modal.js +0 -358
  132. data/app/assets/javascripts/bootstrap/tab.js +0 -155
  133. data/app/assets/javascripts/bootstrap/transition.js +0 -59
  134. data/app/assets/javascripts/bootstrap-sprockets.js +0 -8
  135. data/app/assets/javascripts/lightbox.js +0 -350
  136. data/app/assets/stylesheets/_bootstrap-compass.scss +0 -9
  137. data/app/assets/stylesheets/_bootstrap-mincer.scss +0 -19
  138. data/app/assets/stylesheets/_bootstrap-sprockets.scss +0 -9
  139. data/app/assets/stylesheets/_bootstrap.scss +0 -42
  140. data/app/assets/stylesheets/bootstrap/_alerts.scss +0 -73
  141. data/app/assets/stylesheets/bootstrap/_button-groups.scss +0 -242
  142. data/app/assets/stylesheets/bootstrap/_buttons.scss +0 -168
  143. data/app/assets/stylesheets/bootstrap/_close.scss +0 -37
  144. data/app/assets/stylesheets/bootstrap/_code.scss +0 -69
  145. data/app/assets/stylesheets/bootstrap/_component-animations.scss +0 -38
  146. data/app/assets/stylesheets/bootstrap/_dropdowns.scss +0 -213
  147. data/app/assets/stylesheets/bootstrap/_forms.scss +0 -586
  148. data/app/assets/stylesheets/bootstrap/_grid.scss +0 -94
  149. data/app/assets/stylesheets/bootstrap/_labels.scss +0 -66
  150. data/app/assets/stylesheets/bootstrap/_media.scss +0 -66
  151. data/app/assets/stylesheets/bootstrap/_mixins.scss +0 -37
  152. data/app/assets/stylesheets/bootstrap/_modals.scss +0 -150
  153. data/app/assets/stylesheets/bootstrap/_navbar.scss +0 -479
  154. data/app/assets/stylesheets/bootstrap/_navs.scss +0 -242
  155. data/app/assets/stylesheets/bootstrap/_normalize.scss +0 -427
  156. data/app/assets/stylesheets/bootstrap/_pagination.scss +0 -86
  157. data/app/assets/stylesheets/bootstrap/_panels.scss +0 -222
  158. data/app/assets/stylesheets/bootstrap/_print.scss +0 -99
  159. data/app/assets/stylesheets/bootstrap/_scaffolding.scss +0 -160
  160. data/app/assets/stylesheets/bootstrap/_tables.scss +0 -234
  161. data/app/assets/stylesheets/bootstrap/_theme.scss +0 -224
  162. data/app/assets/stylesheets/bootstrap/_type.scss +0 -296
  163. data/app/assets/stylesheets/bootstrap/_utilities.scss +0 -55
  164. data/app/assets/stylesheets/bootstrap/_variables.scss +0 -638
  165. data/app/assets/stylesheets/bootstrap/_wells.scss +0 -29
  166. data/app/assets/stylesheets/bootstrap/mixins/_alerts.scss +0 -15
  167. data/app/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -12
  168. data/app/assets/stylesheets/bootstrap/mixins/_border-radius.scss +0 -18
  169. data/app/assets/stylesheets/bootstrap/mixins/_buttons.scss +0 -56
  170. data/app/assets/stylesheets/bootstrap/mixins/_center-block.scss +0 -7
  171. data/app/assets/stylesheets/bootstrap/mixins/_clearfix.scss +0 -22
  172. data/app/assets/stylesheets/bootstrap/mixins/_forms.scss +0 -82
  173. data/app/assets/stylesheets/bootstrap/mixins/_gradients.scss +0 -56
  174. data/app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -81
  175. data/app/assets/stylesheets/bootstrap/mixins/_grid.scss +0 -122
  176. data/app/assets/stylesheets/bootstrap/mixins/_hide-text.scss +0 -21
  177. data/app/assets/stylesheets/bootstrap/mixins/_image.scss +0 -28
  178. data/app/assets/stylesheets/bootstrap/mixins/_labels.scss +0 -12
  179. data/app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
  180. data/app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  181. data/app/assets/stylesheets/bootstrap/mixins/_opacity.scss +0 -7
  182. data/app/assets/stylesheets/bootstrap/mixins/_pagination.scss +0 -24
  183. data/app/assets/stylesheets/bootstrap/mixins/_panels.scss +0 -20
  184. data/app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +0 -8
  185. data/app/assets/stylesheets/bootstrap/mixins/_resize.scss +0 -6
  186. data/app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +0 -17
  187. data/app/assets/stylesheets/bootstrap/mixins/_size.scss +0 -10
  188. data/app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +0 -9
  189. data/app/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -28
  190. data/app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -12
  191. data/app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +0 -8
  192. data/app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +0 -222
  193. data/app/assets/stylesheets/lightbox.css +0 -63
  194. data/app/controllers/theme_controller.rb +0 -63
  195. data/app/views/notes/show_in_reply.html.erb +0 -18
  196. data/app/views/theme/static_view_test.html.erb +0 -1
  197. data/lib/publify_core/text_filter/twitterfilter.rb +0 -55
  198. data/lib/tasks/manifest.rake +0 -30
  199. /data/app/views/layouts/{default.html.erb → application.html.erb} +0 -0
  200. /data/themes/plain/javascripts/{theme.js → plain/theme.js} +0 -0
  201. /data/themes/plain/stylesheets/{theme.css → plain/theme.css} +0 -0
@@ -1,12 +0,0 @@
1
- // Typography
2
-
3
- // [converter] $parent hack
4
- @mixin text-emphasis-variant($parent, $color) {
5
- #{$parent} {
6
- color: $color;
7
- }
8
- a#{$parent}:hover,
9
- a#{$parent}:focus {
10
- color: darken($color, 10%);
11
- }
12
- }
@@ -1,8 +0,0 @@
1
- // Text overflow
2
- // Requires inline-block or block for proper styling
3
-
4
- @mixin text-overflow() {
5
- overflow: hidden;
6
- text-overflow: ellipsis;
7
- white-space: nowrap;
8
- }
@@ -1,222 +0,0 @@
1
- // Vendor Prefixes
2
- //
3
- // All vendor mixins are deprecated as of v3.2.0 due to the introduction of
4
- // Autoprefixer in our Gruntfile. They have been removed in v4.
5
-
6
- // - Animations
7
- // - Backface visibility
8
- // - Box shadow
9
- // - Box sizing
10
- // - Content columns
11
- // - Hyphens
12
- // - Placeholder text
13
- // - Transformations
14
- // - Transitions
15
- // - User Select
16
-
17
-
18
- // Animations
19
- @mixin animation($animation) {
20
- -webkit-animation: $animation;
21
- -o-animation: $animation;
22
- animation: $animation;
23
- }
24
- @mixin animation-name($name) {
25
- -webkit-animation-name: $name;
26
- animation-name: $name;
27
- }
28
- @mixin animation-duration($duration) {
29
- -webkit-animation-duration: $duration;
30
- animation-duration: $duration;
31
- }
32
- @mixin animation-timing-function($timing-function) {
33
- -webkit-animation-timing-function: $timing-function;
34
- animation-timing-function: $timing-function;
35
- }
36
- @mixin animation-delay($delay) {
37
- -webkit-animation-delay: $delay;
38
- animation-delay: $delay;
39
- }
40
- @mixin animation-iteration-count($iteration-count) {
41
- -webkit-animation-iteration-count: $iteration-count;
42
- animation-iteration-count: $iteration-count;
43
- }
44
- @mixin animation-direction($direction) {
45
- -webkit-animation-direction: $direction;
46
- animation-direction: $direction;
47
- }
48
- @mixin animation-fill-mode($fill-mode) {
49
- -webkit-animation-fill-mode: $fill-mode;
50
- animation-fill-mode: $fill-mode;
51
- }
52
-
53
- // Backface visibility
54
- // Prevent browsers from flickering when using CSS 3D transforms.
55
- // Default value is `visible`, but can be changed to `hidden`
56
-
57
- @mixin backface-visibility($visibility) {
58
- -webkit-backface-visibility: $visibility;
59
- -moz-backface-visibility: $visibility;
60
- backface-visibility: $visibility;
61
- }
62
-
63
- // Drop shadows
64
- //
65
- // Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's
66
- // supported browsers that have box shadow capabilities now support it.
67
-
68
- @mixin box-shadow($shadow...) {
69
- -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1
70
- box-shadow: $shadow;
71
- }
72
-
73
- // Box sizing
74
- @mixin box-sizing($boxmodel) {
75
- -webkit-box-sizing: $boxmodel;
76
- -moz-box-sizing: $boxmodel;
77
- box-sizing: $boxmodel;
78
- }
79
-
80
- // CSS3 Content Columns
81
- @mixin content-columns($column-count, $column-gap: $grid-gutter-width) {
82
- -webkit-column-count: $column-count;
83
- -moz-column-count: $column-count;
84
- column-count: $column-count;
85
- -webkit-column-gap: $column-gap;
86
- -moz-column-gap: $column-gap;
87
- column-gap: $column-gap;
88
- }
89
-
90
- // Optional hyphenation
91
- @mixin hyphens($mode: auto) {
92
- -webkit-hyphens: $mode;
93
- -moz-hyphens: $mode;
94
- -ms-hyphens: $mode; // IE10+
95
- -o-hyphens: $mode;
96
- hyphens: $mode;
97
- word-wrap: break-word;
98
- }
99
-
100
- // Placeholder text
101
- @mixin placeholder($color: $input-color-placeholder) {
102
- // Firefox
103
- &::-moz-placeholder {
104
- color: $color;
105
- opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526
106
- }
107
- &:-ms-input-placeholder { color: $color; } // Internet Explorer 10+
108
- &::-webkit-input-placeholder { color: $color; } // Safari and Chrome
109
- }
110
-
111
- // Transformations
112
- @mixin scale($ratio...) {
113
- -webkit-transform: scale($ratio);
114
- -ms-transform: scale($ratio); // IE9 only
115
- -o-transform: scale($ratio);
116
- transform: scale($ratio);
117
- }
118
-
119
- @mixin scaleX($ratio) {
120
- -webkit-transform: scaleX($ratio);
121
- -ms-transform: scaleX($ratio); // IE9 only
122
- -o-transform: scaleX($ratio);
123
- transform: scaleX($ratio);
124
- }
125
- @mixin scaleY($ratio) {
126
- -webkit-transform: scaleY($ratio);
127
- -ms-transform: scaleY($ratio); // IE9 only
128
- -o-transform: scaleY($ratio);
129
- transform: scaleY($ratio);
130
- }
131
- @mixin skew($x, $y) {
132
- -webkit-transform: skewX($x) skewY($y);
133
- -ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
134
- -o-transform: skewX($x) skewY($y);
135
- transform: skewX($x) skewY($y);
136
- }
137
- @mixin translate($x, $y) {
138
- -webkit-transform: translate($x, $y);
139
- -ms-transform: translate($x, $y); // IE9 only
140
- -o-transform: translate($x, $y);
141
- transform: translate($x, $y);
142
- }
143
- @mixin translate3d($x, $y, $z) {
144
- -webkit-transform: translate3d($x, $y, $z);
145
- transform: translate3d($x, $y, $z);
146
- }
147
- @mixin rotate($degrees) {
148
- -webkit-transform: rotate($degrees);
149
- -ms-transform: rotate($degrees); // IE9 only
150
- -o-transform: rotate($degrees);
151
- transform: rotate($degrees);
152
- }
153
- @mixin rotateX($degrees) {
154
- -webkit-transform: rotateX($degrees);
155
- -ms-transform: rotateX($degrees); // IE9 only
156
- -o-transform: rotateX($degrees);
157
- transform: rotateX($degrees);
158
- }
159
- @mixin rotateY($degrees) {
160
- -webkit-transform: rotateY($degrees);
161
- -ms-transform: rotateY($degrees); // IE9 only
162
- -o-transform: rotateY($degrees);
163
- transform: rotateY($degrees);
164
- }
165
- @mixin perspective($perspective) {
166
- -webkit-perspective: $perspective;
167
- -moz-perspective: $perspective;
168
- perspective: $perspective;
169
- }
170
- @mixin perspective-origin($perspective) {
171
- -webkit-perspective-origin: $perspective;
172
- -moz-perspective-origin: $perspective;
173
- perspective-origin: $perspective;
174
- }
175
- @mixin transform-origin($origin) {
176
- -webkit-transform-origin: $origin;
177
- -moz-transform-origin: $origin;
178
- -ms-transform-origin: $origin; // IE9 only
179
- transform-origin: $origin;
180
- }
181
-
182
-
183
- // Transitions
184
-
185
- @mixin transition($transition...) {
186
- -webkit-transition: $transition;
187
- -o-transition: $transition;
188
- transition: $transition;
189
- }
190
- @mixin transition-property($transition-property...) {
191
- -webkit-transition-property: $transition-property;
192
- transition-property: $transition-property;
193
- }
194
- @mixin transition-delay($transition-delay) {
195
- -webkit-transition-delay: $transition-delay;
196
- transition-delay: $transition-delay;
197
- }
198
- @mixin transition-duration($transition-duration...) {
199
- -webkit-transition-duration: $transition-duration;
200
- transition-duration: $transition-duration;
201
- }
202
- @mixin transition-timing-function($timing-function) {
203
- -webkit-transition-timing-function: $timing-function;
204
- transition-timing-function: $timing-function;
205
- }
206
- @mixin transition-transform($transition...) {
207
- -webkit-transition: -webkit-transform $transition;
208
- -moz-transition: -moz-transform $transition;
209
- -o-transition: -o-transform $transition;
210
- transition: transform $transition;
211
- }
212
-
213
-
214
- // User select
215
- // For selecting text on the page
216
-
217
- @mixin user-select($select) {
218
- -webkit-user-select: $select;
219
- -moz-user-select: $select;
220
- -ms-user-select: $select; // IE10+
221
- user-select: $select;
222
- }
@@ -1,63 +0,0 @@
1
- /*!
2
- * Lightbox for Bootstrap 3 by @ashleydw
3
- * https://github.com/ashleydw/lightbox
4
- *
5
- * License: https://github.com/ashleydw/lightbox/blob/master/LICENSE
6
- */
7
-
8
- .ekko-lightbox-container {
9
- position: relative;
10
- }
11
-
12
- .ekko-lightbox-nav-overlay {
13
- position: absolute;
14
- top: 0;
15
- left: 0;
16
- z-index: 100;
17
- width: 100%;
18
- height: 100%;
19
- }
20
-
21
- .ekko-lightbox-nav-overlay a {
22
- z-index: 100;
23
- display: block;
24
- width: 49%;
25
- height: 100%;
26
- padding-top: 45%;
27
- font-size: 30px;
28
- color: #fff;
29
- text-shadow: 2px 2px 4px #000;
30
- opacity: 0;
31
- filter: dropshadow(color=#000000, offx=2, offy=2);
32
- -webkit-transition: opacity 0.5s;
33
- -moz-transition: opacity 0.5s;
34
- -o-transition: opacity 0.5s;
35
- transition: opacity 0.5s;
36
- }
37
-
38
- .ekko-lightbox-nav-overlay a:empty {
39
- width: 49%;
40
- }
41
-
42
- .ekko-lightbox a:hover {
43
- text-decoration: none;
44
- opacity: 1;
45
- }
46
-
47
- .ekko-lightbox .chevron-left {
48
- left: 0;
49
- float: left;
50
- padding-left: 15px;
51
- text-align: left;
52
- }
53
-
54
- .ekko-lightbox .chevron-right {
55
- right: 0;
56
- float: right;
57
- padding-right: 15px;
58
- text-align: right;
59
- }
60
-
61
- .ekko-lightbox .modal-footer {
62
- text-align: left;
63
- }
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class ThemeController < ContentController
4
- # Allow javascripts via Get request
5
- skip_before_action :verify_authenticity_token, only: :javascripts
6
-
7
- def stylesheets
8
- render_theme_item(:stylesheets, params[:filename], "text/css; charset=utf-8")
9
- end
10
-
11
- def javascripts
12
- render_theme_item(:javascripts, params[:filename], "text/javascript; charset=utf-8")
13
- end
14
-
15
- def images
16
- render_theme_item(:images, params[:filename])
17
- end
18
-
19
- def fonts
20
- render_theme_item(:fonts, params[:filename])
21
- end
22
-
23
- def error
24
- head :not_found
25
- end
26
-
27
- def static_view_test; end
28
-
29
- private
30
-
31
- def render_theme_item(type, file, mime = nil)
32
- return render_not_found if file.split(%r{[\\/]}).include?("..")
33
-
34
- src = this_blog.current_theme.path + "/#{type}/#{file}"
35
- return render_not_found unless File.exist? src
36
-
37
- mime ||= mime_for(file)
38
- send_file(src, type: mime, disposition: "inline", stream: true)
39
- end
40
-
41
- def render_not_found
42
- render plain: "Not Found", status: :not_found
43
- end
44
-
45
- def mime_for(filename)
46
- case filename.downcase
47
- when /\.js$/
48
- "text/javascript"
49
- when /\.css$/
50
- "text/css"
51
- when /\.gif$/
52
- "image/gif"
53
- when /(\.jpg|\.jpeg)$/
54
- "image/jpeg"
55
- when /\.png$/
56
- "image/png"
57
- when /\.swf$/
58
- "application/x-shockwave-flash"
59
- else
60
- "application/binary"
61
- end
62
- end
63
- end
@@ -1,18 +0,0 @@
1
- <div class="hfeed">
2
- <div class='h-entry hentry h-as-note'>
3
- <article class=' well well-small'>
4
- <% if @reply['user']['profile_image_url'] %>
5
- <%= image_tag(@reply['user']['profile_image_url'], class: 'alignleft', alt: @reply['user']['name']) %>
6
- <% end %>
7
- <strong><%= get_reply_context_url(@reply) %></strong>
8
- <p><%= nofollowify_links(PublifyCore::TextFilter::Twitterfilter.filtertext(@reply['text'])) %></p>
9
- <p>
10
- <small>
11
- <%= get_reply_context_twitter_link(@reply) %>
12
- </small>
13
- </p>
14
- </article>
15
-
16
- <%= render partial: 'note', object: @note %>
17
- </div>
18
- </div>
@@ -1 +0,0 @@
1
- <!-- Static View Test from app/ -->
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "text_filter_plugin"
4
- require "html/pipeline"
5
- require "html/pipeline/hashtag/hashtag_filter"
6
-
7
- module PublifyCore::TextFilter
8
- class Twitterfilter < TextFilterPlugin::PostProcess
9
- plugin_display_name "Twitter Filter"
10
- plugin_description "Convert hashtags and mentions to links"
11
-
12
- class TwitterHashtagFilter < HTML::Pipeline::HashtagFilter
13
- def initialize(text)
14
- super(text,
15
- tag_url: "https://twitter.com/search?q=%%23%<tag>s&src=tren&mode=realtime",
16
- tag_link_attr: "")
17
- end
18
- end
19
-
20
- class TwitterMentionFilter < HTML::Pipeline::MentionFilter
21
- def initialize(text)
22
- super(text, base_url: "https://twitter.com")
23
- end
24
-
25
- # Override base mentions finder, treating @mention just like any other @foo.
26
- def self.mentioned_logins_in(text, username_pattern = UsernamePattern)
27
- text.gsub MentionPatterns[username_pattern] do |match|
28
- login = Regexp.last_match(1)
29
- yield match, login, false
30
- end
31
- end
32
-
33
- # Override base link creator, removing the class
34
- def link_to_mentioned_user(login)
35
- result[:mentioned_usernames] |= [login]
36
-
37
- url = base_url.dup
38
- url << "/" unless %r{[/~]\z}.match?(url)
39
-
40
- "<a href='#{url << login}'>" \
41
- "@#{login}" \
42
- "</a>"
43
- end
44
- end
45
-
46
- def self.filtertext(text)
47
- # First, autolink
48
- helper = PublifyCore::ContentTextHelpers.new
49
- text = helper.auto_link(text)
50
-
51
- text = TwitterHashtagFilter.new(text).call
52
- TwitterMentionFilter.new(text).call.to_s
53
- end
54
- end
55
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- namespace :manifest do
4
- def gemmable_files
5
- `git ls-files -z`.split("\x0").reject do |file|
6
- file.match(%r{^(bin|spec)/}) ||
7
- file.end_with?("/.keep") ||
8
- file.start_with?(".") ||
9
- %w(Manifest.txt Gemfile Rakefile publify_core.gemspec).include?(file)
10
- end
11
- end
12
-
13
- def manifest_files
14
- File.open("Manifest.txt").readlines.map(&:chomp)
15
- end
16
-
17
- desc "Create manifest"
18
- task :create do
19
- File.open("Manifest.txt", "w") do |manifest|
20
- gemmable_files.each { |file| manifest.puts file }
21
- end
22
- end
23
-
24
- desc "Check manifest"
25
- task :check do
26
- unless gemmable_files == manifest_files
27
- raise "Manifest check failed, try recreating the manifest"
28
- end
29
- end
30
- end