The bespinian website reachable at bespinian.io
This is an Astro-based multilingual website with the following structure:
/
βββ public/ # Static assets (favicon, images, robots.txt)
βββ src/
β βββ assets/ # Image assets (logos, team photos, partners, etc.)
β βββ components/ # Reusable Astro components
β βββ content/ # Content collections (blog posts, customers, jobs, services)
β βββ i18n/ # Internationalization (translations)
β βββ layouts/ # Page layouts
β βββ lib/ # Utility functions
β βββ pages/ # File-based routing with [lang] dynamic routes
β βββ styles/ # Global styles
βββ .github/ # GitHub workflows and configuration
βββ package.json
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 check |
Run Astro type checking |
npm run format |
Format code with Prettier |
npm run lint |
Check code formatting with Prettier |
npm run astro ... |
Run CLI commands like astro add, astro check |
- Add your blog post to
src/content/blogwith the respective frontmatter - Add a header image from Pexels to
src/assets/blog - Run
mogrify -resize 1600 your-image.jpgto reduce the image width to 1600 pixels. This improves loading times and SEO. - If your blog post features other images, create a folder
src/assets/blog/my-blog-topicand put them in there - Create a PR with your new blog post
- Add your customer story to
src/content/customerswith the respective frontmatter - Add the customer's logo (preferably as an SVG)
- Send the story to the customer for review
- If they are OK with us publishing it, create a PR with your new customer story