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

bootstrap-richarea

v1.3.2

Published

A Bootstrap-based rich content editor

Downloads

18

Readme

RichArea Content Editor for Bootstrap

RichArea offers a component-based approach to editing layouts and content in a WYSIWYG fashion. Instead of allowing the user complete control over markup and layout like a standard WYSIWYG editor, RichArea takes a different approach: it uses layout components where the layout is fixed but the content is editable via either standard text/textarea, Markdown, or more advanced controls.

RichArea comes with 300 responsive layout components with these edit controls:

  • Text
  • Text area
  • Markdown area
  • Images
  • YouTube video embeds
  • Dropdown lists
  • Hyperlinks

Features:

  • Full WYSIWYG content editing
  • Retrieve both HTML output and RichArea content data structures
  • Render mobile-first Bootstrap components

Quickstart

RichArea is designed to be used with Webpack. It does not contain a distribution file. See the RichArea Starter Kit for a working demo:

 git clone [email protected]:benallfree/bootstrap-richarea-starter.git
 cd bootstrap-richarea-starter
 npm run build

Creating

<div id="richarea"></div>

RichArea.create({
  container: document.getElementById('richarea'),
});

Events

To get notified when content changes:

RichArea.create({
  onChange: function(content)
  {
    console.log(content.html); // Plain HTML rendering
    console.log(content.data); // Item data array (JSON compatible)
  }
});

Custom Layouts

To use a custom set of layouts (please note, you are responsible for loading them however you need to):

var myLayouts = {...};
RichArea.create({
  layouts: myLayouts,
});

Custom Categories

To use a custom set of categories:

var mycats = [...];
RichArea.create({
  categories: myCats,
});

Images

If you want RichArea to upload them to your server instead, use this:

$('#richarea').richarea({
  imageUploadUrl: '/my/upload/handler',
});

RichArea will POST to the URL specified and expects back a JSON response:

{
  status: "success|error",
  url: "/path/to/image/on/server.png",
}

Customizing CSS

If you're using a Bootstrap theme and can build your own RichArea CSS, include your variables.scss and then ./src/sass/_richarea.scss.

It might be easier though just to override RichArea's color choices:

.richarea
{
  &.richarea-editor {
    ul.sortable {
      li {
        .tools {
          background: rgba($gray, 0.2);
        }
        &.active {
          .item
          {
            &:after
            {
              background: rgba($gray-lighter, 0.44);
            }
          }
        }
      }      
    }
    .modal-body.component-selector {
      background-color: $gray-lighter;
      color: $gray-darker;
    }
    img {
      &.component {
        border: 1px solid $gray-lighter;
      }
    }  
  }
}

Or just the plain old CSS:

.richarea.richarea-editor ul.sortable li .tools {
  background: rgba(85, 85, 85, 0.2); }
  
.richarea.richarea-editor ul.sortable li.active .item:after {
  background: rgba(238, 238, 238, 0.44); }

.richarea.richarea-editor .modal-body.component-selector {
  background-color: #eeeeee;
  color: #222222; }
  
.richarea.richarea-editor img.component {
  border: 1px solid #eeeeee; }

Building

RichArea is built via Webpack. See the RichArea Starter Kit for details.

Generating Thumbnails:

brew install imagemagick
brew install graphicsmagick
node ./scripts/thumbnails.js