11
11
// @match *://zhuanlan.zhihu.com/p/*
12
12
// @match *://mp.weixin.qq.com/s*
13
13
// @match *://cnodejs.org/topic/*
14
- // @match *://www. zcfy.cc/article/*
14
+ // @match *://* zcfy.cc/article/*
15
15
// @match *://dev.to/*
16
16
// @match *://web.dev/*
17
17
// @match *://medium.com/*
49
49
qq : {
50
50
contentSelector : '.rich_media_content' ,
51
51
} ,
52
+ 'juejin.im' : {
53
+ contentSelector : '.entry-public-main' ,
54
+ } ,
52
55
'dev.to' : {
53
56
contentSelector : 'article' ,
54
57
scrollSmoothOffset : - 56 ,
153
156
width: 340px;
154
157
font-size: 14px;
155
158
box-sizing: border-box;
156
- padding: 10px 10px 10px 0;
159
+ padding: 0 10px 10px 0;
157
160
box-shadow: 0 1px 3px #DDD;
158
161
border-radius: 4px;
159
162
transition: width 0.2s ease;
163
166
164
167
.toc-bar.toc-bar--collapsed {
165
168
width: 30px;
169
+ height: 30px;
166
170
padding: 0;
171
+ overflow: hidden;
167
172
}
168
173
169
174
.toc-bar--collapsed .toc {
170
175
display: none;
171
176
}
172
177
173
- .toc-bar--collapsed .toc-bar__toggle {
174
- transform: rotate(90deg);
175
- }
176
-
177
178
.toc-bar--collapsed .hidden-when-collapsed {
178
179
display: none;
179
180
}
206
207
.toc-bar__icon-btn svg {
207
208
max-width: 100%;
208
209
max-height: 100%;
210
+ vertical-align: top;
209
211
}
210
212
211
213
.toc-bar__header-left {
214
216
215
217
.toc-bar__toggle {
216
218
cursor: pointer;
217
- padding: 2px 6px ;
219
+ padding: 8px 8px ;
218
220
box-sizing: content-box;
219
- transform: rotate(0);
220
221
transition: transform 0.2s ease;
221
222
}
222
223
245
246
text-decoration: underline;
246
247
}
247
248
249
+ .toc-list {
250
+ padding-inline-start: 0;
251
+ }
252
+
248
253
.toc-bar__toc > .toc-list {
249
254
margin: 0;
250
255
overflow: hidden;
@@ -325,9 +330,23 @@ a.toc-link {
325
330
this . element . appendChild ( tocElement )
326
331
}
327
332
328
- const TOC_ICON = `<svg t="1593614506959" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6049" width="200" height="200"><path d="M128 384h597.333333v-85.333333H128v85.333333z m0 170.666667h597.333333v-85.333334H128v85.333334z m0 170.666666h597.333333v-85.333333H128v85.333333z m682.666667 0h85.333333v-85.333333h-85.333333v85.333333z m0-426.666666v85.333333h85.333333v-85.333333h-85.333333z m0 256h85.333333v-85.333334h-85.333333v85.333334z" p-id="6050"></path></svg>`
329
333
const REFRESH_ICON = `<svg t="1593614403764" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5002" width="200" height="200"><path d="M918 702.8 918 702.8c45.6-98.8 52-206 26-303.6-30-112.4-104-212.8-211.6-273.6L780 23.2l-270.8 70.8 121.2 252.4 50-107.6c72.8 44.4 122.8 114.4 144 192.8 18.8 70.8 14.4 147.6-18.8 219.6-42 91.2-120.8 153.6-210.8 177.6-13.2 3.6-26.4 6-39.6 8l56 115.6c5.2-1.2 10.4-2.4 16-4C750.8 915.2 860 828.8 918 702.8L918 702.8M343.2 793.2c-74-44.4-124.8-114.8-146-194-18.8-70.8-14.4-147.6 18.8-219.6 42-91.2 120.8-153.6 210.8-177.6 14.8-4 30-6.8 45.6-8.8l-55.6-116c-7.2 1.6-14.8 3.2-22 5.2-124 33.2-233.6 119.6-291.2 245.6-45.6 98.8-52 206-26 303.2l0 0.4c30.4 113.2 105.2 214 213.6 274.8l-45.2 98 270.4-72-122-252L343.2 793.2 343.2 793.2M343.2 793.2 343.2 793.2z" p-id="5003"></path></svg>`
330
334
335
+ const TOC_ICON = `
336
+ <?xml version="1.0" encoding="utf-8"?>
337
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
338
+ viewBox="0 0 1024 1024" style="enable-background:new 0 0 1024 1024;" xml:space="preserve">
339
+ <g>
340
+ <g>
341
+ <path d="M835.2,45.9H105.2v166.8l93.2,61.5h115.8H356h30.6v-82.8H134.2v-24.9h286.2v107.6h32.2V141.6H134.2V118h672.1v23.6H486.4
342
+ v132.5h32V166.5h287.8v24.9H553.8v82.8h114.1H693h225.6V114.5L835.2,45.9z M806.2,93.2H134.2V67.2h672.1v26.1H806.2z"/>
343
+ <polygon points="449.3,1008.2 668,1008.2 668,268.9 553.8,268.9 553.8,925.4 518.4,925.4 518.4,268.9 486.4,268.9 486.4,925.4
344
+ 452.6,925.4 452.6,268.9 420.4,268.9 420.4,925.4 386.6,925.4 386.6,268.9 356,268.9 356,946.7 "/>
345
+ </g>
346
+ </g>
347
+ </svg>
348
+ `
349
+
331
350
TocBar . prototype = {
332
351
/**
333
352
* @method TocBar
@@ -352,6 +371,7 @@ a.toc-link {
352
371
toggleElement . addEventListener ( 'click' , ( ) => {
353
372
this . toggle ( )
354
373
} )
374
+ this . logoSvg = toggleElement . querySelector ( 'svg' )
355
375
356
376
const refreshElement = header . querySelector ( '.toc-bar__refresh' )
357
377
refreshElement . addEventListener ( 'click' , ( ) => {
@@ -441,10 +461,13 @@ a.toc-link {
441
461
*/
442
462
toggle ( shouldShow = ! this . visible ) {
443
463
const HIDDEN_CLASS = 'toc-bar--collapsed'
464
+ const LOGO_HIDDEN_CLASS = 'toc-logo--collapsed'
444
465
if ( shouldShow ) {
445
466
this . element . classList . remove ( HIDDEN_CLASS )
467
+ this . logoSvg && this . logoSvg . classList . remove ( LOGO_HIDDEN_CLASS )
446
468
} else {
447
469
this . element . classList . add ( HIDDEN_CLASS )
470
+ this . logoSvg && this . logoSvg . classList . add ( LOGO_HIDDEN_CLASS )
448
471
}
449
472
this . visible = shouldShow
450
473
} ,
0 commit comments