1.1.0 • Published 5 years ago

remark-numbered-footnote-labels v1.1.0

Weekly downloads
92
License
MIT
Repository
-
Last release
5 years ago

remark-numbered-footnote-labels

Downloads Size

remark plugin to label footnotes with numbers.

Note: This plugin slightly differs from zestedesavoir/zmarkdown's remark-numbered-footnotes in that it retains the footnote identifier in the link and only changes the link label to a number. This difference allows an id reference to have some meaningful description while still displaying footnotes as numbers. Additionally, this package has documentation that conforms to the unified collective's conventions.

Install

npm:

npm install remark-numbered-footnote-labels

Use

Say we have the following file, example.md:

`remark-numbered-footnote-labels` is a quality plugin[^quality]!

[^quality]: If you do not find it so, please file a GitHub issue or pull request!

And our script, example.js, looks as follows:

const fs = require("fs");
const remark = require("remark");
const toHtml = require("remark-html");
const numberedFootnoteLabels = require("remark-numbered-footnote-labels");

remark()
  .data("settings", { footnotes: true })
  .use(numberedFootnoteLabels)
  .use(toHtml)
  .process(fs.readFileSync("example.md"), function(err, file) {
    if (err) throw err;
    console.log(String(file));
  });

Now, running node example.js yields (after formatting with prettier):

<p>
  <code>remark-numbered-footnote-labels</code> is a quality plugin<sup
    id="fnref-quality"
    ><a href="#fn-quality" class="footnote-ref">1</a></sup
  >!
</p>
<div class="footnotes">
  <hr />
  <ol>
    <li id="fn-quality">
      If you do not find it so, please file a GitHub issue or pull request!<a
        href="#fnref-quality"
        class="footnote-backref"
        >↩</a
      >
    </li>
  </ol>
</div>

API

remark().use(numberedFootnoteLabels)

Label footnotes with sequential numbers instead of user-specified strings.

Security

Use of remark-numbered-footnote-labels is as safe as using remark's footnotes.

This plugin only operates on remark's footnote mdast nodes to relabel them and does not directly place user input into html. This plugin does label the footnote links differently than remark, but the associated id attributes for these links will be the same as remark ones. Thus, one can take the same level of caution as with remark footnotes.

Related

  • remark-numbered-footnotes — Changes how footnotes are displayed by using sequential numbers as footnote references instead of user-specified strings
  • remark-inline-links — Transform references and definitions into normal links and images
  • remark-defsplit — Transform links and images into references and definitions with URI-based identifiers
  • remark-reference-links — Transform links and images into references and definitions
  • remark-unlink — Remove all links, references and definitions

Contribute

See contributing.md in remarkjs/.github for ways to get started. See support.md for ways to get help.

This project has a Code of Conduct. By interacting with this repository, organisation, or community you agree to abide by its terms.

License

MIT © Jack Fletcher