Giter Site home page Giter Site logo

carloscuesta / generator-starterkit Goto Github PK

View Code? Open in Web Editor NEW
29.0 3.0 4.0 714 KB

Yeoman that scaffolds out a front end starterkit. ๐Ÿ“ฆ

Home Page: https://generatorstarterkit.carloscuesta.me

License: MIT License

JavaScript 67.08% CSS 13.32% HTML 19.59%
yeoman-generator starterkit gulp scaffold

generator-starterkit's Introduction

generator-starterkit

Build Status Dependency Status npm version npm-downloads XO code style

yeoman-starterkit

Yeoman generator that scaffolds out a front end development starterkit.

Technologies

  • Gulp: Automate and enhance your workflow.
  • CSS Preprocessors
    • Sass: CSS with superpowers.
    • Less: Less extends CSS with dynamic behavior.
  • Templating / Markup
  • JavaScript
    • Babel: Use next generation JavaScript, today.
    • Npm: Package manager used to install dependencies and everything you need.
    • Linters
      • JSCS: Code style linter for programmatically enforcing your style guide.
      • JSHint: A Static Code Analysis Tool for JavaScript.

Features

  • styles: Sass / Less auto compiling, prefixing, minifiying and sourcemapping.
  • templates: Pug / Html auto compiling and minifiying.
  • scripts: Scripts concatenation, transpiling with Babel, minifiying and sourcemapping.
  • lint: Lint your JavaScript files.
  • images: Images optimization.
  • deploy: Deploying your project into a github pages surge or ftp server.
  • beautify: Beautify preproduction files.
  • browsersync: Automatically injects all your changes in styles, templates and scripts into your browser and other devices on save.
  • optimize: Automatically autoptimize your project using critical and uncss, to improve your page speed.

For more information about gulp workflow / tasks go to starterkit gulp tasks

Requirements and Use

Requirements

$ npm install -g yo
$ npm install -g generator-starterkit

Use

Before running the generator you will need to create a folder for your project where the generator will create all the project files and directories.

Once you have, NodeJS, Yeoman, generator-starterkit installed and your project folder created you can run the generator using:

$ mkdir project
$ cd project
$ yo starterkit
$ gulp

Now the generator-starterkit will start to ask some questions to setup the project for you; project information, technologies and languages that you want to use and will install the dependencies automatically based on your decisions.

Also there are a lot of files being created dynamically such as gulp.js, package.json, readme.md, styles and templates to match the technologies and options that you choose from the generator. (See the technologies available)

Don't forget to run gulp after the yeoman finishes. Also you can use npm run to list the gulp tasks available and running them using for example npm run dev, (dev will run the default gulp task).

Options

  • --skip-install: Skips the installation of dependencies with npm.
  • --skip-welcome-message: Skips the welcome message.
  • --skip-install-message: Skips the message after the installation of dependencies.
  • --skip-cache: Do not remember prompt answers.

Project Structure

.
โ”œโ”€โ”€ /dist/                   # Minified, optimized and compiled files.
โ”‚   โ”œโ”€โ”€ /assets/             # Assets folder.
โ”‚   โ”‚   โ”œโ”€โ”€ /css/            # CSS style files.
โ”‚   โ”‚   โ”œโ”€โ”€ /files/          # Static files.
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ img/         # Images folder.
โ”‚   โ”‚   โ””โ”€โ”€ /js/             # JS files.
โ”‚   โ””โ”€โ”€ *.html               # Minified HTML files.
โ”œโ”€โ”€ /node_modules/           # Node modules dependencies and packages.
โ”œโ”€โ”€ /src/                    # Source files.
โ”‚   โ”œโ”€โ”€ /images/             # Images non compressed.
โ”‚   โ”œโ”€โ”€ /scripts/            # JavaScript files.
โ”‚   โ”œโ”€โ”€ /styles/             # SCSS / Less style files.
โ”‚   โ”‚   โ””โ”€โ”€ _includes/       # Styles SCSS / Less partials.
โ”‚   โ”œโ”€โ”€ /templates/          # Templating Pug files / Html files.
โ”‚   โ”‚   โ””โ”€โ”€ _includes/       # Templating Pug partials.
โ””โ”€โ”€ gulpfile.js              # Gulp automatization file.

Demo

yostarterkit

License

The code is available under the MIT license.

generator-starterkit's People

Contributors

carloscuesta avatar greenkeeperio-bot avatar jlopezxs avatar sergismj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

generator-starterkit's Issues

Add surge integration.

Add surge integration to the gulpfile.js to provide an easy way to deploy the static dist/ folder instead of using FTP server only.

  • Update index.js prompts.
  • Update gulpfile.js
  • Add surge dependencies to the package.json.
  • Update docs and readme.

Add Linting system

To provide a more consistent and solid code base, add linting with xo. Once done it add the linting task to the test and continuous integration process.

To Do:

  • Install xo.
  • Config xo rules.
  • Update and fix index.es6.js.
  • Update tests.
  • Create a lint task and add to test.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.