comfortable_media_surfer 3.0.0 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +1 -0
  3. data/.github/dependabot.yml +7 -0
  4. data/.github/workflows/coveralls.yml +13 -1
  5. data/.github/workflows/rubyonrails.yml +15 -3
  6. data/.gitignore +4 -0
  7. data/.rubocop.yml +4 -1
  8. data/CHANGELOG.md +86 -0
  9. data/CONTRIBUTING.md +5 -2
  10. data/Gemfile +10 -6
  11. data/README.md +64 -27
  12. data/app/assets/builds/.keep +0 -0
  13. data/app/assets/config/manifest.js +1 -0
  14. data/app/assets/javascripts/comfy/admin/cms/application.js +21 -36
  15. data/app/assets/javascripts/comfy/admin/cms/base.js +6 -5
  16. data/app/assets/javascripts/comfy/admin/cms/codemirror.js +22 -10
  17. data/app/assets/javascripts/comfy/admin/cms/diff.js +7 -5
  18. data/app/assets/javascripts/comfy/admin/cms/file_link.js +17 -11
  19. data/app/assets/javascripts/comfy/admin/cms/file_upload.js +67 -41
  20. data/app/assets/javascripts/comfy/admin/cms/files_modal.js +20 -13
  21. data/app/assets/javascripts/comfy/admin/cms/sortable_list.js +28 -19
  22. data/app/assets/javascripts/comfy/admin/cms/timepicker.js +20 -12
  23. data/app/assets/javascripts/comfy/admin/cms/wysiwyg.js +39 -20
  24. data/app/assets/javascripts/comfy/vendor/diff/pretty_text_diff.js +30 -18
  25. data/app/assets/javascripts/comfy/vendor/redactor/definedlinks.js +31 -34
  26. data/app/assets/javascripts/comfy/vendor/redactor/filemanager.js +77 -62
  27. data/app/assets/javascripts/comfy/vendor/redactor/i18n/hr.js +78 -76
  28. data/app/assets/javascripts/comfy/vendor/redactor/i18n/nb.js +76 -74
  29. data/app/assets/javascripts/comfy/vendor/redactor/i18n/pl.js +77 -75
  30. data/app/assets/javascripts/comfy/vendor/redactor/imagemanager.js +66 -55
  31. data/app/assets/javascripts/comfy/vendor/redactor/table.js +346 -335
  32. data/app/assets/javascripts/comfy/vendor/redactor/video.js +69 -64
  33. data/app/assets/javascripts/comfy/vendor/redactor.js +2 -0
  34. data/app/assets/stylesheets/comfy/admin/cms/application.sass +2 -2
  35. data/app/assets/stylesheets/comfy/admin/cms/codemirror_overrides.sass +1 -1
  36. data/app/helpers/comfy/admin/cms_helper.rb +2 -2
  37. data/app/views/comfy/admin/cms/pages/toggle_branch.js.erb +14 -8
  38. data/comfortable_media_surfer.gemspec +8 -9
  39. data/config/application.rb +4 -1
  40. data/config/environments/development.rb +11 -10
  41. data/config/environments/production.rb +0 -6
  42. data/config/puma.rb +43 -0
  43. data/db/migrate/01_create_cms.rb +0 -1
  44. data/db/migrate/02_add_markdown_to_snippets.rb +5 -0
  45. data/gemfiles/7.1.gemfile +3 -2
  46. data/gemfiles/7.2.gemfile +3 -2
  47. data/gemfiles/{6.1.gemfile → 8.0.gemfile} +3 -2
  48. data/lib/comfortable_media_surfer/content/tags/audio.rb +1 -1
  49. data/lib/comfortable_media_surfer/content/tags/breadcrumbs.rb +1 -1
  50. data/lib/comfortable_media_surfer/content/tags/children.rb +1 -1
  51. data/lib/comfortable_media_surfer/content/tags/siblings.rb +1 -1
  52. data/lib/comfortable_media_surfer/engine.rb +3 -8
  53. data/lib/comfortable_media_surfer/extensions/has_revisions.rb +1 -1
  54. data/lib/comfortable_media_surfer/render_methods.rb +7 -7
  55. data/lib/comfortable_media_surfer/version.rb +1 -1
  56. data/lib/generators/comfy/cms/README +2 -9
  57. data/lib/generators/comfy/cms/cms_generator.rb +9 -7
  58. data/lib/generators/comfy/scaffold/scaffold_generator.rb +1 -1
  59. data/lib/tasks/cms_assets.rake +19 -0
  60. data/package-lock.json +379 -0
  61. data/package.json +23 -0
  62. data/rakelib/create_release.rake +17 -17
  63. metadata +24 -146
  64. data/app/assets/javascripts/comfy/vendor/Moxie.swf +0 -0
  65. data/app/assets/javascripts/comfy/vendor/Moxie.xap +0 -0
  66. data/app/assets/javascripts/comfy/vendor/bootstrap.bundle.min.js +0 -7
  67. data/app/assets/javascripts/comfy/vendor/bootstrap.bundle.min.js.map +0 -1
  68. data/app/assets/javascripts/comfy/vendor/codemirror/addon/edit/closetag.js +0 -169
  69. data/app/assets/javascripts/comfy/vendor/codemirror/mode/css/css.js +0 -832
  70. data/app/assets/javascripts/comfy/vendor/codemirror/mode/htmlmixed/htmlmixed.js +0 -152
  71. data/app/assets/javascripts/comfy/vendor/codemirror/mode/javascript/javascript.js +0 -875
  72. data/app/assets/javascripts/comfy/vendor/codemirror/mode/markdown/markdown.js +0 -861
  73. data/app/assets/javascripts/comfy/vendor/codemirror/mode/xml/xml.js +0 -394
  74. data/app/assets/javascripts/comfy/vendor/codemirror.js +0 -9653
  75. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ar.js +0 -52
  76. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/bg.js +0 -65
  77. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/bn.js +0 -65
  78. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ca.js +0 -83
  79. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/cs.js +0 -70
  80. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/cy.js +0 -92
  81. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/da.js +0 -71
  82. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/de.js +0 -70
  83. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/default.js +0 -80
  84. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/eo.js +0 -73
  85. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/es.js +0 -69
  86. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/et.js +0 -73
  87. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/fa.js +0 -68
  88. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/fi.js +0 -69
  89. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/fr.js +0 -75
  90. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/gr.js +0 -74
  91. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/he.js +0 -57
  92. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/hi.js +0 -65
  93. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/hr.js +0 -66
  94. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/hu.js +0 -72
  95. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/id.js +0 -61
  96. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/it.js +0 -70
  97. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ja.js +0 -57
  98. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ko.js +0 -60
  99. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/lt.js +0 -72
  100. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/lv.js +0 -67
  101. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/mk.js +0 -69
  102. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/mn.js +0 -67
  103. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ms.js +0 -68
  104. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/my.js +0 -69
  105. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/nl.js +0 -75
  106. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/no.js +0 -73
  107. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/pa.js +0 -65
  108. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/pl.js +0 -68
  109. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/pt-BR.js +0 -66
  110. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/pt.js +0 -66
  111. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ro.js +0 -69
  112. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ru.js +0 -66
  113. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/si.js +0 -65
  114. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sk.js +0 -70
  115. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sl.js +0 -70
  116. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sq.js +0 -65
  117. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sr.js +0 -69
  118. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sv.js +0 -70
  119. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/th.js +0 -72
  120. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/tr.js +0 -66
  121. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/uk.js +0 -66
  122. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/vn.js +0 -66
  123. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/zh-CN.js +0 -61
  124. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/zh-TW.js +0 -61
  125. data/app/assets/javascripts/comfy/vendor/moxie.min.js +0 -16
  126. data/app/assets/javascripts/comfy/vendor/plupload.dev.js +0 -2497
  127. data/app/assets/javascripts/comfy/vendor/sortable.min.js +0 -5
  128. data/app/assets/stylesheets/comfy/vendor/codemirror.css +0 -346
  129. data/app/assets/stylesheets/comfy/vendor/flatpickr.min.css +0 -13
  130. data/config/initializers/assets.rb +0 -14
  131. data/gemfiles/7.0.gemfile +0 -31
@@ -1,152 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: http://codemirror.net/LICENSE
3
-
4
- (function(mod) {
5
- if (typeof exports == "object" && typeof module == "object") // CommonJS
6
- mod(require("../../lib/codemirror"), require("../xml/xml"), require("../javascript/javascript"), require("../css/css"));
7
- else if (typeof define == "function" && define.amd) // AMD
8
- define(["../../lib/codemirror", "../xml/xml", "../javascript/javascript", "../css/css"], mod);
9
- else // Plain browser env
10
- mod(CodeMirror);
11
- })(function(CodeMirror) {
12
- "use strict";
13
-
14
- var defaultTags = {
15
- script: [
16
- ["lang", /(javascript|babel)/i, "javascript"],
17
- ["type", /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i, "javascript"],
18
- ["type", /./, "text/plain"],
19
- [null, null, "javascript"]
20
- ],
21
- style: [
22
- ["lang", /^css$/i, "css"],
23
- ["type", /^(text\/)?(x-)?(stylesheet|css)$/i, "css"],
24
- ["type", /./, "text/plain"],
25
- [null, null, "css"]
26
- ]
27
- };
28
-
29
- function maybeBackup(stream, pat, style) {
30
- var cur = stream.current(), close = cur.search(pat);
31
- if (close > -1) {
32
- stream.backUp(cur.length - close);
33
- } else if (cur.match(/<\/?$/)) {
34
- stream.backUp(cur.length);
35
- if (!stream.match(pat, false)) stream.match(cur);
36
- }
37
- return style;
38
- }
39
-
40
- var attrRegexpCache = {};
41
- function getAttrRegexp(attr) {
42
- var regexp = attrRegexpCache[attr];
43
- if (regexp) return regexp;
44
- return attrRegexpCache[attr] = new RegExp("\\s+" + attr + "\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*");
45
- }
46
-
47
- function getAttrValue(text, attr) {
48
- var match = text.match(getAttrRegexp(attr))
49
- return match ? /^\s*(.*?)\s*$/.exec(match[2])[1] : ""
50
- }
51
-
52
- function getTagRegexp(tagName, anchored) {
53
- return new RegExp((anchored ? "^" : "") + "<\/\s*" + tagName + "\s*>", "i");
54
- }
55
-
56
- function addTags(from, to) {
57
- for (var tag in from) {
58
- var dest = to[tag] || (to[tag] = []);
59
- var source = from[tag];
60
- for (var i = source.length - 1; i >= 0; i--)
61
- dest.unshift(source[i])
62
- }
63
- }
64
-
65
- function findMatchingMode(tagInfo, tagText) {
66
- for (var i = 0; i < tagInfo.length; i++) {
67
- var spec = tagInfo[i];
68
- if (!spec[0] || spec[1].test(getAttrValue(tagText, spec[0]))) return spec[2];
69
- }
70
- }
71
-
72
- CodeMirror.defineMode("htmlmixed", function (config, parserConfig) {
73
- var htmlMode = CodeMirror.getMode(config, {
74
- name: "xml",
75
- htmlMode: true,
76
- multilineTagIndentFactor: parserConfig.multilineTagIndentFactor,
77
- multilineTagIndentPastTag: parserConfig.multilineTagIndentPastTag
78
- });
79
-
80
- var tags = {};
81
- var configTags = parserConfig && parserConfig.tags, configScript = parserConfig && parserConfig.scriptTypes;
82
- addTags(defaultTags, tags);
83
- if (configTags) addTags(configTags, tags);
84
- if (configScript) for (var i = configScript.length - 1; i >= 0; i--)
85
- tags.script.unshift(["type", configScript[i].matches, configScript[i].mode])
86
-
87
- function html(stream, state) {
88
- var style = htmlMode.token(stream, state.htmlState), tag = /\btag\b/.test(style), tagName
89
- if (tag && !/[<>\s\/]/.test(stream.current()) &&
90
- (tagName = state.htmlState.tagName && state.htmlState.tagName.toLowerCase()) &&
91
- tags.hasOwnProperty(tagName)) {
92
- state.inTag = tagName + " "
93
- } else if (state.inTag && tag && />$/.test(stream.current())) {
94
- var inTag = /^([\S]+) (.*)/.exec(state.inTag)
95
- state.inTag = null
96
- var modeSpec = stream.current() == ">" && findMatchingMode(tags[inTag[1]], inTag[2])
97
- var mode = CodeMirror.getMode(config, modeSpec)
98
- var endTagA = getTagRegexp(inTag[1], true), endTag = getTagRegexp(inTag[1], false);
99
- state.token = function (stream, state) {
100
- if (stream.match(endTagA, false)) {
101
- state.token = html;
102
- state.localState = state.localMode = null;
103
- return null;
104
- }
105
- return maybeBackup(stream, endTag, state.localMode.token(stream, state.localState));
106
- };
107
- state.localMode = mode;
108
- state.localState = CodeMirror.startState(mode, htmlMode.indent(state.htmlState, ""));
109
- } else if (state.inTag) {
110
- state.inTag += stream.current()
111
- if (stream.eol()) state.inTag += " "
112
- }
113
- return style;
114
- };
115
-
116
- return {
117
- startState: function () {
118
- var state = CodeMirror.startState(htmlMode);
119
- return {token: html, inTag: null, localMode: null, localState: null, htmlState: state};
120
- },
121
-
122
- copyState: function (state) {
123
- var local;
124
- if (state.localState) {
125
- local = CodeMirror.copyState(state.localMode, state.localState);
126
- }
127
- return {token: state.token, inTag: state.inTag,
128
- localMode: state.localMode, localState: local,
129
- htmlState: CodeMirror.copyState(htmlMode, state.htmlState)};
130
- },
131
-
132
- token: function (stream, state) {
133
- return state.token(stream, state);
134
- },
135
-
136
- indent: function (state, textAfter, line) {
137
- if (!state.localMode || /^\s*<\//.test(textAfter))
138
- return htmlMode.indent(state.htmlState, textAfter);
139
- else if (state.localMode.indent)
140
- return state.localMode.indent(state.localState, textAfter, line);
141
- else
142
- return CodeMirror.Pass;
143
- },
144
-
145
- innerMode: function (state) {
146
- return {state: state.localState || state.htmlState, mode: state.localMode || htmlMode};
147
- }
148
- };
149
- }, "xml", "javascript", "css");
150
-
151
- CodeMirror.defineMIME("text/html", "htmlmixed");
152
- });