Markdown realtime preview on browser with your favorite editor.
- Execute immediately with npx.
- Offline support if installed.
- You can create your own template easily.
capture.2024-05-10.19.31.48.mov
$ npx @mryhryki/markdown-preview
Version : v0.6.0
Root Directory : /current/dir
Default File : README.md
Extensions : md, markdown
Template File : /path/to/template/default.html
Preview URL : http://localhost:34567
$ npm install -g @mryhryki/markdown-preview
# or
$ yarn install -g @mryhryki/markdown-preview
$ markdown-preview
Version : v0.6.0
Root Directory : /current/dir
Default File : README.md
Extensions : md, markdown
Template File : /path/to/template/default-dark.html
Preview URL : http://localhost:34567
short | long | environment variable | parameter | required | default |
---|---|---|---|---|---|
-f | --file | MARKDOWN_PREVIEW_FILE | relative file path | no | README.md |
-e | --extensions | MARKDOWN_PREVIEW_EXTENSIONS | comma separated extensions | no | md,markdown |
-t | --template | MARKDOWN_PREVIEW_TEMPLATE | defined template name (*1) or template file path (*2) | no | default |
-p | --port | MARKDOWN_PREVIEW_PORT | port number | no | 34567 |
--log-level | MARKDOWN_PREVIEW_LOG_LEVEL | trace, debug, info warn, error, fatal |
no | info | |
--no-opener | MARKDOWN_PREVIEW_NO_OPENER | true (only env var) | no | ||
-v | --version | no | |||
-h | --help | no |
default
You just need to load /markdown-preview-websocket.js
and register a callback to connectMarkdownPreview
.
A simple example code is below:
<!doctype html>
<html>
<head>
<title>Minimum Template Sample</title>
</head>
<body>
<pre id="raw-markdown"></pre>
<script type="module">
import { connectMarkdownPreview } from "/markdown-preview-websocket.js";
connectMarkdownPreview(({ markdown }) => {
document.getElementById('raw-markdown').innerHTML =
markdown.replace(/</g, '<').replace(/>/g, '>');
});
</script>
</body>
</html>
$ npm install
# Watch mode
$ npm run dev
# Build and Run
$ npm start
# Test
$ npm test
$ npm run test:watch
# Type check
$ npm run type
$ npm run type:watch
# Check code format
$ npm run lint
# Formatter
$ npm run fmt
Run release workflow.