https://github.com/hyperoslo/gulp-frontend-starterkit
Gulp Frontend StarterKit is a minimal mix of tasks and tools integrated with [Gulp](http://gulpjs.com/) to form a asset pipeline. It provides an efficient and modular workflow to develop and deploy static websites quickly.
https://github.com/hyperoslo/gulp-frontend-starterkit
Last synced: 2 days ago
JSON representation
Gulp Frontend StarterKit is a minimal mix of tasks and tools integrated with [Gulp](http://gulpjs.com/) to form a asset pipeline. It provides an efficient and modular workflow to develop and deploy static websites quickly.
- Host: GitHub
- URL: https://github.com/hyperoslo/gulp-frontend-starterkit
- Owner: hyperoslo
- Created: 2016-01-06T12:48:29.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-12-07T11:27:41.000Z (over 9 years ago)
- Last Synced: 2025-02-24T05:13:29.578Z (over 1 year ago)
- Language: JavaScript
- Size: 31.3 KB
- Stars: 4
- Watchers: 9
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Gulp Frontend StarterKit (Static Websites)
Gulp Frontend StarterKit is a minimal mix of tasks and tools integrated with [Gulp](http://gulpjs.com/) to form a asset pipeline. It provides an efficient and modular workflow to develop and deploy static websites quickly.
```bash
clone the repo
cd AppName
npm install
bower install # For bower packages
gulp or alternatively: gulp serve
```
## Features
- **Stylus:** [Stylus](http://stylus-lang.com/)
- Autoprefixer
- **JS:** Modular
- Shared modules
- Source Maps
- **HTML**: Static templating with [Nunjucks](https://mozilla.github.io/nunjucks/) and [gulp-data](https://github.com/colynb/gulp-data)
- **Images:**
- **SVG Sprites**: Compiles a spritesheet from a folder of SVGs
- Compression with svg-min
- **Icon Fonts**
- **Development Mode:**
- Source Maps
- **Production Builds:**
- JS and CSS are uglified and minified
# Basic Usage
Make sure Node 0.12.x is installed. I recommend using [NVM](https://github.com/creationix/nvm) to manage versions.
#### Install Dependencies
```
npm install && bower install
```
#### Start compiling, serving, and watching files
```
gulp/tasks/server
gulp or alternatively: gulp serve
```
All files will compile in development mode (uncompressed with source maps). [BrowserSync](http://www.browsersync.io/) will serve up files to `localhost:3001`
#### Configuration
Directory and top level settings are convienently exposed in `gulp/gulpfile.js`. All task configuration objects have `src` and `dest` directories specfied. If there is a feature you do not wish to use on your project, simply delete the configuration, and the task will be skipped.
# Task Details
#### JS
```
gulp/tasks/scripts
```
Modular JS modules
#### CSS
```
gulp/tasks/styles
```
Your Stylus gets run through Autoprefixer, so don't prefix!
#### HTML
```
gulp/tasks/html
```
Robust templating with [Nunjucks](https://mozilla.github.io/nunjucks/). A sample data file is set up at [data/items.json](data/items.json), is read in by the `html` task, and exposes the sample properties to the html templates.
#### Fonts
```
gulp/tasks/fonts
```
All this task does is copy fonts from `./src/fonts` to `./dist/fonts`.
***
# Deployment
```bash
sudo npm install -g firebase-tools
# Add project-name to firebase.json
firebase deploy
```