每一个优秀的开发者,手里都有几款引以为傲的开源作品:自己手搓的 CLI 命令行工具、一个小巧的桌面客户端、或一套轻量的 Web 服务。
如果仅仅在博客里丢一个 GitHub 仓库链接,往往只能收获一句「大佬牛逼」然后被读者默默关掉。没有直观的 Logo、特征截图和一键安装命令,别人很难一两眼看懂这软件到底是干嘛的。
RustPress 专门提供了「项目展示模型(Projects)」。以类似 App Store / 软件官方主页的版式,呈现你的开源作品集,支持版本徽章、一键安装指令与多平台下载链接。
一、项目目录结构规范
每个项目在 source/projects/<项目英文目录名>/ 下以独立文件夹维护:
source/projects/
├── README.md # 项目展厅总览页
├── rustpress/ # 项目 1 目录
│ ├── README.md # 项目详情与元数据(核心)
│ └── assets/
│ ├── rustpress_logo.png
│ └── screenshot1.png
└── enyan/ # 项目 2 目录
├── README.md
└── assets/
二、项目 README.md 元数据与排版规范
在项目子目录下创建 README.md,标准 Frontmatter 如下:
---
title: "RustPress - 纯静态博客引擎"
layout: project
version: "0.1.21"
description: "增量编译、倒分页、无后端的 Rust 纯静态博客系统。支持 Markdown 写作、主题定制与热重载。"
createTime: 2026-02-19 15:00:00
icon: "assets/rustpress_logo.png"
screenshots: []
downloads:
- platform: "Cargo 一键安装"
url: "https://crates.io/crates/rustpress"
icon: "link"
size: "cargo install rustpress"
- platform: "源码仓库 (GitHub)"
url: "https://github.com/rixingyike/rustpress"
icon: "github"
size: "Star / Fork"
tags: ["rust", "blog", "static-site", "ssg", "开源"]
comments: false
toc: true
---
## 功能特性
- ⚡ **毫秒级增量编译**:仅编译变更文件,响应迅速;
- 🔄 **独创倒分页算法**:历史分页内容与 URL 永久固化,SEO 友好;
- 🎨 **现代主题体系**:基于 Tera + Tailwind CSS,极速热重载;
- 🔍 **客户端全文检索**:内置 Lunr.js,无需任何后端服务器。
## 快速开始
```bash
cargo install rustpress
rustpress new my-blog
cd my-blog && rustpress serve
开源协议
MIT License
### 属性字段速查清单
- **`title`**(`String` · 必填)
- 项目名称。
- **`layout`**(`String` · 必填)
- 固定指定为 `project`。
- **`version`**(`String` · 可选)
- 当前软件版本号(如 `0.1.21`),在页面顶部以徽章展示。
- **`icon`**(`String` · 可选)
- 项目 Logo 图标路径。
- **`downloads`**(`Array` · 可选)
- 多平台下载渠道/安装命令数组,支持配置按钮文本与指令。
- **`tags`**(`Array` · 可选)
- 技术栈标签(如 `["Rust", "WebAssembly"]`)。
- **`screenshots`**(`Array` · 可选)
- 软件截图展示数组。
---
## 三、前端展示效果
- **项目总览展厅(`/p/`)**:网格式展示所有开源项目卡片,显示 Logo、项目名、版本号与简要介绍;
- **项目独立发布页(`/p/rustpress.html`)**:顶部展示醒目的软件头部与一键下载/安装按钮组,正文展示架构图谱、安装教程与特性文档。
独立项目页以产品化视角呈现特性、架构与跨平台安装指南,大幅降低了用户的上手门槛;但为每一个零碎的小脚本都维护一套项目文档会带来不必要的维护负担。因此,只有具备独立产品属性、稳定版本迭代与对外服务能力的项目,才入驻 `/p/` 展厅;探索性的小脚本与代码片段直接存于 GitHub 代码仓库(gist.github.com)或直接贴在文章里即可。
下一篇,我们来看如何定制「作者简介(About)」,打造立体的个人数字名片。