trim content by default

This commit is contained in:
Niccolo Borgioli 2023-11-16 15:43:48 +01:00
parent 7bb8db420f
commit a6c56e536a
No known key found for this signature in database
GPG Key ID: D93C615F75EE4F0B
6 changed files with 19 additions and 4 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@nicco.io/markdown-it-import",
"version": "1.0.0",
"version": "1.0.1",
"description": "Markdown-it plugin which adds the ability to include markdown fragment files.",
"keywords": [
"markdown-it-plugin",

View File

@ -6,6 +6,7 @@ function defaultOptions() {
return {
matcher: /@import\((?<file>.+)\)(\s*?\[(?<range>\d+-\d+)\])?/g,
root: process.cwd(),
trim: true,
}
}
@ -40,6 +41,9 @@ export function importPlugin(md: any, options: Options = {}) {
const exists = fs.existsSync(filename)
if (!exists) throw new Error(`cannot locate file "${filename}"`)
let contents = fs.readFileSync(filename, 'utf-8')
if (o.trim) {
contents = contents.trim()
}
// Apply line range
if (range) {

View File

@ -34,7 +34,6 @@ exports[`base single import 1`] = `
<pre><code class="language-ts">export function sum(a: number, b: number): number {
return a + b
}
</code></pre>
"
`;
@ -44,7 +43,6 @@ exports[`base multiple imports 1`] = `
<pre><code class="language-ts">export function sum(a: number, b: number): number {
return a + b
}
</code></pre>
<blockquote>
<p>This is some amazing quote</p>

View File

@ -38,3 +38,13 @@ exports[`options empty options 1`] = `
</table>
"
`;
exports[`options do not trim 1`] = `
"<p>Here is a typescript snippet</p>
<pre><code class="language-ts">export function sum(a: number, b: number): number {
return a + b
}
</code></pre>
"
`;

View File

@ -9,7 +9,6 @@ exports[`base import different files 1`] = `
<pre><code class="language-ts">export function sum(a: number, b: number): number {
return a + b
}
</code></pre>
"
`;

View File

@ -30,4 +30,8 @@ describe('options', () => {
expect(() => render('matcher-a.md', { matcher })).toThrow('Regexp must expose a named group "file"')
})
})
test('do not trim', async () => {
expect(await render('whole.md', { trim: false })).toMatchSnapshot()
})
})