GithubHelp home page GithubHelp logo

remarkjs / remark-unlink Goto Github PK

View Code? Open in Web Editor NEW
5.0 8.0 3.0 97 KB

plugin to remove all links, images, references, and definitions

Home Page: https://remark.js.org

License: MIT License

JavaScript 100.00%
remark remark-plugin mdast remove link image reference definition

remark-unlink's Introduction

remark-unlink

Build Coverage Downloads Size Sponsors Backers Chat

remark plugin to remove all links, images, references, and definitions.

Contents

What is this?

This package is a unified (remark) plugin to remove all links and images.

When should I use this?

This project is useful if you display markdown documents somewhere where links and images don’t work, such as man pages, on paper, or some ereaders.

Install

This package is ESM only. In Node.js (version 16+), install with npm:

npm install remark-unlink

In Deno with esm.sh:

import remarkUnlink from 'https://esm.sh/remark-unlink@5'

In browsers with esm.sh:

<script type="module">
  import remarkUnlink from 'https://esm.sh/remark-unlink@5?bundle'
</script>

Use

Say we have the following file example.md.

# Uranus

**Uranus** is the seventh [planet](/wiki/Planet "Planet") from the Sun and is a
gaseous cyan [ice giant](/wiki/Ice_giant "Ice giant").

Photograph of Uranus in true colour by Voyager 2 in 1986:

![This is an image of the planet Uranus taken by the spacecraft Voyager 2 in 1986.
The Voyager project is managed for NASA by the Jet Propulsion Laboratory.](https://en.wikipedia.org/wiki/Uranus#/media/File:Uranus_as_seen_by_NASA's_Voyager_2_(remastered)_-_JPEG_converted.jpg)

…and a module example.js:

import {remark} from 'remark'
import remarkUnlink from 'remark-unlink'
import {read} from 'to-vfile'

const file = await remark()
  .use(remarkUnlink)
  .process(await read('example.md'))

console.log(String(file))

…then running node example.js yields:

# Uranus

**Uranus** is the seventh planet from the Sun and is a
gaseous cyan ice giant.

Photograph of Uranus in true colour by Voyager 2 in 1986:

This is an image of the planet Uranus taken by the spacecraft Voyager 2 in
1986\.
The Voyager project is managed for NASA by the Jet Propulsion
Laboratory.

API

This package exports no identifiers. The default export is remarkUnlink.

unified().use(remarkUnlink)

Remove all links, images, references, and definitions.

Parameters

There are no parameters.

Returns

Transform (Transformer).

Types

This package is fully typed with TypeScript. It exports no additional types.

Compatibility

Projects maintained by the unified collective are compatible with maintained versions of Node.js.

When we cut a new major release, we drop support for unmaintained versions of Node. This means we try to keep the current release line, remark-unlink@^5, compatible with Node.js 16.

This plugin works with unified version 3+ and remark version 4+.

Security

Use of remark-unlink does not involve rehype (hast) or user content so 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 © Eugene Sharygin

remark-unlink's People

Contributors

eush77 avatar micalevisk avatar wooorm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

remark-unlink's Issues

Please, add typescript types definitions to this module

Problem

I'm using this lib with TypeScript and the TS compiler complains about the lack of typings:

Could not find a declaration file for module 'remark-unlink'. 'xxxx/node_modules/remark-unlink/index.js' implicitly has an 'any' type.
  Try `npm install @types/remark-unlink` if it exists or add a new declaration (.d.ts) file containing `declare module 'remark-unlink';`
ts(7016)

Solution

Create a types/index.d.ts file pretty much like strip-markdown, and update the files field of your package.json.

I think that the following will be enough:

declare module 'remark-unlink' {
  import type { Plugin } from 'unified';

  /**
   * Remark plugin to remove Markdown links, images, references, and definitions.
   */
  declare const remarkUnlink: Plugin;

  export = remarkUnlink;
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.