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

thelounge-plugin-mobile-format

v1.0.6

Published

Touch-friendly IRC formatting toolbar for The Lounge mobile web client.

Readme

The Lounge Mobile Format

A touch-friendly IRC formatting toolbar for The Lounge mobile web client.

It adds a compact T button inside the message input so mobile users can apply IRC formatting without memorising control codes or using a hardware keyboard.

Features

  • Input-corner text formatting button designed for mobile/touch use
  • Toolbar for:
    • Bold
    • Italic
    • Underline
    • Strikethrough
    • Monospace
    • IRC foreground colours
    • Reset formatting
  • Compact 16-colour IRC palette
  • Works with selected text or inserts formatting codes at the cursor
  • Tracks active formatting state near the cursor
  • Keeps The Lounge's native scroll-to-bottom button usable on mobile
  • No runtime dependencies

Installation

The Lounge plugins are installed into the The Lounge data/config directory. Where that lives depends on how you self-host The Lounge.

1. Standard npm install

If The Lounge is installed normally on the host:

thelounge install thelounge-plugin-mobile-format
thelounge restart

If your service is managed by systemd, restart it instead:

sudo systemctl restart thelounge

2. Docker / Docker Compose with a mounted data directory

Most Docker installs mount the The Lounge data directory, commonly something like:

volumes:
  - /path/on/host/thelounge:/var/opt/thelounge

Install the plugin from inside the running container:

docker exec -it thelounge thelounge install thelounge-plugin-mobile-format
docker restart thelounge

If your container has a different name, replace thelounge with your container name:

docker ps

With Docker Compose:

docker compose exec thelounge thelounge install thelounge-plugin-mobile-format
docker compose restart thelounge

3. Docker install from a local checkout

Useful when testing changes before publishing to npm.

If your local checkout is mounted into the container:

docker compose exec thelounge thelounge install /path/inside/container/thelounge-plugin-mobile-format
docker compose restart thelounge

Or install into the host-mounted packages directory manually:

cd /path/on/host/thelounge/packages
npm install /path/on/host/thelounge-plugin-mobile-format
docker restart thelounge

4. Install directly from GitHub

Once the repository is public, you can install from GitHub instead of npm:

thelounge install github:binkiewka/thelounge-plugin-mobile-format

or with npm syntax from the The Lounge packages directory:

cd /path/to/thelounge/packages
npm install github:binkiewka/thelounge-plugin-mobile-format

Docker example:

docker exec -it thelounge thelounge install github:binkiewka/thelounge-plugin-mobile-format
docker restart thelounge

If your GitHub username/org differs, replace binkiewka with the actual owner.

5. Manual install into The Lounge packages directory

If thelounge install is not available in your setup:

cd /path/to/thelounge/packages
npm install thelounge-plugin-mobile-format

Then restart The Lounge.

Common package locations:

  • Bare-metal Linux: ~/.thelounge/packages
  • Docker official image with mounted data: /var/opt/thelounge/packages inside the container
  • Host bind mount: whatever host path you mounted to /var/opt/thelounge

Usage

  1. Open The Lounge on a phone or touch device.
  2. Tap the T button in the message input.
  3. Tap a formatting option.
  4. Type normally, or select text first and then apply formatting.
  5. Tap the colour button to open the colour palette.
  6. Pick a colour to apply it; the palette closes automatically.
  7. Tap the colour button again if you opened the palette and changed your mind.

How it works

The plugin registers a small client-side script and stylesheet with The Lounge:

  • index.js registers public assets and injects the client script into The Lounge's HTML template.
  • plugin.js creates the formatting toggle, toolbar, colour palette, and IRC control-code insertion logic.
  • plugin.css handles mobile-friendly positioning and styling.

The inserted formatting codes are standard IRC control characters, so messages remain compatible with other IRC clients.

IRC formatting controls

| Format | IRC control | | --- | --- | | Bold | \x02 | | Colour | \x03NN | | Italic | \x1D | | Strikethrough | \x1E | | Underline | \x1F | | Monospace | \x11 | | Reset | \x0F |

Compatibility

  • The Lounge: >= 4.0.0
  • Designed primarily for mobile/touch layouts
  • Also works on desktop browsers

Development

Clone the repo, edit the files, then install the local package into your The Lounge instance:

git clone https://github.com/binkiewka/thelounge-plugin-mobile-format.git
cd thelounge-plugin-mobile-format
npm test
npm pack --dry-run

Local install:

thelounge install /path/to/thelounge-plugin-mobile-format

Docker local install example:

docker exec -it thelounge thelounge install /path/inside/container/thelounge-plugin-mobile-format
docker restart thelounge

Publishing to npm

npm test
npm pack --dry-run
npm publish

Before publishing a new release, update:

  • version in package.json
  • CHANGELOG.md

License

MIT © Tomasz Binkiewicz