node package manager

linkify-issues

linkify-issues Build Status

Linkify GitHub issue references

Install

$ npm install linkify-issues

Usage

const linkifyIssues = require('linkify-issues');
 
linkifyIssues('Fixes #143 and avajs/ava#1023', {
    user: 'sindresorhus',
    repo: 'dofle',
    attributes: {
        class: 'unicorn',
        multiple: ['a', 'b'],
        number: 1,
        exclude: false,
        include: true
    }
});
//=> 'Fixes <a href="https://github.com/sindresorhus/dofle/issues/143" class="unicorn" multiple="a b" number="1" include>#143</a> and <a href="https://github.com/avajs/ava/issues/1023" class="unicorn" multiple="a b" number="1" include>avajs/ava#1023</a>' 
 
const fragment = linkifyUrls('See #143', {
    user: 'sindresorhus',
    repo: 'dofle',
  type: 'dom',
  attributes: {
  class: 'unicorn',
  }
 });
 document.body.appendChild(fragment);

API

linkifyIssues(input, [options])

input

Type: string

Text with issue references to linkify.

options

Type: Object

user

Type: string

GitHub user.

repo

Type: string

GitHub repo.

attributes

Type: Object

HTML attributes to add to the link.

baseUrl

Type: string
Default: https://github.com

Base URL.

type

Type: string
Values: string dom
Default: string

Format of the generated content.

string will return it as a flat string like 'See <a href="https://github.com/sindresorhus/dofle/issue/143">#143</a>'.

dom will return it as a DocumentFragment ready to be appended in a DOM safely, like DocumentFragment(TextNode('See '), HTMLAnchorElement('#143')). This type only works in the browser.

Related

License

MIT © Sindre Sorhus