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

@forward-software/reveal.js-qrcodes

v1.1.0

Published

Custom plugin for Reveal.js to show QR Codes by adding a single class to HTML elements

Readme

🔳 QR Codes

Custom plugin for Reveal.js to show QR Codes by adding a single class to HTML elements.

How To

Simply include RevealQRCodes plugin

Reveal.initialize({
  // ...
  plugins: [
    // ...,
    RevealQRCodes,
  ],
});

And add the required class and data attributes to HTML elements you'd like to turn into QR Codes


<a href="https://example.com/" class="qrcode" data-size=500></a>

Configuration

Global Configuration

You can configure the plugin with the following options:

// ...
plugins: [ /* ... */ ],
qrcodes: {
    selector: ".qrcode",
    size: 256,
    colorDark: "#000000",
    colorLight: "#ffffff",
    correctionLevel: "H"
}

| Name | Type | Description | Default | | ----------------- | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | | selector | String | CSS selector to use when searching HTML elements to render as QR Codes | ".qrcode" | | size | Number | Default size (Width and Height) to render QR Codes | 256 | | colorDark | String | Color to use for "dark" segments of QR Codes | "#000000" | | colorLight | String | Color to use for "light" segments of QR Codes | "#ffffff" | | correctionLevel | String | Correction level to include in the generated QR Codes. Follows this schema: "L" for "Low", "M" for "Medium", "Q" for "Quartile", "H" for "High" | "H" | | configurations | Record<String, QRCodeConfiguration> | An object containing keyed custom configurations for specific QR Codes. | {} |

QR Code Configuration

To configure a specific QR Code properties you can either set data attributes for an HTML element (see HTML Element Configuration section) or use the configurations option (see QR Codes Static Configuration section).

HTML Element Configuration

You can customize each QR Code by applying to a specific HTML element the following data attributes

| Name | Default | | ----------------------- | -------------------------------------------------------------------------------------------------------------------- | | data-text | QR Code content to be rendered, if not set the plugin will use the href attribute value (if available) as content. | | data-size | see size in Global Configuration | | data-color-dark | see colorDark in Global Configuration | | data-color-light | see colorLight in Global Configuration | | data-correction-level | see correctionLevel in Global Configuration |

[!TIP] The generated QR Code will contain the value of the data-text data attribute or fallback to the href attribute one.

QR Codes Static Configuration

You can customize each QR Code by defining a configuration in the configurations option in Global Configuration and adding an ID to a specific HTML element.

Available QRCodeConfiguration parameters are as follow:

| Name | Default | | ----------------- | -------------------------------------------------------------------------------------------------------------------- | | text | QR Code content to be rendered, if not set the plugin will use the href attribute value (if available) as content. | | size | see size in Global Configuration | | colorDark | see colorDark in Global Configuration | | colorLight | see colorLight in Global Configuration | | correctionLevel | see correctionLevel in Global Configuration |

[!IMPORTANT] Parameters specified in the configurations object will take precedence over HTML element data attributes

Example

Specify a QR Code configuration

// ...
plugins: [ /* ... */ ],
qrcodes: {
    selector: ".qrcode",
    configurations: {
        "example-qr-code": {
            text: "https://example.com/",
            size: 512,
            correctionLevel: 1
        }
    }
}

and set an element ID

<p id="example-qr-code" class="qrcode"></p>

Tips

QR Code size

Since Reveal.js will add constraints to max-width and max-height through CSS for img, we suggest adding the following class to revert this behaviour for QR Code images

.qrcode img {
  max-width: 100%;
  max-height: 100%;
}

[!NOTE] Change .qrcode selector with the class you chose as selector in Global Configuration

License

MIT


Made with ✨ & ❤️ by ForWarD Software and contributors