这是一个简约质朴风格的纯前端网站,用于介绍 arsvt3d 项目,提供代码预览、二进制文件下载和安装指导。
website/
├── index.html # 主HTML页面
├── style.css # CSS样式文件
├── script.js # JavaScript交互功能
├── binary_data.js # 二进制文件的base64编码数据
├── install.sh # curl安装脚本
├── generate_binary_data.sh # 生成二进制文件base64数据的脚本
└── README.md # 本文件
- 项目介绍: 详细介绍 arsvt3d 项目的功能、技术特点和游戏玩法
- 实现思路: 解释光线投射技术、模块化设计、字符画渲染和迷宫生成算法
- 游戏截图: 展示实际游戏界面和效果
- 在线预览: 内置WebAssembly/iframe演示,直接在浏览器中体验游戏
- 源代码预览: 支持在线浏览所有源代码文件,带语法高亮
- 二进制文件下载: 提供各平台预编译二进制文件的直接下载
- 多种安装方式: 提供 Cargo、NPM、直接下载和 curl 脚本四种安装方式
- 平台检测: 自动检测用户平台并推荐对应的二进制文件
- 响应式设计: 适配桌面和移动设备
这个网站是一个纯前端项目,可以部署到任何静态文件托管服务:
-
GitHub Pages
# 将website文件夹推送到GitHub仓库 # 在仓库设置中启用GitHub Pages # 选择main分支作为源
-
Netlify
# 将website文件夹拖拽到Netlify部署界面 # 或者使用Netlify CLI npm install -g netlify-cli netlify deploy --prod --dir=website
-
Vercel
# 安装Vercel CLI npm i -g vercel cd website vercel --prod
-
任何静态文件服务器
# 使用Python cd website python -m http.server 8000 # 或使用Node.js npx serve website
如果需要更新二进制文件:
- 确保 arsvt3d 项目中有编译好的二进制文件
- 运行二进制文件生成脚本:
cd website ./generate_binary_data.sh - 这会更新
binary_data.js文件,包含最新的二进制文件base64编码
网站集成了实际游戏截图展示:
- 真实截图展示: 使用从gitee仓库下载的实际游戏截图
- 图文并茂: 每张截图都有详细的说明文字
- 响应式画廊: 使用网格布局展示截图,适配不同屏幕
- 查看详情: 点击可以查看完整的图片画廊页面
- 预加载优化: 图片使用懒加载技术,提升页面性能
网站集成了完整的在线演示功能:
- 嵌入式预览: 使用iframe嵌入在线demo页面
- 全屏模式: 支持全屏游戏体验
- 新窗口打开: 可在新窗口中打开独立游戏页面
- 加载指示: 提供加载状态和错误处理
- 键盘快捷键: 支持F键快速进入全屏模式
在线演示地址:https://arsvt3d.netlify.app/
为了实现纯前端下载,二进制文件被转换为base64格式存储在JavaScript文件中。这种方法的优缺点:
优点:
- 完全纯前端,无需服务器
- 可以离线使用
- 部署简单
缺点:
- 文件体积增大约33%(base64开销)
- 更新二进制文件需要重新生成网站
- 对于大文件可能影响加载速度
使用 highlight.js 库实现Rust代码的语法高亮,提升代码阅读体验。
使用CSS Grid和Flexbox实现响应式布局,适配不同屏幕尺寸:
- 桌面端:多列布局,完整功能展示
- 移动端:单列布局,紧凑功能排布
要为新平台添加二进制文件支持:
- 在
generate_binary_data.sh中添加新平台的处理逻辑 - 在
index.html的平台选择器中添加新选项 - 在
script.js中添加新平台的文件名处理逻辑
网站使用简约质朴的设计风格,主要特点:
- 使用等宽字体(Courier New)
- 温暖的背景色 (#FAF8F3)
- 简约的按钮和卡片设计
- 适度的阴影和边框
可以通过修改 style.css 中的CSS变量来调整整体风格:
:root {
--primary-color: #333; /* 主文字颜色 */
--accent-color: #8B4513; /* 强调色 */
--background-color: #FAF8F3; /* 背景色 */
/* 更多变量... */
}可以考虑添加的功能:
- 在线游戏演示: 使用WebAssembly在浏览器中运行实际游戏
- 更多下载选项: 添加包管理器支持(如Homebrew、APT等)
- 用户统计: 访问量、下载量统计
- 多语言支持: 国际化支持
- 贡献指南: 添加如何参与项目开发的指南
- base64大小限制: 对于非常大的二进制文件,base64编码可能导致性能问题
- 浏览器兼容性: 现代浏览器都支持本网站使用的功能
- HTTPS要求: 在HTTPS环境下,某些下载功能可能工作得更好
这个网站遵循与 arsvt3d 项目相同的 Apache-2.0 许可证。