A simple, fast, and responsive brochure website for Newlands Cottages guest house.
- Production: https://newlandscottages.co.za/
- Staging: Staging environments are generated automatically for each Pull Request via Netlify Deploy Previews.
- Framework: Astro (Static Site Generator)
- Styling: TailwindCSS
- Components: Flowbite
- Hosting: Netlify
- Node.js (v18 or later)
- npm
-
Clone the repository:
git clone https://github.com/cybercharl/newlands-cottages-website.git cd newlands-cottages-website -
Install dependencies:
npm install
-
Start the local development server:
npm run dev
This will start a hot-reloading development server, typically at
http://localhost:4321.
This project uses a simplified trunk-based development model (GitHub Flow).
-
Create a Feature Branch: All new work (features, fixes, content updates) must be done in a branch created from
main. Use a descriptive name.# Example for a new feature git checkout -b feature/add-photo-gallery # Example for a bug fix git checkout -b fix/correct-phone-number
-
Commit Changes: Make your changes and commit them with clear, concise messages.
-
Open a Pull Request: When your work is complete, push the branch to GitHub and open a Pull Request (PR) against the
mainbranch. -
Review and Stage: A Netlify Deploy Preview link will be automatically generated and posted as a comment in your PR. Use this link to review your changes in a live, staging-like environment.
-
Merge to Production: Once the PR is approved, merge it into
mainusing the "Squash and Merge" option on GitHub. This keeps themainbranch history clean and atomic. -
Automatic Deployment: Merging to
mainautomatically triggers a production deployment via Netlify.
- Home:
/ - Cottage Details:
/clarkia-guest-cottage - About:
/about - Contact:
/contact-us
{ Stuff from the Astro starter. Might still be useful later }
Inside of your Astro project, you'll see the following folders and files:
/
├── public/
│ └── favicon.svg
├── src
│ ├── assets
│ │ └── astro.svg
│ ├── components
│ │ └── Welcome.astro
│ ├── layouts
│ │ └── Layout.astro
│ └── pages
│ └── index.astro
└── package.json
To learn more about the folder structure of an Astro project, refer to our guide on project structure.
All commands are run from the root of the project, from a terminal:
| Command | Action |
|---|---|
npm install |
Installs dependencies |
npm run dev |
Starts local dev server at localhost:4321 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Preview your build locally, before deploying |
npm run astro ... |
Run CLI commands like astro add, astro check |
npm run astro -- --help |
Get help using the Astro CLI |
Feel free to check our documentation or jump into our Discord server.