markdown-it-references
v2.1.0-alpha.3
Published
MarkdownIt Plugin for (ordered) id reference injection
Downloads
342
Maintainers
Readme
markdown-it-references
Ordered reference injection for markdown-it.
Example
# References
![Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat")
<<the-stormtroopocat>> shows an example.
<h1>References</h1>
<p>
<figure id="the-stormtroopocat">
<img src="https://octodex.github.com/images/stormtroopocat.jpg" alt="Stormtroopocat" title="The Stormtroopocat" />
<figcaption>
<a href="#the-stormtroopocat" class="anchor">§</a><a href="#the-stormtroopocat" class="label">Figure 1</a>: The
Stormtroopocat
</figcaption>
</figure>
</p>
<p><a href="#the-stormtroopocat" class="figure-reference">Figure 1</a> shows an example.</p>
<h2 id="list-of-figures" class="list">List of Figures</h2>
<ol class="list">
<li class="item"><a href="#the-stormtroopocat" class="label">Figure 1</a>: The Stormtroopocat</li>
</ol>
Usage
Works with the following packages in conjunction:
// 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.