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
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)
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
remarkjs@1f2a4fb
→ remarkjs@1f2a4fb
remarkjs/remark-github@1f2a4fb
→
remarkjs/remark-github@1f2a4fb
GH-1
→ GH-1#1
→ #1remarkjs#1
→ remarkjs#1remarkjs/remark-github#1
→ remarkjs/remark-github#1@mention
and @wooorm
→
@mention and @wooormThese 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.
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.
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.