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

linkmate

v1.0.7

Published

LinkMate is the swiss army knife of web page bookmarking.

Downloads

6

Readme

Tag GitHub (pre-)release Version npm Downloads npm MIT license

Overview

LinkMate is the swiss army knife of web page bookmarking. Powered by PouchDB, users can create private databases of bookmarks or choose to share their data with geographically spread out users in real time no matter where they are. Data replication is the foundation of LinkMate. Perfect for students, researchers or anybody who needs to save or share and synchronize their data instantly. LinkMate is a work in progress. If you would like to contribute or share any ideas please feel free to create a pull request or submit an issue.

Features

Functionality you'll find in this application:

  • Completely private web page bookmarking management.
  • Supports both master-master and master-slave replication
  • Intuitive customizable interace that makes bookmarking a breeze.
  • Access controlled remote database authentication and authorization.
  • Save web page banners and images with the click of a button.
  • Listen to document titles utilizing the SpeechSynthesis Web Speech API.

Application Directions

Once the application is loaded head on over to the options page and start by filling in your general information and hitting the submit button. Next create some databases to organize your bookmarks such as sports or cooking. Once done click the category tab and create some categories for your databases such as football and basketball for sports and recipes and deserts for cooking. If you like check, out some of the themes and hit apply. Now your ready to start booking marking some web pages.

Replication Directions

The first step in learning how replication works is to install a local copy of CouchDb, and disable the Admin Party in Fauxton by creating a username and password. Create an empty database by clicking the create database button. In the LinkMate extension options menu, click the database tab and create a new database. Make sure to enter your correct username and password and remote database url. Next on the replication tab, click the checkbox to verifiy your connection. Once verfied click the push button to back your data or pull to restore it. Note you can also create a user and give them permissions to the database or assign the user to a group with database permissions. To quickly create a new user, on the options general tab, enable remote authentication and click the register link on the login screen.

Libraries Used

  • Vue Extension - A boilerplate for quickly starting a web extension with Vue, webpack 4, ESLint and more!
  • Vue - A progressive, JavaScript framework for building UI on the web.
  • Vuex - Vuex is a state management library for Vue.js.
  • PouchDB - PouchDB is a pocket-sized database.
  • PouchVue - Pouchdb bindings for Vue.js
  • Materialize - Materialize, a CSS Framework based on Material Design
  • webextension-polyfill - A lightweight polyfill library for Promise-based WebExtension APIs in Chrome

Further Reading

  • PouchDB Find - Provides a simple, MongoDB-inspired query language that accomplishes the same thing as the map/reduce API, but with far less code. Eventually this will replace PouchDB's map/reduce API entirely. You'll still be able to use map/reduce, but it will be distributed as a separate plugin.
  • PouchDB LiveFind - Live PouchDB queries that update automatically as changes come in!
  • PouchDB Authentication - Easy user authentication for PouchDB/CouchDB.
  • Relational Pouch - Relational Pouch is a plugin for PouchDB that allows you to interact with PouchDB/CouchDB like a relational data store, with types and relations.
  • Mango Queries - Mango queries, also known as pouchdb-find or the find() API, are a structured query API that allows you to build secondary indexes beyond the built-in allDocs() and changes() indexes.
  • Map/Reduce Queries - Map/reduce queries, also known as the query() API, are one of the most powerful features in PouchDB.
  • PouchDB Quick Search - Full-text search engine on top of PouchDB

Quick Setup

$ glt clone https://github.com/tomshaw/linkmate
$ cd linkmate
$ npm install
$ npm run build

npm run build

Build the extension into dist folder for production.

npm run build:dev

Build the extension into dist folder for development.

npm run watch

Watch for modifications then run npm run build.

npm run watch:dev

Watch for modifications then run npm run build:dev.

npm run build-zip

Build a zip file following this format <name>-v<version>.zip, by reading name and version from manifest.json file. Zip file is located in dist-zip folder.

License

See the bundled LICENSE file for details.

Author

Tom Shaw (@urlrider)