website_builder_engine 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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