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

vsm-box

v1.1.4

Published

Webcomponent for building and showing a VSM-sentence

Downloads

100

Readme

vsm-box

Node.js CI (will become a live badge when codecov can see inside webpack-bundled code) npm version License Downloads

Intro

vsm-box is a web-component for entering and showing a VSM-sentence.  –  Explanation:

  • A VSM-sentence is a computer-understandable and potentially natural-looking statement that consists of VSM-terms and VSM-connectors. Each term is a one- or few-word text string plus a linked ID. The relation between all terms is clarified with just a small set of connectors.

  • VSM (Visual Syntax Method) is an intuitive method to represent any knowledge – on any topic, and with any amount of context details – into an elegant form that is easy to understand by both humans and computers.
    In more detail:
    VSM is the combination of a user-interface and a semantic model, that enables people to represent diverse and context-rich knowledge with precision, and that enables them to capture this knowledge in a way they find intuitive – because it closely corresponds to how a piece of knowledge is represented in the human mind.
    VSM is thus a general-purpose method for entering (or 'writing') knowledge in a structured, computable form, and for viewing (or 'reading') it in that form.
    See vsm.github.io for all info on VSM.

  • A web-component is something that can be shown in a web page by simply inserting an HTML-tag, like a <button>, <input>, or here a <vsm-box>.

Target audience:

  • For web-developers who embed a vsm-box in a web-app: there are many customization features to support the needs of various user groups.
  • For end-users: a vsm-box is an elegant and flexible interface for capturing structured information – and esp. easy when they can fill out VSM-template sentences.

Intro example – for end users

This is a vsm-box animated example. Here, a user:
• enters two terms (linked to an ID),
• checks a term's definition etc. by mousehovering so a popup appears,
• adds a second connector – but by doing so, creates an unintended meaning ('chicken with fork')
  (note also: connectors get auto-sorted for optimal layout),
• removes that connector again,
• adds the second connector correctly.

For more examples, see vsm.github.io.

Intro example – for web developers

A concise example of how to place a vsm-box in a web-app is shown on vsm.github.io, bottom of front page.

More elaborate examples are in the 'index*.html' files in the src folder (see also Build below),
and in the vsm demo repository (which can be used live here).

Documentation

See Documentation.md for full technical details, including:

  • VSM-sentence data-model (and examples),
  • VsmBox input props (i.e. html-attributes),
  • VsmBox emitted events,
  • user interaction,
  • customized content (for term labels, term popups, and autocomplete panel items).

Build

This project's configuration (webpack + npm + Vue + testing + linting) is as described in github.com/stcruy/building-a-reusable-vue-web-component.

This makes vsm-box available as: 1) a standalone web-component, 2) a slim web-component, and 3) a Vue component.

The latest version's built files are available at unpkg:

Creators

Contributing

See Contributing.md for how to submit pull requests, and a standard text on being nice to other contributors.

License

This project is licensed under the AGPL-3.0 license.

The AGPL license gives you the right to use the vsm-box and other vsm modules for free. But if you modify the source code, the goal is that you have to contribute those modifications back to the community. So *GPL makes software stay virally for-free.

Note* however that it is NOT required that applications' code is published if, for entering and/or showing VSM-based information, they use only unchanged, not-augmented vsm modules and/or vsm data formats. The copyleft applies only to the vsm-box and other vsm modules. Your application, even though it talks to vsm-box, is a separate program and "work".
*(That is our interpretation and intention with AGPL, similar to how MongoDB does it. If you know a legally better way to achieve this goal, let us know.)

Why AGPL
With VSM, we aim for unification of science's efforts towards digital transformation of all its research findings. We want to promote community-building, and move forward with everyone together broadening the application set.
Because the vsm-box software directly reflects the core design of VSM, as a shareable semantic-data / knowledge format, we believe that modifications or enhancements to it must be made public as well. Otherwise a private actor could easily use an "embrace, extend, extinguish" approach to privatize an evolving technology that was originally meant to transform our scientific knowledge into a more open digital form.
We are inspired by the copyleft licensing that contributed to the success of Linux-based systems, for the same reason. We may revise this policy, if along the way we would learn that a most permissive license would give more benefit to society.