|
|
||
|---|---|---|
| .forgejo/workflows | ||
| .git-hooks | ||
| e2e_tests | ||
| public | ||
| src | ||
| style | ||
| .envrc | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| deny.toml | ||
| flake.lock | ||
| flake.nix | ||
| justfile | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| rust-toolchain.toml | ||
| shell.nix | ||
| tailwind.config.js | ||
Portfolio Blog
My personal portfolio website and blogging platform.
The project is written in Rust and utilizes the Leptos framework together with Tailwind CSS. The available themes are from Catppuccin.
Development
Guidelines
- Commit messages follow the Conventional Commits style.
- Rust code is formatted with rustfmt using the default settings.
- Leptos macros are formatted with leptosfmt.
- All functions and components are documented with rustdoc.
Project structure
The repository contains a single leptos application in the src folder.
Additionally there are additional files used by leptos, such as static assets, in the style and public folder.
The e2e_tests folder contains end-to-end tests for the application.
The tests use cucumber-rs and fantoccini.
Building the project
- (Optional) Enter the nix development environment
nix develop - Install additional node dependencies
npm i @catppuccin/tailwindcss@1.0.0-beta.2 - Build the project
- Development mode:
just watch- Release mode:
just build-release
Running the tests
The tests can use either the geckodriver or chromedriver binary.
This can be set using the WEBDRIVER environment variable to either geckodriver or chromedriver.
By default the geckodriver binary is used.
- Start the leptos application
- Run
cargo runin thee2e_testsfolder
Note: When not using the nix environment, you need to install chromedriver and/or geckodriver respectively.