Skip to content

My personal website, as well as the contents that powers it.

Notifications You must be signed in to change notification settings

HectorCastelli/website

Repository files navigation

website

My personal website, as well as the contents that powers it.

Useful links

Analytics tracked with Umami.

Web mentions(or rss) tracked with webmention.io.

Stack

Conventions

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.

Commands

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

Helpers: creating content

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