ZH

教程 8 — 游戏主页与发布

主页:site/

games/<id>/site/ 文件夹(一个 index.html 页面加上若干图片)会成为本站上该游戏的页面;如果你自己部署,它还会成为你域名的根页面(游戏则放在 play/ 下)。示例:Rainbow Islands、Sapiens。

  • 配色贴合游戏,使用游戏真实的图片:截图(bin/jumphp shot)、精灵图、图块;
  • 一个醒目的游戏链接:href="play/";
  • 搜索引擎优化:<title>、<meta name="description">、Open Graph(1200 × 630 的 og:image)、一个 <h1>、图片的 alt、VideoGame 结构化数据;
  • 绝对地址写成 https://{{DOMAIN}}/…:网站会把它们替换成真实地址;
  • 在手机上可读(宽 390 像素,没有横向滚动)。

用 bin/jumphp build:site <id> 然后 bin/jumphp siteshot <id> 来检查。

描述:所有语言

本站提供14种语言(fr en es de it pt nl pl ru uk tr ja zh ko):会按访客的语言显示游戏的描述。请在config/game.yaml中尽可能多地用这些语言来写(至少fr和en):

game:
  description: "打砖块游戏:3条命,每关都有新的墙。"
  descriptions:
    fr: "Un casse-briques : 3 vies, un nouveau mur à chaque niveau."
    en: "A brick breaker: 3 lives, a new wall every level."
    es: "Un rompeladrillos: 3 vidas, un muro nuevo en cada nivel."

如果没有访客语言的翻译,就显示项目的描述。

其他语言的游戏网站

site/index.html是游戏主要语言(即其<html lang>)的页面。每种翻译放在site/<代码>/index.html中(例如site/en/index.html):同一页面的译文,相对路径上移一层文件夹(../images/…,游戏在../play/)。在这里,如果有访客语言的页面,访客就会看到该语言的页面。每个页面都会列出所有语言(<link rel="alternate" hreflang="…">),并带有一个小的语言菜单;sitemap.xml为每种语言提供一个地址。你的Claude知道怎么做(JumPHP的AGENTS.md §13)。

游戏目录中的图片

assets/thumbnail.png(16:9)。否则网站会使用主页的 og:image 图片,再不行就用游戏图标,最后实在没有,就会在浏览器中给游戏本身拍一张照。

网站为每个游戏添加的功能

  • 安装:每个游戏都可以作为应用安装(手机和电脑均可),并带有它的图标(assets/icon.png);
  • 分享:手机上是系统的分享面板,电脑上则是社交网络;
  • 玩家的评分(1 到 5 星,无需账号)和游玩次数计数;
  • 源码和在线编辑器;
  • 版本(🕘):每一次修改了游戏的 commit。玩家始终玩的是最新发布的版本;旧版本可以重玩、在沙盒中接着改、恢复(作者本人:在自己的编辑器里点“推送到 GitHub”)或 Fork;
  • 玩家(无论是否有账号)提交的评论、点子箱和问题反馈。匿名留言只有经你审核后才会显示。网站顶部的铃铛 🔔 会统计你的游戏收到的新留言以及等待你审核的留言;它的页面(通知)会列出所有留言,并提供 ✓ 通过、标记为已解决(针对问题)和删除按钮。

发布

每次推送到仓库主分支都会在一分钟内发布。在工作室中,项目页面会显示发布状态和错误信息,还可以把游戏从游戏目录中隐藏。