Knight000's Blog

随缘写写,不定时更新

0%

GithubAction的创建

仓库内点击Actions,然后点击New workflow,里面有很多已经写好的,如果点击set up a workflow yourself的话,在右侧有Marketplace,可以直接搜索并添加别人的actions

另一种方法是在仓库的根目录/.github/workflows/内创建一个yml,里面写入action内容。

自动同步fork

正在使用的Workflow

虽然Github自带一个Sync Fork的按钮,但是每次都自己点总是麻烦的,所以有人搞了个Github Action来做这件事,https://github.com/tgymnich/fork-sync

创建新的workflow后输入里面的内容,以trackerlist为例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
name: Sync Fork

on:
push: # push 时触发, 主要是为了测试配置有没有问题
schedule:
- cron: '* */24 * * *' # 每天一次
jobs:
repo-sync:
runs-on: ubuntu-latest
steps:
- uses: tgymnich/[email protected]
with:
token: ${{ secrets.TOKEN }} #Github Token,记得加入secrets
owner: ngosang # fork 的上游仓库 user
head: master # fork 的上游仓库 branch
base: master # 本地仓库 branch

settings/secrets(Secrets and variables)/actions里把Github的Token设置上,比如workflow写的是secrets.TOKEN,所以添加的时候Name填写TOKEN,Secret里填写Token内容

注意Token创建的时候要选择持续时间,然后权限要开启repoworkflow的权限

如果部署完成之后,运行显示错误是

repo-sync
Failed to create or merge pull request: HttpError: Validation Failed: {“resource”:”PullRequest”,”code”:”custom”,”message”:”No commits between knight000:master and ngosang:master”}

就证明初步成功了,因为你部署了workflow所以比原仓库新,等原仓库更新后点Re-run jobs就可以测试是否正确部署了。

自动提交修改到Gitee

以下action文件来自https://juejin.cn/post/6894928345830522887

把GITEE_PRIVATE_KEY、GITEE_TOKEN、GITEE_USER都添加到secrets里,然后Gitee内从URL导入仓库,创建同名仓库即可同步。

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
33
34
# 通过 Github actions, 在 Github 仓库的每一次 commit 后自动同步到 Gitee 上
name: sync2gitee
on:
push:
branches:
- master
jobs:
repo-sync:
env:
dst_key: ${{ secrets.GITEE_PRIVATE_KEY }}
dst_token: ${{ secrets.GITEE_TOKEN }}
gitee_user: ${{ secrets.GITEE_USER }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false

- name: sync github -> gitee
uses: Yikun/hub-mirror-action@master
if: env.dst_key && env.dst_token && env.gitee_user
with:
# 必选,需要同步的 Github 用户(源)
src: 'github/${{ github.repository_owner }}'
# 必选,需要同步到的 Gitee 用户(目的)
dst: 'gitee/${{ secrets.GITEE_USER }}'
# 必选,Gitee公钥对应的私钥,https://gitee.com/profile/sshkeys
dst_key: ${{ secrets.GITEE_PRIVATE_KEY }}
# 必选,Gitee对应的用于创建仓库的token,https://gitee.com/profile/personal_access_tokens
dst_token: ${{ secrets.GITEE_TOKEN }}
# 如果是组织,指定组织即可,默认为用户 user
# account_type: org
# 直接取当前项目的仓库名
static_list: ${{ github.event.repository.name }}

因为有if: env.dst_key && env.dst_token && env.gitee_user这一句所以信息不足的情况下是会跳过执行,显示执行成功而不是显示错误,请注意。

一切的开头

折腾了我这么多个小时…其实真的只是想试试Linux的编译安装…真的…折腾完后就把这些总结成这几个脚本

阅读全文 »

总结

在脚本中定义函数function abc(){ alert("helloWorld"); },注入onclick事件<a id="a" onclick="abc();">HelloWorld</a>。 爆出函数未定义的错误Function is not defined。 在mozillazine了解到Tampermonkey的js脚本是在sandbox中的,在html中访问不到。 使用下面的例子可以完成这个功能

1
2
3
4
unsafeWindow.abc = function(msg) {
alert(msg);
};
document.getElementById("a").onclick = "window.abc('helloWorld')";

转自Github

总之就是如果要在页面插入一个按钮,要用到onclick事件触发的话,需要用windows来把函数注入进去,windows.后面跟的是你需要调用的函数名称,然后onclick再通过这个名称来调用它。

阅读全文 »

一切的开始

为什么会写下这篇blog呢?才不是因为好久没写blog想写点什么呢

因为我想给我的Nginx小工具加点功能,至于为什么要用到证书呢…这个就不深入说了。

阅读全文 »

欧拉计划中文翻译站:https://pe-cn.github.io/
欧拉计划原站:https://projecteuler.net/
这里引用一下网站上的介绍:

欧拉计划是一系列有挑战性的数学与计算机编程题;要解开它们,需要的不止是数学知识:尽管数学能够帮助你找到一些优雅而有效的方法,大多数题目仍需要借助计算机和编程技巧来完成解答。
创立欧拉计划的初衷,以及不断维持其运行的动力,在于为好奇的头脑提供一个平台,使他们能够在有趣愉悦的氛围中,探索未知领域,学习新的知识。

总而言之,就是一些有趣的数学与编程题目,感谢@Toyomu告诉了我这个网站。

阅读全文 »

拥有一个GITHUB账号和仓库

如果你已经有了请跳过这一步骤

注册github

首先,进入https://github.com/,你会看到以下的界面
Github注册界面
Username:是你账号显示的名称,也是别人搜索你的时候的名字,建立博客时也要用到,建议起一个简单好记的名字
Email:可以用来登录之类的东西,不用解释了吧。
Password:…记得设置的别太简单了,当然也不要把它忘了。
填写好了之后,点击下面的Sign up for Github,然后按照提示去做,你就拥有你的Github账户了。

阅读全文 »