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

mark-me-down

v0.0.15

Published

Parses markdown into objects that can be stored or rendered

Downloads

7

Readme

Disclaimer

HIGHLY EXPERIMENTAL: USE AT YOUR OWN RISK

Currently suffers from:

  • Does not support full markdown language features
  • Performance (50x slower than marked)
  • Outputs only objects (no HTML renderer, formatter)

Mark Me Down

A utility to parse a modified markdown dialect into an object representation that can stored or rendered to HTML.

This model was created to support the creation of pre-parsed structured data that could then be parsed by a custom HTML renderer in Loverly's Node.js platform.

Pre-parsing into an object structure prevents us from having to compile markdown on-the-fly every time we want to render one of our blog articles while having an output agnostic data structure allows us to render to multiple output formats without having to change our compiler.

The syntax is a heavily redacted subset of the actual Markdown language with Loverly-specific objects introduced for the editorial team to create flexible and beautiful blog content.

THIS IS NOT AN HTML GENERATOR

If you are looking for something to generate HTML from a Markdown file, try the npm library marked instead.

Usage

There currently isn't much (any) configuration options for the parser. In the future it may be possible to setup the parser in more meaningful ways, but I haven't found a need for it yet.

var fs = require('fs');
var MarkMeDown = require('../index');

var mmd = new MarkMeDown();

mmd.on('data', function (data) {
  console.log('TOKEN:', data);
});

var stream = fs.createReadStream(__dirname + '/ShortCorpus.md');
stream.pipe(mmd.getStreamForPipe());

Data Structure of Output

The output structure of the objects is type dependent. The various output formats with examples can be found in the object type reference.

Library Internals

The MarkMeDown library implements a lexer that runs through multiple passes via the streams pipeline API. Read more about how this works in the Under the Hood Guide.