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

vue-prosemirror-wrapper

v1.0.0

Published

forked from npm vue-prosemirror-editor

Downloads

5

Readme

Vue Prose

This plugin was made while creating the editor for studbits.com. We hope you find it useful!

A minimal Prosemirror Wrapper for Vue.js

Installation

npm install vue-prosemirror-editor

The vue-prose will install prosemirror's dependencies.

You must load the style/gapcursor.css styles or define your own styling for the cursor.

Basic Usage

The most basic usage with an empty editor:

// template
<Editor />

// script
import Editor from "vue-prosemirror-editor"

export default {
  components: {
    Editor
  }
}

Editor

The editor is a component that accepts these props:

  • doc, an Object, the prosemirror document to be edited. (Or you can set the fromContent prop to true and the document will be parsed from the element with the #content id.)

  • schema, an Object, the schema to be passed to the editor state.

  • editorProps, an Object, any props to be passed to editor view.

  • plugins, an Array, any editor plugins.

  • keyCommands, a Function, that passes the editor schema so you can register any additional editor key commands.

  • inputRules, an Array, any custom editor input rules.

  • nodeViews, an Object, any custom editor node views.

  • interceptTransaction, a function, can be passed to prevent an editor transaction.

  • 'editable', a boolean that represents whether editing is allowed.

  • autofocus, a boolean. Defaults to true.

  • willCreate, an event that fires when the editor instance is about to be created. Takes no arguments.

  • didCreate, an event that fires once the editor instance has been created. Will be called with the editor instance and may be used to configure it further.

  • wasUpdated, an event that will fire whenever the underlying document changes. It is called with the editor state and schema.

Advanced Usage

Editor Views as Vue Components

This package includes a ComponentView utility that you can use to register editor views as vue components.

It can be used as follows:

import { ComponentView } from 'vue-prosemirror-editor'
import Menu from '~/components/Menu'

export default class MenuView extends ComponentView {
  constructor (node, view, getPos) {
    // call `ComponentView` constructor with desired component and
    // any props that should be passed to it
    super(Menu, { node, view, getPos })
  }

  // make sure to update any props so that you can handle the logic
  // inside the vue component by watching for changes
  update (node, decs) {
    this.node = node
    return true
  }
}

Getting Help

If you'd like to report a bug or request a feature, please open an issue.

License

MIT

Copyright (c) 2017 Studbits