一键迁移typecho到hexo

注:本文已发布超过一年,请注意您所使用工具的相关版本是否适用

为了更好的写博客,最近打算把博客静态化,发现了 node 写的 hexo。顺便也可以直接利用 github 和 coding 的 pages 来搭建博客同时把之前闲置的未备案域名lailin.xyz利用起来.

写了一个 php 的 typecho 一键转换的小程序:github

支持:

  • 文档一键转存为 md 文件
  • 字符编码转换(gbk=>utf8)
  • 图片/附件一键转存到本地
  • 图片/附件一键转存到七牛云

使用说明:

下载

1
2
git clone https://github.com/mohuishou/typecho2hexo.git
composer install

修改配置文件

复制 config.example.php 并重命名为 config.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
return [
"db"=>[
"host"=>"localhost", //数据库地址
"port"=>3306, //端口号
"name"=>"typecho", //数据库
"user"=>"root", //数据库用户名
"password"=>"", //数据库密码
"prefix"=>"typecho" //表前缀
],
"is_gbk"=>false, //是否开启gbk转utf8(有些数据库里面储存的不是utf8格式需要开启这个选项)
//附件相关
"attachment"=>[
"is_download"=>true, //是否下载附件
"type"=>"file" //附件保存类型:file 或者 qiniu
],
//七牛云储存相关
"qiniu"=>[
"access_key"=>"",
"secret_key"=>"",
"bucket_name"=>"blog", //七牛空间名
"domain"=>"http://" //七牛外链域名,必须设置,带http://
]
];

运行

1
php index.php //命令行

说明

1.如果出现上传错误,附件下载使用 curl,下载时间最长为 60s,如果有比较大的文件或者是网路环境不好,请手动更改一下 Lib/Attachment.php,当中的文件最长下载时间

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
protected function download($url,$filename,$dir){
$path=$dir."/".$filename;
$ch=curl_init();
$timeout=60; //文件最长下载时间
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$res=curl_exec($ch);
curl_close($ch);
//检查文件夹是否存在
if(!file_exists($dir)) mkdir($dir);
file_put_contents($path,$res);
return $path;
}

关注我获取更新

wechat
知乎
github

猜你喜欢


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议,转载请注明出处,禁止全文转载