rynz.de logo, a minimalist static site generator

RYNZ

Really Your Note Zenerator

Try Now

✨ About rynz.de

πŸš€ Rynz is a lightweight, JavaScript-free static site generator crafted for developers who value Markdown, speed, and simplicity. Built with Python & Jinja2, it delivers fast, customizable static websites with an intuitive CLI, optimized page generation, and clean, minimal templates.

Why Choose Rynz?

  • ⚑ Blazing Fast: Optimized page generation for rapid site builds.
  • 🚫 No JavaScript: Lightweight, clean HTML output by default.
  • πŸ–ŒοΈ Clean Templates: Streamlined Jinja2 templates for easy customization.
  • 🐍 Python-Powered: Modular, forkable codebase for extensibility.
  • πŸ“ Markdown-First: Effortless content creation with Markdown.
  • πŸ”“ Open-Source: Licensed under the MIT License.

πŸš€ Getting Started

To set up Rynz, follow these simple steps:

Installation

pip install rynz

Or install the development version:

pip install git+https://gitlab.com/niharokz/rynz

Create a New Project

rynz create my-site

Sets up my-site/ with default templates & configuration.

Add Content

rynz add pageName

Creates content/note/pageName.md with frontmatter.

Build & Deploy

rynz deploy

Converts Markdown into static HTML, stored in public/.

Serve Locally

rynz serve

Access your site at localhost:5555. Use a custom port:

rynz serve -p 8080

πŸ“‚ Folder Breakdown

Understanding the directory structure helps when managing a Rynz site.

  • πŸ“œ config.yml – Site-wide settings (title, theme, etc.)
  • πŸ“„ content/ – Markdown files for pages and notes
  • πŸ–ΌοΈ resource/ – Static assets (CSS, images, favicon)
  • 🧱 templates/ – Jinja2 templates for HTML output
  • 🌐 public/ – Generated static HTML output

Example Folder Structure


my-site/
β”œβ”€β”€ public/                  # Generated HTML output
β”œβ”€β”€ config.yml               # Site configuration
β”œβ”€β”€ content/                 # Markdown content
β”‚   β”œβ”€β”€ header.md
β”‚   β”œβ”€β”€ footer.md
β”‚   β”œβ”€β”€ home.md
β”‚   └── note/
β”‚       └── sample.md
β”œβ”€β”€ resource/                # Static assets (CSS, images, etc.)
β”‚   └── style.css
└── templates/               # Jinja2 templates
β”œβ”€β”€ home_template.html
└── note_template.html
      

πŸ•ŠοΈ Rynz CLI Help

Rynz provides an intuitive CLI for managing your static site.

rynz -h
usage: rynz [-h] [-v] {create,add,deploy,serve,config,test,save} ...

πŸ•ŠοΈ Rynz: Really Your Note Zenerator.

positional arguments:
  {create,add,deploy,serve,config,test,save} 
                        Available commands
    πŸ—οΈ create              Create a new Rynz project.
    ✏️ add                 Create a new note or blog post.
    πŸ“¦ deploy              Convert Markdown files into static HTML.
    🌐 serve               Serve your site locally at http://localhost:5555.
    βš™οΈ config              View or edit site configuration (config.yml).
    πŸ” test                Test your Rynz setup and structure.
    πŸ’Ύ save                Save changes with Git (stage and commit).

options:
  -h, --help            Show this help message and exit.
  -v, --version         Display the program's version number and exit.
    

πŸš€ Advanced Features

Faster Page Generation

Rynz v1.0.0 optimizes rendering with streamlined Markdown processing and efficient Jinja2 templating, significantly reducing build times.

Cleaner Templates

Templates are now more modular and minimal, using simplified Jinja2 syntax for easier customization.

Homepage Visibility via Tags

Control which pages appear on the homepage using tags.


---
tags: [home]
---
      

Filter in home_template.html:


{% for page in pages if 'home' in page.tags %}
{{ page.title }}
{% endfor %}
      

Custom Metadata

Inject metadata into specific pages.


meta: ''
      

Render metadata inside templates:


{{ page.meta | safe }}
      

Extended Configuration

Add custom settings to config.yml for advanced use cases.


analytics_id: UA-XXXXX-Y
      

πŸ“Έ Showcase

Discover what’s possible with rynz.de:

πŸ“₯ Download

PyPI Version MIT License

Install Rynz via PyPI:

pip install rynz

Requires Python 3.8+. No additional dependencies needed.

Download or clone:

πŸ“ž Contact

Reach out via:

Roadmap

Future plans include:

  • Support for custom Jinja filters
  • Incremental builds for faster iteration
  • Extended template library

Project Status

rynz.de is actively maintained by nih.ar