说明:本文参考了 Fomalaut 的文章,并在此基础上进行了补充与改进!!!

1.代码块

1
2
3
4
5
6
\```shell
hexo clean; hexo s
hexo clean; hexo g; hexo d
git add .; git commit -m "npm publish"; npm version patch;
git push
\```

去掉那两个\再用,与C语言一样,\代表不转义!

1
2
3
4
hexo clean; hexo s
hexo clean; hexo g; hexo d
git add .; git commit -m "npm publish"; npm version patch;
git push

2.多级标题

1
2
3
4
5
6
# H1
## H2
### H3
#### H4
##### H5
###### H6

效果就不演示了,不过一定要遵守一个规则,文章标题要一级一级往下写,先“一级标题————>二级标题————>三级标题————>四级标题————>五级标题————>六级标题”,别TM直接三级标题开整文章!!!

3.文字样式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<u>下划线演示</u>

文字**加粗**演示

文字*斜体*演示

文本`高亮`演示

文本~~删除~~线演示

<font size = 5>5号字</font>
<font face="黑体">黑体</font>
<font color=blue>蓝色</font>

<table><tr><td bgcolor=MistyRose>这里的背景色是:MistyRosen,此处输入任意想输入的内容</td></tr></table>

下划线演示

文字加粗演示

文字斜体演示

文本高亮演示

文本删除线演示

5号字
黑体
蓝色

这里的背景色是:MistyRosen,此处输入任意想输入的内容

4.引用

1
2
3
4
5
6
7
8
9
10
>  Java
> 二级引用演示
> MySQL
> >外键
> >
> >事务
> >
> >**行级锁**(引用内部一样可以用格式)
>
> ....

Java
二级引用演示
MySQL

外键

事务

行级锁(引用内部一样可以用格式)

….

5.分割线

1
---

将” - “换成” * “也是可以的。


6.列表

6.1 无序列表

1
2
3
* Java
* Python
* ...

将” * “换成” + “、” - “这两个也是可以。

  • Java
  • Python

6.2 有序列表

1
2
3
4
1. 
2.
3.
4.

注意一下,.后面有空格。

1.
2.
3.
4.

7.图片

1
<img src="/assets/pusheencode.webp" alt="示例图片" style="zoom:50%;" />
1
![code](https://pic1.imgdb.cn/item/6812359158cb8da5c8d5755a.png)

效果就不展示了
代码1可以用本地图片/在线图片,zoom代表图片的大小,100%时会充满div,50%时为div向中心缩小一半;
代码2仅能用在线图片。

8.表格

1
2
3
4
5
| 项目标号 | 资金     | 备注 |
| -------- | -------- | ---- |
| 1 | 100,000 | 无 |
| 2 | 200,000 | 无 |
| 3 | 300,600 | 重要 |
项目标号 资金 备注
1 100,000
2 200,000
3 300,600 重要

9.公式

1
2
3
$$
\Gamma(z)=\int_0^\infty t^{z-1}e^{-t}dt.
$$
1
这是伽马函数$\Gamma(z)=\int_0^\infty t^{z-1}e^{-t}dt$的例子

$$
\Gamma(z)=\int_0^\infty t^{z-1}e^{-t}dt.
$$

这是伽马函数$\Gamma(z)=\int_0^\infty t^{z-1}e^{-t}dt$的例子。

代码中行那一行是用 LaTeX 编写的简单数学公式,用 $...$ 包裹的为行内公式,用 $$...$$包裹的公式则独占一行居中显示。

10.前端代码

1
2
3
{% raw %}
前端代码……
{% endraw %}

效果就不展示了,它会将raw中的内容直接加入到生成的html文件中,而不进行”编译”操作。所以,学会了html、css、js,你就可以随便进行页面美化操作了!
(注意:要单独为div设置css与js,你也可以写好前端代码,让ai帮你“实现样式和行为的隔离,即本代码中css与js影响外部,也不受外部影响。”)

调整文本往下一行

1
2
3
{% raw %}
</br>
{% endraw %}

画廊页面轮播图效果的前端代码

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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
{% raw %}
<!-- 自定义元素容器 -->
<image-carousel data-images='[
"https://pic1.imgdb.cn/item/681216d158cb8da5c8d56900.webp",
"https://pic1.imgdb.cn/item/681216e858cb8da5c8d56904.webp",
"https://pic1.imgdb.cn/item/681216d058cb8da5c8d568fb.webp",
"https://pic1.imgdb.cn/item/6811e1d758cb8da5c8d54f46.webp",
"https://pic1.imgdb.cn/item/6811e1d758cb8da5c8d54f45.webp",
"https://pic1.imgdb.cn/item/681216e858cb8da5c8d56904.webp",
"https://pic1.imgdb.cn/item/681216d058cb8da5c8d568fb.webp",
"https://pic1.imgdb.cn/item/6811e1d758cb8da5c8d54f46.webp",
"https://pic1.imgdb.cn/item/6811e1d758cb8da5c8d54f45.webp"
]'></image-carousel>

<script>
// 定义自定义元素
class ImageCarousel extends HTMLElement {
constructor() {
super();
// 创建Shadow DOM
this.attachShadow({ mode: 'open' });

// 初始化图片URL数组
this.imageUrls = [];
this.index = 0;
this.time = null;
}

connectedCallback() {
// 从data-images属性获取图片URL
const imagesData = this.getAttribute('data-images');
try {
this.imageUrls = imagesData ? JSON.parse(imagesData) : this.getDefaultImages();
} catch (e) {
console.error("Invalid images data format, using default images instead");
this.imageUrls = this.getDefaultImages();
}

this.render();
this.initElements();
this.createImages();
this.createThumbnails(); // 创建缩略图
this.timer();
this.addEventListeners();
}

getDefaultImages() {
return [
"https://pic1.imgdb.cn/item/681216d158cb8da5c8d56900.webp",
"https://pic1.imgdb.cn/item/681216e858cb8da5c8d56904.webp",
"https://pic1.imgdb.cn/item/681216d058cb8da5c8d568fb.webp",
"https://pic1.imgdb.cn/item/6811e1d758cb8da5c8d54f46.webp",
"https://pic1.imgdb.cn/item/6811e1d758cb8da5c8d54f45.webp",
"https://pic1.imgdb.cn/item/681216e858cb8da5c8d56904.webp",
"https://pic1.imgdb.cn/item/681216d058cb8da5c8d568fb.webp",
"https://pic1.imgdb.cn/item/6811e1d758cb8da5c8d54f46.webp",
"https://pic1.imgdb.cn/item/6811e1d758cb8da5c8d54f45.webp"
];
}

render() {
this.shadowRoot.innerHTML = `
<style>
* {
padding: 0px;
margin: 0px;
list-style: none;
bottom: 0;
text-decoration: none;
}

.carousel-container {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
}

.shell {
width: 870px;
height: 520px;
position: relative;
overflow: hidden;
border-radius: 5px;
border: 10px #fff solid;
}

.images {
width: ${this.imageUrls.length * 100}%;
height: 100%;
display: flex;
position: absolute;
left: 0;
transition: 0.5s;
}

.img {
width: ${100 / this.imageUrls.length}%;
background-size: cover;
background-position: center;
}

.min-images {
display: flex;
justify-content: center;
position: absolute;
bottom: 20px;
width: 100%;
z-index: 999;
}

.min {
width: 10px;
height: 10px;
margin: 0 3px;
cursor: pointer;
border-radius: 50%;
background-color: white;
border: 1px solid rgba(0, 0, 0, 0.5);
transition: all 0.3s;
}

.min.active {
background-color: transparent;
border-color: white;
}

.button {
width: 100%;
height: 100%;
position: absolute;
display: flex;
justify-content: space-between;
user-select: none;
}

.button-left,
.button-right {
font-size: 50px;
background-color: rgba(160, 193, 255, 0.7);
padding: 0 20px;
cursor: pointer;
line-height: 500px;
}

/* 缩略图样式 */
.thumbnails {
display: flex;
justify-content: center;
gap: 10px;
padding: 10px;
background-color: #f0f0f0;
border-radius: 5px;
margin-top: 10px;
width: 870px;
}

.thumbnail {
width: 80px;
height: 50px;
background-size: cover;
background-position: center;
cursor: pointer;
border: 2px solid transparent;
border-radius: 3px;
transition: all 0.3s;
}

.thumbnail.active {
border-color: #4361ee;
transform: scale(1.05);
}
</style>
<div class="carousel-container">
<div class="shell">
<ul class="images"></ul>
<ul class="min-images"></ul>
<div class="button">
<div class="button-left">&lt;</div>
<div class="button-right">&gt;</div>
</div>
</div>
<div class="thumbnails"></div> <!-- 缩略图容器 -->
</div>
`;
}

initElements() {
this.imagesContainer = this.shadowRoot.querySelector(".images");
this.minImagesContainer = this.shadowRoot.querySelector(".min-images");
this.leftButton = this.shadowRoot.querySelector(".button-left");
this.rightButton = this.shadowRoot.querySelector(".button-right");
this.thumbnailsContainer = this.shadowRoot.querySelector(".thumbnails");
}

createImages() {
// 清空容器
this.imagesContainer.innerHTML = '';
this.minImagesContainer.innerHTML = '';

this.imageUrls.forEach((url, i) => {
const img = document.createElement("li");
img.classList.add("img");
img.style.backgroundImage = `url(${url})`;
this.imagesContainer.appendChild(img);

const minImg = document.createElement("li");
minImg.classList.add("min");
if (i === 0) {
minImg.classList.add("active");
}
this.minImagesContainer.appendChild(minImg);
});
}

// 创建缩略图
createThumbnails() {
this.thumbnailsContainer.innerHTML = '';

this.imageUrls.forEach((url, i) => {
const thumbnail = document.createElement("div");
thumbnail.classList.add("thumbnail");
thumbnail.style.backgroundImage = `url(${url})`;
if (i === 0) {
thumbnail.classList.add("active");
}

thumbnail.addEventListener("click", () => {
this.index = i;
this.updateIndicators();
this.updateThumbnails();
this.position();
clearInterval(this.time);
this.timer();
});

this.thumbnailsContainer.appendChild(thumbnail);
});
}

position() {
this.imagesContainer.style.left = (this.index * -100) + "%";
}

add() {
if (this.index >= this.imageUrls.length - 1) {
this.index = 0;
} else {
this.index++;
}
this.updateIndicators();
this.updateThumbnails();
}

desc() {
if (this.index < 1) {
this.index = this.imageUrls.length - 1;
} else {
this.index--;
}
this.updateIndicators();
this.updateThumbnails();
}

updateIndicators() {
const minImages = this.minImagesContainer.querySelectorAll(".min");
minImages.forEach((minImg, i) => {
if (i === this.index) {
minImg.classList.add("active");
} else {
minImg.classList.remove("active");
}
});
}

// 更新缩略图选中状态
updateThumbnails() {
const thumbnails = this.thumbnailsContainer.querySelectorAll(".thumbnail");
thumbnails.forEach((thumbnail, i) => {
if (i === this.index) {
thumbnail.classList.add("active");
} else {
thumbnail.classList.remove("active");
}
});
}

timer() {
this.time = setInterval(() => {
this.add();
this.position();
}, 3000);
}

addEventListeners() {
this.leftButton.addEventListener("click", () => {
this.desc();
this.position();
clearInterval(this.time);
this.timer();
});

this.rightButton.addEventListener("click", () => {
this.add();
this.position();
clearInterval(this.time);
this.timer();
});

this.minImagesContainer.addEventListener("click", (event) => {
if (event.target.classList.contains("min")) {
const minImages = Array.from(this.minImagesContainer.children);
const targetIndex = minImages.indexOf(event.target);
this.index = targetIndex;
this.updateIndicators();
this.updateThumbnails();
this.position();
clearInterval(this.time);
this.timer();
}
});
}
}

// 注册自定义元素
customElements.define('image-carousel', ImageCarousel);
</script>
{% endraw %}

画廊页面轮播图的代码