A minimalist, editorial academic website built with Astro and structured for easy content updating.
🔗 Live Website: https://simpingojou.github.io/cv/
You can preview your website offline at any time without needing Node.js or any local dev server:
- Open in browser: Simply double-click
preview.html(or right click ➔ Open With ➔ your favorite browser). - Recompiling the preview after editing
src/data/cv.json: Whenever you edit your CV data insrc/data/cv.jsonor styles insrc/styles/global.css, regenerate the preview with a single command:This will immediately rebuildpython3 build_preview.py
preview.htmlwith all your latest changes, PIs/supervisors boxes, and publications formatting.
.
├── .github/workflows/deploy.yml # Automated GitHub Pages CI/CD workflow
├── astro.config.mjs # Astro configuration (base: '/cv')
├── build_preview.py # Script to regenerate preview.html
├── package.json # Node dependencies & build scripts
├── preview.html # Standalone compiled version (instant offline preview)
├── public/
│ └── favicon.svg # Custom "SL." SVG icon
└── src/
├── data/
│ └── cv.json # 👈 All CV content is configured here
├── layouts/
│ └── BaseLayout.astro # Core HTML shell & SEO tags
├── pages/
│ └── index.astro # Astro main page template
└── styles/
└── global.css # Editorial typography & dark minimalist styles
You don't need to touch complex HTML or CSS to update publications or experience. Simply edit src/data/cv.json:
research: Research lede, supervisor, affiliations.publications: Published papers, conference abstracts, and works in preparation. (Authors matching "Lin" will be automatically highlighted, while others like "Linz" remain unhighlighted).experience: Research positions and assistantships. IncludePI: <Name>to automatically generate a highlighted PI badge box.education: Ph.D., M.Sc., B.Sc. degrees and thesis topics. IncludeSupervisor: <Name>orSupervisors: <Names>to automatically generate a supervisor badge box.projects: Technical and biomedical engineering projects with badges.skills: Categorized technical stacks (PyTorch, MATLAB, COMSOL, etc.).teaching&leadership: Courses taught and student lab leadership.references: PIs, titles, affiliations, and contact emails.
The repository is configured to deploy automatically via GitHub Actions:
- Commit and push your changes:
git add . git commit -m "Update CV" git push origin main
- In your GitHub repository at github.com/SimpingOjou/cv:
- Navigate to Settings ➔ Pages.
- Under Build and deployment > Source, ensure GitHub Actions is selected.
- Your live site will automatically update at: 👉 https://simpingojou.github.io/cv/
If you install Node.js and prefer running Astro's live-reload development server locally:
- Install Node.js (via Homebrew on macOS):
brew install node
- Install dependencies:
npm install
- Start local dev server:
Open
npm run dev
http://localhost:4321/cv/in your browser.