My personal website, as well as the contents that powers it.
Web mentions(or rss) tracked with webmention.io.
- Hosted on github pages
- Domain provided by gandi.net
- Website built with Astro
- Tests use vitest
- End-to-end tests use cypress
- Accessibility tests are provided by the Axe Accessibility Testing Tools.
- Diagrams created with mermaid.js
Blog posts that are set to future date are considered "drafts", and will be excluded from the list of available posts. However, their permalinks are still available, and can therefore be shared with others (which is useful for feedback). This also means that the draft posts are available on the sitemap, and therefore for SEO.
The ideal workflow for new articles is to publish them as drafts into a separate PR. This allows for comments in-place thanks to Github's review tools. This is the only way to avoid new articles from showing on the sitemap or to SEO.
All commands are run from the root of the project, from a terminal:
Command | Action |
---|---|
npm install or npm ci |
Install dependencies |
npm run astro ... |
Runs CLI commands like astro add or astro check |
npm run start |
Starts local dev server at localhost:4321 |
npm run dev |
Starts the local dev server and run test suites continuously |
npm run build |
Builds the website for production into the ./dist/ folder |
npm run test |
Runs all tests suites |
Some of these commands have sub-steps that execute extra functionality. They can be called individually by their name:
Sub-commands
Command | Sub-command | Action |
---|---|---|
npm install |
npm run postinstall:sync |
Sync content types for astro types |
npm run postinstall:feed |
Downloads rss feed styling for users browsing the url | |
npm run build |
npm run prebuild:diagrams |
Renders all diagrams in the ./public directory (.mmd become .mmd.svg ) |
npm run prebuild:skills |
Updates all skills to use the category that corresponds to their directory | |
npm run postbuild:update-fixtures |
Updates fixtures for the end-to-end tests | |
npm run dev |
npm run dev:server |
Same as npm run start |
npm run dev:test:unit |
Runs the unit tests and watches for file changes | |
npm run dev:test:e2e |
Runs the end-to-end tests and watches for file changes | |
npm run test |
npm run test:check |
Runs Typescript checks |
npm run test:unit |
Runs the unit tests | |
npm run test:e2e |
Runs the end-to-end tests. This runs npm run build before executing |
These commands will ask for input and create the appropriate files with the correct format.
Command | Action |
---|---|
npm run create:blog |
Create a new entry in the blog with today's date |
npm run create:project |
Create a new project entry |
npm run create:resume |
Create a new resume entry |
npm run create:tag |
Create a new tag |