edgy_app 1.0.0
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.
- checksums.yaml +7 -0
- data/lib/_footer.html.erb +17 -0
- data/lib/_header.html.erb +22 -0
- data/lib/about.html.erb +0 -0
- data/lib/contact.html.erb +33 -0
- data/lib/contact_form.js.erb +1 -0
- data/lib/edgy_app.rb +183 -0
- data/lib/home.html.erb +10 -0
- data/lib/pages_controller.rb +17 -0
- data/lib/readme.txt +9 -0
- data/lib/sitemap.xml +33 -0
- data/lib/stylesheet.css.scss +249 -0
- metadata +53 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 78728bb46d73c2632075f71796bb70ab22c76abab7902e46f314aa6c77c36215
|
4
|
+
data.tar.gz: e3cbf4f018894917e3caa6f892fe7efb37322d0051e2ea4ba2472aff20077b43
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b7c26f74c4c35f99d46278298f1935238e08171bad14c2cd3d667ef7e7e9212199af794d7758bb51ee0c080af878cfbf581c2d1900ce58ea8faea1b8a5416465
|
7
|
+
data.tar.gz: 0f1d52649b76477208e17dfc8c42e58c913ba1972cf1b0be127046873adbb1d8cb7e0fa9ba212cb8a890ef8a964609a74a7244d9cd3c8e3b3c5ec5b9912384f2
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<div id='footer'>
|
2
|
+
<div class='footer-menu'>
|
3
|
+
<%= link_to 'Home', APP_NAME_root_path, class:'footer-menu-link' %>
|
4
|
+
<%= link_to 'About', APP_NAME_about_path, class:'footer-menu-link' %>
|
5
|
+
<%= link_to 'Contact', APP_NAME_contact_path, class:'footer-menu-link' %>
|
6
|
+
<%= link_to 'Terms of Use', APP_NAME_terms_path, class:'footer-menu-link' %>
|
7
|
+
<%= link_to 'Privacy', APP_NAME_privacy_path, class:'footer-menu-link' %><br><br>
|
8
|
+
EDGY_APP INSERT_MAP
|
9
|
+
</div>
|
10
|
+
<div class='footer-social'>
|
11
|
+
<h2>Follow</h2>
|
12
|
+
<div class='social-wrapper'><%= link_to (image_tag 'fb.png', class:'social'), 'https://facebook.com' %></div>
|
13
|
+
<div class='social-wrapper'><%= link_to (image_tag 'twitter.png', class:'social'), 'https://twitter.com' %></div>
|
14
|
+
<div class='social-wrapper'><%= link_to (image_tag 'youtube.png', class:'social'), 'https://youtube.com' %></div>
|
15
|
+
</div>
|
16
|
+
<div class='footer-c'>© <%=Date.today.year%> APP_NAME</div>
|
17
|
+
</div>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<div class='header'>
|
2
|
+
<%= link_to (image_tag 'APP_NAME/Logo.png', id:'header-logo'), APP_NAME_root_path %>
|
3
|
+
<div class='header-menu-desktop'>
|
4
|
+
<%= link_to 'About', APP_NAME_about_path, class:'header-link' %>
|
5
|
+
<%= link_to 'Contact', APP_NAME_contact_path, class:'header-link' %>
|
6
|
+
</div>
|
7
|
+
<%= image_tag 'menu.png', id:'open-menu-mobile' %>
|
8
|
+
</div>
|
9
|
+
<div id='header-menu-mobile'>
|
10
|
+
<div id='close-header-menu-mobile'></div>
|
11
|
+
<%= link_to 'Home', APP_NAME_root_path, class:'header-link' %><br>
|
12
|
+
<%= link_to 'About', APP_NAME_about_path, class:'header-link' %><br>
|
13
|
+
<%= link_to 'Contact', APP_NAME_contact_path, class:'header-link' %>
|
14
|
+
</div>
|
15
|
+
<script type="text/javascript">
|
16
|
+
$("#open-menu-mobile").click(function() {
|
17
|
+
$("#header-menu-mobile").fadeIn(200);
|
18
|
+
});
|
19
|
+
$("#close-header-menu-mobile").click(function() {
|
20
|
+
$("#header-menu-mobile").fadeOut(100);
|
21
|
+
})
|
22
|
+
</script>
|
data/lib/about.html.erb
ADDED
File without changes
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<% content_for :title do %>APP_CAMEL | Contact Us<% end %>
|
2
|
+
|
3
|
+
<%= render 'APP_NAME/pages/header' %>
|
4
|
+
|
5
|
+
<h1>Contact Us</h1><br><br><br>
|
6
|
+
<div class="contact">
|
7
|
+
<div id="contact-form">
|
8
|
+
<% if flash[:thanks] == "true" %>
|
9
|
+
<div class="big">Thanks for your message. We'll get back to you shortly.</div>
|
10
|
+
<% else %>
|
11
|
+
<% @contact = Contact.new %>
|
12
|
+
<%= form_for @contact, url: APP_NAME_contact_form_path(@contact) do |f| %>
|
13
|
+
<div class="ab-h2">Please fill out the form and we will be in touch.</div>
|
14
|
+
<%= f.text_field :name, placeholder:"Name", class:"contact-field" %><br>
|
15
|
+
<%= f.text_field :contact_info, placeholder:"Your Email", class:"contact-field" %><br>
|
16
|
+
<%= f.text_area :text, placeholder:"Message", class:"contact-field" %><br>
|
17
|
+
<%= f.hidden_field :app, value: "APP_NAME" %>
|
18
|
+
<%= f.submit "SUBMIT", id:"contact-submit" %>
|
19
|
+
<% end %>
|
20
|
+
<% end %>
|
21
|
+
</div>
|
22
|
+
<div class="connect-wrapper">
|
23
|
+
<div class="connect-h">Name</div>
|
24
|
+
Tel: 1 101 101 1010<br>
|
25
|
+
Email: example@gmail.com, or<br><br>
|
26
|
+
<div class="connect-h">Address</div>
|
27
|
+
101 10th Street NW<br>
|
28
|
+
Kansas City KA, 10101
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
<br><br>
|
32
|
+
|
33
|
+
<%= render 'APP_NAME/pages/footer' %>
|
@@ -0,0 +1 @@
|
|
1
|
+
$("#contact-form").html("Thanks for your message. We'll respond shortly.");
|
data/lib/edgy_app.rb
ADDED
@@ -0,0 +1,183 @@
|
|
1
|
+
require "rails/generators"
|
2
|
+
require "fileutils"
|
3
|
+
|
4
|
+
class EdgyApp
|
5
|
+
|
6
|
+
def self.create_file(template, new_file_path, name, domain)
|
7
|
+
path_template = "/home/greg/edgy_app/lib/#{template}"
|
8
|
+
template = File.new(path_template)
|
9
|
+
new = File.new(new_file_path, "w")
|
10
|
+
template.close
|
11
|
+
FileUtils.cp(template, new)
|
12
|
+
new.close
|
13
|
+
|
14
|
+
#insert name
|
15
|
+
content = File.read(new_file_path)
|
16
|
+
new_content = content.gsub("APP_NAME", name).gsub("APP_CAMEL", name.capitalize).gsub("DOMAIN_NAME", domain)
|
17
|
+
File.open(new_file_path, "w") {|file| file.puts new_content }
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.new
|
21
|
+
require "fileutils"
|
22
|
+
|
23
|
+
print "Enter snake_case name of new app: "
|
24
|
+
@name = gets.chomp.to_s.downcase
|
25
|
+
print "Enter domain name including TLD (eg 'example.xyz'): "
|
26
|
+
@domain = gets.chomp.to_s.downcase
|
27
|
+
print "Enable email? (y/n): "
|
28
|
+
@email = gets.chomp.to_s
|
29
|
+
if @email.to_s.downcase != "y"
|
30
|
+
@email = false
|
31
|
+
else
|
32
|
+
@email = true
|
33
|
+
end
|
34
|
+
print "Enable users? (y/n): "
|
35
|
+
@user = gets.chomp.to_s
|
36
|
+
if @user.to_s.downcase != "y"
|
37
|
+
@user = false
|
38
|
+
else
|
39
|
+
@user = true
|
40
|
+
end
|
41
|
+
print "Business address? (n/type address): "
|
42
|
+
@address = gets.chomp.to_s
|
43
|
+
if @address.to_s.downcase == "n"
|
44
|
+
@address = false
|
45
|
+
end
|
46
|
+
|
47
|
+
#CONTROLLER
|
48
|
+
system "mkdir app/controllers/#{@name}"
|
49
|
+
filename = "pages_controller.rb"
|
50
|
+
new_file_path = "app/controllers/#{@name}/#{filename}"
|
51
|
+
create_file(filename, new_file_path, @name, @domain)
|
52
|
+
print "Created #{new_file_path}\n"
|
53
|
+
|
54
|
+
#VIEWS
|
55
|
+
system "mkdir app/views/#{@name}"
|
56
|
+
system "mkdir app/views/#{@name}/pages"
|
57
|
+
#home
|
58
|
+
filename = "home.html.erb"
|
59
|
+
new_file_path = "app/views/#{@name}/pages/#{filename}"
|
60
|
+
create_file(filename, new_file_path, @name, @domain)
|
61
|
+
print "Created #{new_file_path}\n"
|
62
|
+
|
63
|
+
#header
|
64
|
+
filename = "_header.html.erb"
|
65
|
+
new_file_path = "app/views/#{@name}/pages/#{filename}"
|
66
|
+
create_file(filename, new_file_path, @name, @domain)
|
67
|
+
print "Created #{new_file_path}\n"
|
68
|
+
|
69
|
+
#footer
|
70
|
+
filename = "_footer.html.erb"
|
71
|
+
new_file_path = "app/views/#{@name}/pages/#{filename}"
|
72
|
+
create_file(filename, new_file_path, @name, @domain)
|
73
|
+
content = File.read(new_file_path)
|
74
|
+
if @address == false
|
75
|
+
new_contents = content.gsub("EDGY_APP INSERT_MAP", "<%= image_tag '#{@name}/Logo.png', class:'footer-logo' %>")
|
76
|
+
else
|
77
|
+
new_contents = content.gsub("EDGY_APP INSERT_MAP", "\t\t<div class='map-h'>#{@address}</div>\n\t\t<iframe class='footer-map'\n\t\t\t
|
78
|
+
src='https://www.google.com/maps/embed/v1/place?key=\#{google_api_key}&q=#{@address}'
|
79
|
+
allowfullscreen>\n\t\t</iframe>")
|
80
|
+
end
|
81
|
+
File.open(new_file_path, "w") {|file| file.puts new_contents }
|
82
|
+
print "Created #{new_file_path}\n"
|
83
|
+
|
84
|
+
#about
|
85
|
+
filename = "about.html.erb"
|
86
|
+
new_file_path = "app/views/#{@name}/pages/#{filename}"
|
87
|
+
create_file(filename, new_file_path, @name, @domain)
|
88
|
+
print "Created #{new_file_path}\n"
|
89
|
+
|
90
|
+
#contact
|
91
|
+
filename = "contact.html.erb"
|
92
|
+
new_file_path = "app/views/#{@name}/pages/#{filename}"
|
93
|
+
create_file(filename, new_file_path, @name, @domain)
|
94
|
+
print "Created #{new_file_path}\n"
|
95
|
+
|
96
|
+
#contact_form
|
97
|
+
filename = "contact_form.js.erb"
|
98
|
+
new_file_path = "app/views/#{@name}/pages/#{filename}"
|
99
|
+
create_file(filename, new_file_path, @name, @domain)
|
100
|
+
print "Created #{new_file_path}\n"
|
101
|
+
|
102
|
+
#sitemap
|
103
|
+
filename = "sitemap.xml"
|
104
|
+
new_file_path = "app/views/#{@name}/pages/#{filename}"
|
105
|
+
create_file(filename, new_file_path, @name, @domain)
|
106
|
+
print "Created #{new_file_path}\n"
|
107
|
+
|
108
|
+
#readme
|
109
|
+
filename = "readme.txt"
|
110
|
+
new_file_path = "app/views/#{@name}/pages/#{filename}"
|
111
|
+
create_file(filename, new_file_path, @name, @domain)
|
112
|
+
print "Created #{new_file_path}\n"
|
113
|
+
|
114
|
+
|
115
|
+
#STYLESHEET
|
116
|
+
filename = "stylesheet.css.scss"
|
117
|
+
new_file_path = "app/assets/stylesheets/#{@name}.css.scss"
|
118
|
+
create_file(filename, new_file_path, @name, @domain)
|
119
|
+
print "Created #{new_file_path}\n"
|
120
|
+
|
121
|
+
#ROUTES
|
122
|
+
@completed = false
|
123
|
+
tempfile = File.open("routes.tmp", 'w')
|
124
|
+
f = File.new("config/routes.rb")
|
125
|
+
f.each do |line|
|
126
|
+
if (@completed == false) && (["\t", " "].include? line[0])
|
127
|
+
@completed = true
|
128
|
+
tempfile << "\n"
|
129
|
+
tempfile << "\t##{@name.upcase}\n"
|
130
|
+
tempfile << "\t#constraints domain: '#{@domain}' do\n"
|
131
|
+
tempfile << "\tconstraints domain: 'localhost' do\n"
|
132
|
+
tempfile << "\t\troot '#{@name}/pages#home', as: '#{@name}_root'\n"
|
133
|
+
tempfile << "\t\tget 'about' => '#{@name}/pages#about', as: '#{@name}_about'\n"
|
134
|
+
tempfile << "\t\tget 'contact' => '#{@name}/pages#contact', as: '#{@name}_contact'\n"
|
135
|
+
tempfile << "\t\tpost 'contact_form' => '#{@name}/pages#contact_form', as: '#{@name}_contact_form'\n"
|
136
|
+
tempfile << "\t\tget 'terms' => '#{@name}/pages#terms', as: '#{@name}_terms'\n"
|
137
|
+
tempfile << "\t\tget 'privacy' => '#{@name}/pages#privacy', as: '#{@name}_privacy'\n"
|
138
|
+
tempfile << "\t\tget 'sitemap.xml' => '#{@name}/pages#sitemap', defaults: {format: 'xml'}\n"
|
139
|
+
tempfile << "\tend\n"
|
140
|
+
tempfile << "\n"
|
141
|
+
tempfile << line
|
142
|
+
else
|
143
|
+
tempfile << line
|
144
|
+
end
|
145
|
+
end
|
146
|
+
f.close
|
147
|
+
tempfile.close
|
148
|
+
FileUtils.mv("routes.tmp", "config/routes.rb")
|
149
|
+
print "Updated routes.rb\n"
|
150
|
+
|
151
|
+
#MANIFEST.JS
|
152
|
+
File.open('app/assets/config/manifest.js', 'a') { |f| f.write("\n//= link #{@name}.css") } #appends line
|
153
|
+
print "Updated manifest.js\n"
|
154
|
+
|
155
|
+
#USERS
|
156
|
+
if @user == "not yet"
|
157
|
+
@completed = false
|
158
|
+
tempfile = File.open("user.tmp", 'w')
|
159
|
+
f = File.new("app/models/user.rb")
|
160
|
+
f.each do |line|
|
161
|
+
tempfile << line.gsub("]#edgy_app insert", ", #{@name}]#edgy_app insert")
|
162
|
+
end
|
163
|
+
f.close
|
164
|
+
tempfile.close
|
165
|
+
FileUtils.mv("user.tmp", "app/models/user.rb")
|
166
|
+
print "Updated app/models/user.rb\n"
|
167
|
+
end
|
168
|
+
|
169
|
+
#IMAGES
|
170
|
+
system "mkdir app/assets/images/#{@name}"
|
171
|
+
print "Created app/assets/images/#{@name}\n"
|
172
|
+
|
173
|
+
#SUCCESS
|
174
|
+
print "Generated #{@name}!\n\nYou still need to:\n"
|
175
|
+
print "\t- Add a Logo.png to app/assets/images/#{@name}\n"
|
176
|
+
print "\t- Add a #{@name}.png favicon to assets/images/favicons\n"
|
177
|
+
print "\t- Update the three arrays in dev_helper.rb\n\n"
|
178
|
+
print "When developing, remember to update the default app in the following files:\n"
|
179
|
+
print "\t- routes.rb\n\t- application.html\n\t- sessions_helper.rb?\n"
|
180
|
+
print "💧\n"
|
181
|
+
|
182
|
+
end
|
183
|
+
end
|
data/lib/home.html.erb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
<% content_for :title do %>APP_CAMEL<% end %>
|
2
|
+
|
3
|
+
<%= render 'APP_NAME/pages/header' %>
|
4
|
+
|
5
|
+
<div id='hero' style='background-image: url(<%= image_path "background4.png" %>)'>
|
6
|
+
<h1>APP_CAMEL</h1>
|
7
|
+
<h2>APP_CAMEL</h2>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<%= render 'APP_NAME/pages/footer' %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class APP_CAMEL::PagesController < ApplicationController
|
2
|
+
|
3
|
+
def contact_form
|
4
|
+
@contact = Contact.new(contact_params)
|
5
|
+
@contact.save
|
6
|
+
GeneralMailer.contact(@contact.id, "team@theedgeworkshop.com",
|
7
|
+
"New Message On DOMAIN_NAME", "New Message On DOMAIN_NAME").deliver
|
8
|
+
flash[:thanks] = "true"
|
9
|
+
redirect_to APP_NAME_contact_path
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def contact_params
|
15
|
+
params.require(:contact).permit(:name, :contact_info, :subject, :text, :app)
|
16
|
+
end
|
17
|
+
end
|
data/lib/readme.txt
ADDED
data/lib/sitemap.xml
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" >
|
3
|
+
<url>
|
4
|
+
<loc>https://www.DOMAIN_NAME/</loc>
|
5
|
+
<lastmod>DATE_NOW</lastmod>
|
6
|
+
<changefreq>monthly</changefreq>
|
7
|
+
<priority>1.0</priority>
|
8
|
+
</url>
|
9
|
+
<url>
|
10
|
+
<loc>https://www.DOMAIN_NAME/about</loc>
|
11
|
+
<lastmod>DATE_NOW</lastmod>
|
12
|
+
<changefreq>monthly</changefreq>
|
13
|
+
<priority>0.6</priority>
|
14
|
+
</url>
|
15
|
+
<url>
|
16
|
+
<loc>https://www.DOMAIN_NAME/contact</loc>
|
17
|
+
<lastmod>DATE_NOW</lastmod>
|
18
|
+
<changefreq>monthly</changefreq>
|
19
|
+
<priority>0.6</priority>
|
20
|
+
</url>
|
21
|
+
<url>
|
22
|
+
<loc>https://www.DOMAIN_NAME/terms</loc>
|
23
|
+
<lastmod>DATE_NOW</lastmod>
|
24
|
+
<changefreq>monthly</changefreq>
|
25
|
+
<priority>0.1</priority>
|
26
|
+
</url>
|
27
|
+
<url>
|
28
|
+
<loc>https://www.DOMAIN_NAME/privacy</loc>
|
29
|
+
<lastmod>DATE_NOW</lastmod>
|
30
|
+
<changefreq>monthly</changefreq>
|
31
|
+
<priority>0.1</priority>
|
32
|
+
</url>
|
33
|
+
</urlset>
|
@@ -0,0 +1,249 @@
|
|
1
|
+
$blue: #3373EA;
|
2
|
+
|
3
|
+
html {
|
4
|
+
height: 100%;
|
5
|
+
max-height: auto;
|
6
|
+
width: 100%;
|
7
|
+
text-align: center;
|
8
|
+
font-family: "Hevletica-Neue", "Arial", sans-serif;
|
9
|
+
font-family: 'Lustria', serif;
|
10
|
+
font-family: 'Overlock', cursive;
|
11
|
+
font-family: 'Spinnaker', sans-serif;
|
12
|
+
font-family: 'Pacifico', cursive;
|
13
|
+
font-family: 'Lato', sans-serif;
|
14
|
+
font-family: 'Roboto', sans-serif;
|
15
|
+
//font-family: 'Montserrat', sans-serif;
|
16
|
+
//font-family: 'Fira Sans', sans-serif;
|
17
|
+
}
|
18
|
+
|
19
|
+
body {
|
20
|
+
margin: 0;
|
21
|
+
top: 0;
|
22
|
+
height: 100%;
|
23
|
+
min-width: 100%;
|
24
|
+
margin: 0;
|
25
|
+
position: relative;
|
26
|
+
}
|
27
|
+
|
28
|
+
.container {
|
29
|
+
height: 100%;
|
30
|
+
width: 100%;
|
31
|
+
position: absolute;
|
32
|
+
top: 0;
|
33
|
+
z-index: 1;
|
34
|
+
}
|
35
|
+
|
36
|
+
.header {
|
37
|
+
position: relative;
|
38
|
+
width: 100%;
|
39
|
+
height: 70px;
|
40
|
+
background: white;
|
41
|
+
box-shadow: 0 0 6px 1px rgba(0,0,0,0.4);
|
42
|
+
padding-top: 6px;
|
43
|
+
box-sizing: border-box;
|
44
|
+
z-index: 9;
|
45
|
+
#header-logo {
|
46
|
+
position: absolute;
|
47
|
+
height: 80%;
|
48
|
+
top: 0;
|
49
|
+
left: 5%;
|
50
|
+
}
|
51
|
+
.header-menu-desktop {
|
52
|
+
position: relative;
|
53
|
+
display: inline-block;
|
54
|
+
vertical-align: top;
|
55
|
+
@media screen and (max-width: 800px){display: none;}
|
56
|
+
.header-link {
|
57
|
+
position: relative;
|
58
|
+
display: inline-block;
|
59
|
+
vertical-align: middle;
|
60
|
+
font-size: 25px;
|
61
|
+
text-decoration: none;
|
62
|
+
color: black;
|
63
|
+
margin: 10px;
|
64
|
+
}
|
65
|
+
}
|
66
|
+
#open-menu-mobile {
|
67
|
+
position: absolute;
|
68
|
+
height: 90%;
|
69
|
+
top: 0;
|
70
|
+
right: 5%;
|
71
|
+
cursor: pointer;
|
72
|
+
@media screen and (min-width: 800px){display: none;}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
#header-menu-mobile {
|
76
|
+
position: fixed;
|
77
|
+
left:0;right:0;top:0;bottom:0;
|
78
|
+
z-index: 999;
|
79
|
+
background: rgba(0,0,0,0.8);
|
80
|
+
display: none;
|
81
|
+
padding: 10% 0;
|
82
|
+
box-sizing: border-box;
|
83
|
+
@media screen and (min-width: 800px){width: 0;}
|
84
|
+
#close-header-menu-mobile {
|
85
|
+
position: absolute;
|
86
|
+
left:0;right:0;top:0;bottom:0;
|
87
|
+
}
|
88
|
+
.header-link {
|
89
|
+
position: relative;
|
90
|
+
display: inline-block;
|
91
|
+
padding: 15px;
|
92
|
+
color: white;
|
93
|
+
z-index: 2;
|
94
|
+
text-decoration: none;
|
95
|
+
font-size: 20px;
|
96
|
+
transition: all 0.5s;
|
97
|
+
}
|
98
|
+
.header-link:hover {color: #2B67FF;}
|
99
|
+
}
|
100
|
+
|
101
|
+
|
102
|
+
#hero {
|
103
|
+
position: relative;
|
104
|
+
width: 100%;
|
105
|
+
height: 300px;
|
106
|
+
padding: 50px 20px 20px 20px;
|
107
|
+
box-sizing: border-box;
|
108
|
+
background-image: cover;
|
109
|
+
background-position: center center;
|
110
|
+
}
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
#contact-form {
|
116
|
+
position: relative;
|
117
|
+
display: inline-block;
|
118
|
+
vertical-align: top;
|
119
|
+
width: 600px;
|
120
|
+
max-width: 100%;
|
121
|
+
text-align: left;
|
122
|
+
padding: 25px;
|
123
|
+
-moz-box-sizing: border-box;
|
124
|
+
-webkit-box-sizing: border-box;
|
125
|
+
box-sizing: border-box;
|
126
|
+
background-color: #E0E0E0;
|
127
|
+
.big {
|
128
|
+
position: relative;
|
129
|
+
display: inline-block;
|
130
|
+
font-weight: bold;
|
131
|
+
font-size: 20px;
|
132
|
+
padding: 90px 0;
|
133
|
+
width: 100%;
|
134
|
+
text-align: center;
|
135
|
+
}
|
136
|
+
.contact-field {
|
137
|
+
position: relative;
|
138
|
+
width: 100%;
|
139
|
+
max-width: 100%;
|
140
|
+
resize: vertical;
|
141
|
+
padding: 10px;
|
142
|
+
margin: 5px auto;
|
143
|
+
-moz-box-sizing: border-box;
|
144
|
+
-webkit-box-sizing: border-box;
|
145
|
+
box-sizing: border-box;
|
146
|
+
-moz-border-radius: 5px;
|
147
|
+
-webkit-border-radius: 5px;
|
148
|
+
border-radius: 5px;
|
149
|
+
border: none;
|
150
|
+
outline: none;
|
151
|
+
font-family: 'Arial', sans-serif;
|
152
|
+
font-size: 20px;
|
153
|
+
}
|
154
|
+
#contact-submit {
|
155
|
+
position: relative;
|
156
|
+
background-color: $blue;
|
157
|
+
-moz-border-radius: 5px;
|
158
|
+
-webkit-border-radius: 5px;
|
159
|
+
border-radius: 5px;
|
160
|
+
padding: 10px 30px;
|
161
|
+
border: none;
|
162
|
+
outline: none;
|
163
|
+
color: white;
|
164
|
+
font-weight: bold;
|
165
|
+
font-size: 20px;
|
166
|
+
cursor: pointer;
|
167
|
+
}
|
168
|
+
}
|
169
|
+
.connect-wrapper {
|
170
|
+
position: relative;
|
171
|
+
display: inline-block;
|
172
|
+
vertical-align: top;
|
173
|
+
width: 300px;
|
174
|
+
padding: 25px;
|
175
|
+
font-size: 16px;
|
176
|
+
-moz-box-sizing: border-box;
|
177
|
+
-webkit-box-sizing: border-box;
|
178
|
+
box-sizing: border-box;
|
179
|
+
text-align: left;
|
180
|
+
.connect-h {font-size: 120%;}
|
181
|
+
}
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
#footer {
|
186
|
+
position: relative;
|
187
|
+
width: 100%;
|
188
|
+
background: #232323;
|
189
|
+
color: white;
|
190
|
+
padding: 40px 20px 20px 20px;
|
191
|
+
box-sizing: border-box;
|
192
|
+
border-top: 1px #9F9EFF solid;
|
193
|
+
@media screen and (max-width: 800px){font-size: 80%}
|
194
|
+
.footer-menu {
|
195
|
+
position: relative;
|
196
|
+
display: inline-block;
|
197
|
+
width: 50%;
|
198
|
+
text-align: center;
|
199
|
+
@media screen and (max-width: 800px){width: 100%;}
|
200
|
+
.footer-menu-link {
|
201
|
+
position: relative;
|
202
|
+
display: inline-block;
|
203
|
+
margin: 10px 5px;
|
204
|
+
color: white;
|
205
|
+
text-decoration: none;
|
206
|
+
font-size: 20px;
|
207
|
+
font-weight: bold;
|
208
|
+
}
|
209
|
+
.map-h {position: relative;margin: auto;width: 300px;}
|
210
|
+
.footer-map {
|
211
|
+
position: relative;
|
212
|
+
display: block;
|
213
|
+
margin: auto;
|
214
|
+
width: 300px;
|
215
|
+
height: 200px;
|
216
|
+
}
|
217
|
+
.footer-logo {
|
218
|
+
position: relative;
|
219
|
+
height: 80px;
|
220
|
+
}
|
221
|
+
}
|
222
|
+
.footer-social {
|
223
|
+
position: relative;
|
224
|
+
display: inline-block;
|
225
|
+
vertical-align: top;
|
226
|
+
width: 40%;
|
227
|
+
text-align: center;
|
228
|
+
@media screen and (max-width: 800px){width: 100%;margin-top: 17px;}
|
229
|
+
.social-wrapper {
|
230
|
+
position: relative;
|
231
|
+
display: inline-block;
|
232
|
+
width: 46px;
|
233
|
+
height: 30px;
|
234
|
+
overflow-x: visible;
|
235
|
+
text-align: center;
|
236
|
+
padding: 20px 12px;
|
237
|
+
margin: 0 5px;
|
238
|
+
border-radius: 50%;
|
239
|
+
background: white;
|
240
|
+
.social {
|
241
|
+
height: 30px;
|
242
|
+
position: relative;
|
243
|
+
display: inline-block;
|
244
|
+
margin: auto;
|
245
|
+
}
|
246
|
+
}
|
247
|
+
}
|
248
|
+
.footer-c {position: relative;width: 100%;margin-top: 50px;font-size: 80%;}
|
249
|
+
}
|
metadata
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: edgy_app
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Greg Kiss
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-03-02 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description:
|
14
|
+
email: team@theedgeworkshop.com
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- lib/_footer.html.erb
|
20
|
+
- lib/_header.html.erb
|
21
|
+
- lib/about.html.erb
|
22
|
+
- lib/contact.html.erb
|
23
|
+
- lib/contact_form.js.erb
|
24
|
+
- lib/edgy_app.rb
|
25
|
+
- lib/home.html.erb
|
26
|
+
- lib/pages_controller.rb
|
27
|
+
- lib/readme.txt
|
28
|
+
- lib/sitemap.xml
|
29
|
+
- lib/stylesheet.css.scss
|
30
|
+
homepage: https://www.theedgeworkshop.com/dev/edgy_app_gem
|
31
|
+
licenses:
|
32
|
+
- MIT
|
33
|
+
metadata: {}
|
34
|
+
post_install_message:
|
35
|
+
rdoc_options: []
|
36
|
+
require_paths:
|
37
|
+
- lib
|
38
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '0'
|
43
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
requirements: []
|
49
|
+
rubygems_version: 3.1.2
|
50
|
+
signing_key:
|
51
|
+
specification_version: 4
|
52
|
+
summary: Generate new apps in a superapp using Edge architecture.
|
53
|
+
test_files: []
|