website_builder_engine 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. data/.gitignore +6 -0
  2. data/Gemfile +20 -0
  3. data/Gemfile.lock +173 -0
  4. data/MIT-LICENSE +20 -0
  5. data/README.textile +260 -0
  6. data/Rakefile +26 -0
  7. data/app/assets/images/website_builder_engine/.gitkeep +0 -0
  8. data/app/assets/javascripts/website_builder_engine/application.js +9 -0
  9. data/app/assets/javascripts/website_builder_engine/articles.js.coffee +3 -0
  10. data/app/assets/javascripts/website_builder_engine/home.js.coffee +3 -0
  11. data/app/assets/javascripts/website_builder_engine/jqueryui.js +406 -0
  12. data/app/assets/javascripts/website_builder_engine/modernizr.js +4 -0
  13. data/app/assets/javascripts/website_builder_engine/offerpages.js.coffee +3 -0
  14. data/app/assets/javascripts/website_builder_engine/respond.js +2 -0
  15. data/app/assets/javascripts/website_builder_engine/settings.js.coffee +3 -0
  16. data/app/assets/javascripts/website_builder_engine/tabs.js +41 -0
  17. data/app/assets/stylesheets/website_builder_engine/application.css +33 -0
  18. data/app/assets/stylesheets/website_builder_engine/articles.css.scss +87 -0
  19. data/app/assets/stylesheets/website_builder_engine/base.css.scss +336 -0
  20. data/app/assets/stylesheets/website_builder_engine/home.css.scss +7 -0
  21. data/app/assets/stylesheets/website_builder_engine/layout.css.scss +64 -0
  22. data/app/assets/stylesheets/website_builder_engine/normalize.css.scss +413 -0
  23. data/app/assets/stylesheets/website_builder_engine/offerpages.css.scss +232 -0
  24. data/app/assets/stylesheets/website_builder_engine/scaffolds.css.scss +56 -0
  25. data/app/assets/stylesheets/website_builder_engine/settings.css.scss +7 -0
  26. data/app/assets/stylesheets/website_builder_engine/skeleton.css.scss +237 -0
  27. data/app/controllers/website_builder_engine/application_controller.rb +5 -0
  28. data/app/controllers/website_builder_engine/articles_controller.rb +113 -0
  29. data/app/controllers/website_builder_engine/home_controller.rb +7 -0
  30. data/app/controllers/website_builder_engine/offerpages_controller.rb +98 -0
  31. data/app/controllers/website_builder_engine/settings_controller.rb +85 -0
  32. data/app/helpers/website_builder_engine/application_helper.rb +4 -0
  33. data/app/models/article.rb +13 -0
  34. data/app/models/offerpage.rb +15 -0
  35. data/app/models/setting.rb +13 -0
  36. data/app/views/layouts/website_builder_engine/application.html.haml +22 -0
  37. data/app/views/layouts/website_builder_engine/home.html.haml +24 -0
  38. data/app/views/shared/_navigation.html.haml +3 -0
  39. data/app/views/website_builder_engine/articles/_form.html.haml +47 -0
  40. data/app/views/website_builder_engine/articles/edit.html.haml +7 -0
  41. data/app/views/website_builder_engine/articles/index.html.haml +16 -0
  42. data/app/views/website_builder_engine/articles/new.html.haml +5 -0
  43. data/app/views/website_builder_engine/articles/publish.html.haml +7 -0
  44. data/app/views/website_builder_engine/articles/show.html.haml +36 -0
  45. data/app/views/website_builder_engine/articles/template.html.haml +72 -0
  46. data/app/views/website_builder_engine/home/index.html.haml +26 -0
  47. data/app/views/website_builder_engine/offerpages/_form.html.haml +49 -0
  48. data/app/views/website_builder_engine/offerpages/edit.html.haml +7 -0
  49. data/app/views/website_builder_engine/offerpages/index.html.haml +16 -0
  50. data/app/views/website_builder_engine/offerpages/new.html.haml +5 -0
  51. data/app/views/website_builder_engine/offerpages/publish.html.haml +7 -0
  52. data/app/views/website_builder_engine/offerpages/show.html.haml +37 -0
  53. data/app/views/website_builder_engine/offerpages/template.html.haml +71 -0
  54. data/app/views/website_builder_engine/settings/_form.html.haml +40 -0
  55. data/app/views/website_builder_engine/settings/edit.html.haml +7 -0
  56. data/app/views/website_builder_engine/settings/index.html.haml +19 -0
  57. data/app/views/website_builder_engine/settings/new.html.haml +5 -0
  58. data/app/views/website_builder_engine/settings/show.html.haml +34 -0
  59. data/app/views/website_builder_engine/welcome/template.html.haml +66 -0
  60. data/config/routes.rb +19 -0
  61. data/db/seeds.rb +68 -0
  62. data/lib/tasks/website_builder_engine_tasks.rake +4 -0
  63. data/lib/website_builder_engine.rb +4 -0
  64. data/lib/website_builder_engine/engine.rb +5 -0
  65. data/script/rails +6 -0
  66. data/spec/dummy/Rakefile +7 -0
  67. data/spec/dummy/app/assets/javascripts/application.js +9 -0
  68. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  69. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  70. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  71. data/spec/dummy/app/mailers/.gitkeep +0 -0
  72. data/spec/dummy/app/models/.gitkeep +0 -0
  73. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  74. data/spec/dummy/config.ru +4 -0
  75. data/spec/dummy/config/application.rb +51 -0
  76. data/spec/dummy/config/boot.rb +10 -0
  77. data/spec/dummy/config/database.yml +25 -0
  78. data/spec/dummy/config/environment.rb +5 -0
  79. data/spec/dummy/config/environments/development.rb +27 -0
  80. data/spec/dummy/config/environments/production.rb +51 -0
  81. data/spec/dummy/config/environments/test.rb +39 -0
  82. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  83. data/spec/dummy/config/initializers/inflections.rb +10 -0
  84. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  85. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  86. data/spec/dummy/config/initializers/session_store.rb +8 -0
  87. data/spec/dummy/config/initializers/wrap_parameters.rb +12 -0
  88. data/spec/dummy/config/locales/en.yml +5 -0
  89. data/spec/dummy/config/mongoid.yml +20 -0
  90. data/spec/dummy/config/routes.rb +3 -0
  91. data/spec/dummy/db/seeds.rb +68 -0
  92. data/spec/dummy/lib/assets/.gitkeep +0 -0
  93. data/spec/dummy/log/.gitkeep +0 -0
  94. data/spec/dummy/public/404.html +26 -0
  95. data/spec/dummy/public/422.html +26 -0
  96. data/spec/dummy/public/500.html +26 -0
  97. data/spec/dummy/public/favicon.ico +0 -0
  98. data/spec/dummy/script/rails +6 -0
  99. data/spec/spec_helper.rb +41 -0
  100. data/version.rb +3 -0
  101. data/website_builder_engine.gemspec +31 -0
  102. metadata +381 -0
@@ -0,0 +1,7 @@
1
+ %h1 Editing article
2
+
3
+ = render 'form'
4
+
5
+ = link_to 'Show', @article
6
+ \|
7
+ = link_to 'Back', articles_path
@@ -0,0 +1,16 @@
1
+ %h2 Articles
2
+
3
+ %table
4
+ - @articles.each do |article|
5
+ %tr
6
+ %td.three.columns= link_to article.title, article
7
+ %td.two.columns= link_to 'Edit', edit_article_path(article)
8
+ %td.two.columns= link_to 'Publish', publish_article_path(article)
9
+ %td.two.columns= link_to 'Remove', article, :confirm => 'Are you sure?', :method => :delete
10
+ %td.two.columns
11
+ - if article.published
12
+ = link_to "#{@url_path + article.filename}.html", "#{@url_path + article.filename}.html"
13
+
14
+ %br
15
+
16
+ = link_to 'New Article', new_article_path
@@ -0,0 +1,5 @@
1
+ %h1 New article
2
+
3
+ = render 'form'
4
+
5
+ = link_to 'Back', articles_path
@@ -0,0 +1,7 @@
1
+ %p
2
+ %b Title:
3
+ = @article.title
4
+ %p
5
+ %b View it here:
6
+ = link_to "#{@url_path + @article.filename}.html", "#{@url_path + @article.filename}.html"
7
+
@@ -0,0 +1,36 @@
1
+ %p
2
+ %b Title:
3
+ = @article.title
4
+ %p
5
+ %b Filename:
6
+ = @article.filename
7
+ %p
8
+ %b Description:
9
+ = @article.description
10
+ %p
11
+ %b Keywords:
12
+ = @article.keywords
13
+ %p
14
+ %b Headline:
15
+ = @article.headline
16
+ %p
17
+ %b Subhead:
18
+ = @article.subhead
19
+ %p
20
+ %b Content:
21
+ = @article.content
22
+
23
+ %p
24
+ %b Article sidebar:
25
+ = @article.sidebar
26
+
27
+ %p
28
+ %b Related Articles:
29
+ - if @article.related_items
30
+ - @article.related_items.each do |item|
31
+ %br
32
+ = item
33
+
34
+ = link_to 'Edit', edit_article_path(@article)
35
+ \|
36
+ = link_to 'Back', articles_path
@@ -0,0 +1,72 @@
1
+ - html_tag class: 'no-js' do
2
+ %head
3
+ %meta{:charset => "utf-8"}
4
+ %meta{"http-equiv" => "X-UA-Compatible", :content => "IE=edge,chrome=1"}
5
+ %meta{:name => "viewport", :content => "width=device-width, initial-scale=1, maximum-scale=1"}
6
+ %meta{:name=>'description', :content=>"#{@article.description}"}
7
+ %meta{:name=>'keywords', :content=>"#{@article.keywords}"}
8
+ -# meta tags for the Open Graph protocol for Facebook
9
+ %meta{:property => "og:title", :content => "#{@article.title}"}
10
+ %meta{:property => "og:type", :content => "article"}
11
+ %meta{:property => "og:url", :content => "#{@permalink}"}
12
+ %meta{:property => "og:image", :content => ""}
13
+ %meta{:property => "og:description", :content => "#{@article.description}"}
14
+ %meta{:property => "og:site_name", :content => "#{@settings.site_name}"}
15
+ = stylesheet_link_tag :application
16
+ = javascript_include_tag :application
17
+ = csrf_meta_tags
18
+ %title
19
+ = @article.title
20
+ %body.articles
21
+ .container
22
+ .logo.sixteen.columns
23
+ .sitename
24
+ = link_to @settings.site_name, '/index.html'
25
+ .tagline
26
+ = @settings.site_tagline
27
+ %hr/
28
+ %article.twelve.columns
29
+ %header
30
+ %hgroup
31
+ %h1
32
+ = @article.headline
33
+ %h2
34
+ = @article.subhead
35
+ = @content
36
+ #fb-root
37
+ %fb:like{:action => "recommend", :send => "true", :show_faces => "false", :width => "450"}
38
+ %aside.four.columns
39
+ %section
40
+ %h1
41
+ Recommend This Article
42
+ %ul
43
+ %li
44
+ %g:plusone{:count => "medium", :size => "small"}
45
+ %li
46
+ %a.twitter-share-button{"data-count" => "none",
47
+ "data-via" => "#{@settings.twitter_account}", :href => "http://twitter.com/share"}
48
+ %section
49
+ %h1
50
+ Related Articles
51
+ %ul
52
+ - if @related_items.empty?
53
+ %li
54
+ none
55
+ - else
56
+ - @related_items.each do |title, link|
57
+ %li
58
+ = link_to title, link
59
+ - unless @sidebar.blank?
60
+ %section
61
+ %hr
62
+ = @sidebar
63
+ %hr
64
+ %footer.sixteen.columns
65
+ %hr/
66
+ -# Javascript for Facebook, Twitter, and Google+ sharing
67
+ %script{:type => "text/javascript",
68
+ :src => "http://connect.facebook.net/en_US/all.js#appId=176448065752391&xfbml=1"}
69
+ %script{:type => "text/javascript",
70
+ :src => "http://platform.twitter.com/widgets.js"}
71
+ %script{:type => "text/javascript",
72
+ :src => "https://apis.google.com/js/plusone.js"}
@@ -0,0 +1,26 @@
1
+ .one-third.column
2
+ %h3 Build a Website
3
+ %p Skeleton is a small collection of well-organized CSS & JS files that can help you rapidly develop sites that look beautiful at any size, be it a 17" laptop screen or an iPhone. It's based on a responsive grid, but also provides very basic CSS for typography, buttons, tabs, forms and media queries. Go ahead, resize this super basic page to see the grid in action.
4
+ .one-third.column
5
+ %h3 Get Started
6
+ %p Skeleton is built on three core principles:
7
+ %ul.square
8
+ %li
9
+ %strong
10
+ =link_to "Pick Your Keywords:", website_builder_engine.settings_path
11
+ \ Provide basic information about your site.
12
+ %li
13
+ %strong
14
+ =link_to "Create an Offer:", website_builder_engine.offerpages_path
15
+ \ Add a page to sell a product or capture an email address.
16
+ %li
17
+ %strong
18
+ =link_to "Add Articles:", website_builder_engine.articles_path
19
+ \ Create a bridge between popular searches and your offer.
20
+ %li
21
+ %strong Publish to the Web:
22
+ \ #{link_to "View your site", "/index.html"},
23
+ \ then deploy to a free web host.
24
+ .one-third.column
25
+ %h3 Docs & Support
26
+ %p blah blah
@@ -0,0 +1,49 @@
1
+ = form_for @offerpage do |f|
2
+ -if @offerpage.errors.any?
3
+ #error_explanation
4
+ %h2= "#{pluralize(@offerpage.errors.count, "error")} prohibited this offerpage from being saved:"
5
+ %ul
6
+ - @offerpage.errors.full_messages.each do |msg|
7
+ %li= msg
8
+
9
+ .field
10
+ = f.label :title
11
+ = f.text_field :title
12
+ .field
13
+ = f.label :filename
14
+ = f.text_field :filename
15
+ .field
16
+ = f.label :description
17
+ = f.text_area :description
18
+ .field
19
+ = f.label :keywords
20
+ = f.text_area :keywords
21
+ .field
22
+ = f.label :headline
23
+ = f.text_area :headline
24
+ .field
25
+ = f.label :subhead
26
+ = f.text_area :subhead
27
+ .field
28
+ = radio_button_tag(:format, "textile")
29
+ = label_tag(:format_textile, "Textile")
30
+ = radio_button_tag(:format, "html")
31
+ = label_tag(:format_html, "Convert HTML to Textile")
32
+ .field
33
+ = f.label :content_block1
34
+ = f.text_area :content_block1
35
+ .field
36
+ = f.label :content_block2
37
+ = f.text_area :content_block2
38
+ .field
39
+ = f.label :offer_block
40
+ = f.text_area :offer_block
41
+ .field
42
+ = f.label :testimonials
43
+ = f.text_area :testimonials
44
+ .field
45
+ = f.label :video
46
+ = f.text_area :video
47
+ .actions
48
+ = f.submit 'Save'
49
+
@@ -0,0 +1,7 @@
1
+ %h1 Editing offerpage
2
+
3
+ = render 'form'
4
+
5
+ = link_to 'Show', @offerpage
6
+ \|
7
+ = link_to 'Back', offerpages_path
@@ -0,0 +1,16 @@
1
+ %h2 Offer Pages
2
+
3
+ %table
4
+ - @offerpages.each do |offerpage|
5
+ %tr
6
+ %td.three.columns= link_to offerpage.title, offerpage
7
+ %td.two.columns= link_to 'Edit', edit_offerpage_path(offerpage)
8
+ %td.two.columns= link_to 'Publish', publish_offerpage_path(offerpage)
9
+ %td.two.columns= link_to 'Remove', offerpage, :confirm => 'Are you sure?', :method => :delete
10
+ %td.two.columns
11
+ - if offerpage.published
12
+ = link_to "#{@url_path + offerpage.filename}.html", "#{@url_path + offerpage.filename}.html"
13
+
14
+ %br
15
+
16
+ = link_to 'New Offerpage', new_offerpage_path
@@ -0,0 +1,5 @@
1
+ %h1 New offerpage
2
+
3
+ = render 'form'
4
+
5
+ = link_to 'Back', offerpages_path
@@ -0,0 +1,7 @@
1
+ %p
2
+ %b Title:
3
+ = @offerpage.title
4
+ %p
5
+ %b View it here:
6
+ = link_to "#{@url_path + @offerpage.filename}.html", "#{@url_path + @offerpage.filename}.html"
7
+
@@ -0,0 +1,37 @@
1
+ %p
2
+ %b Title:
3
+ = @offerpage.title
4
+ %p
5
+ %b Filename:
6
+ = @offerpage.filename
7
+ %p
8
+ %b Description:
9
+ = @offerpage.description
10
+ %p
11
+ %b Keywords:
12
+ = @offerpage.keywords
13
+ %p
14
+ %b Headline:
15
+ = @offerpage.headline
16
+ %p
17
+ %b Subhead:
18
+ = @offerpage.subhead
19
+ %p
20
+ %b Content Block 1:
21
+ = @offerpage.content_block1
22
+ %p
23
+ %b Content Block 2:
24
+ = @offerpage.content_block2
25
+ %p
26
+ %b Offer Block:
27
+ = @offerpage.offer_block
28
+ %p
29
+ %b Testimonials:
30
+ = @offerpage.testimonials
31
+ %p
32
+ %b Video:
33
+ = @offerpage.video
34
+
35
+ = link_to 'Edit', edit_offerpage_path(@offerpage)
36
+ \|
37
+ = link_to 'Back', offerpages_path
@@ -0,0 +1,71 @@
1
+ - html_tag class: 'no-js' do
2
+ %head
3
+ %meta{:charset => "utf-8"}
4
+ %meta{"http-equiv" => "X-UA-Compatible", :content => "IE=edge,chrome=1"}
5
+ %meta{:name => "viewport", :content => "width=device-width, initial-scale=1, maximum-scale=1"}
6
+ %meta{:name=>'description', :content=>"#{@offerpage.description}"}
7
+ %meta{:name=>'keywords', :content=>"#{@offerpage.keywords}"}
8
+ -# meta tags for the Open Graph protocol for Facebook
9
+ %meta{:property => "og:title", :content => "#{@offerpage.title}"}
10
+ %meta{:property => "og:type", :content => "product"}
11
+ %meta{:property => "og:url", :content => "#{@permalink}"}
12
+ %meta{:property => "og:image", :content => ""}
13
+ %meta{:property => "og:description", :content => "#{@offerpage.description}"}
14
+ %meta{:property => "og:site_name", :content => "#{@settings.site_name}"}
15
+ = stylesheet_link_tag :application
16
+ = javascript_include_tag :application
17
+ = csrf_meta_tags
18
+ %title
19
+ = @offerpage.title
20
+ %body.offerpages
21
+ .container
22
+ .logo.sixteen.columns
23
+ %br.clear
24
+ .row
25
+ .recommend.two.columns.alpha
26
+ .plusone
27
+ %g:plusone{:size => "tall"}
28
+ .tweet
29
+ %a.twitter-share-button{"data-count" => "none",
30
+ "data-via" => "#{@settings.twitter_account}", :href => "http://twitter.com/share"}
31
+ .twelve.columns.box.clearfix.omega
32
+ %section
33
+ - unless @offerpage.video.blank?
34
+ .video
35
+ %script{:type => "text/javascript",
36
+ :src => "#{@offerpage.video}"}
37
+ %p Press Play to Watch This Video
38
+ #fb-root
39
+ %fb:like{:action => "recommend", :send => "true", :show_faces => "false", :width => "450"}
40
+ %header
41
+ %hgroup
42
+ %h1
43
+ :textile
44
+ #{@offerpage.headline}
45
+ %h2
46
+ :textile
47
+ #{@offerpage.subhead}
48
+ :textile
49
+ #{@offerpage.content_block1}
50
+ %section
51
+ - if @offerpage.testimonials
52
+ %aside
53
+ %section
54
+ :textile
55
+ #{@offerpage.testimonials}
56
+ :textile
57
+ #{@offerpage.content_block2}
58
+ %br.clear
59
+ %section
60
+ :textile
61
+ #{@offerpage.offer_block}
62
+ %br.clear
63
+ %hr/
64
+ %footer.twelve.columns
65
+ -# Javascript for Facebook, Twitter, and Google+ sharing
66
+ %script{:type => "text/javascript",
67
+ :src => "http://connect.facebook.net/en_US/all.js#appId=176448065752391&xfbml=1"}
68
+ %script{:type => "text/javascript",
69
+ :src => "http://platform.twitter.com/widgets.js"}
70
+ %script{:type => "text/javascript",
71
+ :src => "https://apis.google.com/js/plusone.js"}
@@ -0,0 +1,40 @@
1
+ = form_for @setting do |f|
2
+ -if @setting.errors.any?
3
+ #error_explanation
4
+ %h2= "#{pluralize(@setting.errors.count, "error")} prohibited this setting from being saved:"
5
+ %ul
6
+ - @setting.errors.full_messages.each do |msg|
7
+ %li= msg
8
+
9
+ .field
10
+ = f.label :site_name
11
+ = f.text_field :site_name
12
+ .field
13
+ = f.label :site_title
14
+ = f.text_field :site_title
15
+ .field
16
+ = f.label :site_tagline
17
+ = f.text_field :site_tagline
18
+ .field
19
+ = f.label :site_description
20
+ = f.text_field :site_description
21
+ .field
22
+ = f.label :site_keywords
23
+ = f.text_field :site_keywords
24
+ .field
25
+ = f.label :twitter_account
26
+ = f.text_field :twitter_account
27
+ .field
28
+ = f.label :domain
29
+ = f.text_field :domain
30
+ .field
31
+ = f.label :articles_directory
32
+ = f.text_field :articles_directory
33
+ .field
34
+ = f.label :offerpages_directory
35
+ = f.text_field :offerpages_directory
36
+ .field
37
+ = f.label :sidebar
38
+ = f.text_area :sidebar
39
+ .actions
40
+ = f.submit 'Save'
@@ -0,0 +1,7 @@
1
+ %h1 Editing setting
2
+
3
+ = render 'form'
4
+
5
+ = link_to 'Show', @setting
6
+ \|
7
+ = link_to 'Back', settings_path
@@ -0,0 +1,19 @@
1
+ %h1 Listing settings
2
+
3
+ %table
4
+ %tr
5
+ %th Articles path
6
+ %th
7
+ %th
8
+ %th
9
+
10
+ - @settings.each do |setting|
11
+ %tr
12
+ %td= setting.articles_directory
13
+ %td= link_to 'Show', setting
14
+ %td= link_to 'Edit', edit_setting_path(setting)
15
+ %td= link_to 'Destroy', setting, :confirm => 'Are you sure?', :method => :delete
16
+
17
+ %br
18
+
19
+ = link_to 'New Setting', new_setting_path