Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

github-slugger

1.3.0 • Public • Published

github-slugger

npm travis

Generate a slug just like GitHub does for markdown headings. It also ensures slugs are unique in the same way GitHub does it. The overall goal of this package is to emulate the way GitHub handles generating markdown heading anchors as close as possible.

Install

npm install github-slugger

Usage

var GithubSlugger = require('github-slugger')
var slugger = new GithubSlugger()
 
slugger.slug('foo')
// returns 'foo'
 
slugger.slug('foo')
// returns 'foo-1'
 
slugger.slug('bar')
// returns 'bar'
 
slugger.slug('foo')
// returns 'foo-2'
 
slugger.reset()
 
slugger.slug('foo')
// returns 'foo'
 

Check test/index.js for more examples.

If you need, you can also use the underlying implementation which does not keep track of the previously slugged strings (not recommended):

var slugger = require('github-slugger').slug;
 
slug('foo bar baz')
// returns 'foo-bar-baz'
 
slug('foo bar baz')
// returns the same slug 'foo-bar-baz' because it does not keep track

Contributing

Contributions welcome! Please read the contributing guidelines first.

License

ISC

Install

npm i github-slugger

DownloadsWeekly Downloads

634,967

Version

1.3.0

License

ISC

Unpacked Size

6.37 kB

Total Files

5

Last publish

Collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar