This is your work, valued

Cincinnati, OH

Jon Schlinkert

Elite
@jonschlinkert

Son of GitHub. Humble student of @doowb. Creator of @assemble @generate @enquirer @breakdance @update @micromatch

remarkable. Markdown parser, done right. Commonmark support, extensions, syntax plugins, high speed - all in one. Gulp and metalsmith plugins available. Used by Facebook, Docusaurus and many others! Use https://github.com/breakdance/breakdance for HTML-to-markdown conversion. Use https://github.com/jonschlinkert/markdown-toc to generate a table of contents.

5.8k

gray-matter. Smarter YAML front matter parser, used by metalsmith, Gatsby, Netlify, Assemble, mapbox-gl, phenomic, vuejs vitepress, TinaCMS, Shopify Polaris, Ant Design, Astro, hashicorp, garden, slidev, saber, sourcegraph, and many others. Simple to use, and battle tested. Parses YAML by default but can also parse JSON Front Matter, Coffee Front Matter, TOML Front Matter, and has support for custom parsers. Please follow gray-matter's author: https://github.com/jonschlinkert

4.5k

markdown-toc. API and CLI for generating a markdown TOC (table of contents) for a README or any markdown files. Uses Remarkable to parse markdown. Used by NASA/openmct, Prisma, Joi, Mocha, Sass, Prettier, Orbit DB, FormatJS, Raneto, hapijs/code, webpack-flow, docusaurus, release-it, ts-loader, json-server, reactfire, bunyan, husky, react-easy-state, react-snap, chakra-ui, carbon, alfresco, repolinter, Assemble, Verb, and thousands of other projects.

1.8k

gulp-htmlmin. Minify HTML

725

maintainers-guide-to-staying-positive. Don't let the trolls get you down! Use this as a reference to avoid open-source burnout and keep doing what you love: writing code! Contributions and any kind of improvements are very welcome!

678

sublime-markdown-extended. Top 100 Sublime Text plugin! Markdown syntax highlighter for Sublime Text, with extended support for GFM fenced code blocks, with language-specific syntax highlighting. YAML Front Matter. Works with ST2/ST3. Goes great with Assemble.

662

sublime-monokai-extended. Extends Monokai from Soda with additional syntax highlighting for Markdown, LESS, HTML, Handlebars and more.

518

kind-of. Get the native JavaScript type of a value, fast. Used by superstruct, micromatch and many others!

354

clone-deep. Recursively (deep) clone JavaScript native types, like Object, Array, RegExp, Date as well as primitives. Used by superstruct, merge-deep, and many others!

317

get-value. Use property paths (`a.b.c`) get a nested value from an object.

306

is-number. JavaScript/Node.js utility. Returns `true` if the value is a number or string number. Useful for checking regex match results, user input, parsed strings, etc.

285

set-value. Set nested properties on an object using dot-notation.

277

word-wrap. Wrap words to a specified length.

207

randomatic. Easily generate random strings like passwords, with simple options for specifying a length and for using patterns of numeric, alpha-numeric, alphabetical, special or custom characters. (the original "generate-password")

183

data-store. Easily get, set and persist config data. Fast. Supports dot-notation in keys. No dependencies.

160

is-plain-object. Returns true if the given value is an object created by the Object constructor.

157

guide-to-staying-productive. If you're looking for ways to stay motivated and focused, while still having fun, this guide is for you! Contributions and any kind of improvements are very welcome!

147

pretty. Sensible presets and some tweaks for beautifying HTML with js-beautify according to my preferences.

138

parse-github-url. Parse a Github URL into an object. Supports a wide variety of GitHub URL formats.

129

idiomatic-contributing. A brief guide to being an effective open source contributor.

122

strip-comments. Strip block comments or line comments from JavaScript code.

121

normalize-path. Normalize file path slashes to be unix-like forward slashes. Used by chokidar, anymatch, and many others!

112

merge-deep. Recursively merge values in a JavaScript object.

110

time-stamp. Get a formatted timestamp. Used in gulp, assemble, generate, and many others.

110

isobject. Is the value an object, and not an array or null?

107

gists. Methods for working with the GitHub Gist API. Node.js/JavaScript

100

copy. Copy files using glob patterns. Sync, async, promise or streams. (node.js utility)

93

git-branch. Get the current branch for a local git repository

92

dashify. Convert a string to a dash-separated string (kebab case). Works with camelcase, pascalcase, space-separated, etc.

91

vertical-rhythm. Put some typographical vertical rhythm in your CSS. LESS, Stylus and SCSS/SASS versions included.

89

window-size. Reliable way to to get the height and width of the terminal/console in a node.js environment.

85

write. Write data to the file system, creating any intermediate directories if they don't already exist. Used by flat-cache and many others!

82

mixin-deep. Deeply mix the properties of objects into the first object, while also mixing-in child objects.

80

template-helpers. Generic JavaScript helpers that can be used with any template engine. Handlebars, Lo-Dash, Underscore, or any engine that supports helper functions.

80

eval-estree-expression. Safely evaluate JavaScript (estree) expressions, sync and async.

68

parse-comments. Parse JavaScript code comments. Works with block and line comments, and should work with CSS, LESS, SASS, or any language with the same comment formats.

66

utils. Fast, generic JavaScript/node.js utility functions.

61

to-regex. Generate a regex from a string or array of strings.

60

templates. System for creating and managing view collections, rendering, engines, routes and more. See the "dev" branch for most recent updates.

60

github-base. Simple, opinionated node.js interface for creating basic apps with the GitHub API.

59

arr-flatten. Recursively flatten an array or arrays. This is the fastest implementation of array flatten.

59

cache-base. Basic object store with methods like get/set/extend/omit

57