Skip to content
🐢 A JavaScript-based Static Site Generator β€” for quick static site prototyping.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


npm npm npm npm

🎯 pudl is a JavaScript-based static site generator for quick-prototyping of awesome little static demos while teaching/presenting.
A FOSS (Free & Open Source Software) project. Maintained by @MaedahBatool.

🐢 What Can pudl Do?

  1. Live reloads browser with BrowserSync.
  2. CSS: Sass to CSS conversion, error catching, Autoprefixing and CSS minification.
  3. Watches files for changes in CSS.
  4. Corrects the line endings.
  5. InjectCSS instead of browser page reload
  6. Sends message notification to you.
  7. Prevents pipe breaking caused by errors.

πŸ”₯ Getting Started?

STEP #0 β€” Don't have Node.js + npm installed? Read this. (CLICK TO EXPAND!)

In case you are an absolute beginner to the world of Node.js, JavaScript, and npm packages β€” all you need to do is go to the Node's site download + install Node on your system. This will install both Node.js and npm, i.e., node package manager β€” the command line interface of Node.js.

You can verify the install by opening your terminal app and typing...

node -v
# Results into v9.11.2 β€” make sure you have Node >= 8 installed.

npm -v
# Results into v6.2.0 β€” make sure you have npm >= 5.3 installed.

➑️ Step #1. Download the Required Files

Download gulpfile.js, package.json, .gitignore, and config.js files inside the root folder of your project.

OR use your terminal to browse your desired folder and run the following command which will download all the required files for you via cURL.

curl -L -o "gulpfile.js" && curl -L -o "package.json" && curl -L -o ".gitignore" && curl -L -o "config.js"

➑️ STEP #2: Editing the Project Variables

Change the project variables in the config.js file according to your folder structure.

// Project Variables.
module.exports = {
	viewSrc: './views/**/*.pug',
	viewDst: './',
	styleSrc: './css/style.scss',
	styleDst: './',
	outputStyle: 'compressed',
	viewWatchFiles: './views/**/*.pug',
	styleWatchFiles: './css/**/*.scss',
	browserAutoOpen: false,
	injectChanges: true

➑️ STEP #3: Installing Node Dependencies

In the root folder install the Node Dependencies. In the terminal run following command and wait for it to download all the node.js dependencies. It's a one-time process and can take about 5 minutes depending on the speed of your internet connection.

# For MAC OS X run the following command with super user.
npm install

# For Linux run the following command.
npm install

➑️ STEP #4: Just run npm start

Finally run the following command to get up and running with pudl.

# To start pudl
npm start

# To stop pudl press CTRL (βŒƒ) + C

Now gulp will start watching your pug and sass files for any changes and provides you with a link through which you can access your site locally.


Released under GNU GPLv2.0 or later license. Copyright Maedah Batool

πŸ™ƒ Hello, we're the Dev Couple!

Ahmad Awais (my husband) is a OSS developer advocate, Full Stack Web Developer and a regular core contributor at WordPress. I (Maedah Batool) is a Technical Project Manager, and I'm also a WordPress Core Contributor. Together with our team, we run the

If you'd like to get insights into our love for open source software, professional full stack development, WordPress community, the growth of JavaScript or growing a family, building, and bootstrapping a business, then subscribe to our premium newsletter called ↣ The WordPress Takeaway!

Support our Open Source Projects! 🎩

If you'd like us to keep producing professional free and open source software (FOSS). Consider paying for an hour of my dev-time. We'll spend two hours on open source for each contribution. Yeah, that's right, you pay for one hour and get both of us to spend an hour as a thank you.


This open source project is maintained by the help of awesome businesses listed below. What? Read more about it β†’

Follow me πŸ‘‹ on Twitter for more updates and questions β†’ Tweet to say Hi

You can’t perform that action at this time.