/
├── .eleventy.js ← Eleventy config
├── .pages.yml ← Pages CMS config
├── package.json
├── netlify.toml ← Cloudflare Pages build config
└── src/
├── _includes/
│ ├── layouts/
│ │ ├── base.njk ← Base HTML wrapper (all pages)
│ │ └── post.njk ← Blog post layout
│ └── partials/
│ ├── header.html ← Shared header
│ └── footer.html ← Shared footer
├── posts/ ← All blog posts go here (.md files)
├── css/
│ └── styles.css ← Your existing CSS (copy here)
├── js/
│ └── script.js ← Your existing JS (copy here)
├── images/ ← Your existing images (copy here)
└── blog.njk ← Blog listing page
styles.css→src/css/styles.cssscript.js→src/js/script.js- Your images folder →
src/images/ - Any other pages (about.html, contact.html, etc.) →
src/
Upload this entire folder to a new GitHub repository.
- Go to Cloudflare Dashboard → Pages → Create a project
- Connect your GitHub repo
- Set build command:
npm install && npm run build - Set output directory:
public - Deploy
- Go to https://app.pagescms.org
- Sign in with GitHub
- Select your repo
- You'll see "Blog Posts" in the sidebar — start writing!
Just go to app.pagescms.org, click "Blog Posts" → "New Post", fill in the fields, and hit Publish. Cloudflare Pages will automatically rebuild the site in ~30 seconds.
Put the file in src/ — Eleventy will pass it through to public/ automatically.