-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathaction.yml
151 lines (128 loc) · 4.09 KB
/
action.yml
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
name: Sitemap Creator Stable
description: GitHub Action 🚀 for creating and updating sitemaps in your repository.
author: 鸭鸭「カモ」(@DuckDuckStudio)
branding:
color: yellow
icon: book
inputs:
location:
required: false
description: 网站地图的存放位置
default: "./sitemap.xml"
token:
required: false
description: 用于创建更新网站地图的拉取请求的 Token
default: ${{ github.token }}
timezone:
required: false
description: 设置生成时使用的时区
default: "Asia/Shanghai"
basic_link:
required: false
description: 指向你网站的基础链接
default: https://${{ github.event.repository.owner.login }}.github.io/${{ github.event.repository.name }}
file_type:
required: false
description: 网页文件的类型
default: "html,md"
ignore_file:
required: false
description: 指定哪些文件不包含在网站地图中
default: "啥都没有" # 应该不会有人要这个,留空会忽略所有文件
website_path:
required: true
description: 你的网站内容的位置
default: "./"
base_branch:
required: false
description: 仓库主分支
default: main
debug:
required: false
description: 控制调试输出的开关
default: false
label:
required: false
description: 创建拉取请求时添加的标签
auto_merge:
required: false
description: 设置启用自动合并的类型 (不指定则不启用自动合并,可以使用 merge、rebase、squash)
update:
required: false
description: 指定更新网站地图的方式 (直接提交或拉取请求)
default: 拉取请求
reviewer:
required: false
description: 创建拉取请求时指定的审查者
author_name:
required: false
description: 更新提交的撰写者名
default: "github-actions[bot]"
author_email:
required: false
description: 更新提交的撰写者邮箱
default: "41898282+github-actions[bot]@users.noreply.github.com"
runs:
using: composite
steps:
- name: 检出仓库
uses: actions/checkout@v4
with:
fetch-depth: 0 # 检出完整记录
# ref: ${{ inputs.base_branch }} 不确定这个要不要加,后续看情况吧
- name: 设置 Node.js 环境
uses: actions/setup-node@v4
with:
node-version: "latest"
- name: 设置时区
shell: bash
if: ${{ runner.os == 'Linux' }}
env:
TZ: ${{ inputs.timezone }}
run: sudo timedatectl set-timezone $TZ
- name: 设置时区
shell: pwsh
if: ${{ runner.os == 'Windows' }}
env:
TZ: ${{ inputs.timezone }}
run: |
# 如果传入的时区是 Asia/Shanghai 则转为 China Standard Time
if ($env:TZ -eq "Asia/Shanghai") {
$env:TZ = "China Standard Time"
}
tzutil /s $env:TZ
- name: 设置时区
shell: bash
if: ${{ runner.os == 'macOS' }}
env:
TZ: ${{ inputs.timezone }}
run: sudo systemsetup -settimezone $TZ
- name: 获取生成脚本
shell: bash
run: |
git clone https://github.com/DuckDuckStudio/Sitemap_Creator -b main # 稳定版
cp Sitemap_Creator/index.mjs Sitemap_Creator.mjs
rm -r Sitemap_Creator
- name: 生成网站地图
shell: bash
env:
# 这几乎包含了所有的参数
GH_TOKEN: ${{ inputs.token }}
LABELS: ${{ inputs.label }}
DEBUG: ${{ inputs.debug }}
AUTO_MERGE: ${{ inputs.auto_merge }}
LOCATION: ${{ inputs.location }}
UPDATE: ${{ inputs.update }}
REVIEWER: ${{ inputs.reviewer }}
TOKEN: ${{ github.token }}
AUTHOR_NAME: ${{ inputs.author_name }}
AUTHOR_EMAIL: ${{ inputs.author_email }}
BASE_BRANCH: ${{ inputs.base_branch }}
# 生成时还需要的参数
BASIC_LINK: ${{ inputs.basic_link }}
FILE_TYPE: ${{ inputs.file_type }}
IGNORE_FILE: ${{ inputs.ignore_file }}
WEBSITE_PATH: ${{ inputs.website_path }}
run: |
node Sitemap_Creator.mjs
rm Sitemap_Creator.mjs