# axum-hello **Repository Path**: SnailCoder/axum-hello ## Basic Information - **Project Name**: axum-hello - **Description**: axum-hello 是一个以学习Rust为目的的Blog系统。该Blog系统没有复杂的设计,摒弃繁杂的配置,以Markdown文件为内容来源的系统,让部署更加简洁轻松,愉快地向他人传到自己的想法。 - **Primary Language**: Rust - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 1 - **Created**: 2024-04-30 - **Last Updated**: 2025-08-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: Web, blog, Rust, sqlx, axum ## README # axum-hello ### 介绍 使用axum 试着创建一个web app, 通过项目学习Rust, tokio, 这是个练习的项目。 ### 设计思想 最小化配置的,满足博客最基本对外浏览布的功能。 让用户拿到应用直接部署,立刻使用的博客。读取Markdown文件,程序保存Markdown信息到数据,Markdown文件在访问时,被解析成html文件,浏览器渲染html。 ### 使用的crate 后端框架:Axum 运行时:tokio 数据库:sqlx 日志:tklog 定时任务:job_scheduler 模板渲染:aksama, askama-axum 页面:html,css,js, VUE, Bootstrap, marked.umd.js 配置: config ### 解析Markdown 在前段解析Markdown文档,使用的lib为marked.umd.js ### 服务器端口 端口 3000, 写入到配置文件中application.toml ### 数据库 写入到配置文件中 ### 技术细节 模板默认是放在名为templates文件夹下,此文件夹下可以有子文件夹, 使用#[template(path="./me/index.html")]绑定实体struct和模板文件。 ### 日志 1. 这里是列表文本日志放在和主程序同级目录下,名字axum_hello.log。 ### 关于release cargo build --release 时并不会帮我们把我们需要的静态文件打包,需要我们自己再copy一份静态文件到统计目录下,比如我们的打包: - 我们cargo build --release 执行后生成了axum-hello 执行文件 - 我们上传这个执行文件到服务器中 - 我们还需要把asserts文件(包含此文件夹)一同上传到执行文件的同级目录下, asserts文件夹是程序中ServeDir::new指定了该名称。 ### 注意 - 文件名建议中文,假如是英文的话,如果路径中使用反斜杠那么名字可能被转移,例如\test.md, \t 就被当作换行符。 - 路径名为全路径名称, 要改