Skip to content

Automates an Acknowledgments section in Markdown using markdown-magic—contributors, dependencies, and custom entries, all configurable.

License

Notifications You must be signed in to change notification settings

ioncakephper/markdown-magic-transform-acknowledgements

Repository files navigation

markdown-magic-transform-acknowledgements

npm version npm downloads license actions status codecov release maintained stars forks watchers last commit contributors issues pull requests repo size top language languages

A markdown-magic transform that automatically inserts an Acknowledgements section into your README, pulling from contributors, dependencies, or custom entries.

Install

npm install --save-dev markdown-magic-transform-acknowledgements

Usage

// markdown.config.js
module.exports = {
  transformDefaults: {
    ACKNOWLEDGEMENTS: {
      evaluateUsed: true,
      includeDev: true,
      highlightImportant: true,
    },
  },
  transforms: {
    ACKNOWLEDGEMENTS: require('markdown-magic-transform-acknowledgements'),
  },
};

In your README.md

<!-- ACKNOWLEDGEMENTS -->
<!-- END_ACKNOWLEDGEMENTS -->

Example

README.md before:

<!-- ACKNOWLEDGEMENTS -->
<!-- END_ACKNOWLEDGEMENTS -->

README.md after:

<!-- ACKNOWLEDGEMENTS -->

- [@eslint/js](https://www.npmjs.com/package/%40eslint%2Fjs) — ESLint JavaScript language implementation
- [@eslint/markdown](https://www.npmjs.com/package/%40eslint%2Fmarkdown) — The official ESLint language plugin for Markdown
- [cross-spawn](https://www.npmjs.com/package/cross-spawn) — Cross platform child_process#spawn and child_process#spawnSync
- [eslint](https://www.npmjs.com/package/eslint) — An AST-based pattern checker for JavaScript.
- [eslint-plugin-json](https://www.npmjs.com/package/eslint-plugin-json) — eslint plugin for JSON files
- [eslint-plugin-yaml](https://www.npmjs.com/package/eslint-plugin-yaml) — Lint YAML files
- [fs](https://www.npmjs.com/package/fs) — No description available
- [jest](https://www.npmjs.com/package/jest) — Delightful JavaScript Testing.
- [jsonc-eslint-parser](https://www.npmjs.com/package/jsonc-eslint-parser) — JSON, JSONC and JSON5 parser for use with ESLint plugins
- [markdown-eslint-parser](https://www.npmjs.com/package/markdown-eslint-parser) — The ESLint custom parser for \*.md files.
- [markdown-magic](https://www.npmjs.com/package/markdown-magic) — Automatically update markdown files with content from external sources
- [markdown-magic-scripts](https://www.npmjs.com/package/markdown-magic-scripts) — Automatically generate a dynamic, customizable dashboard of your npm scripts in your README.md using this markdown-magic transform. Keep your project documentation in sync with your package.json.
- [markdown-magic-transform-badges](https://www.npmjs.com/package/markdown-magic-transform-badges) — No description available
- [path](https://www.npmjs.com/package/path) — Node.JS path module
- [prettier](https://www.npmjs.com/package/prettier) — Prettier is an opinionated code formatter
- [yaml-eslint-parser](https://www.npmjs.com/package/yaml-eslint-parser) — A YAML parser that produces output compatible with ESLint
  <!-- END_ACKNOWLEDGEMENTS -->

Options

  1. In the HTML comment: Options can be added as key=value or "key"="value" pairs

  2. In markdown-magic.config.js: You can provide default values for the transform in the transformDefaults section of your markdown-magic.config.js file. These defaults will be used unless overridden in the HTML comment.

Option Type Default Description
evaluatedUsed boolean false Scan repo files and include only used packages
highlightImportant boolean false Mark important packages automatically (heuristic)
includeDev boolean true Include devDependencies (can be overridden)

Contributing

See CONTRIBUTING.md for details on how to raise issues, propose changes, and submit pull requests. In short:

  • Open issues for bugs or feature requests with clear reproduction steps.
  • For code contributions, fork the repo, create a branch, add tests, and open a PR against main.

License

This project is licensed under the terms of the MIT License. See the LICENSE file for details.

Acknowledgements

  • @eslint/js — ESLint JavaScript language implementation
  • @eslint/markdown — The official ESLint language plugin for Markdown
  • cross-spawn — Cross platform child_process#spawn and child_process#spawnSync
  • 🌟 eslintAn AST-based pattern checker for JavaScript.
  • eslint-plugin-json — eslint plugin for JSON files
  • eslint-plugin-yaml — Lint YAML files
  • fs — No description available
  • 🌟 jestDelightful JavaScript Testing.
  • jsonc-eslint-parser — JSON, JSONC and JSON5 parser for use with ESLint plugins
  • markdown-eslint-parser — The ESLint custom parser for *.md files.
  • markdown-magic — Automatically update markdown files with content from external sources
  • markdown-magic-scripts — Automatically generate a dynamic, customizable dashboard of your npm scripts in your README.md using this markdown-magic transform. Keep your project documentation in sync with your package.json.
  • markdown-magic-transform-badges — No description available
  • markdown-magic-transform-treefile-extended — A markdown-magic transform to generate a dynamic file tree in your markdown files. This extended version provides additional options for customizing the output.
  • path — Node.JS path module
  • prettier — Prettier is an opinionated code formatter
  • yaml-eslint-parser — A YAML parser that produces output compatible with ESLint

Helper Scripts

  • docs — Generate documentation by processing README.md with markdown-magic. (line 13)

    npx markdown-magic README.md --config ./markdown-magic.config.js
  • fix — Automatically fix linting issues and format codebase. (line 8)

    npm run lint:fix && npm run format && npm run format:package
  • format — Format all project files using Prettier. (line 9)

    prettier --write .
  • format:package — Format the package.json file using Prettier. (line 10)

    prettier --write package.json
  • lint — Lint all project files to ensure code quality and consistency. (line 11)

    eslint . --ext .js,.json,.yaml,.yml,.md
  • lint:fix — Lint all project files and automatically fix issues where possible. (line 12)

    eslint . --ext .js,.json,.yaml,.yml,.md --fix
  • prep — Prepare the project for publishing by generating docs and formatting code. (line 14)

    npm run docs && npm run fix
  • test — Run the test suite using Jest. (line 7)

    jest --passWithNoTests

Project Structure

(root)
├── CHANGELOG.md
├── CONTRIBUTING.md
├── eslint.config.mjs
├── index.js
├── LICENSE
├── markdown-magic.config.js
├── package-lock.json
├── package.json
├── README.md
└── RULES_OF_CONDUCT.md

About

Automates an Acknowledgments section in Markdown using markdown-magic—contributors, dependencies, and custom entries, all configurable.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •