abbr()

Convert abbreviation definitions into <abbr> elements with title attributes.

import { abbr } from "@unifast/node";

Signature

function abbr(): UnifastPlugin

Parameters

None.

Usage

import { compile, abbr } from "@unifast/node";

const md = `*[HTML]: Hyper Text Markup Language

The HTML specification is maintained by the W3C.`;

const result = compile(md, {
  plugins: [abbr()],
});
// Occurrences of "HTML" are wrapped in <abbr title="Hyper Text Markup Language">

Examples

Basic abbreviation

Define an abbreviation with the *[TERM]: Definition syntax. The definition paragraph is removed from the output, and all occurrences of the term are wrapped in <abbr> elements:

import { compile, abbr } from "@unifast/node";

const md = `*[HTML]: Hyper Text Markup Language

HTML is the standard markup language for web pages.`;

const result = compile(md, { plugins: [abbr()] });
console.log(result.output);
// <p><abbr title="Hyper Text Markup Language">HTML</abbr> is the standard markup language for web pages.</p>

Multiple abbreviations

You can define multiple abbreviations. Each term is replaced independently throughout the document:

import { compile, abbr } from "@unifast/node";

const md = `*[HTML]: Hyper Text Markup Language
*[CSS]: Cascading Style Sheets

HTML and CSS are the foundations of the web.`;

const result = compile(md, { plugins: [abbr()] });
console.log(result.output);
// <p><abbr title="Hyper Text Markup Language">HTML</abbr> and <abbr title="Cascading Style Sheets">CSS</abbr> are the foundations of the web.</p>