Songqian Li's Blog

去历史上留点故事

前提

阅读本文之前,需要已经正常搭建好 hexo 博客和语雀账号。
同时我们需要准备:

  1. 一个 GitHub 账号
  2. 一个腾讯云账号
  3. hexo 安装了 yuque-hexo 插件且能正常运行

实现思路:

利用语雀的webhook触发腾讯云云函数,云函数触发GitHub Action,Github Action 执行 hexo 的一系列命令从而实现自动同步。
具体步骤详见:https://yichen115.github.io/2020/07/16/gtb5ck/

注意

  1. 云函数是有免费额度的,正常使用不会超出。
  2. 日志服务是收费的,建议调试成功后删除日志资源。具体位置:点开具体函数后,在函数管理 > 函数配置日志配置下,有日志集日志主题,建议都删除掉。

2022 年 5 月 19 日更新:
腾讯云函数要收费了,故将云函数迁移到私人云服务器上,下面附上 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
25
26
27
28
29
30
31
32
<?php

function http_post_json($url, $jsonStr)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'User-Agent:curl/7.51.1',
'Accept:application/vnd.github.everest-preview+json',
'Authorization:token 填自己的',
'Content-Type: application/json;'
)
);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

return array($httpCode, $response);
}

$url = "https://api.github.com/repos/填自己的仓库";
$jsonStr = json_encode(array("event_type"=> "run-it"));
list($returnCode, $returnContent) = http_post_json($url, $jsonStr);

echo("ok");

?>


相关文章
评论
分享
  • Chrome自动将http切换为https

    原因 新版的 Chrome 已经默认实行强制 https 策略了,访问网页中 src 资源时中自动由 http 转为 https,但如果引用的资源无法通过 SSL 访问,Chrome 浏览器会阻断这个资源,就导致了多媒体播放失败,外...

    Chrome自动将http切换为https
  • Jetbrains快捷键

    代码整体向后缩进 选中多行代码 - 按下 Tab 代码整体向前缩进 选中多行代码 - 按下 Shift + Tab 查找下一条代码差异 F7 查找上一条代码差异 Shift + F7

    Jetbrains快捷键
  • 小知识

    Nginx 跨域(不安全,但快捷) 123add_header Access-Control-Allow-Origin *;add_header Access-Control-Allow-Headers X-Requested-Wi...

    小知识
  • iCloud同步新版Edge书签

    现在 edge 和 ICloud 同步已经原生支持,最新:win10 的 edge、Chrome 如何让书签与 Safari 双向同步? 注意手机需要在 iCloud 中打开同步 Safari 浏览器 旧方法: 打开注册表编辑器,定...

    iCloud同步新版Edge书签
  • FRP-windows客户端配置

    准备 frp 客户端文件,包括:frp 客户端,winsw 局域网内可远程连接的 Windows 计算机 开始 修改客户端配置 打开 frpc.ini 文件,将文件按照需求更改如下: 123456789101112131415...

    FRP-windows客户端配置
  • CentOS下安装Redis

    准备 CentOS Linux release 7.2 gcc 编译器 yum install gcc-c++ TCL yum install -y tcl redis 安装包 4.0.8 版本 安装 下载 redis 安装...

    CentOS下安装Redis
  • CentOS6下yum修复及python安装

    CentOS6 中自带的 yum 依赖的 python 版本是 2.6.6 版本,而 python core team 已不再提供支持,且 pip 至少要求 2.7 版本,因此系统上应该有 2.6,2.7 两个版本的 python 并...

    CentOS6下yum修复及python安装
  • AMD的CUDA--ROCm配置

    目前 ROCm 已支持 TensorFlow 和 Pytorch,无需自行编译: https://www.amd.com/en/technologies/infinity-hub/pytorch https://www.amd.com...

    AMD的CUDA--ROCm配置
  • 《操作系统真象还原》:第十章 输入输出系统

    上一章中我们遇到的字符混乱和 GP 异常问题,根本原因是由于临界区代码的资源竞争,这需要一些互斥的方法来保证操作的原子性。 10.1 同步机制——锁 10.1.1 排查 GP 异常,理解原子操作 多线程执行刷屏时光标值越界导致...

    《操作系统真象还原》:第十章 输入输出系统
  • 《操作系统真象还原》:第九章 线程

    线程和进程将分两部分实现,本章先讲解线程。 9.1 实现内核线程 9.1.1 执行流 在处理器数量不变的情况下,多任务操作系统采用多道程序设计的方式,使处理器在所有任务之间来回切换,这称为“伪并行”,由操作系统中的任务调度器决定当...

    《操作系统真象还原》:第九章 线程