Nevertheless! Party Metaphorically

    github-slugger
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/github-slugger package

    1.4.0 • Public • Published

    github-slugger

    npm Build

    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.

    This project is not a Markdown or HTML parser: passing alpha *bravo* charlie or alpha <em>bravo</em> charlie doesn’t work. Instead pass the plain text value of the heading: alpha bravo charlie.

    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.slug('Привет non-latin 你好')
    // returns 'привет-non-latin-你好'
    
    slugger.slug('😄 emoji')
    // returns '-emoji'
    
    slugger.reset()
    
    slugger.slug('foo')
    // returns 'foo'

    Check test/fixtures.json 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 slug = 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

    3,314,459

    Version

    1.4.0

    License

    ISC

    Unpacked Size

    13.3 kB

    Total Files

    5

    Last publish

    Collaborators

    • wooorm
    • chrisdickinson
    • ag_dubs
    • flet
    • revin