分站内容可能或出现渲染错误或内容过时等问题,请以主站为准!

本插件已实现以下功能:

  • 在线新建,编辑,删除post和page(默认路径)
  • hexo clean,hexo server,hexo deploy
  • 源码同步

需求

  • Node.js >= 10.0
  • Hexo 4.X(只测试了4.X)
  • Git
  • mac系统close server功能无法使用(我没有mac设备,无法测试)

准备工作

  • 源码托管到Git仓库(建议使用私人仓库, 只在本地使用可无视)
  • 配置好git, 确认可以使用以下默认命令进行同步:
    • git pull
    • git add --all .
    • git commit -m "..."
    • git push

使用

安装

npm install hexo-online-server

配置

  1. 新建config.json文件, 内容如下(注释删掉):
    {
        "indexPath":"/",// 自定义主页路径, 以"/"结尾
        "port": 4001,// http监听端口
        "wsPort": 4002,//websocke监听端口
        "secret":"",//用来签名session ID cookie,https://www.npmjs.com/package/express-session#secret
        "user":"",//登录用户名
        "passwordHash": "",//密码加密后的字符串
        "autoSave": 300000,//编辑文章时自动保存时间, 单位:ms, 0为不自动保存
        "noticeUrl":"",//当有用户登录时向`此链接+message`发送get请求,留空则不通知
        "pull":["git pull"],//从git同步命令
        "push":["git add --all .","git commit -m 'Update at {time}'","git push"],//同步到git命令
        "ssl":false,//是否启用SSL
        "private":{//启用ssl需配置此项
            "key":"",//SSL证书key路径
            "crt":""//SSL证书路径
        }
    }
    
    注意把后面的注释删掉!
  2. config.json文件保存到你的博客目录以外的地方, 在_config.yml中添加:
    onlineConfigPath: '../config.json' #`config.json`文件路径
    
  3. 使用以下命令获取加密密码, 将得到的passwordHash添加到config.json文件:
    > hexo bcrypt 你的密码
    
  4. 运行hexo online, 浏览器打开http://localhost:4001/

常见问题

源码同步

  • 如果你只在本地或只在服务器使用,可以选择不进行同步,
  • 如果你本地和服务器都使用,每次编辑前请从git同步,编辑完成后同步到git

部署

如果你使用的自动部署,直接将源码同步到git仓库即可,不用hexo deploy

LICENSE

MIT

评论