comfortable_media_surfer 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (491) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +4 -0
  3. data/.gitattributes +2 -0
  4. data/.github/issue_template.md +19 -0
  5. data/.github/pull_request_template.md +6 -0
  6. data/.github/workflows/coveralls.yml +40 -0
  7. data/.github/workflows/rubyonrails.yml +51 -0
  8. data/.gitignore +21 -0
  9. data/.rubocop.yml +75 -0
  10. data/.travis.yml +44 -0
  11. data/CONTRIBUTING.md +35 -0
  12. data/Gemfile +38 -0
  13. data/LICENSE +20 -0
  14. data/README.md +109 -0
  15. data/Rakefile +5 -0
  16. data/app/assets/config/manifest.js +0 -0
  17. data/app/assets/fonts/comfy/admin/cms/lib/redactor-font.eot +0 -0
  18. data/app/assets/javascripts/comfy/admin/cms/application.js +39 -0
  19. data/app/assets/javascripts/comfy/admin/cms/base.js +46 -0
  20. data/app/assets/javascripts/comfy/admin/cms/categories.js +17 -0
  21. data/app/assets/javascripts/comfy/admin/cms/codemirror.js +31 -0
  22. data/app/assets/javascripts/comfy/admin/cms/custom.js +1 -0
  23. data/app/assets/javascripts/comfy/admin/cms/diff.js +10 -0
  24. data/app/assets/javascripts/comfy/admin/cms/file_link.js +67 -0
  25. data/app/assets/javascripts/comfy/admin/cms/file_upload.js +194 -0
  26. data/app/assets/javascripts/comfy/admin/cms/files_modal.js +40 -0
  27. data/app/assets/javascripts/comfy/admin/cms/page_fragments.js +22 -0
  28. data/app/assets/javascripts/comfy/admin/cms/slugify.js +34 -0
  29. data/app/assets/javascripts/comfy/admin/cms/sortable_list.js +40 -0
  30. data/app/assets/javascripts/comfy/admin/cms/timepicker.js +30 -0
  31. data/app/assets/javascripts/comfy/admin/cms/wysiwyg.js +72 -0
  32. data/app/assets/javascripts/comfy/vendor/Moxie.swf +0 -0
  33. data/app/assets/javascripts/comfy/vendor/Moxie.xap +0 -0
  34. data/app/assets/javascripts/comfy/vendor/bootstrap.bundle.min.js +7 -0
  35. data/app/assets/javascripts/comfy/vendor/bootstrap.bundle.min.js.map +1 -0
  36. data/app/assets/javascripts/comfy/vendor/codemirror/addon/edit/closetag.js +169 -0
  37. data/app/assets/javascripts/comfy/vendor/codemirror/mode/css/css.js +832 -0
  38. data/app/assets/javascripts/comfy/vendor/codemirror/mode/htmlmixed/htmlmixed.js +152 -0
  39. data/app/assets/javascripts/comfy/vendor/codemirror/mode/javascript/javascript.js +875 -0
  40. data/app/assets/javascripts/comfy/vendor/codemirror/mode/markdown/markdown.js +861 -0
  41. data/app/assets/javascripts/comfy/vendor/codemirror/mode/xml/xml.js +394 -0
  42. data/app/assets/javascripts/comfy/vendor/codemirror.js +9653 -0
  43. data/app/assets/javascripts/comfy/vendor/diff/diff_match_patch.min.js +49 -0
  44. data/app/assets/javascripts/comfy/vendor/diff/pretty_text_diff.js +76 -0
  45. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ar.js +52 -0
  46. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/bg.js +65 -0
  47. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/bn.js +65 -0
  48. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ca.js +83 -0
  49. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/cs.js +70 -0
  50. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/cy.js +92 -0
  51. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/da.js +71 -0
  52. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/de.js +70 -0
  53. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/default.js +80 -0
  54. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/eo.js +73 -0
  55. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/es.js +69 -0
  56. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/et.js +73 -0
  57. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/fa.js +68 -0
  58. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/fi.js +69 -0
  59. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/fr.js +75 -0
  60. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/gr.js +74 -0
  61. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/he.js +57 -0
  62. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/hi.js +65 -0
  63. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/hr.js +66 -0
  64. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/hu.js +72 -0
  65. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/id.js +61 -0
  66. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/it.js +70 -0
  67. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ja.js +57 -0
  68. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ko.js +60 -0
  69. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/lt.js +72 -0
  70. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/lv.js +67 -0
  71. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/mk.js +69 -0
  72. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/mn.js +67 -0
  73. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ms.js +68 -0
  74. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/my.js +69 -0
  75. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/nl.js +75 -0
  76. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/no.js +73 -0
  77. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/pa.js +65 -0
  78. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/pl.js +68 -0
  79. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/pt-BR.js +66 -0
  80. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/pt.js +66 -0
  81. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ro.js +69 -0
  82. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ru.js +66 -0
  83. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/si.js +65 -0
  84. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sk.js +70 -0
  85. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sl.js +70 -0
  86. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sq.js +65 -0
  87. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sr.js +69 -0
  88. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sv.js +70 -0
  89. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/th.js +72 -0
  90. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/tr.js +66 -0
  91. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/uk.js +66 -0
  92. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/vn.js +66 -0
  93. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/zh-CN.js +61 -0
  94. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/zh-TW.js +61 -0
  95. data/app/assets/javascripts/comfy/vendor/flatpickr.min.js +2 -0
  96. data/app/assets/javascripts/comfy/vendor/fontawesome.js +5 -0
  97. data/app/assets/javascripts/comfy/vendor/moxie.min.js +16 -0
  98. data/app/assets/javascripts/comfy/vendor/plupload.dev.js +2497 -0
  99. data/app/assets/javascripts/comfy/vendor/redactor/definedlinks.js +53 -0
  100. data/app/assets/javascripts/comfy/vendor/redactor/filemanager.js +64 -0
  101. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ar.js +76 -0
  102. data/app/assets/javascripts/comfy/vendor/redactor/i18n/az.js +75 -0
  103. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ba.js +79 -0
  104. data/app/assets/javascripts/comfy/vendor/redactor/i18n/bg.js +77 -0
  105. data/app/assets/javascripts/comfy/vendor/redactor/i18n/by.js +77 -0
  106. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ca.js +75 -0
  107. data/app/assets/javascripts/comfy/vendor/redactor/i18n/cs.js +87 -0
  108. data/app/assets/javascripts/comfy/vendor/redactor/i18n/da.js +75 -0
  109. data/app/assets/javascripts/comfy/vendor/redactor/i18n/de.js +80 -0
  110. data/app/assets/javascripts/comfy/vendor/redactor/i18n/el.js +76 -0
  111. data/app/assets/javascripts/comfy/vendor/redactor/i18n/en.js +75 -0
  112. data/app/assets/javascripts/comfy/vendor/redactor/i18n/eo.js +76 -0
  113. data/app/assets/javascripts/comfy/vendor/redactor/i18n/es.js +75 -0
  114. data/app/assets/javascripts/comfy/vendor/redactor/i18n/es_AR.js +76 -0
  115. data/app/assets/javascripts/comfy/vendor/redactor/i18n/fa.js +76 -0
  116. data/app/assets/javascripts/comfy/vendor/redactor/i18n/fi.js +75 -0
  117. data/app/assets/javascripts/comfy/vendor/redactor/i18n/fr.js +75 -0
  118. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ge.js +75 -0
  119. data/app/assets/javascripts/comfy/vendor/redactor/i18n/gr.js +75 -0
  120. data/app/assets/javascripts/comfy/vendor/redactor/i18n/he.js +75 -0
  121. data/app/assets/javascripts/comfy/vendor/redactor/i18n/hr.js +76 -0
  122. data/app/assets/javascripts/comfy/vendor/redactor/i18n/hu.js +77 -0
  123. data/app/assets/javascripts/comfy/vendor/redactor/i18n/id.js +76 -0
  124. data/app/assets/javascripts/comfy/vendor/redactor/i18n/it.js +78 -0
  125. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ja.js +76 -0
  126. data/app/assets/javascripts/comfy/vendor/redactor/i18n/kn.js +75 -0
  127. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ko.js +76 -0
  128. data/app/assets/javascripts/comfy/vendor/redactor/i18n/lt.js +75 -0
  129. data/app/assets/javascripts/comfy/vendor/redactor/i18n/lv.js +75 -0
  130. data/app/assets/javascripts/comfy/vendor/redactor/i18n/mk.js +75 -0
  131. data/app/assets/javascripts/comfy/vendor/redactor/i18n/nb.js +75 -0
  132. data/app/assets/javascripts/comfy/vendor/redactor/i18n/nl.js +80 -0
  133. data/app/assets/javascripts/comfy/vendor/redactor/i18n/pl.js +76 -0
  134. data/app/assets/javascripts/comfy/vendor/redactor/i18n/pt-BR.js +75 -0
  135. data/app/assets/javascripts/comfy/vendor/redactor/i18n/pt.js +75 -0
  136. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ro.js +76 -0
  137. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ru.js +76 -0
  138. data/app/assets/javascripts/comfy/vendor/redactor/i18n/sk.js +76 -0
  139. data/app/assets/javascripts/comfy/vendor/redactor/i18n/sl.js +79 -0
  140. data/app/assets/javascripts/comfy/vendor/redactor/i18n/sq.js +79 -0
  141. data/app/assets/javascripts/comfy/vendor/redactor/i18n/sr-CIR.js +79 -0
  142. data/app/assets/javascripts/comfy/vendor/redactor/i18n/sr-LAT.js +79 -0
  143. data/app/assets/javascripts/comfy/vendor/redactor/i18n/sv.js +74 -0
  144. data/app/assets/javascripts/comfy/vendor/redactor/i18n/th.js +74 -0
  145. data/app/assets/javascripts/comfy/vendor/redactor/i18n/tr.js +75 -0
  146. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ua.js +77 -0
  147. data/app/assets/javascripts/comfy/vendor/redactor/i18n/uk.js +77 -0
  148. data/app/assets/javascripts/comfy/vendor/redactor/i18n/vi.js +74 -0
  149. data/app/assets/javascripts/comfy/vendor/redactor/i18n/zh-CN.js +75 -0
  150. data/app/assets/javascripts/comfy/vendor/redactor/i18n/zh-TW.js +75 -0
  151. data/app/assets/javascripts/comfy/vendor/redactor/imagemanager.js +57 -0
  152. data/app/assets/javascripts/comfy/vendor/redactor/table.js +337 -0
  153. data/app/assets/javascripts/comfy/vendor/redactor/video.js +77 -0
  154. data/app/assets/javascripts/comfy/vendor/redactor.js +9561 -0
  155. data/app/assets/javascripts/comfy/vendor/sortable.min.js +5 -0
  156. data/app/assets/stylesheets/comfy/admin/cms/application.sass +11 -0
  157. data/app/assets/stylesheets/comfy/admin/cms/base.sass +256 -0
  158. data/app/assets/stylesheets/comfy/admin/cms/codemirror_overrides.sass +19 -0
  159. data/app/assets/stylesheets/comfy/admin/cms/custom.sass +1 -0
  160. data/app/assets/stylesheets/comfy/admin/cms/redactor_overrides.sass +22 -0
  161. data/app/assets/stylesheets/comfy/vendor/bootstrap/_alert.scss +51 -0
  162. data/app/assets/stylesheets/comfy/vendor/bootstrap/_badge.scss +54 -0
  163. data/app/assets/stylesheets/comfy/vendor/bootstrap/_breadcrumb.scss +41 -0
  164. data/app/assets/stylesheets/comfy/vendor/bootstrap/_button-group.scss +163 -0
  165. data/app/assets/stylesheets/comfy/vendor/bootstrap/_buttons.scss +137 -0
  166. data/app/assets/stylesheets/comfy/vendor/bootstrap/_card.scss +289 -0
  167. data/app/assets/stylesheets/comfy/vendor/bootstrap/_carousel.scss +197 -0
  168. data/app/assets/stylesheets/comfy/vendor/bootstrap/_close.scss +41 -0
  169. data/app/assets/stylesheets/comfy/vendor/bootstrap/_code.scss +48 -0
  170. data/app/assets/stylesheets/comfy/vendor/bootstrap/_custom-forms.scss +507 -0
  171. data/app/assets/stylesheets/comfy/vendor/bootstrap/_dropdown.scss +191 -0
  172. data/app/assets/stylesheets/comfy/vendor/bootstrap/_forms.scss +330 -0
  173. data/app/assets/stylesheets/comfy/vendor/bootstrap/_functions.scss +86 -0
  174. data/app/assets/stylesheets/comfy/vendor/bootstrap/_grid.scss +52 -0
  175. data/app/assets/stylesheets/comfy/vendor/bootstrap/_images.scss +42 -0
  176. data/app/assets/stylesheets/comfy/vendor/bootstrap/_input-group.scss +193 -0
  177. data/app/assets/stylesheets/comfy/vendor/bootstrap/_jumbotron.scss +17 -0
  178. data/app/assets/stylesheets/comfy/vendor/bootstrap/_list-group.scss +149 -0
  179. data/app/assets/stylesheets/comfy/vendor/bootstrap/_media.scss +8 -0
  180. data/app/assets/stylesheets/comfy/vendor/bootstrap/_mixins.scss +47 -0
  181. data/app/assets/stylesheets/comfy/vendor/bootstrap/_modal.scss +229 -0
  182. data/app/assets/stylesheets/comfy/vendor/bootstrap/_nav.scss +120 -0
  183. data/app/assets/stylesheets/comfy/vendor/bootstrap/_navbar.scss +294 -0
  184. data/app/assets/stylesheets/comfy/vendor/bootstrap/_pagination.scss +73 -0
  185. data/app/assets/stylesheets/comfy/vendor/bootstrap/_popover.scss +171 -0
  186. data/app/assets/stylesheets/comfy/vendor/bootstrap/_print.scss +141 -0
  187. data/app/assets/stylesheets/comfy/vendor/bootstrap/_progress.scss +43 -0
  188. data/app/assets/stylesheets/comfy/vendor/bootstrap/_reboot.scss +483 -0
  189. data/app/assets/stylesheets/comfy/vendor/bootstrap/_root.scss +19 -0
  190. data/app/assets/stylesheets/comfy/vendor/bootstrap/_spinners.scss +55 -0
  191. data/app/assets/stylesheets/comfy/vendor/bootstrap/_tables.scss +185 -0
  192. data/app/assets/stylesheets/comfy/vendor/bootstrap/_toasts.scss +44 -0
  193. data/app/assets/stylesheets/comfy/vendor/bootstrap/_tooltip.scss +115 -0
  194. data/app/assets/stylesheets/comfy/vendor/bootstrap/_transitions.scss +20 -0
  195. data/app/assets/stylesheets/comfy/vendor/bootstrap/_type.scss +125 -0
  196. data/app/assets/stylesheets/comfy/vendor/bootstrap/_utilities.scss +17 -0
  197. data/app/assets/stylesheets/comfy/vendor/bootstrap/_variables.scss +1123 -0
  198. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap-grid.scss +29 -0
  199. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap-reboot.scss +12 -0
  200. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap.scss +44 -0
  201. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_alert.scss +13 -0
  202. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_background-variant.scss +21 -0
  203. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_badge.scss +17 -0
  204. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_border-radius.scss +63 -0
  205. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_box-shadow.scss +20 -0
  206. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_breakpoints.scss +123 -0
  207. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_buttons.scss +107 -0
  208. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_caret.scss +62 -0
  209. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_clearfix.scss +7 -0
  210. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_deprecate.scss +10 -0
  211. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_float.scss +14 -0
  212. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_forms.scss +192 -0
  213. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_gradients.scss +45 -0
  214. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_grid-framework.scss +66 -0
  215. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_grid.scss +51 -0
  216. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_hover.scss +37 -0
  217. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_image.scss +36 -0
  218. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_list-group.scss +21 -0
  219. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_lists.scss +7 -0
  220. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_nav-divider.scss +10 -0
  221. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_pagination.scss +22 -0
  222. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_reset-text.scss +17 -0
  223. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_resize.scss +6 -0
  224. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_screen-reader.scss +33 -0
  225. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_size.scss +7 -0
  226. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_table-row.scss +39 -0
  227. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-emphasis.scss +16 -0
  228. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-hide.scss +11 -0
  229. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-truncate.scss +8 -0
  230. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_transition.scss +16 -0
  231. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_visibility.scss +8 -0
  232. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_align.scss +8 -0
  233. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_background.scss +19 -0
  234. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_borders.scss +75 -0
  235. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_clearfix.scss +3 -0
  236. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_display.scss +26 -0
  237. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_embed.scss +39 -0
  238. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_flex.scss +51 -0
  239. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_float.scss +11 -0
  240. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_overflow.scss +5 -0
  241. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_position.scss +32 -0
  242. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_screenreaders.scss +11 -0
  243. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_shadows.scss +6 -0
  244. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_sizing.scss +20 -0
  245. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_spacing.scss +73 -0
  246. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_stretched-link.scss +19 -0
  247. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_text.scss +72 -0
  248. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_visibility.scss +13 -0
  249. data/app/assets/stylesheets/comfy/vendor/bootstrap/vendor/_rfs.scss +204 -0
  250. data/app/assets/stylesheets/comfy/vendor/codemirror.css +346 -0
  251. data/app/assets/stylesheets/comfy/vendor/flatpickr.min.css +13 -0
  252. data/app/assets/stylesheets/comfy/vendor/fontawesome.css +343 -0
  253. data/app/assets/stylesheets/comfy/vendor/redactor.css +948 -0
  254. data/app/controllers/application_controller.rb +5 -0
  255. data/app/controllers/comfy/admin/base_controller.rb +20 -0
  256. data/app/controllers/comfy/admin/cms/base_controller.rb +54 -0
  257. data/app/controllers/comfy/admin/cms/categories_controller.rb +38 -0
  258. data/app/controllers/comfy/admin/cms/files_controller.rb +139 -0
  259. data/app/controllers/comfy/admin/cms/layouts_controller.rb +68 -0
  260. data/app/controllers/comfy/admin/cms/pages_controller.rb +163 -0
  261. data/app/controllers/comfy/admin/cms/revisions/base_controller.rb +48 -0
  262. data/app/controllers/comfy/admin/cms/revisions/layout_controller.rb +16 -0
  263. data/app/controllers/comfy/admin/cms/revisions/page_controller.rb +28 -0
  264. data/app/controllers/comfy/admin/cms/revisions/snippet_controller.rb +16 -0
  265. data/app/controllers/comfy/admin/cms/revisions/translation_controller.rb +29 -0
  266. data/app/controllers/comfy/admin/cms/sites_controller.rb +68 -0
  267. data/app/controllers/comfy/admin/cms/snippets_controller.rb +65 -0
  268. data/app/controllers/comfy/admin/cms/translations_controller.rb +105 -0
  269. data/app/controllers/comfy/cms/assets_controller.rb +38 -0
  270. data/app/controllers/comfy/cms/base_controller.rb +26 -0
  271. data/app/controllers/comfy/cms/content_controller.rb +90 -0
  272. data/app/controllers/concerns/comfy/paginate.rb +11 -0
  273. data/app/controllers/concerns/comfy/reorder_action.rb +20 -0
  274. data/app/helpers/comfy/admin/cms_helper.rb +50 -0
  275. data/app/helpers/comfy/cms_helper.rb +71 -0
  276. data/app/models/comfy/cms/categorization.rb +14 -0
  277. data/app/models/comfy/cms/category.rb +22 -0
  278. data/app/models/comfy/cms/file.rb +65 -0
  279. data/app/models/comfy/cms/fragment.rb +58 -0
  280. data/app/models/comfy/cms/layout.rb +114 -0
  281. data/app/models/comfy/cms/page.rb +173 -0
  282. data/app/models/comfy/cms/revision.rb +10 -0
  283. data/app/models/comfy/cms/site.rb +93 -0
  284. data/app/models/comfy/cms/snippet.rb +43 -0
  285. data/app/models/comfy/cms/translation.rb +42 -0
  286. data/app/models/concerns/comfy/cms/with_categories.rb +51 -0
  287. data/app/models/concerns/comfy/cms/with_fragments.rb +123 -0
  288. data/app/views/comfy/admin/cms/categories/_categories.html.haml +4 -0
  289. data/app/views/comfy/admin/cms/categories/_edit.html.haml +7 -0
  290. data/app/views/comfy/admin/cms/categories/_form.html.haml +5 -0
  291. data/app/views/comfy/admin/cms/categories/_index.html.haml +28 -0
  292. data/app/views/comfy/admin/cms/categories/_show.html.haml +15 -0
  293. data/app/views/comfy/admin/cms/categories/create.js.erb +7 -0
  294. data/app/views/comfy/admin/cms/categories/destroy.js.erb +8 -0
  295. data/app/views/comfy/admin/cms/categories/edit.js.erb +3 -0
  296. data/app/views/comfy/admin/cms/categories/update.js.erb +6 -0
  297. data/app/views/comfy/admin/cms/files/_file.html.haml +31 -0
  298. data/app/views/comfy/admin/cms/files/_form.html.haml +26 -0
  299. data/app/views/comfy/admin/cms/files/_modal.html.haml +3 -0
  300. data/app/views/comfy/admin/cms/files/destroy.js.erb +4 -0
  301. data/app/views/comfy/admin/cms/files/edit.html.haml +5 -0
  302. data/app/views/comfy/admin/cms/files/index.html.haml +31 -0
  303. data/app/views/comfy/admin/cms/files/new.html.haml +5 -0
  304. data/app/views/comfy/admin/cms/fragments/_form_fragment_attachments.html.haml +23 -0
  305. data/app/views/comfy/admin/cms/fragments/_form_fragments.html.haml +38 -0
  306. data/app/views/comfy/admin/cms/layouts/_form.html.haml +20 -0
  307. data/app/views/comfy/admin/cms/layouts/_index_branch.html.haml +26 -0
  308. data/app/views/comfy/admin/cms/layouts/edit.html.haml +9 -0
  309. data/app/views/comfy/admin/cms/layouts/index.html.haml +10 -0
  310. data/app/views/comfy/admin/cms/layouts/new.html.haml +5 -0
  311. data/app/views/comfy/admin/cms/pages/_form.html.haml +31 -0
  312. data/app/views/comfy/admin/cms/pages/_index_branch.html.haml +44 -0
  313. data/app/views/comfy/admin/cms/pages/edit.html.haml +10 -0
  314. data/app/views/comfy/admin/cms/pages/index.html.haml +13 -0
  315. data/app/views/comfy/admin/cms/pages/new.html.haml +5 -0
  316. data/app/views/comfy/admin/cms/pages/toggle_branch.js.erb +13 -0
  317. data/app/views/comfy/admin/cms/revisions/_sidebar.html.haml +2 -0
  318. data/app/views/comfy/admin/cms/revisions/show.html.haml +36 -0
  319. data/app/views/comfy/admin/cms/sites/_form.html.haml +15 -0
  320. data/app/views/comfy/admin/cms/sites/edit.html.haml +5 -0
  321. data/app/views/comfy/admin/cms/sites/index.html.haml +28 -0
  322. data/app/views/comfy/admin/cms/sites/new.html.haml +5 -0
  323. data/app/views/comfy/admin/cms/snippets/_form.html.haml +19 -0
  324. data/app/views/comfy/admin/cms/snippets/edit.html.haml +9 -0
  325. data/app/views/comfy/admin/cms/snippets/index.html.haml +33 -0
  326. data/app/views/comfy/admin/cms/snippets/new.html.haml +5 -0
  327. data/app/views/comfy/admin/cms/translations/_form.html.haml +20 -0
  328. data/app/views/comfy/admin/cms/translations/_sidebar.html.haml +19 -0
  329. data/app/views/comfy/admin/cms/translations/edit.html.haml +10 -0
  330. data/app/views/comfy/admin/cms/translations/new.html.haml +5 -0
  331. data/app/views/kaminari/comfy/_first_page.html.haml +3 -0
  332. data/app/views/kaminari/comfy/_gap.html.haml +2 -0
  333. data/app/views/kaminari/comfy/_last_page.html.haml +3 -0
  334. data/app/views/kaminari/comfy/_next_page.html.haml +2 -0
  335. data/app/views/kaminari/comfy/_page.html.haml +2 -0
  336. data/app/views/kaminari/comfy/_paginator.html.haml +11 -0
  337. data/app/views/kaminari/comfy/_prev_page.html.haml +2 -0
  338. data/app/views/layouts/comfy/admin/cms/_body.html.haml +14 -0
  339. data/app/views/layouts/comfy/admin/cms/_flash.html.haml +4 -0
  340. data/app/views/layouts/comfy/admin/cms/_footer_js.html.haml +6 -0
  341. data/app/views/layouts/comfy/admin/cms/_head.html.haml +19 -0
  342. data/app/views/layouts/comfy/admin/cms/_left.html.haml +46 -0
  343. data/app/views/layouts/comfy/admin/cms/_right.html.haml +5 -0
  344. data/app/views/layouts/comfy/admin/cms.html.haml +4 -0
  345. data/bin/bundle +3 -0
  346. data/bin/rails +4 -0
  347. data/bin/rake +4 -0
  348. data/bin/setup +36 -0
  349. data/bin/update +31 -0
  350. data/bin/yarn +11 -0
  351. data/comfortable_media_surfer.gemspec +37 -0
  352. data/config/application.rb +59 -0
  353. data/config/boot.rb +5 -0
  354. data/config/cable.yml +10 -0
  355. data/config/cms_routes.rb +8 -0
  356. data/config/database.yml +40 -0
  357. data/config/environment.rb +7 -0
  358. data/config/environments/development.rb +80 -0
  359. data/config/environments/production.rb +99 -0
  360. data/config/environments/test.rb +74 -0
  361. data/config/initializers/assets.rb +14 -0
  362. data/config/initializers/comfortable_media_surfer.rb +122 -0
  363. data/config/initializers/content_security_policy.rb +27 -0
  364. data/config/initializers/filter_parameter_logging.rb +10 -0
  365. data/config/initializers/inflections.rb +18 -0
  366. data/config/initializers/json.rb +9 -0
  367. data/config/initializers/new_framework_defaults_7_0.rb +144 -0
  368. data/config/initializers/new_framework_defaults_7_1.rb +225 -0
  369. data/config/initializers/permissions_policy.rb +15 -0
  370. data/config/locales/ar.yml +262 -0
  371. data/config/locales/ca.yml +262 -0
  372. data/config/locales/cs.yml +262 -0
  373. data/config/locales/da.yml +262 -0
  374. data/config/locales/de.yml +262 -0
  375. data/config/locales/en.yml +262 -0
  376. data/config/locales/es.yml +262 -0
  377. data/config/locales/fi.yml +262 -0
  378. data/config/locales/fr.yml +262 -0
  379. data/config/locales/gr.yml +262 -0
  380. data/config/locales/hr.yml +262 -0
  381. data/config/locales/it.yml +262 -0
  382. data/config/locales/ja.yml +262 -0
  383. data/config/locales/nb.yml +262 -0
  384. data/config/locales/nl.yml +262 -0
  385. data/config/locales/pl.yml +262 -0
  386. data/config/locales/pt-BR.yml +262 -0
  387. data/config/locales/ru.yml +262 -0
  388. data/config/locales/sk.yml +262 -0
  389. data/config/locales/sv.yml +262 -0
  390. data/config/locales/tr.yml +262 -0
  391. data/config/locales/uk.yml +262 -0
  392. data/config/locales/zh-CN.yml +262 -0
  393. data/config/locales/zh-TW.yml +262 -0
  394. data/config/storage.yml +35 -0
  395. data/config.ru +6 -0
  396. data/db/cms_seeds/sample-site/files/_default.jpg.yml +5 -0
  397. data/db/cms_seeds/sample-site/files/default.jpg +0 -0
  398. data/db/cms_seeds/sample-site/layouts/default/content.html +16 -0
  399. data/db/cms_seeds/sample-site/layouts/default/nested/content.html +14 -0
  400. data/db/cms_seeds/sample-site/pages/index/child_a/content.html +7 -0
  401. data/db/cms_seeds/sample-site/pages/index/child_b/content.html +6 -0
  402. data/db/cms_seeds/sample-site/pages/index/cms logo.png +0 -0
  403. data/db/cms_seeds/sample-site/pages/index/content.es.html +6 -0
  404. data/db/cms_seeds/sample-site/pages/index/content.fr.html +6 -0
  405. data/db/cms_seeds/sample-site/pages/index/content.html +25 -0
  406. data/db/cms_seeds/sample-site/pages/index/footer.png +0 -0
  407. data/db/cms_seeds/sample-site/pages/index/header.png +0 -0
  408. data/db/cms_seeds/sample-site/snippets/default.html +8 -0
  409. data/db/migrate/00_create_active_storage_tables.active_storage.rb +50 -0
  410. data/db/migrate/01_create_cms.rb +143 -0
  411. data/gemfiles/6.1.gemfile +31 -0
  412. data/gemfiles/7.0.gemfile +31 -0
  413. data/gemfiles/7.1.gemfile +31 -0
  414. data/gemfiles/7.2.gemfile +31 -0
  415. data/lib/comfortable_media_surfer/access_control/admin_authentication.rb +22 -0
  416. data/lib/comfortable_media_surfer/access_control/admin_authorization.rb +10 -0
  417. data/lib/comfortable_media_surfer/access_control/public_authentication.rb +10 -0
  418. data/lib/comfortable_media_surfer/access_control/public_authorization.rb +10 -0
  419. data/lib/comfortable_media_surfer/configuration.rb +138 -0
  420. data/lib/comfortable_media_surfer/content/block.rb +12 -0
  421. data/lib/comfortable_media_surfer/content/params_parser.rb +149 -0
  422. data/lib/comfortable_media_surfer/content/renderer.rb +146 -0
  423. data/lib/comfortable_media_surfer/content/tag.rb +48 -0
  424. data/lib/comfortable_media_surfer/content/tags/asset.rb +57 -0
  425. data/lib/comfortable_media_surfer/content/tags/audio.rb +39 -0
  426. data/lib/comfortable_media_surfer/content/tags/breadcrumbs.rb +43 -0
  427. data/lib/comfortable_media_surfer/content/tags/checkbox.rb +27 -0
  428. data/lib/comfortable_media_surfer/content/tags/children.rb +52 -0
  429. data/lib/comfortable_media_surfer/content/tags/date.rb +19 -0
  430. data/lib/comfortable_media_surfer/content/tags/datetime.rb +42 -0
  431. data/lib/comfortable_media_surfer/content/tags/file.rb +70 -0
  432. data/lib/comfortable_media_surfer/content/tags/file_link.rb +58 -0
  433. data/lib/comfortable_media_surfer/content/tags/files.rb +41 -0
  434. data/lib/comfortable_media_surfer/content/tags/fragment.rb +64 -0
  435. data/lib/comfortable_media_surfer/content/tags/helper.rb +53 -0
  436. data/lib/comfortable_media_surfer/content/tags/image.rb +56 -0
  437. data/lib/comfortable_media_surfer/content/tags/markdown.rb +22 -0
  438. data/lib/comfortable_media_surfer/content/tags/mixins/file_content.rb +42 -0
  439. data/lib/comfortable_media_surfer/content/tags/number.rb +18 -0
  440. data/lib/comfortable_media_surfer/content/tags/page_file_link.rb +86 -0
  441. data/lib/comfortable_media_surfer/content/tags/partial.rb +47 -0
  442. data/lib/comfortable_media_surfer/content/tags/siblings.rb +66 -0
  443. data/lib/comfortable_media_surfer/content/tags/snippet.rb +36 -0
  444. data/lib/comfortable_media_surfer/content/tags/template.rb +42 -0
  445. data/lib/comfortable_media_surfer/content/tags/text.rb +18 -0
  446. data/lib/comfortable_media_surfer/content/tags/textarea.rb +19 -0
  447. data/lib/comfortable_media_surfer/content/tags/wysiwyg.rb +19 -0
  448. data/lib/comfortable_media_surfer/content/tags.rb +29 -0
  449. data/lib/comfortable_media_surfer/content.rb +11 -0
  450. data/lib/comfortable_media_surfer/engine.rb +29 -0
  451. data/lib/comfortable_media_surfer/error.rb +24 -0
  452. data/lib/comfortable_media_surfer/extensions/acts_as_tree.rb +114 -0
  453. data/lib/comfortable_media_surfer/extensions/has_revisions.rb +68 -0
  454. data/lib/comfortable_media_surfer/extensions.rb +8 -0
  455. data/lib/comfortable_media_surfer/form_builder.rb +43 -0
  456. data/lib/comfortable_media_surfer/render_methods.rb +106 -0
  457. data/lib/comfortable_media_surfer/routing.rb +79 -0
  458. data/lib/comfortable_media_surfer/seeds/file/exporter.rb +37 -0
  459. data/lib/comfortable_media_surfer/seeds/file/importer.rb +59 -0
  460. data/lib/comfortable_media_surfer/seeds/layout/exporter.rb +38 -0
  461. data/lib/comfortable_media_surfer/seeds/layout/importer.rb +60 -0
  462. data/lib/comfortable_media_surfer/seeds/page/exporter.rb +88 -0
  463. data/lib/comfortable_media_surfer/seeds/page/importer.rb +217 -0
  464. data/lib/comfortable_media_surfer/seeds/snippet/exporter.rb +32 -0
  465. data/lib/comfortable_media_surfer/seeds/snippet/importer.rb +47 -0
  466. data/lib/comfortable_media_surfer/seeds.rb +112 -0
  467. data/lib/comfortable_media_surfer/version.rb +5 -0
  468. data/lib/comfortable_media_surfer/view_hooks.rb +33 -0
  469. data/lib/comfortable_media_surfer.rb +56 -0
  470. data/lib/generators/comfy/cms/README +28 -0
  471. data/lib/generators/comfy/cms/assets_generator.rb +16 -0
  472. data/lib/generators/comfy/cms/cms_generator.rb +67 -0
  473. data/lib/generators/comfy/cms/controllers_generator.rb +15 -0
  474. data/lib/generators/comfy/cms/models_generator.rb +15 -0
  475. data/lib/generators/comfy/cms/views_generator.rb +15 -0
  476. data/lib/generators/comfy/scaffold/scaffold_generator.rb +79 -0
  477. data/lib/generators/comfy/scaffold/templates/controller.rb.tt +62 -0
  478. data/lib/generators/comfy/scaffold/templates/migration.rb.tt +11 -0
  479. data/lib/generators/comfy/scaffold/templates/model.rb.tt +21 -0
  480. data/lib/generators/comfy/scaffold/templates/tests/controller.rb.tt +115 -0
  481. data/lib/generators/comfy/scaffold/templates/tests/fixture.yml.tt +4 -0
  482. data/lib/generators/comfy/scaffold/templates/tests/model.rb.tt +26 -0
  483. data/lib/generators/comfy/scaffold/templates/views/_form.haml.tt +7 -0
  484. data/lib/generators/comfy/scaffold/templates/views/edit.haml.tt +5 -0
  485. data/lib/generators/comfy/scaffold/templates/views/index.haml.tt +21 -0
  486. data/lib/generators/comfy/scaffold/templates/views/new.haml.tt +5 -0
  487. data/lib/generators/comfy/scaffold/templates/views/show.haml.tt +4 -0
  488. data/lib/tasks/cms_seeds.rake +40 -0
  489. data/public/favicon.ico +0 -0
  490. data/rakelib/create_release.rake +81 -0
  491. metadata +797 -0
@@ -0,0 +1,225 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Be sure to restart your server when you modify this file.
4
+ #
5
+ # This file eases your Rails 7.1 framework defaults upgrade.
6
+ #
7
+ # Uncomment each configuration one by one to switch to the new default.
8
+ # Once your application is ready to run with all new defaults, you can remove
9
+ # this file and set the `config.load_defaults` to `7.1`.
10
+ #
11
+ # Read the Guide for Upgrading Ruby on Rails for more info on each option.
12
+ # https://guides.rubyonrails.org/upgrading_ruby_on_rails.html
13
+
14
+ # No longer add autoloaded paths into `$LOAD_PATH`. This means that you won't be able
15
+ # to manually require files that are managed by the autoloader, which you shouldn't do anyway.
16
+ # This will reduce the size of the load path, making `require` faster if you don't use bootsnap, or reduce the size
17
+ # of the bootsnap cache if you use it.
18
+ # Rails.application.config.add_autoload_paths_to_load_path = false
19
+
20
+ # Remove the default X-Download-Options headers since it is used only by Internet Explorer.
21
+ # If you need to support Internet Explorer, add back `"X-Download-Options" => "noopen"`.
22
+ # Rails.application.config.action_dispatch.default_headers = {
23
+ # "X-Frame-Options" => "SAMEORIGIN",
24
+ # "X-XSS-Protection" => "0",
25
+ # "X-Content-Type-Options" => "nosniff",
26
+ # "X-Permitted-Cross-Domain-Policies" => "none",
27
+ # "Referrer-Policy" => "strict-origin-when-cross-origin"
28
+ # }
29
+
30
+ # Do not treat an `ActionController::Parameters` instance
31
+ # as equal to an equivalent `Hash` by default.
32
+ # Rails.application.config.action_controller.allow_deprecated_parameters_hash_equality = false
33
+
34
+ # Active Record Encryption now uses SHA-256 as its hash digest algorithm. Important: If you have
35
+ # data encrypted with previous Rails versions, there are two scenarios to consider:
36
+ #
37
+ # 1. If you have +config.active_support.key_generator_hash_digest_class+ configured as SHA1 (the default
38
+ # before Rails 7.0), you need to configure SHA-1 for Active Record Encryption too:
39
+ # Rails.application.config.active_record.encryption.hash_digest_class = OpenSSL::Digest::SHA1
40
+ # 2. If you have +config.active_support.key_generator_hash_digest_class+ configured as SHA256 (the new default
41
+ # in 7.0), then you need to configure SHA-256 for Active Record Encryption:
42
+ # Rails.application.config.active_record.encryption.hash_digest_class = OpenSSL::Digest::SHA256
43
+ #
44
+ # If you don't currently have data encrypted with Active Record encryption, you can disable this setting to
45
+ # configure the default behavior starting 7.1+:
46
+ # Rails.application.config.active_record.encryption.support_sha1_for_non_deterministic_encryption = false
47
+
48
+ # No longer run after_commit callbacks on the first of multiple Active Record
49
+ # instances to save changes to the same database row within a transaction.
50
+ # Instead, run these callbacks on the instance most likely to have internal
51
+ # state which matches what was committed to the database, typically the last
52
+ # instance to save.
53
+ # Rails.application.config.active_record.run_commit_callbacks_on_first_saved_instances_in_transaction = false
54
+
55
+ # Configures SQLite with a strict strings mode, which disables double-quoted string literals.
56
+ #
57
+ # SQLite has some quirks around double-quoted string literals.
58
+ # It first tries to consider double-quoted strings as identifier names, but if they don't exist
59
+ # it then considers them as string literals. Because of this, typos can silently go unnoticed.
60
+ # For example, it is possible to create an index for a non existing column.
61
+ # See https://www.sqlite.org/quirks.html#double_quoted_string_literals_are_accepted for more details.
62
+ # Rails.application.config.active_record.sqlite3_adapter_strict_strings_by_default = true
63
+
64
+ # Disable deprecated singular associations names
65
+ # Rails.application.config.active_record.allow_deprecated_singular_associations_name = false
66
+
67
+ # Enable the Active Job `BigDecimal` argument serializer, which guarantees
68
+ # roundtripping. Without this serializer, some queue adapters may serialize
69
+ # `BigDecimal` arguments as simple (non-roundtrippable) strings.
70
+ #
71
+ # When deploying an application with multiple replicas, old (pre-Rails 7.1)
72
+ # replicas will not be able to deserialize `BigDecimal` arguments from this
73
+ # serializer. Therefore, this setting should only be enabled after all replicas
74
+ # have been successfully upgraded to Rails 7.1.
75
+ # Rails.application.config.active_job.use_big_decimal_serializer = true
76
+
77
+ # Specify if an `ArgumentError` should be raised if `Rails.cache` `fetch` or
78
+ # `write` are given an invalid `expires_at` or `expires_in` time.
79
+ # Options are `true`, and `false`. If `false`, the exception will be reported
80
+ # as `handled` and logged instead.
81
+ # Rails.application.config.active_support.raise_on_invalid_cache_expiration_time = true
82
+
83
+ # Specify whether Query Logs will format tags using the SQLCommenter format
84
+ # (https://open-telemetry.github.io/opentelemetry-sqlcommenter/), or using the legacy format.
85
+ # Options are `:legacy` and `:sqlcommenter`.
86
+ # Rails.application.config.active_record.query_log_tags_format = :sqlcommenter
87
+
88
+ # Specify the default serializer used by `MessageEncryptor` and `MessageVerifier`
89
+ # instances.
90
+ #
91
+ # The legacy default is `:marshal`, which is a potential vector for
92
+ # deserialization attacks in cases where a message signing secret has been
93
+ # leaked.
94
+ #
95
+ # In Rails 7.1, the new default is `:json_allow_marshal` which serializes and
96
+ # deserializes with `ActiveSupport::JSON`, but can fall back to deserializing
97
+ # with `Marshal` so that legacy messages can still be read.
98
+ #
99
+ # In Rails 7.2, the default will become `:json` which serializes and
100
+ # deserializes with `ActiveSupport::JSON` only.
101
+ #
102
+ # Alternatively, you can choose `:message_pack` or `:message_pack_allow_marshal`,
103
+ # which serialize with `ActiveSupport::MessagePack`. `ActiveSupport::MessagePack`
104
+ # can roundtrip some Ruby types that are not supported by JSON, and may provide
105
+ # improved performance, but it requires the `msgpack` gem.
106
+ #
107
+ # For more information, see
108
+ # https://guides.rubyonrails.org/v7.1/configuring.html#config-active-support-message-serializer
109
+ #
110
+ # If you are performing a rolling deploy of a Rails 7.1 upgrade, wherein servers
111
+ # that have not yet been upgraded must be able to read messages from upgraded
112
+ # servers, first deploy without changing the serializer, then set the serializer
113
+ # in a subsequent deploy.
114
+ # Rails.application.config.active_support.message_serializer = :json_allow_marshal
115
+
116
+ # Enable a performance optimization that serializes message data and metadata
117
+ # together. This changes the message format, so messages serialized this way
118
+ # cannot be read by older versions of Rails. However, messages that use the old
119
+ # format can still be read, regardless of whether this optimization is enabled.
120
+ #
121
+ # To perform a rolling deploy of a Rails 7.1 upgrade, wherein servers that have
122
+ # not yet been upgraded must be able to read messages from upgraded servers,
123
+ # leave this optimization off on the first deploy, then enable it on a
124
+ # subsequent deploy.
125
+ # Rails.application.config.active_support.use_message_serializer_for_metadata = true
126
+
127
+ # Set the maximum size for Rails log files.
128
+ #
129
+ # `config.load_defaults 7.1` does not set this value for environments other than
130
+ # development and test.
131
+ #
132
+ # if Rails.env.local?
133
+ # Rails.application.config.log_file_size = 100 * 1024 * 1024
134
+ # end
135
+
136
+ # Enable raising on assignment to attr_readonly attributes. The previous
137
+ # behavior would allow assignment but silently not persist changes to the
138
+ # database.
139
+ # Rails.application.config.active_record.raise_on_assign_to_attr_readonly = true
140
+
141
+ # Enable validating only parent-related columns for presence when the parent is mandatory.
142
+ # The previous behavior was to validate the presence of the parent record, which performed an extra query
143
+ # to get the parent every time the child record was updated, even when parent has not changed.
144
+ # Rails.application.config.active_record.belongs_to_required_validates_foreign_key = false
145
+
146
+ # Enable precompilation of `config.filter_parameters`. Precompilation can
147
+ # improve filtering performance, depending on the quantity and types of filters.
148
+ # Rails.application.config.precompile_filter_parameters = true
149
+
150
+ # Enable before_committed! callbacks on all enrolled records in a transaction.
151
+ # The previous behavior was to only run the callbacks on the first copy of a record
152
+ # if there were multiple copies of the same record enrolled in the transaction.
153
+ # Rails.application.config.active_record.before_committed_on_all_records = true
154
+
155
+ # Disable automatic column serialization into YAML.
156
+ # To keep the historic behavior, you can set it to `YAML`, however it is
157
+ # recommended to explicitly define the serialization method for each column
158
+ # rather than to rely on a global default.
159
+ # Rails.application.config.active_record.default_column_serializer = nil
160
+
161
+ # Enable a performance optimization that serializes Active Record models
162
+ # in a faster and more compact way.
163
+ #
164
+ # To perform a rolling deploy of a Rails 7.1 upgrade, wherein servers that have
165
+ # not yet been upgraded must be able to read caches from upgraded servers,
166
+ # leave this optimization off on the first deploy, then enable it on a
167
+ # subsequent deploy.
168
+ # Rails.application.config.active_record.marshalling_format_version = 7.1
169
+
170
+ # Run `after_commit` and `after_*_commit` callbacks in the order they are defined in a model.
171
+ # This matches the behaviour of all other callbacks.
172
+ # In previous versions of Rails, they ran in the inverse order.
173
+ # Rails.application.config.active_record.run_after_transaction_callbacks_in_order_defined = true
174
+
175
+ # Whether a `transaction` block is committed or rolled back when exited via `return`, `break` or `throw`.
176
+ #
177
+ # Rails.application.config.active_record.commit_transaction_on_non_local_return = true
178
+
179
+ # Controls when to generate a value for <tt>has_secure_token</tt> declarations.
180
+ #
181
+ # Rails.application.config.active_record.generate_secure_token_on = :initialize
182
+
183
+ # ** Please read carefully, this must be configured in config/application.rb **
184
+ # Change the format of the cache entry.
185
+ # Changing this default means that all new cache entries added to the cache
186
+ # will have a different format that is not supported by Rails 7.0
187
+ # applications.
188
+ # Only change this value after your application is fully deployed to Rails 7.1
189
+ # and you have no plans to rollback.
190
+ # When you're ready to change format, add this to `config/application.rb` (NOT
191
+ # this file):
192
+ # config.active_support.cache_format_version = 7.1
193
+
194
+ # Configure Action View to use HTML5 standards-compliant sanitizers when they are supported on your
195
+ # platform.
196
+ #
197
+ # `Rails::HTML::Sanitizer.best_supported_vendor` will cause Action View to use HTML5-compliant
198
+ # sanitizers if they are supported, else fall back to HTML4 sanitizers.
199
+ #
200
+ # In previous versions of Rails, Action View always used `Rails::HTML4::Sanitizer` as its vendor.
201
+ #
202
+ # Rails.application.config.action_view.sanitizer_vendor = Rails::HTML::Sanitizer.best_supported_vendor
203
+
204
+ # Configure Action Text to use an HTML5 standards-compliant sanitizer when it is supported on your
205
+ # platform.
206
+ #
207
+ # `Rails::HTML::Sanitizer.best_supported_vendor` will cause Action Text to use HTML5-compliant
208
+ # sanitizers if they are supported, else fall back to HTML4 sanitizers.
209
+ #
210
+ # In previous versions of Rails, Action Text always used `Rails::HTML4::Sanitizer` as its vendor.
211
+ #
212
+ # Rails.application.config.action_text.sanitizer_vendor = Rails::HTML::Sanitizer.best_supported_vendor
213
+
214
+ # Configure the log level used by the DebugExceptions middleware when logging
215
+ # uncaught exceptions during requests
216
+ # Rails.application.config.action_dispatch.debug_exception_log_level = :error
217
+
218
+ # Configure the test helpers in Action View, Action Dispatch, and rails-dom-testing to use HTML5
219
+ # parsers.
220
+ #
221
+ # Nokogiri::HTML5 isn't supported on JRuby, so JRuby applications must set this to :html4.
222
+ #
223
+ # In previous versions of Rails, these test helpers always used an HTML4 parser.
224
+ #
225
+ # Rails.application.config.dom_testing_default_html_version = :html5
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Be sure to restart your server when you modify this file.
4
+
5
+ # Define an application-wide HTTP permissions policy. For further
6
+ # information see: https://developers.google.com/web/updates/2018/06/feature-policy
7
+
8
+ # Rails.application.config.permissions_policy do |policy|
9
+ # policy.camera :none
10
+ # policy.gyroscope :none
11
+ # policy.microphone :none
12
+ # policy.usb :none
13
+ # policy.fullscreen :self
14
+ # policy.payment :self, "https://secure.example.com"
15
+ # end
@@ -0,0 +1,262 @@
1
+ ar:
2
+ activerecord:
3
+ models:
4
+ comfy/cms/site: الموقع
5
+ comfy/cms/layout: تصميم
6
+ comfy/cms/page: الصفحة
7
+ comfy/cms/snippet: قصاصة
8
+ comfy/cms/file: ملف
9
+ comfy/cms/translation: الترجمة
10
+
11
+ attributes:
12
+ comfy/cms/site:
13
+ identifier: المعرّف
14
+ label: عنوان
15
+ hostname: اسم مضيف الموقع
16
+ path: مسار
17
+ locale: اللغة
18
+ comfy/cms/layout:
19
+ identifier: المعرّف
20
+ label: اسم التخطيط
21
+ app_layout: التصميم
22
+ parent_id: التخطيط الرئيسي
23
+ content: المحتوى
24
+ css: أوراق الأنماط
25
+ js: جافا سكريبت
26
+ comfy/cms/page:
27
+ label: عنوان
28
+ layout_id: تصميم
29
+ slug: كلمة الدلالة
30
+ full_path: المسار الكامل
31
+ parent_id: الآب
32
+ target_page_id: إعادة توجيه الي
33
+ content: المحتوى
34
+ is_published: نشرت
35
+ comfy/cms/file:
36
+ label: عنوان
37
+ file: ملف
38
+ description: الوصف
39
+ comfy/cms/snippet:
40
+ label: عنوان
41
+ identifier: المعرّف
42
+ content: المحتوى
43
+ comfy/cms/translation:
44
+ locale: اللغة
45
+ label: عنوان
46
+ layout_id: تصميم
47
+ is_published: نشرت
48
+
49
+ comfy:
50
+ cms:
51
+ content:
52
+ site_not_found: غير موجود
53
+ layout_not_found: تخطيط غير موجود
54
+ page_not_found: الصفحة غير موجودة
55
+
56
+ admin:
57
+ cms:
58
+ base:
59
+ site_not_found: غير موجود
60
+ seeds_enabled: يتم تمكين بذور CMS. سيتم تجاهل جميع التغييرات التي أجريت هنا.
61
+ sites: المواقع الخاصة بي
62
+ layouts: مخطط
63
+ pages: الصفحات
64
+ snippets: مقتطفات
65
+ files: ملفات
66
+
67
+ sites:
68
+ created: موقع جديد تم انشاءه
69
+ creation_failure: فشل في إنشاء الموقع
70
+ updated: تحديث الموقع
71
+ update_failure: فشل في تحديث الموقع
72
+ deleted: تم الحذف
73
+ not_found: غير موجود
74
+
75
+ index:
76
+ title: المواقع الخاصة بي
77
+ new_link: إنشاء جديد
78
+ select: اختيار الموقع
79
+ edit: تعديل
80
+ delete: حذف
81
+ are_you_sure: هل أنت متأكد أنك تريد حذف هذا؟
82
+ new:
83
+ title: موقع جديد
84
+ edit:
85
+ title: تعديل
86
+ form:
87
+ create: إنشاء موقع
88
+ cancel: إلغاء
89
+ update: تحديث الموقع
90
+
91
+ layouts:
92
+ created: إنشاء تخطيط
93
+ creation_failure: لا يمكن إنشاء النسق
94
+ updated: تم تحديث التصميم
95
+ update_failure: فشل في تحديث التصميم
96
+ deleted: تم حذف التصميم
97
+ not_found: تخطيط غير موجود
98
+
99
+ index:
100
+ title: مخطط
101
+ new_link: إنشاء تخطيط جديد
102
+ index_branch:
103
+ add_child_layout: إضافة تخطيط الطفل
104
+ edit: تعديل
105
+ delete: حذف
106
+ are_you_sure: هل أنت متاكد؟
107
+ new:
108
+ title: تصميم جديد
109
+ edit:
110
+ title: تحرير التخطيط
111
+ form:
112
+ select_parent_layout: التخطيط الرئيسي
113
+ select_app_layout: حدد تخطيط التطبيق
114
+ create: انشاء تصميم
115
+ cancel: إلغاء
116
+ update: تحديث التخطيط
117
+
118
+ pages:
119
+ created: تم إنشاء الصفحة
120
+ creation_failure: فشل في إنشاء الصفحة
121
+ updated: تحديث الصفحة
122
+ update_failure: فشل في تحديث الصفحة
123
+ deleted: تم حذف الصفحة
124
+ not_found: الصفحة غير موجودة
125
+ layout_not_found: لم يتم العثور على تخطيطات يرجى إنشاء واحد.
126
+
127
+ index:
128
+ title: الصفحات
129
+ new_link: إنشاء صفحة جديدة
130
+ index_branch:
131
+ toggle: تبديل
132
+ add_child_page: أضف صفحة فرعية
133
+ edit: تعديل
134
+ delete: حذف
135
+ are_you_sure: هل أنت متاكد؟
136
+ new:
137
+ title: صفحة جديدة
138
+ edit:
139
+ title: تعديل
140
+ form:
141
+ select_target_page: لا إعادة توجيه
142
+ preview: معاينة
143
+ create: إنشاء صفحة
144
+ cancel: إلغاء
145
+ update: تحديث الصفحة
146
+ choose_link: اختر الصفحة...
147
+
148
+ fragments:
149
+ form_fragments:
150
+ no_tags: |-
151
+ لا يحتوي التخطيط على علامات محتوى محددة.<br/>
152
+ تحرير محتوى تخطيط لتضمين علامة التجزئة. فمثلا: <code>{{cms:wysiwyg content}}</code>
153
+
154
+ translations:
155
+ created: تم إنشاء الترجمة
156
+ creation_failure: فشل في إنشاء الترجمة
157
+ updated: تم تحديث الترجمة
158
+ update_failure: فشل في تحديث الترجمة
159
+ deleted: تم حذف الترجمة
160
+ not_found: لم يتم العثور على الترجمة
161
+
162
+ new:
163
+ title: ترجمة جديدة
164
+ edit:
165
+ title: تحرير الترجمة
166
+ form:
167
+ preview: معاينة
168
+ create: إنشاء
169
+ update: تحديث
170
+ cancel: الرجوع إلى
171
+ sidebar:
172
+ new: ترجمة جديدة
173
+ confirm: هل أنت متاكد؟
174
+
175
+ snippets:
176
+ created: تم إنشاء مقتطف
177
+ creation_failure: فشل في إنشاء مقتطف
178
+ updated: تم تحديث المقتطف
179
+ update_failure: فشل تحديث المقتطف
180
+ deleted: تم حذف المقتطف
181
+ not_found: مقتطف غير موجود
182
+
183
+ index:
184
+ title: مقتطفات
185
+ new_link: إنشاء مقتطف جديد
186
+ edit: تعديل
187
+ delete: حذف
188
+ are_you_sure: هل أنت متاكد؟
189
+ new:
190
+ title: مقتطف جديد
191
+ edit:
192
+ title: تحرير مقتطف
193
+ form:
194
+ create: إنشاء مقتطف جديد
195
+ cancel: إلغاء
196
+ update: تحديث مقتطف
197
+
198
+ revisions:
199
+ reverted: محتوى عاد
200
+ record_not_found: لم يتم العثور على السجل
201
+ not_found: لم يتم العثور على المراجعة
202
+
203
+ show:
204
+ title: مراجعات لـ
205
+ revision: الإصدار
206
+ update: تحديث لهذا المراجعة
207
+ cancel: إلغاء
208
+ content: المحتوى
209
+ changes: التغييرات
210
+ previous: السابق
211
+ current: الحالي
212
+ sidebar:
213
+ revision:
214
+ zero: لا مراجعات
215
+ one: '٪ {count} المراجعة'
216
+ few: '٪ {count} المراجعات'
217
+ many: '٪ {count} المراجعات'
218
+ other: '٪ {count} المراجعات'
219
+
220
+ files:
221
+ created: الملفات المحملة
222
+ creation_failure: فشل تحميل الملفات
223
+ updated: تم تحديث الملف
224
+ update_failure: فشل في تحديث الملف
225
+ deleted: تم حذف الملف‬
226
+ not_found: لم يتم العثور على الملف
227
+
228
+ index:
229
+ title: ملفات
230
+ new_link: رفع ملف جديد
231
+ button: رفع الملفات
232
+ new:
233
+ title: ملف جديد
234
+ edit:
235
+ title: تعديل
236
+ form:
237
+ current_file: الملف الحالي
238
+ create: رفع ملف
239
+ cancel: إلغاء
240
+ update: تحديث الملف
241
+ delete: حذف الملف
242
+ are_you_sure: هل أنت متاكد؟
243
+ page_form:
244
+ are_you_sure: هل أنت متاكد؟
245
+ file:
246
+ edit: تعديل
247
+ delete: حذف
248
+ are_you_sure: هل أنت متاكد؟
249
+
250
+ categories:
251
+ index:
252
+ edit: تعديل
253
+ done: تم
254
+ all: كل الفئات
255
+ add: إضافة
256
+ add_placeholder: إضافة فئة
257
+ show:
258
+ are_you_sure: هل أنت متاكد؟
259
+ edit:
260
+ save: حفظ
261
+ form:
262
+ label: الفئات