关于时光相册

Time 主题作者介绍前端基于Multiverse,由wclk迁移到typecho,2021年开始不再维护更新,2022年HEO称继续维护TimePlus 主题。

TimePlus

考虑到Time主题需要依靠typecho,而作为白嫖党,数据库就依赖于服务器,可以免费使用的异地的数据库将导致加载中出现的高延迟。因此我也觉得这不是最完美的形态。

我自己曾尝试将其静态化,项目地址 。前往查看演示网站

近期看到HEO大佬继续维护Time,Multiverse通过字段 主题,内容,链接即可生成页面,本源自于静态网页,可以和HEXO结合,将“字段 主题,内容,链接”填入page的md文档中,进而生成静态页面,一方面解决数据库的问题,二来md文档便于批量添加。
希望HEO可以早日做出Multiverse for Hexo。

部署时光相册

搭建Typecho

  1. 先正常部署Typecho,下载Time主题 ,必须升级到最新的Typecho 1.2.0,确保可以正常打开。

  2. 在根目录新建 vercel.json

1
2
3
4
5
6
7
8
{
"functions": {
"api/index.php": {
"runtime": "vercel-php@0.5.2"
}
},
"routes": [{ "src": "/(.*)", "dest": "/api/index.php" }]
}
  1. 新建 /api/index.php
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$file= __DIR__ . '/..'.$_SERVER["PHP_SELF"];

if(file_exists($file))
{
return false;
}
else
{
require_once __DIR__ . '/../index.php';
}
#echo $_SERVER["PHP_SELF"];
  1. 编辑 config.inc.php 中的数据库信息,你可以选择继续使用原有的数据库,但记得将权限从localhost改为%(即允许所有IP访问)。

如果你自己没有,db4free.net是一个免费的数据库平台,速度凑活,最好使用自己的。

1
2
3
4
5
6
7
8
9
10
11
/** 定义数据库参数 */
$db = new Typecho_Db('Pdo_Mysql', 'typecho_');
$db->addServer(array (
'host' => 'db4free.net',
'user' => 'root',
'password' => 'password',
'charset' => 'utf8',
'port' => '3306',
'database' => 'name_of_database',
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

Vercel部署

  1. 将编辑好的源码上传到Github仓库,注册Vercel,并使用Github登录
  2. 创建 Vercel 项目Project:Vercel-Typecho(该昵称可以不与 GitHub 仓库同名),一直点到Deploy。
    Time

Typecho踩坑

修改默认的后台ip/admin

在网站根目录找到config.inc.php,将下面的admin修改为你需要的地址,如back

1
2
/** 后台路径(相对路径) */
define('__TYPECHO_ADMIN_DIR__', '/admin/');

同时将根目录的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大佬可以后续继续优化。