English | Français |
Español | Português | Italiano |
Nederlands | Deutsch | Čeština |
Беларуская | Български | Српски |
Polski | Русский
Формат .nano - компактне зберігання HTML та XML у YAML або JSON.
nano-format — це бібліотека для конвертації та роботи з HTML/XML в компактному форматі Nano, який використовує YAML або JSON для зберігання даних.
Філософія
- Просто і зрозуміло.
- Кожне слово тут має значення.
- Зручне збереження і редагування даних HTML і XML.
Цілі
- Можливість опису формату будь яких даних у структурі YAML (JSON).
- Створення простих і зрозумілих структур даних, обмін ними, і компоненти інтерфейсів для даних.
Встановлення
Для встановлення бібліотеки скористайтеся npm або yarn:
npm install nano-format
або
yarn add nano-format
Використання
Конвертація з Nano до HTML
Функція nano2html() дозволяє конвертувати структури Nano у HTML:
const { nano2html } = require('nano-format');
const nano = {
p: {
$class: 'text',
content: 'Це тестовий параграф.'
}
};
const html = nano2html(nano);
console.log(html);
Еквівалент формату (без використання content):
const { nano2html } = require('nano-format');
const nano = {
$class: 'text',
p: 'Це тестовий параграф.'
};
const html = nano2html(nano);
console.log(html);
Конвертація з HTML до Nano
Функція html2nano() конвертує HTML-код у структуру Nano:
const { html2nano } = require('nano-format');
const html = `<p class="text">Це тестовий параграф.</p>`;
const nano = html2nano(html);
console.log(nano);
Налаштування тегів та атрибутів
nano-format дозволяє налаштовувати теги та атрибути через функції setSelfClosedTags(), setDefaultAttributes(), та setTags():
const { setSelfClosedTags, setDefaultAttributes, setTags } = require('nano-format');
setDefaultAttributes({ 'customComment': '$ref' });
setTags([
{ child: 'div', tags: ['section', 'article'] },
]);
setSelfClosedTags(['customComment']);
Скидання всіх налаштувань
Для скидання налаштувань до значень за замовчуванням використовуйте resetAll():
const { resetAll } = require('nano-format');
resetAll();
Документація API
Функції
-
nano2html(content, nextTag = null)
Конвертує структуру Nano у HTML.
Параметри:
content (any): Структура Nano для конвертації.
nextTag (string|null): Тег, який буде використовуватись для обгортки контенту (необов'язковий).
Повертає:
- HTML-рядок.
-
html2nano(html)
Конвертує HTML-код у структуру Nano.
Параметри:
html (string): HTML-код для конвертації.
Повертає:
- Структура Nano.
-
setSelfClosedTags(tags = null)
Налаштовує список самозакритих тегів.
Параметри:
tags (string[] | null): Масив тегів або null для скидання до значень за замовчуванням.
Повертає:
- Оновлений список самозакритих тегів.
-
setDefaultAttributes(attrs = null, value = undefined)
Налаштовує атрибути за замовчуванням для тегів.
Параметри:
attrs (DefaultTagsAttributes | null): Мапа тегів до атрибутів або null для скидання до значень за замовчуванням.
value (string | undefined): Значення для конкретного атрибута (необов'язковий).
Повертає:
- Оновлені атрибути за замовчуванням.
-
resetAll()
Скидає всі налаштування до значень за замовчуванням.
Повертає:
- Об'єкт з початковими налаштуваннями самозакритих тегів, атрибутів та тегів.
Ліцензія
Цей проєкт ліцензовано на умовах ліцензії ISC.