Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
remark-github
Advanced tools
The remark-github package is a plugin for remark (a Markdown processor) that automatically links references to GitHub issues, pull requests, and users in Markdown files. It enhances Markdown documents by converting GitHub references into clickable links, making it easier to navigate and understand the context of the references.
Linking GitHub Issues and Pull Requests
This feature allows you to automatically convert references to GitHub issues and pull requests into clickable links. In the example, the text 'This is a reference to issue #42' will be converted to a link pointing to the issue number 42 in the specified repository.
const remark = require('remark');
const remarkGithub = require('remark-github');
remark()
.use(remarkGithub, { repository: 'user/repo' })
.process('This is a reference to issue #42', function (err, file) {
if (err) throw err;
console.log(String(file));
});
Linking GitHub Users
This feature allows you to automatically convert references to GitHub users into clickable links. In the example, the text 'This is a reference to @username' will be converted to a link pointing to the GitHub profile of the specified user.
const remark = require('remark');
const remarkGithub = require('remark-github');
remark()
.use(remarkGithub, { repository: 'user/repo' })
.process('This is a reference to @username', function (err, file) {
if (err) throw err;
console.log(String(file));
});
The remark-mentions package is a plugin for remark that converts @mentions in Markdown to links. It is similar to remark-github in that it provides automatic linking for user mentions, but it does not handle issue or pull request references.
The remark-autolink-headings package is a plugin for remark that automatically adds links to headings in Markdown files. While it does not specifically target GitHub references, it provides similar functionality in terms of enhancing Markdown documents with automatic links.
The remark-slug package is a plugin for remark that adds slugs to headings in Markdown files, making them linkable. This package is useful for creating anchor links within a document, but it does not provide the GitHub-specific linking features of remark-github.
Auto-link references to commits, issues, pull-requests, and users like GitHub: Writing on GitHub.
npm:
npm install remark-github
var remark = require('remark');
var github = require('remark-github');
var input = [
'References:',
'',
'* Commit: f8083175fe890cbf14f41d0a06e7aa35d4989587',
'* Commit (fork): foo@f8083175fe890cbf14f41d0a06e7aa35d4989587.',
'* Commit (repo): wooorm/remark@e1aa9f6c02de18b9459b7d269712bcb50183ce89.',
'* Issue or PR (`#`): #1.',
'* Issue or PR (`GH-`): GH-1.',
'* Issue or PR (fork): foo#1.',
'* Issue or PR (project): wooorm/remark#1.',
'* Mention: @wooorm.',
'',
'Normalising of links:',
'',
'* Commit: https://github.com/wooorm/remark/commit/e1aa9f6c02de18b9459b7d269712bcb50183ce89.',
'* Commit comment: https://github.com/wooorm/remark/commit/ac63bc3abacf14cf08ca5e2d8f1f8e88a7b9015c#commitcomment-16372693.',
'* Issue or PR: https://github.com/wooorm/remark/issues/182',
'* Issue or PR comment: https://github.com/wooorm/remark-github/issues/3#issue-151160339',
'* Mention: @ben-eb.'
].join('\n');
console.log(remark().use(github).processSync(input).toString());
Yields:
References:
- Commit: [`f808317`](https://github.com/wooorm/remark-github/commit/f8083175fe890cbf14f41d0a06e7aa35d4989587)
- Commit (fork): [foo@`f808317`](https://github.com/foo/remark-github/commit/f8083175fe890cbf14f41d0a06e7aa35d4989587).
- Commit (repo): [wooorm/remark@`e1aa9f6`](https://github.com/wooorm/remark/commit/e1aa9f6c02de18b9459b7d269712bcb50183ce89).
- Issue or PR (`#`): [#1](https://github.com/wooorm/remark-github/issues/1).
- Issue or PR (`GH-`): [GH-1](https://github.com/wooorm/remark-github/issues/1).
- Issue or PR (fork): [foo#1](https://github.com/foo/remark-github/issues/1).
- Issue or PR (project): [wooorm/remark#1](https://github.com/wooorm/remark/issues/1).
- Mention: [**@wooorm**](https://github.com/wooorm).
Normalising of links:
- Commit: [wooorm/remark@`e1aa9f6`](https://github.com/wooorm/remark/commit/e1aa9f6c02de18b9459b7d269712bcb50183ce89).
- Commit comment: [wooorm/remark@`ac63bc3` (comment)](https://github.com/wooorm/remark/commit/ac63bc3abacf14cf08ca5e2d8f1f8e88a7b9015c#commitcomment-16372693).
- Issue or PR: [wooorm/remark#182](https://github.com/wooorm/remark/issues/182)
- Issue or PR comment: [#3 (comment)](https://github.com/wooorm/remark-github/issues/3#issue-151160339)
- Mention: [**@ben-eb**](https://github.com/ben-eb).
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.
1f2a4fb
— 1f2a4fb
.wooorm@1f2a4fb
— wooorm@1f2a4fb
.wooorm/remark-github@1f2a4fb
— wooorm/remark-github@1f2a4fb
.GH-1
— GH-1.#1
— #1.wooorm#1
— wooorm#1.wooorm/remark-github#1
— wooorm/remark-github#1.@mention
and @wooorm
.
— @mention and @wooorm.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
.
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.
FAQs
remark plugin to autolink references like in GitHub issues, PRs, and comments
The npm package remark-github receives a total of 0 weekly downloads. As such, remark-github popularity was classified as not popular.
We found that remark-github demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.