Auto-link references like in GitHub issues, PRs, and comments
Clone or download
Latest commit e1747a3 Nov 22, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib Update dev-dependencies Oct 22, 2018
test Fix support for usernames ending in dashes Aug 11, 2018
.editorconfig Refactor code style to use `xo` Jul 23, 2016
.gitignore Add `yarn.lock` to `.gitignore` Aug 11, 2018
.npmrc Add `.npmrc` Aug 11, 2018
.prettierignore Refactor code-style Aug 11, 2018
.travis.yml Update token Aug 11, 2018
index.js Refactor code-style Aug 11, 2018
license Move `LICENSE` > `license` Oct 22, 2018
package.json 7.0.5 Nov 22, 2018
readme.md Add more badges Nov 22, 2018

readme.md

remark-github

Build Coverage Downloads Chat Sponsors Backers

Auto-link references to commits, issues, pull-requests, and users like GitHub: Writing on GitHub.

Installation

npm:

npm install remark-github

Usage

Say we have the following file, example.md:

Some references:

-   Commit: f8083175fe890cbf14f41d0a06e7aa35d4989587
-   Commit (fork): foo@f8083175fe890cbf14f41d0a06e7aa35d4989587
-   Commit (repo): remarkjs/remark@e1aa9f6c02de18b9459b7d269712bcb50183ce89
-   Issue or PR (`#`): #1
-   Issue or PR (`GH-`): GH-1
-   Issue or PR (fork): foo#1
-   Issue or PR (project): remarkjs/remark#1
-   Mention: @wooorm

Some links:

-   Commit: https://github.com/remarkjs/remark/commit/e1aa9f6c02de18b9459b7d269712bcb50183ce89
-   Commit comment: https://github.com/remarkjs/remark/commit/ac63bc3abacf14cf08ca5e2d8f1f8e88a7b9015c#commitcomment-16372693
-   Issue or PR: https://github.com/remarkjs/remark/issues/182
-   Issue or PR comment: https://github.com/remarkjs/remark-github/issues/3#issue-151160339
-   Mention: @ben-eb

And our script, example.js, looks as follows:

var vfile = require('to-vfile')
var remark = require('remark')
var github = require('remark-github')

remark()
  .use(github)
  .process(vfile.readSync('example.md'), function(err, file) {
    if (err) throw err
    console.log(String(file))
  })

Now, running node example yields:

Some references:

-   Commit: [`f808317`](https://github.com/remarkjs/remark-github/commit/f8083175fe890cbf14f41d0a06e7aa35d4989587)
-   Commit (fork): [foo@`f808317`](https://github.com/foo/remark-github/commit/f8083175fe890cbf14f41d0a06e7aa35d4989587)
-   Commit (repo): [remarkjs/remark@`e1aa9f6`](https://github.com/remarkjs/remark/commit/e1aa9f6c02de18b9459b7d269712bcb50183ce89)
-   Issue or PR (`#`): [#1](https://github.com/remarkjs/remark-github/issues/1)
-   Issue or PR (`GH-`): [GH-1](https://github.com/remarkjs/remark-github/issues/1)
-   Issue or PR (fork): [foo#1](https://github.com/foo/remark-github/issues/1)
-   Issue or PR (project): [remarkjs/remark#1](https://github.com/remarkjs/remark/issues/1)
-   Mention: [**@wooorm**](https://github.com/wooorm)

Some links:

-   Commit: [remarkjs/remark@`e1aa9f6`](https://github.com/remarkjs/remark/commit/e1aa9f6c02de18b9459b7d269712bcb50183ce89)
-   Commit comment: [remarkjs/remark@`ac63bc3` (comment)](https://github.com/remarkjs/remark/commit/ac63bc3abacf14cf08ca5e2d8f1f8e88a7b9015c#commitcomment-16372693)
-   Issue or PR: [remarkjs/remark#182](https://github.com/remarkjs/remark/issues/182)
-   Issue or PR comment: [#3 (comment)](https://github.com/remarkjs/remark-github/issues/3#issue-151160339)
-   Mention: [**@ben-eb**](https://github.com/ben-eb)

API

remark.use(github[, options])

Adds references to commits, issues, pull-requests, and users similar to how GitHub renders these in issues, comments, and pull request descriptions.

Conversion
Repository

These links are generated relative to a project. In Node this is auto-detected by loading package.json and looking for a repository field. In the browser, or when overwriting this, you can pass a repository in options.

Mentions

By default, mentions are wrapped in strong nodes (which render to <strong> in HTML), to simulate the look of mentions on GitHub. However, this creates different HTML markup, as the GitHub site applies these styles using CSS. Pass mentionStrong: false to turn off this behaviour.

Contribute

See contributing.md in remarkjs/remark for ways to get started.

This organisation has a Code of Conduct. By interacting with this repository, organisation, or community you agree to abide by its terms.

License

MIT © Titus Wormer