Nodoku — это набор библиотек, направленных на создание красивых и адаптивных целевых страниц без особых усилий.
Nodoku использует файл Markdown в качестве поставщика контента и файл Yaml в качестве визуального конфигуратора.
Nodoku — это фреймворк, работающий поверх NextJS , React и Tailwind .
Nodoku использует базовые возможности NextJS для рендеринга на стороне сервера (SSR).
Движок Nodoku разбирает предоставленный файл Markdown на блоки контента.
Затем он визуализирует каждый блок, используя конфигурацию, указанную в файле Yaml, который называется скином .
Сосредоточьтесь на теме вашего продукта/услуги, чтобы подчеркнуть его преимущества.
Используйте свой любимый текстовый редактор для создания содержательного файла MD (markdown), не беспокоясь о его представлении.
Используя разделитель блоков контента — фрагмент кода Yaml — структурируйте файл контента, чтобы его можно было отправить в парсер Nodoku.
Как только вы будете довольны сообщением, которое передает ваша целевая страница, начните с ее оформления.
Скин Nodoku — это файл Yaml, который связывает разделы в вашем файле MD с блоками презентации.
Вы можете выбирать среди различных компонентов презентации, включая Карусель, Героя и различные типы компонентов Карт.
Если представление по умолчанию не соответствует вашим потребностям, вы можете настроить его, используя параметры конфигурации каждого компонента, чтобы точно настроить его под свои нужды.
Вы можете изменить цвет фона, цвет текста, границы и другие визуальные детали вашей презентации.
Обычно компоненты Nodoku поддерживают Tailwind CSS из коробки, поэтому вы можете точно настроить индивидуальные настройки с помощью Tailwind.
создайте файл контента Markdown, описывающий ваш продукт
# Title of my awesome product
## Subtitle of my awesome product
Description of my product.
And another line of description.

черновик файла Yaml, настраивающего визуальное представление
rows:
- row:
components:
- mambaui/hero-left-text:
selector:
attributes:
id: product-1
Проверьте исходный код этой страницы по адресу
https://github.com/epanikas/nodoku-demo-page
В отличие от Nodoku, подавляющее большинство конструкторов сайтов используют так называемый подход WYSIWYG (What You See Is What You Get), когда сайт создается постепенно, путем заполнения веб-форм прямо на визуальных элементах.
Несмотря на то, что такой подход дает очень быстрое визуальное представление о вашей будущей странице, у него есть существенный недостаток — он сильно отвлекает .
Nodoku предлагает другой подход: сначала вы создаете контент .
Контент создается в текстовой форме в файле Markdown, и в этот момент ничто другое не имеет значения .
Nodoku пропагандирует строгое разделение между содержанием и представлением, что обеспечивает большую гибкость, когда одно можно изменять, не влияя на другое.
Данный подход иллюстрируется тем фактом, что контент и дизайн представлены разными файлами — файлом Markdown для контента и файлом Yaml , называемым скином , для визуального представления.
Строгое разделение концепций контента и дизайна позволяет независимо редактировать их, не беспокоясь о влиянии одного на другое.
Nodoku был разработан с нуля с учетом необходимости локализации контента.
Контент в Nodoku представлен набором блоков контента , каждый из которых представляет собой отдельную часть контента (обычно абзац или заголовок).
Контент становится легко локализуемым, поскольку каждый блок контента имеет свой уникальный ключ.
Этот ключ можно использовать как ключ перевода , который можно интегрировать с выбранным вами решением по локализации.
Более подробную информацию можно найти на сайте nodoku-i18n .
Каждый компонент Nodoku тщательно продуман таким образом, чтобы он корректно отображался на любом устройстве просмотра.
Доступные в настоящее время наборы компонентов Nodoku, Nodoku-Flowbite и Nodoku-MambaUI, основанные на наборе визуальных блоков Flowbite и Mamba UI соответственно, являются адаптивными и обеспечивают наилучший пользовательский опыт .
Скин Nodoku — файл Yaml, обеспечивающий визуальную настройку — основан на движке стилей Tailwind CSS, который предоставляет большие возможности для настройки адаптивного дизайна.
Страница Nodoku организована как набор строк , каждая строка имеет один или несколько визуальных компонентов.
Такая строковая компоновка дает четкое представление о структуре вашей страницы и предсказуемое визуальное размещение элементов.
По умолчанию каждая строка на странице Nodoku использует сетку CSS для организации внутренних элементов строки.
Однако при необходимости макет строки можно переключить на CSS flex .
Это позволяет, в зависимости от ваших конкретных требований, адаптировать макет, наилучшим образом соответствующий вашим потребностям.
Nodoku использует рендеринг на стороне сервера, работающий на базе фреймворка NextJS .
Все страницы Nodoku создаются заранее, в процессе автономной сборки.
Это обеспечивает не только молниеносную загрузку страниц, но и поисковую оптимизацию , поскольку каждая страница легко доступна и может быть легко просканирована поисковыми системами.
Перед сканированием страницы поисковой системой не требуется выполнять код Javascript.
В результате вся страница естественным образом становится SEO-дружественной .
Фреймворк Nodoku изначально является расширяемым, поскольку именно конечный пользователь управляет сопоставлением между визуальными компонентами и конфигурацией скина Yaml.
Nodoku использует так называемый поставщик компонентов — функцию, которая возвращает визуальное представление компонента в соответствии с описанием файла скина Yaml.
Эта реализация отвечает за конечный рендеринг компонента с использованием темы и локализации.
Следовательно, конечный пользователь может легко расширить существующий набор компонентов за счет собственных компонентов по мере необходимости.
rows:
- row:
components:
- flowbite/carousel:
selector:
attributes:
sectionName: advantages
На этом сайте используются следующие компоненты, полученные из творческих вкладов третьих лиц:
Font Awesome 6 - https://fontawesome.com/ Лицензия: Лицензия CC BY 4.0 https://creativecommons.org/licenses/by/4.0/
Heroicons - https://github.com/tailwindlabs/heroicons Лицензия: MIT https://opensource.org/licenses/MIT
Иконки Material Design - http://google.github.io/material-design-icons/ Лицензия: Apache License Version 2.0 https://github.com/google/material-design-icons/blob/master/LICENSE