My personal portfolio website and blogging platform.
Find a file
fmuehlis e2fc4a613a
All checks were successful
/ check-and-build (push) Successful in 21m56s
ci: cache development shell
2025-09-19 13:42:41 +02:00
.forgejo/workflows ci: fix upload image path 2025-07-27 00:33:15 +02:00
.git-hooks refactor(flake): add new nix flake using crane, proper CI and commit hooks 2025-06-30 23:11:35 +02:00
e2e_tests feat: add home content 2025-09-19 12:30:25 +02:00
public feat: add home content 2025-09-19 12:30:25 +02:00
src feat: add home content 2025-09-19 12:30:25 +02:00
style feat: add home content 2025-09-19 12:30:25 +02:00
.envrc ci: cache development shell 2025-09-19 13:42:41 +02:00
.gitignore build: add Cargo.lock to repo 2025-06-23 12:34:28 +02:00
Cargo.lock feat: add home content 2025-09-19 12:30:25 +02:00
Cargo.toml feat: add end2end tests working with nix checks 2025-07-27 00:20:07 +02:00
deny.toml feat: add home content 2025-09-19 12:30:25 +02:00
flake.lock feat: add home content 2025-09-19 12:30:25 +02:00
flake.nix ci: attempt to fix issues with chromedriver and user-dirs 2025-07-27 20:07:46 +02:00
justfile ci: attempt to fix issues with chromedriver and user-dirs 2025-07-27 20:07:46 +02:00
LICENSE Initial commit 2025-06-22 13:42:41 +02:00
package-lock.json feat: add tailwindcss for styling 2025-06-22 14:05:33 +02:00
package.json feat: add tailwindcss for styling 2025-06-22 14:05:33 +02:00
README.md docs: improve README.md structure and add steps to run end2end tests 2025-07-27 21:10:16 +02:00
rust-toolchain.toml refactor(flake): add new nix flake using crane, proper CI and commit hooks 2025-06-30 23:11:35 +02:00
shell.nix refactor(flake): add new nix flake using crane, proper CI and commit hooks 2025-06-30 23:11:35 +02:00
tailwind.config.js feat: add tailwindcss for styling 2025-06-22 14:05:33 +02:00

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

  1. (Optional) Enter the nix development environment
    nix develop
    
  2. Install additional node dependencies
    npm i @catppuccin/tailwindcss@1.0.0-beta.2
    
  3. 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.

  1. Start the leptos application
  2. Run cargo run in the e2e_tests folder

Note: When not using the nix environment, you need to install chromedriver and/or geckodriver respectively.