markdown-it-references

2.1.0-alpha.3 • Public • Published

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.

<style> table { width: 100%;} td:first-child {width: 15%;} td:last-child {width: 45%;} </style>

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.

License

GPL-3.0 © StudyATHome Internationally

Package Sidebar

Install

npm i markdown-it-references

Weekly Downloads

46

Version

2.1.0-alpha.3

License

GPL-3.0

Unpacked Size

44.2 kB

Total Files

4

Last publish

Collaborators

  • alija