nano-format
v1.3.3
Published
Nan•web format of the documents, HTML inside of the YAML.
Downloads
29
Readme
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);
// <p class="text">Це тестовий параграф.</p>
Еквівалент формату (без використання content
):
const { nano2html } = require('nano-format');
const nano = {
$class: 'text',
p: 'Це тестовий параграф.'
};
const html = nano2html(nano);
console.log(html);
// <p class="text">Це тестовий параграф.</p>
Конвертація з HTML до Nano
Функція html2nano()
конвертує HTML-код у структуру Nano:
const { html2nano } = require('nano-format');
const html = `<p class="text">Це тестовий параграф.</p>`;
const nano = html2nano(html);
console.log(nano);
/*
{
p: {
$class: 'text',
content: 'Це тестовий параграф.'
}
}
*/
Налаштування тегів та атрибутів
nano-format
дозволяє налаштовувати теги та атрибути через функції setSelfClosedTags()
, setDefaultAttributes()
, та setTags()
:
const { setSelfClosedTags, setDefaultAttributes, setTags } = require('nano-format');
// Додаємо нові теги
setDefaultAttributes({ 'customComment': '$ref' });
setTags([
{ child: 'div', tags: ['section', 'article'] },
]);
setSelfClosedTags(['customComment']);
// customComment автоматично потрапить і у setTags через addTags { child: '', tags: ['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.