包详细信息

remark-tight-comments

Xunnamius51MIT2.0.0

remark plugin to selectively remove newlines around comments

unified, mdast, remark, remark-plugin

自述文件

![Black Lives Matter!][x-badge-blm-image] [![Last commit timestamp][x-badge-lastcommit-image]][x-badge-repo-link] ![Codecov][x-badge-codecov-image] [![Source license][x-badge-license-image]][x-badge-license-link] ![Monthly Downloads][x-badge-downloads-image] ![NPM version][x-badge-npm-image] [![Uses Semantic Release!][x-badge-semanticrelease-image]][x-badge-semanticrelease-link]

remark-tight-comments

This is a unified (remark) plugin that allows you to selectively remove unnecessary newlines around Markdown comments.

This plugin is useful for preserving the structure of auto-generated content, e.g. all-contributors, doctoc, etc. You might also be interested in remark-ignore, which lets you instruct remark not to transform parts of your Markdown documents. For a live example of these two plugins in action, check the source of [this very README.md file][6]. ✨


Install

Due to the nature of the unified ecosystem, this package is ESM only and cannot be require'd.

npm install --save-dev remark-tight-comments

Usage

Via API

import { read } from 'to-vfile';
import { remark } from 'remark';
import remarkTightComments from 'remark-tight-comments';

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

console.log(String(file));

Via remark-cli

remark -o --use tight-comments README.md

Via unified configuration

In package.json:

  /* … */
  "remarkConfig": {
    "plugins": [
      "remark-tight-comments"
      /* … */
    ]
  },
  /* … */

In .remarkrc.js:

module.exports = {
  plugins: [
    // …
    'tight-comments'
  ]
};

In .remarkrc.mjs:

import remarkTightComments from 'remark-tight-comments';

export default {
  plugins: [
    // …
    remarkTightComments
  ]
};

API

Detailed interface information can be found under docs/.

Examples

See mdast-util-tight-comments for example outputs.

Related

Contributing and Support

[New issues][x-repo-choose-new-issue] and pull requests are always welcome and greatly appreciated! 🤩 Just as well, you can [star 🌟 this project][x-badge-repo-link] to let me know you found it useful! ✊🏿 Thank you!

See CONTRIBUTING.md and SUPPORT.md for more information.

Contributors

See the table of contributors.

[x-badge-blm-image]: https://xunn.at/badge-blm 'Join the movement!'

[x-badge-codecov-image]: https://img.shields.io/codecov/c/github/Xunnamius/unified-utils/main?style=flat-square&token=HWRIOBAAPW 'Is this package well-tested?'

[x-badge-downloads-image]: https://img.shields.io/npm/dm/remark-tight-comments?style=flat-square 'Number of times this package has been downloaded per month' [x-badge-lastcommit-image]: https://img.shields.io/github/last-commit/xunnamius/unified-utils?style=flat-square 'Latest commit timestamp' [x-badge-license-image]: https://img.shields.io/npm/l/remark-tight-comments?style=flat-square "This package's source license" [x-badge-license-link]: https://github.com/Xunnamius/unified-utils/blob/main/packages/remark-tight-comments/LICENSE [x-badge-npm-image]: https://xunn.at/npm-pkg-version/remark-tight-comments 'Install this package using npm or yarn!'

[x-badge-repo-link]: https://github.com/xunnamius/unified-utils/blob/main/packages/remark-tight-comments [x-badge-semanticrelease-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square 'This repo practices continuous integration and deployment!' [x-badge-semanticrelease-link]: https://github.com/semantic-release/semantic-release [x-repo-choose-new-issue]: https://github.com/xunnamius/unified-utils/issues/new/choose

[6]: https://raw.githubusercontent.com/Xunnamius/unified-utils/main/packages/remark-tight-comments/README.md