serve-marked
Version:
Serve markdown file as index.html
60 lines (44 loc) • 1.81 kB
Markdown
[![version][npm-badge]][npm-link]
[![repo][github-src]][github-link]
Serve [marked][marked] rendered README.md file with elegant style.
`npm i serve-marked`
```javascript
const fs = require('fs')
const http = require('http')
const { serveMarked } = require('serve-marked')
const markdown = fs.readFileSync('./README.md', 'utf8')
const serveReadme = serveMarked(markdown)
http.createServer(serveReadme).listen(3000)
```
or you can use it with options:
```javascript
const serveReadme = serveMarked('# Markdown Content', {
title: 'Awesome Project',
preset: 'merri', // Available presets: 'github', 'merri'
contentClassName: 'main-body', // Default: 'markdown-body'
inlineCSS: `
@import url('https://rsms.me/inter/inter-ui.css');
body { color:
`,
beforeHeadEnd: '<meta name="description" content="...">',
beforeBodyEnd: '<script>/*...*/</script>',
sanitizer: (htmlString) => sanitize(htmlString) // bring your own html sanitizer if needed
})
```
WARNING: serve-marked does not sanitize the output HTML. Please use a sanitize library,
like [DOMPurify](https://github.com/cure53/DOMPurify),
[](https://github.com/apostrophecms/sanitize-html)
or [insane](https://github.com/bevacqua/insane) on the output HTML!
- https://serve-marked.now.sh ([src][now-index-src])
![ISC][license-src]
[]: https://badgen.net/badge/-/amio%2Fserve-marked/black?icon=github&label=
[]: https://github.com/amio/serve-marked
[]: https://badgen.net/badge/license/ISC/blue
[]: https://badgen.net/npm/v/serve-marked
[]: https://www.npmjs.com/package/serve-marked
[]: https://github.com/markedjs/marked
[]: https://github.com/amio/serve-marked/blob/master/now-index.js