integral 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/images/logo.png +0 -0
- data/app/assets/javascripts/ckeditor/my_config.js.erb +26 -18
- data/app/assets/javascripts/ckeditor/plugins/autoembed/lang/lv.js +8 -0
- data/app/assets/javascripts/ckeditor/plugins/autoembed/plugin.js +1 -1
- data/app/assets/javascripts/ckeditor/plugins/autogrow/plugin.js +14 -14
- data/app/assets/javascripts/ckeditor/plugins/autogrow/samples/autogrow.html +8 -8
- data/app/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.min.css +1 -1
- data/app/assets/javascripts/ckeditor/plugins/codemirror/icons/autoformat.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/icons/searchcode.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/icons/uncommentselectedrange.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/images/autocomplete.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/images/autoformat.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/images/commentselectedrange.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/images/searchcode.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/images/uncommentselectedrange.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/js/beautify.min.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.min.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.search.min.js +1 -1
- data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.min.js +1 -6
- data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.bbcodemixed.min.js +1 -1
- data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.handlebars.min.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.htmlmixed.min.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.javascript.min.js +1 -1
- data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.php.min.js +3 -3
- data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.twig.min.js +1 -1
- data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/bg.js +7 -7
- data/app/assets/javascripts/ckeditor/plugins/codemirror/plugin.js +231 -217
- data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/darcula.css +46 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/gruvbox-dark.css +34 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/idea.css +42 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/lesser-dark.css +1 -1
- data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/lucario.css +37 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/monokai.css +5 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/oceanic-next.css +44 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/shadowfox.css +52 -0
- data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/ssms.css +16 -0
- data/app/assets/javascripts/ckeditor/plugins/embedbase/lang/ar.js +15 -0
- data/app/assets/javascripts/ckeditor/plugins/embedbase/lang/lv.js +15 -0
- data/app/assets/javascripts/ckeditor/plugins/embedbase/plugin.js +1 -1
- data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/copywidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/editwidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/hidpi/copywidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/hidpi/editwidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/hidpi/removewidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/hidpi/widget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/removewidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/widget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/foundation-callout/plugin.js +86 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/dev/assets/image1.jpg +0 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/dev/assets/image2.jpg +0 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/dev/contents.css +35 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/dev/image2.html +339 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/dialogs/image2.js +553 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/icons/hidpi/image.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/icons/image.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/af.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/ar.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/az.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/bg.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/bn.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/bs.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/ca.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/cs.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/cy.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/da.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/de-ch.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/de.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/el.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/en-au.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/en-ca.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/en-gb.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/en.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/eo.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/es-mx.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/es.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/et.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/eu.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/fa.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/fi.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/fo.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/fr-ca.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/fr.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/gl.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/gu.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/he.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/hi.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/hr.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/hu.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/id.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/is.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/it.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/ja.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/ka.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/km.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/ko.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/ku.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/lt.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/lv.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/mk.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/mn.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/ms.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/nb.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/nl.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/no.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/oc.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/pl.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/pt-br.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/pt.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/ro.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/ru.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/si.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/sk.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/sl.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/sq.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/sr-latn.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/sr.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/sv.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/th.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/tr.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/tt.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/ug.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/uk.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/vi.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/zh-cn.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/lang/zh.js +21 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/plugin.js +1720 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/samples/assets/image1.jpg +0 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/samples/assets/image2.jpg +0 -0
- data/app/assets/javascripts/ckeditor/plugins/image2/samples/image2.html +68 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/copywidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/editwidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/hidpi/copywidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/hidpi/editwidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/hidpi/removewidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/hidpi/widget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/removewidget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/widget.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/integral-card/plugin.js +86 -0
- data/app/assets/javascripts/ckeditor/plugins/integralrecentposts/dialogs/integralrecentposts.js +40 -0
- data/app/assets/javascripts/ckeditor/plugins/integralrecentposts/plugin.js +32 -0
- data/app/assets/javascripts/ckeditor/plugins/lineutils/dev/dnd.html +4 -4
- data/app/assets/javascripts/ckeditor/plugins/lineutils/dev/magicfinger.html +4 -4
- data/app/assets/javascripts/ckeditor/plugins/lineutils/plugin.js +7 -7
- data/app/assets/javascripts/ckeditor/plugins/linkballoon/README.md +5 -0
- data/app/assets/javascripts/ckeditor/plugins/linkballoon/assets/demo.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/linkballoon/plugin.js +25 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/az.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/bg.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/ca.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/cs.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/da.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/de-ch.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/de.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/en-au.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/en.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/eo.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/es-mx.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/es.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/et.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/eu.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/fa.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/fr.js +3 -3
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/gl.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/hr.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/hu.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/id.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/it.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/ja.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/km.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/ko.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/ku.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/lv.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/nb.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/nl.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/oc.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/pl.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/pt-br.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/pt.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/ro.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/ru.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/sk.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/sq.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/sv.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/tr.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/ug.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/uk.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/zh-cn.js +3 -3
- data/app/assets/javascripts/ckeditor/plugins/notification/lang/zh.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/notification/plugin.js +794 -784
- data/app/assets/javascripts/ckeditor/plugins/numericinput/LICENSE.md +363 -0
- data/app/assets/javascripts/ckeditor/plugins/numericinput/README.md +16 -0
- data/app/assets/javascripts/ckeditor/plugins/numericinput/plugin.js +354 -0
- data/app/assets/javascripts/ckeditor/plugins/openlink/README.md +50 -0
- data/app/assets/javascripts/ckeditor/plugins/openlink/icons/hidpi/openLink.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/openlink/icons/openLink.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/openlink/lang/bg.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/openlink/lang/de.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/openlink/lang/en.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/openlink/lang/pl.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/openlink/lang/ru.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/openlink/lang/uk.js +7 -0
- data/app/assets/javascripts/ckeditor/plugins/openlink/plugin.js +178 -0
- data/app/assets/javascripts/ckeditor/plugins/placeholder/dev/placeholder.html +5 -5
- data/app/assets/javascripts/ckeditor/plugins/placeholder/dialogs/placeholder.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/af.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ar.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/az.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/bg.js +5 -5
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ca.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/cs.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/cy.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/da.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/de-ch.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/de.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/el.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/en-au.js +12 -0
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/en-gb.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/en.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/eo.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/es-mx.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/es.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/et.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/eu.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/fa.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/fi.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/fr-ca.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/fr.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/gl.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/he.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/hr.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/hu.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/id.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/it.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ja.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/km.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ko.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ku.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/lv.js +5 -5
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/nb.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/nl.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/no.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/oc.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/pl.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/pt-br.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/pt.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ro.js +12 -0
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ru.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/si.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/sk.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/sl.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/sq.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/sv.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/th.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/tr.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/tt.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ug.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/uk.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/vi.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/zh-cn.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/zh.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/placeholder/plugin.js +3 -3
- data/app/assets/javascripts/ckeditor/plugins/placeholder/samples/placeholder.html +6 -6
- data/app/assets/javascripts/ckeditor/plugins/widget/dev/assets/simplebox/dialogs/simplebox.js +4 -4
- data/app/assets/javascripts/ckeditor/plugins/widget/dev/assets/simplebox/plugin.js +3 -3
- data/app/assets/javascripts/ckeditor/plugins/widget/dev/console.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/dev/nestedwidgets.html +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/dev/widgetstyles.html +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/af.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/ar.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/az.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/bg.js +3 -3
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/ca.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/cs.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/cy.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/da.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/de-ch.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/de.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/el.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/en-au.js +8 -0
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/en-gb.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/en.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/eo.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/es-mx.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/es.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/et.js +8 -0
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/eu.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/fa.js +3 -3
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/fi.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/fr.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/gl.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/he.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/hr.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/hu.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/id.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/it.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/ja.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/km.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/ko.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/ku.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/lv.js +3 -3
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/nb.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/nl.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/no.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/oc.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/pl.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/pt-br.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/pt.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/ro.js +8 -0
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/ru.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/sk.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/sl.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/sq.js +3 -3
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/sv.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/tr.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/tt.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/ug.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/uk.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/vi.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/zh-cn.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/lang/zh.js +2 -2
- data/app/assets/javascripts/ckeditor/plugins/widget/plugin.js +235 -64
- data/app/assets/javascripts/ckeditor/plugins/widgetselection/plugin.js +6 -11
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ar.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/bg.js +17 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ca.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/cs.js +15 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/da.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/de.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/el.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/en.js +5 -1
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/es.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/eu.js +17 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/fa.js +13 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/fi.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/fr.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/he.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/hr.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/hu.js +14 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/it.js +4 -3
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ja.js +5 -5
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ko.js +16 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/nl.js +3 -2
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/no.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/pl.js +4 -3
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/pt-br.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/pt.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ro.js +15 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ru.js +2 -1
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/sk.js +15 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/sv.js +5 -3
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/tr.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/uk.js +17 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/zh-cn.js +1 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/zh.js +14 -0
- data/app/assets/javascripts/ckeditor/plugins/wordcount/plugin.js +485 -302
- data/app/assets/javascripts/ckeditor/plugins/wordcount/samples/maxParagraphs.html +26 -0
- data/app/assets/javascripts/integral/backend.js +10 -14
- data/app/assets/javascripts/integral/frontend.js +0 -2
- data/app/assets/javascripts/integral/support/date_picker.coffee +54 -59
- data/app/assets/javascripts/integral/support/grid.coffee +11 -4
- data/app/assets/javascripts/integral/support/remote_form.coffee +13 -9
- data/app/assets/stylesheets/integral/frontend.sass +0 -1
- data/app/controllers/integral/application_controller.rb +3 -2
- data/app/controllers/integral/backend/activities_controller.rb +1 -1
- data/app/controllers/integral/backend/base_controller.rb +160 -24
- data/app/controllers/integral/backend/images_controller.rb +16 -49
- data/app/controllers/integral/backend/lists_controller.rb +15 -85
- data/app/controllers/integral/backend/pages_controller.rb +13 -116
- data/app/controllers/integral/backend/posts_controller.rb +21 -108
- data/app/controllers/integral/backend/settings_controller.rb +5 -10
- data/app/controllers/integral/backend/static_pages_controller.rb +4 -0
- data/app/controllers/integral/backend/users_controller.rb +23 -66
- data/app/controllers/integral/pages_controller.rb +2 -2
- data/app/controllers/integral/posts_controller.rb +2 -6
- data/app/decorators/integral/image_decorator.rb +1 -1
- data/app/decorators/integral/list_decorator.rb +1 -1
- data/app/decorators/integral/page_decorator.rb +1 -1
- data/app/decorators/integral/paginating_decorator.rb +6 -0
- data/app/decorators/integral/post_decorator.rb +34 -1
- data/app/decorators/integral/user_decorator.rb +1 -1
- data/app/decorators/integral/version_decorator.rb +1 -1
- data/app/helpers/integral/application_helper.rb +7 -0
- data/app/helpers/integral/blog_helper.rb +29 -0
- data/app/helpers/integral/social_helper.rb +0 -23
- data/app/models/integral/list.rb +1 -2
- data/app/models/integral/page.rb +1 -1
- data/app/models/integral/post.rb +1 -1
- data/app/models/integral/user.rb +6 -0
- data/app/policies/integral/base_policy.rb +1 -1
- data/app/views/devise/sessions/new.haml +2 -2
- data/app/views/integral/backend/images/_form.haml +8 -8
- data/app/views/integral/backend/images/edit.haml +10 -2
- data/app/views/integral/backend/lists/_child_fields.haml +1 -1
- data/app/views/integral/backend/lists/_form.haml +1 -1
- data/app/views/integral/backend/lists/_item_container.haml +2 -2
- data/app/views/integral/backend/lists/_item_modal.haml +1 -1
- data/app/views/integral/backend/lists/_list_item_fields.haml +4 -3
- data/app/views/integral/backend/lists/edit.haml +15 -1
- data/app/views/integral/backend/pages/_form.haml +3 -3
- data/app/views/integral/backend/pages/activities.haml +2 -2
- data/app/views/integral/backend/pages/activity.haml +1 -1
- data/app/views/integral/backend/pages/edit.haml +20 -0
- data/app/views/integral/backend/posts/_form.haml +9 -5
- data/app/views/integral/backend/posts/activities.haml +2 -2
- data/app/views/integral/backend/posts/activity.haml +1 -1
- data/app/views/integral/backend/posts/edit.haml +8 -3
- data/app/views/integral/backend/settings/sections/_social.haml +1 -3
- data/app/views/integral/backend/users/_form.haml +4 -4
- data/app/views/integral/backend/users/edit.haml +1 -1
- data/app/views/integral/backend/users/show.haml +7 -7
- data/app/views/integral/posts/index.haml +2 -1
- data/app/views/integral/posts/templates/default.haml +1 -2
- data/app/views/integral/shared/_share_modal.haml +0 -3
- data/app/views/integral/shared/_social_list_items.haml +6 -12
- data/config/locales/en.yml +23 -12
- data/lib/generators/templates/app.yml +0 -1
- data/lib/integral/engine.rb +1 -0
- data/lib/integral/router.rb +3 -1
- data/lib/integral/version.rb +1 -1
- data/public/integral/ckeditor_demo_content.html +0 -13
- metadata +186 -12
- data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/jp.js +0 -13
- data/app/assets/javascripts/integral/support/date_picker/picker.date.js +0 -1435
- data/app/assets/javascripts/integral/support/date_picker/picker.js +0 -1132
- data/app/assets/stylesheets/integral/support/date-picker.scss +0 -16
- data/app/assets/stylesheets/integral/support/date_picker/_default.date.scss +0 -452
- data/app/assets/stylesheets/integral/support/date_picker/_default.scss +0 -201
- data/app/assets/stylesheets/integral/support/date_picker/materialize_clockpicker.sass +0 -220
- data/app/views/integral/backend/pages/edit.html.haml +0 -15
@@ -22,6 +22,10 @@ module Integral
|
|
22
22
|
|
23
23
|
private
|
24
24
|
|
25
|
+
def resource_klass
|
26
|
+
Integral::Settings
|
27
|
+
end
|
28
|
+
|
25
29
|
def parsed_value(value)
|
26
30
|
return true if value == '_1'
|
27
31
|
return false if value == '_0'
|
@@ -32,22 +36,13 @@ module Integral
|
|
32
36
|
def settings_params
|
33
37
|
permitted_settings_params = %i[
|
34
38
|
website_title contact_email homepage_id newsletter_api_key newsletter_list_id github_url
|
35
|
-
twitter_url facebook_url youtube_url
|
39
|
+
twitter_url facebook_url youtube_url linkedin_url instagram_url
|
36
40
|
google_tag_manager_id facebook_app_id twitter_handler main_menu_list_id
|
37
41
|
]
|
38
42
|
permitted_settings_params.concat Integral.additional_settings_params
|
39
43
|
|
40
44
|
params[:settings].permit(*permitted_settings_params)
|
41
45
|
end
|
42
|
-
|
43
|
-
def set_breadcrumbs
|
44
|
-
add_breadcrumb I18n.t('integral.breadcrumbs.dashboard'), :backend_dashboard_path
|
45
|
-
add_breadcrumb I18n.t('integral.breadcrumbs.settings'), :backend_settings_path
|
46
|
-
end
|
47
|
-
|
48
|
-
def authorize_with_klass
|
49
|
-
authorize Settings
|
50
|
-
end
|
51
46
|
end
|
52
47
|
end
|
53
48
|
end
|
@@ -2,10 +2,10 @@ module Integral
|
|
2
2
|
module Backend
|
3
3
|
# Users controller
|
4
4
|
class UsersController < BaseController
|
5
|
-
before_action :
|
5
|
+
before_action :set_resource, only: %i[edit update destroy show activities activity]
|
6
6
|
before_action :authorize_with_instance, only: %i[show edit update]
|
7
7
|
before_action :authorize_with_klass, only: %i[index new create destroy]
|
8
|
-
before_action -> { set_grid
|
8
|
+
before_action -> { set_grid }, only: [:index]
|
9
9
|
|
10
10
|
# GET /
|
11
11
|
# Lists all users
|
@@ -18,26 +18,26 @@ module Integral
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
# GET /new
|
22
|
-
# User creation form
|
23
|
-
def new
|
24
|
-
add_breadcrumb I18n.t('integral.navigation.new'), :new_backend_user_path
|
25
|
-
@user = User.new
|
26
|
-
end
|
27
|
-
|
28
21
|
# GET /:id
|
29
22
|
# Show specific user
|
30
23
|
#
|
31
24
|
def show
|
32
|
-
add_breadcrumb @
|
25
|
+
add_breadcrumb @resource.name, :backend_user_path
|
26
|
+
end
|
27
|
+
|
28
|
+
# GET /:id/edit
|
29
|
+
# Resource edit screen
|
30
|
+
def edit
|
31
|
+
add_breadcrumb @resource.name, :backend_user_path
|
32
|
+
add_breadcrumb I18n.t('integral.navigation.edit'), "edit_backend_#{controller_name.singularize}_path".to_sym
|
33
33
|
end
|
34
34
|
|
35
35
|
# GET /account
|
36
36
|
# Show specific users account page
|
37
37
|
#
|
38
38
|
def account
|
39
|
-
@
|
40
|
-
add_breadcrumb @
|
39
|
+
@resource = current_user
|
40
|
+
add_breadcrumb @resource.name, :backend_account_path
|
41
41
|
|
42
42
|
render :show
|
43
43
|
end
|
@@ -45,85 +45,42 @@ module Integral
|
|
45
45
|
# POST /
|
46
46
|
# User creation
|
47
47
|
def create
|
48
|
-
@
|
48
|
+
@resource = User.invite!(resource_params, current_user)
|
49
49
|
|
50
|
-
if @
|
50
|
+
if @resource.errors.present?
|
51
51
|
respond_failure I18n.t('integral.backend.users.notification.creation_failure'), 'new'
|
52
52
|
else
|
53
|
-
respond_successfully I18n.t('integral.backend.users.notification.creation_success'), backend_user_path(@
|
53
|
+
respond_successfully I18n.t('integral.backend.users.notification.creation_success'), backend_user_path(@resource)
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
|
-
# GET /:id/edit
|
58
|
-
# User edit form
|
59
|
-
def edit
|
60
|
-
add_breadcrumb @user.name, :backend_user_path
|
61
|
-
add_breadcrumb I18n.t('integral.navigation.edit'), :edit_backend_user_path
|
62
|
-
end
|
63
|
-
|
64
57
|
# PUT /:id
|
65
58
|
# Updating a user
|
66
59
|
def update
|
67
|
-
authorized_user_params =
|
68
|
-
authorized_user_params.delete(:role_ids) unless policy(
|
60
|
+
authorized_user_params = resource_params
|
61
|
+
authorized_user_params.delete(:role_ids) unless policy(current_user).manager?
|
69
62
|
|
70
|
-
if @
|
71
|
-
respond_successfully I18n.t('integral.backend.users.notification.edit_success'), backend_user_path(@
|
63
|
+
if @resource.update(authorized_user_params)
|
64
|
+
respond_successfully I18n.t('integral.backend.users.notification.edit_success'), backend_user_path(@resource)
|
72
65
|
else
|
73
66
|
respond_failure I18n.t('integral.backend.users.notification.edit_failure'), 'edit'
|
74
67
|
end
|
75
68
|
end
|
76
69
|
|
77
|
-
# DELETE /:id
|
78
|
-
def destroy
|
79
|
-
@user.destroy
|
80
|
-
|
81
|
-
respond_successfully I18n.t('integral.backend.users.notification.delete_success'), backend_users_path
|
82
|
-
end
|
83
|
-
|
84
70
|
private
|
85
71
|
|
86
|
-
def
|
87
|
-
|
88
|
-
'page' => 1,
|
89
|
-
'descending' => true }
|
90
|
-
grid_params = params[:grid].present? ? params[:grid].permit(:descending, :order, :page, :name) : {}
|
91
|
-
grid_params.delete_if { |_k, v| v.empty? }
|
92
|
-
default_grid_options.merge(grid_params)
|
93
|
-
end
|
94
|
-
helper_method :grid_options
|
95
|
-
|
96
|
-
def respond_successfully(flash_message, redirect_path)
|
97
|
-
flash[:notice] = flash_message
|
98
|
-
redirect_to redirect_path
|
72
|
+
def resource_klass
|
73
|
+
Integral::User
|
99
74
|
end
|
100
75
|
|
101
|
-
def
|
102
|
-
flash.now[:error] = flash_message
|
103
|
-
render template
|
104
|
-
end
|
105
|
-
|
106
|
-
def set_user
|
107
|
-
@user = User.find(params[:id])
|
108
|
-
end
|
109
|
-
|
110
|
-
def user_params
|
76
|
+
def resource_params
|
111
77
|
return params.require(:user).permit(:name, :email, :avatar, :locale, role_ids: []) unless params[:user][:password].present?
|
112
78
|
|
113
79
|
params.require(:user).permit(:name, :email, :avatar, :locale, :password, :password_confirmation, role_ids: [])
|
114
80
|
end
|
115
81
|
|
116
|
-
def authorize_with_klass
|
117
|
-
authorize User
|
118
|
-
end
|
119
|
-
|
120
82
|
def authorize_with_instance
|
121
|
-
authorize @
|
122
|
-
end
|
123
|
-
|
124
|
-
def set_breadcrumbs
|
125
|
-
add_breadcrumb I18n.t('integral.navigation.dashboard'), :backend_dashboard_path
|
126
|
-
add_breadcrumb I18n.t('integral.navigation.users'), :backend_users_path
|
83
|
+
authorize @resource
|
127
84
|
end
|
128
85
|
end
|
129
86
|
end
|
@@ -31,7 +31,7 @@ module Integral
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def set_breadcrumbs
|
34
|
-
add_breadcrumb I18n.t('
|
34
|
+
add_breadcrumb I18n.t('integral.navigation.home'), :root_url
|
35
35
|
|
36
36
|
@page.breadcrumbs.each do |breadcrumb|
|
37
37
|
add_breadcrumb breadcrumb[:title], "#{Rails.application.routes.default_url_options[:host]}#{breadcrumb[:path]}"
|
@@ -40,7 +40,7 @@ module Integral
|
|
40
40
|
|
41
41
|
def canonical_url
|
42
42
|
if Settings[:homepage_id]&.to_i == @page.id
|
43
|
-
|
43
|
+
Rails.application.routes.default_url_options[:host].to_s
|
44
44
|
else
|
45
45
|
"#{Rails.application.routes.default_url_options[:host]}#{@page.path}"
|
46
46
|
end
|
@@ -25,9 +25,7 @@ module Integral
|
|
25
25
|
image: @post.preview_image(:large)
|
26
26
|
}
|
27
27
|
}
|
28
|
-
# TODO: Implement post templates
|
29
|
-
# template = @page.template
|
30
|
-
template = 'default'
|
28
|
+
template = 'default' # TODO: Implement post templates
|
31
29
|
render "integral/posts/templates/#{template}"
|
32
30
|
end
|
33
31
|
|
@@ -63,9 +61,7 @@ module Integral
|
|
63
61
|
# If an old id or a numeric id was used to find the record, then
|
64
62
|
# the request path will not match the post_path, and we should do
|
65
63
|
# a 301 redirect that uses the current friendly id.
|
66
|
-
if request.path != post_path(@post)
|
67
|
-
return redirect_to post_url(@post), status: :moved_permanently
|
68
|
-
end
|
64
|
+
redirect_to post_url(@post), status: :moved_permanently if request.path != post_path(@post)
|
69
65
|
end
|
70
66
|
end
|
71
67
|
end
|
@@ -3,6 +3,39 @@ module Integral
|
|
3
3
|
class PostDecorator < Draper::Decorator
|
4
4
|
delegate_all
|
5
5
|
|
6
|
+
# Enables pagination
|
7
|
+
def self.collection_decorator_class
|
8
|
+
PaginatingDecorator
|
9
|
+
end
|
10
|
+
|
11
|
+
# @return [Hash] JSON-LD representing the instance
|
12
|
+
def to_json_ld
|
13
|
+
{
|
14
|
+
"@type": 'blogPosting',
|
15
|
+
"mainEntityOfPage": Integral::Engine.routes.url_helpers.post_url(object),
|
16
|
+
"headline": title,
|
17
|
+
"description": description,
|
18
|
+
"datePublished": object.published_at,
|
19
|
+
"dateModified": object.updated_at,
|
20
|
+
"author": {
|
21
|
+
"@type": 'Person',
|
22
|
+
"name": object.author&.name
|
23
|
+
},
|
24
|
+
"image": [
|
25
|
+
preview_image(:large),
|
26
|
+
image(:large)
|
27
|
+
],
|
28
|
+
"publisher": {
|
29
|
+
"@type": 'Organization',
|
30
|
+
"name": Integral::Settings.website_title,
|
31
|
+
"logo": {
|
32
|
+
"@type": 'ImageObject',
|
33
|
+
"url": h.image_url('logo.png')
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
37
|
+
end
|
38
|
+
|
6
39
|
# Tags to be used within the header of an article to describe the subject
|
7
40
|
def header_tags
|
8
41
|
return I18n.t('integral.posts.show.subtitle') if object.tags_on('published').empty?
|
@@ -38,7 +71,7 @@ module Integral
|
|
38
71
|
end
|
39
72
|
|
40
73
|
# @return [String] URL to backend post page
|
41
|
-
def
|
74
|
+
def backend_url
|
42
75
|
if Integral.blog_enabled?
|
43
76
|
Integral::Engine.routes.url_helpers.edit_backend_post_url(object.id)
|
44
77
|
else
|
@@ -6,6 +6,13 @@ module Integral
|
|
6
6
|
include Integral::BlogHelper
|
7
7
|
include Integral::GalleryHelper
|
8
8
|
|
9
|
+
# @return [String] Javascript snippet containing LD-JSON
|
10
|
+
def render_json_ld
|
11
|
+
content_tag 'script', type: 'application/ld+json' do
|
12
|
+
yield.to_json.html_safe
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
9
16
|
# @param [String] content HTML, most likely generated from the WYSIWYG editor
|
10
17
|
#
|
11
18
|
# @return [String] Processed HTML. Any Integral Widgets placeholders replaced with content.
|
@@ -1,6 +1,35 @@
|
|
1
1
|
module Integral
|
2
2
|
# Blog Helper which contains methods used through the blog
|
3
3
|
module BlogHelper
|
4
|
+
# @param post [Integral::Post] post to convert to JSON-LD
|
5
|
+
#
|
6
|
+
# @return [String] Javascript snippet containing JSON-LD of the provided post
|
7
|
+
def render_post_as_json_ld(post)
|
8
|
+
render_json_ld do
|
9
|
+
post.to_json_ld.merge("@context": 'http://schema.org')
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
# @param posts [Integral::Post] collection of posts to convert to JSON-LD
|
14
|
+
#
|
15
|
+
# @return [String] Javascript snippet containing JSON-LD of the provided posts
|
16
|
+
def render_posts_as_json_ld(posts)
|
17
|
+
render_json_ld do
|
18
|
+
{
|
19
|
+
"@context": 'http://schema.org',
|
20
|
+
"@type": 'Blog',
|
21
|
+
"name": t('.title'),
|
22
|
+
"url": request.original_url,
|
23
|
+
"description": t('.description'),
|
24
|
+
"publisher": {
|
25
|
+
"@type": 'Organization',
|
26
|
+
"name": Integral::Settings.website_title
|
27
|
+
},
|
28
|
+
"blogPosts": posts.map(&:to_json_ld)
|
29
|
+
}
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
4
33
|
# Whether or not to display newsletter signup widget
|
5
34
|
def display_newsletter_signup_widget?
|
6
35
|
true
|
@@ -36,22 +36,6 @@ module Integral
|
|
36
36
|
share_url
|
37
37
|
end
|
38
38
|
|
39
|
-
# Google Plus social sharing
|
40
|
-
# URL snippet built from - https://sharingbuttons.io/
|
41
|
-
#
|
42
|
-
# @param [Hash] opts the options to create the share URL
|
43
|
-
# @option opts [String] :url Supply URL if would like to share URL other than the current
|
44
|
-
#
|
45
|
-
# @return [String] Google Plus URL to share a page
|
46
|
-
def google_plus_share_url(opts = {})
|
47
|
-
page_url = opts.fetch(:url, request.original_url)
|
48
|
-
|
49
|
-
page_url = CGI.escape(page_url)
|
50
|
-
share_url = "https://plus.google.com/share?url=#{page_url}"
|
51
|
-
|
52
|
-
share_url
|
53
|
-
end
|
54
|
-
|
55
39
|
# Linkedin social sharing
|
56
40
|
# URL snippet built from - https://sharingbuttons.io/
|
57
41
|
#
|
@@ -99,13 +83,6 @@ module Integral
|
|
99
83
|
Settings.youtube_url
|
100
84
|
end
|
101
85
|
|
102
|
-
# Google Plus Profile URL set from within Backend Settings area
|
103
|
-
#
|
104
|
-
# @return [String] Youtube URL
|
105
|
-
def google_plus_url
|
106
|
-
Settings.google_plus_url
|
107
|
-
end
|
108
|
-
|
109
86
|
# Linkedin Profile URL set from within Backend Settings area
|
110
87
|
#
|
111
88
|
# @return [String] Linkedin URL
|
data/app/models/integral/list.rb
CHANGED
@@ -30,9 +30,8 @@ module Integral
|
|
30
30
|
# Duplicates the list including all attributes, list items and list item children
|
31
31
|
#
|
32
32
|
# @return [List] Unsaved cloned list
|
33
|
-
def dup
|
33
|
+
def dup
|
34
34
|
new_list = super()
|
35
|
-
new_list.title = title if title.present?
|
36
35
|
|
37
36
|
list_items.each do |list_item|
|
38
37
|
new_list_item = list_item.dup
|
data/app/models/integral/page.rb
CHANGED
@@ -32,7 +32,7 @@ module Integral
|
|
32
32
|
validate :validate_parent_is_available
|
33
33
|
|
34
34
|
# Scopes
|
35
|
-
scope :search, ->(
|
35
|
+
scope :search, ->(query) { where('lower(title) LIKE ? OR lower(path) LIKE ?', "%#{query.downcase}%", "%#{query.downcase}%") }
|
36
36
|
|
37
37
|
# Return all available parents
|
38
38
|
# TODO: Update parent behaviour
|