Nodoku is a static site generator, where the content is provided as MD (Markdown) files, and the visual representation is controlled via Yaml files - called skin.
Nodoku promotes the content-first approach, when the content creation process is not being distracted by the considerations related to the visual representation and design.
Instead, the content is created first as an MD file, demarcated by the special markers into content blocks, and then each block is rendered using the configuration provided in a Yaml file called skin.
Here is an example:
```yaml
nd-block:
attributes:
id: product-1
``
# Title of my awesome product
## Subtitle of my awesome product
Description of my product.
And another line of description.

rows:
- row:
components:
- mambaui/hero-left-text:
selector:
attributes:
id: product-1
Visual components in Nodoku are supplied via pluggable packages, as a standard package.json dependencies.
For example, components based on Mamba UI set of widgets are added as a dependency:
{
"dependencies": {
...
"nodoku-mambaui": "^0.3",
...
}
}
Each set of components ships with its own Yaml configuration schema, as well as Tailwind CSS configuration.
Learn more about Nodoku visual components:
Nodoku allows for easy static content localization (making the content available on different languages) thanks to the way it parses the Markdown file.
Nodoku converts the static content from the Markdown file in stream of content blocks, each having its own unique translation key.
Thanks to these automatically generated translation keys a translation backend of your choice can be plugged in to provide the text translation.
Learn more about Nodoku localization capabilities: https://github.com/nodoku/nodoku-i18n
Nodoku provides a way to denote an icon directly in the Markdown file, as follows:
{icon:nd-react-icons/fa6:FaFacebook} Facebook
{icon:nd-react-icons/fa6:FaInstagram} Instagram
Learn more about icon usage in Nodoku: https://github.com/nodoku/nodoku-icons
For your convenience we have a Nodoku sample project, suitable for forking and deploying in Netlify:
Find more static site generators.