There is a slightly different approach based on Utility CSS. Check it out https://github.com/tomaszbujnowicz/hybrid-utility-itcss
π Gulp 4 + Webpack 4 + Babel + BrowserSync + ITCSS Architecture + BEM Methodology
These tools make it a solid front-end boilerplate to get a new project off the ground.
Features | Description |
---|---|
Task Runner | Gulp |
CSS | SASS, ITCSS, CSS Guidelines, BEM |
CSS Tools | Autoprefixer, Source Maps, Stylelint |
Bootstrap 4 | Grid System, Responsive Breakpoints |
JS | Webpack, Babel, ESLint |
Live Reload | BrowserSync |
HTML Templates | Twig.js |
Deployment | GitHub Pages |
Make sure all dependencies have been installed before moving on:
Clone this repository and run
yarn
ornpm install
to install dependencies
Task Name | Description | Environment |
---|---|---|
yarn start or npm run start |
Generate a development environment, start the server and watch for changes | Development |
yarn watch or npm run watch |
Start the server and watch for changes | Development |
yarn build or npm run build |
Compile production code | Production |
yarn deploy or npm run deploy |
Compile production code and deploy to GitHub Pages | Production |
|--dist/ # β Static version of the website ready to upload (never edit)
|
|--gulpfile.babel.js/ # β Gulpfile config and tasks
|--node_modules/ # β Node.js packages (never edit)
|--src/ # β Source files
| |--assets/ # β Assets
| | |--fonts/ # β Assets: Fonts
| | |--img/ # β Assets: Images
| |--modules/ # β Modules: Multi-part components e.g. Navbar (HTML, CSS and JS)
| |--scripts/ # β JS
| | |--components/ # β JS: Components
| | |--app.js # β JS: Main file
| |--styles/ # β Styles: ITCSS Architecture + BEM Methodology
| | |--main.scss # β Styles: Main stylesheet file
| |--templates/ # β Site templates (Twig.js)
| | |--layouts/ # β Templates: Layouts
| | |--components/ # β Templates: Components
| | |--pages/ # β Templates: Pages
|--.babelrc # β Babel presets
|--.browserslistrc # β Browserslist config, browsers that we support
|--.eslintrc # β ESLint config
|--.gitignore # β Gitignore
|--.stylelintrc # β Stylelint config
|--package-lock.json # β NPM lock file (never edit)
|--package.json # β Node.js dependencies and scripts
|--webpack.config.js # β Webpack config
|--yarn.lock # β Yarn lock file (never edit)
Copyright 2018-2019 Tomasz Bujnowicz under the MIT license.