自定义github pages域名
以下是使用 Node.js 和 octokit/rest.js 库来自动化 GitHub Pages 自定义域名的示例代码:
const { Octokit } = require('@octokit/rest')
// 创建一个新的 Octokit 实例并设置访问令牌
const octokit = new Octokit({
auth: 'YOUR_GITHUB_ACCESS_TOKEN' // 替换为你的 GitHub 访问令牌
})
// 自定义域名
const customDomain = 'www.example.com' // 替换为你的自定义域名
// 获取仓库的相关信息
const owner = 'your-username' // 替换为你的 GitHub 用户名
const repo = 'your-repo' // 替换为你的仓库名称
async function customizeGitHubPagesDomain() {
try {
// 创建或更新 `CNAME` 文件
await octokit.repos.createOrUpdateFileContents({
owner,
repo,
path: 'CNAME',
message: 'Add custom domain',
content: Buffer.from(customDomain).toString('base64')
})
// 配置自定义域名
await octokit.request('PATCH /repos/{owner}/{repo}', {
owner,
repo,
homepage: `https://${customDomain}`,
allow_merge_commit: false,
allow_squash_merge: false,
allow_rebase_merge: true
})
console.log(
`Custom domain '${customDomain}' has been set for GitHub Pages`
)
} catch (error) {
console.error(
'An error occurred while customizing GitHub Pages domain:',
error.message
)
}
}
customizeGitHubPagesDomain()
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
35
36
37
38
39
40
41
42
43
44
45
46
47
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
35
36
37
38
39
40
41
42
43
44
45
46
47
上述代码中,你需要替换以下变量:
YOUR_GITHUB_ACCESS_TOKEN: GitHub 的访问令牌(需要有相关权限)。请登录到 GitHub,在设置页面生成访问令牌,并将其替换为有效的访问令牌。your-username: 你的 GitHub 用户名。your-repo: 你的仓库名称。www.example.com: 你想要设置的自定义域名。
请注意,在运行上述代码之前,确保已经在项目目录中安装了 @octokit/rest 包:
npm install @octokit/rest
1
运行上述代码后,它将使用提供的访问令牌自动在你的仓库中创建或更新 CNAME 文件,并在设置页面中配置自定义域名。你可以根据自己的需求进行修改和扩展。
上次更新: 2023/12/16, 09:22:46