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

wysihtml

v0.6.0-beta1

Published

Open source rich text editor for the modern web.

Downloads

1,718

Readme

wysihtml

wysihtml is an extended and less strict approach on xing/wysihtml5 open source rich text editor. The code is library agnostic and has all dependencies bundled: No jQuery, Prototype or similar is required. The currently bundled dependencies are rangy.js (including textrange and selectionsaverestore modules) and base.js.

This project is supported by Voog.

Version 0.6.0 breaking changes

Version 0.6.0 notes for migration.

  • Object namespace is now wysihtyml (was previously wysihtml5). This change includes all classnames and event names.
  • The default toolbar is separated to independent module (wysihtml.toolbar.js) and must be added separately if used.
  • Full command set for backwards compatibility is not bundled and separated to wysihtml.all-commands.js module. Most commands there directly map to formatBlock or formatInline commands and are thus optional and can be replaced with these internal commands.
  • Table editing features are now as a separate module

Demos

  • Project page with simple demo: http://wysihtml.com
  • Minimal demo: https://voog.github.com/wysihtml/examples/simple.html
  • Advanced demo: https://voog.github.com/wysihtml/examples/advanced.html
  • Editable GitHub page: https://voog.github.com/wysihtml
  • Or try it on a working app: https://www.voog.com

Features

  • Auto linking of urls as-you-type.
  • Generates valid and semantic HTML5 markup (no <font> tags).
  • Can use class-names instead of inline styles.
  • Unifies line-break handling across browsers (hitting enter will create <br> instead of <p> or <div>).
  • Auto-parses content inserted via copy & paste (from Word, Powerpoint, PDF, other web pages, etc.).
  • Converts invalid or unknown html tags into valid/similar tags.
  • Source code view for users with HTML skills.
  • Uses sandboxed iframes in order to prevent identity theft through XSS.
  • Editor inherits styles and attributes (placeholder, autofocus, etc.) from original textarea (you only have to style one element).

Extended features not present in xing/wysihtml5:

  • Can be used without iframe sandbox when initiated on <div> instead of <textarea>.
  • Blocking of image drag drop in editable is removed.
  • Table insertion management and cell merging commands.
  • Improved parser with options to: unwrap tag instead of remove, keep defined styles, complex object type definitions for allowing elements.
  • Ability to add uneditable area inside editor text flow (useful when building modules like video tools, advanced image editor etc).
  • Improved formatblock handling.
  • Ability for user to remove formating with only collapsed caret without having to select exactly whole text.
  • Improved speed.
  • Anchor creating and removing logic changed to more universal.
  • Default build is without internal toolbar functions and build with -toolbar suffix contains default toolbar functions.

Browser Support

The rich text editing interface is supported in IE9+, FF 29+, Safari 6+, Safari on iOS 6+, Opera 12+ and Chrome. Graceful Degradation: Users with other browsers will see the textarea and are still able to write plain HTML by themselves.

Development

wysihtml can be initialized and built using node package manager:

npm install
npm run build

This adds dependencies (first line) and builds both minified and development versions (second line).

Contributors

See the list of contributors here.