githubPages能够托管静态网页, 本站之前就是托管在github上的. github部署有两种方式:
第一种是以仓库项目页的形式

得到的网站会以 username.github.io/reponame/, 能直接从index.html进入, 现在还可以不以仓库根目录作为站点文件, 可以选择/docs 从而使项目展示页面和项目代码隔开.

第二种是 创建以 username.github.io 为仓库名的仓库, 这种做法好处是可以直接通过 username.github.io 访问, 但又很大的弊端. 通过这种方式我们只能创建这一个githubPages, 如果再创建其他的会显示

因为指定了username.github.io这个仓库作为githubPages的根目录, 我们部署在其他项目页的githubpage得到的路径都是username.github.io开头的, 这就会出错, 因为会往username.github.io这个仓库下查找目录而不能是其他仓库. 本站一开始用的就是username.github.io作为仓库名, 之后我想再用githubPages部署其他仓库的页面发现失败了, 网上搜也没有什么相关的回答. 意识到了可能是这个问题, 把仓库名重新改一下就行了.
但这样又有一个问题, 如果添加了域名的话. 原本使用CNAME解析将一个购买域名映射到usernam.github.io, 而我们仓库名变了之后, 得到的url是带目录的username.github.io/reponame.
解决方案就是用vercel, 使用对应仓库创建vercel的project, 这样我们的项目就会缓存在vercel服务器上, 并且自动分配一个域名, 比如s1acr-github-io.vercel.app.

点击domain, 设置域名, 进去添加解析, No redirect添加的是vercel给的域名的别名, 选redirect是将该域名重定向到别的域名, 根据自己需要配置.


这样就能用自己的域名访问了, 对于其他的仓库我们也可以同样的配置域名, 添加二级三级域名等子域名也是可以的, 比如a.b.c.slacr.size
这里其实就几乎没有用到githubPages了, 如果直接从我们设置的域名进入, 访问的不是username.github.io下的资源, 而是vercel的缓存资源, 速度还更快.
但如果启用githubPages并填写了域名也没什么关系, 仓库页会多一个githubPages的环境, 如果通过username.github.io/reponame访问, 会重定向到设置的域名, 这也是唯一的作用, 然后访问的还是vercel服务器.

其实username.github.io这个能作为仓库名并能直接变相的通过仓库名访问, 就是github留下的彩蛋或者说特殊功能. 相似的还有 可以创建一个以username为仓库名的仓库, 其中的 README.md 可以成为个人主页信息

