Nicolino
A performant, tiny, SSG (yeah, sure)
Features
- Markdown-based content - Write in markdown, get HTML
- Posts and pages - Blog posts with RSS feeds and static pages
- Taxonomies - Tags, categories, and custom classification systems
- Image galleries - Automatic thumbnails with lightbox
- Books - mdbook/gitbook-style documentation with hierarchical chapters, sidebar TOC, and navigation
- Search - Site search functionality
- Sitemap - Automatic XML sitemap generation
- Fast builds - Parallel, incremental builds via Croupier task system
WARNING
This is a toy. Do not use this for anything important. Yet, maybe.
What is it tho
It's a SSG, a Static Site Generator. You know, those things where you write some markdown and end up with a website.
Why
Because I am learning Crystal and I know a lot about SSGs, so it's a nice project.
Will it be any good
Probably not? I am an old guy and my energy is limited and I don't need this, so I will just keep adding stuff while it's fun.
What's planned
Nothing is planned, this is strictly a make it up as you go operation. BUT check out the TODO list
More information
You can consider it a "demo" at https://nicolino.ralsina.me
Building for Release (Static Binaries)
The project uses libvips for fast image processing, but libvips cannot be statically linked. To create static binaries, we use the -Dnovips flag which falls back to crimage (a pure-Crystal image library).
Important trade-offs:
- Non-release builds with crimage are very slow - image processing will take noticeably longer
- Release builds with crimage are somewhat faster - but still slower than libvips
- Static builds require
-Dnovips- otherwise linking will fail due to missing libvips static libraries
For development use, build without -Dnovips for fast image processing with libvips. For release/static builds, use -Dnovips and accept the performance trade-off.