Skip to content

Commit

Permalink
Repo migrated from rosoftdeveloper/appseed/jamstack/big-picture
Browse files Browse the repository at this point in the history
  • Loading branch information
Adi Chirilov committed Jun 8, 2019
1 parent c57b83d commit 6fa7af5
Show file tree
Hide file tree
Showing 81 changed files with 17,270 additions and 1 deletion.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.DS_Store
bower_components
node_modules
npm-debug.log
_site
.sass-cache
13 changes: 13 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## CCA 3.0 License

> Copyright (c) 2019 - present AppSeed
This app is licensed under the **Creative Commons Attribution 3.0 License**, which means:

- Use them for personal stuff
- Use them for commercial stuff
- Change them however you like
- Preserve the footer credit ©AppSeed

---
Made with ♥ by [AppSeed.us](https://appseed.us)
23 changes: 22 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,22 @@
# jamstack-big-picture
## [JamStack App Big Picture](https://appseed.us/apps/static/panini/jamstack-big-picture)
Designed by HTML5 Up, Coded as [JAMstack App](https://jamstack-big-picture.appseed.us/) by AppSeed

![JamStack Big Picture](https://github.com/app-generator/jamstack-big-picture/blob/master/screenshots/jamstack-big-picture.jpg)

## How to use it
- Clone this repo `git clone https://github.com/app-generator/jamstack-big-picture.git`
- change directory to `jamstack-big-picture`
- `yarn` - install deps
- `yarn start` - live edit
- `yarn build` - build for production in directory `_site`
- `yarn deploy` - build & LIVE deploy `Info: edit FTP credentials in deploy.js `

## JAMstack related Resources
- Blog Articles related to [JAMstack](https://blog.appseed.us/tag/jamstack/)
- [What is JAMstack](https://blog.appseed.us/what-is-jamstack/) - comprehensive article about JAMstack
- [JAMstack.org](https://jamstack.org/)
- A curated list with production-ready [JAMstack Apps](https://appseed.us/apps/jamstack)
- A curated list with [JAMstack Apps](https://github.com/jamstack-apps/jamstack) published on Github

---
Made with ♥ by [Simpllo.com](https://simpllo.com?ref=github)
45 changes: 45 additions & 0 deletions deploy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
var FtpDeploy = require('ftp-deploy');
var ftpDeploy = new FtpDeploy();

var config = {
user: "FTP_USER",
password: "FTP_PASS",
host: "FTP_HOST",
port: 21,
localRoot: __dirname + '/_site',
remoteRoot: '/',
include: ['*', '**/*'], // this would upload everything except dot files
//include: ['*.php', 'dist/*'],
exclude: ['dist/**/*.map'], // e.g. exclude sourcemaps - ** exclude: [] if nothing to exclude **
deleteRemote: false, // delete ALL existing files at destination before uploading, if true
forcePasv: false // Passive mode is forced (EPSV command is not sent)
}

// use with promises
ftpDeploy.deploy(config)
.then(res => console.log('finished:', res))
.catch(err => console.log(err))

// use with callback
//ftpDeploy.deploy(config, function(err, res) {
// if (err) console.log(err)
// else console.log('finished:', res);
//});

ftpDeploy.on('uploading', function(data) {
data.totalFilesCount; // total file count being transferred
data.transferredFileCount; // number of files transferred
data.filename; // partial path with filename being uploaded
});

ftpDeploy.on('uploaded', function(data) {
console.log(data); // same data as uploading event
});

ftpDeploy.on('log', function(data) {
console.log(data); // same data as uploading event
});

ftpDeploy.on('upload-error', function (data) {
console.log(data.err); // data will also include filename, relativePath, and other goodies
});
141 changes: 141 additions & 0 deletions gulpfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
var gulp = require('gulp');
var clean = require('gulp-clean');
var sass = require('gulp-sass');
var sourcemaps = require('gulp-sourcemaps');
var postcss = require('gulp-postcss');
var autoprefixer = require('autoprefixer');
var mq4HoverShim = require('mq4-hover-shim');
var rimraf = require('rimraf').sync;
var browser = require('browser-sync');
var panini = require('panini');
var concat = require('gulp-concat');
const zip = require('gulp-zip');
var port = process.env.SERVER_PORT || 8080;
var nodepath = 'node_modules/';
var assetspath = 'assets/';

// Starts a BrowerSync instance
gulp.task('server', ['build'], function(){
browser.init({server: './_site', port: port});
});

// Watch files for changes
gulp.task('watch', function() {
gulp.watch('src/assets/sass/**/*', ['compile-scss','copy-css', browser.reload]);
gulp.watch('src/assets/js/**/*', ['compile-js','copy-js', browser.reload]);
gulp.watch('src/images/**/*', ['copy-images', browser.reload]);
gulp.watch('src/html/pages/**/*', ['compile-html']);
gulp.watch(['src/html/{layouts,includes,helpers,data}/**/*'], ['compile-html:reset','compile-html']);
gulp.watch(['./src/{layouts,partials,helpers,data}/**/*'], [panini.refresh]);
});

// Erases the dist folder
gulp.task('clean', function() {
rimraf('_site');
});

gulp.task('zipme', () =>
gulp.src('_site/*')
.pipe(zip('website.zip'))
.pipe(gulp.dest('_site/'))
);

// Copy static assets
gulp.task('copy', function() {
//Copy other external font and data assets
gulp.src(['src/assets/css/**/*']).pipe(gulp.dest('_site/assets/css/'));
gulp.src(['src/assets/js/**/*', '!src/assets/js/main.js', '!src/assets/js/util.js']).pipe(gulp.dest('_site/assets/js/'));
gulp.src(['src/assets/fonts/**/*']).pipe(gulp.dest('_site/assets/fonts/'));
gulp.src(['src/images/**/*', '!(*.psd)']).pipe(gulp.dest('_site/images/'));

gulp.src(['src/.htaccess']).pipe(gulp.dest('_site/'));
gulp.src(['src/robots.txt']).pipe(gulp.dest('_site/'));
gulp.src(['src/sitemap.xml']).pipe(gulp.dest('_site/'));

});

//Theme Scss variables
var scssOptions = {
errLogToConsole: true,
outputStyle: 'compressed',
includePaths: ['./src/assets/saas']
};

// Compile Theme Scss
gulp.task('compile-scss', function () {
var processors = [
mq4HoverShim.postprocessorFor({ hoverSelectorPrefix: '.is-true-hover ' }),
autoprefixer({
browsers: [
"Chrome >= 45",
"Firefox ESR",
"Edge >= 12",
"Explorer >= 10",
"iOS >= 9",
"Safari >= 9",
"Android >= 4.4",
"Opera >= 30"
]
})//,
//cssnano(),
];
//Watch me get Sassy
return gulp.src('./src/assets/sass/*.scss')
.pipe(sourcemaps.init())
.pipe(sass(scssOptions).on('error', sass.logError))
.pipe(postcss(processors))
//.pipe(sourcemaps.write())
.pipe(gulp.dest('./src/assets/css/'));
});

// Compile Html
gulp.task('compile-html', function() {
gulp.src('src/html/pages/**/*.html')
.pipe(panini({
root: 'src/html/pages/',
layouts: 'src/html/layouts/',
partials: 'src/html/includes/',
helpers: 'src/html/helpers/',
data: 'src/html/data/'
}))
.pipe(gulp.dest('_site'))
.on('finish', browser.reload);
});

gulp.task('compile-html:reset', function(done) {
panini.refresh();
done();
});


// Compile js from node modules
gulp.task('compile-js', function() {
return gulp.src([
'./src/assets/js/util.js',
'./src/assets/js/main.js'
])
.pipe(concat('app.min.js'))
.pipe(gulp.dest('./_site/assets/js/'));
});

//Copy Theme js to production site
gulp.task('copy-css', function() {
gulp.src('src/assets/css/*.css')
.pipe(gulp.dest('./_site/assets/css/'));
});

//Copy Theme js to production site
gulp.task('copy-js', function() {
gulp.src('src/assets/js/**/*.js')
.pipe(gulp.dest('./_site/assets/js/'));
});

//Copy images to production site
gulp.task('copy-images', function() {
gulp.src('src/images/**/*')
.pipe(gulp.dest('./_site/images/'));
});

gulp.task('build', ['clean', 'compile-js', 'compile-scss', 'compile-html', 'copy' ]);
gulp.task('zip', ['zipme']);
gulp.task('default', ['server', 'watch']);
Loading

0 comments on commit 6fa7af5

Please sign in to comment.