{"id":20153118,"url":"https://github.com/arakilian0/gulpify","last_synced_at":"2025-09-21T09:32:08.508Z","repository":{"id":44077156,"uuid":"203671407","full_name":"arakilian0/gulpify","owner":"arakilian0","description":"Front-end development pipeline using Gulp and several other technologies","archived":false,"fork":false,"pushed_at":"2023-01-07T09:15:49.000Z","size":1991,"stargazers_count":4,"open_issues_count":24,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T01:32:06.644Z","etag":null,"topics":["babel","gulp","pipeline","pug","sass","webpack","yaml"],"latest_commit_sha":null,"homepage":"https://github.com/arakilian0","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arakilian0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-21T22:09:49.000Z","updated_at":"2023-07-15T15:15:31.000Z","dependencies_parsed_at":"2023-02-06T18:45:49.741Z","dependency_job_id":null,"html_url":"https://github.com/arakilian0/gulpify","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/arakilian0/gulpify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arakilian0%2Fgulpify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arakilian0%2Fgulpify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arakilian0%2Fgulpify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arakilian0%2Fgulpify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arakilian0","download_url":"https://codeload.github.com/arakilian0/gulpify/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arakilian0%2Fgulpify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276222593,"owners_count":25605790,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-21T02:00:07.055Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["babel","gulp","pipeline","pug","sass","webpack","yaml"],"created_at":"2024-11-13T23:17:16.616Z","updated_at":"2025-09-21T09:32:08.197Z","avatar_url":"https://github.com/arakilian0.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gulpify\n\n:zap: ***The full-stack Gulp.js boilerplate.***\n\n[![Build Status](https://travis-ci.com/arakilian0/gulpify.svg?branch=master)](https://travis-ci.com/arakilian0/gulpify) [![GitHub release](https://img.shields.io/github/release/arakilian0/gulpify.svg)](https://github.com/arakilian0/gulpify/releases/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/arakilian0/gulpify/blob/master/LICENSE.md) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](https://github.com/arakilian0/gulpify/blob/master/CONTRIBUTING.md)\n\n*Note: This project has only been tested on **MacOS**. If you would like to contribute to making it cross-platform, please read [CONTRIBUTING.md](https://github.com/arakilian0/gulpify/blob/master/CONTRIBUTING.md)*\n\n## Requirements\n\n1. Node.js - [install for MacOS](https://treehouse.github.io/installation-guides/mac/node-mac.html)\n\n\n *Quick Install Node.js*\n\n ```\n$ /usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"\n$ brew install node\n$ node -v\n$ npm -v\n ```\n\n## Installation\n\nI've created a [Command Line Interface](https://github.com/arakilian0/gulpify-cli) which downloads the latest version, and installs all depenendecies of this repository. Once installed you can run:\n\n```\n$ gulpify init my-project\n```\n\n## Usage\n***Note: This project uses [Gulp.js](https://gulpjs.com/)*** (an amazingly powerful node.js based task runner). ***If you are not familiar with gulp, I would definitely suggest checking out the [docs](https://gulpjs.com/docs/en/getting-started/javascript-and-gulpfiles) for a mind blowing experience :open_mouth: . Nevertheless, this project can definitely be used without any gulp knowledge.***\n\n#### Help\n\nRun the following command to get help text:\n\n```\n$ gulp\n```\n\nTo get help text for specific tasks run:\n\n```\n$ gulp create\n$ gulp build\n...\n```\n\nNo need for any `--help` flags. In fact, if you run `gulp --help`, gulp-cli help text gets printed to the console. All [gulp-cli](https://npmjs.com/package/gulp-cli) commands and flags are available to use as normal.\n\n#### Views\n\nThis project uses [Pug](https://pugjs.org/api/getting-started.html) and [YAML](https://yaml.org/) to create html pages.\n\n###### 1. Creating Views\n\nRegarding this project, a **view** is simply a Pug file that has a corresponding YAML file. Pass data from example.yml to example.pug to use throughout the document.\n\n```\n$ gulp create --view index\n```\n\nSeveral things just happened:\n\n- *First of all you should've got an error because the index view is already created for you (all filenames must be unique just like a normal directory) so use a different filename and continue - keep in mind all views get built to HTML in the end and they keep the same name*\n- *If all is well the following happens:*\n- *the view was registered to ```config/template.yml```*\n- *2 files are created: ```example.pug``` and ```example.yml```*\n- *Pug files get created in ```src/```*\n  - *extends from ```src/assets/components/template.pug```*\n- *YAML files get created in ```src/assets/data```*\n  - *extends from ```config/template.boiler.yml```*\n- *The destinations are configurable with ```config/paths/_paths.js```*\n\nYou can create directory deep views with this pattern:\n\n```\n$ gulp create --view blog/blog-posts/post1\n```\n\n- *If the directories don't exist, they are created for you*\n- *The last path will become the file name*\n- *```blog/blog-posts/post1``` gets registered to ```config/template.yml```*\n- *```src/blog/blog-posts/post1.pug``` is created*\n- *```src/assets/data/blog/blog-posts/post1.yml``` is created*\n\n*Note: When you create a new view, a boilerplate yaml file ```config/template.boiler.yml``` gets copied for each new view. This is used for the template extending feature of Pug. You can add as much data as you want to these files and grab it from the related pug files.*\n\n*Tip: Configure `config/template.boiler.yml` and your main template file `src/assets/components/template.pug` for each new project.*\n\n###### 2. Building Views\n\nRegarding this project, **build** simply means run a process. In this case we're processing the ```views```. Since we're using Pug and YAML, we need to compile the pug code into HTML.\n\n```\n$ gulp build --views\n```\n\n- Builds all views listed in ```config/template.yml```\n- Produces the HTML files in ```dist/```\n- Prints status messages for each view during build process (currently working on a logger feature to log messages to Markdown files)\n\n*Caveat:*\nOnly the views registered in ```config/template.yml``` get compiled. If you manually created a view, make sure to register it!\n\n#### Server\nThis project uses [BrowserSync](https://browsersync.io/) for serving static content on a local development server. There is an `options` object configured for running BrowserSync with default options: ```config/options/browser-sync.js```\n\n```\n$ gulp runserver -d\n```\n\n- spins up a local server using default options\n- edit ```config/options/browser-sync.js``` to meet your needs\n\nHere is an example of initializing a new server **with arguments**:\n\n```\n$ gulp runserver -p dist/docs --4200 -o\n```\n\n- uses given path for server initialization *(dist/docs)*\n- uses given port for server initialization *(4200)*\n- opens your default browser (browser does not open by default)\n\n*Caveat:*\nIf the ```--default``` argument is caught in the command, all other arguments are ignored and the server is iniated with default options. *The following two examples do the exact same thing.*\n\n```\n$ gulp runserver -p dist/docs -o --4200 -d\n```\n\n```\n$ gulp runserver -d\n```\n\n*Note: More tasks and options coming soon.* :coffee:\n\n## License\n\nMIT License\n\nCopyright (c) 2019 Michael Arakilian\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n## More\n\n#### Resources\n\n- Gulp - [read the docs](https://gulpjs.com/docs/en/api/concepts)\n- Pug - [read the docs](https://pugjs.org/api/getting-started.html)\n- YAML - [read the docs](https://learnxinyminutes.com/docs/yaml/)\n- BrowserSync - [read the docs](https://www.browsersync.io/docs/options)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farakilian0%2Fgulpify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farakilian0%2Fgulpify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farakilian0%2Fgulpify/lists"}