【2】emlog&obsidan同步
因为我一开始是使用的hexo来做博客,但是编写文章一直都是使用obsidian来进行编写的,然后通过obsidian的git推送到云端,触发云端git仓库的钩子,将obsidian的文档同步到对应的文件夹,并重新进行编译。详情可以查看我的博客文章:obsidian和hexo设置
本次将博客迁移到emlog,主要是emlog比较轻量,另外一个是有一个我比较喜欢的主题。因此参考原有的obsidian和hexo的同步,参考emlog的开发文档,重新开发了一个简单的python同步程序。
1 云端部署
1.1 git部署
首先你要有一台云端的服务器,新建git,并且和你的博客最好是同一个服务器,新建用户。
# 添加一个git用户并生成目录
sudo useradd -m git
# 输入密码
sudo passwd git
su git
mkdir ~/.ssh && chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys
上面创建的git用户可以通过ssh连接,进行任何操作。为了安全性,我们需要将git用户的活动限制在与Git相关的范围,也就是把git用户的shell改成 git-shell
sudo chsh git -s $(which git-shell)
创建blog 对应的git仓库,可以在 /var/repo下,创建一个空的blog.git仓库,地址请灵活替换。
mkdir /var/repo
cd /var/repo
git init --bare blog.git
配置git-hooks,这是git的钩子函数,当git push同步以后,会执行对应的脚本
vim /var/repo/blog.git/hooks/post-receive
添加如下代码,意思是将blog.git仓库里代码/文档复制到/var/www/emlog/data下
#!/bin/bash
git --work-tree=/var/www/emlog/data --git-dir=/var/repo/blog.git checkout -f
然后将post_receive设置成可执行。
chmod +x /var/repo/blog.git/hooks/post-receive
此时,当有代码进行git push提交的时候,会将代码仓所有的文本都复制到/var/www/emlog。
如果有目录权限问题,请注意修改权限,不懂就问deepseek。
1.2 emlog_sync
复制我的github代码在服务器上,执行以下程序:
# 进入对应的文件夹
cd /home/ubuntu # 改为你的文件夹
git clone https://github.com/apostle9891/emlog_sync.git
cd /home/ubuntu/emlog_sync
根据github的内容执行如下程序:
# 本程序安装python,如未安装请安装python3
pip install -r requirements.txt
编辑 config.yaml,填写你的 Emlog 配置
emlog:
base_url: "https://yourdomain.com" # 你的博客地址
api_key: "your_api_key_here" # Emlog API Key
author_uid: 1 # 作者 ID,上传使用
default_category_id: 1 # 默认分类 ID(无分类时使用)
git:
work_tree: "/var/www/hexo/data" # Git 工作目录,会自动扫描工作目录下的所有.md文件
执行2次,第一次建立缓存,第二次进行同步,注意work_tree要配置正确,是1.1代码复制出来的地址
python3 sync.py
1.3 git自动提交
如需要git自动提交,修改1.1的hooks/post-receive,增加对应的执行:
#!/bin/bash
git --work-tree=/var/www/emlog/data --git-dir=/var/repo/blog.git checkout -f
cd /home/ubuntu/emlog_sync;python3 sync.py
2 obsidian文档
2.1 templater插件
每个obsidian可以使用templater插件,设置对应的模板,模板的front matter:
---
title: 文章标题
date: 2025-10-25 12:00
tags:
- 标签1
- 标签2
categories:
- 分类名称
cover: /images/cover.png
published: "true"
sticky: "0"
comments: true
alias: xxx
---
文章正文内容...
字段说明:
| 字段 | 说明 | 默认值 |
|---|---|---|
title |
文章标题 | 必填 |
date |
发布时间 | 当前时间 |
tags |
标签(列表) | 无 |
categories |
分类(取最后一个) | 默认分类 |
cover |
封面图 | 无 |
published |
是否发布(true/false) | true |
sticky |
是否置顶(0/1) | 0 |
comments |
是否允许评论 | true |
alias |
文章别名,url固定 | 无 |
2.2 git插件
下载git插件,在右下角可以提交、push

3 代码修改
因为文章同步的插件原理是git同步->服务端执行对应同步程序,程序是基于emlog的API文档调用的API接口,但是在过程中发现有几个问题,所以对源代码进行了修复。
详情可见:emlog代码和主题修复
本文发布于2025年10月31日12:04,已经过了58天,若内容或图片失效,请留言反馈 -
obsidian修改字体间距
背景 我的方案是使用云盘进行obsidian的文件同步的,各端都使用云盘进行数据的同步。最近刚买了macmini,配置在obsidian同步的时候,macos不知道为什么".obsidian"隐藏文件...
2024/11/18
-
优必选小方头刷小智机器人
1. 背景 最近在调研看智能萌宠机器人,正好看到网上有人买了优必选的小方头机器来刷目前的小智,所以买来试试。小方头机器人在2019年9月20日发布,售价1099元,现在咸鱼100块钱就能买到;小智机器...
2025/03/27
-
【2】emlog&obsidan同步
因为我一开始是使用的hexo来做博客,但是编写文章一直都是使用obsidian来进行编写的,然后通过obsidian的git推送到云端,触发云端git仓库的钩子,将obsidian的文档同步到对应的文...
2025/10/31
-
【5】emlog增加微信、抖音
1. 添加个人信息 更新最新的github代码,因为数据库里没有微信等信息,需要更新数据库信息。 bash 登录 sudo mysql -u root -p 查看数据库 SHOW DATABASES;...
2025/11/01
求索空间
apostle9891
360视觉云
360智慧生活
gitea
导航
hoppscotch
暂无评论