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.
Files changed (200) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +243 -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 +1 -0
  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/text_filter/markdown.rb +5 -1
  119. data/lib/publify_core/text_filter/markdown_smartquotes.rb +6 -1
  120. data/lib/publify_core/version.rb +1 -1
  121. data/lib/publify_core.rb +2 -2
  122. data/lib/text_filter_plugin.rb +20 -22
  123. data/lib/theme.rb +56 -37
  124. metadata +100 -397
  125. data/app/assets/javascripts/bootstrap/affix.js +0 -164
  126. data/app/assets/javascripts/bootstrap/alert.js +0 -95
  127. data/app/assets/javascripts/bootstrap/button.js +0 -125
  128. data/app/assets/javascripts/bootstrap/collapse.js +0 -212
  129. data/app/assets/javascripts/bootstrap/dropdown.js +0 -165
  130. data/app/assets/javascripts/bootstrap/modal.js +0 -358
  131. data/app/assets/javascripts/bootstrap/tab.js +0 -155
  132. data/app/assets/javascripts/bootstrap/transition.js +0 -59
  133. data/app/assets/javascripts/bootstrap-sprockets.js +0 -8
  134. data/app/assets/javascripts/lightbox.js +0 -350
  135. data/app/assets/stylesheets/_bootstrap-compass.scss +0 -9
  136. data/app/assets/stylesheets/_bootstrap-mincer.scss +0 -19
  137. data/app/assets/stylesheets/_bootstrap-sprockets.scss +0 -9
  138. data/app/assets/stylesheets/_bootstrap.scss +0 -42
  139. data/app/assets/stylesheets/bootstrap/_alerts.scss +0 -73
  140. data/app/assets/stylesheets/bootstrap/_button-groups.scss +0 -242
  141. data/app/assets/stylesheets/bootstrap/_buttons.scss +0 -168
  142. data/app/assets/stylesheets/bootstrap/_close.scss +0 -37
  143. data/app/assets/stylesheets/bootstrap/_code.scss +0 -69
  144. data/app/assets/stylesheets/bootstrap/_component-animations.scss +0 -38
  145. data/app/assets/stylesheets/bootstrap/_dropdowns.scss +0 -213
  146. data/app/assets/stylesheets/bootstrap/_forms.scss +0 -586
  147. data/app/assets/stylesheets/bootstrap/_grid.scss +0 -94
  148. data/app/assets/stylesheets/bootstrap/_labels.scss +0 -66
  149. data/app/assets/stylesheets/bootstrap/_media.scss +0 -66
  150. data/app/assets/stylesheets/bootstrap/_mixins.scss +0 -37
  151. data/app/assets/stylesheets/bootstrap/_modals.scss +0 -150
  152. data/app/assets/stylesheets/bootstrap/_navbar.scss +0 -479
  153. data/app/assets/stylesheets/bootstrap/_navs.scss +0 -242
  154. data/app/assets/stylesheets/bootstrap/_normalize.scss +0 -427
  155. data/app/assets/stylesheets/bootstrap/_pagination.scss +0 -86
  156. data/app/assets/stylesheets/bootstrap/_panels.scss +0 -222
  157. data/app/assets/stylesheets/bootstrap/_print.scss +0 -99
  158. data/app/assets/stylesheets/bootstrap/_scaffolding.scss +0 -160
  159. data/app/assets/stylesheets/bootstrap/_tables.scss +0 -234
  160. data/app/assets/stylesheets/bootstrap/_theme.scss +0 -224
  161. data/app/assets/stylesheets/bootstrap/_type.scss +0 -296
  162. data/app/assets/stylesheets/bootstrap/_utilities.scss +0 -55
  163. data/app/assets/stylesheets/bootstrap/_variables.scss +0 -638
  164. data/app/assets/stylesheets/bootstrap/_wells.scss +0 -29
  165. data/app/assets/stylesheets/bootstrap/mixins/_alerts.scss +0 -15
  166. data/app/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -12
  167. data/app/assets/stylesheets/bootstrap/mixins/_border-radius.scss +0 -18
  168. data/app/assets/stylesheets/bootstrap/mixins/_buttons.scss +0 -56
  169. data/app/assets/stylesheets/bootstrap/mixins/_center-block.scss +0 -7
  170. data/app/assets/stylesheets/bootstrap/mixins/_clearfix.scss +0 -22
  171. data/app/assets/stylesheets/bootstrap/mixins/_forms.scss +0 -82
  172. data/app/assets/stylesheets/bootstrap/mixins/_gradients.scss +0 -56
  173. data/app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -81
  174. data/app/assets/stylesheets/bootstrap/mixins/_grid.scss +0 -122
  175. data/app/assets/stylesheets/bootstrap/mixins/_hide-text.scss +0 -21
  176. data/app/assets/stylesheets/bootstrap/mixins/_image.scss +0 -28
  177. data/app/assets/stylesheets/bootstrap/mixins/_labels.scss +0 -12
  178. data/app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
  179. data/app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  180. data/app/assets/stylesheets/bootstrap/mixins/_opacity.scss +0 -7
  181. data/app/assets/stylesheets/bootstrap/mixins/_pagination.scss +0 -24
  182. data/app/assets/stylesheets/bootstrap/mixins/_panels.scss +0 -20
  183. data/app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +0 -8
  184. data/app/assets/stylesheets/bootstrap/mixins/_resize.scss +0 -6
  185. data/app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +0 -17
  186. data/app/assets/stylesheets/bootstrap/mixins/_size.scss +0 -10
  187. data/app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +0 -9
  188. data/app/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -28
  189. data/app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -12
  190. data/app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +0 -8
  191. data/app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +0 -222
  192. data/app/assets/stylesheets/lightbox.css +0 -63
  193. data/app/controllers/theme_controller.rb +0 -63
  194. data/app/views/notes/show_in_reply.html.erb +0 -18
  195. data/app/views/theme/static_view_test.html.erb +0 -1
  196. data/lib/publify_core/text_filter/twitterfilter.rb +0 -55
  197. data/lib/tasks/manifest.rake +0 -30
  198. /data/app/views/layouts/{default.html.erb → application.html.erb} +0 -0
  199. /data/themes/plain/javascripts/{theme.js → plain/theme.js} +0 -0
  200. /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