Astro-based event website for the Workshop on AI for Pre-Engineering Students hosted by the Multidisciplinary AI Research Center (MARC), University of Peradeniya.
The project is intentionally structured so that:
- the page layout is built from reusable Astro components
- event copy and FAQs live in Markdown content files
- the site can be published automatically with GitHub Actions and GitHub Pages
- Astro for the site
- Markdown content collections for editable event information
- GitHub Actions for automated publishing
- GitHub Pages for hosting
.
|-- .github/
| `-- workflows/
| `-- deploy.yml
|-- public/
| `-- favicon.svg
|-- src/
| |-- components/
| | |-- CallToAction.astro
| | |-- EventDetails.astro
| | |-- EventHighlights.astro
| | |-- FaqList.astro
| | |-- Hero.astro
| | |-- SectionHeading.astro
| | `-- TestimonialGrid.astro
| |-- content/
| | |-- event/
| | | `-- workshop.md
| | |-- faq/
| | | `-- *.md
| | `-- testimonials/
| | `-- *.md
| |-- layouts/
| | `-- BaseLayout.astro
| |-- pages/
| | `-- index.astro
| |-- styles/
| | `-- global.css
| `-- content.config.ts
|-- astro.config.mjs
|-- package.json
`-- README.md
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Build the production version:
npm run build
-
Preview the production build locally:
npm run preview
The site is designed so that most event updates happen in Markdown, not in layout code.
Edit src/content/event/workshop.md.
This file contains:
- hero text
- event metadata
- location and eligibility details
- highlight cards
- session flow content
- call-to-action labels
- the main descriptive body copy
Each FAQ answer is a separate Markdown file in src/content/faq.
To add a new FAQ:
- Create a new
.mdfile in that folder. - Add frontmatter with
orderandquestion. - Write the answer in normal Markdown.
Example:
---
order: 7
question: "Will lunch be provided?"
---
Add the official answer here.Testimonials are stored in src/content/testimonials.
Each testimonial is a separate Markdown file so they can be added, removed, or reordered easily.
The current version is a polished one-page event landing page, but it is set up to grow cleanly.
Easy next steps include:
- adding a speakers section using another content collection
- moving registration to a real external form link
- adding a schedule page or a
/faqpage later - adding sponsor, partner, or gallery sections with new components
- switching from Markdown to MDX if richer embedded content is needed later
The workflow file is deploy.yml.
It deploys automatically when code is pushed to the main branch.
- Push this repository to GitHub.
- Open the repository settings.
- Go to Pages.
- Set the source to GitHub Actions.
- Push to
mainor manually run the workflow.
The Astro config currently assumes GitHub Pages deployment for this repository and uses the repository name as the production base path during GitHub Actions builds.
If you later:
- rename the repository
- move to a custom domain
- deploy on Netlify or Vercel instead
then update astro.config.mjs accordingly.
The following details were available from the provided flyer and your note, and are already reflected in the site:
- event title and hosting organization
- date: 20 April 2026
- time: 9.00 AM to 4.00 PM
- location: Faculty of Engineering, University of Peradeniya
- eligibility: Physical Science stream students who completed GCE A/Ls in 2025
Some details were not available yet, so the site currently treats them as pending:
- registration link
- final logistics beyond the venue name
- speaker list
- exact timetable
- contact details
- replace the placeholder registration messaging with the official registration form URL
- add speaker names or session leads when confirmed
- add travel/contact information if participants need it
- update testimonials or photos after the next workshop cycle