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 🙏

© 2024 – Pkg Stats / Ryan Hefner

ssb-viewer

v1.0.0

Published

serve ssb threads as (embeddable) web pages

Downloads

15

Readme

ssb-viewer

HTTP server for read-only views of SSB content. Serves content as web pages or as scripts for embedding in other web pages.

Install & Run

As a sbot plugin:

mkdir -p ~/.ssb/node_modules
cd ~/.ssb/node_modules
git clone ssb://%MeCTQrz9uszf9EZoTnKCeFeIedhnKWuB3JHW2l1g9NA=.sha256 ssb-viewer && cd ssb-viewer
npm install
sbot plugins.enable ssb-viewer
# restart sbot

Or standalone:

git clone ssb://%MeCTQrz9uszf9EZoTnKCeFeIedhnKWuB3JHW2l1g9NA=.sha256 ssb-viewer && cd ssb-viewer
npm install
./bin.js

Usage

To view a thread as a web page, navigate to a url like http://localhost:8807/%MSGID.

To embed a thread into another web page, load it as follows:

<script src="http://localhost:8807/%MSGID.js"></script>

To add more than the base styles, you can also load http://localhost:8807/static/nicer.css.

Routes

  • /%msgid: web page showing a message thread
  • /%msgid.js: script to embed a message thread
  • /%msgid.json: message thread as JSON
  • /&feedid: web page showing a complete feed
  • /user-feed/&feedid: web page showing messages from followed users and channels of a feed
  • /channel/#channel: web page showing messages in a specific channel

Query options

  • noroot: don't include the root message in the thread
  • base=...: base url for links that ssb-viewer can handle
  • msg_base=...: base url for links to messages
  • feed_base=...: base url for links to feeds
  • blob_base=...: base url for links to blobs
  • img_base=...: base url for embedded blobs (images)
  • emoji_base=...: base url for emoji images

The *_base query options overwrite the defaults set in the config. The base option is a fallback instead of specifying the URLs separately. The base options are mostly useful for embedding, where the script is embedded on a different origin than where ssb-viewer is running. However, you may not need them, as the ssb-viewer embed script will detect the base where it is included from.

Config

To change ssb-viewer's default options, edit your ~/.ssb/config, to have properties like the following:

{
  "viewer": {
    "port": 8807,
    "host": "::"
  }
}

You can also pass these as command-line options to ./bin.js or sbot as, e.g. --viewer.port 8807.

  • viewer.port: port for the server to listen on. default: 8807
  • viewer.host: host address for the server to listen on. default: ::
  • viewer.base: default base url for links that ssb-viewer can handle
  • viewer.msg_base: base url for links to ssb messages
  • viewer.feed_base: base url for links to ssb feeds
  • viewer.blob_base: base url for links to ssb blobs
  • viewer.img_base: base url for embedded blobs (images)
  • viewer.emoji_base: base url for emoji images

References

License

Copyright (c) 2016-2017 Secure Scuttlebutt Consortium

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.