porthos 3.0.0.beta

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 (388) hide show
  1. data/Gemfile +6 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +26 -0
  4. data/Rakefile +28 -0
  5. data/app/assets/images/Jcrop.gif +0 -0
  6. data/app/assets/images/button_grey_bg.png +0 -0
  7. data/app/assets/images/icons/avatar.png +0 -0
  8. data/app/assets/images/icons/filetypes/ai.png +0 -0
  9. data/app/assets/images/icons/filetypes/default.png +0 -0
  10. data/app/assets/images/icons/filetypes/doc.png +0 -0
  11. data/app/assets/images/icons/filetypes/eps.png +0 -0
  12. data/app/assets/images/icons/filetypes/mp3.png +0 -0
  13. data/app/assets/images/icons/filetypes/pdf.png +0 -0
  14. data/app/assets/images/icons/filetypes/psd.png +0 -0
  15. data/app/assets/images/icons/filetypes/swf.png +0 -0
  16. data/app/assets/images/icons/filetypes/wav.png +0 -0
  17. data/app/assets/images/icons/filetypes/zip.png +0 -0
  18. data/app/assets/images/layout2_bg_shadow.png +0 -0
  19. data/app/assets/images/layout3_bg_shadow.png +0 -0
  20. data/app/assets/images/ui_new.png +0 -0
  21. data/app/assets/images/wymeditor/icons.png +0 -0
  22. data/app/assets/javascripts/admin.js +7 -0
  23. data/app/assets/javascripts/admin/assets.js +147 -0
  24. data/app/assets/javascripts/admin/editor.js +2 -0
  25. data/app/assets/javascripts/admin/helpers.js +169 -0
  26. data/app/assets/javascripts/admin/items.js +267 -0
  27. data/app/assets/javascripts/admin/nodes.js +73 -0
  28. data/app/assets/javascripts/admin/settings.js +1 -0
  29. data/app/assets/javascripts/admin_extension.js +0 -0
  30. data/app/assets/javascripts/lib/ckeditor/LICENSE.html +1334 -0
  31. data/app/assets/javascripts/lib/ckeditor/adapters/jquery.js +6 -0
  32. data/app/assets/javascripts/lib/ckeditor/ckeditor.js +141 -0
  33. data/app/assets/javascripts/lib/ckeditor/ckeditor_basic.js +8 -0
  34. data/app/assets/javascripts/lib/ckeditor/ckeditor_basic_source.js +20 -0
  35. data/app/assets/javascripts/lib/ckeditor/config.js +26 -0
  36. data/app/assets/javascripts/lib/ckeditor/contents.css +50 -0
  37. data/app/assets/javascripts/lib/ckeditor/images/spacer.gif +0 -0
  38. data/app/assets/javascripts/lib/ckeditor/lang/_languages.js +6 -0
  39. data/app/assets/javascripts/lib/ckeditor/lang/_translationstatus.txt +60 -0
  40. data/app/assets/javascripts/lib/ckeditor/lang/en.js +6 -0
  41. data/app/assets/javascripts/lib/ckeditor/lang/sv.js +6 -0
  42. data/app/assets/javascripts/lib/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +7 -0
  43. data/app/assets/javascripts/lib/ckeditor/plugins/a11yhelp/lang/en.js +6 -0
  44. data/app/assets/javascripts/lib/ckeditor/plugins/a11yhelp/lang/he.js +6 -0
  45. data/app/assets/javascripts/lib/ckeditor/plugins/about/dialogs/about.js +6 -0
  46. data/app/assets/javascripts/lib/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  47. data/app/assets/javascripts/lib/ckeditor/plugins/adobeair/plugin.js +6 -0
  48. data/app/assets/javascripts/lib/ckeditor/plugins/autogrow/plugin.js +6 -0
  49. data/app/assets/javascripts/lib/ckeditor/plugins/clipboard/dialogs/paste.js +7 -0
  50. data/app/assets/javascripts/lib/ckeditor/plugins/colordialog/dialogs/colordialog.js +7 -0
  51. data/app/assets/javascripts/lib/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  52. data/app/assets/javascripts/lib/ckeditor/plugins/div/dialogs/div.js +8 -0
  53. data/app/assets/javascripts/lib/ckeditor/plugins/find/dialogs/find.js +9 -0
  54. data/app/assets/javascripts/lib/ckeditor/plugins/flash/dialogs/flash.js +9 -0
  55. data/app/assets/javascripts/lib/ckeditor/plugins/flash/images/placeholder.png +0 -0
  56. data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/button.js +6 -0
  57. data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/checkbox.js +6 -0
  58. data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/form.js +6 -0
  59. data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/hiddenfield.js +6 -0
  60. data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/radio.js +6 -0
  61. data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/select.js +9 -0
  62. data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/textarea.js +6 -0
  63. data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/textfield.js +6 -0
  64. data/app/assets/javascripts/lib/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  65. data/app/assets/javascripts/lib/ckeditor/plugins/iframe/dialogs/iframe.js +7 -0
  66. data/app/assets/javascripts/lib/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  67. data/app/assets/javascripts/lib/ckeditor/plugins/iframedialog/plugin.js +6 -0
  68. data/app/assets/javascripts/lib/ckeditor/plugins/image/dialogs/image.js +13 -0
  69. data/app/assets/javascripts/lib/ckeditor/plugins/link/dialogs/anchor.js +6 -0
  70. data/app/assets/javascripts/lib/ckeditor/plugins/link/dialogs/link.js +11 -0
  71. data/app/assets/javascripts/lib/ckeditor/plugins/link/images/anchor.gif +0 -0
  72. data/app/assets/javascripts/lib/ckeditor/plugins/liststyle/dialogs/liststyle.js +6 -0
  73. data/app/assets/javascripts/lib/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  74. data/app/assets/javascripts/lib/ckeditor/plugins/pastefromword/filter/default.js +10 -0
  75. data/app/assets/javascripts/lib/ckeditor/plugins/pastetext/dialogs/pastetext.js +6 -0
  76. data/app/assets/javascripts/lib/ckeditor/plugins/placeholder/dialogs/placeholder.js +6 -0
  77. data/app/assets/javascripts/lib/ckeditor/plugins/placeholder/lang/en.js +6 -0
  78. data/app/assets/javascripts/lib/ckeditor/plugins/placeholder/placeholder.gif +0 -0
  79. data/app/assets/javascripts/lib/ckeditor/plugins/placeholder/plugin.js +6 -0
  80. data/app/assets/javascripts/lib/ckeditor/plugins/scayt/dialogs/options.js +8 -0
  81. data/app/assets/javascripts/lib/ckeditor/plugins/scayt/dialogs/toolbar.css +6 -0
  82. data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  83. data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  84. data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  85. data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  86. data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  87. data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  88. data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  89. data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  90. data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  91. data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  92. data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  93. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/dialogs/smiley.js +7 -0
  94. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  95. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  96. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  97. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  98. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  99. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  100. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  101. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  102. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/heart.gif +0 -0
  103. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  104. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  105. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  106. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  107. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  108. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  109. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  110. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  111. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  112. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  113. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  114. data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  115. data/app/assets/javascripts/lib/ckeditor/plugins/specialchar/dialogs/specialchar.js +7 -0
  116. data/app/assets/javascripts/lib/ckeditor/plugins/specialchar/lang/en.js +6 -0
  117. data/app/assets/javascripts/lib/ckeditor/plugins/styles/styles/default.js +6 -0
  118. data/app/assets/javascripts/lib/ckeditor/plugins/table/dialogs/table.js +9 -0
  119. data/app/assets/javascripts/lib/ckeditor/plugins/tableresize/plugin.js +7 -0
  120. data/app/assets/javascripts/lib/ckeditor/plugins/tabletools/dialogs/tableCell.js +8 -0
  121. data/app/assets/javascripts/lib/ckeditor/plugins/templates/dialogs/templates.js +7 -0
  122. data/app/assets/javascripts/lib/ckeditor/plugins/templates/templates/default.js +6 -0
  123. data/app/assets/javascripts/lib/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  124. data/app/assets/javascripts/lib/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  125. data/app/assets/javascripts/lib/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  126. data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/dialogs/uicolor.js +7 -0
  127. data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/lang/en.js +6 -0
  128. data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/lang/he.js +6 -0
  129. data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/plugin.js +6 -0
  130. data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  131. data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  132. data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  133. data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  134. data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  135. data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/yui/assets/yui.css +6 -0
  136. data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/yui/yui.js +76 -0
  137. data/app/assets/javascripts/lib/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
  138. data/app/assets/javascripts/lib/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  139. data/app/assets/javascripts/lib/ckeditor/plugins/wsc/dialogs/wsc.css +6 -0
  140. data/app/assets/javascripts/lib/ckeditor/plugins/wsc/dialogs/wsc.js +7 -0
  141. data/app/assets/javascripts/lib/ckeditor/skins/kama/dialog.css +515 -0
  142. data/app/assets/javascripts/lib/ckeditor/skins/kama/editor.css +1115 -0
  143. data/app/assets/javascripts/lib/ckeditor/skins/kama/icons.png +0 -0
  144. data/app/assets/javascripts/lib/ckeditor/skins/kama/icons_rtl.png +0 -0
  145. data/app/assets/javascripts/lib/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  146. data/app/assets/javascripts/lib/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  147. data/app/assets/javascripts/lib/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  148. data/app/assets/javascripts/lib/ckeditor/skins/kama/images/mini.gif +0 -0
  149. data/app/assets/javascripts/lib/ckeditor/skins/kama/images/noimage.png +0 -0
  150. data/app/assets/javascripts/lib/ckeditor/skins/kama/images/sprites.png +0 -0
  151. data/app/assets/javascripts/lib/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  152. data/app/assets/javascripts/lib/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  153. data/app/assets/javascripts/lib/ckeditor/skins/kama/skin.js +7 -0
  154. data/app/assets/javascripts/lib/ckeditor/skins/kama/templates.css +65 -0
  155. data/app/assets/javascripts/lib/ckeditor/themes/default/theme.js +8 -0
  156. data/app/assets/javascripts/lib/jquery-1.6.1.min.js +18 -0
  157. data/app/assets/javascripts/lib/jquery-ui-1.8.13.min.js +407 -0
  158. data/app/assets/javascripts/lib/jquery.jcrop.min.js +246 -0
  159. data/app/assets/javascripts/lib/jquery.smart_autocomplete.js +519 -0
  160. data/app/assets/javascripts/lib/underscore.min.js +26 -0
  161. data/app/assets/javascripts/lib/underscore.string.min.js +8 -0
  162. data/app/assets/javascripts/rails.js +148 -0
  163. data/app/assets/stylesheets/admin.css +9 -0
  164. data/app/assets/stylesheets/admin_extensions.css.scss +0 -0
  165. data/app/assets/stylesheets/clearing.css +28 -0
  166. data/app/assets/stylesheets/elements.css.erb +335 -0
  167. data/app/assets/stylesheets/forms.css.scss +118 -0
  168. data/app/assets/stylesheets/jquery.jcrop.css +28 -0
  169. data/app/assets/stylesheets/layout.css.erb +269 -0
  170. data/app/assets/stylesheets/views/assets.css.erb +112 -0
  171. data/app/assets/stylesheets/views/nodes.css +47 -0
  172. data/app/assets/stylesheets/views/pages.css.scss +136 -0
  173. data/app/assets/stylesheets/views/sessions.css +22 -0
  174. data/app/assets/stylesheets/views/tags.css +15 -0
  175. data/app/assets/stylesheets/views/users.css +16 -0
  176. data/app/controllers/admin/assets_controller.rb +132 -0
  177. data/app/controllers/admin/content_templates_controller.rb +56 -0
  178. data/app/controllers/admin/data_controller.rb +93 -0
  179. data/app/controllers/admin/datum_templates_controller.rb +59 -0
  180. data/app/controllers/admin/items_controller.rb +114 -0
  181. data/app/controllers/admin/link_lists_controller.rb +41 -0
  182. data/app/controllers/admin/links_controller.rb +65 -0
  183. data/app/controllers/admin/nodes_controller.rb +114 -0
  184. data/app/controllers/admin/page_templates_controller.rb +56 -0
  185. data/app/controllers/admin/redirects_controller.rb +58 -0
  186. data/app/controllers/admin/sessions_controller.rb +27 -0
  187. data/app/controllers/admin/site_settings_controller.rb +58 -0
  188. data/app/controllers/admin/tags_controller.rb +71 -0
  189. data/app/controllers/admin/users_controller.rb +55 -0
  190. data/app/controllers/application_controller.rb +8 -0
  191. data/app/controllers/pages_controller.rb +115 -0
  192. data/app/helpers/data_helper.rb +11 -0
  193. data/app/helpers/link_lists_helper.rb +16 -0
  194. data/app/models/asset.rb +189 -0
  195. data/app/models/custom_page.rb +33 -0
  196. data/app/models/data/asset_association.rb +73 -0
  197. data/app/models/data/datum_collection.rb +46 -0
  198. data/app/models/data/field.rb +26 -0
  199. data/app/models/data/field_set.rb +37 -0
  200. data/app/models/data/link_field.rb +7 -0
  201. data/app/models/data/page_association.rb +26 -0
  202. data/app/models/data/string_field.rb +13 -0
  203. data/app/models/datum.rb +22 -0
  204. data/app/models/datum_template.rb +143 -0
  205. data/app/models/datum_templates/asset_association_template.rb +3 -0
  206. data/app/models/datum_templates/association_field_template.rb +2 -0
  207. data/app/models/datum_templates/datum_collection_template.rb +15 -0
  208. data/app/models/datum_templates/field_set_template.rb +5 -0
  209. data/app/models/datum_templates/field_template.rb +6 -0
  210. data/app/models/datum_templates/link_field_template.rb +2 -0
  211. data/app/models/datum_templates/page_association_template.rb +4 -0
  212. data/app/models/datum_templates/string_field_template.rb +4 -0
  213. data/app/models/file_template.rb +105 -0
  214. data/app/models/file_templates/field_set_file_template.rb +7 -0
  215. data/app/models/file_templates/page_file_template.rb +14 -0
  216. data/app/models/image_asset.rb +102 -0
  217. data/app/models/item.rb +115 -0
  218. data/app/models/link.rb +46 -0
  219. data/app/models/link_list.rb +30 -0
  220. data/app/models/node.rb +106 -0
  221. data/app/models/observers/node_observer.rb +9 -0
  222. data/app/models/page.rb +167 -0
  223. data/app/models/redirect.rb +16 -0
  224. data/app/models/section.rb +30 -0
  225. data/app/models/setting.rb +4 -0
  226. data/app/models/site_setting.rb +11 -0
  227. data/app/models/template.rb +25 -0
  228. data/app/models/templates/content_template.rb +101 -0
  229. data/app/models/templates/page_template.rb +59 -0
  230. data/app/models/user.rb +67 -0
  231. data/app/views/admin/assets/_create_callback_form.html.erb +11 -0
  232. data/app/views/admin/assets/_sub_nav.html.erb +45 -0
  233. data/app/views/admin/assets/create.html.erb +10 -0
  234. data/app/views/admin/assets/edit.html.erb +91 -0
  235. data/app/views/admin/assets/edit_cropping.html.erb +44 -0
  236. data/app/views/admin/assets/incomplete.html.erb +39 -0
  237. data/app/views/admin/assets/index.html.erb +76 -0
  238. data/app/views/admin/assets/new.html.erb +20 -0
  239. data/app/views/admin/assets/search.html.erb +60 -0
  240. data/app/views/admin/assets/show.html.erb +45 -0
  241. data/app/views/admin/content_templates/_form.html.erb +18 -0
  242. data/app/views/admin/content_templates/edit.html.erb +14 -0
  243. data/app/views/admin/content_templates/index.html.erb +36 -0
  244. data/app/views/admin/content_templates/new.html.erb +14 -0
  245. data/app/views/admin/content_templates/show.html.erb +57 -0
  246. data/app/views/admin/data/_asset_association.html.erb +59 -0
  247. data/app/views/admin/data/_asset_association_form.html.erb +21 -0
  248. data/app/views/admin/data/_field.html.erb +7 -0
  249. data/app/views/admin/data/_field_form.html.erb +27 -0
  250. data/app/views/admin/data/_field_set.html.erb +7 -0
  251. data/app/views/admin/data/_field_set_form.html.erb +14 -0
  252. data/app/views/admin/data/_form.html.erb +14 -0
  253. data/app/views/admin/data/_link_field.html.erb +9 -0
  254. data/app/views/admin/data/_link_field_form.html.erb +22 -0
  255. data/app/views/admin/data/_page_association.html.erb +3 -0
  256. data/app/views/admin/data/_page_association_form.html.erb +8 -0
  257. data/app/views/admin/data/edit.html.erb +20 -0
  258. data/app/views/admin/data/index.html.erb +61 -0
  259. data/app/views/admin/data/new.html.erb +20 -0
  260. data/app/views/admin/datum_templates/_asset_association_template_form.html.erb +2 -0
  261. data/app/views/admin/datum_templates/_datum_collection_template_form.html.erb +23 -0
  262. data/app/views/admin/datum_templates/_field_set_template_form.html.erb +7 -0
  263. data/app/views/admin/datum_templates/_field_template_form.html.erb +1 -0
  264. data/app/views/admin/datum_templates/_form.html.erb +25 -0
  265. data/app/views/admin/datum_templates/_page_association_template_form.html.erb +2 -0
  266. data/app/views/admin/datum_templates/_string_field_template_form.html.erb +12 -0
  267. data/app/views/admin/datum_templates/edit.html.erb +14 -0
  268. data/app/views/admin/datum_templates/new.html.erb +14 -0
  269. data/app/views/admin/items/_asset_association.html.erb +6 -0
  270. data/app/views/admin/items/_details.html.erb +95 -0
  271. data/app/views/admin/items/_form.html.erb +20 -0
  272. data/app/views/admin/items/_page_form.html.erb +27 -0
  273. data/app/views/admin/items/_row.html.erb +47 -0
  274. data/app/views/admin/items/_sub_nav.html.erb +60 -0
  275. data/app/views/admin/items/index.html.erb +75 -0
  276. data/app/views/admin/items/new.html.erb +5 -0
  277. data/app/views/admin/items/page.html.erb +155 -0
  278. data/app/views/admin/items/search.html.erb +26 -0
  279. data/app/views/admin/items/section.html.erb +152 -0
  280. data/app/views/admin/link_lists/_form.html.erb +8 -0
  281. data/app/views/admin/link_lists/edit.html.erb +11 -0
  282. data/app/views/admin/link_lists/show.html.erb +45 -0
  283. data/app/views/admin/links/_form.html.erb +14 -0
  284. data/app/views/admin/links/edit.html.erb +11 -0
  285. data/app/views/admin/links/new.html.erb +11 -0
  286. data/app/views/admin/nodes/_form.html.erb +88 -0
  287. data/app/views/admin/nodes/_list_of_nodes.html.erb +11 -0
  288. data/app/views/admin/nodes/_node.html.erb +23 -0
  289. data/app/views/admin/nodes/_nodes_tree.html.erb +7 -0
  290. data/app/views/admin/nodes/_place_node.html.erb +11 -0
  291. data/app/views/admin/nodes/_sub_nav.html.erb +12 -0
  292. data/app/views/admin/nodes/edit.html.erb +10 -0
  293. data/app/views/admin/nodes/index.html.erb +26 -0
  294. data/app/views/admin/nodes/new.html.erb +10 -0
  295. data/app/views/admin/nodes/place.html.erb +37 -0
  296. data/app/views/admin/page_templates/_form.html.erb +51 -0
  297. data/app/views/admin/page_templates/edit.html.erb +14 -0
  298. data/app/views/admin/page_templates/index.html.erb +42 -0
  299. data/app/views/admin/page_templates/new.html.erb +14 -0
  300. data/app/views/admin/page_templates/pages.html.erb +28 -0
  301. data/app/views/admin/page_templates/show.html.erb +64 -0
  302. data/app/views/admin/redirects/edit.html.erb +25 -0
  303. data/app/views/admin/redirects/index.html.erb +38 -0
  304. data/app/views/admin/redirects/new.html.erb +25 -0
  305. data/app/views/admin/sessions/new.html.erb +17 -0
  306. data/app/views/admin/sessions/token.js.erb +1 -0
  307. data/app/views/admin/shared/_error_messages.html.erb +7 -0
  308. data/app/views/admin/shared/_settings_sub_nav.html.erb +8 -0
  309. data/app/views/admin/site_settings/_form.html.erb +5 -0
  310. data/app/views/admin/site_settings/edit.html.erb +20 -0
  311. data/app/views/admin/site_settings/index.html.erb +45 -0
  312. data/app/views/admin/site_settings/new.html.erb +20 -0
  313. data/app/views/admin/taggables/_asset.html.erb +10 -0
  314. data/app/views/admin/taggables/_page.html.erb +9 -0
  315. data/app/views/admin/taggables/_tag_collection.html.erb +2 -0
  316. data/app/views/admin/tags/edit.html.erb +18 -0
  317. data/app/views/admin/tags/index.html.erb +34 -0
  318. data/app/views/admin/tags/new.html.erb +18 -0
  319. data/app/views/admin/tags/search.js.erb +5 -0
  320. data/app/views/admin/tags/show.html.erb +29 -0
  321. data/app/views/admin/users/_form.html.erb +22 -0
  322. data/app/views/admin/users/_sub_nav.html.erb +12 -0
  323. data/app/views/admin/users/_user.html.erb +23 -0
  324. data/app/views/admin/users/edit.html.erb +18 -0
  325. data/app/views/admin/users/index.html.erb +22 -0
  326. data/app/views/admin/users/new.html.erb +15 -0
  327. data/app/views/admin/users/search.html.erb +19 -0
  328. data/app/views/field_set_templates/default/_show.html.erb +6 -0
  329. data/app/views/layouts/admin/_account_nav.html.erb +7 -0
  330. data/app/views/layouts/admin/_main_nav.html.erb +8 -0
  331. data/app/views/layouts/admin/application.html.erb +26 -0
  332. data/app/views/layouts/admin/sessions.html.erb +18 -0
  333. data/app/views/pages/_preview.html.erb +13 -0
  334. data/app/views/pages/contents/content_images/_collection.html.erb +26 -0
  335. data/app/views/pages/contents/content_images/_content_image.html.erb +19 -0
  336. data/app/views/pages/contents/content_teasers/_collection.html.erb +8 -0
  337. data/app/views/pages/contents/content_teasers/_content_teaser.html.erb +32 -0
  338. data/app/views/pages/contents/content_textfields/_content_textfield.html.erb +1 -0
  339. data/app/views/pages/contents/content_videos/_content_video.html.erb +1 -0
  340. data/app/views/pages/contents/modules/date_archive/_content.html.erb +23 -0
  341. data/app/views/pages/contents/modules/sub_navigation/_content.html.erb +5 -0
  342. data/app/views/pages/templates/default/_admin_in_list.html.erb +4 -0
  343. data/app/views/pages/templates/default/categories.html.erb +13 -0
  344. data/app/views/pages/templates/default/category.html.erb +13 -0
  345. data/app/views/pages/templates/default/default_renderer.rb +115 -0
  346. data/app/views/pages/templates/default/index.html.erb +13 -0
  347. data/app/views/pages/templates/default/index.rss.builder +19 -0
  348. data/app/views/pages/templates/default/search.html.erb +24 -0
  349. data/app/views/pages/templates/default/show.html.erb +6 -0
  350. data/app/views/shared/404.html.erb +1 -0
  351. data/config/initializers/locale.rb +1 -0
  352. data/config/initializers/mime_types.rb +13 -0
  353. data/config/initializers/overrides.rb +34 -0
  354. data/config/initializers/tanker.rb +1 -0
  355. data/config/locales/sv-SE.yml +543 -0
  356. data/config/routes.rb +97 -0
  357. data/lib/generators/porthos/USAGE +3 -0
  358. data/lib/generators/porthos/porthos_generator.rb +35 -0
  359. data/lib/generators/porthos/templates/mongo.yml +15 -0
  360. data/lib/porthos.rb +53 -0
  361. data/lib/porthos/active_record/restrictions.rb +36 -0
  362. data/lib/porthos/active_record/settingable.rb +49 -0
  363. data/lib/porthos/admin.rb +25 -0
  364. data/lib/porthos/authentication.rb +72 -0
  365. data/lib/porthos/config.rb +18 -0
  366. data/lib/porthos/datum_methods.rb +53 -0
  367. data/lib/porthos/engine.rb +56 -0
  368. data/lib/porthos/helpers/application_helper.rb +140 -0
  369. data/lib/porthos/mongo_mapper/acts_as_uri.rb +59 -0
  370. data/lib/porthos/mongo_mapper/callbacks.rb +13 -0
  371. data/lib/porthos/mongo_mapper/extensions.rb +58 -0
  372. data/lib/porthos/mongo_mapper/instructable.rb +36 -0
  373. data/lib/porthos/mongo_mapper/observer.rb +34 -0
  374. data/lib/porthos/mongo_mapper/taggable.rb +136 -0
  375. data/lib/porthos/page_renderer.rb +66 -0
  376. data/lib/porthos/public.rb +56 -0
  377. data/lib/porthos/redirects.rb +23 -0
  378. data/lib/porthos/routing.rb +256 -0
  379. data/lib/porthos/s3_storage.rb +61 -0
  380. data/lib/porthos/tags_autocomplete_app.rb +32 -0
  381. data/lib/porthos/tanking.rb +9 -0
  382. data/lib/porthos/test_helpers/assets_test_helper.rb +72 -0
  383. data/lib/porthos/test_helpers/pages_test_helper.rb +9 -0
  384. data/lib/porthos/url_resolver.rb +108 -0
  385. data/lib/porthos/validators.rb +14 -0
  386. data/lib/porthos/version.rb +3 -0
  387. data/lib/tasks/porthos_tasks.rake +217 -0
  388. metadata +774 -0
@@ -0,0 +1,13 @@
1
+ <% @page_class = @page_renderer.layout_class -%>
2
+ <% @page_title = @page_renderer.label -%>
3
+ <% @page_id = @page_renderer.page_id -%>
4
+ <div id="content">
5
+ <h1><%= @page_renderer.label %></h1>
6
+ <ul>
7
+ <% @page_renderer.pages.each do |page| %>
8
+ <li>
9
+ <h2><%= page.title %></h2>
10
+ </li>
11
+ <% end %>
12
+ </ul>
13
+ </div>
@@ -0,0 +1,19 @@
1
+ xml.instruct! :xml, :version => "1.0"
2
+ xml.rss(:version => "2.0") {
3
+ xml.channel{
4
+ xml.title(@field_set.node.name)
5
+ xml.link(root_url)
6
+ xml.language('sv-SV')
7
+ @pages.each do |page|
8
+ xml.item do
9
+ xml.title(page.title)
10
+ xml.pubDate(page.published_on.strftime("%a, %d %b %Y %H:%M:%S %z"))
11
+ if page.index_node
12
+ xml.link("#{root_url}#{page.index_node.url}/#{page.to_param}")
13
+ elsif page.node
14
+ xml.link("#{root_url}#{page.node.url}")
15
+ end
16
+ end
17
+ end
18
+ }
19
+ }
@@ -0,0 +1,24 @@
1
+ <% @page_title = "Sök" -%>
2
+ <% @page_id = 'pages-search' -%>
3
+ <div id="content">
4
+ <h1>Sök</h1>
5
+ <% form_for :search, :url => '?', :html => { :method => :get } do |f| %>
6
+ <label for="search_query">Sök:</label>
7
+ <%= text_field_tag :query, (@query || ''), :class => "search_query", :id=> "search_query" %>
8
+ <%= submit_tag "Sök" %>
9
+ <% end %>
10
+ <% if @search %>
11
+ <% if @search.total > 0 %>
12
+ <p>På din sökning på ”<%= @query %>” hittas <%= @search.total %> sidor</p>
13
+ <ul>
14
+ <% @search.results.each do |page| %>
15
+ <li>
16
+ <h2><%= link_to page.title, page_path(page) %></h2>
17
+ </li>
18
+ <% end %>
19
+ </ul>
20
+ <% else %>
21
+ <p>Inga sidor hittades på sökningen ”<%= @query %>”</p>
22
+ <% end %>
23
+ <% end %>
24
+ </div>
@@ -0,0 +1,6 @@
1
+ <% @page_class = @page_renderer.layout_class -%>
2
+ <% @page_title = @page_renderer.title -%>
3
+ <% @page_id = 'pages-show' -%>
4
+ <div id="content">
5
+ <h1><%= @page_renderer.page.title %></h1>
6
+ </div>
@@ -0,0 +1 @@
1
+ <h1>404 - Oh noes!</h1>
@@ -0,0 +1 @@
1
+ I18n.default_locale = "sv-SE"
@@ -0,0 +1,13 @@
1
+ # Add new mime types for use in respond_to blocks:
2
+ # Mime::Type.register "text/richtext", :rtf
3
+ # Mime::Type.register "application/x-mobile", :mobile
4
+ # Image formats
5
+ Mime::Type.register "image/jpg", :jpg
6
+ Mime::Type.register "image/jpeg", :jpeg
7
+ Mime::Type.register "image/gif", :gif
8
+ Mime::Type.register "image/png", :png
9
+ # Video formats
10
+ Mime::Type.register "video/quicktime", :mov
11
+ Mime::Type.register "video/quicktime", :qt
12
+ # Application formats
13
+ Mime::Type.register "application/pdf", :pdf
@@ -0,0 +1,34 @@
1
+ class Time
2
+ class << self
3
+ # Used for getting multifield attributes like those generated by a
4
+ # select_datetime into a new Time object. For example if you have
5
+ # following <tt>params={:meetup=>{:"time(1i)=>..."}}</tt> just do
6
+ # following:
7
+ #
8
+ # <tt>Time.parse_from_attributes(params[:meetup], :time)</tt>
9
+ def parse_from_attributes(attrs, field, method=:gm)
10
+ attrs = attrs.keys.sort.grep(/^#{field.to_s}\(.+\)$/).map { |k| attrs[k] }
11
+ attrs.any? ? Time.send(method, *attrs) : nil
12
+ end
13
+ end
14
+
15
+ def to_delta(delta_type = :day)
16
+ case delta_type
17
+ when :year then self.class.delta(year)
18
+ when :month then self.class.delta(year, month)
19
+ else self.class.delta(year, month, day)
20
+ end
21
+ end
22
+
23
+ def self.delta(year, month = nil, day = nil)
24
+ from = Time.local(year, month || 1, day || 1)
25
+ to = if !day.blank?
26
+ from.advance :days => 1
27
+ elsif !month.blank?
28
+ from.advance :months => 1
29
+ else
30
+ from.advance :years => 1
31
+ end
32
+ return [from.midnight, to.midnight-1]
33
+ end
34
+ end
@@ -0,0 +1 @@
1
+ Tanker.configuration = { :pagination_backend => :kaminari }
@@ -0,0 +1,543 @@
1
+ "sv-SE":
2
+ 'categories': "kategorier"
3
+ number:
4
+ # Used in number_with_delimiter()
5
+ # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
6
+ format:
7
+ # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
8
+ separator: ","
9
+ # Delimits thousands (e.g. 1,000,000 is a million) (always in groups of three)
10
+ delimiter: " "
11
+ # Number of decimals after the separator (the number 1 with a precision of 2 gives: 1.00)
12
+ precision: 2
13
+
14
+ # Used in number_to_currency()
15
+ currency:
16
+ format:
17
+ # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
18
+ format: "%n %u"
19
+ unit: "kr"
20
+ precision: 0
21
+ delimiter: '.'
22
+ separator: ','
23
+
24
+ # Used in number_to_human_size()
25
+ human:
26
+ format:
27
+ # These three are to override number.format and are optional
28
+ # separator:
29
+ # delimiter: ""
30
+ precision: 1
31
+ storage_units:
32
+ # Storage units output formatting.
33
+ # %u is the storage unit, %n is the number (default: 2 MB)
34
+ format: "%n %u"
35
+ units:
36
+ byte:
37
+ one: "Byte"
38
+ other: "Bytes"
39
+ kb: "KB"
40
+ mb: "MB"
41
+ gb: "GB"
42
+ tb: "TB"
43
+
44
+ # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
45
+ datetime:
46
+ distance_in_words:
47
+ half_a_minute: "en halv minut"
48
+ less_than_x_seconds:
49
+ one: "mindre än en sekund"
50
+ other: "mindre än {{count}} sekunder"
51
+ x_seconds:
52
+ one: "en sekund"
53
+ other: "{{count}} sekunder"
54
+ less_than_x_minutes:
55
+ one: "mindre än en minut"
56
+ other: "mindre än {{count}} minuter"
57
+ x_minutes:
58
+ one: "en minut"
59
+ other: "{{count}} minuter"
60
+ about_x_hours:
61
+ one: "ungefär en timme"
62
+ other: "ungefär {{count}} timmar"
63
+ x_days:
64
+ one: "en dag"
65
+ other: "{{count}} dagar"
66
+ about_x_months:
67
+ one: "ungefär en månad"
68
+ other: "ungefär {{count}} månader"
69
+ x_months:
70
+ one: "en månad"
71
+ other: "{{count}} månader"
72
+ about_x_years:
73
+ one: "ungefär ett år"
74
+ other: "ungefär {{count}} år"
75
+ over_x_years:
76
+ one: "mer än ett år"
77
+ other: "mer än {{count}} år"
78
+ almost_x_years:
79
+ one: "nästan ett år"
80
+ other: "nästan {{count}} år"
81
+ prompts:
82
+ year: "År"
83
+ month: "Månad"
84
+ day: "Dag"
85
+ hour: "Timme"
86
+ minute: "Minut"
87
+ second: "Sekund"
88
+
89
+ activemodel:
90
+ errors:
91
+ template:
92
+ header:
93
+ one: "Ett fel förhindrade denna {{model}} från att sparas"
94
+ other: "{{count}} fel förhindrade denna {{model}} från att sparas"
95
+ # The variable :count is also available
96
+ body: "Det var problem med följande fält:"
97
+ messages:
98
+ invalid_email: "verkar inte vara en giltig e-postadress"
99
+
100
+ mongo_mapper:
101
+ models:
102
+ asset: Fil
103
+ image_asset: Bild
104
+ content_module: Innehållsmodul
105
+ content_template: Innehållstyp
106
+ node: Navigationsnode
107
+ page:
108
+ one: Sida
109
+ other: Sidor
110
+ custom_page:
111
+ one: Anpassad sida
112
+ other: Anpassade sidor
113
+ content_teaser: Teaser
114
+ user: Användare
115
+ redirect: Vidarebefordring
116
+ field_set: Innehållstyp
117
+ field: Fält
118
+ datum_collection: Innehållsblock
119
+ date_time_field: Datum
120
+ string_field: Sträng
121
+ text_field: Text
122
+ boolean_field: Booleanskt värde
123
+ page_template: Sidtyp
124
+ page_association_field: Relation till sida
125
+ reversed_page_association_field: Relation från en annan sidtyp
126
+ asset_association_field: Relation till fil
127
+ string_field_template: Sträng fält
128
+ errors:
129
+ template:
130
+ header:
131
+ one: "Ett fel förhindrade denna {{model}} från att sparas"
132
+ other: "{{count}} fel förhindrade denna {{model}} från att sparas"
133
+ # The variable :count is also available
134
+ body: "Det var problem med följande fält:"
135
+ # model.errors.full_messages format.
136
+ format: "{{attribute}} {{message}}"
137
+ messages:
138
+ inclusion: "finns inte i listan"
139
+ exclusion: "är reserverat"
140
+ invalid: "är ogiltigt"
141
+ confirmation: "stämmer inte överens"
142
+ accepted: "måste vara accepterad"
143
+ empty: "får ej vara tom"
144
+ blank: "måste anges"
145
+ too_long: "är för lång (maximum är {{count}} tecken)"
146
+ too_short: "är för kort (minimum är {{count}} tecken)"
147
+ wrong_length: "har fel längd (ska vara {{count}} tecken)"
148
+ taken: "har redan tagits"
149
+ not_a_number: "är inte ett nummer"
150
+ greater_than: "måste vara större än {{count}}"
151
+ greater_than_or_equal_to: "måste vara större än eller lika med {{count}}"
152
+ equal_to: "måste vara samma som"
153
+ less_than: "måste vara mindre än {{count}}"
154
+ less_than_or_equal_to: "måste vara mindre än eller lika med {{count}}"
155
+ odd: "måste vara udda"
156
+ even: "måste vara jämnt"
157
+ record_invalid: "Ett fel uppstod: {{errors}}"
158
+ invalid_email: "verkar inte vara en giltig e-postadress"
159
+
160
+ models:
161
+ field:
162
+ handle:
163
+ reserved: används redan av sidan
164
+ asset:
165
+ file:
166
+ unable_to_store: kunde inte sparas
167
+ attributes:
168
+ asset:
169
+ file: Vald fil
170
+ title: Titel
171
+ file_name: Filnamn
172
+ author: Copyright
173
+ description: Beskrivning
174
+ filetypes:
175
+ image: Bild
176
+ sound: Ljud
177
+ video: Video
178
+ document: Dokument
179
+ asset_association:
180
+ description: Beskrivning
181
+ should_revert_to_asset_attributes: Radera den ändrade beskrivningen
182
+ content_template:
183
+ label: Namn
184
+ description: Beskrivning
185
+ datum_template:
186
+ _type: Typ
187
+ label: Namn
188
+ handle: Identifierare
189
+ required: Krävs
190
+ instruction_body: Beskrivning
191
+ datum:
192
+ _type: Typ
193
+ label: Namn
194
+ handle: Identifierare
195
+ required: Krävs
196
+ instruction_body: Beskrivning
197
+ field_set:
198
+ label: Titel
199
+ template_name: Template
200
+ field:
201
+ _type: Typ
202
+ label: Namn
203
+ handle: Fältnamn
204
+ required: Obligatorisk
205
+ instruction_body: Instruktioner
206
+ multiline: Löptext
207
+ allow_rich_text: Tillåt textformatering
208
+ link_field:
209
+ title: Länktext
210
+ url: Adress / url
211
+ resource: Länka till
212
+ node:
213
+ name: Namn i navigationen
214
+ status: Status
215
+ restricted: Kräver inloggning (även undersidor)
216
+ page_templates:
217
+ label: Namn
218
+ page:
219
+ title: Titel
220
+ description: Beskrivning
221
+ published_on: Publiceringsdatum
222
+ parent_id: Sidtyp
223
+ note: Notering
224
+ string_field_template:
225
+ multiline: Textfält
226
+ allow_rich_text: Tillåt formatering
227
+ string_field:
228
+ multiline: Textfält
229
+ allow_rich_text: Tillåt formatering
230
+ teaser:
231
+ title: Rubrik
232
+ body: Text
233
+ user:
234
+ first_name: Förnamn
235
+ last_name: Efternamn
236
+ civic_number: Personnummer
237
+ username: Användarnamn
238
+ email: E-post
239
+ phone: Telefon
240
+ cell_phone: Mobil
241
+ password: Lösenord
242
+ password_confirmation: Lösenordsbekräftelse
243
+ redirect:
244
+ path: Från
245
+ target: Till
246
+ date:
247
+ formats:
248
+ # Use the strftime parameters for formats.
249
+ # When no format has been given, it uses default.
250
+ # You can provide other formats here if you like!
251
+ default: "%Y-%m-%d"
252
+ short: "%e %b"
253
+ long: "%e %B %Y"
254
+
255
+ day_names: [söndag, måndag, tisdag, onsdag, torsdag, fredag, lördag]
256
+ abbr_day_names: [sön, mån, tis, ons, tor, fre, lör]
257
+
258
+ # Don't forget the nil at the beginning; there's no such thing as a 0th month
259
+ month_names: [~, januari, februari, mars, april, maj, juni, juli, augusti, september, oktober, november, december]
260
+ abbr_month_names: [~, jan, feb, mar, apr, maj, jun, jul, aug, sep, okt, nov, dec]
261
+ # Used in date_select and datime_select.
262
+ order: [ :day, :month, :year ]
263
+
264
+ time:
265
+ formats:
266
+ default: "%a, %e %b %Y %H:%M:%S %z"
267
+ short: "%e %b %H:%M"
268
+ long: "%e %B %Y %H:%M"
269
+ am: ""
270
+ pm: ""
271
+
272
+ # Used in array.to_sentence.
273
+ support:
274
+ array:
275
+ words_connector: ", "
276
+ two_words_connector: " och "
277
+ last_word_connector: " och "
278
+ select:
279
+ # default value for :prompt => true in FormOptionsHelper
280
+ prompt: "Välj"
281
+ app:
282
+ general:
283
+ logged_in: Du är inloggad
284
+ logged_out: Du är utloggad
285
+ login_failed: Användarnamnet och lösenordet stämde inte överens
286
+ password_has_been_sent: Ett nytt lösenord har skapats och skickats till din e-postadress
287
+ unable_to_find_user: Det gick inte att hitta någon användare med den e-postadressen
288
+ flash_is_needed: Du behöver flash för att se den här delen av sidan
289
+ destroy_confirmation: Är du säker på att du vill radera %{target_name}?
290
+ colors:
291
+ light_magenta: Ljusmagenta
292
+ light_cyan: Ljuscyan
293
+ light_green: Ljusgrön
294
+ magenta: Magenta
295
+ cyan: Cyan
296
+ green: Grön
297
+ red: Röd
298
+ cart_item:
299
+ exceeds_available_products: överstiger antalet tillgängliga produkter
300
+ require_positive_number: måste vara ett tal större än noll
301
+ not_enough_products: inte tillräckligt många produkter
302
+ global_parent:
303
+ not_less_than_100: får inte vara mindre än 100 kr
304
+ image_asset:
305
+ unknown_format: gick inte att läsa filtypen
306
+ must_be_rgb: måste vara en bild i RGB-format
307
+ gravities:
308
+ nw: Övre vänstra hörnet
309
+ n: Övre delen
310
+ ne: Övre högra hörnet
311
+ w: Mitten till vänster
312
+ c: Mitten
313
+ e: Mitten till höger
314
+ sw: Nedre vänstra hörnet
315
+ s: Nedre delen
316
+ se: Nedre högra hörnet
317
+ carts:
318
+ unknown_product: kunde inte hitta produkten
319
+ print_settings:
320
+ print_settings: Inställningar för tryck
321
+ saved: Tilltrycks inställningarna är sparade
322
+ save_error: Det uppstod ett fel när inställningarna skulle sparas
323
+ not_allowed_filetype: har fel filtyp, ladda upp en TIFF-fil eller en EPS-fil istället
324
+ admin_assets:
325
+ saved: Filerna sparades
326
+ admin_nodes:
327
+ deleted: och alla sidor under den är borttagna
328
+ admin_general:
329
+ saved: sparades
330
+ updated: uppdaterades
331
+ deleted: raderades
332
+ logged_in: Du är inloggad
333
+ logged_out: Du är nu utloggad och lugnt surfa vidare
334
+ login_failed: Användarnamnet och lösenordet stämde inte överens
335
+ admin_items:
336
+ unable_to_find: Kunde inte hitta sidtypen
337
+ saved: Dina ändringar är sparade
338
+ active: "är nu publicerad och syns på webbplatsen"
339
+ admin_contents:
340
+ deleted: Innehållet raderats
341
+ admin_redirects:
342
+ saved: Vidarebefordring sparad
343
+ deleted: Vidarebefordring raderad
344
+ teasers:
345
+ types:
346
+ big: Stor
347
+ medium: Mellan
348
+ small: Liten
349
+ validators:
350
+ bad_email_format: har fel format
351
+ bad_redirect_format: måste börja med ett /-tecken
352
+ views:
353
+ layouts:
354
+ admin:
355
+ account_nav:
356
+ settings: Inställningar
357
+ my_account: Mitt konto
358
+ logout: Logga ut
359
+ admin:
360
+ shared:
361
+ settings_sub_nav:
362
+ title: Innehåll
363
+ site_settings: Inställningar
364
+ content_lists: Delat innehåll
365
+ field_sets: Innehållstyper
366
+ redirects: Vidarebefordringar
367
+ tags: Nyckelord
368
+ content_modules: Moduler
369
+ site_settings:
370
+ index:
371
+ add_site_setting: Ny inställning
372
+ table:
373
+ name: Namn
374
+ value: Värde
375
+ no_data: Det finns inga inställningar inlagda än.
376
+ new:
377
+ title: Ny inställning
378
+ redirects:
379
+ index:
380
+ title: Vidarebefordring
381
+ add_redirect: Skapa ny vidarebefordring
382
+ table:
383
+ from: Från
384
+ to: Till
385
+ no_data: Det finns inga Vidarebefordringar inlagda än.
386
+ new:
387
+ title: Ny Vidarebefordring
388
+ edit:
389
+ title: Ändra Vidarebefordring
390
+ shared:
391
+ form_help:
392
+ path: "Vilken address som ska vidarebefordras, t.ex. /ge-en-gava"
393
+ target: "Vilken address som besökaren ska vidarebefordras till, t.ex. /stod-oss/ge-en-gava"
394
+ tags:
395
+ index:
396
+ title: Nyckelord
397
+ add_tag: Nytt nyckelord
398
+ table:
399
+ name: Namn
400
+ no_data: Inga nyckelord inlagda än.
401
+ new:
402
+ title: Nytt nyckelord
403
+ edit:
404
+ title: Ändra nyckelordet %{name}
405
+ show:
406
+ title: Nyckelord - ”%{name}”
407
+ edit_tag: Ändra
408
+ nodes:
409
+ index:
410
+ title: Struktur och navigation
411
+ no_data: Det finns inga navigationsnoder inlagda
412
+ add_root_node: Skapa startsida
413
+ new:
414
+ title: Placera i strukturen
415
+ edit:
416
+ title: Ändra
417
+ shared:
418
+ move: Flytta
419
+ show_in_nav: Syns i navigationen och är tillgänglig på internet
420
+ not_shown_in_nav: Syns inte i navigationen, men är tillgänglig på internet
421
+ restricted: Avstängd, inte tillgänglig på internet
422
+ admin:
423
+ assets:
424
+ new:
425
+ submit: Ladda upp
426
+ index:
427
+ upload: Ladda upp filer
428
+ data:
429
+ index:
430
+ new: Lägg till fält
431
+ asset_association:
432
+ edit_asset: Ändra filen
433
+ choose_asset: Välj fil
434
+ remove: Ta bort
435
+ image_form:
436
+ edit_asset: Ändra bildtext
437
+ choose_image: Välj bild
438
+ link_lists:
439
+ show:
440
+ title: "Navigationslistor > %{title}"
441
+ new: Lägg till länk
442
+ links:
443
+ edit:
444
+ title: "Navigationslistor > %{list_title} > %{title}"
445
+ sessions:
446
+ signed_in: Du är nu inloggad
447
+ signed_out: Du är nu utloggad
448
+ failed: Användarnamnet och lösenordet stämde inte överens
449
+ new:
450
+ login: Logga in
451
+ page_templates:
452
+ index:
453
+ title: Sidtyper
454
+ new: Lägg till
455
+ new:
456
+ title: Ny sidtyp
457
+ show:
458
+ title: Sidtyper > %{title}
459
+ add_field_template: Lägg till fält
460
+ add_field_set_template: Lägg till fördefinerat innehåll
461
+ add_datum_collection_template: Lägg till ett innehållsblock
462
+ all_page_templates: Alla sidtyper
463
+ blank_slate: Det finns inga fält definerade än
464
+ edit: Ändra
465
+ destroy: Radera
466
+ add_datum_template: Lägg till
467
+ string: Text
468
+ date: Datum
469
+ boolean: Ja/Nej
470
+ items:
471
+ index:
472
+ all_pages: "Alla sidor"
473
+ create_new: "Skapa ny %{template}sida"
474
+ add_section: Lägg till indexsida
475
+ add_custom_page: Lägg till
476
+ page:
477
+ choose: Välj
478
+ add_content: Lägg till innehåll
479
+ add_datum: "Lägg till %{label}"
480
+ section:
481
+ edit_data_definitions: Ändra fält
482
+ add_content: Lägg till innehåll
483
+ add_datum: "Lägg till %{label}"
484
+ details:
485
+ edit_category: Ändra kategori
486
+ choose_category: Välj kategori
487
+ add_new_category: Lägg till
488
+ publish_now: Publicera
489
+ unpublish: Avpublicera
490
+ not_published: Sidan är inte publicerad
491
+ add_note: Lägg till
492
+ content_templates:
493
+ index:
494
+ title: Innehållstyper
495
+ new: Skapa innehållstyp
496
+ new:
497
+ title: Ny innehållstyp
498
+ show:
499
+ add_field_template: Lägg till fält
500
+ edit: Ändra
501
+ destroy: Ta bort
502
+ all_content_templates: Visa alla
503
+ blank_slate: Det finns inga fält skapade än
504
+ contents:
505
+ teasers:
506
+ edit:
507
+ add_image: Lägg till bild
508
+ field_sets:
509
+ all_field_sets: Alla innehållstyper
510
+ index:
511
+ title: Alla innehållstyper
512
+ new: Lägg till ny innehållstyp
513
+ new:
514
+ title: Ny innehållstyp
515
+ show:
516
+ edit: Ändra
517
+ destroy: Radera
518
+ sort: Sortera
519
+ blank_slate: Det finns inga fält skapade än
520
+ add_field: Lägg till fält
521
+ users:
522
+ index:
523
+ add: Lägg till ny redaktör
524
+ new:
525
+ save: Spara
526
+ admins: Redaktörer
527
+ save: Spara
528
+ or: eller
529
+ cancel: Avbryt
530
+ edit: Ändra
531
+ destroy: Ta bort
532
+ choose: Välj
533
+ move: Flytta
534
+ show: Visa
535
+ hide: Dölj
536
+ show_all: Visa alla
537
+ yes: Ja
538
+ no: Nej
539
+ image: Bild
540
+ video: Video
541
+ sound: Ljud
542
+ pdf: Pdf
543
+ document: Dokument