PixelForce_ETS 0.0.1

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 (467) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +4 -0
  3. data/.gitattributes +2 -0
  4. data/.github/issue_template.md +22 -0
  5. data/.github/pull_request_template.md +6 -0
  6. data/.gitignore +21 -0
  7. data/.rubocop.yml +100 -0
  8. data/.travis.yml +43 -0
  9. data/CONTRIBUTING.md +35 -0
  10. data/Gemfile +29 -0
  11. data/LICENSE +20 -0
  12. data/README.md +116 -0
  13. data/Rakefile +5 -0
  14. data/app/assets/fonts/comfy/admin/cms/lib/redactor-font.eot +0 -0
  15. data/app/assets/javascripts/comfy/admin/cms/application.js +39 -0
  16. data/app/assets/javascripts/comfy/admin/cms/base.js +46 -0
  17. data/app/assets/javascripts/comfy/admin/cms/categories.js +17 -0
  18. data/app/assets/javascripts/comfy/admin/cms/codemirror.js +31 -0
  19. data/app/assets/javascripts/comfy/admin/cms/custom.js +1 -0
  20. data/app/assets/javascripts/comfy/admin/cms/diff.js +10 -0
  21. data/app/assets/javascripts/comfy/admin/cms/file_link.js +67 -0
  22. data/app/assets/javascripts/comfy/admin/cms/file_upload.js +194 -0
  23. data/app/assets/javascripts/comfy/admin/cms/files_modal.js +40 -0
  24. data/app/assets/javascripts/comfy/admin/cms/page_fragments.js +22 -0
  25. data/app/assets/javascripts/comfy/admin/cms/slugify.js +34 -0
  26. data/app/assets/javascripts/comfy/admin/cms/sortable_list.js +40 -0
  27. data/app/assets/javascripts/comfy/admin/cms/timepicker.js +30 -0
  28. data/app/assets/javascripts/comfy/admin/cms/wysiwyg.js +65 -0
  29. data/app/assets/javascripts/comfy/vendor/Moxie.swf +0 -0
  30. data/app/assets/javascripts/comfy/vendor/Moxie.xap +0 -0
  31. data/app/assets/javascripts/comfy/vendor/bootstrap.bundle.min.js +7 -0
  32. data/app/assets/javascripts/comfy/vendor/bootstrap.bundle.min.js.map +1 -0
  33. data/app/assets/javascripts/comfy/vendor/codemirror.js +9653 -0
  34. data/app/assets/javascripts/comfy/vendor/codemirror/addon/edit/closetag.js +169 -0
  35. data/app/assets/javascripts/comfy/vendor/codemirror/mode/css/css.js +832 -0
  36. data/app/assets/javascripts/comfy/vendor/codemirror/mode/htmlmixed/htmlmixed.js +152 -0
  37. data/app/assets/javascripts/comfy/vendor/codemirror/mode/javascript/javascript.js +875 -0
  38. data/app/assets/javascripts/comfy/vendor/codemirror/mode/markdown/markdown.js +861 -0
  39. data/app/assets/javascripts/comfy/vendor/codemirror/mode/xml/xml.js +394 -0
  40. data/app/assets/javascripts/comfy/vendor/diff/diff_match_patch.min.js +49 -0
  41. data/app/assets/javascripts/comfy/vendor/diff/pretty_text_diff.js +76 -0
  42. data/app/assets/javascripts/comfy/vendor/flatpickr.min.js +2 -0
  43. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ar.js +52 -0
  44. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/bg.js +65 -0
  45. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/bn.js +65 -0
  46. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ca.js +83 -0
  47. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/cs.js +70 -0
  48. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/cy.js +92 -0
  49. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/da.js +71 -0
  50. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/de.js +70 -0
  51. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/default.js +80 -0
  52. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/eo.js +73 -0
  53. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/es.js +69 -0
  54. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/et.js +73 -0
  55. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/fa.js +68 -0
  56. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/fi.js +69 -0
  57. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/fr.js +75 -0
  58. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/gr.js +74 -0
  59. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/he.js +57 -0
  60. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/hi.js +65 -0
  61. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/hr.js +66 -0
  62. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/hu.js +72 -0
  63. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/id.js +61 -0
  64. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/it.js +70 -0
  65. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ja.js +57 -0
  66. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ko.js +60 -0
  67. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/lt.js +72 -0
  68. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/lv.js +67 -0
  69. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/mk.js +69 -0
  70. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/mn.js +67 -0
  71. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ms.js +68 -0
  72. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/my.js +69 -0
  73. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/nl.js +75 -0
  74. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/no.js +73 -0
  75. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/pa.js +65 -0
  76. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/pl.js +68 -0
  77. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/pt-BR.js +66 -0
  78. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/pt.js +66 -0
  79. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ro.js +69 -0
  80. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/ru.js +66 -0
  81. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/si.js +65 -0
  82. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sk.js +70 -0
  83. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sl.js +70 -0
  84. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sq.js +65 -0
  85. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sr.js +69 -0
  86. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/sv.js +70 -0
  87. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/th.js +72 -0
  88. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/tr.js +66 -0
  89. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/uk.js +66 -0
  90. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/vn.js +66 -0
  91. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/zh-CN.js +61 -0
  92. data/app/assets/javascripts/comfy/vendor/flatpickr/i18n/zh-TW.js +61 -0
  93. data/app/assets/javascripts/comfy/vendor/fontawesome.js +5 -0
  94. data/app/assets/javascripts/comfy/vendor/moxie.min.js +16 -0
  95. data/app/assets/javascripts/comfy/vendor/plupload.dev.js +2497 -0
  96. data/app/assets/javascripts/comfy/vendor/redactor.js +9561 -0
  97. data/app/assets/javascripts/comfy/vendor/redactor/definedlinks.js +53 -0
  98. data/app/assets/javascripts/comfy/vendor/redactor/filemanager.js +64 -0
  99. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ar.js +76 -0
  100. data/app/assets/javascripts/comfy/vendor/redactor/i18n/az.js +75 -0
  101. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ba.js +79 -0
  102. data/app/assets/javascripts/comfy/vendor/redactor/i18n/bg.js +77 -0
  103. data/app/assets/javascripts/comfy/vendor/redactor/i18n/by.js +77 -0
  104. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ca.js +75 -0
  105. data/app/assets/javascripts/comfy/vendor/redactor/i18n/cs.js +87 -0
  106. data/app/assets/javascripts/comfy/vendor/redactor/i18n/da.js +75 -0
  107. data/app/assets/javascripts/comfy/vendor/redactor/i18n/de.js +80 -0
  108. data/app/assets/javascripts/comfy/vendor/redactor/i18n/el.js +76 -0
  109. data/app/assets/javascripts/comfy/vendor/redactor/i18n/en.js +75 -0
  110. data/app/assets/javascripts/comfy/vendor/redactor/i18n/eo.js +76 -0
  111. data/app/assets/javascripts/comfy/vendor/redactor/i18n/es.js +75 -0
  112. data/app/assets/javascripts/comfy/vendor/redactor/i18n/es_AR.js +76 -0
  113. data/app/assets/javascripts/comfy/vendor/redactor/i18n/fa.js +76 -0
  114. data/app/assets/javascripts/comfy/vendor/redactor/i18n/fi.js +75 -0
  115. data/app/assets/javascripts/comfy/vendor/redactor/i18n/fr.js +75 -0
  116. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ge.js +75 -0
  117. data/app/assets/javascripts/comfy/vendor/redactor/i18n/gr.js +75 -0
  118. data/app/assets/javascripts/comfy/vendor/redactor/i18n/he.js +75 -0
  119. data/app/assets/javascripts/comfy/vendor/redactor/i18n/hr.js +76 -0
  120. data/app/assets/javascripts/comfy/vendor/redactor/i18n/hu.js +77 -0
  121. data/app/assets/javascripts/comfy/vendor/redactor/i18n/id.js +76 -0
  122. data/app/assets/javascripts/comfy/vendor/redactor/i18n/it.js +78 -0
  123. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ja.js +76 -0
  124. data/app/assets/javascripts/comfy/vendor/redactor/i18n/kn.js +75 -0
  125. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ko.js +76 -0
  126. data/app/assets/javascripts/comfy/vendor/redactor/i18n/lt.js +75 -0
  127. data/app/assets/javascripts/comfy/vendor/redactor/i18n/lv.js +75 -0
  128. data/app/assets/javascripts/comfy/vendor/redactor/i18n/mk.js +75 -0
  129. data/app/assets/javascripts/comfy/vendor/redactor/i18n/nb.js +75 -0
  130. data/app/assets/javascripts/comfy/vendor/redactor/i18n/nl.js +80 -0
  131. data/app/assets/javascripts/comfy/vendor/redactor/i18n/pl.js +76 -0
  132. data/app/assets/javascripts/comfy/vendor/redactor/i18n/pt-BR.js +75 -0
  133. data/app/assets/javascripts/comfy/vendor/redactor/i18n/pt.js +75 -0
  134. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ro.js +76 -0
  135. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ru.js +76 -0
  136. data/app/assets/javascripts/comfy/vendor/redactor/i18n/sk.js +76 -0
  137. data/app/assets/javascripts/comfy/vendor/redactor/i18n/sl.js +79 -0
  138. data/app/assets/javascripts/comfy/vendor/redactor/i18n/sq.js +79 -0
  139. data/app/assets/javascripts/comfy/vendor/redactor/i18n/sr-CIR.js +79 -0
  140. data/app/assets/javascripts/comfy/vendor/redactor/i18n/sr-LAT.js +79 -0
  141. data/app/assets/javascripts/comfy/vendor/redactor/i18n/sv.js +74 -0
  142. data/app/assets/javascripts/comfy/vendor/redactor/i18n/th.js +74 -0
  143. data/app/assets/javascripts/comfy/vendor/redactor/i18n/tr.js +75 -0
  144. data/app/assets/javascripts/comfy/vendor/redactor/i18n/ua.js +77 -0
  145. data/app/assets/javascripts/comfy/vendor/redactor/i18n/uk.js +77 -0
  146. data/app/assets/javascripts/comfy/vendor/redactor/i18n/vi.js +74 -0
  147. data/app/assets/javascripts/comfy/vendor/redactor/i18n/zh-CN.js +75 -0
  148. data/app/assets/javascripts/comfy/vendor/redactor/i18n/zh-TW.js +75 -0
  149. data/app/assets/javascripts/comfy/vendor/redactor/imagemanager.js +57 -0
  150. data/app/assets/javascripts/comfy/vendor/redactor/table.js +337 -0
  151. data/app/assets/javascripts/comfy/vendor/redactor/video.js +77 -0
  152. data/app/assets/javascripts/comfy/vendor/sortable.min.js +5 -0
  153. data/app/assets/stylesheets/comfy/admin/cms/application.sass +11 -0
  154. data/app/assets/stylesheets/comfy/admin/cms/base.sass +256 -0
  155. data/app/assets/stylesheets/comfy/admin/cms/codemirror_overrides.sass +19 -0
  156. data/app/assets/stylesheets/comfy/admin/cms/custom.sass +1 -0
  157. data/app/assets/stylesheets/comfy/admin/cms/redactor_overrides.sass +22 -0
  158. data/app/assets/stylesheets/comfy/vendor/bootstrap/_alert.scss +51 -0
  159. data/app/assets/stylesheets/comfy/vendor/bootstrap/_badge.scss +54 -0
  160. data/app/assets/stylesheets/comfy/vendor/bootstrap/_breadcrumb.scss +41 -0
  161. data/app/assets/stylesheets/comfy/vendor/bootstrap/_button-group.scss +163 -0
  162. data/app/assets/stylesheets/comfy/vendor/bootstrap/_buttons.scss +137 -0
  163. data/app/assets/stylesheets/comfy/vendor/bootstrap/_card.scss +289 -0
  164. data/app/assets/stylesheets/comfy/vendor/bootstrap/_carousel.scss +197 -0
  165. data/app/assets/stylesheets/comfy/vendor/bootstrap/_close.scss +41 -0
  166. data/app/assets/stylesheets/comfy/vendor/bootstrap/_code.scss +48 -0
  167. data/app/assets/stylesheets/comfy/vendor/bootstrap/_custom-forms.scss +507 -0
  168. data/app/assets/stylesheets/comfy/vendor/bootstrap/_dropdown.scss +191 -0
  169. data/app/assets/stylesheets/comfy/vendor/bootstrap/_forms.scss +330 -0
  170. data/app/assets/stylesheets/comfy/vendor/bootstrap/_functions.scss +86 -0
  171. data/app/assets/stylesheets/comfy/vendor/bootstrap/_grid.scss +52 -0
  172. data/app/assets/stylesheets/comfy/vendor/bootstrap/_images.scss +42 -0
  173. data/app/assets/stylesheets/comfy/vendor/bootstrap/_input-group.scss +193 -0
  174. data/app/assets/stylesheets/comfy/vendor/bootstrap/_jumbotron.scss +17 -0
  175. data/app/assets/stylesheets/comfy/vendor/bootstrap/_list-group.scss +149 -0
  176. data/app/assets/stylesheets/comfy/vendor/bootstrap/_media.scss +8 -0
  177. data/app/assets/stylesheets/comfy/vendor/bootstrap/_mixins.scss +47 -0
  178. data/app/assets/stylesheets/comfy/vendor/bootstrap/_modal.scss +229 -0
  179. data/app/assets/stylesheets/comfy/vendor/bootstrap/_nav.scss +120 -0
  180. data/app/assets/stylesheets/comfy/vendor/bootstrap/_navbar.scss +294 -0
  181. data/app/assets/stylesheets/comfy/vendor/bootstrap/_pagination.scss +73 -0
  182. data/app/assets/stylesheets/comfy/vendor/bootstrap/_popover.scss +171 -0
  183. data/app/assets/stylesheets/comfy/vendor/bootstrap/_print.scss +141 -0
  184. data/app/assets/stylesheets/comfy/vendor/bootstrap/_progress.scss +43 -0
  185. data/app/assets/stylesheets/comfy/vendor/bootstrap/_reboot.scss +483 -0
  186. data/app/assets/stylesheets/comfy/vendor/bootstrap/_root.scss +19 -0
  187. data/app/assets/stylesheets/comfy/vendor/bootstrap/_spinners.scss +55 -0
  188. data/app/assets/stylesheets/comfy/vendor/bootstrap/_tables.scss +185 -0
  189. data/app/assets/stylesheets/comfy/vendor/bootstrap/_toasts.scss +44 -0
  190. data/app/assets/stylesheets/comfy/vendor/bootstrap/_tooltip.scss +115 -0
  191. data/app/assets/stylesheets/comfy/vendor/bootstrap/_transitions.scss +20 -0
  192. data/app/assets/stylesheets/comfy/vendor/bootstrap/_type.scss +125 -0
  193. data/app/assets/stylesheets/comfy/vendor/bootstrap/_utilities.scss +17 -0
  194. data/app/assets/stylesheets/comfy/vendor/bootstrap/_variables.scss +1123 -0
  195. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap-grid.scss +29 -0
  196. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap-reboot.scss +12 -0
  197. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap.scss +44 -0
  198. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_alert.scss +13 -0
  199. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_background-variant.scss +21 -0
  200. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_badge.scss +17 -0
  201. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_border-radius.scss +63 -0
  202. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_box-shadow.scss +20 -0
  203. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_breakpoints.scss +123 -0
  204. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_buttons.scss +107 -0
  205. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_caret.scss +62 -0
  206. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_clearfix.scss +7 -0
  207. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_deprecate.scss +10 -0
  208. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_float.scss +14 -0
  209. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_forms.scss +192 -0
  210. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_gradients.scss +45 -0
  211. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_grid-framework.scss +66 -0
  212. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_grid.scss +51 -0
  213. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_hover.scss +37 -0
  214. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_image.scss +36 -0
  215. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_list-group.scss +21 -0
  216. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_lists.scss +7 -0
  217. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_nav-divider.scss +10 -0
  218. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_pagination.scss +22 -0
  219. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_reset-text.scss +17 -0
  220. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_resize.scss +6 -0
  221. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_screen-reader.scss +33 -0
  222. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_size.scss +7 -0
  223. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_table-row.scss +39 -0
  224. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-emphasis.scss +16 -0
  225. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-hide.scss +11 -0
  226. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-truncate.scss +8 -0
  227. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_transition.scss +16 -0
  228. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_visibility.scss +8 -0
  229. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_align.scss +8 -0
  230. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_background.scss +19 -0
  231. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_borders.scss +75 -0
  232. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_clearfix.scss +3 -0
  233. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_display.scss +26 -0
  234. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_embed.scss +39 -0
  235. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_flex.scss +51 -0
  236. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_float.scss +11 -0
  237. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_overflow.scss +5 -0
  238. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_position.scss +32 -0
  239. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_screenreaders.scss +11 -0
  240. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_shadows.scss +6 -0
  241. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_sizing.scss +20 -0
  242. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_spacing.scss +73 -0
  243. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_stretched-link.scss +19 -0
  244. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_text.scss +72 -0
  245. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_visibility.scss +13 -0
  246. data/app/assets/stylesheets/comfy/vendor/bootstrap/vendor/_rfs.scss +204 -0
  247. data/app/assets/stylesheets/comfy/vendor/codemirror.css +346 -0
  248. data/app/assets/stylesheets/comfy/vendor/flatpickr.min.css +13 -0
  249. data/app/assets/stylesheets/comfy/vendor/fontawesome.css +343 -0
  250. data/app/assets/stylesheets/comfy/vendor/redactor.css +948 -0
  251. data/app/controllers/application_controller.rb +7 -0
  252. data/app/controllers/comfy/admin/base_controller.rb +22 -0
  253. data/app/controllers/comfy/admin/cms/base_controller.rb +55 -0
  254. data/app/controllers/comfy/admin/cms/categories_controller.rb +40 -0
  255. data/app/controllers/comfy/admin/cms/files_controller.rb +142 -0
  256. data/app/controllers/comfy/admin/cms/layouts_controller.rb +69 -0
  257. data/app/controllers/comfy/admin/cms/pages_controller.rb +156 -0
  258. data/app/controllers/comfy/admin/cms/revisions/base_controller.rb +50 -0
  259. data/app/controllers/comfy/admin/cms/revisions/layout_controller.rb +18 -0
  260. data/app/controllers/comfy/admin/cms/revisions/page_controller.rb +30 -0
  261. data/app/controllers/comfy/admin/cms/revisions/snippet_controller.rb +18 -0
  262. data/app/controllers/comfy/admin/cms/revisions/translation_controller.rb +31 -0
  263. data/app/controllers/comfy/admin/cms/sites_controller.rb +69 -0
  264. data/app/controllers/comfy/admin/cms/snippets_controller.rb +66 -0
  265. data/app/controllers/comfy/admin/cms/translations_controller.rb +107 -0
  266. data/app/controllers/comfy/cms/assets_controller.rb +40 -0
  267. data/app/controllers/comfy/cms/base_controller.rb +33 -0
  268. data/app/controllers/comfy/cms/content_controller.rb +87 -0
  269. data/app/controllers/concerns/comfy/paginate.rb +16 -0
  270. data/app/controllers/concerns/comfy/reorder_action.rb +19 -0
  271. data/app/helpers/comfy/admin/cms_helper.rb +49 -0
  272. data/app/helpers/comfy/cms_helper.rb +73 -0
  273. data/app/models/comfy/cms/categorization.rb +16 -0
  274. data/app/models/comfy/cms/category.rb +24 -0
  275. data/app/models/comfy/cms/file.rb +57 -0
  276. data/app/models/comfy/cms/fragment.rb +59 -0
  277. data/app/models/comfy/cms/layout.rb +113 -0
  278. data/app/models/comfy/cms/page.rb +169 -0
  279. data/app/models/comfy/cms/revision.rb +12 -0
  280. data/app/models/comfy/cms/site.rb +94 -0
  281. data/app/models/comfy/cms/snippet.rb +45 -0
  282. data/app/models/comfy/cms/translation.rb +43 -0
  283. data/app/models/concerns/comfy/cms/with_categories.rb +53 -0
  284. data/app/models/concerns/comfy/cms/with_fragments.rb +125 -0
  285. data/app/views/comfy/admin/cms/categories/_categories.html.haml +4 -0
  286. data/app/views/comfy/admin/cms/categories/_edit.html.haml +7 -0
  287. data/app/views/comfy/admin/cms/categories/_form.html.haml +5 -0
  288. data/app/views/comfy/admin/cms/categories/_index.html.haml +28 -0
  289. data/app/views/comfy/admin/cms/categories/_show.html.haml +15 -0
  290. data/app/views/comfy/admin/cms/categories/create.js.erb +7 -0
  291. data/app/views/comfy/admin/cms/categories/destroy.js.erb +8 -0
  292. data/app/views/comfy/admin/cms/categories/edit.js.erb +3 -0
  293. data/app/views/comfy/admin/cms/categories/update.js.erb +6 -0
  294. data/app/views/comfy/admin/cms/files/_file.html.haml +31 -0
  295. data/app/views/comfy/admin/cms/files/_form.html.haml +26 -0
  296. data/app/views/comfy/admin/cms/files/_modal.html.haml +3 -0
  297. data/app/views/comfy/admin/cms/files/destroy.js.erb +4 -0
  298. data/app/views/comfy/admin/cms/files/edit.html.haml +5 -0
  299. data/app/views/comfy/admin/cms/files/index.html.haml +29 -0
  300. data/app/views/comfy/admin/cms/files/new.html.haml +5 -0
  301. data/app/views/comfy/admin/cms/fragments/_form_fragment_attachments.html.haml +23 -0
  302. data/app/views/comfy/admin/cms/fragments/_form_fragments.html.haml +38 -0
  303. data/app/views/comfy/admin/cms/layouts/_form.html.haml +20 -0
  304. data/app/views/comfy/admin/cms/layouts/_index_branch.html.haml +26 -0
  305. data/app/views/comfy/admin/cms/layouts/edit.html.haml +9 -0
  306. data/app/views/comfy/admin/cms/layouts/index.html.haml +10 -0
  307. data/app/views/comfy/admin/cms/layouts/new.html.haml +5 -0
  308. data/app/views/comfy/admin/cms/pages/_form.html.haml +31 -0
  309. data/app/views/comfy/admin/cms/pages/_index_branch.html.haml +44 -0
  310. data/app/views/comfy/admin/cms/pages/edit.html.haml +10 -0
  311. data/app/views/comfy/admin/cms/pages/index.html.haml +13 -0
  312. data/app/views/comfy/admin/cms/pages/new.html.haml +5 -0
  313. data/app/views/comfy/admin/cms/pages/toggle_branch.js.erb +13 -0
  314. data/app/views/comfy/admin/cms/revisions/_sidebar.html.haml +2 -0
  315. data/app/views/comfy/admin/cms/revisions/show.html.haml +36 -0
  316. data/app/views/comfy/admin/cms/sites/_form.html.haml +15 -0
  317. data/app/views/comfy/admin/cms/sites/edit.html.haml +5 -0
  318. data/app/views/comfy/admin/cms/sites/index.html.haml +28 -0
  319. data/app/views/comfy/admin/cms/sites/new.html.haml +5 -0
  320. data/app/views/comfy/admin/cms/snippets/_form.html.haml +13 -0
  321. data/app/views/comfy/admin/cms/snippets/edit.html.haml +9 -0
  322. data/app/views/comfy/admin/cms/snippets/index.html.haml +33 -0
  323. data/app/views/comfy/admin/cms/snippets/new.html.haml +5 -0
  324. data/app/views/comfy/admin/cms/translations/_form.html.haml +20 -0
  325. data/app/views/comfy/admin/cms/translations/_sidebar.html.haml +19 -0
  326. data/app/views/comfy/admin/cms/translations/edit.html.haml +10 -0
  327. data/app/views/comfy/admin/cms/translations/new.html.haml +5 -0
  328. data/app/views/kaminari/comfy/_first_page.html.haml +3 -0
  329. data/app/views/kaminari/comfy/_gap.html.haml +2 -0
  330. data/app/views/kaminari/comfy/_last_page.html.haml +3 -0
  331. data/app/views/kaminari/comfy/_next_page.html.haml +2 -0
  332. data/app/views/kaminari/comfy/_page.html.haml +2 -0
  333. data/app/views/kaminari/comfy/_paginator.html.haml +11 -0
  334. data/app/views/kaminari/comfy/_prev_page.html.haml +2 -0
  335. data/app/views/layouts/comfy/admin/cms.html.haml +4 -0
  336. data/app/views/layouts/comfy/admin/cms/_body.html.haml +14 -0
  337. data/app/views/layouts/comfy/admin/cms/_flash.html.haml +4 -0
  338. data/app/views/layouts/comfy/admin/cms/_footer_js.html.haml +6 -0
  339. data/app/views/layouts/comfy/admin/cms/_head.html.haml +19 -0
  340. data/app/views/layouts/comfy/admin/cms/_left.html.haml +39 -0
  341. data/app/views/layouts/comfy/admin/cms/_right.html.haml +5 -0
  342. data/bin/bundle +3 -0
  343. data/bin/rails +4 -0
  344. data/bin/rake +4 -0
  345. data/bin/setup +36 -0
  346. data/bin/update +31 -0
  347. data/bin/yarn +11 -0
  348. data/comfortable_mexican_sofa.gemspec +34 -0
  349. data/config.ru +6 -0
  350. data/config/application.rb +39 -0
  351. data/config/boot.rb +7 -0
  352. data/config/cms_routes.rb +8 -0
  353. data/config/database.yml +11 -0
  354. data/config/environment.rb +7 -0
  355. data/config/environments/development.rb +64 -0
  356. data/config/environments/test.rb +55 -0
  357. data/config/initializers/comfortable_mexican_sofa.rb +122 -0
  358. data/config/locales/ca.yml +263 -0
  359. data/config/locales/cs.yml +263 -0
  360. data/config/locales/da.yml +263 -0
  361. data/config/locales/de.yml +263 -0
  362. data/config/locales/en.yml +263 -0
  363. data/config/locales/es.yml +263 -0
  364. data/config/locales/fi.yml +263 -0
  365. data/config/locales/fr.yml +263 -0
  366. data/config/locales/gr.yml +263 -0
  367. data/config/locales/hr.yml +263 -0
  368. data/config/locales/it.yml +263 -0
  369. data/config/locales/ja.yml +263 -0
  370. data/config/locales/nb.yml +263 -0
  371. data/config/locales/nl.yml +263 -0
  372. data/config/locales/pl.yml +263 -0
  373. data/config/locales/pt-BR.yml +263 -0
  374. data/config/locales/ru.yml +263 -0
  375. data/config/locales/sk.yml +263 -0
  376. data/config/locales/sv.yml +263 -0
  377. data/config/locales/tr.yml +263 -0
  378. data/config/locales/uk.yml +263 -0
  379. data/config/locales/zh-CN.yml +263 -0
  380. data/config/locales/zh-TW.yml +263 -0
  381. data/config/storage.yml +35 -0
  382. data/db/cms_seeds/sample-site/files/_default.jpg.yml +5 -0
  383. data/db/cms_seeds/sample-site/files/default.jpg +0 -0
  384. data/db/cms_seeds/sample-site/layouts/default/content.html +16 -0
  385. data/db/cms_seeds/sample-site/layouts/default/nested/content.html +14 -0
  386. data/db/cms_seeds/sample-site/pages/index/child_a/content.html +7 -0
  387. data/db/cms_seeds/sample-site/pages/index/child_b/content.html +6 -0
  388. data/db/cms_seeds/sample-site/pages/index/cms logo.png +0 -0
  389. data/db/cms_seeds/sample-site/pages/index/content.es.html +6 -0
  390. data/db/cms_seeds/sample-site/pages/index/content.fr.html +6 -0
  391. data/db/cms_seeds/sample-site/pages/index/content.html +25 -0
  392. data/db/cms_seeds/sample-site/pages/index/footer.png +0 -0
  393. data/db/cms_seeds/sample-site/pages/index/header.png +0 -0
  394. data/db/cms_seeds/sample-site/snippets/default.html +8 -0
  395. data/db/migrate/00_create_active_storage_tables.active_storage.rb +26 -0
  396. data/db/migrate/01_create_cms.rb +142 -0
  397. data/lib/comfortable_mexican_sofa.rb +60 -0
  398. data/lib/comfortable_mexican_sofa/access_control/admin_authentication.rb +24 -0
  399. data/lib/comfortable_mexican_sofa/access_control/admin_authorization.rb +12 -0
  400. data/lib/comfortable_mexican_sofa/access_control/public_authentication.rb +12 -0
  401. data/lib/comfortable_mexican_sofa/access_control/public_authorization.rb +12 -0
  402. data/lib/comfortable_mexican_sofa/configuration.rb +139 -0
  403. data/lib/comfortable_mexican_sofa/content.rb +31 -0
  404. data/lib/comfortable_mexican_sofa/content/block.rb +14 -0
  405. data/lib/comfortable_mexican_sofa/content/params_parser.rb +149 -0
  406. data/lib/comfortable_mexican_sofa/content/renderer.rb +149 -0
  407. data/lib/comfortable_mexican_sofa/content/tag.rb +50 -0
  408. data/lib/comfortable_mexican_sofa/content/tags/asset.rb +59 -0
  409. data/lib/comfortable_mexican_sofa/content/tags/checkbox.rb +29 -0
  410. data/lib/comfortable_mexican_sofa/content/tags/date.rb +21 -0
  411. data/lib/comfortable_mexican_sofa/content/tags/datetime.rb +44 -0
  412. data/lib/comfortable_mexican_sofa/content/tags/file.rb +72 -0
  413. data/lib/comfortable_mexican_sofa/content/tags/file_link.rb +63 -0
  414. data/lib/comfortable_mexican_sofa/content/tags/files.rb +43 -0
  415. data/lib/comfortable_mexican_sofa/content/tags/fragment.rb +66 -0
  416. data/lib/comfortable_mexican_sofa/content/tags/helper.rb +55 -0
  417. data/lib/comfortable_mexican_sofa/content/tags/markdown.rb +24 -0
  418. data/lib/comfortable_mexican_sofa/content/tags/mixins/file_content.rb +43 -0
  419. data/lib/comfortable_mexican_sofa/content/tags/number.rb +20 -0
  420. data/lib/comfortable_mexican_sofa/content/tags/page_file_link.rb +84 -0
  421. data/lib/comfortable_mexican_sofa/content/tags/partial.rb +49 -0
  422. data/lib/comfortable_mexican_sofa/content/tags/snippet.rb +34 -0
  423. data/lib/comfortable_mexican_sofa/content/tags/template.rb +44 -0
  424. data/lib/comfortable_mexican_sofa/content/tags/text.rb +20 -0
  425. data/lib/comfortable_mexican_sofa/content/tags/textarea.rb +20 -0
  426. data/lib/comfortable_mexican_sofa/content/tags/wysiwyg.rb +21 -0
  427. data/lib/comfortable_mexican_sofa/engine.rb +31 -0
  428. data/lib/comfortable_mexican_sofa/error.rb +32 -0
  429. data/lib/comfortable_mexican_sofa/extensions/acts_as_tree.rb +120 -0
  430. data/lib/comfortable_mexican_sofa/extensions/has_revisions.rb +72 -0
  431. data/lib/comfortable_mexican_sofa/form_builder.rb +47 -0
  432. data/lib/comfortable_mexican_sofa/render_methods.rb +112 -0
  433. data/lib/comfortable_mexican_sofa/routes/cms.rb +18 -0
  434. data/lib/comfortable_mexican_sofa/routes/cms_admin.rb +58 -0
  435. data/lib/comfortable_mexican_sofa/routing.rb +12 -0
  436. data/lib/comfortable_mexican_sofa/seeds.rb +114 -0
  437. data/lib/comfortable_mexican_sofa/seeds/file/exporter.rb +43 -0
  438. data/lib/comfortable_mexican_sofa/seeds/file/importer.rb +63 -0
  439. data/lib/comfortable_mexican_sofa/seeds/layout/exporter.rb +40 -0
  440. data/lib/comfortable_mexican_sofa/seeds/layout/importer.rb +62 -0
  441. data/lib/comfortable_mexican_sofa/seeds/page/exporter.rb +92 -0
  442. data/lib/comfortable_mexican_sofa/seeds/page/importer.rb +219 -0
  443. data/lib/comfortable_mexican_sofa/seeds/snippet/exporter.rb +34 -0
  444. data/lib/comfortable_mexican_sofa/seeds/snippet/importer.rb +51 -0
  445. data/lib/comfortable_mexican_sofa/version.rb +9 -0
  446. data/lib/comfortable_mexican_sofa/view_hooks.rb +35 -0
  447. data/lib/generators/comfy/cms/README +17 -0
  448. data/lib/generators/comfy/cms/assets_generator.rb +18 -0
  449. data/lib/generators/comfy/cms/cms_generator.rb +69 -0
  450. data/lib/generators/comfy/cms/controllers_generator.rb +17 -0
  451. data/lib/generators/comfy/cms/models_generator.rb +17 -0
  452. data/lib/generators/comfy/cms/views_generator.rb +17 -0
  453. data/lib/generators/comfy/scaffold/scaffold_generator.rb +80 -0
  454. data/lib/generators/comfy/scaffold/templates/controller.rb.tt +62 -0
  455. data/lib/generators/comfy/scaffold/templates/migration.rb.tt +11 -0
  456. data/lib/generators/comfy/scaffold/templates/model.rb.tt +21 -0
  457. data/lib/generators/comfy/scaffold/templates/tests/controller.rb.tt +115 -0
  458. data/lib/generators/comfy/scaffold/templates/tests/fixture.yml.tt +4 -0
  459. data/lib/generators/comfy/scaffold/templates/tests/model.rb.tt +26 -0
  460. data/lib/generators/comfy/scaffold/templates/views/_form.haml.tt +7 -0
  461. data/lib/generators/comfy/scaffold/templates/views/edit.haml.tt +5 -0
  462. data/lib/generators/comfy/scaffold/templates/views/index.haml.tt +21 -0
  463. data/lib/generators/comfy/scaffold/templates/views/new.haml.tt +5 -0
  464. data/lib/generators/comfy/scaffold/templates/views/show.haml.tt +4 -0
  465. data/lib/tasks/cms_seeds.rake +40 -0
  466. data/public/favicon.ico +0 -0
  467. metadata +648 -0
data/bin/update ADDED
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env ruby
2
+ require 'fileutils'
3
+ include FileUtils
4
+
5
+ # path to your application root.
6
+ APP_ROOT = File.expand_path('..', __dir__)
7
+
8
+ def system!(*args)
9
+ system(*args) || abort("\n== Command #{args} failed ==")
10
+ end
11
+
12
+ chdir APP_ROOT do
13
+ # This script is a way to update your development environment automatically.
14
+ # Add necessary update steps to this file.
15
+
16
+ puts '== Installing dependencies =='
17
+ system! 'gem install bundler --conservative'
18
+ system('bundle check') || system!('bundle install')
19
+
20
+ # Install JavaScript dependencies if using Yarn
21
+ # system('bin/yarn')
22
+
23
+ puts "\n== Updating database =="
24
+ system! 'bin/rails db:migrate'
25
+
26
+ puts "\n== Removing old logs and tempfiles =="
27
+ system! 'bin/rails log:clear tmp:clear'
28
+
29
+ puts "\n== Restarting application server =="
30
+ system! 'bin/rails restart'
31
+ end
data/bin/yarn ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+ VENDOR_PATH = File.expand_path('..', __dir__)
3
+ Dir.chdir(VENDOR_PATH) do
4
+ begin
5
+ exec "yarnpkg #{ARGV.join(' ')}"
6
+ rescue Errno::ENOENT
7
+ $stderr.puts "Yarn executable was not detected in the system."
8
+ $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
9
+ exit 1
10
+ end
11
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift File.expand_path("lib", __dir__)
4
+ require "comfortable_mexican_sofa/version"
5
+
6
+ Gem::Specification.new do |s|
7
+ # s.name = "ComfortableMexicanSofa"
8
+ s.name = "PixelForce_ETS"
9
+ s.version = ComfortableMexicanSofa::VERSION
10
+ s.authors = ["PG9-SEP"]
11
+ s.email = ["PG9@SEP"]
12
+ s.homepage = "https://github.com/changyukang/comfortable-mexican-sofa"
13
+ s.summary = "Rails 5.2+ CMS Engine"
14
+ s.description = "Self-customized CMS Engine"
15
+ #s.description = "ComfortableMexicanSofa is a powerful Rails 5.2+ CMS Engine"
16
+ s.license = "MIT"
17
+
18
+ s.files = `git ls-files -z`.split("\x0").reject do |f|
19
+ f.match(%r{^(test|doc)/})
20
+ end
21
+
22
+ s.required_ruby_version = ">= 2.3.0"
23
+
24
+ s.add_dependency "active_link_to", ">= 1.0.0"
25
+ s.add_dependency "comfy_bootstrap_form", ">= 4.0.0"
26
+ s.add_dependency "haml-rails", ">= 1.0.0"
27
+ s.add_dependency "jquery-rails", ">= 4.3.1"
28
+ s.add_dependency "kramdown", ">= 1.0.0"
29
+ s.add_dependency "mimemagic", ">= 0.3.2"
30
+ s.add_dependency "mini_magick", ">= 4.8.0"
31
+ s.add_dependency "rails", ">= 5.2.0"
32
+ s.add_dependency "rails-i18n", ">= 5.0.0"
33
+ s.add_dependency "sassc-rails", ">= 2.0.0"
34
+ end
data/config.ru ADDED
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is used by Rack-based servers to start the application.
4
+
5
+ require ::File.expand_path("../config/environment", __FILE__)
6
+ run ComfortableMexicanSofa::Application
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "boot"
4
+
5
+ require "rails/all"
6
+
7
+ # Require the gems listed in Gemfile, including any gems
8
+ # you've limited to :test, :development, or :production.
9
+ Bundler.require(*Rails.groups)
10
+
11
+ module ComfortableMexicanSofa
12
+ class Application < Rails::Application
13
+
14
+ require_relative "../lib/comfortable_mexican_sofa"
15
+
16
+ config.load_defaults 5.2
17
+
18
+ # Settings in config/environments/* take precedence over those specified here.
19
+ # Application configuration should go into files in config/initializers
20
+ # -- all .rb files in that directory are automatically loaded.
21
+
22
+ # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
23
+ # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
24
+ # config.time_zone = 'Central Time (US & Canada)'
25
+
26
+ # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
27
+ # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
28
+ # config.i18n.default_locale = :de
29
+
30
+ # Ensuring that all ActiveStorage routes are loaded before out globbing route.
31
+ config.railties_order = [ActiveStorage::Engine, :main_app, :all]
32
+
33
+ # Making sure we don't load our dev routes as part of the engine
34
+ config.paths["config/routes.rb"] << "config/cms_routes.rb"
35
+
36
+ config.i18n.enforce_available_locales = true
37
+
38
+ end
39
+ end
data/config/boot.rb ADDED
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Set up gems listed in the Gemfile.
4
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
5
+
6
+ require "bundler/setup" if File.exist?(ENV["BUNDLE_GEMFILE"])
7
+ File.exist?(ENV["BUNDLE_GEMFILE"])
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ # We can't have this in config/routes.rb as they will get pulled in into parent
4
+ # application automatically. We want user to manually place them.
5
+ ComfortableMexicanSofa::Application.routes.draw do
6
+ comfy_route :cms_admin
7
+ comfy_route :cms
8
+ end
@@ -0,0 +1,11 @@
1
+ development:
2
+ adapter: sqlite3
3
+ database: db/development.sqlite3
4
+ pool: 5
5
+ timeout: 10000
6
+
7
+ test:
8
+ adapter: sqlite3
9
+ database: db/test.sqlite3
10
+ pool: 5
11
+ timeout: 10000
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Load the rails application
4
+ require File.expand_path("application", __dir__)
5
+
6
+ # Initialize the rails application
7
+ ComfortableMexicanSofa::Application.initialize!
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ defined?(ComfortableMexicanSofa::Application) && ComfortableMexicanSofa::Application.configure do
4
+ # Settings specified here will take precedence over those in config/application.rb.
5
+
6
+ # In the development environment your application's code is reloaded on
7
+ # every request. This slows down response time but is perfect for development
8
+ # since you don't have to restart the web server when you make code changes.
9
+ config.cache_classes = false
10
+
11
+ # Do not eager load code on boot.
12
+ config.eager_load = false
13
+
14
+ # Show full error reports.
15
+ config.consider_all_requests_local = true
16
+
17
+ # Enable/disable caching. By default caching is disabled.
18
+ # Run rails dev:cache to toggle caching.
19
+ if Rails.root.join("tmp/caching-dev.txt").exist?
20
+ config.action_controller.perform_caching = true
21
+
22
+ config.cache_store = :memory_store
23
+ config.public_file_server.headers = {
24
+ "Cache-Control" => "public, max-age=#{2.days.to_i}"
25
+ }
26
+ else
27
+ config.action_controller.perform_caching = false
28
+
29
+ config.cache_store = :null_store
30
+ end
31
+
32
+ # Store uploaded files on the local file system (see config/storage.yml for options)
33
+ config.active_storage.service = :local
34
+
35
+ # Don't care if the mailer can't send.
36
+ config.action_mailer.raise_delivery_errors = false
37
+
38
+ config.action_mailer.perform_caching = false
39
+
40
+ # Print deprecation notices to the Rails logger.
41
+ config.active_support.deprecation = :log
42
+
43
+ # Raise an error on page load if there are pending migrations.
44
+ config.active_record.migration_error = :page_load
45
+
46
+ # Debug mode disables concatenation and preprocessing of assets.
47
+ # This option may cause significant delays in view rendering with a large
48
+ # number of complex assets.
49
+ config.assets.debug = true
50
+
51
+ # Suppress logger output for asset requests.
52
+ config.assets.quiet = true
53
+
54
+ # Raises error for missing translations
55
+ # config.action_view.raise_on_missing_translations = true
56
+
57
+ # Use an evented file watcher to asynchronously detect changes in source code,
58
+ # routes, locales, etc. This feature depends on the listen gem.
59
+ config.file_watcher = ActiveSupport::EventedFileUpdateChecker
60
+
61
+ config.active_job.queue_adapter = :inline
62
+
63
+ config.action_view.raise_on_missing_translations = true
64
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ defined?(ComfortableMexicanSofa::Application) && ComfortableMexicanSofa::Application.configure do
4
+ # Settings specified here will take precedence over those in config/application.rb.
5
+
6
+ # The test environment is used exclusively to run your application's
7
+ # test suite. You never need to work with it otherwise. Remember that
8
+ # your test database is "scratch space" for the test suite and is wiped
9
+ # and recreated between test runs. Don't rely on the data there!
10
+ config.cache_classes = true
11
+
12
+ # Do not eager load code on boot. This avoids loading your whole application
13
+ # just for the purpose of running a single test. If you are using a tool that
14
+ # preloads Rails for running tests, you may have to set it to true.
15
+ config.eager_load = false
16
+
17
+ # Configure public file server for tests with Cache-Control for performance.
18
+ config.public_file_server.enabled = true
19
+ config.public_file_server.headers = {
20
+ "Cache-Control" => "public, max-age=#{1.hour.to_i}"
21
+ }
22
+
23
+ # Show full error reports and disable caching.
24
+ config.consider_all_requests_local = true
25
+ config.action_controller.perform_caching = false
26
+
27
+ # Raise exceptions instead of rendering exception templates.
28
+ config.action_dispatch.show_exceptions = false
29
+
30
+ # Disable request forgery protection in test environment.
31
+ config.action_controller.allow_forgery_protection = false
32
+
33
+ # Store uploaded files on the local file system in a temporary directory
34
+ config.active_storage.service = :test
35
+ config.action_mailer.perform_caching = false
36
+
37
+ # Tell Action Mailer not to deliver emails to the real world.
38
+ # The :test delivery method accumulates sent emails in the
39
+ # ActionMailer::Base.deliveries array.
40
+ config.action_mailer.delivery_method = :test
41
+
42
+ # Print deprecation notices to the stderr.
43
+ config.active_support.deprecation = :stderr
44
+
45
+ # Raises error for missing translations
46
+ # config.action_view.raise_on_missing_translations = true
47
+
48
+ config.active_job.queue_adapter = :inline
49
+
50
+ config.action_view.raise_on_missing_translations = true
51
+
52
+ # TODO: This is temporary fix so TravisCI runs until Rails 5.2.3 is out.
53
+ # See: https://github.com/rails/rails/pull/35607
54
+ config.secret_key_base = SecureRandom.hex(64)
55
+ end
@@ -0,0 +1,122 @@
1
+ # frozen_string_literal: true
2
+
3
+ ComfortableMexicanSofa.configure do |config|
4
+ # Title of the admin area
5
+ # config.cms_title = 'ComfortableMexicanSofa CMS Engine'
6
+
7
+ # Controller that is inherited from CmsAdmin::BaseController
8
+ # config.admin_base_controller = 'ApplicationController'
9
+
10
+ # Controller that Comfy::Cms::BaseController will inherit from
11
+ # config.public_base_controller = 'ApplicationController'
12
+
13
+ # Module responsible for authentication. You can replace it with your own.
14
+ # It simply needs to have #authenticate method. See http_auth.rb for reference.
15
+ # config.admin_auth = 'ComfyAdminAuthentication'
16
+
17
+ # Module responsible for authorization on admin side. It should have #authorize
18
+ # method that returns true or false based on params and loaded instance
19
+ # variables available for a given controller.
20
+ # config.admin_authorization = 'ComfyAdminAuthorization'
21
+
22
+ # Module responsible for public authentication. Similar to the above. You also
23
+ # will have access to @cms_site, @cms_layout, @cms_page so you can use them in
24
+ # your logic. Default module doesn't do anything.
25
+ # config.public_auth = 'ComfyPublicAuthentication'
26
+
27
+ # Module responsible for public authorization. It should have #authorize
28
+ # method that returns true or false based on params and loaded instance
29
+ # variables available for a given controller.
30
+ # config.public_authorization = 'ComfyPublicAuthorization'
31
+
32
+ # When arriving at /cms-admin you may chose to redirect to arbirtary path,
33
+ # for example '/cms-admin/users'
34
+ # config.admin_route_redirect = ''
35
+
36
+ # Sofa allows you to setup entire site from files. Database is updated with each
37
+ # request (if necessary). Please note that database entries are destroyed if there's
38
+ # no corresponding file. Seeds are disabled by default.
39
+ # config.enable_seeds = false
40
+
41
+ # Path where seeds can be located.
42
+ # config.seeds_path = File.expand_path('db/cms_seeds', Rails.root)
43
+
44
+ # Content for Layouts, Pages and Snippets has a revision history. You can revert
45
+ # a previous version using this system. You can control how many revisions per
46
+ # object you want to keep. Set it to 0 if you wish to turn this feature off.
47
+ # config.revisions_limit = 25
48
+
49
+ # Locale definitions. If you want to define your own locale merge
50
+ # {:locale => 'Locale Title'} with this.
51
+ # config.locales = {:en => 'English', :es => 'Español'}
52
+
53
+ # Admin interface will respect the locale of the site being managed. However you can
54
+ # force it to English by setting this to `:en`
55
+ # config.admin_locale = nil
56
+
57
+ # A class that is included as a sweeper to admin base controller if it's set
58
+ # config.admin_cache_sweeper = nil
59
+
60
+ # By default you cannot have irb code inside your layouts/pages/snippets.
61
+ # Generally this is to prevent putting something like this:
62
+ # <% User.delete_all %> but if you really want to allow it...
63
+ # config.allow_erb = false
64
+
65
+ # Whitelist of all helper methods that can be used via {{cms:helper}} tag. By default
66
+ # all helpers are allowed except `eval`, `send`, `call` and few others. Empty array
67
+ # will prevent rendering of all helpers.
68
+ # config.allowed_helpers = nil
69
+
70
+ # Whitelist of partials paths that can be used via {{cms:partial}} tag. All partials
71
+ # are accessible by default. Empty array will prevent rendering of all partials.
72
+ # config.allowed_partials = nil
73
+
74
+ # Site aliases, if you want to have aliases for your site. Good for harmonizing
75
+ # production env with dev/testing envs.
76
+ # e.g. config.hostname_aliases = {'host.com' => 'host.inv', 'host_a.com' => ['host.lvh.me', 'host.dev']}
77
+ # Default is nil (not used)
78
+ # config.hostname_aliases = nil
79
+
80
+ # Reveal partials that can be overwritten in the admin area.
81
+ # Default is false.
82
+ # config.reveal_cms_partials = false
83
+ #
84
+ # Customize the returned content json data
85
+ # include fragments in content json
86
+ # config.content_json_options = {
87
+ # include: [:fragments]
88
+ # }
89
+ end
90
+
91
+ # Default credentials for ComfortableMexicanSofa::AccessControl::AdminAuthentication
92
+ # YOU REALLY WANT TO CHANGE THIS BEFORE PUTTING YOUR SITE LIVE
93
+ ComfortableMexicanSofa::AccessControl::AdminAuthentication.username = "username"
94
+ ComfortableMexicanSofa::AccessControl::AdminAuthentication.password = "password"
95
+
96
+ # Uncomment this module and `config.admin_auth` above to use custom admin authentication
97
+ # module ComfyAdminAuthentication
98
+ # def authenticate
99
+ # return true
100
+ # end
101
+ # end
102
+
103
+ # Uncomment this module and `config.admin_authorization` above to use custom admin authorization
104
+ # module ComfyAdminAuthorization
105
+ # def authorize
106
+ # return true
107
+ # end
108
+ # end
109
+
110
+ # Uncomment this module and `config.public_auth` above to use custom public authentication
111
+ # module ComfyPublicAuthentication
112
+ # def authenticate
113
+ # return true
114
+ # end
115
+ # end
116
+
117
+ # Uncomment this module and `config.public_authorization` above to use custom public authorization
118
+ # module ComfyPublicAuthorization
119
+ # def authorize
120
+ # return true
121
+ # end
122
+ # end
@@ -0,0 +1,263 @@
1
+ ca:
2
+ activerecord:
3
+ models:
4
+ comfy/cms/site: Lloc
5
+ comfy/cms/layout: Plantilla
6
+ comfy/cms/page: Pàgina
7
+ comfy/cms/snippet: Fragment
8
+ comfy/cms/file: Arxiu
9
+ comfy/cms/translation: Traducció
10
+
11
+ attributes:
12
+ comfy/cms/site:
13
+ identifier: Identificador
14
+ label: Nom
15
+ hostname: Adreça
16
+ path: Ruta
17
+ locale: Lengua
18
+ comfy/cms/layout:
19
+ identifier: Identificador
20
+ label: Nom de la plantilla
21
+ app_layout: Plantilla base
22
+ parent_id: Plantilla pare
23
+ content: Contingut
24
+ css: Full d'estil
25
+ js: JavaScript
26
+ comfy/cms/page:
27
+ label: Títol
28
+ layout_id: Plantilla
29
+ slug: Ruta
30
+ full_path: Ruta complerta
31
+ parent_id: Pare
32
+ target_page_id: Redirigir a
33
+ content: Contingut
34
+ is_published: Publicada
35
+ comfy/cms/file:
36
+ label: Nom
37
+ file: Arxiu
38
+ description: Descripció
39
+ comfy/cms/snippet:
40
+ label: Nom
41
+ identifier: Identificador
42
+ content: Contingut
43
+ comfy/cms/translation:
44
+ locale: Idioma
45
+ label: Nom
46
+ layout_id: Plantilla
47
+ is_published: Publicat
48
+
49
+ comfy:
50
+ cms:
51
+ content:
52
+ site_not_found: El lloc no s'ha pogut trobar
53
+ layout_not_found: El disseny no s'ha pogut trobar
54
+ page_not_found: La pàgina no s'ha pogut trobar
55
+
56
+ admin:
57
+ cms:
58
+ base:
59
+ site_not_found: El lloc no s'ha pogut trobar
60
+ seeds_enabled: CMS Fixtures habilitades. Tots els canvis realitzats seran rebutjats.
61
+
62
+ sites: Llocs
63
+ layouts: Dissenys
64
+ pages: Pàgines
65
+ snippets: Fragments
66
+ files: Arxius
67
+
68
+ sites:
69
+ created: S'ha creat el lloc
70
+ creation_failure: El lloc no s'ha pogut ser crear
71
+ updated: S'ha actualitzat el lloc
72
+ update_failure: El lloc no s'ha pogut actualitzar
73
+ deleted: S'ha esborrat el lloc
74
+ not_found: El lloc no s'ha pogut trobar
75
+
76
+ index:
77
+ title: Llistat de llocs
78
+ new_link: Crea un nou lloc
79
+ select: Selecciona el lloc
80
+ edit: Edita
81
+ delete: Esborra
82
+ are_you_sure: Esteu segur de que voleu eliminar aquest lloc?
83
+ new:
84
+ title: Creant lloc
85
+ edit:
86
+ title: Editant lloc
87
+ form:
88
+ create: Crea lloc
89
+ cancel: Cancel·la
90
+ update: Actualiza el lloc
91
+
92
+ layouts:
93
+ created: S'ha creat el disseny
94
+ creation_failure: El disseny no s'ha pogut crear
95
+ updated: S'ha actualitzat el disseny
96
+ update_failure: El disseny NO s'ha pogut actualitzar
97
+ deleted: S'ha esborrat el disseny
98
+ not_found: El disseny no s'ha pogut trobar
99
+
100
+ index:
101
+ title: Dissenys
102
+ new_link: Crea un nou disseny
103
+ index_branch:
104
+ add_child_layout: Afegeix un disseny fill
105
+ edit: Edita
106
+ delete: Esborra
107
+ are_you_sure: Esteu segur?
108
+ new:
109
+ title: Nou disseny
110
+ edit:
111
+ title: Editant disseny
112
+ form:
113
+ select_parent_layout: Seleccioneu el disseny pare
114
+ select_app_layout: Seleccioneu el disseny per a l'aplicació
115
+ create: Crea el disseny
116
+ cancel: Cancel·la
117
+ update: Actualitza el disseny
118
+
119
+ pages:
120
+ created: S'ha creat la pàgina
121
+ creation_failure: La pàgina no s'ha pogut crear
122
+ updated: S'ha actualitzat la pàgina
123
+ update_failure: La pàgina no s'ha pogut actualitzar
124
+ deleted: S'ha esborrat la pàgina
125
+ not_found: La pàgina no s'ha pogut esborrar
126
+ layout_not_found: No s'ha trobat cap disseny. Creeu-ne un primer.
127
+
128
+ index:
129
+ title: Pàgines
130
+ new_link: Crea una nova pàgina
131
+ index_branch:
132
+ toggle: Canvia
133
+ add_child_page: Afegeix una pàgina filla
134
+ edit: Edita
135
+ delete: Elimina
136
+ are_you_sure: Esteu segur?
137
+ new:
138
+ title: Nova pàgina
139
+ edit:
140
+ title: Editant pàgina
141
+ form:
142
+ select_target_page: No redirigir
143
+ preview: Vista prèvia
144
+ create: Crea la pàgina
145
+ cancel: Cancel·la
146
+ update: Actualitza la pàgina
147
+ choose_link: Sel·leccioneu una pàgina…
148
+
149
+ fragments:
150
+ form_fragments:
151
+ no_tags: |-
152
+ La plantilla no té etiquetes de contingut definides.<br/>
153
+ Editeu el contingut per a incloure alguna etiqueta de pàgina o camp, com per exemple: <code>{{cms:wysiwyg content}}</code>
154
+
155
+ translations:
156
+ created: S'ha creat la traducció
157
+ creation_failure: La traducció no s'ha pogut crear
158
+ updated: S'ha actualitzat la traducció
159
+ update_failure: La traducció no s'ha pogut actualitzar
160
+ deleted: S'ha esborrat la traducció
161
+ not_found: La traducció no s'ha pogut esborrar
162
+
163
+ new:
164
+ title: Nova traducció
165
+ edit:
166
+ title: Editant traducció
167
+ form:
168
+ preview: Vista prèvia
169
+ create: Crea
170
+ update: Actualitza
171
+ cancel: Cancel·la
172
+ sidebar:
173
+ new: Crea una nova traducció
174
+ confirm: Esteu segur?
175
+
176
+ snippets:
177
+ created: S'ha creat el fragment
178
+ creation_failure: El fragment no s'ha pogut crear
179
+ updated: S'ha actualitzat el fragment
180
+ update_failure: El fragment no s'ha pogut actualitzar
181
+ deleted: S'ha esborrat el fragment
182
+ not_found: Fragment no trobat
183
+
184
+ index:
185
+ title: Fragments
186
+ new_link: Crea un nou fragment
187
+ edit: Edita
188
+ delete: Elimina
189
+ are_you_sure: Esteu segur?
190
+ new:
191
+ title: Nou fragment
192
+ edit:
193
+ title: Editant fragment
194
+ form:
195
+ create: Crear el fragment
196
+ cancel: Cancel·la
197
+ update: Actualitza el fragment
198
+
199
+ revisions:
200
+ reverted: S'ha revertit el contingut
201
+ record_not_found: El fragment no s'ha pogut trobar
202
+ not_found: La revisió no s'ha pogut trobar
203
+
204
+ show:
205
+ title: Revisions de
206
+ revision: Revisió
207
+ update: Actualitza a aquesta versió
208
+ cancel: Cancel·la
209
+ content: Contingut
210
+ changes: Canvis
211
+ previous: Anterior
212
+ current: Actual
213
+ sidebar:
214
+ revision:
215
+ zero: No hi ha cap revisió
216
+ one: '%{count} revisió'
217
+ few: '%{count} revisions'
218
+ many: '%{count} revisions'
219
+ other: '%{count} revisions'
220
+
221
+ files:
222
+ created: S'ha pujat l'arxiu
223
+ creation_failure: L'arxiu no s'ha pogut pujar
224
+ updated: S'ha actualitzat l'arxiu
225
+ update_failure: L'arxiu no s'ha pogut actualitzar
226
+ deleted: S'ha esborrat l'arxiu
227
+ not_found: L'arxiu no s'ha pogut trobar
228
+
229
+ index:
230
+ title: Arxius
231
+ new_link: Puja un nou arxiu
232
+ button: Carrega els arxius
233
+ new:
234
+ title: Nou arxiu
235
+ edit:
236
+ title: Editant arxiu
237
+ form:
238
+ current_file: Arxiu actual
239
+ create: Pujar arxiu
240
+ cancel: Cancel·la
241
+ update: Actualitza arxiu
242
+ delete: Esborra
243
+ are_you_sure: Esteu segur?
244
+ page_form:
245
+ are_you_sure: Esteu segur?
246
+ file:
247
+ edit: Edita
248
+ delete: Esborra
249
+ are_you_sure: Esteu segur?
250
+
251
+ categories:
252
+ index:
253
+ edit: Edita
254
+ done: Fet
255
+ all: Tots
256
+ add: Afegeix
257
+ add_placeholder: Afegeix una categoria
258
+ show:
259
+ are_you_sure: Esteu segur?
260
+ edit:
261
+ save: Guarda
262
+ form:
263
+ label: Categories