integral 1.1.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (633) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +6 -33
  3. data/Rakefile +1 -1
  4. data/app/assets/images/integral/defaults/no_image_available.jpg +0 -0
  5. data/app/assets/images/logo.png +0 -0
  6. data/app/assets/javascripts/ckeditor/my_config.js.erb +26 -18
  7. data/app/assets/javascripts/ckeditor/plugins/autoembed/lang/lv.js +8 -0
  8. data/app/assets/javascripts/ckeditor/plugins/autoembed/plugin.js +1 -1
  9. data/app/assets/javascripts/ckeditor/plugins/autogrow/plugin.js +14 -14
  10. data/app/assets/javascripts/ckeditor/plugins/autogrow/samples/autogrow.html +8 -8
  11. data/app/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.min.css +1 -1
  12. data/app/assets/javascripts/ckeditor/plugins/codemirror/icons/autoformat.png +0 -0
  13. data/app/assets/javascripts/ckeditor/plugins/codemirror/icons/searchcode.png +0 -0
  14. data/app/assets/javascripts/ckeditor/plugins/codemirror/icons/uncommentselectedrange.png +0 -0
  15. data/app/assets/javascripts/ckeditor/plugins/codemirror/images/autocomplete.png +0 -0
  16. data/app/assets/javascripts/ckeditor/plugins/codemirror/images/autoformat.png +0 -0
  17. data/app/assets/javascripts/ckeditor/plugins/codemirror/images/commentselectedrange.png +0 -0
  18. data/app/assets/javascripts/ckeditor/plugins/codemirror/images/searchcode.png +0 -0
  19. data/app/assets/javascripts/ckeditor/plugins/codemirror/images/uncommentselectedrange.png +0 -0
  20. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/beautify.min.js +2 -2
  21. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.min.js +2 -2
  22. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.search.min.js +1 -1
  23. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.min.js +1 -6
  24. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.bbcodemixed.min.js +1 -1
  25. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.handlebars.min.js +1 -0
  26. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.htmlmixed.min.js +2 -2
  27. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.javascript.min.js +1 -1
  28. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.php.min.js +3 -3
  29. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.twig.min.js +1 -1
  30. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/bg.js +7 -7
  31. data/app/assets/javascripts/ckeditor/plugins/codemirror/plugin.js +231 -217
  32. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/darcula.css +46 -0
  33. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/gruvbox-dark.css +34 -0
  34. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/idea.css +42 -0
  35. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/lesser-dark.css +1 -1
  36. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/lucario.css +37 -0
  37. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/monokai.css +5 -0
  38. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/oceanic-next.css +44 -0
  39. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/shadowfox.css +52 -0
  40. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/ssms.css +16 -0
  41. data/app/assets/javascripts/ckeditor/plugins/embedbase/lang/ar.js +15 -0
  42. data/app/assets/javascripts/ckeditor/plugins/embedbase/lang/lv.js +15 -0
  43. data/app/assets/javascripts/ckeditor/plugins/embedbase/plugin.js +1 -1
  44. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/copywidget.png +0 -0
  45. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/editwidget.png +0 -0
  46. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/hidpi/copywidget.png +0 -0
  47. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/hidpi/editwidget.png +0 -0
  48. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/hidpi/removewidget.png +0 -0
  49. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/hidpi/widget.png +0 -0
  50. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/removewidget.png +0 -0
  51. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/widget.png +0 -0
  52. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/plugin.js +86 -0
  53. data/app/assets/javascripts/ckeditor/plugins/image2/dev/assets/image1.jpg +0 -0
  54. data/app/assets/javascripts/ckeditor/plugins/image2/dev/assets/image2.jpg +0 -0
  55. data/app/assets/javascripts/ckeditor/plugins/image2/dev/contents.css +35 -0
  56. data/app/assets/javascripts/ckeditor/plugins/image2/dev/image2.html +339 -0
  57. data/app/assets/javascripts/ckeditor/plugins/image2/dialogs/image2.js +553 -0
  58. data/app/assets/javascripts/ckeditor/plugins/image2/icons/hidpi/image.png +0 -0
  59. data/app/assets/javascripts/ckeditor/plugins/image2/icons/image.png +0 -0
  60. data/app/assets/javascripts/ckeditor/plugins/image2/lang/af.js +21 -0
  61. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ar.js +21 -0
  62. data/app/assets/javascripts/ckeditor/plugins/image2/lang/az.js +21 -0
  63. data/app/assets/javascripts/ckeditor/plugins/image2/lang/bg.js +21 -0
  64. data/app/assets/javascripts/ckeditor/plugins/image2/lang/bn.js +21 -0
  65. data/app/assets/javascripts/ckeditor/plugins/image2/lang/bs.js +21 -0
  66. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ca.js +21 -0
  67. data/app/assets/javascripts/ckeditor/plugins/image2/lang/cs.js +21 -0
  68. data/app/assets/javascripts/ckeditor/plugins/image2/lang/cy.js +21 -0
  69. data/app/assets/javascripts/ckeditor/plugins/image2/lang/da.js +21 -0
  70. data/app/assets/javascripts/ckeditor/plugins/image2/lang/de-ch.js +21 -0
  71. data/app/assets/javascripts/ckeditor/plugins/image2/lang/de.js +21 -0
  72. data/app/assets/javascripts/ckeditor/plugins/image2/lang/el.js +21 -0
  73. data/app/assets/javascripts/ckeditor/plugins/image2/lang/en-au.js +21 -0
  74. data/app/assets/javascripts/ckeditor/plugins/image2/lang/en-ca.js +21 -0
  75. data/app/assets/javascripts/ckeditor/plugins/image2/lang/en-gb.js +21 -0
  76. data/app/assets/javascripts/ckeditor/plugins/image2/lang/en.js +21 -0
  77. data/app/assets/javascripts/ckeditor/plugins/image2/lang/eo.js +21 -0
  78. data/app/assets/javascripts/ckeditor/plugins/image2/lang/es-mx.js +21 -0
  79. data/app/assets/javascripts/ckeditor/plugins/image2/lang/es.js +21 -0
  80. data/app/assets/javascripts/ckeditor/plugins/image2/lang/et.js +21 -0
  81. data/app/assets/javascripts/ckeditor/plugins/image2/lang/eu.js +21 -0
  82. data/app/assets/javascripts/ckeditor/plugins/image2/lang/fa.js +21 -0
  83. data/app/assets/javascripts/ckeditor/plugins/image2/lang/fi.js +21 -0
  84. data/app/assets/javascripts/ckeditor/plugins/image2/lang/fo.js +21 -0
  85. data/app/assets/javascripts/ckeditor/plugins/image2/lang/fr-ca.js +21 -0
  86. data/app/assets/javascripts/ckeditor/plugins/image2/lang/fr.js +21 -0
  87. data/app/assets/javascripts/ckeditor/plugins/image2/lang/gl.js +21 -0
  88. data/app/assets/javascripts/ckeditor/plugins/image2/lang/gu.js +21 -0
  89. data/app/assets/javascripts/ckeditor/plugins/image2/lang/he.js +21 -0
  90. data/app/assets/javascripts/ckeditor/plugins/image2/lang/hi.js +21 -0
  91. data/app/assets/javascripts/ckeditor/plugins/image2/lang/hr.js +21 -0
  92. data/app/assets/javascripts/ckeditor/plugins/image2/lang/hu.js +21 -0
  93. data/app/assets/javascripts/ckeditor/plugins/image2/lang/id.js +21 -0
  94. data/app/assets/javascripts/ckeditor/plugins/image2/lang/is.js +21 -0
  95. data/app/assets/javascripts/ckeditor/plugins/image2/lang/it.js +21 -0
  96. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ja.js +21 -0
  97. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ka.js +21 -0
  98. data/app/assets/javascripts/ckeditor/plugins/image2/lang/km.js +21 -0
  99. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ko.js +21 -0
  100. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ku.js +21 -0
  101. data/app/assets/javascripts/ckeditor/plugins/image2/lang/lt.js +21 -0
  102. data/app/assets/javascripts/ckeditor/plugins/image2/lang/lv.js +21 -0
  103. data/app/assets/javascripts/ckeditor/plugins/image2/lang/mk.js +21 -0
  104. data/app/assets/javascripts/ckeditor/plugins/image2/lang/mn.js +21 -0
  105. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ms.js +21 -0
  106. data/app/assets/javascripts/ckeditor/plugins/image2/lang/nb.js +21 -0
  107. data/app/assets/javascripts/ckeditor/plugins/image2/lang/nl.js +21 -0
  108. data/app/assets/javascripts/ckeditor/plugins/image2/lang/no.js +21 -0
  109. data/app/assets/javascripts/ckeditor/plugins/image2/lang/oc.js +21 -0
  110. data/app/assets/javascripts/ckeditor/plugins/image2/lang/pl.js +21 -0
  111. data/app/assets/javascripts/ckeditor/plugins/image2/lang/pt-br.js +21 -0
  112. data/app/assets/javascripts/ckeditor/plugins/image2/lang/pt.js +21 -0
  113. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ro.js +21 -0
  114. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ru.js +21 -0
  115. data/app/assets/javascripts/ckeditor/plugins/image2/lang/si.js +21 -0
  116. data/app/assets/javascripts/ckeditor/plugins/image2/lang/sk.js +21 -0
  117. data/app/assets/javascripts/ckeditor/plugins/image2/lang/sl.js +21 -0
  118. data/app/assets/javascripts/ckeditor/plugins/image2/lang/sq.js +21 -0
  119. data/app/assets/javascripts/ckeditor/plugins/image2/lang/sr-latn.js +21 -0
  120. data/app/assets/javascripts/ckeditor/plugins/image2/lang/sr.js +21 -0
  121. data/app/assets/javascripts/ckeditor/plugins/image2/lang/sv.js +21 -0
  122. data/app/assets/javascripts/ckeditor/plugins/image2/lang/th.js +21 -0
  123. data/app/assets/javascripts/ckeditor/plugins/image2/lang/tr.js +21 -0
  124. data/app/assets/javascripts/ckeditor/plugins/image2/lang/tt.js +21 -0
  125. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ug.js +21 -0
  126. data/app/assets/javascripts/ckeditor/plugins/image2/lang/uk.js +21 -0
  127. data/app/assets/javascripts/ckeditor/plugins/image2/lang/vi.js +21 -0
  128. data/app/assets/javascripts/ckeditor/plugins/image2/lang/zh-cn.js +21 -0
  129. data/app/assets/javascripts/ckeditor/plugins/image2/lang/zh.js +21 -0
  130. data/app/assets/javascripts/ckeditor/plugins/image2/plugin.js +1720 -0
  131. data/app/assets/javascripts/ckeditor/plugins/image2/samples/assets/image1.jpg +0 -0
  132. data/app/assets/javascripts/ckeditor/plugins/image2/samples/assets/image2.jpg +0 -0
  133. data/app/assets/javascripts/ckeditor/plugins/image2/samples/image2.html +68 -0
  134. data/app/assets/javascripts/ckeditor/plugins/lineutils/dev/dnd.html +4 -4
  135. data/app/assets/javascripts/ckeditor/plugins/lineutils/dev/magicfinger.html +4 -4
  136. data/app/assets/javascripts/ckeditor/plugins/lineutils/plugin.js +7 -7
  137. data/app/assets/javascripts/ckeditor/plugins/linkballoon/README.md +5 -0
  138. data/app/assets/javascripts/ckeditor/plugins/linkballoon/assets/demo.png +0 -0
  139. data/app/assets/javascripts/ckeditor/plugins/linkballoon/plugin.js +25 -0
  140. data/app/assets/javascripts/ckeditor/plugins/notification/lang/az.js +7 -0
  141. data/app/assets/javascripts/ckeditor/plugins/notification/lang/bg.js +7 -0
  142. data/app/assets/javascripts/ckeditor/plugins/notification/lang/ca.js +7 -0
  143. data/app/assets/javascripts/ckeditor/plugins/notification/lang/cs.js +2 -2
  144. data/app/assets/javascripts/ckeditor/plugins/notification/lang/da.js +2 -2
  145. data/app/assets/javascripts/ckeditor/plugins/notification/lang/de-ch.js +2 -2
  146. data/app/assets/javascripts/ckeditor/plugins/notification/lang/de.js +2 -2
  147. data/app/assets/javascripts/ckeditor/plugins/notification/lang/en-au.js +7 -0
  148. data/app/assets/javascripts/ckeditor/plugins/notification/lang/en.js +2 -2
  149. data/app/assets/javascripts/ckeditor/plugins/notification/lang/eo.js +2 -2
  150. data/app/assets/javascripts/ckeditor/plugins/notification/lang/es-mx.js +7 -0
  151. data/app/assets/javascripts/ckeditor/plugins/notification/lang/es.js +7 -0
  152. data/app/assets/javascripts/ckeditor/plugins/notification/lang/et.js +7 -0
  153. data/app/assets/javascripts/ckeditor/plugins/notification/lang/eu.js +2 -2
  154. data/app/assets/javascripts/ckeditor/plugins/notification/lang/fa.js +7 -0
  155. data/app/assets/javascripts/ckeditor/plugins/notification/lang/fr.js +3 -3
  156. data/app/assets/javascripts/ckeditor/plugins/notification/lang/gl.js +2 -2
  157. data/app/assets/javascripts/ckeditor/plugins/notification/lang/hr.js +7 -0
  158. data/app/assets/javascripts/ckeditor/plugins/notification/lang/hu.js +7 -0
  159. data/app/assets/javascripts/ckeditor/plugins/notification/lang/id.js +2 -2
  160. data/app/assets/javascripts/ckeditor/plugins/notification/lang/it.js +2 -2
  161. data/app/assets/javascripts/ckeditor/plugins/notification/lang/ja.js +7 -0
  162. data/app/assets/javascripts/ckeditor/plugins/notification/lang/km.js +2 -2
  163. data/app/assets/javascripts/ckeditor/plugins/notification/lang/ko.js +2 -2
  164. data/app/assets/javascripts/ckeditor/plugins/notification/lang/ku.js +2 -2
  165. data/app/assets/javascripts/ckeditor/plugins/notification/lang/lv.js +7 -0
  166. data/app/assets/javascripts/ckeditor/plugins/notification/lang/nb.js +2 -2
  167. data/app/assets/javascripts/ckeditor/plugins/notification/lang/nl.js +2 -2
  168. data/app/assets/javascripts/ckeditor/plugins/notification/lang/oc.js +7 -0
  169. data/app/assets/javascripts/ckeditor/plugins/notification/lang/pl.js +2 -2
  170. data/app/assets/javascripts/ckeditor/plugins/notification/lang/pt-br.js +2 -2
  171. data/app/assets/javascripts/ckeditor/plugins/notification/lang/pt.js +2 -2
  172. data/app/assets/javascripts/ckeditor/plugins/notification/lang/ro.js +7 -0
  173. data/app/assets/javascripts/ckeditor/plugins/notification/lang/ru.js +2 -2
  174. data/app/assets/javascripts/ckeditor/plugins/notification/lang/sk.js +7 -0
  175. data/app/assets/javascripts/ckeditor/plugins/notification/lang/sq.js +7 -0
  176. data/app/assets/javascripts/ckeditor/plugins/notification/lang/sv.js +2 -2
  177. data/app/assets/javascripts/ckeditor/plugins/notification/lang/tr.js +2 -2
  178. data/app/assets/javascripts/ckeditor/plugins/notification/lang/ug.js +2 -2
  179. data/app/assets/javascripts/ckeditor/plugins/notification/lang/uk.js +2 -2
  180. data/app/assets/javascripts/ckeditor/plugins/notification/lang/zh-cn.js +3 -3
  181. data/app/assets/javascripts/ckeditor/plugins/notification/lang/zh.js +2 -2
  182. data/app/assets/javascripts/ckeditor/plugins/notification/plugin.js +794 -784
  183. data/app/assets/javascripts/ckeditor/plugins/openlink/README.md +50 -0
  184. data/app/assets/javascripts/ckeditor/plugins/openlink/icons/hidpi/openLink.png +0 -0
  185. data/app/assets/javascripts/ckeditor/plugins/openlink/icons/openLink.png +0 -0
  186. data/app/assets/javascripts/ckeditor/plugins/openlink/lang/bg.js +7 -0
  187. data/app/assets/javascripts/ckeditor/plugins/openlink/lang/de.js +7 -0
  188. data/app/assets/javascripts/ckeditor/plugins/openlink/lang/en.js +7 -0
  189. data/app/assets/javascripts/ckeditor/plugins/openlink/lang/pl.js +7 -0
  190. data/app/assets/javascripts/ckeditor/plugins/openlink/lang/ru.js +7 -0
  191. data/app/assets/javascripts/ckeditor/plugins/openlink/lang/uk.js +7 -0
  192. data/app/assets/javascripts/ckeditor/plugins/openlink/plugin.js +178 -0
  193. data/app/assets/javascripts/ckeditor/plugins/placeholder/dev/placeholder.html +5 -5
  194. data/app/assets/javascripts/ckeditor/plugins/placeholder/dialogs/placeholder.js +2 -2
  195. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/af.js +2 -2
  196. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ar.js +2 -2
  197. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/az.js +2 -2
  198. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/bg.js +5 -5
  199. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ca.js +2 -2
  200. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/cs.js +2 -2
  201. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/cy.js +2 -2
  202. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/da.js +2 -2
  203. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/de-ch.js +2 -2
  204. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/de.js +2 -2
  205. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/el.js +2 -2
  206. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/en-au.js +12 -0
  207. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/en-gb.js +2 -2
  208. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/en.js +2 -2
  209. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/eo.js +2 -2
  210. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/es-mx.js +2 -2
  211. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/es.js +2 -2
  212. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/et.js +2 -2
  213. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/eu.js +2 -2
  214. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/fa.js +2 -2
  215. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/fi.js +2 -2
  216. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/fr-ca.js +2 -2
  217. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/fr.js +2 -2
  218. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/gl.js +2 -2
  219. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/he.js +2 -2
  220. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/hr.js +2 -2
  221. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/hu.js +2 -2
  222. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/id.js +2 -2
  223. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/it.js +2 -2
  224. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ja.js +2 -2
  225. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/km.js +2 -2
  226. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ko.js +2 -2
  227. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ku.js +2 -2
  228. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/lv.js +5 -5
  229. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/nb.js +2 -2
  230. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/nl.js +2 -2
  231. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/no.js +2 -2
  232. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/oc.js +2 -2
  233. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/pl.js +2 -2
  234. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/pt-br.js +2 -2
  235. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/pt.js +2 -2
  236. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ro.js +12 -0
  237. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ru.js +2 -2
  238. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/si.js +2 -2
  239. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/sk.js +2 -2
  240. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/sl.js +2 -2
  241. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/sq.js +2 -2
  242. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/sv.js +2 -2
  243. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/th.js +2 -2
  244. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/tr.js +2 -2
  245. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/tt.js +2 -2
  246. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ug.js +2 -2
  247. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/uk.js +2 -2
  248. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/vi.js +2 -2
  249. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/zh-cn.js +2 -2
  250. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/zh.js +2 -2
  251. data/app/assets/javascripts/ckeditor/plugins/placeholder/plugin.js +3 -3
  252. data/app/assets/javascripts/ckeditor/plugins/placeholder/samples/placeholder.html +6 -6
  253. data/app/assets/javascripts/ckeditor/plugins/widget/dev/assets/simplebox/dialogs/simplebox.js +4 -4
  254. data/app/assets/javascripts/ckeditor/plugins/widget/dev/assets/simplebox/plugin.js +3 -3
  255. data/app/assets/javascripts/ckeditor/plugins/widget/dev/console.js +2 -2
  256. data/app/assets/javascripts/ckeditor/plugins/widget/dev/nestedwidgets.html +2 -2
  257. data/app/assets/javascripts/ckeditor/plugins/widget/dev/widgetstyles.html +2 -2
  258. data/app/assets/javascripts/ckeditor/plugins/widget/lang/af.js +2 -2
  259. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ar.js +2 -2
  260. data/app/assets/javascripts/ckeditor/plugins/widget/lang/az.js +2 -2
  261. data/app/assets/javascripts/ckeditor/plugins/widget/lang/bg.js +3 -3
  262. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ca.js +2 -2
  263. data/app/assets/javascripts/ckeditor/plugins/widget/lang/cs.js +2 -2
  264. data/app/assets/javascripts/ckeditor/plugins/widget/lang/cy.js +2 -2
  265. data/app/assets/javascripts/ckeditor/plugins/widget/lang/da.js +2 -2
  266. data/app/assets/javascripts/ckeditor/plugins/widget/lang/de-ch.js +2 -2
  267. data/app/assets/javascripts/ckeditor/plugins/widget/lang/de.js +2 -2
  268. data/app/assets/javascripts/ckeditor/plugins/widget/lang/el.js +2 -2
  269. data/app/assets/javascripts/ckeditor/plugins/widget/lang/en-au.js +8 -0
  270. data/app/assets/javascripts/ckeditor/plugins/widget/lang/en-gb.js +2 -2
  271. data/app/assets/javascripts/ckeditor/plugins/widget/lang/en.js +2 -2
  272. data/app/assets/javascripts/ckeditor/plugins/widget/lang/eo.js +2 -2
  273. data/app/assets/javascripts/ckeditor/plugins/widget/lang/es-mx.js +2 -2
  274. data/app/assets/javascripts/ckeditor/plugins/widget/lang/es.js +2 -2
  275. data/app/assets/javascripts/ckeditor/plugins/widget/lang/et.js +8 -0
  276. data/app/assets/javascripts/ckeditor/plugins/widget/lang/eu.js +2 -2
  277. data/app/assets/javascripts/ckeditor/plugins/widget/lang/fa.js +3 -3
  278. data/app/assets/javascripts/ckeditor/plugins/widget/lang/fi.js +2 -2
  279. data/app/assets/javascripts/ckeditor/plugins/widget/lang/fr.js +2 -2
  280. data/app/assets/javascripts/ckeditor/plugins/widget/lang/gl.js +2 -2
  281. data/app/assets/javascripts/ckeditor/plugins/widget/lang/he.js +2 -2
  282. data/app/assets/javascripts/ckeditor/plugins/widget/lang/hr.js +2 -2
  283. data/app/assets/javascripts/ckeditor/plugins/widget/lang/hu.js +2 -2
  284. data/app/assets/javascripts/ckeditor/plugins/widget/lang/id.js +2 -2
  285. data/app/assets/javascripts/ckeditor/plugins/widget/lang/it.js +2 -2
  286. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ja.js +2 -2
  287. data/app/assets/javascripts/ckeditor/plugins/widget/lang/km.js +2 -2
  288. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ko.js +2 -2
  289. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ku.js +2 -2
  290. data/app/assets/javascripts/ckeditor/plugins/widget/lang/lv.js +3 -3
  291. data/app/assets/javascripts/ckeditor/plugins/widget/lang/nb.js +2 -2
  292. data/app/assets/javascripts/ckeditor/plugins/widget/lang/nl.js +2 -2
  293. data/app/assets/javascripts/ckeditor/plugins/widget/lang/no.js +2 -2
  294. data/app/assets/javascripts/ckeditor/plugins/widget/lang/oc.js +2 -2
  295. data/app/assets/javascripts/ckeditor/plugins/widget/lang/pl.js +2 -2
  296. data/app/assets/javascripts/ckeditor/plugins/widget/lang/pt-br.js +2 -2
  297. data/app/assets/javascripts/ckeditor/plugins/widget/lang/pt.js +2 -2
  298. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ro.js +8 -0
  299. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ru.js +2 -2
  300. data/app/assets/javascripts/ckeditor/plugins/widget/lang/sk.js +2 -2
  301. data/app/assets/javascripts/ckeditor/plugins/widget/lang/sl.js +2 -2
  302. data/app/assets/javascripts/ckeditor/plugins/widget/lang/sq.js +3 -3
  303. data/app/assets/javascripts/ckeditor/plugins/widget/lang/sv.js +2 -2
  304. data/app/assets/javascripts/ckeditor/plugins/widget/lang/tr.js +2 -2
  305. data/app/assets/javascripts/ckeditor/plugins/widget/lang/tt.js +2 -2
  306. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ug.js +2 -2
  307. data/app/assets/javascripts/ckeditor/plugins/widget/lang/uk.js +2 -2
  308. data/app/assets/javascripts/ckeditor/plugins/widget/lang/vi.js +2 -2
  309. data/app/assets/javascripts/ckeditor/plugins/widget/lang/zh-cn.js +2 -2
  310. data/app/assets/javascripts/ckeditor/plugins/widget/lang/zh.js +2 -2
  311. data/app/assets/javascripts/ckeditor/plugins/widget/plugin.js +235 -64
  312. data/app/assets/javascripts/ckeditor/plugins/widgetselection/plugin.js +6 -11
  313. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ar.js +1 -0
  314. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/bg.js +17 -0
  315. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ca.js +1 -0
  316. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/cs.js +15 -0
  317. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/da.js +1 -0
  318. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/de.js +1 -0
  319. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/el.js +1 -0
  320. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/en.js +5 -1
  321. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/es.js +1 -0
  322. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/eu.js +17 -0
  323. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/fa.js +13 -0
  324. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/fi.js +1 -0
  325. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/fr.js +1 -0
  326. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/he.js +1 -0
  327. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/hr.js +1 -0
  328. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/hu.js +14 -0
  329. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/it.js +4 -3
  330. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ja.js +5 -5
  331. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ko.js +16 -0
  332. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/nl.js +3 -2
  333. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/no.js +1 -0
  334. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/pl.js +4 -3
  335. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/pt-br.js +1 -0
  336. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/pt.js +1 -0
  337. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ro.js +15 -0
  338. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ru.js +2 -1
  339. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/sk.js +15 -0
  340. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/sv.js +5 -3
  341. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/tr.js +1 -0
  342. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/uk.js +17 -0
  343. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/zh-cn.js +1 -0
  344. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/zh.js +14 -0
  345. data/app/assets/javascripts/ckeditor/plugins/wordcount/plugin.js +485 -302
  346. data/app/assets/javascripts/ckeditor/plugins/wordcount/samples/maxParagraphs.html +26 -0
  347. data/app/assets/javascripts/integral/backend.js +196 -25
  348. data/app/assets/javascripts/integral/frontend.js +37 -2
  349. data/app/assets/javascripts/integral/support/character_counter.js +13 -8
  350. data/app/assets/javascripts/integral/support/confirm_modal.coffee +2 -2
  351. data/app/assets/javascripts/integral/support/date_picker.coffee +54 -59
  352. data/app/assets/javascripts/integral/support/gallery.coffee +71 -54
  353. data/app/assets/javascripts/integral/support/grid.coffee +11 -4
  354. data/app/assets/javascripts/integral/support/lib/lazysizes.js +755 -0
  355. data/app/assets/javascripts/integral/support/lib/materialize-tags.js +49 -44
  356. data/app/assets/javascripts/integral/support/list.coffee +1 -0
  357. data/app/assets/javascripts/integral/support/ls.instagram.js +57 -0
  358. data/app/assets/javascripts/integral/support/ls.twitter.js +66 -0
  359. data/app/assets/javascripts/integral/support/record_selector.coffee +3 -1
  360. data/app/assets/javascripts/integral/support/remote_form.coffee +18 -11
  361. data/app/assets/javascripts/integral/support/slug_generator.coffee +1 -0
  362. data/app/assets/stylesheets/integral/backend.sass +36 -24
  363. data/app/assets/stylesheets/integral/backend/_foundation_settings.scss +5 -6
  364. data/app/assets/stylesheets/integral/backend/dashboard-layout.scss +31 -64
  365. data/app/assets/stylesheets/integral/backend/devise.sass +2 -3
  366. data/app/assets/stylesheets/integral/backend/materialize-tags.sass +2 -1
  367. data/app/assets/stylesheets/integral/backend/modules/dropdown_pane_notifications.scss +150 -0
  368. data/app/assets/stylesheets/integral/backend/modules/dropdown_pane_profile.scss +59 -0
  369. data/app/assets/stylesheets/integral/backend/modules/timeline.scss +214 -0
  370. data/app/assets/stylesheets/integral/backend/shared.sass +121 -13
  371. data/app/assets/stylesheets/integral/frontend.scss +45 -0
  372. data/app/assets/stylesheets/integral/frontend/_foundation_settings.scss +2 -2
  373. data/app/assets/stylesheets/integral/frontend/blog.sass +155 -142
  374. data/app/assets/stylesheets/integral/frontend/layout.sass +13 -3
  375. data/app/assets/stylesheets/integral/frontend/modules/article-footer.scss +55 -0
  376. data/app/assets/stylesheets/integral/frontend/modules/article.scss +34 -0
  377. data/app/assets/stylesheets/integral/frontend/modules/horizontal-post.scss +44 -0
  378. data/app/assets/stylesheets/integral/frontend/modules/inline-articles.scss +23 -0
  379. data/app/assets/stylesheets/integral/frontend/modules/latest-post.scss +37 -0
  380. data/app/assets/stylesheets/integral/frontend/modules/list-widget.scss +50 -0
  381. data/app/assets/stylesheets/integral/frontend/modules/piped-list.scss +33 -0
  382. data/app/assets/stylesheets/integral/frontend/modules/post-tags.scss +19 -0
  383. data/app/assets/stylesheets/integral/frontend/modules/scroll-container.scss +9 -0
  384. data/app/assets/stylesheets/integral/frontend/modules/sidebar-articles.scss +42 -0
  385. data/app/assets/stylesheets/integral/frontend/modules/sidebar-tags.scss +6 -0
  386. data/app/assets/stylesheets/integral/frontend/modules/sidebar-widget.scss +47 -0
  387. data/app/assets/stylesheets/integral/frontend/modules/vertical-post.scss +31 -0
  388. data/app/assets/stylesheets/integral/frontend/share_modal.sass +0 -5
  389. data/app/assets/stylesheets/integral/support/gallery.sass +8 -0
  390. data/app/assets/stylesheets/integral/support/media-query-indicator.sass +9 -3
  391. data/app/controllers/integral/application_controller.rb +10 -3
  392. data/app/controllers/integral/backend/activities_controller.rb +31 -26
  393. data/app/controllers/integral/backend/base_controller.rb +265 -26
  394. data/app/controllers/integral/backend/categories_controller.rb +49 -0
  395. data/app/controllers/integral/backend/images_controller.rb +39 -54
  396. data/app/controllers/integral/backend/lists_controller.rb +16 -98
  397. data/app/controllers/integral/backend/notification_subscriptions_controller.rb +23 -0
  398. data/app/controllers/integral/backend/pages_controller.rb +15 -117
  399. data/app/controllers/integral/backend/posts_controller.rb +22 -108
  400. data/app/controllers/integral/backend/settings_controller.rb +7 -8
  401. data/app/controllers/integral/backend/static_pages_controller.rb +14 -0
  402. data/app/controllers/integral/backend/users_controller.rb +61 -79
  403. data/app/controllers/integral/blog_controller.rb +12 -0
  404. data/app/controllers/integral/categories_controller.rb +45 -0
  405. data/app/controllers/integral/pages_controller.rb +3 -3
  406. data/app/controllers/integral/posts_controller.rb +7 -9
  407. data/app/controllers/integral/tags_controller.rb +5 -2
  408. data/app/decorators/integral/base_decorator.rb +16 -0
  409. data/app/decorators/integral/category_decorator.rb +30 -0
  410. data/app/decorators/integral/image_decorator.rb +3 -3
  411. data/app/decorators/integral/list_decorator.rb +1 -13
  412. data/app/decorators/integral/notification/notification_decorator.rb +74 -0
  413. data/app/decorators/integral/page_decorator.rb +1 -13
  414. data/app/decorators/integral/paginating_decorator.rb +6 -0
  415. data/app/decorators/integral/post_decorator.rb +44 -4
  416. data/app/decorators/integral/user_decorator.rb +1 -13
  417. data/app/decorators/integral/version_decorator.rb +58 -15
  418. data/app/helpers/integral/application_helper.rb +7 -0
  419. data/app/helpers/integral/backend/base_helper.rb +135 -15
  420. data/app/helpers/integral/blog_helper.rb +46 -0
  421. data/app/helpers/integral/social_helper.rb +0 -23
  422. data/app/jobs/integral/application_job.rb +1 -0
  423. data/app/jobs/integral/newsletter_signup_job.rb +0 -2
  424. data/app/jobs/integral/webhook/delivery_job.rb +37 -0
  425. data/app/mailers/integral/contact_mailer.rb +4 -1
  426. data/app/mailers/integral/devise_mailer.rb +6 -0
  427. data/app/models/concerns/integral/lazy_contentable.rb +54 -0
  428. data/app/models/concerns/integral/notification/subscribable.rb +67 -0
  429. data/app/models/concerns/integral/webhook/delivery.rb +30 -0
  430. data/app/models/concerns/integral/webhook/observable.rb +23 -0
  431. data/app/models/integral/application_record.rb +9 -0
  432. data/app/models/integral/category.rb +29 -0
  433. data/app/models/integral/category_version.rb +8 -0
  434. data/app/models/integral/image.rb +40 -3
  435. data/app/models/integral/list.rb +11 -4
  436. data/app/models/integral/list_item.rb +15 -16
  437. data/app/models/integral/list_item_connection.rb +6 -0
  438. data/app/models/integral/notification/notification.rb +28 -0
  439. data/app/models/integral/notification/subscription.rb +14 -0
  440. data/app/models/integral/page.rb +32 -10
  441. data/app/models/integral/post.rb +39 -14
  442. data/app/models/integral/user.rb +51 -2
  443. data/app/models/integral/version.rb +2 -2
  444. data/app/models/integral/webhook/endpoint.rb +40 -0
  445. data/app/models/integral/webhook/event.rb +20 -0
  446. data/app/policies/integral/base_policy.rb +7 -11
  447. data/app/policies/integral/category_policy.rb +9 -0
  448. data/app/policies/integral/page_policy.rb +1 -0
  449. data/app/policies/integral/version_policy.rb +0 -8
  450. data/app/serializers/integral/post_serializer.rb +24 -0
  451. data/app/uploaders/integral/avatar_uploader.rb +1 -1
  452. data/app/views/devise/invitations/edit.haml +1 -4
  453. data/app/views/devise/mailer/invitation_instructions.inky-haml +20 -0
  454. data/app/views/devise/sessions/new.haml +2 -2
  455. data/app/views/integral/backend/activities/_activity.haml +21 -0
  456. data/app/views/integral/backend/activities/grid/_dropdown_actions.haml +1 -0
  457. data/app/views/integral/backend/activities/grid/_row_content.haml +13 -0
  458. data/app/views/integral/backend/activities/index.haml +7 -13
  459. data/app/views/integral/backend/activities/shared/_grid.haml +35 -19
  460. data/app/views/integral/backend/activities/shared/index.haml +15 -0
  461. data/app/views/integral/backend/activities/shared/{_log.haml → show.haml} +7 -7
  462. data/app/views/integral/backend/activities/show.haml +1 -1
  463. data/app/views/integral/backend/categories/_modal.haml +24 -0
  464. data/app/views/integral/backend/images/_form.haml +16 -28
  465. data/app/views/integral/backend/images/edit.haml +2 -2
  466. data/app/views/integral/backend/images/grid/_dropdown_actions.haml +5 -0
  467. data/app/views/integral/backend/images/grid/_row_content.haml +5 -0
  468. data/app/views/integral/backend/images/index.haml +11 -17
  469. data/app/views/integral/backend/images/list.haml +11 -0
  470. data/app/views/integral/backend/images/show.haml +26 -0
  471. data/app/views/integral/backend/lists/_form.haml +7 -20
  472. data/app/views/integral/backend/lists/_item_container.haml +1 -1
  473. data/app/views/integral/backend/lists/_item_modal.haml +3 -3
  474. data/app/views/integral/backend/lists/_list_item_fields.haml +3 -2
  475. data/app/views/integral/backend/lists/_manager.haml +11 -13
  476. data/app/views/integral/backend/lists/edit.haml +11 -11
  477. data/app/views/integral/backend/lists/grid/_dropdown_actions.haml +9 -0
  478. data/app/views/integral/backend/lists/grid/_row_content.haml +3 -0
  479. data/app/views/integral/backend/lists/index.haml +11 -17
  480. data/app/views/integral/backend/lists/list.haml +11 -0
  481. data/app/views/integral/backend/lists/show.haml +30 -0
  482. data/app/views/integral/backend/notifications/_notification.haml +21 -0
  483. data/app/views/integral/backend/pages/_form.haml +20 -47
  484. data/app/views/integral/backend/pages/edit.haml +18 -0
  485. data/app/views/integral/backend/pages/grid/_dropdown_actions.haml +11 -0
  486. data/app/views/integral/backend/pages/grid/_row_content.haml +5 -0
  487. data/app/views/integral/backend/pages/index.haml +11 -21
  488. data/app/views/integral/backend/pages/list.haml +15 -0
  489. data/app/views/integral/backend/pages/show.haml +32 -0
  490. data/app/views/integral/backend/posts/_form.haml +19 -51
  491. data/app/views/integral/backend/posts/edit.haml +5 -10
  492. data/app/views/integral/backend/posts/grid/_dropdown_actions.haml +10 -0
  493. data/app/views/integral/backend/posts/grid/_row_content.haml +6 -0
  494. data/app/views/integral/backend/posts/index.haml +13 -19
  495. data/app/views/integral/backend/posts/list.haml +13 -0
  496. data/app/views/integral/backend/posts/new.haml +0 -1
  497. data/app/views/integral/backend/posts/show.haml +31 -0
  498. data/app/views/integral/backend/settings/sections/_social.haml +1 -3
  499. data/app/views/integral/backend/shared/_activity_modal.haml +13 -0
  500. data/app/views/integral/backend/shared/_breadcrumbs.haml +7 -4
  501. data/app/views/integral/backend/shared/_image_preview.haml +10 -3
  502. data/app/views/integral/backend/shared/_image_selector.haml +1 -1
  503. data/app/views/integral/backend/shared/_notification_subscription_toggle.haml +22 -0
  504. data/app/views/integral/backend/shared/action_bar/_index.haml +9 -0
  505. data/app/views/integral/backend/shared/action_bar/_show.haml +3 -0
  506. data/app/views/integral/backend/shared/cards/_at_a_glance.haml +3 -3
  507. data/app/views/integral/backend/shared/cards/_categories.haml +33 -0
  508. data/app/views/integral/backend/{static_pages/_card.haml → shared/cards/_object.haml} +1 -1
  509. data/app/views/integral/backend/shared/cards/_recent_activity.haml +20 -0
  510. data/app/views/integral/backend/shared/cards/_recent_resources.haml +17 -0
  511. data/app/views/integral/backend/shared/cards/_recent_user_activity.haml +1 -0
  512. data/app/views/integral/backend/shared/cards/_top_post_authors.haml +18 -0
  513. data/app/views/integral/backend/shared/cards/_welcome.haml +24 -25
  514. data/app/views/integral/backend/shared/{_empty_grid.haml → grid/_empty.haml} +0 -0
  515. data/app/views/integral/backend/shared/grid/_form.haml +9 -0
  516. data/app/views/integral/backend/shared/grid/_grid.haml +21 -0
  517. data/app/views/integral/backend/shared/{_pagination.haml → grid/_pagination.haml} +0 -0
  518. data/app/views/integral/backend/shared/grid/_row_layout.haml +8 -0
  519. data/app/views/integral/backend/shared/record_selector/_collection.haml +1 -0
  520. data/app/views/integral/backend/shared/record_selector/_modal.haml +9 -10
  521. data/app/views/integral/backend/shared/record_selector/_record.haml +6 -4
  522. data/app/views/integral/backend/static_pages/dashboard.haml +17 -16
  523. data/app/views/integral/backend/users/_form.haml +35 -47
  524. data/app/views/integral/backend/users/edit.haml +1 -1
  525. data/app/views/integral/backend/users/grid/_dropdown_actions.haml +17 -0
  526. data/app/views/integral/backend/users/grid/_row_content.haml +8 -0
  527. data/app/views/integral/backend/users/index.haml +11 -17
  528. data/app/views/integral/backend/users/list.haml +12 -0
  529. data/app/views/integral/backend/users/show.haml +22 -19
  530. data/app/views/integral/categories/show.haml +5 -0
  531. data/app/views/integral/posts/_article_footer.haml +17 -0
  532. data/app/views/integral/posts/_card.haml +11 -0
  533. data/app/views/integral/posts/_latest_post.haml +8 -0
  534. data/app/views/integral/posts/_most_read_section.haml +8 -0
  535. data/app/views/integral/posts/_post.haml +11 -0
  536. data/app/views/integral/posts/_similar_posts.haml +5 -0
  537. data/app/views/integral/posts/index.haml +7 -5
  538. data/app/views/integral/posts/templates/default.haml +35 -35
  539. data/app/views/integral/shared/_share_modal.haml +0 -3
  540. data/app/views/integral/shared/_social_list_items.haml +6 -12
  541. data/app/views/integral/shared/_subscribe_modal.haml +14 -0
  542. data/app/views/integral/shared/blog/_categories.haml +15 -0
  543. data/app/views/integral/shared/blog/_layout.haml +9 -0
  544. data/app/views/integral/shared/blog/_sidebar.haml +10 -0
  545. data/app/views/integral/shared/gallery/_placeholder.haml +1 -1
  546. data/app/views/integral/shared/gallery/_slide.haml +2 -2
  547. data/app/views/integral/shared/gallery/gallery.haml +5 -2
  548. data/app/views/integral/shared/sidebar/_item.haml +8 -0
  549. data/app/views/integral/shared/sidebar/_newsletter_signup.haml +7 -0
  550. data/app/views/integral/shared/sidebar/_popular_posts.haml +7 -0
  551. data/app/views/integral/shared/sidebar/_popular_tags.haml +7 -0
  552. data/app/views/integral/shared/sidebar/_recent_posts.haml +7 -0
  553. data/app/views/integral/tags/index.haml +2 -2
  554. data/app/views/integral/tags/show.haml +3 -6
  555. data/app/views/layouts/integral/backend.html.haml +27 -5
  556. data/app/views/layouts/integral/backend/_create_dropdown.haml +1 -30
  557. data/app/views/layouts/integral/backend/_main_menu_items.haml +1 -91
  558. data/app/views/layouts/integral/frontend.html.haml +3 -3
  559. data/config/initializers/devise.rb +1 -1
  560. data/config/locales/en.yml +127 -55
  561. data/config/routes.rb +2 -0
  562. data/db/migrate/20190414172018_create_webhook_endpoints.rb +10 -0
  563. data/db/migrate/20190929191412_add_integral_post_categories.rb +13 -0
  564. data/db/migrate/20191203090008_add_image_to_integral_categories.rb +6 -0
  565. data/db/migrate/20200401210442_create_category_versions.rb +20 -0
  566. data/db/migrate/20200407022636_create_integral_notifications.rb +25 -0
  567. data/db/migrate/20200421223602_add_status_to_integral_users.rb +5 -0
  568. data/db/seeds.rb +15 -9
  569. data/lib/generators/integral/assets_generator.rb +2 -2
  570. data/lib/generators/integral/install_generator.rb +1 -1
  571. data/lib/generators/integral/views_generator.rb +1 -1
  572. data/lib/generators/templates/app.yml +0 -1
  573. data/lib/generators/templates/integral.rb +5 -0
  574. data/lib/integral.rb +4 -30
  575. data/lib/integral/acts_as_integral.rb +115 -0
  576. data/lib/integral/acts_as_listable.rb +3 -3
  577. data/lib/integral/chart_renderer/base.rb +2 -0
  578. data/lib/integral/content_renderer.rb +2 -2
  579. data/lib/integral/engine.rb +12 -2
  580. data/lib/integral/grids/activities_grid.rb +15 -2
  581. data/lib/integral/grids/lists_grid.rb +1 -0
  582. data/lib/integral/grids/posts_grid.rb +5 -1
  583. data/lib/integral/grids/users_grid.rb +5 -0
  584. data/lib/integral/list_item_renderer.rb +4 -2
  585. data/lib/integral/list_renderer.rb +6 -1
  586. data/lib/integral/middleware/page_router.rb +15 -6
  587. data/lib/integral/router.rb +42 -8
  588. data/lib/integral/version.rb +1 -1
  589. data/lib/integral/widgets/swiper_list.rb +3 -2
  590. data/public/images/integral/demo/continous-integration.png +0 -0
  591. data/public/images/integral/demo/foundation-frontend-framework.jpg +0 -0
  592. data/public/images/integral/demo/heroku.png +0 -0
  593. data/public/images/integral/demo/integral-cms-without-hassle.jpg +0 -0
  594. data/public/images/integral/demo/integral-features-activity-tracking.jpg +0 -0
  595. data/public/images/integral/demo/integral-features-contact-form.png +0 -0
  596. data/public/images/integral/demo/integral-features-design.jpg +0 -0
  597. data/public/images/integral/demo/integral-features-dynamic-pages.jpg +0 -0
  598. data/public/images/integral/demo/integral-features-image-management.jpg +0 -0
  599. data/public/images/integral/demo/integral-features-integrated-blog.jpg +0 -0
  600. data/public/images/integral/demo/integral-features-list-management.jpg +0 -0
  601. data/public/images/integral/demo/integral-features-seo-ready.jpg +0 -0
  602. data/public/images/integral/demo/integral-features-user-management.jpg +0 -0
  603. data/public/images/integral/demo/integral-presentation.png +0 -0
  604. data/public/integral/ckeditor_demo_content.html +0 -13
  605. data/spec/factories.rb +30 -8
  606. metadata +305 -113
  607. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/jp.js +0 -13
  608. data/app/assets/javascripts/integral/support/date_picker/picker.date.js +0 -1435
  609. data/app/assets/javascripts/integral/support/date_picker/picker.js +0 -1132
  610. data/app/assets/stylesheets/integral/frontend.sass +0 -26
  611. data/app/assets/stylesheets/integral/support/date-picker.scss +0 -16
  612. data/app/assets/stylesheets/integral/support/date_picker/_default.date.scss +0 -452
  613. data/app/assets/stylesheets/integral/support/date_picker/_default.scss +0 -201
  614. data/app/assets/stylesheets/integral/support/date_picker/materialize_clockpicker.sass +0 -220
  615. data/app/views/devise/mailer/invitation_instructions.html.erb +0 -13
  616. data/app/views/integral/backend/activities/_grid.haml +0 -23
  617. data/app/views/integral/backend/activities/shared/_listing.haml +0 -14
  618. data/app/views/integral/backend/images/_grid.haml +0 -16
  619. data/app/views/integral/backend/lists/_grid.haml +0 -14
  620. data/app/views/integral/backend/pages/_grid.haml +0 -21
  621. data/app/views/integral/backend/pages/activities.haml +0 -2
  622. data/app/views/integral/backend/pages/activity.haml +0 -1
  623. data/app/views/integral/backend/pages/edit.html.haml +0 -15
  624. data/app/views/integral/backend/posts/_grid.haml +0 -25
  625. data/app/views/integral/backend/posts/activities.haml +0 -3
  626. data/app/views/integral/backend/posts/activity.haml +0 -1
  627. data/app/views/integral/backend/shared/_grid.haml +0 -18
  628. data/app/views/integral/backend/users/_grid.haml +0 -19
  629. data/app/views/integral/posts/_collection.haml +0 -4
  630. data/app/views/integral/posts/_item.haml +0 -16
  631. data/app/views/integral/shared/_blog_layout.haml +0 -15
  632. data/app/views/integral/shared/_blog_sidebar.haml +0 -49
  633. data/lib/integral/slack_bot.rb +0 -45
@@ -0,0 +1,8 @@
1
+ .grid-x.list-item
2
+ .cell.small-3.image
3
+ = link_to url do
4
+ = image_tag image, alt: title, class: 'thumbnail' unless image.empty? #TODO: Should thumbnail be here?
5
+ .cell.small-9.data
6
+ = link_to title, url
7
+ %ul.list-unstyled.piped-list
8
+ %li= subtitle
@@ -0,0 +1,7 @@
1
+ .sidebar-widget.newsletter-signup
2
+ = icon('envelope-open')
3
+ %h4= t('integral.blog.widgets.newsletter_signup.title')
4
+ %p= t('integral.blog.widgets.newsletter_signup.subtitle')
5
+ = simple_form_for Integral::NewsletterSignup.new, url: newsletter_signup_url, validate: true, remote: true, html: { class: 'remote-form', data: { 'remote-form-success-message' => t('integral.blog.widgets.newsletter_signup.success') }} do |f|
6
+ = f.input :email, placeholder: t('integral.blog.widgets.newsletter_signup.placeholder'), label: false
7
+ = f.button :submit, t('integral.blog.widgets.newsletter_signup.submit'), class: 'button'
@@ -0,0 +1,7 @@
1
+ - cache [@popular_posts.map(&:id), @popular_posts.maximum(:updated_at)] do
2
+ .sidebar-widget
3
+ %h2.sidebar-widget-title= t('integral.blog.widgets.popular_posts')
4
+ .sidebar-articles
5
+ -# TODO: Use collection rendering - possibly create a post sidebar item partial?
6
+ - @popular_posts.decorate.each do |post|
7
+ = render 'integral/shared/sidebar/item', url: integral.post_url(post), image: post.image(:small), title: post.title, subtitle: t('integral.blog.posted_ago', time: time_ago_in_words(post.published_at))
@@ -0,0 +1,7 @@
1
+ .sidebar-widget
2
+ %h2.sidebar-widget-title= t('integral.blog.widgets.popular_tags')
3
+ .sidebar-tags
4
+ %ul.post-tags
5
+ - @blog_tags.each do |tag|
6
+ %li= link_to tag.name, tag_url(tag.name)
7
+ = link_to 'View All', integral.tags_url, class: 'sidebar-widget-link'
@@ -0,0 +1,7 @@
1
+ - cache [@recent_posts.map(&:id), @recent_posts.maximum(:updated_at)] do
2
+ .sidebar-widget
3
+ %h2.sidebar-widget-title= t('integral.blog.widgets.recent_posts')
4
+ .sidebar-articles
5
+ -# TODO: Use collection rendering - possibly create a post sidebar item partial?
6
+ - @recent_posts.decorate.each do |post|
7
+ = render 'integral/shared/sidebar/item', url: integral.post_url(post), image: post.image(:small), title: post.title, subtitle: t('integral.blog.posted_ago', time: time_ago_in_words(post.published_at))
@@ -1,5 +1,5 @@
1
- = render layout: 'integral/shared/blog_layout', locals: { title: t('.title'), subtitle: t('.subtitle'), image: image_url('integral/posts-hero-banner.jpg')} do
2
- %ul.tag-list
1
+ = render layout: 'integral/shared/blog/layout', locals: { title: t('.title') } do
2
+ %ul.post-tags.text-center
3
3
  - @tags.each do |tag|
4
4
  %li
5
5
  = link_to tag_url(tag.name) do
@@ -1,6 +1,3 @@
1
- = render layout: 'integral/shared/blog_layout', locals: { title: "##{@tag.name}", subtitle: t('.subtitle'), image: image_url('integral/posts-hero-banner.jpg')} do
2
- %ul.post-list
3
- - @tagged_posts.decorate.each do |post|
4
- %li= render partial: 'integral/posts/item', locals: { post: post }
5
- = will_paginate @tagged_posts, renderer: FoundationPagination::Rails
6
-
1
+ = render layout: 'integral/shared/blog/layout', locals: { title: "##{@tag.name}" } do
2
+ = render partial: @tagged_posts.decorate, cached: true
3
+ .center= will_paginate @tagged_posts, renderer: FoundationPagination::Rails
@@ -38,9 +38,28 @@
38
38
  = link_to main_app.root_path, class: 'button clear' do
39
39
  = icon('eye')
40
40
  = t('integral.actions.view_main_site')
41
+ %li
42
+ %button.button-notifications-dropdown{ type: 'button', data: { toggle: 'notifications-dropdown'}}
43
+ - if current_user.notifications.unread.any?
44
+ = icon('circle')
45
+ = icon('bell-o')
46
+ - else
47
+ = icon('bell-o')
48
+ #notifications-dropdown.dropdown-pane.dropdown-pane--notifications{ data: { notifications: true, load_more_url: current_user.multiple_page_notifications? ? notifications_backend_user_url(current_user, page: 2) : '', dropdown: true, hover: 'true', 'hover-pane' => 'true', 'v-offset' => '35', 'hover-delay' => 50 }}
49
+ .section.text-center
50
+ %span.title
51
+ = current_user.notifications.unread.count
52
+ Unread
53
+ %span.subtitle User Notifications
54
+ .section
55
+ %ul.menu.vertical.notification-list
56
+ = render recent_user_notifications.decorate, cached: true
57
+ - if current_user.multiple_page_notifications?
58
+ %p.notification-list-loader.js-loader--notifications
59
+ = icon('spinner', class: 'fa-pulse fa-fw')
41
60
  %li
42
61
  %button.button.clear.avatar{ type: 'button', data: { toggle: 'profile-dropdown'}}= image_tag(current_user.avatar.url(:thumbnail), class: 'avatar')
43
- #profile-dropdown.dropdown-pane{ data: { dropdown: true, hover: 'true', 'hover-pane'=> 'true', 'v-offset'=> '35', 'hover-delay'=> 50 }}
62
+ #profile-dropdown.dropdown-pane.dropdown-pane--profile{ data: { dropdown: true, hover: 'true', 'hover-pane'=> 'true', 'v-offset'=> '35', 'hover-delay'=> 50 }}
44
63
  .section
45
64
  = image_tag(current_user.avatar.url(:thumbnail), class: 'avatar')
46
65
  %span.name= current_user.name
@@ -51,10 +70,10 @@
51
70
  = link_to backend_account_url do
52
71
  = icon('user')
53
72
  %span= t('integral.navigation.profile')
54
- -# %li
55
- -# = link_to new_backend_post_url do
56
- -# = icon('history')
57
- -# %span= t('integral.navigation.activity')
73
+ %li
74
+ = link_to edit_backend_user_url(current_user.id) do
75
+ = icon('cog')
76
+ %span= t('integral.actions.edit_profile')
58
77
  %hr
59
78
  = link_to t('integral.actions.log_out'), destroy_user_session_path, method: :delete, class: 'button hollow'
60
79
 
@@ -91,3 +110,6 @@
91
110
  #content-area
92
111
  = render partial: 'integral/backend/shared/breadcrumbs'
93
112
  = yield
113
+ .record-image
114
+ = render partial: 'integral/backend/shared/image_selector'
115
+ = render partial: 'integral/backend/shared/activity_modal'
@@ -1,30 +1 @@
1
- %ul.menu.vertical
2
- - if policy(Integral::Page).create?
3
- %li
4
- = link_to new_backend_page_url do
5
- = icon('file-text-o')
6
- %span= t('integral.navigation.page')
7
-
8
- - if policy(Integral::Post).create? && Integral.blog_enabled?
9
- %li
10
- = link_to new_backend_post_url do
11
- = icon('rss')
12
- %span= t('integral.navigation.post')
13
-
14
- - if policy(Integral::Image).create?
15
- %li
16
- = link_to new_backend_img_url do
17
- = icon('picture-o')
18
- %span= t('integral.navigation.image')
19
-
20
- - if policy(Integral::List).create?
21
- %li
22
- = link_to new_backend_list_url do
23
- = icon('list')
24
- %span= t('integral.navigation.list')
25
- - if policy(current_user).create?
26
- %li
27
- = link_to new_backend_user_url do
28
- = icon('user')
29
- %span= t('integral.navigation.user')
30
-
1
+ %ul.menu.vertical= render_create_menu
@@ -1,91 +1 @@
1
- %li
2
- = link_to backend_dashboard_url do
3
- = icon('home')
4
- %span= t('integral.navigation.dashboard')
5
-
6
- - if policy(Integral::Page).index?
7
- %li
8
- = link_to backend_pages_url do
9
- = icon('file')
10
- %span= t('integral.navigation.pages')
11
- %ul
12
- %li= t('integral.navigation.pages')
13
- %li
14
- = link_to backend_pages_url do
15
- %span= t('integral.navigation.dashboard')
16
-
17
- - if policy(Integral::Page).create?
18
- %li
19
- = link_to new_backend_page_url do
20
- %span= t('integral.actions.create')
21
-
22
- - if policy(Integral::Post).index? && Integral.blog_enabled?
23
- %li
24
- = link_to backend_posts_url do
25
- = icon('rss')
26
- %span= t('integral.navigation.posts')
27
- %ul
28
- %li= t('integral.navigation.posts')
29
- %li
30
- = link_to backend_posts_url do
31
- %span= t('integral.navigation.dashboard')
32
- - if policy(Integral::Post).create?
33
- %li
34
- = link_to new_backend_post_url do
35
- %span= t('integral.actions.create')
36
-
37
- - if policy(Integral::List).index?
38
- %li
39
- = link_to backend_lists_url do
40
- = icon('list')
41
- %span= t('integral.navigation.lists')
42
- %ul
43
- %li= t('integral.navigation.lists')
44
- %li
45
- = link_to backend_lists_url do
46
- %span= t('integral.navigation.dashboard')
47
- - if policy(Integral::List).create?
48
- %li
49
- = link_to new_backend_list_url do
50
- %span= t('integral.actions.create')
51
-
52
- - if policy(Integral::Image).manager?
53
- %li
54
- = link_to backend_img_index_url do
55
- = icon('picture-o')
56
- %span= t('integral.navigation.images')
57
- %ul
58
- %li= t('integral.navigation.images')
59
- %li
60
- = link_to backend_img_index_url do
61
- %span= t('integral.navigation.dashboard')
62
- - if policy(Integral::Image).create?
63
- %li
64
- = link_to new_backend_img_url do
65
- %span= t('integral.actions.create')
66
-
67
- - if policy(current_user).manager?
68
- %li
69
- = link_to backend_users_url do
70
- = icon('users')
71
- %span=t('integral.navigation.users')
72
- %ul
73
- %li= t('integral.navigation.users')
74
- %li
75
- = link_to backend_users_url do
76
- %span= t('integral.navigation.dashboard')
77
- %li
78
- = link_to new_backend_user_url do
79
- %span= t('integral.actions.create')
80
-
81
- - if policy(Integral::Version).manager?
82
- %li
83
- = link_to backend_activities_url do
84
- = icon('crosshairs')
85
- %span=t('integral.navigation.activities')
86
-
87
- - if current_user.admin?
88
- %li
89
- = link_to backend_settings_url do
90
- = icon('cog')
91
- %span=t('integral.navigation.settings')
1
+ = render_main_menu
@@ -16,19 +16,19 @@
16
16
  = render 'layouts/integral/frontend/admin_bar' if user_signed_in?
17
17
 
18
18
  -# Off Canvas - Mobile Menu
19
- #offCanvas.off-canvas.position-left{ 'data-off-canvas' => true }
19
+ #offCanvas.off-canvas.position-right{ 'data-off-canvas' => true }
20
20
  = link_to site_title, root_url, class: 'site-title'
21
21
  = render_list(main_menu_list, { html_classes: 'menu vertical'})
22
22
 
23
23
  -# Off Canvas - Main Content
24
24
  .off-canvas-content{ 'data-off-canvas-content' => true }
25
- %header
25
+ %header.body-header
26
26
  = render partial: 'layouts/integral/frontend/header'
27
27
 
28
28
  %main
29
29
  = yield
30
30
 
31
- %footer
31
+ %footer.body-footer
32
32
  = render partial: 'layouts/integral/frontend/footer'
33
33
 
34
34
  = render partial: 'integral/shared/share_modal'
@@ -13,7 +13,7 @@ Devise.setup do |config|
13
13
  config.mailer_sender = Proc.new { "#{Integral::Settings.website_title} <#{Integral::Settings.contact_email}>" }
14
14
 
15
15
  # Configure the class responsible to send e-mails.
16
- # config.mailer = 'Devise::Mailer'
16
+ config.mailer = 'Integral::DeviseMailer'
17
17
 
18
18
  # ==> ORM configuration
19
19
  # Load and configure the ORM. Supports :active_record (default) and
@@ -4,7 +4,7 @@ en:
4
4
  default: "%d %B"
5
5
  time:
6
6
  formats:
7
- default: "%B %d, %Y at %l:%M%P"
7
+ default: "%b %d %Y, %l:%M %P"
8
8
  blog: "%B %d, %Y"
9
9
  twelve_hour: "%I:%M %p"
10
10
 
@@ -15,6 +15,44 @@ en:
15
15
  default: "%A, %d %B %Y"
16
16
  long: "%H:%M %d/%m/%Y"
17
17
 
18
+ datetime:
19
+ distance_in_words:
20
+ short:
21
+ half_a_minute: "30s"
22
+ less_than_x_seconds:
23
+ one: "1s"
24
+ other: "%{count}s"
25
+ x_seconds:
26
+ one: "1s"
27
+ other: "%{count}s"
28
+ less_than_x_minutes:
29
+ one: "~1m"
30
+ other: "~%{count}m"
31
+ x_minutes:
32
+ one: "1m"
33
+ other: "%{count}m"
34
+ about_x_hours:
35
+ one: "~1h"
36
+ other: "~%{count}h "
37
+ x_days:
38
+ one: "1d"
39
+ other: "%{count}d"
40
+ about_x_months:
41
+ one: "~1mn"
42
+ other: "~%{count}mn"
43
+ x_months:
44
+ one: "1mn"
45
+ other: "%{count}mn"
46
+ about_x_years:
47
+ one: "~1y"
48
+ other: "~%{count}y"
49
+ over_x_years:
50
+ one: "1y"
51
+ other: "%{count}y"
52
+ almost_x_years:
53
+ one: "~1y"
54
+ other: "~%{count}y"
55
+
18
56
  errors:
19
57
  generic: Unfortunately there was a problem. Please try again later.
20
58
  unauthorized: You are not authorized to perform this action.
@@ -46,14 +84,27 @@ en:
46
84
  forward_enquiry:
47
85
  subject: Website Enquiry
48
86
  actions:
87
+ tense:
88
+ past:
89
+ update: Updated
90
+ create: Created
91
+ publish: Published
92
+ destroy: Deleted
49
93
  confirmation:
50
94
  deletion: If you delete this item it will be gone forever. Are you sure you want to proceed?
95
+ clone: Are you sure you want to clone this item?
96
+ block: Are you sure you want to block this user?
97
+ unblock: Are you sure you want to unblock this user?
51
98
  new_page: Add new page
52
99
  new_post: Add new post
53
100
  edit_profile: Edit profile
54
101
  add_image: Add Image
55
102
  add_image_or_video: Add an image or video
56
103
  view_main_site: View main site
104
+ view_on_site: View on site
105
+ publish: Publish
106
+ block: Block
107
+ unblock: Unblock
57
108
  create: Create
58
109
  clone: Clone
59
110
  save: Save
@@ -65,22 +116,30 @@ en:
65
116
  view: View
66
117
  view_record: View Record
67
118
  view_user: View User
119
+ view_history: View history
68
120
  read_more: Read more..
69
121
  reply: Reply
70
122
  log_out: Logout
71
123
  upload: Upload
72
- share: Share this
124
+ share: Share
73
125
  apply: Apply
74
126
  select: Select
75
127
  copy_url: Copy URL
76
128
  copied: Copied
77
129
  search: Search
130
+ subscribe: Subscribe
78
131
  confirm: Confirm
79
132
  cancel: Cancel
133
+ view_all: View All
134
+ view_more: View More
135
+ open_in_new_tab: Open in new tab
80
136
  prompts:
81
137
  select_image: Select Image..
82
138
  select_type: Select Type..
83
139
  unsaved_changes: Changes that you made may not be saved.
140
+ tooltips:
141
+ unsubscribe: Unsubscribe from notifications.
142
+ subscribe: Subscribe to notifications.
84
143
  placeholders:
85
144
  description: Description
86
145
  title: Title
@@ -88,8 +147,12 @@ en:
88
147
  draft: Draft
89
148
  published: Published
90
149
  archived: Archived
150
+ blocked: Blocked
151
+ pending: Pending
152
+ active: Active
91
153
  records:
92
154
  attributes:
155
+ category: Category
93
156
  locale: Language
94
157
  image: Image
95
158
  featured_image: Featured Image
@@ -128,12 +191,13 @@ en:
128
191
  actions: Actions
129
192
  activity: Activity
130
193
  activity_log: Activity Log
131
- profile: My Profile
194
+ profile: My profile
132
195
  quick_links: Quick Links
133
196
  activities: Activities
134
197
  home: Home
135
198
  posts: Posts
136
199
  post: Post
200
+ tags: Tags
137
201
  pages: Pages
138
202
  page: Page
139
203
  users: Users
@@ -145,8 +209,9 @@ en:
145
209
  new: New
146
210
  edit: Edit
147
211
  log_out: Logout
148
- my_account: Account & Profile
212
+ my_account: Account & profile
149
213
  settings: Settings
214
+ listing: Listing
150
215
 
151
216
  posts:
152
217
  index:
@@ -154,6 +219,8 @@ en:
154
219
  subtitle: All things Integral
155
220
  show:
156
221
  subtitle: An interesting read
222
+ footer:
223
+ blurb: Have questions about this article, want to provide feedback or contact us for any reason? Get in touch with us today. We'd love to hear from you.
157
224
  item:
158
225
  read_more: Read More
159
226
  tags:
@@ -165,7 +232,9 @@ en:
165
232
  subtitle: Related Articles
166
233
  description: "All articles tagged %{tag_name} within our blog"
167
234
  blog:
235
+ posted_ago: "Published %{time} ago"
168
236
  widgets:
237
+ most_read: Most Read Articles
169
238
  related_posts: Related Posts
170
239
  recent_posts: Recent Posts
171
240
  popular_posts: Popular Posts
@@ -179,9 +248,27 @@ en:
179
248
  submit: Sign Up
180
249
  success: Great choice! Stay tuned for some quality content direct to your inbox.
181
250
  backend:
251
+ titles:
252
+ new: "New %{type_singular}"
253
+ create: "Create %{type_singular}"
254
+ edit: "Edit %{type_singular}"
255
+ update: "Update %{type_singular}"
256
+ index: "%{type_plural}"
257
+ list: "%{type_singular} Listing"
258
+ notifications:
259
+ clone_success: "%{type} successfully cloned."
260
+ clone_failure: "%{type} clone failed."
261
+ creation_success: "%{type} successfully created."
262
+ creation_failure: "%{type} creation failed."
263
+ edit_success: "%{type} successfully updated."
264
+ edit_failure: "%{type} update failed."
265
+ delete_success: "%{type} successfully deleted."
266
+ delete_failure: "%{type} deletion failed."
182
267
  graphs:
183
268
  data_unavailable: Data Unavailable
184
269
  cards:
270
+ your_activity: Your Activity
271
+ recent_activity: Recent Activity
185
272
  at_a_glance: At a glance
186
273
  last_week: Last week
187
274
  shared:
@@ -206,11 +293,13 @@ en:
206
293
  title: 'Pages'
207
294
  roles:
208
295
  labels:
209
- user_manager: 'User Manager'
210
- image_manager: 'Image Manager'
211
- page_manager: 'Page Manager'
212
- post_manager: 'Post Manager'
213
- list_manager: 'List Manager'
296
+ user_manager: User Manager
297
+ image_manager: Image Manager
298
+ page_manager: Page Manager
299
+ page_reader: Page Reader
300
+ page_editor: Page Editor
301
+ post_manager: Post Manager
302
+ list_manager: List Manager
214
303
  record_selector:
215
304
  posts:
216
305
  record: Post
@@ -224,6 +313,9 @@ en:
224
313
  activities:
225
314
  index:
226
315
  title: Website Activity
316
+ shared:
317
+ index:
318
+ title: "Activities: %{title}"
227
319
  lists:
228
320
  items:
229
321
  type:
@@ -244,14 +336,6 @@ en:
244
336
  columns:
245
337
  title: 'Title'
246
338
  description: 'Description'
247
- notification:
248
- creation_success: 'List successfully created.'
249
- creation_failure: 'List creation failed.'
250
- edit_success: 'List successfully updated.'
251
- edit_failure: 'Failed to update list.'
252
- delete_success: 'List successfully deleted.'
253
- delete_failure: 'Failed to delete list.'
254
-
255
339
  settings:
256
340
  index:
257
341
  title: Settings
@@ -273,14 +357,14 @@ en:
273
357
  google_tag_manager_id: GTM-xxxx
274
358
  twitter_url: https://twitter.com/rails
275
359
  facebook_url: https://www.facebook.com/groups/railsrocks
276
- google_plus_url: https://plus.google.com/communities/101878695540653445908
360
+ instagram_url: https://www.instagram.com/jerryoftheday
361
+ github_url: https://github.com/yamasolutions/integral
277
362
  linkedin_url: https://www.linkedin.com/in/barackobama/
278
363
  youtube_url: https://www.youtube.com/channel/UCUkM9uMpWatT7gVWShgtKFw
279
- instagram_url: jerryoftheday
280
364
  twitter_handler: rails
281
365
  facebook_app_id: 123456789
282
366
  homepage_id: 1
283
- notification:
367
+ notification:
284
368
  successful_update: Settings successfully updated.
285
369
  posts:
286
370
  grid:
@@ -292,7 +376,6 @@ en:
292
376
  views: 'Views'
293
377
  status: 'Status'
294
378
  index:
295
- title: 'Posts'
296
379
  new_post: 'Create post'
297
380
  published_count: "%{count} published"
298
381
  drafts_count: "%{count} drafted"
@@ -301,20 +384,13 @@ en:
301
384
  title: 'Edit Post'
302
385
  new:
303
386
  title: 'New Post'
304
- activities:
305
- title: "Activities: %{title}"
306
- notification:
307
- creation_success: 'Post successfully created.'
308
- creation_failure: 'Post creation failed.'
309
- edit_success: 'Post successfully updated.'
310
- edit_failure: 'Failed to update post.'
311
- delete_success: 'Post successfully deleted.'
312
- delete_failure: 'Failed to delete post.'
313
387
  pages:
314
388
  templates:
315
389
  default: Default
316
390
  prompts:
317
391
  choose_template: Choose Template
392
+ activities:
393
+ title: Page Activity
318
394
  index:
319
395
  title: 'Page listing'
320
396
  non_available: 'No pages available. Try creating one!'
@@ -327,13 +403,6 @@ en:
327
403
  description: 'Description'
328
404
  path: 'Path'
329
405
  last_updated_at: 'Last updated'
330
- notification:
331
- creation_success: 'Page successfully created.'
332
- creation_failure: 'Page creation failed.'
333
- edit_success: 'Page successfully updated.'
334
- edit_failure: 'Failed to update page.'
335
- delete_success: 'Page successfully deleted.'
336
- delete_failure: 'Failed to delete page.'
337
406
  edit:
338
407
  title: 'Editing page - %{title}'
339
408
  new:
@@ -347,15 +416,8 @@ en:
347
416
  title: 'Image listing'
348
417
  no_images_available: 'No images available. Try uploading some!'
349
418
  new_image: 'New image'
350
- notification:
351
- creation_success: 'Image successfully created.'
352
- creation_failure: 'Image creation failed.'
353
- edit_success: 'Image successfully updated.'
354
- edit_failure: 'Failed to update Image.'
355
- delete_success: 'Image successfully deleted.'
356
- delete_failure: 'Failed to delete image.'
357
419
  edit:
358
- title: 'Editing image - %{name}'
420
+ title: Edit Image
359
421
  users:
360
422
  available_locales:
361
423
  en: English
@@ -363,13 +425,6 @@ en:
363
425
  status:
364
426
  draft: 'Draft'
365
427
  published: 'Published'
366
- notification:
367
- creation_success: 'User has been invited.'
368
- creation_failure: 'User already exists.'
369
- edit_success: 'User successfully updated.'
370
- edit_failure: 'Failed to update user.'
371
- delete_success: 'User successfully deleted.'
372
- delete_failure: 'Failed to delete user.'
373
428
  prompts:
374
429
  select_language: 'Select language..'
375
430
  grid:
@@ -410,7 +465,7 @@ en:
410
465
  description: "Summarise the content. This will be displayed in search results and is an important part of on-page SEO. <a target='_blank' href='https://moz.com/learn/seo/meta-description'>Learn More.</a>"
411
466
  path: Path to the record, this will be appended onto the website domain to create a URL. Example - /company/privacy-policy
412
467
  parent: "You can arrange your pages in hierarchies by selecting a top level page for your other pages. <a target='_blank' href='https://en.wikipedia.org/wiki/Breadcrumb_(navigation)#Websites'>Learn More.</a>"
413
- #tag_list: Use key terms to summarise your content and seperate words with '-', i.e. internet-marketing-tips
468
+ tag_list: Use key terms to summarise your content and seperate words with '-', i.e. internet-marketing-tips
414
469
  template: Layout which will be used to render the page.
415
470
 
416
471
  image:
@@ -419,6 +474,8 @@ en:
419
474
  list:
420
475
  title: This is only used for internal reference.
421
476
  description: This is only used for internal reference.
477
+ user:
478
+ notify_me: Subscribe to be notified whenever there is a change to any resource. Otherwise be notified about followed resources only.
422
479
  inputs:
423
480
  file:
424
481
  button_label: 'File'
@@ -444,15 +501,18 @@ en:
444
501
  html_classes: 'HTML Classes'
445
502
  user:
446
503
  locale: 'Language'
504
+ post:
505
+ user: Author
447
506
  settings:
448
507
  website_title: Website title
449
508
  contact_email: Contact form email address
450
509
  google_tag_manager_id: Google Tag Manager ID
451
510
  twitter_url: Twitter profile URL
452
511
  facebook_url: Facebook profile URL
453
- google_plus_url: Google Plus URL
454
512
  linkedin_url: LinkedIn profile URL
455
- youtube_url: Youtube channel URL
513
+ youtube_url: YouTube channel URL
514
+ instagram_url: Instagram URL
515
+ github_url: GitHub URL
456
516
  facebook_app_id: Facebook app ID
457
517
  homepage_id: Homepage Page ID
458
518
  newsletter_api_key_id: Mailchimp API ID
@@ -465,6 +525,12 @@ en:
465
525
  create: 'Invite %{model}'
466
526
 
467
527
  devise:
528
+ invitations:
529
+ edit:
530
+ title: Set your password
531
+ failure:
532
+ user:
533
+ blocked: User account is no longer active.
468
534
  passwords:
469
535
  edit:
470
536
  title: Change your password
@@ -478,3 +544,9 @@ en:
478
544
  someone_invited_you: "%{name} has invited you to %{url}, you can accept it through the link below."
479
545
  ckeditor:
480
546
  populate_editor: Populate editor with example content.
547
+
548
+ activerecord:
549
+ models:
550
+ integral/post:
551
+ one: Post
552
+ other: Posts