Migration
Move from the legacy Gulp-based Simple Engine to the modern 2.0 rewrite.
Simple Engine 2.0 is a complete rewrite. If you still have a site on the older Gulp / Swig / Bootstrap stack, use this guide to move over.
For the full checklist, see MIGRATION.md on GitHub. That file may still mention older version numbering from an earlier plan — the shipped release is 2.0.0 (migrating from Gulp-based 1.x).
Breaking changes
| Area | Legacy | 2.0 |
|---|---|---|
| Build | Gulp | Vite |
| Templates | Swig | Nunjucks |
| Content | HTML | Markdown |
| Styling | Bootstrap / SASS | Tailwind CSS v4 |
| Modules | CommonJS | ESM |
| Config | config.json |
simple.config.js |
High-level steps
- Backup your current site
- Scaffold a fresh project with
npx simple-engine@latest init my-site-new - Port config from
config.jsonintosimple.config.js - Convert content from HTML to Markdown with frontmatter
- Move layouts from Swig to Nunjucks (syntax is close; update extends/includes)
- Replace styles with Tailwind in
styles/main.css - Update scripts to
simple dev/simple build - Copy static assets into
public/
Config mapping
Old (config.json):
{
"title": "Simple Engine",
"url": "https://simpleengine.com",
"author": "Christopher Casper"
}
New (simple.config.js):
export default {
site: {
title: 'Simple Engine',
url: 'https://simpleengine.com',
author: 'Christopher Casper',
},
paths: {
content: './content',
layouts: './layouts',
output: './dist',
},
};
Content mapping
Old HTML + Swig:
{% extends 'layouts/index.html' %}
{% block content %}
<h1>About</h1>
<p>This is the about page.</p>
{% endblock %}
New Markdown:
---
title: About
layout: default
---
# About
This is the about page.
Directory mapping
| Legacy | 2.0 |
|---|---|
source/content/ |
content/ |
source/layouts/ |
layouts/ |
source/scss/ |
styles/ |
source/js/ |
public/js/ |
source/img/ |
public/images/ |
| build output | dist/ |
config.json |
simple.config.js |
gulpfile.js |
(removed) |
Scripts
Old:
{
"scripts": {
"start": "gulp",
"build": "gulp build"
}
}
New:
{
"scripts": {
"dev": "simple dev",
"build": "simple build"
}
}
After migrating, walk through Getting started and Configuration to finish setup.