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

conditional-html-class-router

v1.0.1

Published

A lightweight (Only 1.2kb before GZip) ES6 component that can be used to route specific code to specific pages based on the current page class. You can choose what element you want it to pick the class up from and also what prefix for that class e.g. `bod

Downloads

4

Readme

ConditionalHTMLClassRouter.js

A simple and lightweight (Only 1.2kb before GZip) ES6 component that can be used to route page specific code to the intended page to execute based on the current page class. You can choose what element you want it to pick up the class from and also what prefix for that class e.g. body.page--. This package also allows conditionals such as "only" or "except" so you can run code on all pages but 'home' for example.

Usage


  1. Installation
npm install conditional-html-class-router --save

# or download the `dist/ConditionalHTMLClassRouter.js` for manual use.
  1. Import the Module

// ES6 Import
import Router from 'conditional-html-class-router';

// Require.js
const Router = require('conditional-html-class-router');
  1. Fire up the router. It's best to make one file called router.js and use this as your start point for all code to follow.

let prefix = 'page--',    // Optional. Default is 'page--'. Can be empty but not recommended.
    classElem = '.body';  // Optional. Default is 'body'.

new Router([

    // Add a method called 'only' to make sure code only runs on a page with the array of classes.
    {
        code: () => {
		
	    // Code!
	    console.log('Home page!');
	    
	},
	only: ['home']
    },

    // Add a method called 'except' to make sure code runs on all pages except those in the array of classes.
    {
	code: () => {
	
	    // Code!
	    console.log('Global except the about and contact page!');
	    
	},
	except: ['about', 'contact']
    },

    // By not adding 'only' or 'except' method, anycode inside here will run on all pages.
    {
	code: () => {
		
	    // Code!
	    console.log('Home page!');
	    
	}
    }

], prefix, classElem);

Contributing contributions welcome