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 🙏

© 2025 – Pkg Stats / Ryan Hefner

dmak

v0.3.1

Published

A funny drawer for your Japanese writings

Readme

Draw Me A Kanji Build Status Stories in Ready

Render your Japanese writings with fun and taste

Draw Me A Kanji

For the sake of simplicity, "Draw Me A Kanji" is shortened to dmak

Usage

Using dmak.js is easy, a lot easier than writing kanjis!

Prerequisite All the hard work with SVG is done by Raphaël, a cool and simple Javascript library to play with vector graphic on the Web. And... that's it! Include both raphael.js and dmak.js files in your HTML file.

Up to you to use either:

Vanilla JS

<div id="draw"></div>
<script>
  var dmak = new Dmak('電車', {
    'element' : "draw"
  });
</script>

or the jQuery plugin

<div id="draw"></div>
<script>
    // That's it!
    $("#draw").dmak('電車');
</script>

NOTE: You need to include the additional jquery.dmak.js file

Customization

Dmak.js comes with a whole set of options to alter the way it behaves. Here is an explicit list of all parameters available to you followed by their default value.

  • uri - path to the SVG files folder. ""
  • skipLoad - skip SVG files loading. false
  • autoplay - start drawing as soon as all SVG files are loaded. true
  • height - height in pixels of a single paper surface. 109
  • width - width in pixels of a single paper surface. 109
  • viewBox.x - x position of the canvas. 0
  • viewBox.y - y position of the canvas. 0
  • viewBox.w - width of the canvas. 109
  • viewBox.h - height of the canvas. 109
  • step - positive integer which defines the speed of the drawing. 0.03
  • element - DOM element or its ID which is going to be a parent for drawing surface. "draw"
  • stroke.animated - enable or disable stroke animation. true
  • stroke.order.visible - display stroke order. false
  • stroke.order.attr.font-size - stroke order font size in pixels. 8
  • stroke.order.attr.fill - stroke order color. #999999
  • stroke.attr.active - currently drawn stroke color. "#BF0000"
  • stroke.attr.stroke - stroke color (can use "random" keyword here for random color). "#2C2C2C"
  • stroke.attr.stroke-width - stroke width in pixels. 4
  • stroke.attr.stroke-linecap - ["butt", "square", "round"]. "round
  • stroke.attr.stroke-linejoin - ["bevel", "round", "miter"]. "round
  • grid.show - show or hide gridlines. true
  • grid.attr.stroke - grid color. "#CCCCCC"
  • grid.attr.stroke-width - grid width in pixels. 0.5
  • grid.attr.stroke-dasharray - ["", "-", ".", "-.", "-..", ". ", "- ", "--", "- .", "--.", "--.."]. "--"
  • loaded - callback function which is executed when all SVG files are fully loaded
  • erased - callback function which is executed when a stroke is erased
  • drew - callback function which is executed when a stroke is drawn

Demo

For basic samples please refer to demo folder, otherwise dive into drawmeakanji.com source code.

Compatibility

Inspirations

And of course a huge thanks and support to KanjiVG for providing a whole set of SVG files.

Contributing

Check CONTRIBUTING.md

History

Check Release list.

Building

  • Install nodejs
  • Install grunt-cli
  • Process dependencies by running npm install in the repository root folder
  • Build a new release by invoking grunt in the repository root folder

License

Draw Me A Kanji (dmak.js) was created by Matthieu Bilbille and released under the MIT License.