https://github.com/vitaliylf/gulp-starter
Gulp V5 Starter for a quick development start. Automated build simplifies development, letting focus on quality code.
https://github.com/vitaliylf/gulp-starter
browsersync gulp gulp-plugin gulp-sass gulp-starter gulp-starter-kit gulp5 scss seo seo-optimization starter svg-sprites webpack
Last synced: 29 days ago
JSON representation
Gulp V5 Starter for a quick development start. Automated build simplifies development, letting focus on quality code.
- Host: GitHub
- URL: https://github.com/vitaliylf/gulp-starter
- Owner: VitaliyLF
- License: mit
- Created: 2024-03-04T13:30:28.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-20T11:10:02.000Z (4 months ago)
- Last Synced: 2025-07-20T13:05:27.717Z (4 months ago)
- Topics: browsersync, gulp, gulp-plugin, gulp-sass, gulp-starter, gulp-starter-kit, gulp5, scss, seo, seo-optimization, starter, svg-sprites, webpack
- Language: JavaScript
- Homepage:
- Size: 1.94 MB
- Stars: 11
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README

To work with this build, clone the entire contents of the repository using:
`git clone `
After cloning, navigate to the main project folder and run the following command to install all necessary dependencies specified in the package.json file:
```shell
npm i
```
Once the dependencies are installed, you can use any of the available build commands. The resulting files will be placed in the `app` folder in the root directory:
```shell
gulp
```
The base command that starts the build process for development.
```shell
gulp build
```
Builds the project, optimizing and compressing all files for hosting.
```shell
gulp cache
```
Run this command after gulp build if you need to upload new files to the hosting without using caching.
```shell
gulp backend
```
Builds the backend part of the project. This build contains only the necessary elements and is not compressed, making it convenient for backend development.
```shell
gulp zip
```
Packs your finished code into a zip archive.
```shell
npm run deploy
```
Creates a temporary clone of the current repository, generates a gh-pages branch if it doesn't already exist, copies all files from the base path (or those matching patterns from the optional src configuration), commits all changes, and pushes to the origin remote.
`By following these steps, you'll be set up to work with the project efficiently.`
## π Folder and file structure
```
βββ π.vscode/
βββπextensions.json # Recommended extensions
βββ πgulp/ # All Gulp build settings, divided into separate files
βββ πconfig/ # Configuration files
βββ πtasks/ # Task files for gulp
βββ πsrc/ # Sources
β βββ πassets/ # folder for storing other assets
β β βββπ fonts/ # folder for storing fonts in woff2 format
β β βββπ video/ # folder for video files
β β βββπ favicon.ico # favicon
β βββ πcomponents/ # Components folder
β β βββ πhead/ # Head components
β β βββ πlayout/ # Layout components (header, footer)
β β βββ πblocks/ # Blocks components
β βββπjs/ # Scripts
β β βββπ components/ # js components
β β βββπ functions/ # File with ready-to-use js functions
β β βββπ _components.js # component connection file
β β βββπ main.js # Main script
β βββ πstyles/ # Main styles folder
β β βββπcomponents/ # Style components
β β β βββ πlayout/ # Layout styles
β β β βββ πsection/ # Section styles
β β β βββ πblocks/ # Blocks component styles
β β βββπhelpers/ # Helper styles
β β βββπ _fonts.scss # File for connecting fonts
β β βββπ _globals.scss # Global styles
β β βββπ _normalize.scss # File with global tag reset
β β βββπ _utils.scss # Utility styles
β β βββπ _variables.scss # Global variables
β β βββπ main.scss # Main stylesheet
β β βββπ vendor.scss # Vendor styles
β βββ πimg/ # Images folder
β β βββπsvg/ # SVG files for sprite
β βββ πpages/ # HTML pages
βββ πapp/ # Development build directory
βββ πbuild/ # Production build directory
βββ π gulpfile.js # Gulp configuration file
βββ π package.json # Project dependencies and scripts
βββ π .editorconfig # Editor configuration
βββ π .ecrc # Editorconfig-checker settings
βββ π .prettierrc # Prettier settings
βββ π SECURITY.md # Security guidelines
βββ π LICENSE # License information
βββ π README.md # Project documentation
```
## π Working with HTML
Using **gulp-file-include**, you can divide an HTML file into various templates, which should be stored in the **components** folder.
---
> [!NOTE] > **To insert HTML parts into the main file, use `@include('../components/filename.html')`**
---
When you run the `gulp build` command, all HTML files will be minified into a single line of code.
## π Working with CSS
The **SASS** preprocessor using **SCSS** syntax is employed during the build process.
Styles written within **components** should be included in the **main.scss** file.
To incorporate third-party CSS files (libraries), place them in the **vendor** folder and reference them in the **\_vendor.scss** file.
In the final folder **app/css**, two files are generated:
- **main.css** - for page styles,
- **vendor.css** - for the styles of all libraries used in the project.
## π Working with JavaScript
Webpack is used to build the JS code.
JavaScript code is better organized when divided into components β small JS files that contain their own isolated implementations. Place these files in the **components** folder, and then import them into the **\_components.js** file.
The **main.js** file is the primary file where all the others are included.
## βοΈ Working with fonts
The build supports only the **woff2** format.
Place the **woff2** files in the **assets/fonts** folder, and then call the @font-face mixin in the **\_fonts.scss** file.
Also, don't forget to include the same fonts in `` in the HTML.
## π¨ Working with images
Place any images other than the **favicon** in the **img** folder.
If you need to create an SVG sprite, put the SVG files needed for the sprite in the **img/svg** folder. Attributes like fill, stroke, and style will be automatically removed. For other SVG files, just leave them in the **img** folder.
If you use the `gulp build` command, you will get minified images in the final \*_img_ folder.
## π Working with other assets
Any project assets that do not have a corresponding folder should be stored in the **resources** folder. These can include video files, favicon, and others.
## β¨οΈ Typographer
A typographer plugin has been connected to ensure the correct display of text on the page. This plugin will **automatically** add non-breaking spaces and other characters, ensuring the text is displayed according to all language rules.
## β
Seo optimization
The main **index.html** file contains a brief excerpt and descriptions of each meta tag.
## β Thank you
Thank you for using this build. If you find it helpful, please give it a **star** on GitHub and follow the repository for updates. Your support is greatly appreciated!