
Security News
Node.js TSC Votes to Stop Distributing Corepack
Corepack will be phased out from future Node.js releases following a TSC vote.
CLI and API to concatenate markdown files and modify as necessary.
# Install
$ npm install -g concat-md
or use it via npx
:
$ npx concat-md docs
If files have titles in markdown already:
$ concat-md --toc --decrease-title-levels --dir-name-as-title typedoc-api-docs > README.md
If files have titles in FrontMatter meta data:
$ concat-md --toc --decrease-title-levels --title-key title --file-name-as-title --dir-name-as-title docs > README.md
If files don't have titles:
$ concat-md --toc --decrease-title-levels --file-name-as-title --dir-name-as-title docs > README.md
FrontMatter
, file names and directory names,<a name=""></a>
) to files, if no optional titles are generated and the --hide-anchor-links
option is not enabled.Usage
$ concat-md [options] <dir>
Options
--ignore <globs csv> - Glob patterns to exclude in 'dir'.
--toc - Adds table of the contents at the beginning of file.
--decrease-title-levels - Whether to decrease levels of all titles in markdown file to set them below file and directory title levels.
--start-title-level-at <level no> - Level to start file and directory levels. Default: 1
--join-string <string> - String to be used to join concatenated files. Default: new line
--title-key <key name> - Key name to get title in 'FrontMatter' meta data in markdown headers.
--file-name-as-title - Whether to use file names as titles.
--dir-name-as-title - Whether to use directory names as titles.
--hide-anchor-links - Do not add anchor links if optional titles are not set.
--debug - Print stack trace in errors.
Examples
If files have titles in markdown already:
$ npx concat-md --toc --decrease-title-levels --dir-name-as-title typedoc-api-docs > README.md
If files have titles in FrontMatter meta data:
$ npx concat-md --toc --decrease-title-levels --title-key title --file-name-as-title --dir-name-as-title docs > README.md
If files don't have titles:
$ npx concat-md --toc --decrease-title-levels --file-name-as-title --dir-name-as-title docs > README.md
└─ Development
└─ Projects
└─ project-a
├─ docs
├─ classes
│ ├─ widget.md
│ ├─ utility.md
└─ interfaces
└─ screen.md
classes/widget.md
# Description
Widget details lorem ipsum...
classes/utility.md
# Description
Utility details lorem ipsum...
interfaces/screen.md
# Description
Screen details lorem ipsum...
$ md-merge --decrease-title-levels --file-name-as-title --dir-name-as-title docs > README.md
Above command;
Description
titles,README.md
as below:README.md
# Classes
## Widget
### Description
Widget details lorem ipsum...
## Utility
### Description
Utility details lorem ipsum...
# Interfaces
## Screen
### Description
Screen details lorem ipsum...
▸ concatMd(dir
: string, options?
: ConcatOptions): Promise<string>
Defined in index.ts:295
Scans and concatenates all markdown files in given directory.
import concatMd, { concatMdSync } from "concat-md";
Parameters:
Name | Type | Description |
---|---|---|
dir | string | is the directory to scan markdown files in. |
options? | ConcatOptions | are several parameters to modify concatenation behaviour. |
Returns: Promise<string>
concatenated contents of markdown files.
▸ concatMdSync(dir
: string, options?
: ConcatOptions): string
Defined in index.ts:281
Scans and concatenates all markdown files in given directory.
import concatMd, { concatMdSync } from "concat-md";
Parameters:
Name | Type | Description |
---|---|---|
dir | string | is the directory to scan markdown files in. |
options? | ConcatOptions | are several parameters to modify concatenation behaviour. |
Returns: string
concatenated contents of markdown files.
Concat function options.
Optional
decreaseTitleLevels• decreaseTitleLevels? : undefined | false | true
Defined in index.ts:52
Whether to decrease levels of all titles in markdown file to set them below file and directory title levels.
Optional
dirNameAsTitle• dirNameAsTitle? : undefined | false | true
Defined in index.ts:72
Whether to use directory names as titles.
Optional
fileNameAsTitle• fileNameAsTitle? : undefined | false | true
Defined in index.ts:68
Whether to use file names as titles.
Optional
hideAnchorLinks• hideAnchorLinks? : undefined | false | true
Defined in index.ts:70
Do not add anchor links.
Optional
ignore• ignore? : string | string[]
Defined in index.ts:48
Glob patterns to exclude in dir
.
Optional
joinString• joinString? : undefined | string
Defined in index.ts:60
String to be used to join concatenated files.
Optional
sorter• sorter? : undefined | (a: string, b: string) => number
Defined in index.ts:56
Custom sort function. If not set, files are sorted alphabetically.
Optional
startTitleLevelAt• startTitleLevelAt? : undefined | number
Defined in index.ts:56
Level to start file and directory levels.
Optional
titleKey• titleKey? : undefined | string
Defined in index.ts:64
Key name to get title in FrontMatter
meta data in markdown headers.
Optional
toc• toc? : undefined | false | true
Defined in index.ts:40
Whether to add a table of contents.
Optional
tocLevel• tocLevel? : undefined | number
Defined in index.ts:44
Limit TOC entries to headings only up to the specified level.
FAQs
CLI and API to concatenate markdown files and modify as necessary.
The npm package concat-md receives a total of 6,809 weekly downloads. As such, concat-md popularity was classified as popular.
We found that concat-md demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
Corepack will be phased out from future Node.js releases following a TSC vote.
Research
Security News
Research uncovers Black Basta's plans to exploit package registries for ransomware delivery alongside evidence of similar attacks already targeting open source ecosystems.
Security News
Oxlint's beta release introduces 500+ built-in linting rules while delivering twice the speed of previous versions, with future support planned for custom plugins and improved IDE integration.