remark-stringify-nscode
v0.3.0
Published
remark plugin to add support for serializing markdown into NSCode
Downloads
7
Maintainers
Readme
remark-stringify-nscode
remark plugin to add support for serializing markdown into NSCode.
Contents
What is this?
This package is a unified (remark) plugin that defines how to take a syntax tree as input and turn it into serialized NSCode.
Install
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>
Use
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]
API
This package exports the identifiers all
and allChildren
. The default export is remarkStringifyNSCode
.
unified().use(remarkStringifyNSCode[, options])
Serializes markdown into NSCode.
options
Configuration (optional).
options.handlers
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.
all(nodes[, options])
Serializes a list of nodes into NSCode.
nodes
The array of nodes to serialize.
options
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.
allChildren(node[, options])
Serializes the children of the given node into NSCode.
node
The node whose children are to be serialized.
options
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.
Syntax
At present, CommonMark syntax is supported with the exception of headings and inline code, which do not have a clear equivalent in NSCode.
Syntax tree
The syntax tree format used in remark is mdast.
Types
This package is fully typed with TypeScript.
Contribute
Pull requests are welcome! Please also feel free to file an issue for bug reports or feature requests.