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

signalk-wilhelmsk-docs

v0.1.8

Published

Serves the WilhelmSK app documentation from your SignalK server, so in-app help and direct browser access work without an internet connection. Open it from the Webapps menu or browse to /signalk-wilhelmsk-docs/.

Readme

WilhelmSK Documentation (SignalK plugin)

A SignalK node-server plugin that serves the WilhelmSK documentation site directly from your boat's SignalK server, so the app's in-app help works offline.

WilhelmSK is the marine instrument display app for iOS, iPadOS, and watchOS. Install this plugin and the app can offer in-app help straight from your own SignalK server — no internet connection required once it's on the boat.

What it does

  • Serves the bundled MkDocs documentation site at /signalk-wilhelmsk-docs/.

  • Works fully offline — the entire docs site ships with the plugin.

  • Serves a small version/info file at /signalk-wilhelmsk-docs/info.json:

    {
      "id": "signalk-wilhelmsk-docs",
      "version": "0.1.4",
      "docsPath": "/signalk-wilhelmsk-docs/"
    }

    It reports the installed plugin version and the docs path. The WilhelmSK app verifies the docs are reachable by probing the docs root before pointing its in-app help at http://<host>:<port>/signalk-wilhelmsk-docs/.

    Why a static file and not a plugin endpoint: SignalK mounts registerWithRouter routes under /plugins/*, which the server's security middleware gates behind authentication. Keeping info.json (and the docs themselves) on the open static route means they're reachable without a token. info.json is generated from the plugin version by scripts/gen-info.js during npm run build-docs.

Install

From the SignalK App Store

In the SignalK server admin UI, open Appstore → Available and look for WilhelmSK Documentation (the WilhelmSK app icon, by David Lewis). Searching the list for wilhelm or documentation will find it. The entry shows the short description — "Serves the WilhelmSK app documentation from your SignalK server, so in-app help and direct browser access work without an internet connection. Open it from the Webapps menu or browse to /signalk-wilhelmsk-docs/." — a version number, and an Install button.

Click Install, then restart the server when the admin UI prompts you. There are no configuration options — the docs start serving immediately, and the plugin appears afterward under Appstore → Installed.

Manually (development)

cd ~/.signalk/node_modules
npm install /path/to/signalk-wilhelmsk-docs/plugin
# or symlink for local development:
ln -s /path/to/signalk-wilhelmsk-docs/plugin signalk-wilhelmsk-docs

Restart the SignalK server, then enable WilhelmSK Documentation under Server → Plugin Config.

Verify

curl http://localhost:3000/signalk-wilhelmsk-docs/info.json
curl -I http://localhost:3000/signalk-wilhelmsk-docs/

Reading the docs

There are two ways to get to the documentation, and the first one needs nothing but a web browser — the WilhelmSK app is not required.

Directly in a browser (no app needed)

Once the plugin is installed, the full documentation site is live on your server. From any phone, tablet, or laptop on the boat's network, open:

http://<your-signalk-host>:3000/signalk-wilhelmsk-docs/

(substitute your server's address — e.g. http://signalk.local:3000/signalk-wilhelmsk-docs/ or its LAN IP). It also shows up in the SignalK admin UI under the Webapps menu as a launchable web app. Because it's served as a standard static site, it works on the boat with no internet connection, and it does not depend on the plugin being "enabled" in plugin config — installing the package is enough.

From inside WilhelmSK

The WilhelmSK iOS/iPadOS app can open this same server-hosted copy from Settings → Help / Documentation with the source set to SignalK Server, so the help is available in-app and offline. (This relies on the app build that includes the in-app documentation-source picker; until that ships, use the browser method above — it works with any version.)

Size

The plugin bundles the entire documentation site (so it works without internet access on the boat). Everything ships inside the package — installing it adds nothing to node_modules beyond the plugin's own folder, because it has no runtime dependencies. So the installed footprint below is the whole cost:

| What | Size | |------|------| | Download (npm tarball, gzipped) | ~670 KB | | Installed on disk | ~2.8 MB (54 files) | | Extra node_modules dependencies | none |

Almost all of the on-disk size is the Material theme's bundled assets (fonts, icons, JS, CSS — about 2.5 MB) plus the rendered HTML pages; the plugin code itself is only a few KB. On a Raspberry Pi-class SignalK server — where the OS, Node, and signalk-server already account for a few GB — under 3 MB of docs is negligible and will fit comfortably on any install that runs SignalK at all.

Documentation content

The public/ directory holds the built MkDocs site. It is generated from the docs/ sources at the repository root via mkdocs build -d plugin/public/ (see the repo root README.md / npm run build-docs).

License

MIT © 2026 David Lewis