https://github.com/escemi-tech/escemi-website
https://github.com/escemi-tech/escemi-website
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/escemi-tech/escemi-website
- Owner: escemi-tech
- License: mit
- Created: 2020-08-18T13:51:06.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2026-02-23T21:11:13.000Z (5 months ago)
- Last Synced: 2026-02-24T03:54:15.657Z (5 months ago)
- Language: Astro
- Homepage: https://www.escemi.com/
- Size: 62.5 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# ESCEMI Landing Page
Marketing site for ESCEMI, built with [Astro](https://astro.build/) 5 and Tailwind CSS. The production code lives under `application/` and is packaged for deployment as a static site.
## Requirements
- Node.js 18.17+ (or 20.3+/21+)
- npm 9+
- Docker (optional, used by linting workflow)
## Getting Started
```bash
make prepare # Install npm dependencies in application/
make start # Run Astro dev server on http://localhost:4321
```
To preview a production build locally:
```bash
make build
npm run preview --prefix application
```
## Development Workflow
- `make lint` – Run Prettier and Astro checks (accepts globs: `make lint src/pages`)
- `make lint-fix` – Apply automated fixes via npm audit + Dockerized linter
- `make build` – Run `astro check` and produce a production build
- `make ci` – Run prepare, lint, and build sequentially
- `npm run test --prefix application` – Execute the Vitest unit test suite
- `npm run preview --prefix application` – Serve the built site for QA
Most changes should happen inside `application/`. See `AGENTS.md` for detailed automation guardrails.
## Project Structure
- `application/astro.config.ts` – Astro configuration, integrations, and Partytown setup
- `application/src/config.yaml` – Site metadata, feature toggles, and analytics IDs
- `application/src/i18n/ui.ts` – Shared UI strings for `fr` (default) and `en` locales
- `application/src/assets/images` – Optimized assets consumed via the shared `Image` component
- `application/src/content/` and `application/src/data/` – Blog posts and data-driven content
## Configuration Notes
- Keep locale strings synchronized in `application/src/i18n/ui.ts`
- Update metadata and analytics via `application/src/config.yaml` instead of hardcoding values
- Follow the frontmatter schema in `application/src/content/config.ts` when adding content
## Contributing
Contributions, issues, and feature requests are welcome. Review the [contributing guide](CONTRIBUTING.md) and use the [issue tracker](https://github.com/escemi-tech/escemi-website/issues) to report bugs or request features.
## License
This project is released under the [0BSD License](LICENSE).