1.1.1 • Published 6 months ago

@monixlite/markup2html v1.1.1

Weekly downloads
-
License
ISC
Repository
-
Last release
6 months ago

@monixlite/markup2html

Конвертер различных разметок (MarkdownV1, MarkdownV2 и др.) в HTML.
Поддерживает разнообразные стили форматирования, используемые в Telegram и других системах.


Установка

npm install @monixlite/markup2html

Использование

const m2html = require('@monixlite/markup2html');

const markdown = '*bold text* _italic text_';
const html = m2html.format('markdownv2', markdown);

console.log(html); // <b>bold text</b> <i>italic text</i>

// ИЛИ

const markdown = '*bold text* _italic text_';
const html = m2html.Markdown(markdown);

console.log(html); // <b>bold text</b> <i>italic text</i>

Описание

@monixlite/markup2html — это модуль Node.js для преобразования разметки, например Telegram MarkdownV2, в валидный HTML с соответствующими тегами и стилями.

Он корректно обрабатывает такие элементы форматирования, как:

  • Жирный текст (*bold*)
  • Курсив (_italic_)
  • Подчёркивание (__underline__)
  • Зачёркнутый (~strikethrough~)
  • ||Спойлер|| (||spoiler||)
  • Вложенное и комбинированное форматирование
  • Ссылки, упоминания пользователей, эмодзи
  • Инлайн и блочные фиксированные ширины кода
  • Цитаты и расширяемые цитаты

Пример разметки (Markdown)

*bold \*text*  
_italic \*text_  
__underline__  
~strikethrough~  
||spoiler||  
*bold _italic bold ~italic bold strikethrough ||italic bold strikethrough spoiler||~ __underline italic bold___ bold*  
[inline URL](http://www.example.com/)

Конвертируется в (HTML)

<b>bold</b>
<i>italic</i>
<u>underline</u>
<s>strikethrough</s>
<span class="tg-spoiler">spoiler</span>
<b>bold <i>italic bold <s>italic bold strikethrough <span class="tg-spoiler">italic bold strikethrough spoiler</span></s> <u>underline italic bold</u></i> bold</b>  
<a href="http://www.example.com/">inline URL</a>  

API

.format(style: string, content: string): string

Преобразует content из указанного style (например, 'markdownv2') в HTML.

  • style — название стиля (без учёта регистра)
  • content — строка с исходной разметкой

Возвращает строку с HTML.


.escape(content: string): string

Экранирует специальные символы для безопасного вывода:

_ * ~ ` > # + - = | { } . !


Лицензия

MIT


1.1.1

6 months ago

1.1.0

6 months ago

1.0.2

6 months ago

1.0.1

6 months ago

1.0.0

6 months ago