npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

generator-jekyll-cssnext

v1.0.1

Published

Jekyll workflow with Gulp, cssnext, asset optimization and cache busting and much more. Can you really want more?

Downloads

7

Readme

NPM version

Stylized and opinionated Jekyll development

Jekyllized is an opinionated Yeoman generator for building Jekyll based websites. Easy scaffolding via Yo to get started quickly, Bower for managing frontend packages and Gulp to automate and optimize developing your site.

Based on Jekyll, Jekyllized is ideal for building highly optimized static sites and prototyping sites. Quickly review changes with LiveReload, optimize your stylesheets and images automatically and detect errors and unused code in your project.

Features

Tools

  • CSS using cssnext
  • Upload your site to either Amazon S3 or to your server with Rsync
  • Jekyll with sane configurations and lots of extras

Developing

  • Have your sites automatically refreshed across multiple devices with BrowserSync
  • Detect errors and potential issues with your code using jekyll doctor and JShint
  • Optimize your assets and site: your CSS and JS is automatically concatenated, both your CSS, JS and HTMl is minifiyed and all your text files are gzipped for optimal performance. Your images are run through imagemin to optimize them as well
  • Cachebusting for your assets

Getting started

Installation

To install you need Node.js (>0.10.0) and Ruby (> 1.9) for Jekyll. Install Jekyllized via NPM: npm install -g generator-jekyllized and finally run yo jekyllized in the directory you want to install in.

Usage

gulp

The default task, this will automatically compile and open the site in your browser. A watch task runs in the background and detects when any files change, recompiles them if nessecary and updates your browser with BrowserSync.

gulp check

Check the health of your JavaScript, CSS and Jekyll. You can change the settings for what it looks for in .jshintrc.

gulp build

Almost the same as the default gulp task, but this won't start up a preview/LiveReload server and open the browser, it will only build your site.

gulp publish

This will first run gulp build to make sure the changes you've made to your site are included and then optimize all your assets (images, HTML, CSS, JS++). If you want to display your optimized site to make sure everything is working run gulp serve:prod to see the changes.

gulp deploy

This will either upload your site to Amazon S3, Rsync your files to your server or push them to GitHub Pages.

Individual tasks

A lot of the tasks are built up of smaller tasks that can be run individually. For example, the gulp publish task first runs gulp build (that also runs jekyll:prod, styles and images) and clean:prod and then runs the html and copy commands (html to optimize your site and copy to copy over some files that html misses). If you want to you can run any of these tasks without invoking their "parent" task. If you only wanted to optimize your assets and such, run gulp html and it won't run any of the tasks used with gulp publish.

For all the different tasks that can be run, see the gulpfile and look through the code. Everything is commented and you can edit, change or remove what you want/need.

Deploying

Amazon AWS

If you are using Amazon S3 make sure you change the region you want to use in the aws-credentials.json and have created a bucket already. If you don't want to use Cloudfront you'll have to uncommend the last line in the gulp deploy task. For Rsync it should be automatic as long as your details are correct.

Rsync

If you are using Rsync make sure the credentials are filled out in the rsync-credentials.json file, otherwise all you have to do is to run gulp deploy and your site will be synced to your server. NOTE: For the moment your site is not gzipped while uploading, this is going to be fixed in the future.

GitHub Pages

If you are using GitHub Pages note that currently only personal repositories are supported (username.github.io), however if you want to use it for project repositories there are some things you need to do:

  • Change the branch that the gulp deploy pushes to
  • Change the URL settings for Jekyll. Note that the fourth step isn't required as Jekyllized will automatically serve your local site on localhost:4000

Bower

Currently not implemented

Roadmap

  • Write more documentation
  • Implement Bower functionality
  • And more things

Changelog