mirror of
https://github.com/cupcakearmy/markdown-it-import.git
synced 2024-11-06 05:14:10 +01:00
Markdown-it plugin which adds the ability to include files.
src | ||
tests | ||
.gitignore | ||
.nvmrc | ||
bun.lockb | ||
package.json | ||
README.md | ||
tsconfig.json |
Markdown import plugin
This is a markdown-it
plugin to include/import any raw files from your filesystem.
Features
- No dependencies
- Recursive import
- Import whatever file
- Customizable RegEx
- Tested
Installation
npm install @nicco.io/markdown-it-import
Usage
Include a whole file
@import(somefile.md)
Import specific lines
@import(snippet.ts)[5-10]
Example
<!-- main.md -->
# Title
@import(chapter.md)
<!-- This should be tripple ` -->
`ts
@import(sum.ts)
`
## Chapter
I will be included
// sum.ts
export function sum(a: number, b: number): number {
return a + b
}
import MarkdownIt from 'markdown-it'
import fs from 'node:fs/promises'
import { Options, importPlugin } from '@nicco.io/markdown-it-import'
const input = await fs.readFile('./main.md', 'utf-8')
const html = MarkdownIt().use(importPlugin).render(input)
Similar works
There are two very similar plugins, which this one is def. inspired by, however while the one can only import .md
files, the other cannot select single lines.