blog_logic 0.7.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Capfile +4 -0
- data/Gemfile +35 -0
- data/Gemfile.local +35 -0
- data/README.rdoc +19 -0
- data/Rakefile +33 -0
- data/VERSION +1 -0
- data/app/controllers/admin/blogs_controller.rb +47 -0
- data/app/controllers/admin/posts_controller.rb +75 -0
- data/app/controllers/application_controller.rb +5 -0
- data/app/controllers/blogs_controller.rb +27 -0
- data/app/controllers/posts_controller.rb +15 -0
- data/app/helpers/application_helper.rb +42 -0
- data/app/models/blog.rb +64 -0
- data/app/models/ckeditor/asset.rb +101 -0
- data/app/models/ckeditor/attachment_file.rb +35 -0
- data/app/models/ckeditor/picture.rb +17 -0
- data/app/models/post.rb +106 -0
- data/app/uploaders/blog_image_uploader.rb +45 -0
- data/app/views/admin/blogs/_form.html.erb +35 -0
- data/app/views/admin/blogs/edit.html.erb +5 -0
- data/app/views/admin/blogs/index.html.erb +23 -0
- data/app/views/admin/blogs/new.html.erb +5 -0
- data/app/views/admin/blogs/show.html.erb +23 -0
- data/app/views/admin/posts/_form.html.erb +60 -0
- data/app/views/admin/posts/edit.html.erb +5 -0
- data/app/views/admin/posts/index.html.erb +33 -0
- data/app/views/admin/posts/new.html.erb +5 -0
- data/app/views/admin/posts/preview.erb +3 -0
- data/app/views/admin/posts/show.html.erb +38 -0
- data/app/views/blogs/archive.html.erb +6 -0
- data/app/views/blogs/feed.rss.builder +19 -0
- data/app/views/blogs/search.html.erb +14 -0
- data/app/views/blogs/show.html.erb +15 -0
- data/app/views/layouts/application.html.erb +53 -0
- data/app/views/posts/_index.html.erb +10 -0
- data/app/views/posts/show.html.erb +14 -0
- data/app/views/shared/_nav_tabs.html.erb +3 -0
- data/blog_logic.gemspec +863 -0
- data/config/application.rb +44 -0
- data/config/boot.rb +6 -0
- data/config/cucumber.yml +10 -0
- data/config/deploy.rb +40 -0
- data/config/environment.rb +6 -0
- data/config/environments/development.rb +28 -0
- data/config/environments/production.rb +49 -0
- data/config/environments/test.rb +38 -0
- data/config/initializers/ckeditor.rb +54 -0
- data/config/initializers/formats.rb +19 -0
- data/config/initializers/metric_fu.rb +9 -0
- data/config/initializers/secret_token.rb +7 -0
- data/config/initializers/session_store.rb +8 -0
- data/config/locales/en.yml +10 -0
- data/config/mongoid.yml +19 -0
- data/config/routes.rb +35 -0
- data/config.ru +4 -0
- data/db/imports/wp_export.xml +7194 -0
- data/db/seeds.rb +7 -0
- data/features/browse_blog.feature +60 -0
- data/features/manage_blog.feature +32 -0
- data/features/post_to_blog.feature +77 -0
- data/features/step_definitions/blog_steps.rb +28 -0
- data/features/step_definitions/web_steps.rb +219 -0
- data/features/support/env.rb +44 -0
- data/features/support/hooks.rb +4 -0
- data/features/support/paths.rb +33 -0
- data/init.rb +1 -0
- data/lib/blog_logic/base.rb +41 -0
- data/lib/blog_logic/engine.rb +7 -0
- data/lib/blog_logic/import.rb +66 -0
- data/lib/blog_logic/railtie.rb +10 -0
- data/lib/blog_logic.rb +13 -0
- data/lib/tasks/.gitkeep +0 -0
- data/lib/tasks/cucumber.rake +53 -0
- data/public/404.html +26 -0
- data/public/422.html +26 -0
- data/public/500.html +26 -0
- data/public/favicon.ico +0 -0
- data/public/images/icons/add.png +0 -0
- data/public/images/icons/checkmark.gif +0 -0
- data/public/images/icons/collapsed.gif +0 -0
- data/public/images/icons/delete.png +0 -0
- data/public/images/icons/drag.png +0 -0
- data/public/images/icons/edit.png +0 -0
- data/public/images/icons/expanded.gif +0 -0
- data/public/images/icons/help_icon.png +0 -0
- data/public/images/icons/link_icon.png +0 -0
- data/public/images/icons/move.png +0 -0
- data/public/images/icons/move_white.png +0 -0
- data/public/images/icons/note.png +0 -0
- data/public/images/icons/note_white.png +0 -0
- data/public/images/icons/notification_icon_sprite.png +0 -0
- data/public/images/icons/spinner.gif +0 -0
- data/public/images/icons/view.png +0 -0
- data/public/images/icons/warning.png +0 -0
- data/public/images/icons/warning_2.png +0 -0
- data/public/images/icons/warning_box.png +0 -0
- data/public/images/icons/warning_icon.png +0 -0
- data/public/images/icons/warning_white.png +0 -0
- data/public/images/layout/admin/arrow_asc.png +0 -0
- data/public/images/layout/admin/arrow_desc.png +0 -0
- data/public/images/layout/admin/back.png +0 -0
- data/public/images/layout/admin/black_bar.png +0 -0
- data/public/images/layout/admin/breadcrumb_bg.png +0 -0
- data/public/images/layout/admin/button_bg.png +0 -0
- data/public/images/layout/admin/content_left_bg.png +0 -0
- data/public/images/layout/admin/content_right_bg.png +0 -0
- data/public/images/layout/admin/h1_bg.png +0 -0
- data/public/images/layout/admin/h2_bg.png +0 -0
- data/public/images/layout/admin/h2_bg_for_table.png +0 -0
- data/public/images/layout/admin/legend_bg.png +0 -0
- data/public/images/layout/admin/shadow_border.png +0 -0
- data/public/images/layout/admin/shadow_border_2.png +0 -0
- data/public/images/layout/admin/shadow_border_3.png +0 -0
- data/public/images/layout/admin/shadow_border_4.png +0 -0
- data/public/images/layout/admin/subnav_hover_bg.png +0 -0
- data/public/images/layout/admin/tab.png +0 -0
- data/public/images/layout/admin/tab_active.png +0 -0
- data/public/images/layout/admin/table_header.png +0 -0
- data/public/images/layout/admin/text_field_bg.jpg +0 -0
- data/public/images/layout/admin/text_field_error_bg.png +0 -0
- data/public/images/layout/admin/th_bg.png +0 -0
- data/public/images/layout/admin/th_bg_selected.png +0 -0
- data/public/images/layout/arrow_asc.png +0 -0
- data/public/images/layout/text_field_bg.jpg +0 -0
- data/public/images/layout/text_field_error_bg.png +0 -0
- data/public/images/menu_icons/blog.png +0 -0
- data/public/images/menu_icons/blog_on.png +0 -0
- data/public/images/menu_icons/blog_posts.png +0 -0
- data/public/images/menu_icons/blog_posts_on.png +0 -0
- data/public/javascripts/application.js +2 -0
- data/public/javascripts/ckeditor/.htaccess +24 -0
- data/public/javascripts/ckeditor/CHANGES.html +993 -0
- data/public/javascripts/ckeditor/INSTALL.html +92 -0
- data/public/javascripts/ckeditor/LICENSE.html +1334 -0
- data/public/javascripts/ckeditor/_samples/ajax.html +87 -0
- data/public/javascripts/ckeditor/_samples/api.html +152 -0
- data/public/javascripts/ckeditor/_samples/api_dialog/my_dialog.js +28 -0
- data/public/javascripts/ckeditor/_samples/api_dialog.html +188 -0
- data/public/javascripts/ckeditor/_samples/asp/advanced.asp +105 -0
- data/public/javascripts/ckeditor/_samples/asp/events.asp +136 -0
- data/public/javascripts/ckeditor/_samples/asp/index.html +103 -0
- data/public/javascripts/ckeditor/_samples/asp/replace.asp +72 -0
- data/public/javascripts/ckeditor/_samples/asp/replaceall.asp +77 -0
- data/public/javascripts/ckeditor/_samples/asp/sample_posteddata.asp +46 -0
- data/public/javascripts/ckeditor/_samples/asp/standalone.asp +72 -0
- data/public/javascripts/ckeditor/_samples/assets/output_for_flash.fla +0 -0
- data/public/javascripts/ckeditor/_samples/assets/output_for_flash.swf +0 -0
- data/public/javascripts/ckeditor/_samples/assets/output_xhtml.css +204 -0
- data/public/javascripts/ckeditor/_samples/assets/swfobject.js +18 -0
- data/public/javascripts/ckeditor/_samples/autogrow.html +75 -0
- data/public/javascripts/ckeditor/_samples/divreplace.html +137 -0
- data/public/javascripts/ckeditor/_samples/enterkey.html +88 -0
- data/public/javascripts/ckeditor/_samples/fullpage.html +62 -0
- data/public/javascripts/ckeditor/_samples/index.html +57 -0
- data/public/javascripts/ckeditor/_samples/jqueryadapter.html +73 -0
- data/public/javascripts/ckeditor/_samples/output_for_flash.html +257 -0
- data/public/javascripts/ckeditor/_samples/output_html.html +259 -0
- data/public/javascripts/ckeditor/_samples/output_xhtml.html +159 -0
- data/public/javascripts/ckeditor/_samples/php/advanced.php +93 -0
- data/public/javascripts/ckeditor/_samples/php/events.php +130 -0
- data/public/javascripts/ckeditor/_samples/php/replace.php +63 -0
- data/public/javascripts/ckeditor/_samples/php/replaceall.php +68 -0
- data/public/javascripts/ckeditor/_samples/php/standalone.php +64 -0
- data/public/javascripts/ckeditor/_samples/replacebyclass.html +49 -0
- data/public/javascripts/ckeditor/_samples/replacebycode.html +80 -0
- data/public/javascripts/ckeditor/_samples/sample.css +81 -0
- data/public/javascripts/ckeditor/_samples/sample.js +65 -0
- data/public/javascripts/ckeditor/_samples/sample_posteddata.php +59 -0
- data/public/javascripts/ckeditor/_samples/sharedspaces.html +131 -0
- data/public/javascripts/ckeditor/_samples/skins.html +83 -0
- data/public/javascripts/ckeditor/_samples/ui_color.html +87 -0
- data/public/javascripts/ckeditor/_samples/ui_languages.html +103 -0
- data/public/javascripts/ckeditor/_source/adapters/jquery.js +297 -0
- data/public/javascripts/ckeditor/_source/core/_bootstrap.js +96 -0
- data/public/javascripts/ckeditor/_source/core/ajax.js +142 -0
- data/public/javascripts/ckeditor/_source/core/ckeditor.js +133 -0
- data/public/javascripts/ckeditor/_source/core/ckeditor_base.js +196 -0
- data/public/javascripts/ckeditor/_source/core/ckeditor_basic.js +239 -0
- data/public/javascripts/ckeditor/_source/core/command.js +209 -0
- data/public/javascripts/ckeditor/_source/core/commanddefinition.js +129 -0
- data/public/javascripts/ckeditor/_source/core/config.js +430 -0
- data/public/javascripts/ckeditor/_source/core/dataprocessor.js +65 -0
- data/public/javascripts/ckeditor/_source/core/dom/comment.js +32 -0
- data/public/javascripts/ckeditor/_source/core/dom/document.js +224 -0
- data/public/javascripts/ckeditor/_source/core/dom/documentfragment.js +49 -0
- data/public/javascripts/ckeditor/_source/core/dom/domobject.js +255 -0
- data/public/javascripts/ckeditor/_source/core/dom/element.js +1564 -0
- data/public/javascripts/ckeditor/_source/core/dom/elementpath.js +119 -0
- data/public/javascripts/ckeditor/_source/core/dom/event.js +142 -0
- data/public/javascripts/ckeditor/_source/core/dom/node.js +683 -0
- data/public/javascripts/ckeditor/_source/core/dom/nodelist.js +26 -0
- data/public/javascripts/ckeditor/_source/core/dom/range.js +1883 -0
- data/public/javascripts/ckeditor/_source/core/dom/rangelist.js +214 -0
- data/public/javascripts/ckeditor/_source/core/dom/text.js +123 -0
- data/public/javascripts/ckeditor/_source/core/dom/walker.js +445 -0
- data/public/javascripts/ckeditor/_source/core/dom/window.js +96 -0
- data/public/javascripts/ckeditor/_source/core/dom.js +20 -0
- data/public/javascripts/ckeditor/_source/core/dtd.js +238 -0
- data/public/javascripts/ckeditor/_source/core/editor.js +924 -0
- data/public/javascripts/ckeditor/_source/core/editor_basic.js +182 -0
- data/public/javascripts/ckeditor/_source/core/env.js +270 -0
- data/public/javascripts/ckeditor/_source/core/event.js +342 -0
- data/public/javascripts/ckeditor/_source/core/eventInfo.js +120 -0
- data/public/javascripts/ckeditor/_source/core/focusmanager.js +152 -0
- data/public/javascripts/ckeditor/_source/core/htmlparser/basicwriter.js +145 -0
- data/public/javascripts/ckeditor/_source/core/htmlparser/cdata.js +43 -0
- data/public/javascripts/ckeditor/_source/core/htmlparser/comment.js +60 -0
- data/public/javascripts/ckeditor/_source/core/htmlparser/element.js +240 -0
- data/public/javascripts/ckeditor/_source/core/htmlparser/filter.js +288 -0
- data/public/javascripts/ckeditor/_source/core/htmlparser/fragment.js +504 -0
- data/public/javascripts/ckeditor/_source/core/htmlparser/text.js +55 -0
- data/public/javascripts/ckeditor/_source/core/htmlparser.js +224 -0
- data/public/javascripts/ckeditor/_source/core/imagecacher.js +80 -0
- data/public/javascripts/ckeditor/_source/core/lang.js +156 -0
- data/public/javascripts/ckeditor/_source/core/loader.js +243 -0
- data/public/javascripts/ckeditor/_source/core/plugindefinition.js +66 -0
- data/public/javascripts/ckeditor/_source/core/plugins.js +85 -0
- data/public/javascripts/ckeditor/_source/core/resourcemanager.js +238 -0
- data/public/javascripts/ckeditor/_source/core/scriptloader.js +200 -0
- data/public/javascripts/ckeditor/_source/core/skins.js +212 -0
- data/public/javascripts/ckeditor/_source/core/themes.js +19 -0
- data/public/javascripts/ckeditor/_source/core/tools.js +734 -0
- data/public/javascripts/ckeditor/_source/core/ui.js +116 -0
- data/public/javascripts/ckeditor/_source/core/xml.js +165 -0
- data/public/javascripts/ckeditor/_source/lang/_languages.js +83 -0
- data/public/javascripts/ckeditor/_source/lang/_translationstatus.txt +60 -0
- data/public/javascripts/ckeditor/_source/lang/af.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/ar.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/bg.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/bn.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/bs.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/ca.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/cs.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/cy.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/da.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/de.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/el.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/en-au.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/en-ca.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/en-gb.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/en.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/eo.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/es.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/et.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/eu.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/fa.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/fi.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/fo.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/fr-ca.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/fr.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/gl.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/gu.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/he.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/hi.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/hr.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/hu.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/is.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/it.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/ja.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/km.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/ko.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/lt.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/lv.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/mn.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/ms.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/nb.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/nl.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/no.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/pl.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/pt-br.js +757 -0
- data/public/javascripts/ckeditor/_source/lang/pt.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/ro.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/ru.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/sk.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/sl.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/sr-latn.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/sr.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/sv.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/th.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/tr.js +757 -0
- data/public/javascripts/ckeditor/_source/lang/uk.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/vi.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/zh-cn.js +758 -0
- data/public/javascripts/ckeditor/_source/lang/zh.js +758 -0
- data/public/javascripts/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +211 -0
- data/public/javascripts/ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -0
- data/public/javascripts/ckeditor/_source/plugins/a11yhelp/lang/he.js +216 -0
- data/public/javascripts/ckeditor/_source/plugins/a11yhelp/plugin.js +46 -0
- data/public/javascripts/ckeditor/_source/plugins/about/dialogs/about.js +73 -0
- data/public/javascripts/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/about/plugin.js +23 -0
- data/public/javascripts/ckeditor/_source/plugins/ajax_save/plugin.js +44 -0
- data/public/javascripts/ckeditor/_source/plugins/attachment/dialogs/attachment.js +384 -0
- data/public/javascripts/ckeditor/_source/plugins/attachment/images/attachment.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/attachment/lang/en.js +10 -0
- data/public/javascripts/ckeditor/_source/plugins/attachment/lang/ru.js +10 -0
- data/public/javascripts/ckeditor/_source/plugins/attachment/lang/uk.js +10 -0
- data/public/javascripts/ckeditor/_source/plugins/attachment/plugin.js +44 -0
- data/public/javascripts/ckeditor/_source/plugins/autogrow/plugin.js +86 -0
- data/public/javascripts/ckeditor/_source/plugins/basicstyles/plugin.js +101 -0
- data/public/javascripts/ckeditor/_source/plugins/bidi/plugin.js +259 -0
- data/public/javascripts/ckeditor/_source/plugins/blockquote/plugin.js +301 -0
- data/public/javascripts/ckeditor/_source/plugins/button/plugin.js +277 -0
- data/public/javascripts/ckeditor/_source/plugins/clipboard/dialogs/paste.js +205 -0
- data/public/javascripts/ckeditor/_source/plugins/clipboard/plugin.js +412 -0
- data/public/javascripts/ckeditor/_source/plugins/colorbutton/plugin.js +250 -0
- data/public/javascripts/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +336 -0
- data/public/javascripts/ckeditor/_source/plugins/colordialog/plugin.js +13 -0
- data/public/javascripts/ckeditor/_source/plugins/contextmenu/plugin.js +290 -0
- data/public/javascripts/ckeditor/_source/plugins/dialog/dialogDefinition.js +315 -0
- data/public/javascripts/ckeditor/_source/plugins/dialog/plugin.js +3015 -0
- data/public/javascripts/ckeditor/_source/plugins/dialogadvtab/plugin.js +213 -0
- data/public/javascripts/ckeditor/_source/plugins/dialogui/plugin.js +1523 -0
- data/public/javascripts/ckeditor/_source/plugins/div/dialogs/div.js +535 -0
- data/public/javascripts/ckeditor/_source/plugins/div/plugin.js +121 -0
- data/public/javascripts/ckeditor/_source/plugins/domiterator/plugin.js +356 -0
- data/public/javascripts/ckeditor/_source/plugins/editingblock/plugin.js +229 -0
- data/public/javascripts/ckeditor/_source/plugins/elementspath/plugin.js +206 -0
- data/public/javascripts/ckeditor/_source/plugins/embed/dialogs/embed.js +65 -0
- data/public/javascripts/ckeditor/_source/plugins/embed/images/embed.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/embed/lang/en.js +9 -0
- data/public/javascripts/ckeditor/_source/plugins/embed/lang/ru.js +9 -0
- data/public/javascripts/ckeditor/_source/plugins/embed/lang/uk.js +9 -0
- data/public/javascripts/ckeditor/_source/plugins/embed/plugin.js +44 -0
- data/public/javascripts/ckeditor/_source/plugins/enterkey/plugin.js +363 -0
- data/public/javascripts/ckeditor/_source/plugins/entities/plugin.js +226 -0
- data/public/javascripts/ckeditor/_source/plugins/fakeobjects/plugin.js +122 -0
- data/public/javascripts/ckeditor/_source/plugins/filebrowser/plugin.js +501 -0
- data/public/javascripts/ckeditor/_source/plugins/find/dialogs/find.js +890 -0
- data/public/javascripts/ckeditor/_source/plugins/find/plugin.js +46 -0
- data/public/javascripts/ckeditor/_source/plugins/flash/dialogs/flash.js +698 -0
- data/public/javascripts/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/flash/plugin.js +168 -0
- data/public/javascripts/ckeditor/_source/plugins/floatpanel/plugin.js +402 -0
- data/public/javascripts/ckeditor/_source/plugins/font/plugin.js +234 -0
- data/public/javascripts/ckeditor/_source/plugins/format/plugin.js +194 -0
- data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/button.js +135 -0
- data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/checkbox.js +153 -0
- data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/form.js +177 -0
- data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +98 -0
- data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/radio.js +135 -0
- data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/select.js +556 -0
- data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/textarea.js +114 -0
- data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/textfield.js +199 -0
- data/public/javascripts/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/forms/plugin.js +284 -0
- data/public/javascripts/ckeditor/_source/plugins/horizontalrule/plugin.js +36 -0
- data/public/javascripts/ckeditor/_source/plugins/htmldataprocessor/plugin.js +502 -0
- data/public/javascripts/ckeditor/_source/plugins/htmlwriter/plugin.js +319 -0
- data/public/javascripts/ckeditor/_source/plugins/iframedialog/plugin.js +136 -0
- data/public/javascripts/ckeditor/_source/plugins/image/dialogs/image.js +1396 -0
- data/public/javascripts/ckeditor/_source/plugins/image/plugin.js +81 -0
- data/public/javascripts/ckeditor/_source/plugins/indent/plugin.js +455 -0
- data/public/javascripts/ckeditor/_source/plugins/justify/plugin.js +221 -0
- data/public/javascripts/ckeditor/_source/plugins/keystrokes/plugin.js +225 -0
- data/public/javascripts/ckeditor/_source/plugins/link/dialogs/anchor.js +99 -0
- data/public/javascripts/ckeditor/_source/plugins/link/dialogs/link.js +1424 -0
- data/public/javascripts/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/link/plugin.js +238 -0
- data/public/javascripts/ckeditor/_source/plugins/list/plugin.js +710 -0
- data/public/javascripts/ckeditor/_source/plugins/listblock/plugin.js +257 -0
- data/public/javascripts/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +204 -0
- data/public/javascripts/ckeditor/_source/plugins/liststyle/plugin.js +66 -0
- data/public/javascripts/ckeditor/_source/plugins/maximize/plugin.js +350 -0
- data/public/javascripts/ckeditor/_source/plugins/menu/plugin.js +408 -0
- data/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js +94 -0
- data/public/javascripts/ckeditor/_source/plugins/newpage/plugin.js +53 -0
- data/public/javascripts/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/pagebreak/plugin.js +121 -0
- data/public/javascripts/ckeditor/_source/plugins/panel/plugin.js +399 -0
- data/public/javascripts/ckeditor/_source/plugins/panelbutton/plugin.js +147 -0
- data/public/javascripts/ckeditor/_source/plugins/pastefromword/filter/default.js +1170 -0
- data/public/javascripts/ckeditor/_source/plugins/pastefromword/plugin.js +122 -0
- data/public/javascripts/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +70 -0
- data/public/javascripts/ckeditor/_source/plugins/pastetext/plugin.js +145 -0
- data/public/javascripts/ckeditor/_source/plugins/popup/plugin.js +64 -0
- data/public/javascripts/ckeditor/_source/plugins/preview/plugin.js +108 -0
- data/public/javascripts/ckeditor/_source/plugins/print/plugin.js +41 -0
- data/public/javascripts/ckeditor/_source/plugins/removeformat/plugin.js +184 -0
- data/public/javascripts/ckeditor/_source/plugins/resize/plugin.js +157 -0
- data/public/javascripts/ckeditor/_source/plugins/richcombo/plugin.js +370 -0
- data/public/javascripts/ckeditor/_source/plugins/save/plugin.js +55 -0
- data/public/javascripts/ckeditor/_source/plugins/scayt/dialogs/options.js +534 -0
- data/public/javascripts/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +71 -0
- data/public/javascripts/ckeditor/_source/plugins/scayt/plugin.js +945 -0
- data/public/javascripts/ckeditor/_source/plugins/selection/plugin.js +1375 -0
- data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/showblocks/plugin.js +155 -0
- data/public/javascripts/ckeditor/_source/plugins/showborders/plugin.js +201 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/dialogs/smiley.js +218 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/smiley/plugin.js +94 -0
- data/public/javascripts/ckeditor/_source/plugins/sourcearea/plugin.js +207 -0
- data/public/javascripts/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +409 -0
- data/public/javascripts/ckeditor/_source/plugins/specialchar/plugin.js +29 -0
- data/public/javascripts/ckeditor/_source/plugins/styles/plugin.js +1479 -0
- data/public/javascripts/ckeditor/_source/plugins/styles/styles/default.js +88 -0
- data/public/javascripts/ckeditor/_source/plugins/stylescombo/plugin.js +206 -0
- data/public/javascripts/ckeditor/_source/plugins/tab/plugin.js +367 -0
- data/public/javascripts/ckeditor/_source/plugins/table/dialogs/table.js +672 -0
- data/public/javascripts/ckeditor/_source/plugins/table/plugin.js +78 -0
- data/public/javascripts/ckeditor/_source/plugins/tableresize/plugin.js +450 -0
- data/public/javascripts/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +533 -0
- data/public/javascripts/ckeditor/_source/plugins/tabletools/plugin.js +1120 -0
- data/public/javascripts/ckeditor/_source/plugins/templates/dialogs/templates.js +233 -0
- data/public/javascripts/ckeditor/_source/plugins/templates/plugin.js +99 -0
- data/public/javascripts/ckeditor/_source/plugins/templates/templates/default.js +94 -0
- data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/toolbar/plugin.js +481 -0
- data/public/javascripts/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +205 -0
- data/public/javascripts/ckeditor/_source/plugins/uicolor/lang/en.js +15 -0
- data/public/javascripts/ckeditor/_source/plugins/uicolor/lang/he.js +15 -0
- data/public/javascripts/ckeditor/_source/plugins/uicolor/plugin.js +37 -0
- data/public/javascripts/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
- data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
- data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +15 -0
- data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/yui.js +71 -0
- data/public/javascripts/ckeditor/_source/plugins/undo/plugin.js +554 -0
- data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +49 -0
- data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +52 -0
- data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/wsc.css +82 -0
- data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/wsc.js +176 -0
- data/public/javascripts/ckeditor/_source/plugins/wsc/plugin.js +33 -0
- data/public/javascripts/ckeditor/_source/plugins/wysiwygarea/plugin.js +1146 -0
- data/public/javascripts/ckeditor/_source/skins/kama/dialog.css +882 -0
- data/public/javascripts/ckeditor/_source/skins/kama/editor.css +25 -0
- data/public/javascripts/ckeditor/_source/skins/kama/elementspath.css +73 -0
- data/public/javascripts/ckeditor/_source/skins/kama/icons.css +357 -0
- data/public/javascripts/ckeditor/_source/skins/kama/icons.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
- data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/kama/images/mini.gif +0 -0
- data/public/javascripts/ckeditor/_source/skins/kama/images/noimage.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/kama/images/sprites.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
- data/public/javascripts/ckeditor/_source/skins/kama/mainui.css +195 -0
- data/public/javascripts/ckeditor/_source/skins/kama/menu.css +216 -0
- data/public/javascripts/ckeditor/_source/skins/kama/panel.css +217 -0
- data/public/javascripts/ckeditor/_source/skins/kama/presets.css +49 -0
- data/public/javascripts/ckeditor/_source/skins/kama/reset.css +84 -0
- data/public/javascripts/ckeditor/_source/skins/kama/richcombo.css +277 -0
- data/public/javascripts/ckeditor/_source/skins/kama/skin.js +268 -0
- data/public/javascripts/ckeditor/_source/skins/kama/templates.css +88 -0
- data/public/javascripts/ckeditor/_source/skins/kama/toolbar.css +409 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/dialog.css +785 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/editor.css +25 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/elementspath.css +74 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/icons.css +354 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/icons.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/mainui.css +145 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/menu.css +213 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/panel.css +212 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/presets.css +49 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/reset.css +84 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/richcombo.css +297 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/skin.js +81 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/templates.css +87 -0
- data/public/javascripts/ckeditor/_source/skins/office2003/toolbar.css +470 -0
- data/public/javascripts/ckeditor/_source/skins/v2/dialog.css +800 -0
- data/public/javascripts/ckeditor/_source/skins/v2/editor.css +25 -0
- data/public/javascripts/ckeditor/_source/skins/v2/elementspath.css +74 -0
- data/public/javascripts/ckeditor/_source/skins/v2/icons.css +354 -0
- data/public/javascripts/ckeditor/_source/skins/v2/icons.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
- data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/v2/images/mini.gif +0 -0
- data/public/javascripts/ckeditor/_source/skins/v2/images/noimage.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/v2/images/sprites.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
- data/public/javascripts/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
- data/public/javascripts/ckeditor/_source/skins/v2/mainui.css +154 -0
- data/public/javascripts/ckeditor/_source/skins/v2/menu.css +215 -0
- data/public/javascripts/ckeditor/_source/skins/v2/panel.css +212 -0
- data/public/javascripts/ckeditor/_source/skins/v2/presets.css +50 -0
- data/public/javascripts/ckeditor/_source/skins/v2/reset.css +84 -0
- data/public/javascripts/ckeditor/_source/skins/v2/richcombo.css +297 -0
- data/public/javascripts/ckeditor/_source/skins/v2/skin.js +77 -0
- data/public/javascripts/ckeditor/_source/skins/v2/templates.css +87 -0
- data/public/javascripts/ckeditor/_source/skins/v2/toolbar.css +423 -0
- data/public/javascripts/ckeditor/_source/themes/default/theme.js +361 -0
- data/public/javascripts/ckeditor/adapters/jquery.js +6 -0
- data/public/javascripts/ckeditor/ckeditor.js +137 -0
- data/public/javascripts/ckeditor/ckeditor.pack +211 -0
- data/public/javascripts/ckeditor/ckeditor_basic.js +8 -0
- data/public/javascripts/ckeditor/ckeditor_basic_source.js +20 -0
- data/public/javascripts/ckeditor/ckeditor_source.js +25 -0
- data/public/javascripts/ckeditor/config.js +43 -0
- data/public/javascripts/ckeditor/contents.css +39 -0
- data/public/javascripts/ckeditor/css/ckfinder.css +299 -0
- data/public/javascripts/ckeditor/css/fck_dialog.css +119 -0
- data/public/javascripts/ckeditor/css/fck_editor.css +448 -0
- data/public/javascripts/ckeditor/css/swfupload.css +94 -0
- data/public/javascripts/ckeditor/images/add.gif +0 -0
- data/public/javascripts/ckeditor/images/cancelbutton.gif +0 -0
- data/public/javascripts/ckeditor/images/ckfnothumb.gif +0 -0
- data/public/javascripts/ckeditor/images/doc.gif +0 -0
- data/public/javascripts/ckeditor/images/mp3.gif +0 -0
- data/public/javascripts/ckeditor/images/pdf.gif +0 -0
- data/public/javascripts/ckeditor/images/rar.gif +0 -0
- data/public/javascripts/ckeditor/images/refresh.gif +0 -0
- data/public/javascripts/ckeditor/images/select_files.png +0 -0
- data/public/javascripts/ckeditor/images/spacer.gif +0 -0
- data/public/javascripts/ckeditor/images/swf.gif +0 -0
- data/public/javascripts/ckeditor/images/toolbar.start.gif +0 -0
- data/public/javascripts/ckeditor/images/xls.gif +0 -0
- data/public/javascripts/ckeditor/lang/_languages.js +6 -0
- data/public/javascripts/ckeditor/lang/_translationstatus.txt +60 -0
- data/public/javascripts/ckeditor/lang/af.js +6 -0
- data/public/javascripts/ckeditor/lang/ar.js +6 -0
- data/public/javascripts/ckeditor/lang/bg.js +6 -0
- data/public/javascripts/ckeditor/lang/bn.js +6 -0
- data/public/javascripts/ckeditor/lang/bs.js +6 -0
- data/public/javascripts/ckeditor/lang/ca.js +6 -0
- data/public/javascripts/ckeditor/lang/cs.js +6 -0
- data/public/javascripts/ckeditor/lang/cy.js +6 -0
- data/public/javascripts/ckeditor/lang/da.js +6 -0
- data/public/javascripts/ckeditor/lang/de.js +6 -0
- data/public/javascripts/ckeditor/lang/el.js +6 -0
- data/public/javascripts/ckeditor/lang/en-au.js +6 -0
- data/public/javascripts/ckeditor/lang/en-ca.js +6 -0
- data/public/javascripts/ckeditor/lang/en-gb.js +6 -0
- data/public/javascripts/ckeditor/lang/en.js +6 -0
- data/public/javascripts/ckeditor/lang/eo.js +6 -0
- data/public/javascripts/ckeditor/lang/es.js +6 -0
- data/public/javascripts/ckeditor/lang/et.js +6 -0
- data/public/javascripts/ckeditor/lang/eu.js +6 -0
- data/public/javascripts/ckeditor/lang/fa.js +6 -0
- data/public/javascripts/ckeditor/lang/fi.js +6 -0
- data/public/javascripts/ckeditor/lang/fo.js +6 -0
- data/public/javascripts/ckeditor/lang/fr-ca.js +6 -0
- data/public/javascripts/ckeditor/lang/fr.js +6 -0
- data/public/javascripts/ckeditor/lang/gl.js +6 -0
- data/public/javascripts/ckeditor/lang/gu.js +6 -0
- data/public/javascripts/ckeditor/lang/he.js +6 -0
- data/public/javascripts/ckeditor/lang/hi.js +6 -0
- data/public/javascripts/ckeditor/lang/hr.js +6 -0
- data/public/javascripts/ckeditor/lang/hu.js +6 -0
- data/public/javascripts/ckeditor/lang/is.js +6 -0
- data/public/javascripts/ckeditor/lang/it.js +6 -0
- data/public/javascripts/ckeditor/lang/ja.js +6 -0
- data/public/javascripts/ckeditor/lang/km.js +6 -0
- data/public/javascripts/ckeditor/lang/ko.js +6 -0
- data/public/javascripts/ckeditor/lang/lt.js +6 -0
- data/public/javascripts/ckeditor/lang/lv.js +6 -0
- data/public/javascripts/ckeditor/lang/mn.js +6 -0
- data/public/javascripts/ckeditor/lang/ms.js +6 -0
- data/public/javascripts/ckeditor/lang/nb.js +6 -0
- data/public/javascripts/ckeditor/lang/nl.js +6 -0
- data/public/javascripts/ckeditor/lang/no.js +6 -0
- data/public/javascripts/ckeditor/lang/pl.js +6 -0
- data/public/javascripts/ckeditor/lang/pt-br.js +6 -0
- data/public/javascripts/ckeditor/lang/pt.js +6 -0
- data/public/javascripts/ckeditor/lang/ro.js +6 -0
- data/public/javascripts/ckeditor/lang/ru.js +6 -0
- data/public/javascripts/ckeditor/lang/sk.js +6 -0
- data/public/javascripts/ckeditor/lang/sl.js +6 -0
- data/public/javascripts/ckeditor/lang/sr-latn.js +6 -0
- data/public/javascripts/ckeditor/lang/sr.js +6 -0
- data/public/javascripts/ckeditor/lang/sv.js +6 -0
- data/public/javascripts/ckeditor/lang/th.js +6 -0
- data/public/javascripts/ckeditor/lang/tr.js +6 -0
- data/public/javascripts/ckeditor/lang/uk.js +6 -0
- data/public/javascripts/ckeditor/lang/vi.js +6 -0
- data/public/javascripts/ckeditor/lang/zh-cn.js +6 -0
- data/public/javascripts/ckeditor/lang/zh.js +6 -0
- data/public/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +7 -0
- data/public/javascripts/ckeditor/plugins/a11yhelp/lang/en.js +6 -0
- data/public/javascripts/ckeditor/plugins/a11yhelp/lang/he.js +6 -0
- data/public/javascripts/ckeditor/plugins/about/dialogs/about.js +6 -0
- data/public/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
- data/public/javascripts/ckeditor/plugins/ajax_save/plugin.js +1 -0
- data/public/javascripts/ckeditor/plugins/attachment/dialogs/attachment.js +1 -0
- data/public/javascripts/ckeditor/plugins/attachment/images/attachment.png +0 -0
- data/public/javascripts/ckeditor/plugins/attachment/lang/en.js +10 -0
- data/public/javascripts/ckeditor/plugins/attachment/lang/ru.js +10 -0
- data/public/javascripts/ckeditor/plugins/attachment/lang/uk.js +10 -0
- data/public/javascripts/ckeditor/plugins/attachment/plugin.js +1 -0
- data/public/javascripts/ckeditor/plugins/autogrow/plugin.js +6 -0
- data/public/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +7 -0
- data/public/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +7 -0
- data/public/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
- data/public/javascripts/ckeditor/plugins/div/dialogs/div.js +8 -0
- data/public/javascripts/ckeditor/plugins/embed/dialogs/embed.js +1 -0
- data/public/javascripts/ckeditor/plugins/embed/images/embed.png +0 -0
- data/public/javascripts/ckeditor/plugins/embed/lang/en.js +9 -0
- data/public/javascripts/ckeditor/plugins/embed/lang/ru.js +9 -0
- data/public/javascripts/ckeditor/plugins/embed/lang/uk.js +9 -0
- data/public/javascripts/ckeditor/plugins/embed/plugin.js +1 -0
- data/public/javascripts/ckeditor/plugins/find/dialogs/find.js +9 -0
- data/public/javascripts/ckeditor/plugins/flash/dialogs/flash.js +9 -0
- data/public/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
- data/public/javascripts/ckeditor/plugins/forms/dialogs/button.js +6 -0
- data/public/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +6 -0
- data/public/javascripts/ckeditor/plugins/forms/dialogs/form.js +6 -0
- data/public/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +6 -0
- data/public/javascripts/ckeditor/plugins/forms/dialogs/radio.js +6 -0
- data/public/javascripts/ckeditor/plugins/forms/dialogs/select.js +9 -0
- data/public/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +6 -0
- data/public/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +7 -0
- data/public/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
- data/public/javascripts/ckeditor/plugins/iframedialog/plugin.js +6 -0
- data/public/javascripts/ckeditor/plugins/image/dialogs/image.js +13 -0
- data/public/javascripts/ckeditor/plugins/link/dialogs/anchor.js +6 -0
- data/public/javascripts/ckeditor/plugins/link/dialogs/link.js +11 -0
- data/public/javascripts/ckeditor/plugins/link/images/anchor.gif +0 -0
- data/public/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +6 -0
- data/public/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
- data/public/javascripts/ckeditor/plugins/pastefromword/filter/default.js +10 -0
- data/public/javascripts/ckeditor/plugins/pastetext/dialogs/pastetext.js +6 -0
- data/public/javascripts/ckeditor/plugins/scayt/dialogs/options.js +8 -0
- data/public/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +6 -0
- data/public/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
- data/public/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
- data/public/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
- data/public/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
- data/public/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
- data/public/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
- data/public/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
- data/public/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
- data/public/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
- data/public/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
- data/public/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +7 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
- data/public/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
- data/public/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +7 -0
- data/public/javascripts/ckeditor/plugins/styles/styles/default.js +6 -0
- data/public/javascripts/ckeditor/plugins/table/dialogs/table.js +9 -0
- data/public/javascripts/ckeditor/plugins/tableresize/plugin.js +7 -0
- data/public/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +8 -0
- data/public/javascripts/ckeditor/plugins/templates/dialogs/templates.js +7 -0
- data/public/javascripts/ckeditor/plugins/templates/templates/default.js +6 -0
- data/public/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
- data/public/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
- data/public/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
- data/public/javascripts/ckeditor/plugins/uicolor/dialogs/uicolor.js +7 -0
- data/public/javascripts/ckeditor/plugins/uicolor/lang/en.js +6 -0
- data/public/javascripts/ckeditor/plugins/uicolor/lang/he.js +6 -0
- data/public/javascripts/ckeditor/plugins/uicolor/plugin.js +6 -0
- data/public/javascripts/ckeditor/plugins/uicolor/uicolor.gif +0 -0
- data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
- data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
- data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
- data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
- data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +6 -0
- data/public/javascripts/ckeditor/plugins/uicolor/yui/yui.js +76 -0
- data/public/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
- data/public/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
- data/public/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +6 -0
- data/public/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +7 -0
- data/public/javascripts/ckeditor/skins/kama/dialog.css +9 -0
- data/public/javascripts/ckeditor/skins/kama/editor.css +12 -0
- data/public/javascripts/ckeditor/skins/kama/icons.png +0 -0
- data/public/javascripts/ckeditor/skins/kama/icons_rtl.png +0 -0
- data/public/javascripts/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
- data/public/javascripts/ckeditor/skins/kama/images/dialog_sides.png +0 -0
- data/public/javascripts/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
- data/public/javascripts/ckeditor/skins/kama/images/mini.gif +0 -0
- data/public/javascripts/ckeditor/skins/kama/images/noimage.png +0 -0
- data/public/javascripts/ckeditor/skins/kama/images/sprites.png +0 -0
- data/public/javascripts/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
- data/public/javascripts/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
- data/public/javascripts/ckeditor/skins/kama/skin.js +7 -0
- data/public/javascripts/ckeditor/skins/kama/templates.css +6 -0
- data/public/javascripts/ckeditor/skins/office2003/dialog.css +9 -0
- data/public/javascripts/ckeditor/skins/office2003/editor.css +13 -0
- data/public/javascripts/ckeditor/skins/office2003/icons.png +0 -0
- data/public/javascripts/ckeditor/skins/office2003/icons_rtl.png +0 -0
- data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
- data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
- data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
- data/public/javascripts/ckeditor/skins/office2003/images/mini.gif +0 -0
- data/public/javascripts/ckeditor/skins/office2003/images/noimage.png +0 -0
- data/public/javascripts/ckeditor/skins/office2003/images/sprites.png +0 -0
- data/public/javascripts/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
- data/public/javascripts/ckeditor/skins/office2003/skin.js +6 -0
- data/public/javascripts/ckeditor/skins/office2003/templates.css +6 -0
- data/public/javascripts/ckeditor/skins/v2/dialog.css +9 -0
- data/public/javascripts/ckeditor/skins/v2/editor.css +12 -0
- data/public/javascripts/ckeditor/skins/v2/icons.png +0 -0
- data/public/javascripts/ckeditor/skins/v2/icons_rtl.png +0 -0
- data/public/javascripts/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
- data/public/javascripts/ckeditor/skins/v2/images/dialog_sides.png +0 -0
- data/public/javascripts/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
- data/public/javascripts/ckeditor/skins/v2/images/mini.gif +0 -0
- data/public/javascripts/ckeditor/skins/v2/images/noimage.png +0 -0
- data/public/javascripts/ckeditor/skins/v2/images/sprites.png +0 -0
- data/public/javascripts/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
- data/public/javascripts/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
- data/public/javascripts/ckeditor/skins/v2/skin.js +6 -0
- data/public/javascripts/ckeditor/skins/v2/templates.css +6 -0
- data/public/javascripts/ckeditor/swfupload/fileprogress.js +275 -0
- data/public/javascripts/ckeditor/swfupload/handlers.js +170 -0
- data/public/javascripts/ckeditor/swfupload/mootools-1.2.3-core-yc.js +356 -0
- data/public/javascripts/ckeditor/swfupload/querystring.js +40 -0
- data/public/javascripts/ckeditor/swfupload/swfupload.js +1 -0
- data/public/javascripts/ckeditor/swfupload/swfupload.queue.js +1 -0
- data/public/javascripts/ckeditor/swfupload/swfupload.swf +0 -0
- data/public/javascripts/ckeditor/swfupload/swfupload.swfobject.js +111 -0
- data/public/javascripts/ckeditor/themes/default/theme.js +8 -0
- data/public/javascripts/controls.js +965 -0
- data/public/javascripts/dragdrop.js +974 -0
- data/public/javascripts/effects.js +1123 -0
- data/public/javascripts/prototype.js +6001 -0
- data/public/javascripts/rails.js +191 -0
- data/public/javascripts/sorttable.js +115 -0
- data/public/robots.txt +5 -0
- data/public/stylesheets/.gitkeep +0 -0
- data/public/stylesheets/admin.css +936 -0
- data/public/stylesheets/blog_logic.css +26 -0
- data/public/stylesheets/core.css +915 -0
- data/public/stylesheets/core_ie.css +52 -0
- data/public/stylesheets/csshover3.htc +14 -0
- data/script/cucumber +10 -0
- data/script/rails +6 -0
- data/spec/blueprints.rb +18 -0
- data/spec/controllers/admin/blogs_controller_spec.rb +54 -0
- data/spec/controllers/admin/posts_controller_spec.rb +59 -0
- data/spec/controllers/blogs_controller_spec.rb +14 -0
- data/spec/controllers/posts_controller_spec.rb +18 -0
- data/spec/models/blog_spec.rb +31 -0
- data/spec/models/post_spec.rb +46 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +13 -0
- data/tasks/blog_logic.rake +27 -0
- data/vendor/plugins/.gitkeep +0 -0
- metadata +1036 -0
data/Capfile
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
source 'http://rubygems.org'
|
2
|
+
source 'http://jose.seologic.com:8808/'
|
3
|
+
|
4
|
+
gem 'bson_ext'
|
5
|
+
gem 'carrierwave'
|
6
|
+
gem 'ckeditor', :git => 'git://github.com/Bantik/rails-ckeditor.git', :branch => 'rails3_mongoid'
|
7
|
+
gem 'kaminari'
|
8
|
+
gem 'mongoid', '>= 2.0.0.beta.17'
|
9
|
+
gem 'rails', '>= 3.0.1'
|
10
|
+
gem 'rmagick', '2.12.2' # version compatible with heroku
|
11
|
+
gem 'scaffold_logic', '>= 1.0.3'
|
12
|
+
gem 'SystemTimer'
|
13
|
+
|
14
|
+
group :development do
|
15
|
+
gem 'jeweler'
|
16
|
+
gem 'nokogiri'
|
17
|
+
end
|
18
|
+
|
19
|
+
group :test do
|
20
|
+
gem 'angry-pickle'
|
21
|
+
gem 'be_valid_asset'
|
22
|
+
gem 'capybara'
|
23
|
+
gem 'cucumber-rails'
|
24
|
+
gem 'database_cleaner'
|
25
|
+
gem 'faker'
|
26
|
+
gem 'gherkin'
|
27
|
+
gem 'launchy'
|
28
|
+
gem 'machinist_mongo', :require => 'machinist/mongoid'
|
29
|
+
gem 'metric_fu'
|
30
|
+
gem 'mocha'
|
31
|
+
gem 'rcov'
|
32
|
+
gem 'rspec-rails'
|
33
|
+
gem 'simplecov', '>= 0.4.0', :require => false
|
34
|
+
gem 'viewcumber'
|
35
|
+
end
|
data/Gemfile.local
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
source 'http://rubygems.org'
|
2
|
+
source 'http://jose.seologic.com:8808/'
|
3
|
+
|
4
|
+
gem 'bson_ext'
|
5
|
+
gem 'carrierwave'
|
6
|
+
gem 'ckeditor', :git => 'git://github.com/Bantik/rails-ckeditor.git', :branch => 'rails3_mongoid'
|
7
|
+
gem 'kaminari'
|
8
|
+
gem 'mongoid', '>= 2.0.0.beta.17'
|
9
|
+
gem 'rails', '>= 3.0.1'
|
10
|
+
gem 'rmagick', '2.12.2' # version compatible with heroku
|
11
|
+
gem 'scaffold_logic', :path => '~/Documents/projects/scaffold_logic'
|
12
|
+
gem 'SystemTimer'
|
13
|
+
|
14
|
+
group :development do
|
15
|
+
gem 'jeweler'
|
16
|
+
gem 'nokogiri'
|
17
|
+
end
|
18
|
+
|
19
|
+
group :test do
|
20
|
+
gem 'angry-pickle'
|
21
|
+
gem 'be_valid_asset'
|
22
|
+
gem 'capybara'
|
23
|
+
gem 'cucumber-rails'
|
24
|
+
gem 'database_cleaner'
|
25
|
+
gem 'faker'
|
26
|
+
gem 'gherkin'
|
27
|
+
gem 'launchy'
|
28
|
+
gem 'machinist_mongo', :require => 'machinist/mongoid'
|
29
|
+
gem 'metric_fu'
|
30
|
+
gem 'mocha'
|
31
|
+
gem 'rcov'
|
32
|
+
gem 'rspec-rails'
|
33
|
+
gem 'simplecov', '>= 0.4.0', :require => false
|
34
|
+
gem 'viewcumber'
|
35
|
+
end
|
data/README.rdoc
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
== Installation
|
2
|
+
|
3
|
+
Add to your Gemfile:
|
4
|
+
|
5
|
+
* gem "blog_logic"
|
6
|
+
|
7
|
+
Install BlogLogic into your application:
|
8
|
+
|
9
|
+
* rake blog_logic:install
|
10
|
+
|
11
|
+
Copy views for customization:
|
12
|
+
|
13
|
+
* rake blog_logic:views
|
14
|
+
|
15
|
+
Wire up admin:
|
16
|
+
|
17
|
+
• Link to /admin/blogs/
|
18
|
+
|
19
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'metric_fu'
|
2
|
+
require 'rubygems'
|
3
|
+
require 'rake'
|
4
|
+
require File.expand_path('../config/application', __FILE__)
|
5
|
+
|
6
|
+
BlogLogic::Application.load_tasks
|
7
|
+
|
8
|
+
begin
|
9
|
+
require 'jeweler'
|
10
|
+
Jeweler::Tasks.new do |gem|
|
11
|
+
gem.name = "blog_logic"
|
12
|
+
gem.summary = %Q{An engine for search-engine-optimized blog management.}
|
13
|
+
gem.description = %Q{An engine for search-engine-optimized blog management.}
|
14
|
+
gem.email = "corey@seologic.com"
|
15
|
+
gem.homepage = "https://mir.unfuddle.com/a#/projects/31942"
|
16
|
+
gem.authors = ["Bantik"]
|
17
|
+
gem.add_development_dependency "rspec", ">= 1.2.9"
|
18
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
19
|
+
end
|
20
|
+
Jeweler::GemcutterTasks.new
|
21
|
+
rescue LoadError
|
22
|
+
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
23
|
+
end
|
24
|
+
|
25
|
+
require 'rake/rdoctask'
|
26
|
+
Rake::RDocTask.new do |rdoc|
|
27
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
28
|
+
|
29
|
+
rdoc.rdoc_dir = 'rdoc'
|
30
|
+
rdoc.title = "blog_logic #{version}"
|
31
|
+
rdoc.rdoc_files.include('README*')
|
32
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
33
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.7.2
|
@@ -0,0 +1,47 @@
|
|
1
|
+
class Admin::BlogsController < ApplicationController
|
2
|
+
|
3
|
+
before_filter :authenticate_user! if Object.const_defined?('Devise')
|
4
|
+
before_filter :scope_blog, :except => [:create]
|
5
|
+
|
6
|
+
def index
|
7
|
+
end
|
8
|
+
|
9
|
+
def show
|
10
|
+
end
|
11
|
+
|
12
|
+
def new
|
13
|
+
end
|
14
|
+
|
15
|
+
def create
|
16
|
+
@blog = Blog.new(params[:blog])
|
17
|
+
if @blog.save
|
18
|
+
flash[:notice] = 'Successfully set up the blog.'
|
19
|
+
redirect_to admin_blog_path(@blog)
|
20
|
+
else
|
21
|
+
render :action => 'new'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def edit
|
26
|
+
end
|
27
|
+
|
28
|
+
def update
|
29
|
+
if @blog.update_attributes(params[:blog])
|
30
|
+
flash[:notice] = 'Successfully modified the blog.'
|
31
|
+
redirect_to admin_blog_path(@blog)
|
32
|
+
else
|
33
|
+
render :action => 'edit'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def scope_blog
|
40
|
+
if params[:id]
|
41
|
+
@blog = Blog.find(params[:id])
|
42
|
+
else
|
43
|
+
@blog = Blog.first || Blog.new
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
class Admin::PostsController < ApplicationController
|
2
|
+
include ActionControllerMixin
|
3
|
+
before_filter :authenticate_user! if Object.const_defined?('Devise')
|
4
|
+
before_filter :scope_blog
|
5
|
+
before_filter :scope_post, :only => [:destroy, :edit, :show, :update]
|
6
|
+
|
7
|
+
# CRUD ===========================================================================================
|
8
|
+
def index
|
9
|
+
params[:labels] = {
|
10
|
+
:humanize_path => 'URL',
|
11
|
+
:state => 'Status',
|
12
|
+
:updated_at => 'Last Modified'
|
13
|
+
}
|
14
|
+
params[:by] ||= 'humanize_path'; params[:dir] ||= 'ASC'
|
15
|
+
@posts = @blog.posts.sort{|a,b| a.send(params[:by]) <=> b.send(params[:by])}
|
16
|
+
@posts.reverse! if params[:dir] == 'DESC'
|
17
|
+
end
|
18
|
+
|
19
|
+
def show
|
20
|
+
end
|
21
|
+
|
22
|
+
def new
|
23
|
+
@post = @blog.posts.build
|
24
|
+
end
|
25
|
+
|
26
|
+
def create
|
27
|
+
handle_date_time params, :post, :publication_date
|
28
|
+
@post = @blog.posts.build params[:post]
|
29
|
+
|
30
|
+
if @post.save
|
31
|
+
@post.publish! if params[:commit] == 'Publish' || params[:post][:state] == 'published'
|
32
|
+
flash[:notice] = 'Successfully created post.'
|
33
|
+
redirect_to admin_blog_post_path(@blog, @post)
|
34
|
+
else
|
35
|
+
render :action => 'new'
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def edit
|
40
|
+
end
|
41
|
+
|
42
|
+
def update
|
43
|
+
handle_date_time params, :post, :publication_date
|
44
|
+
|
45
|
+
if params[:commit] == 'Preview'
|
46
|
+
@post = @blog.posts.new params[:post]
|
47
|
+
render :action => 'preview', :layout => 'application'
|
48
|
+
else
|
49
|
+
if @post.update_attributes params[:post]
|
50
|
+
@post.publish! if params[:commit] == "Publish"
|
51
|
+
@post.unpublish! if params[:commit] == "Save as Draft"
|
52
|
+
flash[:notice] = 'Successfully updated post.'
|
53
|
+
redirect_to admin_blog_post_path(@blog, @post)
|
54
|
+
else
|
55
|
+
render :action => 'edit'
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def destroy
|
61
|
+
@post.destroy
|
62
|
+
flash[:notice] = 'Successfully destroyed post.'
|
63
|
+
redirect_to admin_blog_posts_url(@blog)
|
64
|
+
end
|
65
|
+
|
66
|
+
private
|
67
|
+
|
68
|
+
def scope_blog
|
69
|
+
@blog = Blog.first
|
70
|
+
end
|
71
|
+
|
72
|
+
def scope_post
|
73
|
+
@post = @blog.posts.find params[:id]
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
class BlogsController < ApplicationController
|
2
|
+
|
3
|
+
before_filter :scope_blog
|
4
|
+
|
5
|
+
def archive
|
6
|
+
@posts_by_month = @blog.posts_by_month
|
7
|
+
end
|
8
|
+
|
9
|
+
def feed
|
10
|
+
@posts = @blog.posts.published
|
11
|
+
end
|
12
|
+
|
13
|
+
def search
|
14
|
+
@posts = params[:keyword] ? @blog.search(params[:keyword]) : []
|
15
|
+
end
|
16
|
+
|
17
|
+
def show
|
18
|
+
@posts = @blog.posts.page(params[:page]).published.per(@blog.posts_per_page)
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def scope_blog
|
24
|
+
@blog = Blog.by_slug(params[:blog_slug]).first
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class PostsController < ApplicationController
|
2
|
+
|
3
|
+
before_filter :scope_blog
|
4
|
+
|
5
|
+
def show
|
6
|
+
@post = @blog.posts.published.by_slug(params[:post_slug]).first
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def scope_blog
|
12
|
+
@blog = Blog.by_slug(params[:blog_slug]).first
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module ApplicationHelper
|
2
|
+
include ScaffoldLogic::FormHelper
|
3
|
+
include ScaffoldLogic::Helper
|
4
|
+
include ScaffoldLogic::TabInterfaceHelper
|
5
|
+
include ScaffoldLogic::MenuHelper
|
6
|
+
|
7
|
+
def admin_breadcrumbs
|
8
|
+
html = %{<ol class="breadcrumbs">}
|
9
|
+
|
10
|
+
# Top-level
|
11
|
+
html << content_tag(:li, link_to('Home', '/'))
|
12
|
+
|
13
|
+
# Secondary
|
14
|
+
|
15
|
+
# Tidy up
|
16
|
+
html << %{</ol>}
|
17
|
+
|
18
|
+
# Output that puppy.
|
19
|
+
html.html_safe
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
def breadcrumbs
|
24
|
+
unless controller?('home') && action?(/home|index/)
|
25
|
+
html = [ link_to('Home', root_path) ]
|
26
|
+
# html << link_to( 'Foo', foo_path ) if controller?('FoosController')
|
27
|
+
(html * ' > ').html_safe
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def set_title(title = nil, window_title = nil)
|
32
|
+
app_name ||= 'SEO Logic'
|
33
|
+
window_title ||= title
|
34
|
+
if title.nil?
|
35
|
+
content_for(:title) { app_name }
|
36
|
+
content_for(:page_title) { }
|
37
|
+
else
|
38
|
+
content_for(:title) { window_title + " - #{app_name}" }
|
39
|
+
content_for(:page_title) { title }
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
data/app/models/blog.rb
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
class Blog
|
2
|
+
include Mongoid::Document
|
3
|
+
include Mongoid::Timestamps
|
4
|
+
include BlogLogic::Base
|
5
|
+
|
6
|
+
# Attributes =====================================================================================
|
7
|
+
field :title
|
8
|
+
field :slug
|
9
|
+
field :description
|
10
|
+
field :default_author
|
11
|
+
field :posts_per_page, :type => Integer
|
12
|
+
field :rss_enabled, :type => Boolean
|
13
|
+
field :has_topics, :type => Boolean, :default => false
|
14
|
+
|
15
|
+
# Indices ========================================================================================
|
16
|
+
|
17
|
+
# Constants ======================================================================================
|
18
|
+
|
19
|
+
# Scopes =========================================================================================
|
20
|
+
scope :by_slug, lambda {|slug| {:where => {:slug => "#{slug}".gsub('//','/')} } }
|
21
|
+
|
22
|
+
# Relationships ==================================================================================
|
23
|
+
embeds_many :posts
|
24
|
+
|
25
|
+
# Behavior =======================================================================================
|
26
|
+
|
27
|
+
attr_accessor :desired_slug
|
28
|
+
has_slug :desired_slug
|
29
|
+
|
30
|
+
# Callbacks ======================================================================================
|
31
|
+
|
32
|
+
# Validations ====================================================================================
|
33
|
+
|
34
|
+
validates_presence_of :title, :description, :desired_slug
|
35
|
+
|
36
|
+
# Class methods ==================================================================================
|
37
|
+
|
38
|
+
# Instance methods ===============================================================================
|
39
|
+
|
40
|
+
def feed_address
|
41
|
+
"/#{self.slug}/feed.rss"
|
42
|
+
end
|
43
|
+
|
44
|
+
def humanize_path
|
45
|
+
"/#{self.slug}/".gsub(/\/\//,'/').gsub(/\/\//,'/')
|
46
|
+
end
|
47
|
+
|
48
|
+
def posts_by_month
|
49
|
+
dates = {}
|
50
|
+
self.posts.published.each do |p|
|
51
|
+
date = p.publication_date.to_s(:year_month)
|
52
|
+
dates[date] ||= {}
|
53
|
+
dates[date][:full_date] ||= p.publication_date.to_s(:month_year)
|
54
|
+
dates[date][:posts] ||= []
|
55
|
+
dates[date][:posts] << p
|
56
|
+
end
|
57
|
+
dates
|
58
|
+
end
|
59
|
+
|
60
|
+
def search(keyword)
|
61
|
+
self.posts.published.where(:content => /#{keyword}/i)
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
@@ -0,0 +1,101 @@
|
|
1
|
+
require 'mime/types'
|
2
|
+
require 'carrierwave/orm/mongoid'
|
3
|
+
|
4
|
+
class Ckeditor::Asset
|
5
|
+
|
6
|
+
include Mongoid::Document
|
7
|
+
include Mongoid::Timestamps
|
8
|
+
|
9
|
+
field :data
|
10
|
+
field :data_file_name
|
11
|
+
field :data_content_type
|
12
|
+
field :data_file_size, :type => Integer
|
13
|
+
field :assetable_id, :type => String
|
14
|
+
field :assetable_type
|
15
|
+
field :kind
|
16
|
+
field :guid
|
17
|
+
field :locale, :default => 0, :type => Integer
|
18
|
+
|
19
|
+
mount_uploader :data, BlogImageUploader
|
20
|
+
|
21
|
+
before_validation :make_content_type
|
22
|
+
before_create :make_dimensions
|
23
|
+
|
24
|
+
def url(*args)
|
25
|
+
data.url(*args)
|
26
|
+
end
|
27
|
+
|
28
|
+
alias :public_filename :url
|
29
|
+
|
30
|
+
def filename
|
31
|
+
data_file_name
|
32
|
+
end
|
33
|
+
|
34
|
+
def content_type
|
35
|
+
data_content_type
|
36
|
+
end
|
37
|
+
|
38
|
+
def size
|
39
|
+
data_file_size
|
40
|
+
end
|
41
|
+
|
42
|
+
def path
|
43
|
+
data.path
|
44
|
+
end
|
45
|
+
|
46
|
+
def styles
|
47
|
+
data.styles
|
48
|
+
end
|
49
|
+
|
50
|
+
def format_created_at
|
51
|
+
I18n.l(self.created_at, :format=>"%d.%m.%Y %H:%M")
|
52
|
+
end
|
53
|
+
|
54
|
+
def to_xml(options = {})
|
55
|
+
builder = options[:builder] ||= Nokogiri::XML::Builder.new(options)
|
56
|
+
|
57
|
+
builder.send(self.type.to_s.downcase) do |xml|
|
58
|
+
xml.id_ self.id
|
59
|
+
xml.filename self.filename
|
60
|
+
xml.size self.size
|
61
|
+
xml.path self.url
|
62
|
+
|
63
|
+
xml.styles do
|
64
|
+
self.styles.each do |style|
|
65
|
+
xml.send(style.first, self.url(style.first))
|
66
|
+
end
|
67
|
+
end unless self.styles.empty?
|
68
|
+
end
|
69
|
+
|
70
|
+
builder.to_xml
|
71
|
+
end
|
72
|
+
|
73
|
+
def has_dimensions?
|
74
|
+
self.respond_to?(:width) && self.respond_to?(:height)
|
75
|
+
end
|
76
|
+
|
77
|
+
def image?
|
78
|
+
["image/jpeg", "image/tiff", "image/png", "image/gif", "image/bmp"].include?(self.data_content_type)
|
79
|
+
end
|
80
|
+
|
81
|
+
def geometry
|
82
|
+
@geometry ||= Paperclip::Geometry.from_file(data.to_file)
|
83
|
+
@geometry
|
84
|
+
end
|
85
|
+
|
86
|
+
private
|
87
|
+
|
88
|
+
def make_dimensions
|
89
|
+
if image? && has_dimensions?
|
90
|
+
self.width = geometry.width
|
91
|
+
self.height = geometry.height
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
def make_content_type
|
96
|
+
if data_content_type == "application/octet-stream"
|
97
|
+
content_types = MIME::Types.type_for(filename)
|
98
|
+
self.data_content_type = content_types.first.to_s unless content_types.empty?
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
class Ckeditor::AttachmentFile < Ckeditor::Asset
|
2
|
+
|
3
|
+
def url(*args)
|
4
|
+
if [:thumb, :content].include?(args.first)
|
5
|
+
send("url_#{args.first}")
|
6
|
+
else
|
7
|
+
data.url(*args)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def url_content
|
12
|
+
data.url
|
13
|
+
end
|
14
|
+
|
15
|
+
def url_thumb
|
16
|
+
extname = File.extname(filename)
|
17
|
+
|
18
|
+
case extname.to_s
|
19
|
+
when '.swf' then '/javascripts/ckeditor/images/swf.gif'
|
20
|
+
when '.pdf' then '/javascripts/ckeditor/images/pdf.gif'
|
21
|
+
when '.doc', '.txt' then '/javascripts/ckeditor/images/doc.gif'
|
22
|
+
when '.mp3' then '/javascripts/ckeditor/images/mp3.gif'
|
23
|
+
when '.rar', '.zip', '.tg' then '/javascripts/ckeditor/images/rar.gif'
|
24
|
+
when '.xls' then '/javascripts/ckeditor/images/xls.gif'
|
25
|
+
else '/javascripts/ckeditor/images/ckfnothumb.gif'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def to_json(options = {})
|
30
|
+
options[:methods] ||= []
|
31
|
+
options[:methods] << :url_content
|
32
|
+
options[:methods] << :url_thumb
|
33
|
+
super options
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class Ckeditor::Picture < Ckeditor::Asset
|
2
|
+
|
3
|
+
def url_content
|
4
|
+
url(:content)
|
5
|
+
end
|
6
|
+
|
7
|
+
def url_thumb
|
8
|
+
url(:thumb)
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_json(options = {})
|
12
|
+
options[:methods] ||= []
|
13
|
+
options[:methods] << :url_content
|
14
|
+
options[:methods] << :url_thumb
|
15
|
+
super options
|
16
|
+
end
|
17
|
+
end
|
data/app/models/post.rb
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
class Post
|
2
|
+
include Mongoid::Document
|
3
|
+
include Mongoid::Timestamps
|
4
|
+
include BlogLogic::Base
|
5
|
+
|
6
|
+
# Attributes =====================================================================================
|
7
|
+
field :title
|
8
|
+
field :content
|
9
|
+
field :tags, :type => Array
|
10
|
+
field :slug
|
11
|
+
field :author
|
12
|
+
field :published_at, :type => Date
|
13
|
+
field :state
|
14
|
+
field :publication_date, :type => DateTime
|
15
|
+
field :summary
|
16
|
+
|
17
|
+
# Indices ========================================================================================
|
18
|
+
index :slug, :unique => false
|
19
|
+
index :state, :unique => false
|
20
|
+
|
21
|
+
# Constants ======================================================================================
|
22
|
+
STATES = ['draft', 'published']
|
23
|
+
|
24
|
+
# Scopes =========================================================================================
|
25
|
+
scope :drafts, :where => {:state => 'draft'}
|
26
|
+
scope :published, :where => {:state => 'published'}, :descending => :publication_date
|
27
|
+
scope :by_slug, lambda {|slug| {:where => {:slug.in => ["#{slug}".gsub('//','/'), "/#{slug}/".gsub('//','/')] } } }
|
28
|
+
|
29
|
+
# Relationships ==================================================================================
|
30
|
+
embedded_in :blog, :inverse_of => :posts
|
31
|
+
|
32
|
+
# Behavior =======================================================================================
|
33
|
+
|
34
|
+
attr_accessor :desired_slug
|
35
|
+
has_slug :desired_slug
|
36
|
+
|
37
|
+
# Callbacks ======================================================================================
|
38
|
+
|
39
|
+
# Validations ====================================================================================
|
40
|
+
|
41
|
+
class DesiredSlugPresenceAndUniquenessValidator < ActiveModel::EachValidator
|
42
|
+
def validate_each(object, attribute, value)
|
43
|
+
object.desired_slug = object.title unless object.desired_slug
|
44
|
+
if object.blog && object.blog.posts.map{|p| p.slug unless p == object}.include?(object.desired_slug)
|
45
|
+
object.errors[attribute] << (options[:message] || "must be unique.")
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
validates :desired_slug, :desired_slug_presence_and_uniqueness => true
|
51
|
+
validates_presence_of :title
|
52
|
+
validates_presence_of :content
|
53
|
+
|
54
|
+
# Class methods ==================================================================================
|
55
|
+
|
56
|
+
# Instance methods ===============================================================================
|
57
|
+
|
58
|
+
def draft?
|
59
|
+
self.state == 'draft' || self.state.nil?
|
60
|
+
end
|
61
|
+
|
62
|
+
def full_path
|
63
|
+
"#{self.blog.humanize_path}#{self.humanize_path}".gsub('//','/')
|
64
|
+
end
|
65
|
+
|
66
|
+
def humanize_path
|
67
|
+
"/#{self.slug}/".gsub(/\/\//,'/').gsub(/\/\//,'/')
|
68
|
+
end
|
69
|
+
|
70
|
+
def my_index
|
71
|
+
self.blog.posts.index(self)
|
72
|
+
end
|
73
|
+
|
74
|
+
def next_post
|
75
|
+
i = self.my_index + 1
|
76
|
+
i = 0 if i > (self.blog.posts.size - 1)
|
77
|
+
self.blog.posts[i]
|
78
|
+
end
|
79
|
+
|
80
|
+
def previous_post
|
81
|
+
i = self.my_index - 1
|
82
|
+
i = self.blog.posts.size - 1 if i < 0
|
83
|
+
self.blog.posts[i]
|
84
|
+
end
|
85
|
+
|
86
|
+
def publish!
|
87
|
+
self.update_attributes(:state => 'published', :publication_date => Time.zone.now)
|
88
|
+
end
|
89
|
+
|
90
|
+
def published?
|
91
|
+
self.state == 'published'
|
92
|
+
end
|
93
|
+
|
94
|
+
def unpublish!
|
95
|
+
self.update_attributes(:state => 'draft', :publication_date => nil)
|
96
|
+
end
|
97
|
+
|
98
|
+
def state=(arg)
|
99
|
+
self[:state] = arg.downcase
|
100
|
+
end
|
101
|
+
|
102
|
+
def status
|
103
|
+
self.state ? self.state.capitalize : 'Draft'
|
104
|
+
end
|
105
|
+
|
106
|
+
end
|