blogo 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.markdown +97 -0
- data/Rakefile +24 -0
- data/app/assets/images/blogo/background.png +0 -0
- data/app/assets/images/blogo/github-icon-active.png +0 -0
- data/app/assets/images/blogo/github-icon.png +0 -0
- data/app/assets/images/blogo/rss-icon-active.png +0 -0
- data/app/assets/images/blogo/rss-icon.png +0 -0
- data/app/assets/images/blogo/twitter-icon-active.png +0 -0
- data/app/assets/images/blogo/twitter-icon.png +0 -0
- data/app/assets/javascripts/blogo/admin/application.js +13 -0
- data/app/assets/javascripts/blogo/admin/ckeditor.js +2 -0
- data/app/assets/javascripts/blogo/admin/helpers/post_preview.js.coffee +41 -0
- data/app/assets/javascripts/blogo/admin/helpers/title_to_url.js.coffee +19 -0
- data/app/assets/javascripts/blogo/ckeditor/ckeditor_basepath.js.erb +6 -0
- data/app/assets/javascripts/blogo/ckeditor/config.js.erb +41 -0
- data/app/assets/stylesheets/blogo/admin.sass +105 -0
- data/app/assets/stylesheets/blogo/blog.sass +198 -0
- data/app/controllers/blogo/admin/base_controller.rb +19 -0
- data/app/controllers/blogo/admin/comments_controller.rb +7 -0
- data/app/controllers/blogo/admin/images_controller.rb +44 -0
- data/app/controllers/blogo/admin/posts_controller.rb +64 -0
- data/app/controllers/blogo/admin/sessions_controller.rb +24 -0
- data/app/controllers/blogo/application_controller.rb +2 -0
- data/app/controllers/blogo/posts_controller.rb +82 -0
- data/app/form_builders/blogo/form_builder.rb +17 -0
- data/app/helpers/blogo/admin/base_helper.rb +10 -0
- data/app/helpers/blogo/application_helper.rb +40 -0
- data/app/models/blogo/post.rb +59 -0
- data/app/models/blogo/tag.rb +10 -0
- data/app/models/blogo/tagging.rb +4 -0
- data/app/models/blogo/user.rb +9 -0
- data/app/services/blogo/base_post_service.rb +51 -0
- data/app/services/blogo/create_post_service.rb +27 -0
- data/app/services/blogo/destroy_post_service.rb +13 -0
- data/app/services/blogo/preview_post_service.rb +20 -0
- data/app/services/blogo/update_post_service.rb +24 -0
- data/app/views/blogo/admin/comments/index.html.erb +5 -0
- data/app/views/blogo/admin/images/create.erb +6 -0
- data/app/views/blogo/admin/posts/_form.html.erb +57 -0
- data/app/views/blogo/admin/posts/_post_li.html.erb +14 -0
- data/app/views/blogo/admin/posts/edit.html.erb +5 -0
- data/app/views/blogo/admin/posts/index.html.erb +18 -0
- data/app/views/blogo/admin/posts/new.html.erb +5 -0
- data/app/views/blogo/admin/sessions/new.html.erb +14 -0
- data/app/views/blogo/admin/shared/_nav_bar.html.erb +10 -0
- data/app/views/blogo/posts/_icons.html.erb +11 -0
- data/app/views/blogo/posts/_meta.html.erb +33 -0
- data/app/views/blogo/posts/_paginator.html.erb +20 -0
- data/app/views/blogo/posts/_post_header.html.erb +20 -0
- data/app/views/blogo/posts/_post_overview.html.erb +9 -0
- data/app/views/blogo/posts/feed.atom.builder +18 -0
- data/app/views/blogo/posts/index.html.erb +6 -0
- data/app/views/blogo/posts/show.html.erb +4 -0
- data/app/views/blogo/shared/_aside.html.erb +24 -0
- data/app/views/blogo/shared/_disqus_comments.html.erb +20 -0
- data/app/views/blogo/shared/_google_analytics.html.erb +16 -0
- data/app/views/blogo/shared/_post.html.erb +7 -0
- data/app/views/layouts/blogo/admin.html.erb +29 -0
- data/app/views/layouts/blogo/blog.html.erb +41 -0
- data/config/routes.rb +27 -0
- data/db/migrate/20140218134508_create_blogo_users.rb +15 -0
- data/db/migrate/20140218134512_create_blogo_tags.rb +13 -0
- data/db/migrate/20140218134550_create_blogo_posts.rb +29 -0
- data/db/migrate/20140218134620_create_blogo_taggings.rb +12 -0
- data/lib/blogo.rb +25 -0
- data/lib/blogo/config.rb +46 -0
- data/lib/blogo/engine.rb +20 -0
- data/lib/blogo/errors.rb +5 -0
- data/lib/blogo/paginator.rb +111 -0
- data/lib/blogo/renderer.rb +29 -0
- data/lib/blogo/renderer/base.rb +48 -0
- data/lib/blogo/renderer/html.rb +10 -0
- data/lib/blogo/renderer/markdown.rb +14 -0
- data/lib/blogo/version.rb +3 -0
- data/lib/tasks/blogo_tasks.rake +25 -0
- data/vendor/assets/images/blogo/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/plugins/fakeobjects/images/spacer.gif +0 -0
- data/vendor/assets/images/blogo/ckeditor/plugins/icons.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/plugins/icons_hidpi.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/plugins/image/images/noimage.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/plugins/link/images/anchor.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/plugins/magicline/images/icon.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/skins/moono/icons.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/skins/moono/icons_hidpi.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/skins/moono/images/arrow.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/skins/moono/images/close.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/skins/moono/images/hidpi/close.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/skins/moono/images/hidpi/lock-open.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/skins/moono/images/hidpi/lock.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/skins/moono/images/hidpi/refresh.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/skins/moono/images/lock-open.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/skins/moono/images/lock.png +0 -0
- data/vendor/assets/images/blogo/ckeditor/skins/moono/images/refresh.png +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/ckeditor.js +902 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/af.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/ar.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/bg.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/bn.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/bs.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/ca.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/cs.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/cy.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/da.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/de.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/el.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/en-au.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/en-ca.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/en-gb.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/en.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/eo.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/es.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/et.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/eu.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/fa.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/fi.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/fo.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/fr-ca.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/fr.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/gl.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/gu.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/he.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/hi.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/hr.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/hu.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/id.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/is.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/it.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/ja.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/ka.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/km.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/ko.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/ku.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/lt.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/lv.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/mk.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/mn.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/ms.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/nb.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/nl.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/no.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/pl.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/pt-br.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/pt.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/ro.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/ru.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/si.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/sk.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/sl.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/sq.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/sr-latn.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/sr.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/sv.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/th.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/tr.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/ug.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/uk.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/vi.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/zh-cn.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/lang/zh.js +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +9 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +10 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +9 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js +10 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/about/dialogs/about.js +7 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/clipboard/dialogs/paste.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/image/dialogs/image.js +43 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/link/dialogs/anchor.js +8 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/link/dialogs/link.js +37 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/link/images/anchor.png +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/pastefromword/filter/default.js +31 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/scayt/dialogs/options.js +20 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/ar.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/bg.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/ca.js +14 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/cs.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/cy.js +14 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/de.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/el.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/en.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/eo.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/es.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/et.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/fa.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/fi.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +10 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/fr.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/gl.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/he.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/hr.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/hu.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/id.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/it.js +14 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/ja.js +9 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/km.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/ku.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/lv.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/nb.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/nl.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/no.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/pl.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/pt.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/ru.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/si.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/sk.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/sl.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/sq.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/sv.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/th.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/tr.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/ug.js +13 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/uk.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/vi.js +14 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +9 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/lang/zh.js +12 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/specialchar/dialogs/specialchar.js +14 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/table/dialogs/table.js +21 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/tabletools/dialogs/tableCell.js +16 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/wpmore/demo.html +67 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/wpmore/images/more.gif +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/wpmore/images/more_bug.gif +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/wpmore/images/page.gif +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/wpmore/plugin.js +179 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/wsc/dialogs/ciframe.html +66 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/wsc/dialogs/tmp.html +118 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/wsc/dialogs/wsc.css +82 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/wsc/dialogs/wsc.js +67 -0
- data/vendor/assets/javascripts/blogo/ckeditor/plugins/wsc/dialogs/wsc_ie.js +11 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/dialog.css +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/dialog_ie.css +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/dialog_ie7.css +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/dialog_ie8.css +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/dialog_iequirks.css +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/dialog_opera.css +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/editor.css +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/editor_gecko.css +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/editor_ie.css +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/editor_ie7.css +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/editor_ie8.css +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/editor_iequirks.css +5 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/icons.png +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/icons_hidpi.png +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/images/arrow.png +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/images/close.png +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/images/hidpi/close.png +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/images/hidpi/lock-open.png +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/images/hidpi/lock.png +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/images/hidpi/refresh.png +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/images/lock-open.png +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/images/lock.png +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/skins/moono/images/refresh.png +0 -0
- data/vendor/assets/javascripts/blogo/ckeditor/styles.js +111 -0
- data/vendor/assets/javascripts/blogo/modal.js +315 -0
- data/vendor/assets/javascripts/blogo/moment.js +6 -0
- data/vendor/assets/javascripts/blogo/pikaday.js +920 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/contents.css +123 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/plugins/wsc/dialogs/wsc.css +82 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/skins/moono/dialog.css +5 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/skins/moono/dialog_ie.css +5 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/skins/moono/dialog_ie7.css +5 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/skins/moono/dialog_ie8.css +5 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/skins/moono/dialog_iequirks.css +5 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/skins/moono/dialog_opera.css +5 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/skins/moono/editor.css +5 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/skins/moono/editor_gecko.css +5 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/skins/moono/editor_ie.css +5 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/skins/moono/editor_ie7.css +5 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/skins/moono/editor_ie8.css +5 -0
- data/vendor/assets/stylesheets/blogo/ckeditor/skins/moono/editor_iequirks.css +5 -0
- data/vendor/assets/stylesheets/blogo/modal.scss +326 -0
- data/vendor/assets/stylesheets/blogo/pikaday.css +170 -0
- data/vendor/assets/stylesheets/blogo/pure-min.css +11 -0
- metadata +418 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b1742ff32a077f69bc0786edfb895bd09b73ba04
|
4
|
+
data.tar.gz: 4eb0b1c4c08b70aae5494c18668d5f2635606b13
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ee7b9854089efdf2000f44cb0dccc5446101507b41b25fbf6d4fd068f435176e291d5bb6d881a10f8fa90c4afe87f03d6d8cf395174d14f7a8cd95c8b22681c1
|
7
|
+
data.tar.gz: 6e1ea9c205975584e3eab3c7f8d49bfaac3e74ab36abc1b6cd6bf9bfa14473be54d5141dc4e3a1348a1827d6541cb5331c641ae2b53c6e3fe887cab466f7989b
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2014 Sergey Potapov
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.markdown
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
# Blogo
|
2
|
+
|
3
|
+
Mountable blog engine for Ruby on Rails 4.
|
4
|
+
|
5
|
+
## How it looks like?
|
6
|
+
|
7
|
+
Blog:
|
8
|
+
|
9
|
+
<a href="http://i1078.photobucket.com/albums/w484/greyblake/blogo_mountable_blog_rails_engine.png" target="_blank">
|
10
|
+
<img src="http://i1078.photobucket.com/albums/w484/greyblake/th_blogo_mountable_blog_rails_engine.png" border="0" title="Blogo - mountable blog engine for Ruby on Rails" alt="Blogo - mountable blog engine for Ruby on Rails" style=""></a>
|
11
|
+
</a>
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
Admin:
|
16
|
+
|
17
|
+
<a href="http://i1078.photobucket.com/albums/w484/greyblake/blogo_admin_mountable_blog_rails_engine.png" target="_blank">
|
18
|
+
<img src="http://i1078.photobucket.com/albums/w484/greyblake/th_blogo_admin_mountable_blog_rails_engine.png" border="0" title="Blogo - mountable blog engine for Ruby on Rails(admin)" alt="Blogo - mountable blog engine for Ruby on Rails" style=""></a>
|
19
|
+
</a>
|
20
|
+
|
21
|
+
## Quick start
|
22
|
+
|
23
|
+
|
24
|
+
Add the gem to Gemfile of you Rails application:
|
25
|
+
|
26
|
+
```
|
27
|
+
gem 'blogo'
|
28
|
+
```
|
29
|
+
|
30
|
+
Install the gem:
|
31
|
+
|
32
|
+
```
|
33
|
+
bundle install
|
34
|
+
```
|
35
|
+
|
36
|
+
Install blogo migrations and run them:
|
37
|
+
|
38
|
+
```
|
39
|
+
bundle exec rake blogo:install:migrations
|
40
|
+
bundle exec rake db:migrate
|
41
|
+
```
|
42
|
+
|
43
|
+
|
44
|
+
Create a user:
|
45
|
+
|
46
|
+
```
|
47
|
+
rake blogo:create_user[user_name,user@email.com,password]
|
48
|
+
```
|
49
|
+
|
50
|
+
Mount the blog engine to you rails application in `config/routes.rb`:
|
51
|
+
|
52
|
+
```
|
53
|
+
mount Blogo::Engine, at: '/blog'
|
54
|
+
```
|
55
|
+
|
56
|
+
Run the rails application and go to http://localhost:3000/blog/admin to create you first post!
|
57
|
+
|
58
|
+
Go to http://localhost::3000/blog to take a look at your posts.
|
59
|
+
|
60
|
+
|
61
|
+
## Features
|
62
|
+
|
63
|
+
* Mountable rails engine
|
64
|
+
* Image upload
|
65
|
+
* "Read more" feature
|
66
|
+
* Tags
|
67
|
+
* Comments with Disqus
|
68
|
+
* Atom feed
|
69
|
+
* Pagination
|
70
|
+
* Designed to support multiple formats(html, markdown, whatever)
|
71
|
+
* WYSIWYG editor(for html format)
|
72
|
+
* Google Analytics
|
73
|
+
* Social icons (Github, Twitter, can be more if you need it)
|
74
|
+
* SEO optimized: generates meta description, keywords, meta tags for facebook([OpenGraph](http://ogp.me/)) and twitter
|
75
|
+
* Can be customized for your own needs.
|
76
|
+
* Very few external dependencies
|
77
|
+
|
78
|
+
|
79
|
+
## Markup Formats
|
80
|
+
|
81
|
+
|
82
|
+
The next formats are supported out of the box, but don't forget to
|
83
|
+
add necessary dependencies to your Gemfile manually.
|
84
|
+
|
85
|
+
| Format | Dependency |
|
86
|
+
|----------|------------|
|
87
|
+
| html | - |
|
88
|
+
| markdown | redcarpet |
|
89
|
+
|
90
|
+
|
91
|
+
## Credits
|
92
|
+
|
93
|
+
* [Sergey Potapov](https://github.com/greyblake) - creator and maintainer
|
94
|
+
|
95
|
+
## License
|
96
|
+
|
97
|
+
This project rocks and uses MIT-LICENSE.
|
data/Rakefile
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'bundler/setup'
|
5
|
+
rescue LoadError
|
6
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
7
|
+
end
|
8
|
+
|
9
|
+
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
|
10
|
+
load 'rails/tasks/engine.rake'
|
11
|
+
|
12
|
+
Bundler::GemHelper.install_tasks
|
13
|
+
|
14
|
+
Dir[File.join(File.dirname(__FILE__), 'tasks/**/*.rake')].each {|f| load f }
|
15
|
+
|
16
|
+
require 'rspec/core'
|
17
|
+
require 'rspec/core/rake_task'
|
18
|
+
|
19
|
+
desc "Run all specs in spec directory"
|
20
|
+
RSpec::Core::RakeTask.new :spec => %w(app:db:drop app:db:create app:db:migrate app:db:test:prepare)
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
task :default => :spec
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,13 @@
|
|
1
|
+
// This is a manifest file that'll be compiled into including all the files listed below.
|
2
|
+
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
|
3
|
+
// be included in the compiled file accessible from http://example.com/assets/application.js
|
4
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
5
|
+
// the compiled file.
|
6
|
+
//
|
7
|
+
//= require jquery
|
8
|
+
//= require jquery_ujs
|
9
|
+
//
|
10
|
+
//= require blogo/modal
|
11
|
+
//= require blogo/moment
|
12
|
+
//= require blogo/pikaday
|
13
|
+
//= require_tree ./helpers
|
@@ -0,0 +1,41 @@
|
|
1
|
+
class PostPreview
|
2
|
+
# @param buttonId [String] id of preview button
|
3
|
+
# @param formId [String]
|
4
|
+
# @param modalId [String] id of modal with iframe
|
5
|
+
# @param postUrl [String] URL to send post request for preview
|
6
|
+
constructor: (@buttonId, @formId, @postUrl, @modalId) ->
|
7
|
+
@button = $("##{@buttonId}")
|
8
|
+
@form = $("##{@formId}")
|
9
|
+
@modal = $("##{@modalId}")
|
10
|
+
@iframe = @modal.find('iframe')
|
11
|
+
|
12
|
+
# Add onclick handler to the button
|
13
|
+
init: ->
|
14
|
+
url = @postUrl
|
15
|
+
callback = @previewPost
|
16
|
+
|
17
|
+
@button.on 'click', (event) =>
|
18
|
+
@updateCKeditor()
|
19
|
+
event.preventDefault()
|
20
|
+
$.ajax(
|
21
|
+
type: "POST",
|
22
|
+
url: url,
|
23
|
+
data: @form.serialize(),
|
24
|
+
success: (data)=>
|
25
|
+
@previewPost(data)
|
26
|
+
)
|
27
|
+
|
28
|
+
# Display response data(HTML) in the iframe. And open the modal.
|
29
|
+
previewPost: (data) ->
|
30
|
+
@iframe.contents().find('html').html(data)
|
31
|
+
document.location.hash = @modalId
|
32
|
+
|
33
|
+
# Make CKeditor set value so it can be sent.
|
34
|
+
updateCKeditor: ->
|
35
|
+
if CKEDITOR?
|
36
|
+
for name, instance of CKEDITOR.instances
|
37
|
+
instance.updateElement();
|
38
|
+
|
39
|
+
|
40
|
+
# Export
|
41
|
+
window.PostPreview = PostPreview
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Automatically fills URL for a post from a title.
|
2
|
+
$.fn.titleToUrl = (urlSelector) ->
|
3
|
+
titleInput = $(this)
|
4
|
+
urlInput = $(urlSelector)
|
5
|
+
|
6
|
+
titleInput.on 'input', ->
|
7
|
+
url = toUrl(titleInput.val())
|
8
|
+
urlInput.val(url)
|
9
|
+
|
10
|
+
|
11
|
+
# Convert title to URL
|
12
|
+
toUrl = (title) ->
|
13
|
+
url = title.toLowerCase()
|
14
|
+
|
15
|
+
url = url.replace("'", '');
|
16
|
+
url = url.replace(/[^a-z0-9]/g, ' ')
|
17
|
+
url = url.replace(/^\s+|\s+$|/g, '');
|
18
|
+
url = url.replace(/\s+/g, '-')
|
19
|
+
url
|
@@ -0,0 +1,41 @@
|
|
1
|
+
CKEDITOR.editorConfig = function( config ) {
|
2
|
+
// Define changes to default configuration here.
|
3
|
+
// For the complete reference:
|
4
|
+
// http://docs.ckeditor.com/#!/api/CKEDITOR.config
|
5
|
+
|
6
|
+
// The toolbar groups arrangement, optimized for two toolbar rows.
|
7
|
+
config.toolbarGroups = [
|
8
|
+
{ name: 'styles' },
|
9
|
+
{ name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
|
10
|
+
{ name: 'links' },
|
11
|
+
{ name: 'insert' },
|
12
|
+
{ name: 'forms' },
|
13
|
+
{ name: 'others' },
|
14
|
+
{ name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] },
|
15
|
+
{ name: 'colors' },
|
16
|
+
{ name: 'editing', groups: [ 'find', 'selection', 'spellchecker' ] },
|
17
|
+
{ name: 'document', groups: [ 'mode', 'document', 'doctools' ] },
|
18
|
+
{ name: 'tools' },
|
19
|
+
];
|
20
|
+
|
21
|
+
// Remove some buttons, provided by the standard plugins, which we don't
|
22
|
+
// need to have in the Standard(s) toolbar.
|
23
|
+
config.removeButtons = 'Underline,Subscript,Superscript';
|
24
|
+
|
25
|
+
// Se the most common block elements.
|
26
|
+
config.format_tags = 'p;h1;h2;h3;pre';
|
27
|
+
|
28
|
+
// Make dialogs simpler.
|
29
|
+
config.removeDialogTabs = 'image:advanced;link:advanced';
|
30
|
+
|
31
|
+
// "Read more" plugin
|
32
|
+
config.extraPlugins = 'wpmore';
|
33
|
+
|
34
|
+
// URL to upload images with image plugin
|
35
|
+
config.filebrowserUploadUrl = '<%= Blogo::Engine.routes.url_helpers.admin_images_path %>';
|
36
|
+
|
37
|
+
// Height
|
38
|
+
config.height = '350px';
|
39
|
+
};
|
40
|
+
|
41
|
+
|
@@ -0,0 +1,105 @@
|
|
1
|
+
/*
|
2
|
+
*= require blogo/pure-min
|
3
|
+
*= require blogo/modal
|
4
|
+
*= require blogo/pikaday
|
5
|
+
*/
|
6
|
+
|
7
|
+
$link-color: #286790
|
8
|
+
|
9
|
+
a
|
10
|
+
color: $link-color
|
11
|
+
|
12
|
+
#admin-container
|
13
|
+
background: #fff
|
14
|
+
margin: 20px
|
15
|
+
display: block
|
16
|
+
|
17
|
+
#modal-preview
|
18
|
+
width: 100%
|
19
|
+
height: 100%
|
20
|
+
.modal-inner
|
21
|
+
height: 100%
|
22
|
+
width: 100%
|
23
|
+
margin: auto
|
24
|
+
left: 0px
|
25
|
+
header
|
26
|
+
h1
|
27
|
+
font-size: 20px
|
28
|
+
font-weight: 100
|
29
|
+
.modal-content
|
30
|
+
height: 90%
|
31
|
+
max-height: 90%
|
32
|
+
iframe
|
33
|
+
display: block
|
34
|
+
margin: auto
|
35
|
+
width: 100%
|
36
|
+
height: 100%
|
37
|
+
border: none
|
38
|
+
|
39
|
+
.form-new-post
|
40
|
+
.left-fields
|
41
|
+
width: 97%
|
42
|
+
input
|
43
|
+
width: 100%
|
44
|
+
textarea
|
45
|
+
width: 100%
|
46
|
+
height: 350px
|
47
|
+
|
48
|
+
#post-title
|
49
|
+
font-weight: bold
|
50
|
+
color: #444
|
51
|
+
#post-url
|
52
|
+
padding: 11px 7px
|
53
|
+
font-size: 12px
|
54
|
+
|
55
|
+
#admin-menu
|
56
|
+
margin: 0 auto
|
57
|
+
.nav
|
58
|
+
padding: 0px
|
59
|
+
background-color: #fff
|
60
|
+
box-shadow: 0px 0px 10px #aaa
|
61
|
+
|
62
|
+
li
|
63
|
+
margin: 8px
|
64
|
+
ul.pull-right
|
65
|
+
text-align: right
|
66
|
+
float: right
|
67
|
+
|
68
|
+
margin-bottom: 10px
|
69
|
+
|
70
|
+
.admin-header
|
71
|
+
color: #888
|
72
|
+
font-size: 18px
|
73
|
+
|
74
|
+
|
75
|
+
.alert
|
76
|
+
padding: 20px
|
77
|
+
margin: 10px auto
|
78
|
+
|
79
|
+
.alert-error
|
80
|
+
background-color: #FEE
|
81
|
+
|
82
|
+
.alert-info
|
83
|
+
background-color: #EFE
|
84
|
+
|
85
|
+
.input-content
|
86
|
+
height: 250px
|
87
|
+
|
88
|
+
|
89
|
+
.field_with_errors input
|
90
|
+
background: #fff0f0
|
91
|
+
|
92
|
+
|
93
|
+
.button-secondary, .button-warning, .button-success
|
94
|
+
color: white
|
95
|
+
border-radius: 4px
|
96
|
+
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2)
|
97
|
+
|
98
|
+
.button-secondary
|
99
|
+
background: rgb(66, 184, 221)
|
100
|
+
|
101
|
+
.button-warning
|
102
|
+
background: rgb(223, 117, 20)
|
103
|
+
|
104
|
+
.button-success
|
105
|
+
background: rgb(28, 184, 65)
|
@@ -0,0 +1,198 @@
|
|
1
|
+
/*
|
2
|
+
*= require blogo/pure-min
|
3
|
+
*/
|
4
|
+
|
5
|
+
$width: 940px
|
6
|
+
$font: sans-serif
|
7
|
+
|
8
|
+
$link-color: #286790
|
9
|
+
|
10
|
+
body
|
11
|
+
background: #F3F3F3
|
12
|
+
background-image: image-url('blogo/background.png')
|
13
|
+
|
14
|
+
|
15
|
+
#content
|
16
|
+
padding: 25px
|
17
|
+
|
18
|
+
#main
|
19
|
+
padding-right: 40px
|
20
|
+
.article-overview
|
21
|
+
padding-bottom: 10px
|
22
|
+
border-bottom: 2px solid #aaa
|
23
|
+
&:last-child
|
24
|
+
border-bottom: 0px
|
25
|
+
|
26
|
+
|
27
|
+
#disqus-comments
|
28
|
+
margin-top: 30px
|
29
|
+
h1
|
30
|
+
border-bottom: 2px solid #aaa
|
31
|
+
color: #888
|
32
|
+
font-size: 1.4em
|
33
|
+
a
|
34
|
+
color: $link-color
|
35
|
+
|
36
|
+
|
37
|
+
#container
|
38
|
+
margin: 0 auto
|
39
|
+
max-width: $width
|
40
|
+
|
41
|
+
background: #FFF
|
42
|
+
display: block
|
43
|
+
box-shadow: 0px 0px 10px #aaa
|
44
|
+
|
45
|
+
.blogo-header
|
46
|
+
background: #3D4F5D
|
47
|
+
color: #fff
|
48
|
+
padding: 10px 25px
|
49
|
+
height: 80px
|
50
|
+
position: relative
|
51
|
+
h1
|
52
|
+
color: #fff
|
53
|
+
font-size: 2em
|
54
|
+
line-height: 1.5em
|
55
|
+
margin: 4px 0px
|
56
|
+
a
|
57
|
+
text-decoration: none
|
58
|
+
color: #fff
|
59
|
+
h2
|
60
|
+
font-weight: 100
|
61
|
+
margin: 3px 0px
|
62
|
+
font-style: italic
|
63
|
+
font-size: 1.2em
|
64
|
+
line-height: 1em
|
65
|
+
color: #B0CADB
|
66
|
+
|
67
|
+
ul
|
68
|
+
list-style: none
|
69
|
+
li
|
70
|
+
display: inline-block
|
71
|
+
text-align: right
|
72
|
+
|
73
|
+
.header-titles
|
74
|
+
position: absolute
|
75
|
+
|
76
|
+
.header-icons
|
77
|
+
position: absolute
|
78
|
+
right: 10px
|
79
|
+
bottom: 10px
|
80
|
+
.rss-icon, .twitter-icon, .github-icon
|
81
|
+
display: inline-block
|
82
|
+
width: 48px
|
83
|
+
height: 48px
|
84
|
+
.rss-icon
|
85
|
+
background-image: image-url('blogo/rss-icon.png')
|
86
|
+
&:hover
|
87
|
+
background-image: image-url('blogo/rss-icon-active.png')
|
88
|
+
.twitter-icon
|
89
|
+
background-image: image-url('blogo/twitter-icon.png')
|
90
|
+
&:hover
|
91
|
+
background-image: image-url('blogo/twitter-icon-active.png')
|
92
|
+
.github-icon
|
93
|
+
background-image: image-url('blogo/github-icon.png')
|
94
|
+
&:hover
|
95
|
+
background-image: image-url('blogo/github-icon-active.png')
|
96
|
+
|
97
|
+
|
98
|
+
.blogo-article
|
99
|
+
font-family: $font
|
100
|
+
.posted
|
101
|
+
font-size: 1em
|
102
|
+
padding: 4px 0px
|
103
|
+
color: #888
|
104
|
+
|
105
|
+
color: #fff
|
106
|
+
h1, h2, h3, h4, h5
|
107
|
+
color: #444
|
108
|
+
h2, h3, h4, h5
|
109
|
+
margin-bottom: 0.25em
|
110
|
+
h1
|
111
|
+
font-size: 2em
|
112
|
+
line-height: 1.2em
|
113
|
+
a
|
114
|
+
text-decoration: none
|
115
|
+
color: #444
|
116
|
+
h2
|
117
|
+
font-size: 1.4em
|
118
|
+
h3
|
119
|
+
font-size: 1.2em
|
120
|
+
|
121
|
+
p
|
122
|
+
color: #444
|
123
|
+
text-align: justify
|
124
|
+
margin-bottom: 1.5em
|
125
|
+
font-size: 1em
|
126
|
+
line-height: 1.5em
|
127
|
+
a
|
128
|
+
color: $link-color
|
129
|
+
text-decoration: none
|
130
|
+
&:hover
|
131
|
+
text-decoration: underline
|
132
|
+
ul
|
133
|
+
li
|
134
|
+
font-size: 1em
|
135
|
+
line-height: 1.5em
|
136
|
+
a
|
137
|
+
color: $link-color
|
138
|
+
text-decoration: none
|
139
|
+
&:hover
|
140
|
+
text-decoration: underline
|
141
|
+
img
|
142
|
+
border-radius: 0.3em
|
143
|
+
|
144
|
+
.article-tags
|
145
|
+
float: right
|
146
|
+
|
147
|
+
aside
|
148
|
+
h1
|
149
|
+
background: #5b768b
|
150
|
+
color: #dae1e7
|
151
|
+
font-size: 1.2em
|
152
|
+
margin-top: 30px
|
153
|
+
padding: 10px
|
154
|
+
border-radius: 8px 8px 0px 0px
|
155
|
+
text-align: center
|
156
|
+
ul
|
157
|
+
list-style-type: none
|
158
|
+
margin: 0px
|
159
|
+
padding: 0px
|
160
|
+
a
|
161
|
+
color: $link-color
|
162
|
+
text-decoration: none
|
163
|
+
&:hover
|
164
|
+
text-decoration: underline
|
165
|
+
.tag
|
166
|
+
margin: 2px
|
167
|
+
|
168
|
+
|
169
|
+
.tags
|
170
|
+
text-align: center
|
171
|
+
|
172
|
+
.tag
|
173
|
+
display: inline-block
|
174
|
+
position: relative
|
175
|
+
font-size: 12px
|
176
|
+
line-height: 14px
|
177
|
+
|
178
|
+
|
179
|
+
.blogo-recent-posts li
|
180
|
+
margin-bottom: 12px
|
181
|
+
|
182
|
+
.paginator
|
183
|
+
text-align: center
|
184
|
+
|
185
|
+
.button-secondary, .button-warning, .button-success
|
186
|
+
color: white
|
187
|
+
border-radius: 4px
|
188
|
+
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2)
|
189
|
+
|
190
|
+
.button-secondary
|
191
|
+
background: rgb(66, 184, 221)
|
192
|
+
|
193
|
+
.button-warning
|
194
|
+
background: rgb(223, 117, 20)
|
195
|
+
|
196
|
+
.button-success
|
197
|
+
background: rgb(28, 184, 65)
|
198
|
+
|