feat: Initialize Rust blog CMS project with Axum, Askama, SQLite, and DevContainer setup.

This commit is contained in:
2026-03-02 20:14:54 +00:00
commit 02709fbea1
9 changed files with 2238 additions and 0 deletions

10
.devcontainer/Dockerfile Normal file
View File

@@ -0,0 +1,10 @@
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/main/containers/rust/.devcontainer/base.Dockerfile
FROM mcr.microsoft.com/devcontainers/rust:1-1-bookworm
# [Optional] Uncomment this section to install additional packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>
# [Optional] Uncomment to install additional Cargo tools
# RUN cargo install <your-cargo-package-list-here>

View File

@@ -0,0 +1,46 @@
{
"name": "Rust Dev Environment",
"build": {
"dockerfile": "Dockerfile"
},
// Features to add to the dev container. More info: https://containers.dev/features.
"features": {
"ghcr.io/devcontainers/features/common-utils:1": {
"installZsh": true,
"configureZshOhMyZsh": true,
"upgradePackages": true,
"userExperienceCustomizations": true
},
"ghcr.io/devcontainers/features/git:1": "latest"
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [8000],
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "rustup component add rust-analyzer rustfmt clippy && cargo install cargo-watch cargo-edit cargo-expand cargo-audit cargo-nextest cargo-tarpaulin",
// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"rust-lang.rust-analyzer",
"tamasfe.even-better-toml",
"serayuzgur.crates",
"vadimcn.vscode-lldb",
"mutantdino.resourcemonitor",
"fill-labs.dependi"
],
"settings": {
"rust-analyzer.check.command": "clippy",
"rust-analyzer.cargo.buildScripts.enable": true,
"rust-analyzer.procMacro.enable": true,
"editor.formatOnSave": true,
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer"
}
}
}
},
// Use 'remoteUser' to connect as a non-root user. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode"
}