remark plugin to add support for serializing markdown into NSCode.
This package is a unified (remark) plugin that defines how to take a syntax tree as input and turn it into serialized NSCode.
In Node.js:
npm install remark-stringify-nscode
In Deno:
import remarkStringifyNSCode from "https://esm.sh/remark-stringify-nscode@latest";
In browsers:
<script type="module">
import remarkStringifyNSCode from "https://esm.sh/remark-stringify-nscode@latest?bundle";
</script>
import { unified } from "unified";
import remarkParse from "remark-parse";
import remarkStringifyNSCode from "remark-stringify-nscode";
const file = unified()
.use(remarkParse)
.use(remarkStringifyNSCode)
.processSync("**Hello, world!**");
console.log(String(file));
// Output:
// [b]Hello, world![/b]
This package exports the identifiers all
and allChildren
. The default export is remarkStringifyNSCode
.
Serializes markdown into NSCode.
Configuration (optional).
Custom handlers for serializing markdown. Expects an object with mdast node types as keys, and functions that take a node of that type and return a string as values.
Serializes a list of nodes into NSCode.
The array of nodes to serialize.
Configuration (optional). Expects an objects with the keys before
, after
, and separator
and string values that respectively indicate the strings to insert before, after, and between the nodes.
Serializes the children of the given node into NSCode.
The node whose children are to be serialized.
Configuration (optional). Expects an objects with the keys before
, after
, and separator
and string values that respectively indicate the strings to insert before, after, and between the child nodes.
At present, CommonMark syntax is supported with the exception of headings and inline code, which do not have a clear equivalent in NSCode.
The syntax tree format used in remark is mdast.
This package is fully typed with TypeScript.
Pull requests are welcome! Please also feel free to file an issue for bug reports or feature requests.