- TypeScript 70.8%
- Astro 27.9%
- SCSS 0.6%
- CSS 0.4%
- JavaScript 0.2%
The localization strings were a mess, this PR creates some more consistency and starts to streamline things. Reviewed-on: #73 Co-authored-by: Chris Hartgerink <chris@libscie.org> Co-committed-by: Chris Hartgerink <chris@libscie.org> |
||
|---|---|---|
| .vscode | ||
| public | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| astro.config.mjs | ||
| cliff.toml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.ts | ||
| README.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
ResearchEquals website
Welcome to the repository for the ResearchEquals website! 👋 We build this front-end with priority for accessibility, reliability, and performance.
The front-end relies on the ResearchEquals API. If you are copying the code from this repository, you need to set up a separate ResearchEquals API yourself. In the future, we will add a docker image that will do both for you.
Development
npm install
npm run dev
🚀 Project Structure
Inside of our Astro project, you'll see the following folders and files:
/
├── public/
├── src/
│ └── pages/
│ └── index.astro
└── package.json
Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.
There's nothing special about src/components/, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
Any static assets, like images, can be placed in the public/ directory.
🧞 Commands
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 |
npm run test |
Run unit tests |
npx playwright test |
Run browser integration tests |
npx playwright codegen |
Create interactive tests |
npx @hocuspocus/cli --port 1234 --sqlite |
Run the collaborative editing server |
To run the playwright tests, you may need to run npx playwright install to ensure you have all the browsers.
docker
docker buildx build --platform linux/amd64 --tag git.libscie.org/researchequals/frontend:latest ./
docker push --platform=linux/amd64 git.libscie.org/researchequals/frontend:latest
Localization
ResearchEquals is localized using i18n. The localization files are in src/i18n/<lang>.json and follow the same structure as the folders. In order to find the localization strings for src/components/StatsGrid.tsx use the localization keys that start with components.StatsGrid.
Exceptions are generics, which include e.g., Save, Delete, and errors. These are at the root of the localization key (e.g., save and error.general).