Personal Website Version 4
  • Rust 29.9%
  • Jinja 27.4%
  • Dockerfile 26%
  • CSS 16.2%
  • Shell 0.5%
Find a file
Blair Hines 00447906fd
All checks were successful
Deploy / deploy (push) Successful in 47s
Merge pull request 'fix: Fix spelling and some formatting' (#2) from fix-spelling into main
Reviewed-on: #2
2026-06-24 15:44:10 +00:00
.forgejo/workflows fix: Fix missing udeps in ci 2026-06-24 00:00:19 -04:00
.zed Initial commit 2026-06-07 21:43:28 +00:00
public fix: Fix spelling and some formatting 2026-06-24 11:42:01 -04:00
scripts@aecbb3b8b8 fix: Fix submodules 2026-06-07 17:47:32 -04:00
src fix: Fix spelling and some formatting 2026-06-24 11:42:01 -04:00
templates feat: Finish styling 2026-06-23 23:49:49 -04:00
.env.dev Initial commit 2026-06-07 21:43:28 +00:00
.env.prod Initial commit 2026-06-07 21:43:28 +00:00
.gitignore Initial commit 2026-06-07 21:43:28 +00:00
.gitmodules fix: Fix submodules 2026-06-07 17:47:32 -04:00
.prettierrc Initial commit 2026-06-07 21:43:28 +00:00
cargo-generate.toml Initial commit 2026-06-07 21:43:28 +00:00
Cargo.lock feat: Add markdown thing w basic info 2026-06-23 22:39:37 -04:00
Cargo.toml feat: Add markdown thing w basic info 2026-06-23 22:39:37 -04:00
docker-compose.yml Initial commit 2026-06-07 21:43:28 +00:00
Dockerfile Initial commit 2026-06-07 21:43:28 +00:00
LICENSE Initial commit 2026-06-07 21:43:28 +00:00
README.md Initial commit 2026-06-07 21:43:28 +00:00
rustfmt.toml Initial commit 2026-06-07 21:43:28 +00:00
watch.sh feat: Add markdown thing w basic info 2026-06-23 22:39:37 -04:00

Askama + Axum + HTMX Starter Template

A production-ready template for building websites with Askama, Axum, and HTMX.

Features

  • Askama - Type-safe, compiled Jinja-like templates
  • Axum - Modern, fast Rust web framework
  • HTMX - Dynamic HTML without JavaScript frameworks
  • TLS/HTTPS - Built-in support with axum-server and Let's Encrypt certs
  • Forgejo CI - CI workflows for clippy, tests, formatting
  • Zed Editor config - Formatter integrations for TOML, HTML, CSS, YAML, JSON, Docker

Quick Start with cargo-generate

cargo generate --git ssh://git@git.ohcooltools.dev/Ohcool-Media/askama-template.git

This will create a new project from the template. Follow the prompts to name your project.

Manual Setup

  1. Clone this repository
  2. Rename the project in Cargo.toml

Development

Run the server (HTTPS on 2040):

cargo run

Project Structure

.
├── Cargo.toml
├── cargo-generate.toml       # cargo-generate config
├── rustfmt.toml              # Rust formatting config
├── .prettierrc               # Prettier config for templates
├── .gitignore
├── .forgejo/
│   └── workflows/            # CI workflows
├── .zed/
│   └── settings.json         # Zed editor config
├── scripts/                  # Formatting/utility scripts
├── public/
│   └── style.css             # Your stylesheets
├── src/
│   └── main.rs               # Server entry point
└── templates/
    ├── base.html             # Base layout
    ├── header.html           # Site header (included)
    ├── footer.html           # Site footer (included)
    ├── index.html            # Home page
    └── about.html            # About page

Deploying

  1. Run the binary or use Docker

Customization

  • Add templates in templates/
  • Add Askama template structs in src/main.rs
  • Add routes with Router::new().route(...)
  • Add static assets in public/

License

MIT