occams 1.0.0

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 (471) 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 +87 -0
  8. data/.travis.yml +44 -0
  9. data/CHANGELOG.md +7 -0
  10. data/CONTRIBUTING.md +35 -0
  11. data/Gemfile +30 -0
  12. data/LICENSE +20 -0
  13. data/LICENSE.comfy +20 -0
  14. data/README.md +121 -0
  15. data/Rakefile +5 -0
  16. data/app/assets/config/manifest.js +0 -0
  17. data/app/assets/fonts/occams/admin/cms/lib/redactor-font.eot +0 -0
  18. data/app/assets/javascripts/occams/admin/cms/application.js +39 -0
  19. data/app/assets/javascripts/occams/admin/cms/base.js +46 -0
  20. data/app/assets/javascripts/occams/admin/cms/categories.js +17 -0
  21. data/app/assets/javascripts/occams/admin/cms/codemirror.js +31 -0
  22. data/app/assets/javascripts/occams/admin/cms/custom.js +1 -0
  23. data/app/assets/javascripts/occams/admin/cms/diff.js +10 -0
  24. data/app/assets/javascripts/occams/admin/cms/file_link.js +67 -0
  25. data/app/assets/javascripts/occams/admin/cms/file_upload.js +194 -0
  26. data/app/assets/javascripts/occams/admin/cms/files_modal.js +40 -0
  27. data/app/assets/javascripts/occams/admin/cms/page_fragments.js +22 -0
  28. data/app/assets/javascripts/occams/admin/cms/slugify.js +34 -0
  29. data/app/assets/javascripts/occams/admin/cms/sortable_list.js +40 -0
  30. data/app/assets/javascripts/occams/admin/cms/timepicker.js +30 -0
  31. data/app/assets/javascripts/occams/admin/cms/wysiwyg.js +72 -0
  32. data/app/assets/javascripts/occams/vendor/Moxie.swf +0 -0
  33. data/app/assets/javascripts/occams/vendor/Moxie.xap +0 -0
  34. data/app/assets/javascripts/occams/vendor/bootstrap.bundle.min.js +7 -0
  35. data/app/assets/javascripts/occams/vendor/bootstrap.bundle.min.js.map +1 -0
  36. data/app/assets/javascripts/occams/vendor/codemirror/addon/edit/closetag.js +169 -0
  37. data/app/assets/javascripts/occams/vendor/codemirror/mode/css/css.js +832 -0
  38. data/app/assets/javascripts/occams/vendor/codemirror/mode/htmlmixed/htmlmixed.js +152 -0
  39. data/app/assets/javascripts/occams/vendor/codemirror/mode/javascript/javascript.js +875 -0
  40. data/app/assets/javascripts/occams/vendor/codemirror/mode/markdown/markdown.js +861 -0
  41. data/app/assets/javascripts/occams/vendor/codemirror/mode/xml/xml.js +394 -0
  42. data/app/assets/javascripts/occams/vendor/codemirror.js +9653 -0
  43. data/app/assets/javascripts/occams/vendor/diff/diff_match_patch.min.js +49 -0
  44. data/app/assets/javascripts/occams/vendor/diff/pretty_text_diff.js +76 -0
  45. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/ar.js +52 -0
  46. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/bg.js +65 -0
  47. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/bn.js +65 -0
  48. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/ca.js +83 -0
  49. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/cs.js +70 -0
  50. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/cy.js +92 -0
  51. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/da.js +71 -0
  52. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/de.js +70 -0
  53. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/default.js +80 -0
  54. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/eo.js +73 -0
  55. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/es.js +69 -0
  56. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/et.js +73 -0
  57. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/fa.js +68 -0
  58. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/fi.js +69 -0
  59. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/fr.js +75 -0
  60. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/gr.js +74 -0
  61. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/he.js +57 -0
  62. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/hi.js +65 -0
  63. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/hr.js +66 -0
  64. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/hu.js +72 -0
  65. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/id.js +61 -0
  66. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/it.js +70 -0
  67. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/ja.js +57 -0
  68. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/ko.js +60 -0
  69. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/lt.js +72 -0
  70. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/lv.js +67 -0
  71. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/mk.js +69 -0
  72. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/mn.js +67 -0
  73. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/ms.js +68 -0
  74. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/my.js +69 -0
  75. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/nl.js +75 -0
  76. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/no.js +73 -0
  77. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/pa.js +65 -0
  78. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/pl.js +68 -0
  79. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/pt-BR.js +66 -0
  80. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/pt.js +66 -0
  81. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/ro.js +69 -0
  82. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/ru.js +66 -0
  83. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/si.js +65 -0
  84. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/sk.js +70 -0
  85. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/sl.js +70 -0
  86. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/sq.js +65 -0
  87. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/sr.js +69 -0
  88. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/sv.js +70 -0
  89. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/th.js +72 -0
  90. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/tr.js +66 -0
  91. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/uk.js +66 -0
  92. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/vn.js +66 -0
  93. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/zh-CN.js +61 -0
  94. data/app/assets/javascripts/occams/vendor/flatpickr/i18n/zh-TW.js +61 -0
  95. data/app/assets/javascripts/occams/vendor/flatpickr.min.js +2 -0
  96. data/app/assets/javascripts/occams/vendor/fontawesome.js +5 -0
  97. data/app/assets/javascripts/occams/vendor/moxie.min.js +16 -0
  98. data/app/assets/javascripts/occams/vendor/plupload.dev.js +2497 -0
  99. data/app/assets/javascripts/occams/vendor/redactor/definedlinks.js +53 -0
  100. data/app/assets/javascripts/occams/vendor/redactor/filemanager.js +64 -0
  101. data/app/assets/javascripts/occams/vendor/redactor/i18n/ar.js +76 -0
  102. data/app/assets/javascripts/occams/vendor/redactor/i18n/az.js +75 -0
  103. data/app/assets/javascripts/occams/vendor/redactor/i18n/ba.js +79 -0
  104. data/app/assets/javascripts/occams/vendor/redactor/i18n/bg.js +77 -0
  105. data/app/assets/javascripts/occams/vendor/redactor/i18n/by.js +77 -0
  106. data/app/assets/javascripts/occams/vendor/redactor/i18n/ca.js +75 -0
  107. data/app/assets/javascripts/occams/vendor/redactor/i18n/cs.js +87 -0
  108. data/app/assets/javascripts/occams/vendor/redactor/i18n/da.js +75 -0
  109. data/app/assets/javascripts/occams/vendor/redactor/i18n/de.js +80 -0
  110. data/app/assets/javascripts/occams/vendor/redactor/i18n/el.js +76 -0
  111. data/app/assets/javascripts/occams/vendor/redactor/i18n/en.js +75 -0
  112. data/app/assets/javascripts/occams/vendor/redactor/i18n/eo.js +76 -0
  113. data/app/assets/javascripts/occams/vendor/redactor/i18n/es.js +75 -0
  114. data/app/assets/javascripts/occams/vendor/redactor/i18n/es_AR.js +76 -0
  115. data/app/assets/javascripts/occams/vendor/redactor/i18n/fa.js +76 -0
  116. data/app/assets/javascripts/occams/vendor/redactor/i18n/fi.js +75 -0
  117. data/app/assets/javascripts/occams/vendor/redactor/i18n/fr.js +75 -0
  118. data/app/assets/javascripts/occams/vendor/redactor/i18n/ge.js +75 -0
  119. data/app/assets/javascripts/occams/vendor/redactor/i18n/gr.js +75 -0
  120. data/app/assets/javascripts/occams/vendor/redactor/i18n/he.js +75 -0
  121. data/app/assets/javascripts/occams/vendor/redactor/i18n/hr.js +76 -0
  122. data/app/assets/javascripts/occams/vendor/redactor/i18n/hu.js +77 -0
  123. data/app/assets/javascripts/occams/vendor/redactor/i18n/id.js +76 -0
  124. data/app/assets/javascripts/occams/vendor/redactor/i18n/it.js +78 -0
  125. data/app/assets/javascripts/occams/vendor/redactor/i18n/ja.js +76 -0
  126. data/app/assets/javascripts/occams/vendor/redactor/i18n/kn.js +75 -0
  127. data/app/assets/javascripts/occams/vendor/redactor/i18n/ko.js +76 -0
  128. data/app/assets/javascripts/occams/vendor/redactor/i18n/lt.js +75 -0
  129. data/app/assets/javascripts/occams/vendor/redactor/i18n/lv.js +75 -0
  130. data/app/assets/javascripts/occams/vendor/redactor/i18n/mk.js +75 -0
  131. data/app/assets/javascripts/occams/vendor/redactor/i18n/nb.js +75 -0
  132. data/app/assets/javascripts/occams/vendor/redactor/i18n/nl.js +80 -0
  133. data/app/assets/javascripts/occams/vendor/redactor/i18n/pl.js +76 -0
  134. data/app/assets/javascripts/occams/vendor/redactor/i18n/pt-BR.js +75 -0
  135. data/app/assets/javascripts/occams/vendor/redactor/i18n/pt.js +75 -0
  136. data/app/assets/javascripts/occams/vendor/redactor/i18n/ro.js +76 -0
  137. data/app/assets/javascripts/occams/vendor/redactor/i18n/ru.js +76 -0
  138. data/app/assets/javascripts/occams/vendor/redactor/i18n/sk.js +76 -0
  139. data/app/assets/javascripts/occams/vendor/redactor/i18n/sl.js +79 -0
  140. data/app/assets/javascripts/occams/vendor/redactor/i18n/sq.js +79 -0
  141. data/app/assets/javascripts/occams/vendor/redactor/i18n/sr-CIR.js +79 -0
  142. data/app/assets/javascripts/occams/vendor/redactor/i18n/sr-LAT.js +79 -0
  143. data/app/assets/javascripts/occams/vendor/redactor/i18n/sv.js +74 -0
  144. data/app/assets/javascripts/occams/vendor/redactor/i18n/th.js +74 -0
  145. data/app/assets/javascripts/occams/vendor/redactor/i18n/tr.js +75 -0
  146. data/app/assets/javascripts/occams/vendor/redactor/i18n/ua.js +77 -0
  147. data/app/assets/javascripts/occams/vendor/redactor/i18n/uk.js +77 -0
  148. data/app/assets/javascripts/occams/vendor/redactor/i18n/vi.js +74 -0
  149. data/app/assets/javascripts/occams/vendor/redactor/i18n/zh-CN.js +75 -0
  150. data/app/assets/javascripts/occams/vendor/redactor/i18n/zh-TW.js +75 -0
  151. data/app/assets/javascripts/occams/vendor/redactor/imagemanager.js +57 -0
  152. data/app/assets/javascripts/occams/vendor/redactor/table.js +337 -0
  153. data/app/assets/javascripts/occams/vendor/redactor/video.js +77 -0
  154. data/app/assets/javascripts/occams/vendor/redactor.js +9561 -0
  155. data/app/assets/javascripts/occams/vendor/sortable.min.js +5 -0
  156. data/app/assets/stylesheets/occams/admin/cms/application.sass +11 -0
  157. data/app/assets/stylesheets/occams/admin/cms/base.sass +256 -0
  158. data/app/assets/stylesheets/occams/admin/cms/codemirror_overrides.sass +19 -0
  159. data/app/assets/stylesheets/occams/admin/cms/custom.sass +1 -0
  160. data/app/assets/stylesheets/occams/admin/cms/redactor_overrides.sass +22 -0
  161. data/app/assets/stylesheets/occams/vendor/bootstrap/_alert.scss +51 -0
  162. data/app/assets/stylesheets/occams/vendor/bootstrap/_badge.scss +54 -0
  163. data/app/assets/stylesheets/occams/vendor/bootstrap/_breadcrumb.scss +41 -0
  164. data/app/assets/stylesheets/occams/vendor/bootstrap/_button-group.scss +163 -0
  165. data/app/assets/stylesheets/occams/vendor/bootstrap/_buttons.scss +137 -0
  166. data/app/assets/stylesheets/occams/vendor/bootstrap/_card.scss +289 -0
  167. data/app/assets/stylesheets/occams/vendor/bootstrap/_carousel.scss +197 -0
  168. data/app/assets/stylesheets/occams/vendor/bootstrap/_close.scss +41 -0
  169. data/app/assets/stylesheets/occams/vendor/bootstrap/_code.scss +48 -0
  170. data/app/assets/stylesheets/occams/vendor/bootstrap/_custom-forms.scss +507 -0
  171. data/app/assets/stylesheets/occams/vendor/bootstrap/_dropdown.scss +191 -0
  172. data/app/assets/stylesheets/occams/vendor/bootstrap/_forms.scss +330 -0
  173. data/app/assets/stylesheets/occams/vendor/bootstrap/_functions.scss +86 -0
  174. data/app/assets/stylesheets/occams/vendor/bootstrap/_grid.scss +52 -0
  175. data/app/assets/stylesheets/occams/vendor/bootstrap/_images.scss +42 -0
  176. data/app/assets/stylesheets/occams/vendor/bootstrap/_input-group.scss +193 -0
  177. data/app/assets/stylesheets/occams/vendor/bootstrap/_jumbotron.scss +17 -0
  178. data/app/assets/stylesheets/occams/vendor/bootstrap/_list-group.scss +149 -0
  179. data/app/assets/stylesheets/occams/vendor/bootstrap/_media.scss +8 -0
  180. data/app/assets/stylesheets/occams/vendor/bootstrap/_mixins.scss +47 -0
  181. data/app/assets/stylesheets/occams/vendor/bootstrap/_modal.scss +229 -0
  182. data/app/assets/stylesheets/occams/vendor/bootstrap/_nav.scss +120 -0
  183. data/app/assets/stylesheets/occams/vendor/bootstrap/_navbar.scss +294 -0
  184. data/app/assets/stylesheets/occams/vendor/bootstrap/_pagination.scss +73 -0
  185. data/app/assets/stylesheets/occams/vendor/bootstrap/_popover.scss +171 -0
  186. data/app/assets/stylesheets/occams/vendor/bootstrap/_print.scss +141 -0
  187. data/app/assets/stylesheets/occams/vendor/bootstrap/_progress.scss +43 -0
  188. data/app/assets/stylesheets/occams/vendor/bootstrap/_reboot.scss +483 -0
  189. data/app/assets/stylesheets/occams/vendor/bootstrap/_root.scss +19 -0
  190. data/app/assets/stylesheets/occams/vendor/bootstrap/_spinners.scss +55 -0
  191. data/app/assets/stylesheets/occams/vendor/bootstrap/_tables.scss +185 -0
  192. data/app/assets/stylesheets/occams/vendor/bootstrap/_toasts.scss +44 -0
  193. data/app/assets/stylesheets/occams/vendor/bootstrap/_tooltip.scss +115 -0
  194. data/app/assets/stylesheets/occams/vendor/bootstrap/_transitions.scss +20 -0
  195. data/app/assets/stylesheets/occams/vendor/bootstrap/_type.scss +125 -0
  196. data/app/assets/stylesheets/occams/vendor/bootstrap/_utilities.scss +17 -0
  197. data/app/assets/stylesheets/occams/vendor/bootstrap/_variables.scss +1123 -0
  198. data/app/assets/stylesheets/occams/vendor/bootstrap/bootstrap-grid.scss +29 -0
  199. data/app/assets/stylesheets/occams/vendor/bootstrap/bootstrap-reboot.scss +12 -0
  200. data/app/assets/stylesheets/occams/vendor/bootstrap/bootstrap.scss +44 -0
  201. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_alert.scss +13 -0
  202. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_background-variant.scss +21 -0
  203. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_badge.scss +17 -0
  204. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_border-radius.scss +63 -0
  205. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_box-shadow.scss +20 -0
  206. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_breakpoints.scss +123 -0
  207. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_buttons.scss +107 -0
  208. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_caret.scss +62 -0
  209. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_clearfix.scss +7 -0
  210. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_deprecate.scss +10 -0
  211. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_float.scss +14 -0
  212. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_forms.scss +192 -0
  213. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_gradients.scss +45 -0
  214. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_grid-framework.scss +66 -0
  215. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_grid.scss +51 -0
  216. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_hover.scss +37 -0
  217. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_image.scss +36 -0
  218. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_list-group.scss +21 -0
  219. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_lists.scss +7 -0
  220. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_nav-divider.scss +10 -0
  221. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_pagination.scss +22 -0
  222. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_reset-text.scss +17 -0
  223. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_resize.scss +6 -0
  224. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_screen-reader.scss +33 -0
  225. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_size.scss +7 -0
  226. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_table-row.scss +39 -0
  227. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_text-emphasis.scss +16 -0
  228. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_text-hide.scss +11 -0
  229. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_text-truncate.scss +8 -0
  230. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_transition.scss +16 -0
  231. data/app/assets/stylesheets/occams/vendor/bootstrap/mixins/_visibility.scss +8 -0
  232. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_align.scss +8 -0
  233. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_background.scss +19 -0
  234. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_borders.scss +75 -0
  235. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_clearfix.scss +3 -0
  236. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_display.scss +26 -0
  237. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_embed.scss +39 -0
  238. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_flex.scss +51 -0
  239. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_float.scss +11 -0
  240. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_overflow.scss +5 -0
  241. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_position.scss +32 -0
  242. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_screenreaders.scss +11 -0
  243. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_shadows.scss +6 -0
  244. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_sizing.scss +20 -0
  245. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_spacing.scss +73 -0
  246. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_stretched-link.scss +19 -0
  247. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_text.scss +72 -0
  248. data/app/assets/stylesheets/occams/vendor/bootstrap/utilities/_visibility.scss +13 -0
  249. data/app/assets/stylesheets/occams/vendor/bootstrap/vendor/_rfs.scss +204 -0
  250. data/app/assets/stylesheets/occams/vendor/codemirror.css +346 -0
  251. data/app/assets/stylesheets/occams/vendor/flatpickr.min.css +13 -0
  252. data/app/assets/stylesheets/occams/vendor/fontawesome.css +343 -0
  253. data/app/assets/stylesheets/occams/vendor/redactor.css +948 -0
  254. data/app/controllers/application_controller.rb +7 -0
  255. data/app/controllers/concerns/occams/paginate.rb +16 -0
  256. data/app/controllers/concerns/occams/reorder_action.rb +19 -0
  257. data/app/controllers/occams/admin/base_controller.rb +22 -0
  258. data/app/controllers/occams/admin/cms/base_controller.rb +55 -0
  259. data/app/controllers/occams/admin/cms/categories_controller.rb +40 -0
  260. data/app/controllers/occams/admin/cms/files_controller.rb +142 -0
  261. data/app/controllers/occams/admin/cms/layouts_controller.rb +69 -0
  262. data/app/controllers/occams/admin/cms/pages_controller.rb +156 -0
  263. data/app/controllers/occams/admin/cms/revisions/base_controller.rb +50 -0
  264. data/app/controllers/occams/admin/cms/revisions/layout_controller.rb +18 -0
  265. data/app/controllers/occams/admin/cms/revisions/page_controller.rb +30 -0
  266. data/app/controllers/occams/admin/cms/revisions/snippet_controller.rb +18 -0
  267. data/app/controllers/occams/admin/cms/revisions/translation_controller.rb +31 -0
  268. data/app/controllers/occams/admin/cms/sites_controller.rb +69 -0
  269. data/app/controllers/occams/admin/cms/snippets_controller.rb +66 -0
  270. data/app/controllers/occams/admin/cms/translations_controller.rb +107 -0
  271. data/app/controllers/occams/cms/assets_controller.rb +40 -0
  272. data/app/controllers/occams/cms/base_controller.rb +33 -0
  273. data/app/controllers/occams/cms/content_controller.rb +87 -0
  274. data/app/helpers/occams/admin/cms_helper.rb +49 -0
  275. data/app/helpers/occams/cms_helper.rb +73 -0
  276. data/app/models/concerns/occams/cms/with_categories.rb +53 -0
  277. data/app/models/concerns/occams/cms/with_fragments.rb +125 -0
  278. data/app/models/occams/cms/categorization.rb +16 -0
  279. data/app/models/occams/cms/category.rb +24 -0
  280. data/app/models/occams/cms/file.rb +70 -0
  281. data/app/models/occams/cms/fragment.rb +63 -0
  282. data/app/models/occams/cms/layout.rb +113 -0
  283. data/app/models/occams/cms/page.rb +170 -0
  284. data/app/models/occams/cms/revision.rb +12 -0
  285. data/app/models/occams/cms/site.rb +94 -0
  286. data/app/models/occams/cms/snippet.rb +45 -0
  287. data/app/models/occams/cms/translation.rb +43 -0
  288. data/app/views/kaminari/occams/_first_page.html.haml +3 -0
  289. data/app/views/kaminari/occams/_gap.html.haml +2 -0
  290. data/app/views/kaminari/occams/_last_page.html.haml +3 -0
  291. data/app/views/kaminari/occams/_next_page.html.haml +2 -0
  292. data/app/views/kaminari/occams/_page.html.haml +2 -0
  293. data/app/views/kaminari/occams/_paginator.html.haml +11 -0
  294. data/app/views/kaminari/occams/_prev_page.html.haml +2 -0
  295. data/app/views/layouts/occams/admin/cms/_body.html.haml +14 -0
  296. data/app/views/layouts/occams/admin/cms/_flash.html.haml +4 -0
  297. data/app/views/layouts/occams/admin/cms/_footer_js.html.haml +6 -0
  298. data/app/views/layouts/occams/admin/cms/_head.html.haml +19 -0
  299. data/app/views/layouts/occams/admin/cms/_left.html.haml +39 -0
  300. data/app/views/layouts/occams/admin/cms/_right.html.haml +5 -0
  301. data/app/views/layouts/occams/admin/cms.html.haml +4 -0
  302. data/app/views/occams/admin/cms/categories/_categories.html.haml +4 -0
  303. data/app/views/occams/admin/cms/categories/_edit.html.haml +7 -0
  304. data/app/views/occams/admin/cms/categories/_form.html.haml +5 -0
  305. data/app/views/occams/admin/cms/categories/_index.html.haml +28 -0
  306. data/app/views/occams/admin/cms/categories/_show.html.haml +15 -0
  307. data/app/views/occams/admin/cms/categories/create.js.erb +7 -0
  308. data/app/views/occams/admin/cms/categories/destroy.js.erb +8 -0
  309. data/app/views/occams/admin/cms/categories/edit.js.erb +3 -0
  310. data/app/views/occams/admin/cms/categories/update.js.erb +6 -0
  311. data/app/views/occams/admin/cms/files/_file.html.haml +31 -0
  312. data/app/views/occams/admin/cms/files/_form.html.haml +26 -0
  313. data/app/views/occams/admin/cms/files/_modal.html.haml +3 -0
  314. data/app/views/occams/admin/cms/files/destroy.js.erb +4 -0
  315. data/app/views/occams/admin/cms/files/edit.html.haml +5 -0
  316. data/app/views/occams/admin/cms/files/index.html.haml +31 -0
  317. data/app/views/occams/admin/cms/files/new.html.haml +5 -0
  318. data/app/views/occams/admin/cms/fragments/_form_fragment_attachments.html.haml +23 -0
  319. data/app/views/occams/admin/cms/fragments/_form_fragments.html.haml +38 -0
  320. data/app/views/occams/admin/cms/layouts/_form.html.haml +20 -0
  321. data/app/views/occams/admin/cms/layouts/_index_branch.html.haml +26 -0
  322. data/app/views/occams/admin/cms/layouts/edit.html.haml +9 -0
  323. data/app/views/occams/admin/cms/layouts/index.html.haml +10 -0
  324. data/app/views/occams/admin/cms/layouts/new.html.haml +5 -0
  325. data/app/views/occams/admin/cms/pages/_form.html.haml +31 -0
  326. data/app/views/occams/admin/cms/pages/_index_branch.html.haml +44 -0
  327. data/app/views/occams/admin/cms/pages/edit.html.haml +10 -0
  328. data/app/views/occams/admin/cms/pages/index.html.haml +13 -0
  329. data/app/views/occams/admin/cms/pages/new.html.haml +5 -0
  330. data/app/views/occams/admin/cms/pages/toggle_branch.js.erb +13 -0
  331. data/app/views/occams/admin/cms/revisions/_sidebar.html.haml +2 -0
  332. data/app/views/occams/admin/cms/revisions/show.html.haml +36 -0
  333. data/app/views/occams/admin/cms/sites/_form.html.haml +15 -0
  334. data/app/views/occams/admin/cms/sites/edit.html.haml +5 -0
  335. data/app/views/occams/admin/cms/sites/index.html.haml +28 -0
  336. data/app/views/occams/admin/cms/sites/new.html.haml +5 -0
  337. data/app/views/occams/admin/cms/snippets/_form.html.haml +18 -0
  338. data/app/views/occams/admin/cms/snippets/edit.html.haml +9 -0
  339. data/app/views/occams/admin/cms/snippets/index.html.haml +33 -0
  340. data/app/views/occams/admin/cms/snippets/new.html.haml +5 -0
  341. data/app/views/occams/admin/cms/translations/_form.html.haml +20 -0
  342. data/app/views/occams/admin/cms/translations/_sidebar.html.haml +19 -0
  343. data/app/views/occams/admin/cms/translations/edit.html.haml +10 -0
  344. data/app/views/occams/admin/cms/translations/new.html.haml +5 -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/config/application.rb +39 -0
  352. data/config/boot.rb +7 -0
  353. data/config/cms_routes.rb +8 -0
  354. data/config/database.yml +11 -0
  355. data/config/environment.rb +7 -0
  356. data/config/environments/development.rb +59 -0
  357. data/config/environments/test.rb +50 -0
  358. data/config/initializers/occams.rb +122 -0
  359. data/config/locales/ar.yml +262 -0
  360. data/config/locales/ca.yml +262 -0
  361. data/config/locales/cs.yml +262 -0
  362. data/config/locales/da.yml +262 -0
  363. data/config/locales/de.yml +262 -0
  364. data/config/locales/en.yml +262 -0
  365. data/config/locales/es.yml +262 -0
  366. data/config/locales/fi.yml +262 -0
  367. data/config/locales/fr.yml +262 -0
  368. data/config/locales/gr.yml +262 -0
  369. data/config/locales/hr.yml +262 -0
  370. data/config/locales/it.yml +262 -0
  371. data/config/locales/ja.yml +262 -0
  372. data/config/locales/nb.yml +262 -0
  373. data/config/locales/nl.yml +262 -0
  374. data/config/locales/pl.yml +262 -0
  375. data/config/locales/pt-BR.yml +262 -0
  376. data/config/locales/ru.yml +262 -0
  377. data/config/locales/sk.yml +262 -0
  378. data/config/locales/sv.yml +262 -0
  379. data/config/locales/tr.yml +262 -0
  380. data/config/locales/uk.yml +262 -0
  381. data/config/locales/zh-CN.yml +262 -0
  382. data/config/locales/zh-TW.yml +262 -0
  383. data/config/storage.yml +35 -0
  384. data/config.ru +6 -0
  385. data/db/cms_seeds/sample-site/files/_default.jpg.yml +5 -0
  386. data/db/cms_seeds/sample-site/files/default.jpg +0 -0
  387. data/db/cms_seeds/sample-site/layouts/default/content.html +16 -0
  388. data/db/cms_seeds/sample-site/layouts/default/nested/content.html +14 -0
  389. data/db/cms_seeds/sample-site/pages/index/child_a/content.html +7 -0
  390. data/db/cms_seeds/sample-site/pages/index/child_b/content.html +6 -0
  391. data/db/cms_seeds/sample-site/pages/index/cms logo.png +0 -0
  392. data/db/cms_seeds/sample-site/pages/index/content.es.html +6 -0
  393. data/db/cms_seeds/sample-site/pages/index/content.fr.html +6 -0
  394. data/db/cms_seeds/sample-site/pages/index/content.html +25 -0
  395. data/db/cms_seeds/sample-site/pages/index/footer.png +0 -0
  396. data/db/cms_seeds/sample-site/pages/index/header.png +0 -0
  397. data/db/cms_seeds/sample-site/snippets/default.html +8 -0
  398. data/db/migrate/00_create_active_storage_tables.rb +34 -0
  399. data/db/migrate/01_create_cms.rb +143 -0
  400. data/lib/generators/occams/cms/README +17 -0
  401. data/lib/generators/occams/cms/assets_generator.rb +18 -0
  402. data/lib/generators/occams/cms/cms_generator.rb +69 -0
  403. data/lib/generators/occams/cms/controllers_generator.rb +17 -0
  404. data/lib/generators/occams/cms/models_generator.rb +17 -0
  405. data/lib/generators/occams/cms/views_generator.rb +17 -0
  406. data/lib/generators/occams/scaffold/scaffold_generator.rb +80 -0
  407. data/lib/generators/occams/scaffold/templates/controller.rb.tt +62 -0
  408. data/lib/generators/occams/scaffold/templates/migration.rb.tt +11 -0
  409. data/lib/generators/occams/scaffold/templates/model.rb.tt +21 -0
  410. data/lib/generators/occams/scaffold/templates/tests/controller.rb.tt +115 -0
  411. data/lib/generators/occams/scaffold/templates/tests/fixture.yml.tt +4 -0
  412. data/lib/generators/occams/scaffold/templates/tests/model.rb.tt +26 -0
  413. data/lib/generators/occams/scaffold/templates/views/_form.haml.tt +7 -0
  414. data/lib/generators/occams/scaffold/templates/views/edit.haml.tt +5 -0
  415. data/lib/generators/occams/scaffold/templates/views/index.haml.tt +21 -0
  416. data/lib/generators/occams/scaffold/templates/views/new.haml.tt +5 -0
  417. data/lib/generators/occams/scaffold/templates/views/show.haml.tt +4 -0
  418. data/lib/occams/access_control/admin_authentication.rb +24 -0
  419. data/lib/occams/access_control/admin_authorization.rb +12 -0
  420. data/lib/occams/access_control/public_authentication.rb +12 -0
  421. data/lib/occams/access_control/public_authorization.rb +12 -0
  422. data/lib/occams/configuration.rb +140 -0
  423. data/lib/occams/content/block.rb +14 -0
  424. data/lib/occams/content/params_parser.rb +151 -0
  425. data/lib/occams/content/renderer.rb +149 -0
  426. data/lib/occams/content/tag.rb +50 -0
  427. data/lib/occams/content/tags/asset.rb +59 -0
  428. data/lib/occams/content/tags/checkbox.rb +29 -0
  429. data/lib/occams/content/tags/date.rb +21 -0
  430. data/lib/occams/content/tags/datetime.rb +44 -0
  431. data/lib/occams/content/tags/file.rb +72 -0
  432. data/lib/occams/content/tags/file_link.rb +63 -0
  433. data/lib/occams/content/tags/files.rb +43 -0
  434. data/lib/occams/content/tags/fragment.rb +66 -0
  435. data/lib/occams/content/tags/helper.rb +55 -0
  436. data/lib/occams/content/tags/markdown.rb +24 -0
  437. data/lib/occams/content/tags/mixins/file_content.rb +43 -0
  438. data/lib/occams/content/tags/number.rb +20 -0
  439. data/lib/occams/content/tags/page_file_link.rb +84 -0
  440. data/lib/occams/content/tags/partial.rb +49 -0
  441. data/lib/occams/content/tags/snippet.rb +38 -0
  442. data/lib/occams/content/tags/template.rb +44 -0
  443. data/lib/occams/content/tags/text.rb +20 -0
  444. data/lib/occams/content/tags/textarea.rb +20 -0
  445. data/lib/occams/content/tags/wysiwyg.rb +21 -0
  446. data/lib/occams/content.rb +31 -0
  447. data/lib/occams/engine.rb +31 -0
  448. data/lib/occams/error.rb +32 -0
  449. data/lib/occams/extensions/acts_as_tree.rb +120 -0
  450. data/lib/occams/extensions/has_revisions.rb +72 -0
  451. data/lib/occams/form_builder.rb +47 -0
  452. data/lib/occams/render_methods.rb +112 -0
  453. data/lib/occams/routes/cms.rb +18 -0
  454. data/lib/occams/routes/cms_admin.rb +58 -0
  455. data/lib/occams/routing.rb +12 -0
  456. data/lib/occams/seeds/file/exporter.rb +43 -0
  457. data/lib/occams/seeds/file/importer.rb +63 -0
  458. data/lib/occams/seeds/layout/exporter.rb +40 -0
  459. data/lib/occams/seeds/layout/importer.rb +62 -0
  460. data/lib/occams/seeds/page/exporter.rb +92 -0
  461. data/lib/occams/seeds/page/importer.rb +219 -0
  462. data/lib/occams/seeds/snippet/exporter.rb +34 -0
  463. data/lib/occams/seeds/snippet/importer.rb +51 -0
  464. data/lib/occams/seeds.rb +118 -0
  465. data/lib/occams/version.rb +7 -0
  466. data/lib/occams/view_hooks.rb +35 -0
  467. data/lib/occams.rb +60 -0
  468. data/lib/tasks/cms_seeds.rake +40 -0
  469. data/occams.gemspec +33 -0
  470. data/public/favicon.ico +0 -0
  471. metadata +666 -0
@@ -0,0 +1,262 @@
1
+ es:
2
+ activerecord:
3
+ models:
4
+ occams/cms/site: Sitio
5
+ occams/cms/layout: Plantilla
6
+ occams/cms/page: Página
7
+ occams/cms/snippet: Fragmento
8
+ occams/cms/file: File
9
+ occams/cms/translation: Traducción
10
+
11
+ attributes:
12
+ occams/cms/site:
13
+ identifier: Identificador
14
+ label: Nombre
15
+ hostname: Dirección
16
+ path: Ruta
17
+ locale: Lengua
18
+ occams/cms/layout:
19
+ identifier: Identifier
20
+ label: Nombre de Plantilla
21
+ app_layout: Plantilla Base
22
+ parent_id: Plantilla Padre
23
+ content: Contenido
24
+ css: Hoja de Estilo
25
+ js: Javascript
26
+ occams/cms/page:
27
+ label: Título
28
+ layout_id: Plantilla
29
+ slug: Ruta
30
+ full_path: Ruta completa
31
+ parent_id: Padre
32
+ target_page_id: Redirigir a
33
+ content: Contenido
34
+ is_published: Publicada
35
+ occams/cms/file:
36
+ label: Nombre
37
+ file: File
38
+ description: Description
39
+ occams/cms/snippet:
40
+ label: Nombre
41
+ identifier: Identifier
42
+ content: Contenido
43
+ occams/cms/translation:
44
+ locale: Lengua
45
+ label: Nombre
46
+ layout_id: Plantilla
47
+ is_published: Publicada
48
+
49
+ occams:
50
+ cms:
51
+ content:
52
+ site_not_found: Sitio no encontrado
53
+ layout_not_found: Diseño no encontrado
54
+ page_not_found: Página no encontrada
55
+
56
+ admin:
57
+ cms:
58
+ base:
59
+ site_not_found: Sitio no encontrado
60
+ seeds_enabled: CMS Fixtures habilitadas. Todos los cambios realizados serán descartados.
61
+ sites: Sitios
62
+ layouts: Diseños
63
+ pages: Páginas
64
+ snippets: Fragmentos
65
+ files: Archivos
66
+
67
+ sites:
68
+ created: Sitio creado
69
+ creation_failure: El sitio no ha podido ser creado
70
+ updated: Sitio actualizado
71
+ update_failure: El sitio no ha podido ser actualizado
72
+ deleted: Sitio eliminado
73
+ not_found: Sitio no encontrado
74
+
75
+ index:
76
+ title: Listado de Sitios
77
+ new_link: Crear nuevo Sitio
78
+ select: Selecciona el Sitio
79
+ edit: Editar
80
+ delete: Eliminar
81
+ are_you_sure: ¿Está seguro de que desea eliminar este sitio?
82
+ new:
83
+ title: Creando Sitio
84
+ edit:
85
+ title: Editando Sitio
86
+ form:
87
+ create: Crear Sitio
88
+ cancel: Cancelar
89
+ update: Actualizar Sitio
90
+
91
+ layouts:
92
+ created: Diseño Creado
93
+ creation_failure: El diseño NO ha podido ser Creado
94
+ updated: Diseño Actualizado"
95
+ update_failure: El diseño NO ha podido ser Actualizado
96
+ deleted: Diseñó Eliminado
97
+ not_found: Diseño no encontrado
98
+
99
+ index:
100
+ title: Diseños
101
+ new_link: Crear Nuevo Diseño
102
+ index_branch:
103
+ add_child_layout: Añadir diseño hijo
104
+ edit: Editar
105
+ delete: Eliminar
106
+ are_you_sure: ¿Está seguro?
107
+ new:
108
+ title: Nuevo Diseño
109
+ edit:
110
+ title: Editando Diseño
111
+ form:
112
+ select_parent_layout: Seleccionar diseño padre
113
+ select_app_layout: Seleccionar diseño (App)
114
+ create: Crear Diseño
115
+ cancel: Cancelar
116
+ update: Actualizar Diseño
117
+
118
+ pages:
119
+ created: Página creada
120
+ creation_failure: La página no ha podido ser creada
121
+ updated: Página actualizada
122
+ update_failure: La página no ha podido ser actualizada
123
+ deleted: Página eliminada
124
+ not_found: Página no encontrada
125
+ layout_not_found: No se ha encontrado una plantilla. Cree una primero.
126
+
127
+ index:
128
+ title: Páginas
129
+ new_link: Crear Nueva Página
130
+ index_branch:
131
+ toggle: Cambiar
132
+ add_child_page: Añadir página hija
133
+ edit: Editar
134
+ delete: Eliminar
135
+ are_you_sure: ¿Está seguro?
136
+ new:
137
+ title: Nueva Página
138
+ edit:
139
+ title: Editando Página
140
+ form:
141
+ select_target_page: No Redirigir
142
+ preview: Vista Previa
143
+ create: Crear Página
144
+ cancel: Cancelar
145
+ update: Actualizar Página
146
+ choose_link: Seleccione una página...
147
+
148
+ fragments:
149
+ form_fragments:
150
+ no_tags: |-
151
+ La plantilla no tiene etiquetas de contenido definidas.<br/>
152
+ Edite el contenido para incluir alguna etiqueta de página o campo, por ejemplo: <code>{{cms:wysiwyg content}}</code>
153
+
154
+ translations:
155
+ created: Traducción creada
156
+ creation_failure: La traducción no ha podido ser creada
157
+ updated: Traducción actualizada
158
+ update_failure: La traducción no ha podido ser actualizada
159
+ deleted: Traducción eliminada
160
+ not_found: Traducción no encontrada
161
+
162
+ new:
163
+ title: Nueva Traducción
164
+ edit:
165
+ title: Editando Traducción
166
+ form:
167
+ preview: Vista Previa
168
+ create: Crear
169
+ update: Actualizar
170
+ cancel: Regresar a la Página
171
+ sidebar:
172
+ new: Nueva Traducción
173
+ confirm: ¿Está seguro?
174
+
175
+ snippets:
176
+ created: Fragmento creado
177
+ creation_failure: El fragmento no ha podido ser creado
178
+ updated: Fragmento actualizado
179
+ update_failure: El fragmento no ha podido ser actualizado
180
+ deleted: Fragmento eliminado
181
+ not_found: Fragmento no encontrado
182
+
183
+ index:
184
+ title: Fragmentos
185
+ new_link: Crear nuevo Fragmento
186
+ edit: Editar
187
+ delete: Eliminar
188
+ are_you_sure: ¿Está seguro?
189
+ new:
190
+ title: Nuevo Fragmento
191
+ edit:
192
+ title: Editando Fragmento
193
+ form:
194
+ create: Crear Fragmento
195
+ cancel: Cancelar
196
+ update: Actualizar Fragmento
197
+
198
+ revisions:
199
+ reverted: Contenido revertido
200
+ record_not_found: Registro no encontrado
201
+ not_found: Revisión no encontrada
202
+
203
+ show:
204
+ title: Revisiones de
205
+ revision: Revisión
206
+ update: Actualizar a esta versión
207
+ cancel: Cancelar
208
+ content: Contenido
209
+ changes: Cambios
210
+ previous: Anterior
211
+ current: Actual
212
+ sidebar:
213
+ revision:
214
+ zero: Sin Revisiones
215
+ one: '%{count} Revisión'
216
+ few: '%{count} Revisiones'
217
+ many: '%{count} Revisiones'
218
+ other: '%{count} Revisiones'
219
+
220
+ files:
221
+ created: Archivos subidos
222
+ creation_failure: Fallo la subida del archivo
223
+ updated: Archivo actualizado
224
+ update_failure: Fallo la actualización del archivo
225
+ deleted: Archivo borrado
226
+ not_found: Archivo no encontrado
227
+
228
+ index:
229
+ title: Archivos
230
+ new_link: Subir Nuevo Archivo
231
+ button: Cargar Archivos
232
+ new:
233
+ title: Nuevo Archivo
234
+ edit:
235
+ title: Editar Archivo
236
+ form:
237
+ current_file: Archivo Actual
238
+ create: Subir Archivo
239
+ cancel: Cancelar
240
+ update: Actualizar Archivo
241
+ delete: Borrar
242
+ are_you_sure: ¿Estás seguro?
243
+ page_form:
244
+ are_you_sure: ¿Estás seguro?
245
+ file:
246
+ edit: Editar
247
+ delete: Borrar
248
+ are_you_sure: ¿Estás seguro?
249
+
250
+ categories:
251
+ index:
252
+ edit: Editar
253
+ done: Listo
254
+ all: Todas las Categorias
255
+ add: Agregar
256
+ add_placeholder: Añadir Categoría
257
+ show:
258
+ are_you_sure: ¿Estás seguro?
259
+ edit:
260
+ save: Guardar
261
+ form:
262
+ label: Categorias
@@ -0,0 +1,262 @@
1
+ fi:
2
+ activerecord:
3
+ models:
4
+ occams/cms/site: Sivusto
5
+ occams/cms/layout: Ulkoasu
6
+ occams/cms/page: Sivu
7
+ occams/cms/snippet: Koodinpätkä
8
+ occams/cms/file: Tiedosto
9
+ occams/cms/translation: Käännös
10
+
11
+ attributes:
12
+ occams/cms/site:
13
+ identifier: Tunniste
14
+ label: Merkintä
15
+ hostname: Isäntänimi
16
+ path: Polku
17
+ locale: Kieli
18
+ occams/cms/layout:
19
+ identifier: Tunniste
20
+ label: Ulkoasun nimi
21
+ app_layout: Sovelluksen ulkoasu
22
+ parent_id: Edeltäjän ulkoasu
23
+ content: Sisältö
24
+ css: Stylesheet
25
+ js: Javascript
26
+ occams/cms/page:
27
+ label: Merkintä
28
+ layout_id: Ulkoasu
29
+ slug: URL-osa
30
+ full_path: Koko polku
31
+ parent_id: Edeltäjä
32
+ target_page_id: Ohjaa sivulle
33
+ content: Sisältö
34
+ is_published: Julkaistu
35
+ occams/cms/file:
36
+ label: Merkintä
37
+ file: Tiedosto
38
+ description: Kuvaus
39
+ occams/cms/snippet:
40
+ label: Merkintä
41
+ identifier: Tunniste
42
+ content: Sisältö
43
+ occams/cms/translation:
44
+ locale: Kieli
45
+ label: Merkintä
46
+ layout_id: Ulkoasu
47
+ is_published: Julkaistu
48
+
49
+ occams:
50
+ cms:
51
+ content:
52
+ site_not_found: Sivustoa ei löydy
53
+ layout_not_found: Ulkoasua ei löydy
54
+ page_not_found: Sivua ei löydy
55
+
56
+ admin:
57
+ cms:
58
+ base:
59
+ site_not_found: Sivustoa ei löydy
60
+ seeds_enabled: CMS Seeds on kytketty päälle. Kaikki tehdyt muutokset hävitetään.
61
+ sites: Sivustot
62
+ layouts: Ulkoasut
63
+ pages: Sivut
64
+ snippets: Koodinpätkät
65
+ files: Tiedostot
66
+
67
+ sites:
68
+ created: Sivusto on luotu
69
+ creation_failure: Sivustoa ei voitu luoda
70
+ updated: Sivusto on päivitetty
71
+ update_failure: Sivustoa ei voitu päivittää
72
+ deleted: Sivusto on poistettu
73
+ not_found: Sivustoa ei löydy
74
+
75
+ index:
76
+ title: Sivustot
77
+ new_link: Luo uusi sivusto
78
+ select: Sivuston valinta
79
+ edit: Muokkaa
80
+ delete: Poista
81
+ are_you_sure: Oletko varma, että haluat poistaa tämän sivuston?
82
+ new:
83
+ title: Uusi sivusto
84
+ edit:
85
+ title: Sivuston muokkaus
86
+ form:
87
+ create: Luo sivusto
88
+ cancel: Peru
89
+ update: Päivitä sivusto
90
+
91
+ layouts:
92
+ created: Ulkoasu on luotu
93
+ creation_failure: Ulkoasua ei voitu luoda
94
+ updated: Ulkoasu on päivitetty
95
+ update_failure: Ulkoasua ei voitu päivittää
96
+ deleted: Ulkoasu on poistettu
97
+ not_found: Ulkoasua ei löydy
98
+
99
+ index:
100
+ title: Ulkoasut
101
+ new_link: Luo uusi ulkoasu
102
+ index_branch:
103
+ add_child_layout: Lisää periytyvä ulkoasu
104
+ edit: Muokkaa
105
+ delete: Poista
106
+ are_you_sure: Oletko varma?
107
+ new:
108
+ title: Uusi ulkoasu
109
+ edit:
110
+ title: Ulkoasun muokkaus
111
+ form:
112
+ select_parent_layout: Valitse edeltävä ulkoasu
113
+ select_app_layout: Valitse sovelluksen ulkoasu
114
+ create: Luo ulkoasu
115
+ cancel: Peru
116
+ update: Päivitä ulkoasu
117
+
118
+ pages:
119
+ created: Sivu on luotu
120
+ creation_failure: Sivua ei voitu luoda
121
+ updated: Sivu on päivitetty
122
+ update_failure: Sivua ei voitu päivittää
123
+ deleted: Sivu on poistettu
124
+ not_found: Sivua ei löydy
125
+ layout_not_found: Yhtään ulkoasua ei löydy. Ole hyvä ja luo sellainen.
126
+
127
+ index:
128
+ title: Sivut
129
+ new_link: Luo uusi sivu
130
+ index_branch:
131
+ toggle: Valinta
132
+ add_child_page: Lisää periytyvä sivu
133
+ edit: Muokkaa
134
+ delete: Poista
135
+ are_you_sure: Oletko varma?
136
+ new:
137
+ title: Uusi sivu
138
+ edit:
139
+ title: Sivun muokkaus
140
+ form:
141
+ select_target_page: Ei uudelleenohjausta
142
+ preview: Esikatselu
143
+ create: Luo sivu
144
+ cancel: Peru
145
+ update: Päivitä sivu
146
+ choose_link: Valitse sivu...
147
+
148
+ fragments:
149
+ form_fragments:
150
+ no_tags: |-
151
+ Ulkoasulla ei ole määriteltyjä tageja sisällölle.<br/>
152
+ Muokkaa ulkoasun sisältöä niin, että se sisältää koodileikkeen tagin. Esimerkiksi: <code>{{cms:wysiwyg content}}</code>
153
+
154
+ translations:
155
+ created: Käännös on luotu
156
+ creation_failure: Käännöstä ei voitu luoda
157
+ updated: Käännös on päivitetty
158
+ update_failure: Käännöstä ei voitu päivittää
159
+ deleted: Käännös on poistettu
160
+ not_found: Käännöstä ei löydy
161
+
162
+ new:
163
+ title: Uusi käännös
164
+ edit:
165
+ title: Käännöksen muokkaus
166
+ form:
167
+ preview: Esikatselu
168
+ create: Luo käännös
169
+ update: Päivitä käännös
170
+ cancel: Palaa sivulle
171
+ sidebar:
172
+ new: Uusi käännös
173
+ confirm: Oletko varma?
174
+
175
+ snippets:
176
+ created: Koodileike on luotu
177
+ creation_failure: Koodileikettä ei voitu luoda
178
+ updated: Koodileike on päivitetty
179
+ update_failure: Koodileikettä ei voitu päivittää
180
+ deleted: Koodileike on poistettu
181
+ not_found: Koodileikettä ei löydy
182
+
183
+ index:
184
+ title: Koodileikkeet
185
+ new_link: Luo uusi koodileike
186
+ edit: Muokkaa
187
+ delete: Poista
188
+ are_you_sure: Oletko varma?
189
+ new:
190
+ title: Uusi koodileike
191
+ edit:
192
+ title: Koodileikkeen muokkaaminen
193
+ form:
194
+ create: Luo koodileike
195
+ cancel: Peru
196
+ update: Päivitä koodileike
197
+
198
+ revisions:
199
+ reverted: Aiempi sisältö on palautettu
200
+ record_not_found: Tietuetta ei löydy
201
+ not_found: Versiota ei löydy
202
+
203
+ show:
204
+ title: Versiot kohteelle
205
+ revision: Versio
206
+ update: Päivitä tähän versioon
207
+ cancel: Peru
208
+ content: Sisältö
209
+ changes: Muokkaukset
210
+ previous: Edellinen
211
+ current: Nykyinen
212
+ sidebar:
213
+ revision:
214
+ zero: Ei versiohistoriaa
215
+ one: '%{count} aiempi versio'
216
+ few: '%{count} aiempaa versiota'
217
+ many: '%{count} aiempaa versiota'
218
+ other: '%{count} versiota'
219
+
220
+ files:
221
+ created: Tiedostot on ladattu onnistuneesti
222
+ creation_failure: Tiedostojen lataaminen epäonnistui
223
+ updated: Tiedosto on päivitetty
224
+ update_failure: Tiedoston päivittäminen epäonnistui
225
+ deleted: Tiedosto on poistettu
226
+ not_found: Tiedostoa ei löydy
227
+
228
+ index:
229
+ title: Tiedostot
230
+ new_link: Lataa uusi tiedosto
231
+ button: Lataa tiedostoja
232
+ new:
233
+ title: Uusi tiedosto
234
+ edit:
235
+ title: Tiedoston muokkaus
236
+ form:
237
+ current_file: Nykyinen tiedosto
238
+ create: Lataa tiedosto
239
+ cancel: Peru
240
+ update: Päivitä tiedosto
241
+ delete: Poista tiedosto
242
+ are_you_sure: Oletko varma?
243
+ page_form:
244
+ are_you_sure: Oletko varma?
245
+ file:
246
+ edit: Muokkaa
247
+ delete: Poista
248
+ are_you_sure: Oletko varma?
249
+
250
+ categories:
251
+ index:
252
+ edit: Muokkaa
253
+ done: Valmis
254
+ all: Kaikki luokat
255
+ add: Lisää
256
+ add_placeholder: Lisää luokka
257
+ show:
258
+ are_you_sure: Oletko varma?
259
+ edit:
260
+ save: Tallenna
261
+ form:
262
+ label: Luokat