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

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

支持:

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

使用说明:

下载

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

修改配置文件

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

<?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://
    ]
];

运行

php index.php //命令行

说明

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

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;
}

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

java笔记1 上一篇
在deepin下安装shadowsocks-qt5 下一篇