Project: remarkjs/remark-github

Package: remark-github@9.0.1

  1. Dependencies: 5·Dependents: 16
  2. remark plugin to autolink references like in GitHub issues, PRs, and comments
  1. remark 186
  2. unified 154
  3. plugin 131
  4. markdown 115
  5. mdast 81
  6. remark-plugin 71
  7. reference 9
  8. github 8
  9. writing 3
  10. mention 2
  11. request 2


Build Coverage Downloads Size Sponsors Backers Chat

remark plugin to automatically link references to commits, issues, pull-requests, and users, like in GitHub issues, PRs, and comments (see Writing on GitHub).



npm install remark-github


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')

  .process(vfile.readSync('example.md'), function(err, file) {
    if (err) throw err

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)


remark.use(github[, options])

Automatically link references to commits, issues, pull-requests, and users, like in GitHub issues, PRs, and comments (see Writing on GitHub).


These links are generated relative to a project. In Node this is detected automatically by loading package.json and looking for a repository field. In the browser, or when overwriting this, you can pass a repository in options. The value of repository should be a URL to a GitHub repository, such as 'https://github.com/user/project.git', or only 'user/project'.


By default, mentions are wrapped in strong nodes (that 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 behavior.


Use of remark-github does not involve rehype (hast). It does inject links based on user content, but those links only go to GitHub. There are no openings for cross-site scripting (XSS) attacks.


See contributing.md in remarkjs/.github for ways to get started. See support.md for ways to get help.

This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.


MIT © Titus Wormer