Notoriously Psychedelic Modules
    Have ideas to improve npm?Join in the discussion! »

    remark-github

    10.0.1 • Public • Published

    remark-github

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

    Note!

    This plugin is ready for the new parser in remark (micromark, see remarkjs/remark#536). Version 10 works with old (12) and new (13+) remark!

    Install

    npm:

    npm install remark-github

    Use

    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: <https://github.com/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: <https://github.com/ben-eb>

    API

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

    Conversion
    Repository

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

    Mentions

    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.

    Security

    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.

    Contribute

    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.

    License

    MIT © Titus Wormer

    Install

    npm i remark-github

    DownloadsWeekly Downloads

    27,817

    Version

    10.0.1

    License

    MIT

    Unpacked Size

    17.9 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar
    • avatar