MarkdownIt Plugin for (ordered) id reference injection
npm install markdown-it-referencesmarkdown-it-references> Ordered reference injection for markdown-it.
``mdReferences
<
`
` Figure 1 shows an example.html`References
List of Figures
Works with the following packages in conjunction:
- markdown-it-figure-references
- markdown-it-table-references
- markdown-it-attribution-references.
`js
// Figures
const md = require("markdown-it")()
.use(require("markdown-it-figure-references"), { ns: "figures" })
.use(require("markdown-it-references"), opts);
// Tables
const md = require("markdown-it")()
.use(require("markdown-it-table-references"), { ns: "tables" })
.use(require("markdown-it-references"), opts);
// Attributions
const md = require("markdown-it")()
.use(require("markdown-it-attribution-references"), { ns: "attributions" })
.use(require("markdown-it-references"), opts);
// All
const md = require("markdown-it")()
.use(require("markdown-it-figure-references"), { ns: "figures" })
.use(require("markdown-it-table-references"), { ns: "tables" })
.use(require("markdown-it-attribution-references"), { ns: "attributions" })
.use(require("markdown-it-references"), opts);
`
See a demo as JSFiddle.
The opts object can contain:
| Name | Description | Default |
| -------- | ------------------------------ | ------------------------------ |
| labels | Array of label configurations. | [ { see below }, { }, .. ] ] |
An object in the labels array must contain:
| Name | Description | Example |
| ------------- | ----------------------------- | -------------------- |
| ns | Namespace. | "figures" |text
| | Reference label text. | "Figure #" |placeholder
| | Reference number placeholder. | "#" |class
| | Reference label class | "figure-reference" |
By default, markdown-it-references contains similar configuration for figures, tables, and attributions`, in that order.
NOTE
Label order resolves naming conflicts.
However, the same id shouldn't occur in the same document more than once.