Your site, rebuilt so you can add blog posts and recipes just by adding a text file — no editing of design/code required for everyday updates.
src/
content/
blog/ ← one .md file per blog post
recipes/ ← one .md file per recipe
data/
projects.js ← the 4 project cards on your homepage
pages/
index.astro ← homepage (pulls blog/recipes automatically)
layouts/
BaseLayout.astro ← nav, footer, fonts (shared by every page)
styles/
global.css ← all your visual design, unchanged from the original
public/
fokrul_hasan_resume.html ← replace with your real resume file
You will almost never need to touch pages/, layouts/, or styles/ again.
Day-to-day, you only add files inside src/content/blog/ or
src/content/recipes/.
-
Go to https://github.com/new and create a new repository (e.g.
fokrul-site). Keep it Public, don't add a README/gitignore (we already have files). -
On your own computer, install Git and Node.js (LTS version) if you don't have them.
-
Download this project folder, then open a terminal inside it and run:
git init git add . git commit -m "Initial site" git branch -M main git remote add origin https://github.com/YOUR-USERNAME/fokrul-site.git git push -u origin main
(Replace
YOUR-USERNAMEwith your GitHub username.)
- Go to https://dash.cloudflare.com → Workers & Pages → Create → Pages → Connect to Git.
- Choose the
fokrul-siterepo you just pushed. - Build settings:
- Framework preset: Astro
- Build command:
npm run build - Build output directory:
dist
- Click Save and Deploy. In about a minute you'll get a live URL like
fokrul-site.pages.dev.
That's it — every time you push a change to GitHub, Cloudflare rebuilds and redeploys automatically.
-
Go to your repo on GitHub → open the
src/content/blogfolder. -
Click Add file → Create new file.
-
Name it something like
my-new-post.md(use dashes, no spaces). -
Paste this template and fill it in:
--- title: "Your Post Title Here" date: "2026-07-04" topic: "Tech" excerpt: "One or two sentence teaser shown on the homepage." --- Write your full post here. Regular paragraphs work fine. ## You can add headings like this - and bullet points - **bold text** - *italic text*
-
Scroll down, click Commit changes.
-
Wait ~30–60 seconds — Cloudflare Pages rebuilds automatically, and your new post appears on the homepage (sorted by date) with its own page.
Same process, but inside src/content/recipes/:
---
name: "Recipe Name"
cuisine: "Bangladeshi"
time: "30 min"
emoji: "🍜"
note: "Short teaser shown on the recipe card."
---
## Ingredients
- item 1
- item 2
## Steps
1. Step one
2. Step twoOpen src/data/projects.js on GitHub, copy one of the existing objects,
edit the fields, add a comma, save. This one file is a small exception —
it's not markdown, but it's just as simple to edit as a text file.
npm install
npm run devThen open http://localhost:4321 to preview changes before pushing.
- I didn't have your actual resume HTML file in this upload, so
public/fokrul_hasan_resume.htmlis a placeholder — drop your real resume file in there with that exact filename and it'll just work. - If you want a nicer visual dashboard instead of editing files on GitHub (fill-in-the-blank forms, image uploads, etc.), the next upgrade step is adding a free tool called Decap CMS — happy to set that up whenever you're ready.