hexo-theme-shokax 0.2.6 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CONTRIBUTING.md CHANGED
@@ -14,14 +14,10 @@
14
14
  1. 您同意我们在未来进行授权许可更改时包含您所贡献的代码
15
15
  2. 您有对于 shokaX 所使用的相关技术和 github PR 及 actions 的基础了解
16
16
 
17
- 对于代码修改的说明:
18
- 1. `page js` 仅需要修改ts文件,`hexo script` 请修改js文件
19
-
20
17
  有关提交的说明:
21
18
  1. 您在提交时的`commit message`应描述其改动
22
19
  2. 如果您提交的代码中包括图片资源,建议使用`webp`或`avif`格式
23
- 3. 由于 Copilot 所生成的代码可能存在版权问题,如果您使用了 Copilot,请在 PR 正文中说明
24
- 4. 条件允许的情况下代码应当附有注释以便维护
20
+ 3. 条件允许的情况下代码应当附有注释以便维护
25
21
 
26
22
  有关审查(Review)的说明:
27
23
  1. 您在 PR 时应打开允许维护者修改 PR,以便我们进行修改
package/LICENSE-shoka ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 霜月琉璃
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/_config.yml CHANGED
@@ -74,6 +74,13 @@ loader:
74
74
  start: true # 进入页面时显示加载动画
75
75
  switch: false # 切换页面时显示加载动画
76
76
 
77
+ # 使用polyfill.io自动处理浏览器兼容问题
78
+ polyfill:
79
+ enable: true
80
+ features:
81
+ - default
82
+ - fetch
83
+
77
84
  # 显示的动画(烟花)
78
85
  fireworks:
79
86
  enable: true
@@ -173,7 +180,7 @@ waline:
173
180
  - mail
174
181
  wordLimit: 0 # 字数限制,0为不限制
175
182
  pageSize: 10 # 每页评论条数
176
- pageview: true # 是否开启浏览量统计
183
+ pageview: false # 是否开启浏览量统计,可独立开启
177
184
 
178
185
  # https://github.com/gitalk/gitalk/blob/master/readme-cn.md
179
186
  gitalk:
@@ -13,7 +13,7 @@ mixin CommentRender()
13
13
  })
14
14
  }, 1000)
15
15
  else if wl
16
- div(class="warp" id="wcomments")
16
+ div(class="wrap" id="wcomments")
17
17
  - var locale = JSON.stringify(theme.waline.locale)
18
18
  - var emoji = JSON.stringify(theme.waline.emoji)
19
19
  - var meta = JSON.stringify(theme.waline.meta)
@@ -38,7 +38,7 @@ mixin CommentRender()
38
38
  });
39
39
  }, 1000)
40
40
  else if gt
41
- div(class="warp" id="gtcomments")
41
+ div(class="wrap" id="gtcomments")
42
42
  script(type="text/javascript" data-pjax).
43
43
  const gproxy = theme.gitalk.proxy || undefined
44
44
  const gitalk = new Gitalk({
@@ -53,7 +53,7 @@ mixin CommentRender()
53
53
  });
54
54
  gitalk.render("gtcomments")
55
55
  else if gs
56
- div(class="warp giscus" id="gscomments")
56
+ div(class="wrap giscus" id="gscomments")
57
57
  script( src="https://giscus.app/client.js"
58
58
  data-repo="#{theme.giscus.repo}"
59
59
  data-repo-id="#{theme.giscus.repoId}"
@@ -10,6 +10,7 @@ mixin field(item)
10
10
 
11
11
  mixin WRender(item)
12
12
  - var tk = theme?.twikoo?.enable
13
+ - var waline = theme.waline.enable
13
14
  if theme.widgets.random_posts
14
15
  div(class="rpost pjax")
15
16
  h2
@@ -22,10 +23,10 @@ mixin WRender(item)
22
23
  div(class="rpost pjax")
23
24
  h2 最新评论
24
25
  ul(class="leancloud-recent-comment" id="new-comment")
25
- if tk
26
+ if tk || waline
26
27
  li(v-for="com in coms" class="item")
27
28
  a(v-bind:href="com.href" data-pjax-state="data-pjax-state")
28
- span(class="breadcrumb") {{com.nick}}@{{com.time}}
29
+ span(class="breadcrumb") {{com.nick}} @ {{com.time}}
29
30
  span {{com.text}}
30
31
  br
31
32
 
@@ -108,7 +108,9 @@ html(lang=page.language?page.language:config.language, style=theme.grayMode ? 'f
108
108
  ]
109
109
  };
110
110
 
111
- script(src="https://polyfill.alicdn.com/polyfill.min.js")
111
+ if theme.polyfill.enable
112
+ script(src=`https://polyfill.io/v3/polyfill.min.js?features=${theme.polyfill.features}`)
113
+
112
114
  if theme.advVendors.enable
113
115
  each i in _list_vendor_js()
114
116
  != _adv_vendor_js(i)
@@ -1,9 +1,10 @@
1
1
  div(class="meta")
2
2
  if date(post.date) != date(post.updated) || time(post.date) != time(post.updated)
3
- span(class="icon")
4
- i(class="ic i-eye")
5
- span 此文章已被阅读次数:
6
- span(id="twikoo_visitors" class="waline-pageview-count" data-path=post.path) 正在加载...
3
+ if theme.twikoo.enable || theme.waline.pageview
4
+ span(class="icon")
5
+ i(class="ic i-eye")
6
+ span 此文章已被阅读次数:
7
+ span(id="twikoo_visitors" class="waline-pageview-count" data-path=post.path) 正在加载...
7
8
  span(class="item")
8
9
  span(class="icon")
9
10
  i(class="ic i-calendar-check")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexo-theme-shokax",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "a hexo theme based on shoka",
5
5
  "main": "index.js",
6
6
  "repository": "https://github.com/theme-shoka-x/hexo-theme-shokaX",
@@ -8,12 +8,10 @@
8
8
  "license": "GPL-3.0-or-later",
9
9
  "scripts": {
10
10
  "test": "tsc",
11
- "build": "pnpm install && tsc",
12
- "docs:dev": "vuepress dev docs",
13
- "docs:build": "vuepress build docs"
11
+ "build": "pnpm install && tsc"
14
12
  },
15
13
  "devDependencies": {
16
- "@algolia/client-search": "^4",
14
+
17
15
  "@types/fancybox": "^3.5.3",
18
16
  "@types/hexo": "^3.8.8",
19
17
  "@types/jquery": "^3.5.16",
@@ -22,9 +20,7 @@
22
20
  "@types/node": "^20.1.0",
23
21
  "@typescript-eslint/eslint-plugin": "^5.59.0",
24
22
  "@typescript-eslint/parser": "^5.59.0",
25
- "@vuepress/client": "2.0.0-beta.61",
26
- "@vuepress/plugin-docsearch": "2.0.0-beta.61",
27
- "algoliasearch": "^4.17.0",
23
+
28
24
  "eslint": "^8.39.0",
29
25
  "eslint-config-standard": "^17.0.0",
30
26
  "eslint-plugin-import": "^2.27.5",
@@ -37,12 +33,9 @@
37
33
  "theme-shokax-anime": "^0.0.4",
38
34
  "theme-shokax-pjax": "^0.0.2",
39
35
  "typescript": "^5.0.4",
40
- "vue": "^3.2.47",
41
- "vuepress": "2.0.0-beta.61",
42
- "vuepress-plugin-sitemap2": "2.0.0-beta.208"
36
+ "vue": "^3.3.4"
43
37
  },
44
38
  "dependencies": {
45
- "js-yaml": "^4.1.0",
46
- "sass": "^1.62.0"
39
+ "js-yaml": "^4.1.0"
47
40
  }
48
41
  }
@@ -34,7 +34,6 @@ hexo.extend.generator.register('script', function (locals) {
34
34
  },
35
35
  loader: theme.loader,
36
36
  search: null,
37
- valine: theme.valine,
38
37
  outime: {
39
38
  enable: theme.outime.enable,
40
39
  days: theme.outime.days
@@ -41,12 +41,33 @@ hexo.extend.helper.register('_new_comments', function (mode) {
41
41
  else if (mode === 'waline') {
42
42
  return `
43
43
  <script type="module" data-pjax>
44
+ let items = []
44
45
  import { RecentComments } from 'https://unpkg.com/@waline/client@v2/dist/waline.mjs'
45
46
  RecentComments({
46
- el: '#new-comment',
47
47
  serverURL: '${hexo.theme.config.waline.serverURL.replace(/\/+$/, '')}',
48
48
  count: 10,
49
- });
49
+ }).then(({ comments }) => {
50
+ comments.forEach(function (item) {
51
+ let cText = (item.orig.length > 50) ? item.orig.substring(0,50)+'...' : item.orig
52
+ item.url = item.url !== '/' ? '/' + item.url : item.url;
53
+ const siteLink = item.url + "#" + item.objectId
54
+ items.push({
55
+ href: siteLink,
56
+ nick: item.nick,
57
+ time: item.insertedAt.split('T').shift(),
58
+ text: cText
59
+ })
60
+ })
61
+ Vue.createApp({
62
+ data() {
63
+ return {
64
+ coms: items
65
+ }
66
+ }
67
+ }).mount('#new-comment')
68
+ }).catch(function (err) {
69
+ console.error(err)
70
+ })
50
71
  </script>
51
72
  `;
52
73
  }
@@ -156,8 +156,6 @@ const sidebarTOC = function () {
156
156
  return sections.indexOf(entry.target);
157
157
  };
158
158
  const createIntersectionObserver = function () {
159
- if (!window.IntersectionObserver)
160
- return;
161
159
  const observer = new IntersectionObserver(function (entries, observe) {
162
160
  const index = findIndex(entries) + (diffY < 0 ? 1 : 0);
163
161
  if (activeLock === null) {
@@ -325,8 +325,6 @@ const postBeauty = function () {
325
325
  });
326
326
  const angleDown = document.querySelectorAll('.show-btn .i-angle-down');
327
327
  if (angleDown.length) {
328
- if (!window.IntersectionObserver)
329
- return;
330
328
  const io = new IntersectionObserver((entries) => {
331
329
  entries.forEach(entry => {
332
330
  if (entry.isIntersecting) {
@@ -408,20 +406,15 @@ const loadComments = function () {
408
406
  else {
409
407
  goToComment.display('');
410
408
  }
411
- if (!window.IntersectionObserver) {
409
+ const io = new IntersectionObserver(function (entries, observer) {
410
+ const entry = entries[0];
412
411
  vendorCss('valine');
413
- }
414
- else {
415
- const io = new IntersectionObserver(function (entries, observer) {
416
- const entry = entries[0];
417
- vendorCss('valine');
418
- if (entry.isIntersecting || entry.intersectionRatio > 0) {
419
- transition($dom('#comments'), 'bounceUpIn');
420
- observer.disconnect();
421
- }
422
- });
423
- io.observe(element);
424
- }
412
+ if (entry.isIntersecting || entry.intersectionRatio > 0) {
413
+ transition($dom('#comments'), 'bounceUpIn');
414
+ observer.disconnect();
415
+ }
416
+ });
417
+ io.observe(element);
425
418
  };
426
419
  const algoliaSearch = function (pjax) {
427
420
  if (CONFIG.search === null) {
@@ -563,8 +556,6 @@ const domInit = function () {
563
556
  });
564
557
  }
565
558
  const createIntersectionObserver = function () {
566
- if (!window.IntersectionObserver)
567
- return;
568
559
  new IntersectionObserver(([entry]) => {
569
560
  if (entry.isIntersecting) {
570
561
  document.querySelectorAll('.parallax>use').forEach(i => {
@@ -1,548 +0,0 @@
1
- .v {
2
- &.wrap {
3
- animation: none;
4
- opacity: 0;
5
- }
6
-
7
- .lozaded {
8
- animation: none;
9
- }
10
-
11
- input,
12
- textarea {
13
- border: none;
14
- outline: none;
15
- background: transparent;
16
- font-size: $font-size-smallest;
17
- transition: all .25s ease;
18
- }
19
-
20
- a {
21
- color: var(--color-aqua);
22
-
23
- &:hover {
24
- color: var(--primary-color);
25
- }
26
- }
27
-
28
- .text-center {
29
- text-align: center;
30
- }
31
-
32
- .text-right {
33
- text-align: right;
34
- }
35
-
36
- .float-right {
37
- float: right !important;
38
- }
39
-
40
- .pd5 {
41
- padding: 5px;
42
- }
43
-
44
- .pd10 {
45
- padding: 10px;
46
- }
47
-
48
- .vemoji, .emoji, .tk-owo-emotion {
49
- max-height: 1.5rem;
50
- display: inline;
51
- vertical-align: middle;
52
- }
53
-
54
- .submitting {
55
- margin: 1em 0;
56
- }
57
-
58
- .form {
59
- shadow-box();
60
- margin-bottom: .625rem;
61
- position: relative;
62
- padding: .625rem;
63
-
64
- >.inner {
65
- .auth-section {
66
- display: flex;
67
- padding: .3em .6em;
68
- }
69
-
70
- +mobile-small() {
71
- flex-wrap: wrap;
72
- }
73
-
74
- .input {
75
- flex: 1 1 27%;
76
- width: 27%;
77
-
78
- +mobile-small() {
79
- flex: 1 1 100%;
80
- padding-right: 0;
81
- width: 100%;
82
- }
83
-
84
- input {
85
- padding: .625rem .3125rem;
86
- width: 100%;
87
- border-bottom: .0625rem dashed var(--grey-4);
88
-
89
- &:focus {
90
- border-bottom-color: var(--primary-color);
91
- }
92
- }
93
- }
94
-
95
- .textarea {
96
- padding: .3em .6em;
97
- }
98
-
99
- .veditor {
100
- width: 100%;
101
- min-height: 8.75em;
102
- font-size: $font-size-small;
103
- line-height: 1.75;
104
- resize: vertical;
105
- }
106
-
107
- .btn-group {
108
- padding: .625rem 0;
109
- display: flex;
110
-
111
- .i-markdown {
112
- font-size: $font-size-smallest;
113
- }
114
-
115
- .left {
116
- width: 30%;
117
- }
118
-
119
- .right {
120
- width: 70%;
121
- text-align: right;
122
- }
123
- }
124
-
125
- .vextra-area {
126
- margin: .4em 0 .4em .5em;
127
- }
128
-
129
-
130
- .preview-box {
131
- padding: .4375rem 1.25rem;
132
- font-size: $font-size-smaller;
133
- shadow-box();
134
- }
135
-
136
- .trigger-section {
137
- display: none;
138
- }
139
- }
140
-
141
- .smile-body {
142
-
143
- img {
144
- display: inline-block;
145
- width: auto;
146
- height: 3rem;
147
- cursor: pointer;
148
- padding: .5rem;
149
- border-radius: .25rem;
150
- transition: box-shadow .2s ease-out, background .2s ease-out;
151
- }
152
-
153
- li.active img, img:hover {
154
- background: var(--grey-2);
155
- box-shadow: 1px 1px 2px var(--grey-1), -1px -1px 2px var(--grey-4), inset 8px 8px 16px var(--grey-1), inset -8px -8px 16px var(--grey-3);
156
- }
157
-
158
- .smile-icons {
159
- border-radius: .5rem;
160
- margin: .3rem 0;
161
- min-height: 10rem;
162
- max-height: 10rem;
163
- overflow: auto;
164
- background: var(--grey-2);
165
- padding: .5rem;
166
- }
167
-
168
- .smile-bar {
169
- li {
170
- display: inline-block;
171
- margin-right: .25rem;
172
- }
173
-
174
- img {
175
- width: 2.8rem;
176
- height: 2.8rem;
177
- background: var(--grey-2);
178
- object-fit: contain;
179
- }
180
- }
181
- }
182
-
183
- .btn {
184
- cursor: pointer;
185
- display: inline-block;
186
- margin: .5rem;
187
- overflow: hidden;
188
- vertical-align: middle;
189
-
190
- &.actived .ic {
191
- color: var(--primary-color);
192
- }
193
-
194
- .ic {
195
- color: var(--grey-6);
196
- transition: all .25s ease;
197
-
198
- &:hover {
199
- color: var(--color-blue);
200
- }
201
- }
202
- }
203
-
204
- .cancel-reply {
205
- position: absolute;
206
- right: 0;
207
- top: 0;
208
- z-index: 1;
209
- }
210
-
211
- .vsubmit {
212
- font-size: $font-size-small;
213
- }
214
- }
215
-
216
- .msg {
217
- position: absolute;
218
- background: var(--grey-1-a5);
219
- width: 100%;
220
- height: 100%;
221
- left: 0;
222
- top: 0;
223
-
224
- .alert {
225
- padding: 3em 0 0 0;
226
-
227
- .text {
228
- color: var(--grey-8);
229
- padding: 15px;
230
- }
231
- }
232
-
233
- +mobile() {
234
- .alert {
235
- padding: 8em 0;
236
-
237
- .text {
238
- padding: 10px;
239
- }
240
- }
241
- }
242
- }
243
-
244
- .info {
245
- padding: .3125rem;
246
- font-weight: 600;
247
- font-size: $font-size-larger;
248
-
249
- .col {
250
- display: inline-block;
251
- padding: 0 20px;
252
- position: relative;
253
- background: transparent;
254
- z-index: 2;
255
-
256
- .count {
257
- font-size: 1.375rem;
258
- font-weight: inherit;
259
- }
260
- }
261
- }
262
-
263
-
264
-
265
- .next {
266
- .more {
267
- cursor: pointer;
268
- margin: 1em 0;
269
- }
270
- }
271
-
272
- .list {
273
- width: 100%;
274
- }
275
- .item {
276
- word-break: break-all;
277
- padding-top: 1.25em;
278
-
279
- .avatar {
280
- width: 3.125em;
281
- height: 3.125em;
282
- float: left;
283
- border-radius: 50%;
284
- margin-right: .7525em;
285
- border: .0625rem solid var(--grey-3);
286
- padding: .125em
287
- }
288
-
289
- &:hover .avatar {
290
- animation: .8s ease-out 0s 1 normal both running shake;
291
- }
292
-
293
- .main {
294
- overflow: hidden;
295
- padding-bottom: .5em;
296
- border-bottom: .0625rem dashed var(--grey-3);
297
- }
298
-
299
- .head, .meta {
300
- color: var(--grey-5);
301
- line-height: 1.8;
302
- }
303
-
304
- .name {
305
- margin-right: .875rem;
306
- }
307
-
308
- .tag, .system, .time {
309
- display: inline-block;
310
- font-size: $font-size-smallest;
311
- }
312
-
313
- +mobile-small() {
314
- .system span {
315
- display: none;
316
- }
317
- }
318
- .tag {
319
- border-radius: .125rem;
320
- color: var(--grey-1);
321
- padding: 0 .3125rem;
322
- margin-right: .5rem;
323
- background-color: var(--color-grey);
324
-
325
- $tagcolor = hexo-config('valine.tagColor');
326
-
327
- for type in $tagcolor {
328
- &.{slice(type, 0, 1)} {
329
- background-color: unquote(slice(type, 1));
330
- }
331
- }
332
- }
333
-
334
- .at {
335
- color: var(--primary-color);
336
-
337
- &:hover {
338
- color: var(--color-aqua);
339
- }
340
- }
341
-
342
- .meta {
343
- line-height: 1;
344
- .at {
345
- float: right;
346
- }
347
- }
348
-
349
- .content {
350
- margin-bottom: .75em;
351
- padding: .625em;
352
-
353
- > .inner {
354
- font-size: $font-size-small;
355
- word-wrap: break-word;
356
- word-break: break-all;
357
- line-height: 2;
358
- position: relative;
359
-
360
- &.expand {
361
- cursor: pointer;
362
- max-height: 8em;
363
-
364
- overflow: hidden;
365
-
366
- &::before {
367
- display: block;
368
- content: "";
369
- position: absolute;
370
- width: 100%;
371
- left: 0;
372
- top: 0;
373
- bottom: 3.15em;
374
- background: linear-gradient(180deg, var(--grey-1-a0), var(--grey-1));
375
- z-index: 999;
376
- }
377
-
378
- &::after {
379
- display: block;
380
- content: attr(data-expand);
381
- text-align: center;
382
- position: absolute;
383
- width: 100%;
384
- height: 3.15em;
385
- line-height: 3.15em;
386
- left: 0;
387
- bottom: 0;
388
- z-index: 999;
389
- background: var(--grey-1);
390
- }
391
- }
392
- }
393
-
394
- .form {
395
- margin-top: 1rem;
396
- }
397
- }
398
-
399
- &:last-child .main {
400
- border-bottom: none
401
- }
402
-
403
- .children {
404
- padding-left: 1em;
405
- border-left: .0625rem dashed var(--grey-3);
406
-
407
- .avatar {
408
- width: 2.225em;
409
- height: 2.225em
410
- }
411
- }
412
- }
413
-
414
- .empty {
415
- padding: 20px;
416
- text-align: center;
417
- }
418
-
419
-
420
- /************ Loading ************/
421
- .spinner {
422
- margin: 10px auto;
423
- width: 50px;
424
- height: 30px;
425
- text-align: center;
426
- font-size: 10px;
427
- }
428
-
429
- .spinner>div {
430
- background-color: var(--primary-color);
431
- height: 100%;
432
- width: 6px;
433
- margin-right: 3px;
434
- display: inline-block;
435
- animation: sk-stretchdelay 1.2s infinite ease-in-out;
436
- }
437
-
438
- .spinner .r2 {
439
- animation-delay: -1.1s;
440
- }
441
-
442
- .spinner .r3 {
443
- animation-delay: -1s;
444
- }
445
-
446
- .spinner .r4 {
447
- animation-delay: -0.9s;
448
- }
449
-
450
- .spinner .r5 {
451
- animation-delay: -0.8s;
452
- }
453
-
454
- @keyframes sk-stretchdelay {
455
-
456
- 0%,
457
- 40%,
458
- 100% {
459
- transform: scaleY(0.4);
460
- }
461
-
462
- 20% {
463
- transform: scaleY(1);
464
- }
465
- }
466
- }
467
-
468
- .hljs-comment,
469
- .hljs-quote {
470
- color: var(--grey-5);
471
- font-style: italic;
472
- }
473
-
474
- .hljs-keyword,
475
- .hljs-selector-tag,
476
- .hljs-subst,
477
- .hljs-meta {
478
- color: var(--grey-7);
479
- font-weight: bold;
480
- }
481
-
482
- .hljs-number,
483
- .hljs-literal,
484
- .hljs-variable,
485
- .hljs-template-variable,
486
- .hljs-tag .hljs-attr {
487
- color: var(--color-green);
488
- }
489
-
490
- .hljs-string,
491
- .hljs-doctag {
492
- color: var(--color-red);
493
- }
494
-
495
- .hljs-title,
496
- .hljs-section,
497
- .hljs-selector-id {
498
- color: var(--color-pink);
499
- font-weight: bold;
500
- }
501
-
502
- .hljs-subst {
503
- font-weight: normal;
504
- }
505
-
506
- .hljs-type,
507
- .hljs-class .hljs-title {
508
- color: var(--color-grey);
509
- font-weight: bold;
510
- }
511
-
512
- .hljs-tag,
513
- .hljs-name,
514
- .hljs-attribute {
515
- color: var(--color-orange);
516
- font-weight: normal;
517
- }
518
-
519
- .hljs-regexp,
520
- .hljs-link {
521
- color: var(--color-green);
522
- }
523
-
524
- .hljs-symbol,
525
- .hljs-bullet {
526
- color: var(--color-purple);
527
- }
528
-
529
- .hljs-built_in,
530
- .hljs-builtin-name {
531
- color: var(--color-aqua);
532
- }
533
-
534
- .hljs-deletion {
535
- background: #fdd;
536
- }
537
-
538
- .hljs-addition {
539
- background: #dfd;
540
- }
541
-
542
- .hljs-emphasis {
543
- font-style: italic;
544
- }
545
-
546
- .hljs-strong {
547
- font-weight: bold;
548
- }