markdown-it-caml
Version:
Add caml (semantic) attribute syntax for markdown-it.
75 lines (43 loc) ⢠2.26 kB
Markdown
[](https://github.com/wikibonsai/wikibonsai)
[](https://npmjs.org/package/markdown-it-caml)
A markdown-it plugin to process [caml](https://github.com/wikibonsai/caml-mkdn) -- Colon Attribute Markup Language.
Note that this plugin only parses the input -- it is up to you to handle and store metadata.
šø Weave a semantic web in your [š WikiBonsai](https://github.com/wikibonsai/wikibonsai) digital garden.
Install with [npm](https://docs.npmjs.com/cli/v9/commands/npm-install):
```
npm install markdown-it-caml
```
```js
import markdownIt from 'markdown-it';
import caml_plugin from 'markdown-it-caml';
const md = markdownIt();
let opts = {};
md.use(caml_plugin, opts);
md.render(':caml::attribute\n');
```
Require style imports work as well:
```js
const caml_plugin = require('markdown-it-caml');
// if you encounter issues, try:
const caml_plugin = require('markdown-it-caml').default;
```
For syntax specifications, see the [caml-spec](https://github.com/wikibonsai/caml-mkdn/tree/main/spec) repo.
Called once per collected caml attribute (key/value pair); use for metadata or indexing. `env` is threaded so value-passing works across stages (e.g. recursive embeds). When a co-registered `markdown-it-wikirefs` is present, a wiki-valued attribute is reported with the literal `[[fname]]` as the value and the parsed value is also available on `env.attrs[key]`. Otherwise a plain `'string'`.
### `attrs`
These are options attrbox-specific options.
#### `attrs.enable`
A boolean property that toggles parsing and rendering wikiattrs on/off.
#### `attrs.render`
A boolean property that toggles rendering wikiattrs on/off. This is useful in the scenario where wikiattrs are used for metadata and not for display purposes; like a yaml-stand-in.
CSS classnames may be overridden here.
Classname for wikiattrs. Default is `attr`.
Classname for the wikiattr attrbox. Default is `attrbox`.