Проблема
Разбор обратных кавычек в Markdown может быть сложной задачей. Большинство парсеров обрабатывают множество различных функций, что излишне для простого анализа обратных кавычек.
Решение
backticks-codeblocks
- миниатюрная JS библиотека для разбора обратных кавычек в строках. Идентифицирует и отделяет встроенный код (окруженный одинарными обратными кавычками) и блочный код (заключенный в тройные обратные кавычки) от остального текста.
Как это работает
Библиотека обрабатывает строку текста и возвращает массив сегментов. Каждый сегмент является либо строкой (обычный текст), либо объектом, представляющим сниппет кода. Объект включает в себя содержимое кода и булевый флаг, указывающий, является ли это блочным кодом.
Пример использования
import { processText } from 'backticks-codeblocks';
const markdown = 'Немного встроенного кода и блок:\n\nconsole.log("Привет, мир!");\n';
const segments = processText(markdown);
// вывод segments:
// [
// "Немного ",
// { code: "встроенного кода", isBlock: false },
// " и блок:\n",
// { code: 'console.log("Привет, мир!");', isBlock: true }
// ]
Почему backticks-codeblocks?
Легковесность: Фокусируется только на разборе обратных кавычек, что делает его намного меньше полноценных парсеров Markdown.
Простота: Легко использовать благодаря прямолинейному подходу.
Гибкость: Полезен в ситуациях, когда требуется только разбор обратных кавычек без лишнего функционала полного парсера Markdown.
Библиотека является открытой, буду рад помощи, предложениям по улучшению, сообщениям об ошибках и, конечно, пулл реквестам.
backticks-codeblocks
- это скромная попытка упростить конкретный аспект разбора Markdown. Надеюсь, она окажется полезной для ваших проектов.