diff --git a/public/.gitignore b/public/.gitignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/public/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/public/.travis.yml b/public/.travis.yml new file mode 100644 index 0000000..18f48b1 --- /dev/null +++ b/public/.travis.yml @@ -0,0 +1,11 @@ +sudo: false +language: node_js +node_js: + - "node" +install: npm install +script: + - npm test + - gulp +cache: + directories: + - node_modules diff --git a/public/LICENSE b/public/LICENSE new file mode 100644 index 0000000..b4e7121 --- /dev/null +++ b/public/LICENSE @@ -0,0 +1,27 @@ +The MIT License (MIT) + +Modifications: + +Copyright (c) 2018 Camelot Developers + +Original Project: + +Copyright (c) 2013-2018 Blackrock Digital LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/public/README.md b/public/README.md new file mode 100644 index 0000000..816eb28 --- /dev/null +++ b/public/README.md @@ -0,0 +1,74 @@ +# [Start Bootstrap - Freelancer](https://startbootstrap.com/template-overviews/freelancer/) + +[Freelancer](http://startbootstrap.com/template-overviews/freelancer/) is a one page freelancer portfolio theme for [Bootstrap](http://getbootstrap.com/) created by [Start Bootstrap](http://startbootstrap.com/). This theme features several content sections, a responsive portfolio grid with hover effects, full page portfolio item modals, and a working PHP contact form. + +## Preview + +[![Freelancer Preview](https://startbootstrap.com/assets/img/templates/freelancer.jpg)](https://blackrockdigital.github.io/startbootstrap-freelancer/) + +**[View Live Preview](https://blackrockdigital.github.io/startbootstrap-freelancer/)** + +## Status + +[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/BlackrockDigital/startbootstrap-freelancer/master/LICENSE) +[![npm version](https://img.shields.io/npm/v/startbootstrap-freelancer.svg)](https://www.npmjs.com/package/startbootstrap-freelancer) +[![Build Status](https://travis-ci.org/BlackrockDigital/startbootstrap-freelancer.svg?branch=master)](https://travis-ci.org/BlackrockDigital/startbootstrap-freelancer) +[![dependencies Status](https://david-dm.org/BlackrockDigital/startbootstrap-freelancer/status.svg)](https://david-dm.org/BlackrockDigital/startbootstrap-freelancer) +[![devDependencies Status](https://david-dm.org/BlackrockDigital/startbootstrap-freelancer/dev-status.svg)](https://david-dm.org/BlackrockDigital/startbootstrap-freelancer?type=dev) + +## Download and Installation + +To begin using this template, choose one of the following options to get started: +* [Download the latest release on Start Bootstrap](https://startbootstrap.com/template-overviews/freelancer/) +* Install via npm: `npm i startbootstrap-freelancer` +* Clone the repo: `git clone https://github.com/BlackrockDigital/startbootstrap-freelancer.git` +* [Fork, Clone, or Download on GitHub](https://github.com/BlackrockDigital/startbootstrap-freelancer) + +## Usage + +### Basic Usage + +After downloading, simply edit the HTML and CSS files included with the template in your favorite text editor to make changes. These are the only files you need to worry about, you can ignore everything else! To preview the changes you make to the code, you can open the `index.html` file in your web browser. + +### Advanced Usage + +After installation, run `npm install` and then run `gulp dev` which will open up a preview of the template in your default browser, watch for changes to core template files, and live reload the browser when changes are saved. You can view the `gulpfile.js` to see which tasks are included with the dev environment. + +#### Gulp Tasks + +- `gulp` the default task that builds everything +- `gulp dev` browserSync opens the project in your default browser and live reloads when changes are made +- `gulp css` compiles SCSS files into CSS and minifies the compiled CSS +- `gulp js` minifies the themes JS file +- `gulp vendor` copies dependencies from node_modules to the vendor directory + +You must have npm and Gulp installed globally on your machine in order to use these features. + +## Troubleshooting and Help + +Start Bootstrap has a public Slack channel which is a great place to ask questions about this template and all things related to Start Bootstrap. + +**[Click here to join the Slack channel!](https://startbootstrap-slack.herokuapp.com/)** + +## Bugs and Issues + +Have a bug or an issue with this template? [Open a new issue](https://github.com/BlackrockDigital/startbootstrap-freelancer/issues) here on GitHub or leave a comment on the [template overview page at Start Bootstrap](http://startbootstrap.com/template-overviews/freelancer/). + +## About + +Start Bootstrap is an open source library of free Bootstrap templates and themes. All of the free templates and themes on Start Bootstrap are released under the MIT license, which means you can use them for any purpose, even for commercial projects. + +* https://startbootstrap.com +* https://twitter.com/SBootstrap + +Start Bootstrap was created by and is maintained by **[David Miller](http://davidmiller.io/)**, Owner of [Blackrock Digital](http://blackrockdigital.io/). + +* http://davidmiller.io +* https://twitter.com/davidmillerskt +* https://github.com/davidtmiller + +Start Bootstrap is based on the [Bootstrap](http://getbootstrap.com/) framework created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thorton](https://twitter.com/fat). + +## Copyright and License + +Copyright 2013-2018 Blackrock Digital LLC. Code released under the [MIT](https://github.com/BlackrockDigital/startbootstrap-freelancer/blob/gh-pages/LICENSE) license. diff --git a/public/css/index.css b/public/css/index.css new file mode 100644 index 0000000..672f7c3 --- /dev/null +++ b/public/css/index.css @@ -0,0 +1,339 @@ +/*! + * Start Bootstrap - Freelancer v5.0.0 (https://startbootstrap.com/template-overviews/freelancer) + * Copyright 2013-2018 Start Bootstrap + * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-freelancer/blob/master/LICENSE) + */ + +body { + font-family: 'Lato'; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: 700; + font-family: 'Montserrat'; +} + +hr.star-light, +hr.star-dark { + max-width: 15rem; + padding: 0; + text-align: center; + border: none; + border-top: solid 0.25rem; + margin-top: 2.5rem; + margin-bottom: 2.5rem; + margin-left: auto; + margin-right: auto; +} + +hr.star-light:after, +hr.star-dark:after { + position: relative; + top: -.8em; + display: inline-block; + padding: 0 0.25em; + content: '\f005'; + font-family: "Font Awesome 5 Free"; + font-weight: 900; + font-size: 2em; +} + +hr.star-light { + border-color: #fff; +} + +hr.star-light:after { + color: #fff; + background-color: #2196F3; +} + +hr.star-dark { + border-color: #2C3E50; +} + +hr.star-dark:after { + color: #2C3E50; + background-color: white; +} + +section { + padding: 6rem 0; +} + +section h2 { + font-size: 2.25rem; + line-height: 2rem; +} + +@media (min-width: 992px) { + section h2 { + font-size: 3rem; + line-height: 2.5rem; + } +} + +.btn-xl { + padding: 1rem 1.75rem; + font-size: 1.25rem; +} + +.btn-social { + width: 3.25rem; + height: 3.25rem; + font-size: 1.25rem; + line-height: 2rem; +} + +.scroll-to-top { + z-index: 1042; + right: 1rem; + bottom: 1rem; + display: none; +} + +.scroll-to-top a { + width: 3.5rem; + height: 3.5rem; + background-color: rgba(33, 37, 41, 0.5); + line-height: 3.1rem; +} + +#mainNav { + padding-top: 1rem; + padding-bottom: 1rem; + font-weight: 700; + font-family: 'Montserrat'; +} + +#mainNav .navbar-brand { + color: #fff; +} + +#mainNav .navbar-nav { + margin-top: 1rem; + letter-spacing: 0.0625rem; +} + +#mainNav .navbar-nav li.nav-item a.nav-link { + color: #fff; +} + +#mainNav .navbar-nav li.nav-item a.nav-link:hover { + color: #2196F3; +} + +#mainNav .navbar-nav li.nav-item a.nav-link:active, #mainNav .navbar-nav li.nav-item a.nav-link:focus { + color: #fff; +} + +#mainNav .navbar-nav li.nav-item a.nav-link.active { + color: #2196F3; +} + +#mainNav .navbar-toggler { + font-size: 80%; + padding: 0.8rem; +} + +@media (min-width: 992px) { + #mainNav { + padding-top: 1.5rem; + padding-bottom: 1.5rem; + -webkit-transition: padding-top 0.3s, padding-bottom 0.3s; + transition: padding-top 0.3s, padding-bottom 0.3s; + } + #mainNav .navbar-brand { + font-size: 2em; + -webkit-transition: font-size 0.3s; + transition: font-size 0.3s; + } + #mainNav .navbar-nav { + margin-top: 0; + } + #mainNav .navbar-nav > li.nav-item > a.nav-link.active { + color: #fff; + background: #2196F3; + } + #mainNav .navbar-nav > li.nav-item > a.nav-link.active:active, #mainNav .navbar-nav > li.nav-item > a.nav-link.active:focus, #mainNav .navbar-nav > li.nav-item > a.nav-link.active:hover { + color: #fff; + background: #2196F3; + } + #mainNav.navbar-shrink { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + #mainNav.navbar-shrink .navbar-brand { + font-size: 1.5em; + } +} + +header.masthead { + padding-top: calc(6rem + 72px); + padding-bottom: 6rem; +} + +header.masthead h1 { + font-size: 3rem; + line-height: 3rem; +} + +header.masthead h2 { + font-size: 1.3rem; + font-family: 'Lato'; +} + +@media (min-width: 992px) { + header.masthead { + padding-top: calc(6rem + 106px); + padding-bottom: 6rem; + } + header.masthead h1 { + font-size: 4.75em; + line-height: 4rem; + } + header.masthead h2 { + font-size: 1.75em; + } +} + +.portfolio { + margin-bottom: -15px; +} + +.portfolio .portfolio-item { + position: relative; + display: block; + max-width: 25rem; + margin-bottom: 15px; +} + +.portfolio .portfolio-item .portfolio-item-caption { + -webkit-transition: all ease 0.5s; + transition: all ease 0.5s; + opacity: 0; + background-color: rgba(33, 150, 243, 0.9); +} + +.portfolio .portfolio-item .portfolio-item-caption:hover { + opacity: 1; +} + +.portfolio .portfolio-item .portfolio-item-caption .portfolio-item-caption-content { + font-size: 1.5rem; +} + +@media (min-width: 576px) { + .portfolio { + margin-bottom: -30px; + } + .portfolio .portfolio-item { + margin-bottom: 30px; + } +} + +.portfolio-modal .portfolio-modal-dialog { + padding: 3rem 1rem; + min-height: calc(100vh - 2rem); + margin: 1rem calc(1rem - 8px); + position: relative; + z-index: 2; + -webkit-box-shadow: 0 0 3rem 1rem rgba(0, 0, 0, 0.5); + box-shadow: 0 0 3rem 1rem rgba(0, 0, 0, 0.5); +} + +.portfolio-modal .portfolio-modal-dialog .close-button { + position: absolute; + top: 2rem; + right: 2rem; +} + +.portfolio-modal .portfolio-modal-dialog .close-button i { + line-height: 38px; +} + +.portfolio-modal .portfolio-modal-dialog h2 { + font-size: 2rem; +} + +@media (min-width: 768px) { + .portfolio-modal .portfolio-modal-dialog { + min-height: 100vh; + padding: 5rem; + margin: 3rem calc(3rem - 8px); + } + .portfolio-modal .portfolio-modal-dialog h2 { + font-size: 3rem; + } +} + +.social-icons .fa-linkedin { + color: #0068B5; +} + +.social-icons .fa-github { + color: #212121; +} + +.footer { + padding-top: 5rem; + padding-bottom: 5rem; + background-color: #2C3E50; + color: #fff; +} + +.copyright { + background-color: #1a252f; +} + +a { + color: #2196F3; +} + +a:focus, a:hover, a:active { + color: #0c7cd5; +} + +.btn { + border-width: 2px; +} + +.bg-primary { + background-color: #2196F3 !important; +} + +.bg-secondary { + background-color: #2C3E50 !important; +} + +.text-primary { + color: #2196F3 !important; +} + +.text-secondary { + color: #2C3E50 !important; +} + +.btn-primary { + background-color: #2196F3; + border-color: #2196F3; +} + +.btn-primary:hover, .btn-primary:focus, .btn-primary:active { + background-color: #0c7cd5; + border-color: #0c7cd5; +} + +.btn-secondary { + background-color: #2C3E50; + border-color: #2C3E50; +} + +.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active { + background-color: #1a252f; + border-color: #1a252f; +} diff --git a/public/css/index.min.css b/public/css/index.min.css new file mode 100644 index 0000000..8648db2 --- /dev/null +++ b/public/css/index.min.css @@ -0,0 +1,5 @@ +/*! + * Start Bootstrap - Freelancer v5.0.0 (https://startbootstrap.com/template-overviews/freelancer) + * Copyright 2013-2018 Start Bootstrap + * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-freelancer/blob/master/LICENSE) + */body{font-family:Lato}h1,h2,h3,h4,h5,h6{font-weight:700;font-family:Montserrat}hr.star-dark,hr.star-light{max-width:15rem;padding:0;text-align:center;border:none;border-top:solid .25rem;margin-top:2.5rem;margin-bottom:2.5rem;margin-left:auto;margin-right:auto}hr.star-dark:after,hr.star-light:after{position:relative;top:-.8em;display:inline-block;padding:0 .25em;content:'\f005';font-family:"Font Awesome 5 Free";font-weight:900;font-size:2em}hr.star-light{border-color:#fff}hr.star-light:after{color:#fff;background-color:#2196f3}hr.star-dark{border-color:#2c3e50}hr.star-dark:after{color:#2c3e50;background-color:#fff}section{padding:6rem 0}section h2{font-size:2.25rem;line-height:2rem}@media (min-width:992px){section h2{font-size:3rem;line-height:2.5rem}}.btn-xl{padding:1rem 1.75rem;font-size:1.25rem}.btn-social{width:3.25rem;height:3.25rem;font-size:1.25rem;line-height:2rem}.scroll-to-top{z-index:1042;right:1rem;bottom:1rem;display:none}.scroll-to-top a{width:3.5rem;height:3.5rem;background-color:rgba(33,37,41,.5);line-height:3.1rem}#mainNav{padding-top:1rem;padding-bottom:1rem;font-weight:700;font-family:Montserrat}#mainNav .navbar-brand{color:#fff}#mainNav .navbar-nav{margin-top:1rem;letter-spacing:.0625rem}#mainNav .navbar-nav li.nav-item a.nav-link{color:#fff}#mainNav .navbar-nav li.nav-item a.nav-link:hover{color:#2196f3}#mainNav .navbar-nav li.nav-item a.nav-link:active,#mainNav .navbar-nav li.nav-item a.nav-link:focus{color:#fff}#mainNav .navbar-nav li.nav-item a.nav-link.active{color:#2196f3}#mainNav .navbar-toggler{font-size:80%;padding:.8rem}@media (min-width:992px){#mainNav{padding-top:1.5rem;padding-bottom:1.5rem;-webkit-transition:padding-top .3s,padding-bottom .3s;transition:padding-top .3s,padding-bottom .3s}#mainNav .navbar-brand{font-size:2em;-webkit-transition:font-size .3s;transition:font-size .3s}#mainNav .navbar-nav{margin-top:0}#mainNav .navbar-nav>li.nav-item>a.nav-link.active{color:#fff;background:#2196f3}#mainNav .navbar-nav>li.nav-item>a.nav-link.active:active,#mainNav .navbar-nav>li.nav-item>a.nav-link.active:focus,#mainNav .navbar-nav>li.nav-item>a.nav-link.active:hover{color:#fff;background:#2196f3}#mainNav.navbar-shrink{padding-top:.5rem;padding-bottom:.5rem}#mainNav.navbar-shrink .navbar-brand{font-size:1.5em}}header.masthead{padding-top:calc(6rem + 72px);padding-bottom:6rem}header.masthead h1{font-size:3rem;line-height:3rem}header.masthead h2{font-size:1.3rem;font-family:Lato}@media (min-width:992px){header.masthead{padding-top:calc(6rem + 106px);padding-bottom:6rem}header.masthead h1{font-size:4.75em;line-height:4rem}header.masthead h2{font-size:1.75em}}.portfolio{margin-bottom:-15px}.portfolio .portfolio-item{position:relative;display:block;max-width:25rem;margin-bottom:15px}.portfolio .portfolio-item .portfolio-item-caption{-webkit-transition:all ease .5s;transition:all ease .5s;opacity:0;background-color:rgba(33,150,243,.9)}.portfolio .portfolio-item .portfolio-item-caption:hover{opacity:1}.portfolio .portfolio-item .portfolio-item-caption .portfolio-item-caption-content{font-size:1.5rem}@media (min-width:576px){.portfolio{margin-bottom:-30px}.portfolio .portfolio-item{margin-bottom:30px}}.portfolio-modal .portfolio-modal-dialog{padding:3rem 1rem;min-height:calc(100vh - 2rem);margin:1rem calc(1rem - 8px);position:relative;z-index:2;-webkit-box-shadow:0 0 3rem 1rem rgba(0,0,0,.5);box-shadow:0 0 3rem 1rem rgba(0,0,0,.5)}.portfolio-modal .portfolio-modal-dialog .close-button{position:absolute;top:2rem;right:2rem}.portfolio-modal .portfolio-modal-dialog .close-button i{line-height:38px}.portfolio-modal .portfolio-modal-dialog h2{font-size:2rem}@media (min-width:768px){.portfolio-modal .portfolio-modal-dialog{min-height:100vh;padding:5rem;margin:3rem calc(3rem - 8px)}.portfolio-modal .portfolio-modal-dialog h2{font-size:3rem}}.social-icons .fa-linkedin{color:#0068b5}.social-icons .fa-github{color:#212121}.footer{padding-top:5rem;padding-bottom:5rem;background-color:#2c3e50;color:#fff}.copyright{background-color:#1a252f}a{color:#2196f3}a:active,a:focus,a:hover{color:#0c7cd5}.btn{border-width:2px}.bg-primary{background-color:#2196f3!important}.bg-secondary{background-color:#2c3e50!important}.text-primary{color:#2196f3!important}.text-secondary{color:#2c3e50!important}.btn-primary{background-color:#2196f3;border-color:#2196f3}.btn-primary:active,.btn-primary:focus,.btn-primary:hover{background-color:#0c7cd5;border-color:#0c7cd5}.btn-secondary{background-color:#2c3e50;border-color:#2c3e50}.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover{background-color:#1a252f;border-color:#1a252f} \ No newline at end of file diff --git a/public/gulpfile.js b/public/gulpfile.js new file mode 100644 index 0000000..51a7dfd --- /dev/null +++ b/public/gulpfile.js @@ -0,0 +1,90 @@ +var gulp = require('gulp'); +var sass = require('gulp-sass'); +var header = require('gulp-header'); +var cleanCSS = require('gulp-clean-css'); +var rename = require("gulp-rename"); +var uglify = require('gulp-uglify'); +var autoprefixer = require('gulp-autoprefixer'); +var pkg = require('./package.json'); +var browserSync = require('browser-sync').create(); + +// Set the banner content +var banner = ['/*!\n', + ' * Start Bootstrap - <%= pkg.title %> v<%= pkg.version %> (<%= pkg.homepage %>)\n', + ' * Copyright 2013-' + (new Date()).getFullYear(), ' <%= pkg.author %>\n', + ' * Licensed under <%= pkg.license %> (https://github.com/BlackrockDigital/<%= pkg.name %>/blob/master/LICENSE)\n', + ' */\n', + '\n' +].join(''); + +// Compile SCSS +gulp.task('css:compile', function() { + return gulp.src('./scss/**/*.scss') + .pipe(sass.sync({ + outputStyle: 'expanded' + }).on('error', sass.logError)) + .pipe(autoprefixer({ + browsers: ['last 2 versions'], + cascade: false + })) + .pipe(header(banner, { + pkg: pkg + })) + .pipe(gulp.dest('./css')) +}); + +// Minify CSS +gulp.task('css:minify', ['css:compile'], function() { + return gulp.src([ + './css/*.css', + '!./css/*.min.css' + ]) + .pipe(cleanCSS()) + .pipe(rename({ + suffix: '.min' + })) + .pipe(gulp.dest('./css')) + .pipe(browserSync.stream()); +}); + +// CSS +gulp.task('css', ['css:compile', 'css:minify']); + +// Minify JavaScript +gulp.task('js:minify', function() { + return gulp.src([ + './js/*.js', + '!./js/*.min.js' + ]) + .pipe(uglify()) + .pipe(rename({ + suffix: '.min' + })) + .pipe(header(banner, { + pkg: pkg + })) + .pipe(gulp.dest('./js')) + .pipe(browserSync.stream()); +}); + +// JS +gulp.task('js', ['js:minify']); + +// Default task +gulp.task('default', ['css', 'js']); + +// Configure the browserSync task +gulp.task('browserSync', function() { + browserSync.init({ + server: { + baseDir: "./" + } + }); +}); + +// Dev task +gulp.task('dev', ['css', 'js', 'browserSync'], function() { + gulp.watch('./scss/*.scss', ['css']); + gulp.watch('./js/*.js', ['js']); + gulp.watch('./*.html', browserSync.reload); +}); diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..86c314a --- /dev/null +++ b/public/index.html @@ -0,0 +1,229 @@ + + + + + + + + + + + Excalibur - PDF Table Extraction for Humans + + + + + + + + + + + + + + + + + + + + + +
+
+ Excalibur +
+

Excalibur

+

PDF Table Extraction for Humans

+
+
+ + + +
+
+

About

+
+
+
+

Excalibur is an open-source web app to extract tabular data from PDFs. There are both open and closed-source tools that are widely used for this task. They either give a nice output or fail miserably. This is not helpful since everything in the real world, including PDF table extraction, is fuzzy. This leads to the creation of ad-hoc table extraction scripts for each type of PDF table.

+
+
+

Excalibur uses Camelot under the hood, which was created to offer users complete control over table extraction. If you can’t get your desired output with the default settings, you can tweak them and get the job done!
You can check out fantastic documentation at https://excalibur-py.readthedocs.io/. +

+
+
+
+
+ + + +
+
+

How-to

+
+
+
+ + + +
+
+

Upload PDF

+

Upload your PDF on Excalibur's web interface. All file storage and processing happens on your own local or remote machine. You have complete control over your data.

+
+
+
+
+ + + +
+
+

Auto-detect tables

+

View the tables detected by Excalibur on your PDF page.

+
+
+
+
+ + + +
+
+

Or select tables and columns

+

Draw a table boundary and also add column separators for cases where Excalibur is not able to detect the tables.

+
+
+
+
+ + + +
+
+

Download in any format

+

View the extracted tables and then download them in the format you prefer. Excalibur supports CSV, Excel, JSON and HTML.

+
+
+
+
+ + +
+
+

Developers

+
+
+ +
+ Vinayak Mehta +

Vinayak Mehta

+ +
+ +
+ Nikhil Sikka +

Nikhil Sikka

+ +
+ +
+
+
+ + + + + + + +
+ + + +
+ + + + + + + + + + + + + + diff --git a/public/js/freelancer.js b/public/js/freelancer.js new file mode 100644 index 0000000..840545d --- /dev/null +++ b/public/js/freelancer.js @@ -0,0 +1,63 @@ +(function($) { + "use strict"; // Start of use strict + + // Smooth scrolling using jQuery easing + $('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function() { + if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { + var target = $(this.hash); + target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); + if (target.length) { + $('html, body').animate({ + scrollTop: (target.offset().top - 70) + }, 1000, "easeInOutExpo"); + return false; + } + } + }); + + // Scroll to top button appear + $(document).scroll(function() { + var scrollDistance = $(this).scrollTop(); + if (scrollDistance > 100) { + $('.scroll-to-top').fadeIn(); + } else { + $('.scroll-to-top').fadeOut(); + } + }); + + // Closes responsive menu when a scroll trigger link is clicked + $('.js-scroll-trigger').click(function() { + $('.navbar-collapse').collapse('hide'); + }); + + // Activate scrollspy to add active class to navbar items on scroll + $('body').scrollspy({ + target: '#mainNav', + offset: 80 + }); + + // Collapse Navbar + var navbarCollapse = function() { + if ($("#mainNav").offset().top > 100) { + $("#mainNav").addClass("navbar-shrink"); + } else { + $("#mainNav").removeClass("navbar-shrink"); + } + }; + // Collapse now if page is not at top + navbarCollapse(); + // Collapse the navbar when page is scrolled + $(window).scroll(navbarCollapse); + + // Floating label headings for the contact form + $(function() { + $("body").on("input propertychange", ".floating-label-form-group", function(e) { + $(this).toggleClass("floating-label-form-group-with-value", !!$(e.target).val()); + }).on("focus", ".floating-label-form-group", function() { + $(this).addClass("floating-label-form-group-with-focus"); + }).on("blur", ".floating-label-form-group", function() { + $(this).removeClass("floating-label-form-group-with-focus"); + }); + }); + +})(jQuery); // End of use strict diff --git a/public/js/freelancer.min.js b/public/js/freelancer.min.js new file mode 100644 index 0000000..1c732ff --- /dev/null +++ b/public/js/freelancer.min.js @@ -0,0 +1,7 @@ +/*! + * Start Bootstrap - Freelancer v5.0.0 (https://startbootstrap.com/template-overviews/freelancer) + * Copyright 2013-2018 Start Bootstrap + * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-freelancer/blob/master/LICENSE) + */ + +!function(a){"use strict";a('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function(){if(location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname){var o=a(this.hash);if((o=o.length?o:a("[name="+this.hash.slice(1)+"]")).length)return a("html, body").animate({scrollTop:o.offset().top-70},1e3,"easeInOutExpo"),!1}}),a(document).scroll(function(){100