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 🙏

© 2025 – Pkg Stats / Ryan Hefner

respec-themeable

v0.1.8

Published

Simple theme system for ReSpec

Downloads

23

Readme

respec-themeable

respec-themeable is a JS library that makes it easier to customize ReSpec for writing technical specifications. ReSpec developers are done a good job but there are some minor issues when you try to use it outside of W3C context. respec-themeable provides workarounds for these problems.

Features

  • set background image text (left side bar) based on specStatus
  • customizable publisher name (instead of the hardwired W3C)
  • hide hardwired documentation W3C copyright texts
  • set defaults for some respecConfig properties
  • set logo from <link rel="icon" sizes="any" href="..."> element
  • make main colors customizable via CSS variables

Demo

You can view this README file formatted with ReSpec at: https://respec-themeable.github.io

Installing

Add the following script tag after your respecConfig declaration script tag:

<script src="https://unpkg.com/respec-themeable" class="remove"></script>

Configuration

publisher

By default ReSpec uses W3C as an implicit publisher (ie: in background image text). respec-themeable accepts publisher from publisher configuration property.

var respecConfig = {
    publisher: "My Company"
}

When no publisher property is set, respec-themeable try to find company in the properties of authors and editors otherwise it falls back to shortName configuration property value.

noPackage

If the HTML document has web manifest link, respec-themeable will use it as source of some default respecConfig properties. Otherwise respec-themeable tries to use the file package.json relative to the HTML document. You can disable package.json usage by setting noPackage to true.

var respecConfig = {
    noPackage: true
}

logo

If the HTML document has icon link with sizes="any" attribute and there is no logo in respecConfig then the href from icon link will be used as logo src.

    <link rel="icon" sizes="any" href="logo.svg"/>
You can use data URL in the link's href attribute.

subtitle

If there is no subtitle in respecConfig then description property from manifest or package.json will be used as subtitle.

title

If there is no <title> tag in the HTML document then name property from manifest or package.json will be used as title.

shortName

If there is no shortName in respecConfig then name property from manifest or package.json will be used as shortName.

--theme-color

The main theme color can be set using --theme-color CSS variable.

:root {
    --theme-color: red;
}

--accent-color

The accent color can be set using --accent-color CSS variable.

:root {
    --accent-color: green;
}

version

If there is a version property in manifest or package.json then it will be displayed under the subtitle.

bugs

If there is a bugs property in manifest or package.json then it will be set with label Issues in the otherLinks configuration property.

repository

If there is a repisotroy.url property in manifest or package.json then it will be set with label Repository in the otherLinks configuration property.

data-format

You can use nunjucks, handlebars or mustache in data-format property (with data-include) for template processing external markdown files. Don't forget to provide script tag for selected template engine.

License

This project is licensed under the MIT License. See the LICENSE for details.