startbootstrap-freelancer-rails 0.1.0 → 0.1.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.
- checksums.yaml +4 -4
- data/README.md +11 -2
- data/app/assets/stylesheets/startbootstrap-freelancer.scss +1 -0
- data/lib/startbootstrap/freelancer/rails/version.rb +1 -1
- data/startbootstrap-freelancer-rails.gemspec +5 -3
- metadata +38 -24
- data/app/assets/javascripts/contact_me.js +0 -75
- data/app/assets/javascripts/freelancer.js +0 -49
- data/app/assets/stylesheets/startbootstrap-freelancer.css +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c237c3dcfe78e9d4cefb90564eb69ccea6958542
|
4
|
+
data.tar.gz: 81bcd4f4b75b1d35ffddc317d86761435770f86c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c5945e06423d908922799ef4ae2ade2b3ec409e3a8e8e28dc20a1364ff17875bfc2d6a34e2f665a02441ca5e9ed96773394d9ff83f0c55d249cd5e72b939f72
|
7
|
+
data.tar.gz: 2afbef4dcdbc7f7857221c4f133835ee3a22a148de2fe3709b7a91452d20eda237ec2d49904291c86e08dd050dc3eb7a40b8bad63fe74c6f9038c0342f21a4ac
|
data/README.md
CHANGED
@@ -2,6 +2,13 @@
|
|
2
2
|
|
3
3
|
This gem will install startbootstrap-freelancer, a twitter/bootstrap theme into your Ruby on Rails Application
|
4
4
|
|
5
|
+
## Requirements
|
6
|
+
|
7
|
+
1. jquery (added in dependencies), https://rubygems.org/gems/jquery-rails
|
8
|
+
2. twitter/bootstrap, https://rubygems.org/gems/bootstrap-sass
|
9
|
+
3. popper_js, https://rubygems.org/gems/popper_js
|
10
|
+
4. jquery-easing-rails, https://rubygems.org/gems/jquery-easing-rails
|
11
|
+
|
5
12
|
## Installation
|
6
13
|
|
7
14
|
Add this line to your application's Gemfile:
|
@@ -11,12 +18,14 @@ gem 'startbootstrap-freelancer-rails'
|
|
11
18
|
```
|
12
19
|
|
13
20
|
And then execute:
|
14
|
-
|
21
|
+
```
|
15
22
|
$ bundle
|
23
|
+
```
|
16
24
|
|
17
25
|
Or install it yourself as:
|
18
|
-
|
26
|
+
```
|
19
27
|
$ gem install startbootstrap-freelancer-rails
|
28
|
+
```
|
20
29
|
|
21
30
|
Add this line to your app/assets/javascripts/application.js
|
22
31
|
|
@@ -0,0 +1 @@
|
|
1
|
+
@import "freelancer.min";
|
@@ -21,7 +21,9 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.7"
|
22
22
|
spec.add_development_dependency "rake", "~> 10.0"
|
23
23
|
|
24
|
-
spec.
|
25
|
-
spec.
|
26
|
-
spec.
|
24
|
+
spec.add_runtime_dependency 'jquery-rails'
|
25
|
+
spec.add_runtime_dependency 'font-awesome-rails'
|
26
|
+
spec.add_runtime_dependency 'jquery-easing-rails'
|
27
|
+
spec.add_runtime_dependency 'bootstrap', '~> 4.0.0.beta'
|
28
|
+
spec.add_runtime_dependency 'popper_js'
|
27
29
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: startbootstrap-freelancer-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yusdirman Lubis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -42,56 +42,72 @@ dependencies:
|
|
42
42
|
name: jquery-rails
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '1.12'
|
48
45
|
- - ">="
|
49
46
|
- !ruby/object:Gem::Version
|
50
|
-
version:
|
47
|
+
version: '0'
|
51
48
|
type: :runtime
|
52
49
|
prerelease: false
|
53
50
|
version_requirements: !ruby/object:Gem::Requirement
|
54
51
|
requirements:
|
55
|
-
- - "~>"
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version: '1.12'
|
58
52
|
- - ">="
|
59
53
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
54
|
+
version: '0'
|
61
55
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
56
|
+
name: font-awesome-rails
|
63
57
|
requirement: !ruby/object:Gem::Requirement
|
64
58
|
requirements:
|
65
|
-
- - "~>"
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: '1.12'
|
68
59
|
- - ">="
|
69
60
|
- !ruby/object:Gem::Version
|
70
|
-
version:
|
61
|
+
version: '0'
|
71
62
|
type: :runtime
|
72
63
|
prerelease: false
|
73
64
|
version_requirements: !ruby/object:Gem::Requirement
|
74
65
|
requirements:
|
75
|
-
- - "~>"
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '1.12'
|
78
66
|
- - ">="
|
79
67
|
- !ruby/object:Gem::Version
|
80
|
-
version:
|
68
|
+
version: '0'
|
81
69
|
- !ruby/object:Gem::Dependency
|
82
70
|
name: jquery-easing-rails
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: bootstrap
|
83
85
|
requirement: !ruby/object:Gem::Requirement
|
84
86
|
requirements:
|
85
87
|
- - "~>"
|
86
88
|
- !ruby/object:Gem::Version
|
87
|
-
version: 0.0.
|
89
|
+
version: 4.0.0.beta
|
88
90
|
type: :runtime
|
89
91
|
prerelease: false
|
90
92
|
version_requirements: !ruby/object:Gem::Requirement
|
91
93
|
requirements:
|
92
94
|
- - "~>"
|
93
95
|
- !ruby/object:Gem::Version
|
94
|
-
version: 0.0.
|
96
|
+
version: 4.0.0.beta
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: popper_js
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
95
111
|
description: implementation of twitter/bootstrap theme, startbootstrap-freelancer
|
96
112
|
into ruby on rails applicatoin
|
97
113
|
email:
|
@@ -105,13 +121,11 @@ files:
|
|
105
121
|
- LICENSE.txt
|
106
122
|
- README.md
|
107
123
|
- Rakefile
|
108
|
-
- app/assets/javascripts/contact_me.js
|
109
|
-
- app/assets/javascripts/freelancer.js
|
110
124
|
- app/assets/javascripts/freelancer.min.js
|
111
125
|
- app/assets/javascripts/jqBootstrapValidation.js
|
112
126
|
- app/assets/javascripts/startbootstrap-freelancer.js
|
113
127
|
- app/assets/stylesheets/freelancer.min.css
|
114
|
-
- app/assets/stylesheets/startbootstrap-freelancer.
|
128
|
+
- app/assets/stylesheets/startbootstrap-freelancer.scss
|
115
129
|
- lib/startbootstrap/freelancer/rails.rb
|
116
130
|
- lib/startbootstrap/freelancer/rails/engine.rb
|
117
131
|
- lib/startbootstrap/freelancer/rails/version.rb
|
@@ -1,75 +0,0 @@
|
|
1
|
-
$(function() {
|
2
|
-
|
3
|
-
$("#contactForm input,#contactForm textarea").jqBootstrapValidation({
|
4
|
-
preventSubmit: true,
|
5
|
-
submitError: function($form, event, errors) {
|
6
|
-
// additional error messages or events
|
7
|
-
},
|
8
|
-
submitSuccess: function($form, event) {
|
9
|
-
event.preventDefault(); // prevent default submit behaviour
|
10
|
-
// get values from FORM
|
11
|
-
var name = $("input#name").val();
|
12
|
-
var email = $("input#email").val();
|
13
|
-
var phone = $("input#phone").val();
|
14
|
-
var message = $("textarea#message").val();
|
15
|
-
var firstName = name; // For Success/Failure Message
|
16
|
-
// Check for white space in name for Success/Fail message
|
17
|
-
if (firstName.indexOf(' ') >= 0) {
|
18
|
-
firstName = name.split(' ').slice(0, -1).join(' ');
|
19
|
-
}
|
20
|
-
$this = $("#sendMessageButton");
|
21
|
-
$this.prop("disabled", true); // Disable submit button until AJAX call is complete to prevent duplicate messages
|
22
|
-
$.ajax({
|
23
|
-
url: "././mail/contact_me.php",
|
24
|
-
type: "POST",
|
25
|
-
data: {
|
26
|
-
name: name,
|
27
|
-
phone: phone,
|
28
|
-
email: email,
|
29
|
-
message: message
|
30
|
-
},
|
31
|
-
cache: false,
|
32
|
-
success: function() {
|
33
|
-
// Success message
|
34
|
-
$('#success').html("<div class='alert alert-success'>");
|
35
|
-
$('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
|
36
|
-
.append("</button>");
|
37
|
-
$('#success > .alert-success')
|
38
|
-
.append("<strong>Your message has been sent. </strong>");
|
39
|
-
$('#success > .alert-success')
|
40
|
-
.append('</div>');
|
41
|
-
//clear all fields
|
42
|
-
$('#contactForm').trigger("reset");
|
43
|
-
},
|
44
|
-
error: function() {
|
45
|
-
// Fail message
|
46
|
-
$('#success').html("<div class='alert alert-danger'>");
|
47
|
-
$('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
|
48
|
-
.append("</button>");
|
49
|
-
$('#success > .alert-danger').append($("<strong>").text("Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!"));
|
50
|
-
$('#success > .alert-danger').append('</div>');
|
51
|
-
//clear all fields
|
52
|
-
$('#contactForm').trigger("reset");
|
53
|
-
},
|
54
|
-
complete: function() {
|
55
|
-
setTimeout(function() {
|
56
|
-
$this.prop("disabled", false); // Re-enable submit button when AJAX call is complete
|
57
|
-
}, 1000);
|
58
|
-
}
|
59
|
-
});
|
60
|
-
},
|
61
|
-
filter: function() {
|
62
|
-
return $(this).is(":visible");
|
63
|
-
},
|
64
|
-
});
|
65
|
-
|
66
|
-
$("a[data-toggle=\"tab\"]").click(function(e) {
|
67
|
-
e.preventDefault();
|
68
|
-
$(this).tab("show");
|
69
|
-
});
|
70
|
-
});
|
71
|
-
|
72
|
-
/*When clicking on Full hide fail/success boxes */
|
73
|
-
$('#name').focus(function() {
|
74
|
-
$('#success').html('');
|
75
|
-
});
|
@@ -1,49 +0,0 @@
|
|
1
|
-
(function($) {
|
2
|
-
"use strict"; // Start of use strict
|
3
|
-
|
4
|
-
// Smooth scrolling using jQuery easing
|
5
|
-
$('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function() {
|
6
|
-
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
|
7
|
-
var target = $(this.hash);
|
8
|
-
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
9
|
-
if (target.length) {
|
10
|
-
$('html, body').animate({
|
11
|
-
scrollTop: (target.offset().top - 48)
|
12
|
-
}, 1000, "easeInOutExpo");
|
13
|
-
return false;
|
14
|
-
}
|
15
|
-
}
|
16
|
-
});
|
17
|
-
|
18
|
-
// Closes responsive menu when a scroll trigger link is clicked
|
19
|
-
$('.js-scroll-trigger').click(function() {
|
20
|
-
$('.navbar-collapse').collapse('hide');
|
21
|
-
});
|
22
|
-
|
23
|
-
// Activate scrollspy to add active class to navbar items on scroll
|
24
|
-
$('body').scrollspy({
|
25
|
-
target: '#mainNav',
|
26
|
-
offset: 54
|
27
|
-
});
|
28
|
-
|
29
|
-
// Collapse the navbar when page is scrolled
|
30
|
-
$(window).scroll(function() {
|
31
|
-
if ($("#mainNav").offset().top > 100) {
|
32
|
-
$("#mainNav").addClass("navbar-shrink");
|
33
|
-
} else {
|
34
|
-
$("#mainNav").removeClass("navbar-shrink");
|
35
|
-
}
|
36
|
-
});
|
37
|
-
|
38
|
-
// Floating label headings for the contact form
|
39
|
-
$(function() {
|
40
|
-
$("body").on("input propertychange", ".floating-label-form-group", function(e) {
|
41
|
-
$(this).toggleClass("floating-label-form-group-with-value", !!$(e.target).val());
|
42
|
-
}).on("focus", ".floating-label-form-group", function() {
|
43
|
-
$(this).addClass("floating-label-form-group-with-focus");
|
44
|
-
}).on("blur", ".floating-label-form-group", function() {
|
45
|
-
$(this).removeClass("floating-label-form-group-with-focus");
|
46
|
-
});
|
47
|
-
});
|
48
|
-
|
49
|
-
})(jQuery); // End of use strict
|
@@ -1 +0,0 @@
|
|
1
|
-
/*= require freelancer.min
|