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

/markdown-it-references/

    Package Sidebar

    Install

    npm i markdown-it-references

    Weekly Downloads

    59

    Version

    2.1.0-alpha.3

    License

    GPL-3.0

    Unpacked Size

    44.2 kB

    Total Files

    4

    Last publish

    Collaborators

    • alija