🚀 DAY 5 OF LAUNCH WEEK: Introducing Socket Firewall Enterprise.Learn more →
Socket
Book a DemoInstallSign in
Socket

@forward-software/reveal.js-qrcodes

Package Overview
Dependencies
Maintainers
2
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@forward-software/reveal.js-qrcodes

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

latest
Source
npmnpm
Version
1.1.0
Version published
Maintainers
2
Created
Source

🔳 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"
}
NameTypeDescriptionDefault
selectorStringCSS selector to use when searching HTML elements to render as QR Codes".qrcode"
sizeNumberDefault size (Width and Height) to render QR Codes256
colorDarkStringColor to use for "dark" segments of QR Codes"#000000"
colorLightStringColor to use for "light" segments of QR Codes"#ffffff"
correctionLevelStringCorrection level to include in the generated QR Codes. Follows this schema: "L" for "Low", "M" for "Medium", "Q" for "Quartile", "H" for "High""H"
configurationsRecord<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

NameDefault
data-textQR Code content to be rendered, if not set the plugin will use the href attribute value (if available) as content.
data-sizesee size in Global Configuration
data-color-darksee colorDark in Global Configuration
data-color-lightsee colorLight in Global Configuration
data-correction-levelsee 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:

NameDefault
textQR Code content to be rendered, if not set the plugin will use the href attribute value (if available) as content.
sizesee size in Global Configuration
colorDarksee colorDark in Global Configuration
colorLightsee colorLight in Global Configuration
correctionLevelsee 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

Keywords

revealjs

FAQs

Package last updated on 01 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts