Typecho搭建时光相册,并部署到Vercel
关于时光相册
Time 主题作者介绍前端基于Multiverse,由wclk迁移到typecho,2021年开始不再维护更新,2022年HEO称继续维护TimePlus 主题。
考虑到Time主题需要依靠typecho,而作为白嫖党,数据库就依赖于服务器,可以免费使用的异地的数据库将导致加载中出现的高延迟。因此我也觉得这不是最完美的形态。
近期看到HEO大佬继续维护Time,Multiverse通过字段 主题,内容,链接即可生成页面,本源自于静态网页,可以和HEXO结合,将“字段 主题,内容,链接”填入page的md文档中,进而生成静态页面,一方面解决数据库的问题,二来md文档便于批量添加。
希望HEO可以早日做出Multiverse for Hexo。
部署时光相册
搭建Typecho
1 | { |
- 新建 /api/index.php
1 | <?php |
- 编辑 config.inc.php 中的数据库信息,你可以选择继续使用原有的数据库,但记得将权限从localhost改为%(即允许所有IP访问)。
如果你自己没有,db4free.net是一个免费的数据库平台,速度凑活,最好使用自己的。
1 | /** 定义数据库参数 */ |
Vercel部署
- 将编辑好的源码上传到Github仓库,注册Vercel,并使用Github登录
- 创建 Vercel 项目Project:Vercel-Typecho(该昵称可以不与 GitHub 仓库同名),一直点到Deploy。
Typecho踩坑
修改默认的后台ip/admin
在网站根目录找到config.inc.php,将下面的admin修改为你需要的地址,如back
1 | /** 后台路径(相对路径) */ |
同时将根目录的admin文件夹,改为back。完成
参考了博客
无法加载css,js
进入后台,设置-基本-站点地址,修改为当前的地址。
例如 http://photo.darler.cn
有端口号的还需要加上端口号,例如 http://photo.darler.cn:4480
这个问题同样也会出现在hexo主题中。
备份数据库
不要使用控制台的备份功能。进入myphpadmin,导出typecho数据库,sql格式的。
在新网站安装前,导入之前保存的sql数据库,在开始安装typecho
appnode部署SSL证书实现https
申请证书后下载到电脑,解压后只看nginx文件夹中的key和crt文件。
在appnode的网站设置中,找到nginx,基本-https-导入证书-粘贴代码。
密钥代码:用记事本打开.key文件,复制里面的内容粘贴进去。
证书代码:用记事本打开.crt文件,复制里面的内容粘贴进去。
保存配置-重新部署。
群晖DSM导入证书实现https
补充:因为我的网站是布置在家中的NAS,所以80端口被封,网站只能以 “域名:端口” 的地址形式,这时候就不要开启https了。
申请证书后下载,解压得到一个压缩包文件,解压其中Apache文件夹
这时候打开群晖网页端 控制面板—>安全性—>证书—>创建证书
导入证书,需要设为默认证书。要一一对应。
私钥 – 3_XXX.key
证书 – 2_XXX.crt
中间证书 – 1_XXX.crt
再回到控制面板—>网络—>DSM设置 勾选将http导向https,完成
参考了博客
Hi HEO, Time主题作者介绍,该主题改自Multiverse,源码https://html5up.net/multiverse ,为静态页面,可以通过字段 主题,内容,链接实现页面生成page,
但原版Multiverse似乎存在需要所有图片加载完才会出现页面的情况,无法实现懒加载,Time主题作者解决了加载上的问题。
但考虑到Time主题需要依靠typecho,而作为白嫖党,数据库就依赖于服务器,可以免费使用的异地的数据库将导致加载中出现的高延迟。因此我也觉得这不是最完美的形态。
非常高兴可以看到HEO大佬继续维护Time,就如前面所言,Multiverse通过字段 主题,内容,链接即可生成页面,本源自于静态网页,可以和HEXO结合,将“字段 主题,内容,链接”填入page的md文档中,进而生成静态页面,一方面解决数据库的问题,二来md文档便于批量添加。
不过time和hexo结合主题应该是需要修改一下前段的,不然会出现手机端双顶栏,或者pc段一顶栏一地栏的不美观。作为设计师我也更倾向保留原班的导航栏,看是否HEO大佬可以后续继续优化。