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 🙏

© 2026 – Pkg Stats / Ryan Hefner

afterglow-crt

v1.0.1

Published

A pure CSS CRT monitor visual effect with multiple presets (green, amber, office98, pvm).

Downloads

178

Readme

AFTERGLOW

A Pure CSS CRT Monitor Simulation

Afterglow is a visual experiment that recreates the look and behavior of real cathode ray tube monitors using only HTML, CSS and a small amount of JavaScript (maybe).

No canvas. No shaders. No WebGL.

Just the browser rendering engine pushed to its limits.

Uma Simulação de Monitor CRT em CSS Puro

Afterglow é um experimento visual que recria a aparência e o comportamento de monitores de tubo de raios catódicos reais usando apenas HTML, CSS e uma pequena quantidade de JavaScript (talvez).

Sem canvas. Sem shaders. Sem WebGL.

Apenas o mecanismo de renderização do navegador levado ao seu limite.


Preview

Afterglow can be used to simulate different types of real screens:

  • Arcade cabinets
  • Consumer televisions (VHS era)
  • Sony PVM professional monitors
  • Old office PCs (early 2000s white screen)
  • Damaged CRTs
  • Haunted analog interference

The project is designed both as a retro aesthetic library and a study of analog video artifacts.

O Afterglow pode ser usado para simular diferentes tipos de telas reais:

  • Gabinetes de fliperama
  • Televisores de consumo (era VHS)
  • Monitores profissionais Sony PVM
  • Computadores de escritório antigos (tela branca do início dos anos 2000)
  • Monitores CRT danificados
  • Interferência analógica fantasmagórica

O projeto foi concebido tanto como uma biblioteca estética retrô quanto como um estudo de artefatos de vídeo analógico.


Themes Included

| Theme | Description | | ------- | ---------------------------------------- | | crt-office98 | Early 2000s PC monitor | | crt-pvm | Clean professional broadcast monitor | | crt-green | Inspired by monochrome phosphor computer terminals. | | crt-amber | Modeled after amber monochrome monitors from the 80s and early 90s. |

| Tema | Descrição | | ------- | ---------------------------------------- | | crt-office98 | Monitor de PC do início dos anos 2000. | | crt-pvm | Monitor profissional de transmissão com design limpo. | | crt-green | Inspirado em terminais de computador monocromáticos com fósforo. | | crt-amber | Inspirado em monitores monocromáticos âmbar dos anos 80 e início dos anos 90. |


Installation

1. NPM (recommended)

npm install afterglow-crt

Import in your project:

import "afterglow-crt";

2. CDN

Add the stylesheet directly to your page:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/afterglow-crt/crt.css">

3. Direct Download

Download crt.css from the [GitHub Releases] page and include it:

<link rel="stylesheet" href="crt.css">

1. NPM (recomendado)

npm install afterglow-crt

Importe no seu projeto:

import "afterglow-crt";

2. CDN

Adicione a folha de estilo diretamente à sua página:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/afterglow-crt/crt.css">

3. Download direto

Baixe o arquivo crt.css da página [GitHub Releases] e inclua-o:

<link rel="stylesheet" href="crt.css">

How It Works

Afterglow relies on a combination of:

  • layered repeating-linear-gradients
  • subpixel contrast tricks
  • blur-based phosphor bloom
  • brightness modulation
  • perspective warping
  • timed animation jitter

The goal is to mimic how an electron beam scans phosphor lines inside a real CRT display.

O Afterglow utiliza uma combinação de:

  • gradientes lineares repetidos em camadas
  • truques de contraste subpixel
  • efeito de brilho do fósforo baseado em desfoque
  • modulação de brilho
  • distorção de perspectiva
  • oscilação de animação temporizada

O objetivo é simular como um feixe de elétrons varre as linhas de fósforo dentro de um monitor CRT real.


Customization

Each preset is controlled by CSS variables:

--crt-flicker-speed
--crt-warp-x
--crt-warp-y
--crt-warp-speed
--crt-breath-brightness
--crt-breath-speed
--crt-scanline-dark
--crt-scanline-light
--crt-scanline-opacity
--crt-scanline-size
--crt-beam-height
--crt-beam-blur
--crt-beam-speed
--crt-beam-opacity
--crt-ghost-opacity
--crt-ghost-blur
--crt-overscan

You can create your own monitor profile by overriding them:

body.my-monitor{
    --crt-scanline-dark:.25;
    --crt-warp-x:1.002;
    --crt-flicker-speed:5s;
}

Cada predefinição é controlada por variáveis CSS:

--crt-flicker-speed
--crt-warp-x
--crt-warp-y
--crt-warp-speed
--crt-breath-brightness
--crt-breath-speed
--crt-scanline-dark
--crt-scanline-light
--crt-scanline-opacity
--crt-scanline-size
--crt-beam-height
--crt-beam-blur
--crt-beam-speed
--crt-beam-opacity
--crt-ghost-opacity
--crt-ghost-blur
--crt-overscan

Você pode criar seu próprio perfil de monitor sobrescrevendo-as:

body.meu-monitor{

--crt-scanline-dark:.25;

--crt-warp-x:1.002;

--crt-flicker-speed:5s;

}

Credits

Created by @HauntedCrusader

Font used: IBM Plex Mono Inspired by analog video technology and retro hardware preservation communities.

Criado por @HauntedCrusader

Fonte utilizada: IBM Plex Mono Inspirado na tecnologia de vídeo analógica e nas comunidades de preservação de hardware retrô.


License

MIT License

You are free to use this in personal or commercial projects. Attribution is appreciated but not required.

Licença MIT

Você pode usar este material livremente em projetos pessoais ou comerciais.

A atribuição é apreciada, mas não obrigatória.