Files
website/node_modules/@astropub/md/lib/markdown.js
2024-05-06 17:15:30 -04:00

38 lines
1.0 KiB
JavaScript

import { createMarkdownProcessor } from '@astrojs/markdown-remark'
import { shared } from './shared.js'
import { HTMLString } from './html-string.js'
export async function markdown(
/** @type {string} */ content,
/** @type {MarkdownRenderingOptions} */ options = null
) {
const processor = await createMarkdownProcessor({
...shared.markdownConfig,
...Object(options),
});
const result = await processor.render(content);
return new HTMLString(result.code);
}
markdown.inline = async function inlinemarkdown(
/** @type {string} */ content,
/** @type {MarkdownRenderingOptions} */ options = null
) {
const processor = await createMarkdownProcessor({
...shared.markdownConfig,
...Object(options),
});
const result = await processor.render(content);
return new HTMLString(
result.code.indexOf("<p>") === 0 &&
result.code.indexOf("</p>") === result.code.length - 4
? result.code.slice(3, -4)
: result.code,
);
};
/** @typedef {import('./markdown').MarkdownRenderingOptions} MarkdownRenderingOptions */