In an era of increasingly complex web frameworks, Idoine (pronounced "ee-dwahn") stands out with intentional simplicity. This minimalist static site generator embodies a "just enough" philosophy—providing exactly what you need to create functional, lightweight, and multilingual websites without unnecessary complexity.
The Story Behind the Name
The name Idoine comes from French, meaning "suitable," "appropriate," or "fit for purpose." This captures the project's philosophy: offering exactly the tools required—nothing more, nothing less. In a world dominated by feature-rich frameworks, Idoine deliberately embraces simplicity.
A Deliberate Choice of Tools
Rather than reinventing the wheel, Idoine leverages proven, stable technologies:
- Grunt – Task automation and streamlined workflows
- Python with Jinja2 – Efficient templating and content generation
- SCSS – Maintainable styling
- Markdown – Straightforward content writing
- YAML – Structured metadata through front matter
This carefully curated stack prioritizes simplicity and reliability over cutting-edge complexity.
Core Features
Idoine includes essential capabilities for modern static sites:
- Multilingual Support – Built-in internationalization using a clear directory structure
- Live Reload – Development server with instant updates for rapid iteration
- Asset Pipeline – Automated processing of styles, scripts, and media files
- Production-Ready – Optimized builds with CSS minification and efficient asset handling
- Zero Configuration – Immediate usability with sensible defaults
- Netlify Ready – Seamless deployment with built-in Netlify configuration
Under the Hood: The Build Pipeline
Idoine's build process is transparent and efficient, orchestrated by Grunt with Python managing content generation.
Development Workflow
When you run npm run dev
, Idoine performs the following steps:
- Generates HTML from Markdown using Python and Jinja2
- Compiles SCSS to CSS with source maps for debugging
- Applies Autoprefixer for cross-browser compatibility
- Copies static assets to the distribution folder
- Starts a local server with live reload at
http://localhost:9000
- Watches for changes, rebuilding only necessary files
javascript
grunt.registerTask("dev", [
"shell:build_html",
"convertMarkdown",
"sass:dev",
"postcss:dev",
"copy",
"connect",
"watch",
]);
Production Build
The production build (npm run build
) optimizes all assets:
- Cleans the distribution directory for a fresh build
- Processes all Markdown and templates through Python
- Compiles SCSS with optimized settings
- Applies Autoprefixer for broader browser support
- Minifies CSS for smaller file sizes
- Copies and optimizes static assets
The Python build script converts Markdown content to HTML, applies templates, and manages multilingual structures. It also processes YAML front matter, enabling custom attributes and localized content.
Getting Started
Idoine helps you quickly set up your first static site with minimal effort.
Prerequisites
Make sure you have installed:
- Node.js 18 or higher
- Python 3.9 or higher
- npm (bundled with Node.js)
- Git
Initial Setup
bash
git clone [https://github.com/camauger/idoine]
cd idoine
npm install
python -m venv venv
source venv/bin/activate
venv\Scripts\activate
pip install -r requirements.txt
Adding a New Language
Creating multilingual content is straightforward:
- Create a new language directory:
bash mkdir -p src/locales/es/pages
- Add localized content:
bash touch src/locales/es/pages/index.md
- Populate the new Markdown file with content.
- Restart the development server; your site now supports the new language.
Customizing Templates
Modify your site's appearance easily:
- Edit layouts in the
templates/
directory. - Update styling by editing SCSS files in
src/styles/
. - Add fonts or images to
src/assets/
.
Live reload ensures immediate feedback as you save changes.
A Template to Build Upon
Though minimalist, Idoine is designed for extensibility. Its clear project structure neatly separates content (/src/locales
), templates (/templates
), and styles (/src/styles
), making your site easy to maintain as it evolves.
Join the Simplicity Movement
Idoine doesn't aim to compete with more complex static site generators. Instead, it provides a straightforward alternative for developers who value:
- Simplicity over complexity
- Convention over configuration
- Focus over feature-bloat
- Stability over cutting-edge experimentation
If this resonates with you, give Idoine a try. Clone the template, create content, and experience the simplicity firsthand. Sometimes, less truly is more—exactly what makes Idoine perfectly idoine for your needs.
Discover more about Idoine on GitHub and start building your next project with purposeful simplicity.