├── .gitignore
├── LICENSE
├── README.md
├── css
└── sou.css
├── font_1230786_swt4kkie8ym
├── demo.css
├── demo_index.html
├── iconfont.css
├── iconfont.eot
├── iconfont.js
├── iconfont.svg
├── iconfont.ttf
├── iconfont.woff
└── iconfont.woff2
├── font_1614281
├── demo.css
├── demo_index.html
├── iconfont.css
├── iconfont.eot
├── iconfont.js
├── iconfont.json
├── iconfont.svg
├── iconfont.ttf
├── iconfont.woff
└── iconfont.woff2
├── icon
├── Logo.ico
├── baidu.ico
├── bilibili.png
├── bing.ico
├── btn.svg
├── btn2.svg
├── doge_ico.png
├── g.svg
├── github.ico
├── google_1.png
├── mijisou.png
├── right.svg
├── scp.png
├── seeres.png
├── shlogo.png
├── steam.ico
├── user.png
└── v2ex.png
├── index.html
└── js
├── jQuery.rTabs.js
├── jquery-3.4.1.min.js
├── js.cookie.js
└── sou.js
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | jquery-tabs20160103
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 yeetime
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.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Alone 导航 V2
2 |
3 | **原项目:** https://github.com/5iux/sou
4 |
5 | **修改版**
6 | - [**v1**](https://github.com/yeetime/sou2/tree/v1):使用其前端样式,重写部分代码,去除了不需要的模块。
7 | - **v2**:侧栏结构修改,使用 cookie 简单实现了部分数据的可视化编辑。
8 |
9 | ### 预览
10 |
11 | 
12 |
13 | 
14 |
15 | > (图片效果,以实际页面为准)
16 |
17 | ### 示例页面:
18 |
19 | + [https://yeetime.top/sou2/](https://yeetime.top/sou2/)
20 |
21 | ### 图标:
22 | 图标调用了阿里的图标 [https://www.iconfont.cn/](https://www.iconfont.cn/)
23 |
--------------------------------------------------------------------------------
/css/sou.css:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 |
3 | /*
4 | 作者:D.Young
5 | 主页:https://yyv.me/
6 | github:https://github.com/5iux/sou
7 | 日期:2019-07-11
8 | 版权所有,请勿删除
9 | ❶❷❸❹❺❻❼❽❾❿
10 | 由 yeetime 修改
11 | github:https://github.com/yeetime/sou2
12 | 日期:2019-12-13
13 | */
14 |
15 | * {
16 | padding: 0;
17 | margin: 0;
18 | outline: none;
19 | -webkit-tap-highlight-color: transparent;
20 | }
21 |
22 | html,
23 | body {
24 | width: 100%;
25 | height: 100%;
26 | position: relative;
27 | overflow: hidden;
28 | /*加载背景图*/
29 | background-image: none;
30 | /* 背景图垂直、水平均居中 */
31 | background-position: center center;
32 | /* 背景图不平铺 */
33 | background-repeat: no-repeat;
34 | /* 当内容高度大于图片高度时,背景图像的位置相对于viewport固定 此条属性必须设置否则可能无效 */
35 | background-attachment: fixed;
36 | /* 让背景图基于容器大小伸缩 */
37 | background-size: cover;
38 | /* 设置背景颜色,背景图加载过程中会显示背景色 */
39 | background-color: #cccccc;
40 | }
41 |
42 | html {
43 | font-family: 'Noto Sans SC Sliced', PingFangSC-Light, Microsoft YaHei UI, Microsoft YaHei, helvetica, sans-serif;
44 | font-weight: 300;
45 | color: #000;
46 | }
47 |
48 | .search,
49 | .wd,
50 | .s {
51 | padding: 0;
52 | margin: 0;
53 | border: none;
54 | outline: none;
55 | background: none;
56 | }
57 |
58 | .wd::-webkit-input-placeholder {
59 | color: #ccc;
60 | letter-spacing: 2px;
61 | font-size: 16px;
62 | }
63 |
64 | ul,
65 | li {
66 | display: block;
67 | list-style: none;
68 | }
69 |
70 | a {
71 | text-decoration: none;
72 | color: inherit;
73 | font:inherit;
74 | }
75 |
76 | #content {
77 | width: 100%;
78 | height: 100%;
79 | }
80 |
81 | .con {
82 | width: 100%;
83 | transition: 1s all;
84 | margin: auto;
85 | min-width: 320px;
86 | height: 380px;
87 | position: absolute;
88 | left: 0;
89 | top: -100px;
90 | right: 0;
91 | bottom: 0;
92 | }
93 |
94 | .con .shlogo {
95 | position: relative;
96 | width: 480px;
97 | height: 120px;
98 | margin: 20px auto;
99 | background: url("../icon/shlogo.png") no-repeat center/cover;
100 | /*background: none no-repeat center/cover;*/
101 | }
102 |
103 | .con .shlogo a {
104 | display: block;
105 | width: 100%;
106 | height: 100%;
107 | }
108 |
109 | .sou {
110 | max-width: 680px;
111 | height: 50px;
112 | }
113 |
114 | .con .sou {
115 | max-width: 680px;
116 | position: relative;
117 | width: calc(100% - 60px);
118 | min-width: 320px;
119 | margin: 0 auto;
120 | }
121 |
122 | .con .sou form {
123 | width: 100%;
124 | /*border: 1px solid #ddd;*/
125 | height: 50px;
126 | display: block;
127 | margin: 10px auto 30px;
128 | position: relative;
129 | }
130 |
131 | .sou form .se {
132 | width: 40px;
133 | height: 40px;
134 | display: block;
135 | position: absolute;
136 | z-index: 10;
137 | left: 6px;
138 | top: 6px;
139 | cursor: pointer;
140 | font-size: 22px;
141 | line-height: 40px;
142 | border-radius: 50%;
143 | color: #777;
144 | }
145 |
146 | .sou form .se:hover {
147 | opacity: 0.7;
148 | filter:alpha(opacity=70); /* IE8 及其更早版本 */
149 | -moz-opacity: 0.7;
150 | }
151 |
152 | .con .sou form .wd {
153 | width: 100%;
154 | height: 100%;
155 | display: block;
156 | border: 1px solid #ddd;
157 | border-radius: 25px;
158 | line-height: 100%;
159 | text-indent: 55px;
160 | font-size: 18px;
161 | }
162 |
163 | /*.con .sou form .wd:focus {*/
164 | /* background: #fff;*/
165 | /* box-shadow: 0 1px 6px 0 rgba(32, 33, 36, 0.28);*/
166 | /* border-color: #fff*/
167 | /*}*/
168 |
169 | .sou form .s {
170 | width: 40px;
171 | height: 40px;
172 | display: block;
173 | position: absolute;
174 | z-index: 10;
175 | right: 6px;
176 | top: 6px;
177 | cursor: pointer;
178 | font-size: 22px;
179 | line-height: 40px;
180 | border-radius: 50%;
181 | color: #777;
182 | }
183 |
184 | #keywords {
185 | position: absolute;
186 | top: 60px;
187 | left: 0;
188 | width: 100%;
189 | background: #FFF;
190 | padding: 0 0;
191 | border-radius: 5px;
192 | box-shadow: 0 5px 20px 0 #d8d7d7;
193 | transition: all 0.3s;
194 | display: none;
195 | z-index: 999;
196 | box-sizing: border-box;
197 | max-height: 208px;
198 | overflow-x: hidden;
199 | }
200 |
201 | #keywords li {
202 | box-sizing: border-box;
203 | white-space: nowrap;
204 | overflow: hidden;
205 | text-overflow: ellipsis;
206 | cursor: pointer;
207 | line-height: 1.1;
208 | font-size: 1.1em;
209 | padding: 4px .681818em;
210 | margin: 0 auto;
211 | position: static;
212 | }
213 |
214 | .keyword-active {
215 | font-weight: bold;
216 | }
217 |
218 | .search-engine {
219 | position: absolute;
220 | top: 60px;
221 | left: 0;
222 | width: 100%;
223 | background: #FFF;
224 | padding: 15px 0 0 0;
225 | border-radius: 5px;
226 | box-shadow: 0 5px 20px 0 #d8d7d7;
227 | transition: all 0.3s;
228 | display: none;
229 | z-index: 999
230 | }
231 |
232 | .search-engine-head {
233 | overflow: hidden;
234 | text-indent: 20px;
235 | margin-bottom: 10px;
236 | padding-right: 15px;
237 | }
238 |
239 | .search-engine-tit {
240 | float: left;
241 | margin: 0;
242 | font-size: 14px;
243 | color: #999;
244 | }
245 |
246 | .search-engine ul {
247 | padding: 0;
248 | height: 40px;
249 | margin: 0 auto;
250 | justify-content: left;
251 | }
252 |
253 | .search-engine-tip {
254 | width: 0;
255 | height: 0;
256 | position: absolute;
257 | top: -15px;
258 | left: 15px;
259 | border-top: 8px solid transparent;
260 | border-right: 8px solid transparent;
261 | border-bottom: 8px solid #fff;
262 | border-left: 8px solid transparent;
263 |
264 | }
265 |
266 | .search-engine-list::after {
267 | content: '';
268 | width: 70px;
269 | height: 18px;
270 | position: absolute;
271 | top: -17px;
272 | left: 1px;
273 | }
274 |
275 | .search-engine-list li {
276 | float: left;
277 | width: 80px;
278 | height: 30px;
279 | line-height: 30px;
280 | text-align: left;
281 | font-size: 14px;
282 | left: 15px;
283 | padding: 5px 10px 5px 10px;
284 | margin: 0 10px 10px 0;
285 | background: #f9f9f9;
286 | color: #999;
287 | cursor: pointer;
288 | list-style: none;
289 | position: relative;
290 | border-radius: 10px;
291 | text-overflow: ellipsis;
292 | overflow: hidden;
293 | white-space: nowrap;
294 | }
295 |
296 | .search-engine-list li img {
297 | width: 25px;
298 | height: 25px;
299 | border-radius: 15px;
300 | float: left;
301 | margin-right: 5px;
302 | margin-top: 2px;
303 | }
304 |
305 | .quick-div {
306 | margin: 0 auto;
307 | width: 100%;
308 | justify-content: left;
309 | }
310 |
311 | .quick-ul {
312 | }
313 |
314 | .quick {
315 | width: 17%;
316 | height: 40px;
317 | margin: 5px 3px;
318 | left: 30px;
319 | float: left;
320 | -webkit-tap-highlight-color: transparent;
321 | background: #eee;
322 | font-size: 16px;
323 | line-height: 40px;
324 | text-align: left;
325 | text-indent: 40px;
326 | text-overflow: ellipsis;
327 | cursor: pointer;
328 | position: relative;
329 | border-radius: 10px;
330 | overflow: hidden;
331 | white-space: nowrap;
332 | }
333 |
334 | .quick:active {
335 | background: #fff;
336 | box-shadow: 0 1px 20px 0 rgba(0, 0, 0, .1);
337 | }
338 |
339 | .quick i {
340 | position: absolute;
341 | display: block;
342 | width: 40px;
343 | height: 40px;
344 | left: 0;
345 | border-radius: 50%;
346 | background-size: cover;
347 | background-repeat: no-repeat;
348 | background-position: center;
349 | transform: scale(0.7);
350 | }
351 |
352 | .foot {
353 | position: absolute;
354 | bottom: 10px;
355 | z-index: 1000;
356 | text-align: center;
357 | width: 100%;
358 | color: #999;
359 | height: 20px;
360 | line-height: 20px;
361 | font-size: 12px;
362 | }
363 |
364 |
365 | #menu {
366 | width: 50px;
367 | height: 50px;
368 | transform: scale(0.8);
369 | position: absolute;
370 | right: 10px;
371 | top: 5px;
372 | z-index: 2000000;
373 | cursor: pointer;
374 | transition: 0.5s;
375 | }
376 |
377 | #menu i {
378 | position: absolute;
379 | left: 0;
380 | right: 0;
381 | margin: 24px auto;
382 | width: 30px;
383 | height: 2px;
384 | background: #777;
385 | }
386 |
387 | #menu i:before {
388 | content: '';
389 | width: 20px;
390 | height: 2px;
391 | top: -8px;
392 | background: #777;
393 | position: absolute;
394 | right: 0;
395 | }
396 |
397 | #menu i:after {
398 | content: '';
399 | width: 20px;
400 | height: 2px;
401 | bottom: -8px;
402 | background: #777;
403 | position: absolute;
404 | left: 0;
405 | }
406 |
407 | #menu.on {
408 | right: 380px;
409 | background: #29f;
410 | border-radius: 25px;
411 | box-shadow: 0 6px 8px rgba(36, 159, 253, .3);
412 | }
413 |
414 | #menu.on i {
415 | width: 20px;
416 | background: #fff;
417 | }
418 |
419 | #menu.on i:before {
420 | top: -5px;
421 | transform: rotate(45deg);
422 | width: 14px;
423 | right: -1px;
424 | left: auto;
425 | background: #fff;
426 | }
427 |
428 | #menu.on i:after {
429 | bottom: -5px;
430 | transform: rotate(-45deg);
431 | width: 14px;
432 | right: -1px;
433 | left: auto;
434 | background: #fff;
435 | }
436 |
437 | .side {
438 | width: 357px;
439 | padding: 0 10px;
440 | height: 100%;
441 | position: absolute;
442 | right: 0;
443 | z-index: 2000;
444 | background: #222d46;
445 | transition: 0.3s all linear;
446 | }
447 |
448 | .side.closed {
449 | right: -380px;
450 | }
451 |
452 | .tab-nav {
453 | overflow: hidden;
454 | height: 5%;
455 | }
456 |
457 | .tab-nav a {
458 | display: block;
459 | float: left;
460 | width: 60px;
461 | height: 30px;
462 | line-height: 30px;
463 | text-align: center;
464 | text-decoration: none;
465 | color: #999;
466 |
467 | }
468 |
469 | .tab-nav a.current {
470 | background: rgba(0, 27, 26, 0.28);
471 | color: #fff;
472 | }
473 |
474 | .tab-con {
475 | position: relative;
476 | width: 357px;
477 | height: 95%;
478 | overflow: hidden;
479 | }
480 |
481 | .j-tab-con {
482 | height: 100%;
483 | }
484 |
485 | .tab-con-item {
486 | height: 100%;
487 | width: 357px;
488 | display: none;
489 | overflow: hidden;
490 | overflow-y: auto;
491 | }
492 |
493 | .list ul {
494 | height: 100%;
495 | float: left;
496 | margin-bottom: 20px;
497 |
498 | }
499 |
500 | .list ul li {
501 | float: left;
502 | margin: 5px;
503 | width: 100px;
504 | height: 30px;
505 | text-align: left;
506 | line-height: 30px;
507 | }
508 |
509 | .list ul li a {
510 | width: 100%;
511 | border-radius: 5px;
512 | transition: 0.2s all linear;
513 | height: 100%;
514 | display: block;
515 | color: #fff;
516 | font-weight: 500;
517 | background: #293550;
518 | text-align: left;
519 | font-size: 12px;
520 | }
521 |
522 | .list ul li a i {
523 | margin-right: 5px;
524 | margin-left: 15px;
525 | transition: 0.2s all linear;
526 | }
527 |
528 | .list ul li a i.iconfont {
529 | font-size: 14px;
530 | }
531 |
532 | .list ul li:hover a {
533 | color: #fff;
534 | background-color: #29f;
535 | background-image: linear-gradient(135deg, rgba(35, 153, 255, 0) , rgba(84, 175, 253, 1));
536 | box-shadow: 0 3px 3px rgba(0, 40, 70, .3);
537 | }
538 |
539 | .list ul li:hover a i {
540 | color: #fff !important;
541 | }
542 |
543 | .list ul li.title {
544 | width: 100%;
545 | height: 40px;
546 | line-height: 40px;
547 | margin: 10px 0 0;
548 | text-align: left;
549 | text-indent: 10px;
550 | /*border-bottom: 1px dashed #dedede;*/
551 | color: #fff;
552 | font-size: 18px;
553 | font-weight: bold;
554 | }
555 |
556 | .list ul li.title i {
557 | color: #29f;
558 | margin-right: 5px;
559 | font-weight: normal;
560 | }
561 |
562 | .set {
563 |
564 | }
565 |
566 | .set_blocks {
567 | background: rgb(221, 221, 221);
568 | margin-top: 10px;
569 | border-radius: 5px;
570 | }
571 |
572 | .set_blocks_title {
573 | font-size: 14px;
574 | background-color: rgb(65, 110, 152);
575 | color: #fff;
576 | padding: 10px 15px;
577 | border-top-right-radius: 5px;
578 | border-top-left-radius: 5px;
579 | }
580 |
581 | .set_blocks_content {
582 | font-size: 14px;
583 | padding: 10px 15px;
584 | }
585 |
586 | .set_blocks_content table {
587 | font-size: 14px;
588 | text-align: right;
589 | width: 100%;
590 | border-collapse: collapse;
591 | }
592 |
593 | .set_blocks_content table tr td:nth-child(2) {
594 | text-align: left;
595 | }
596 |
597 | .set_blocks_content table tr td {
598 | border-bottom: 1px solid;
599 | border-color: rgb(71, 144, 191);
600 | }
601 |
602 | .set_blocks_content button {
603 | background: none;
604 | border: 1px solid rgb(72, 91, 94);
605 | border-radius: 3px;
606 | }
607 |
608 | .set_blocks_content button:hover {
609 | border: 2px solid #485b5e;
610 | }
611 |
612 | .set_blocks_content button:active {
613 | color: #fff;
614 | background-color: #599cff;
615 | }
616 |
617 | .set_blocks_content .se_add_preinstall {
618 | margin-top: 10px;
619 | text-align: center;
620 | }
621 |
622 | .set_blocks_content .se_add_preinstall button {
623 | width: 40%;
624 | height: 20px;
625 | border: 1px solid #485b5e;
626 | border-radius: 3px;
627 | text-align: center;
628 | background: none;
629 | }
630 |
631 | .set_blocks_content .se_add_preinstall button:active {
632 | color: #fff;
633 | background-color: #599cff;
634 | }
635 |
636 | .add_content {
637 | border: 1px solid #599cff;
638 | border-radius: 3px;
639 | margin-top: 10px;
640 | padding: 8px 12px;
641 | }
642 |
643 | .add_content .from_items {
644 | margin-top: 5px;
645 | margin-bottom: 5px;
646 | }
647 |
648 | .add_content input {
649 | width: 100%;
650 | }
651 |
652 | .add_content .button {
653 | text-align: center;
654 | }
655 |
656 | .add_content button {
657 | width: 30%;
658 | height: 20px;
659 | border: 1px solid #485b5e;
660 | border-radius: 3px;
661 | text-align: center;
662 | background: none;
663 | margin: 0 10px;
664 | }
665 |
666 | .add_content .se_add_save:active {
667 | color: #fff;
668 | background-color: #21ff2c;
669 | }
670 |
671 | .add_content .se_add_cancel:active {
672 | color: #fff;
673 | background-color: #599cff;
674 | }
675 |
676 | .but-ordinary {
677 | width: 25%;
678 | height: 20px;
679 | border-radius: 3px;
680 | text-align: center;
681 | background: none;
682 | margin: 0 10px;
683 | }
684 |
685 | .but-active {
686 | color: #fff;
687 | background: #599cff;
688 | border: 2px solid #485b5e;
689 | }
690 |
691 | .me {
692 | text-align: center;
693 | color: #fff;
694 | }
695 |
696 | /*表单样式*/
697 | .from_container {
698 | border: 1px solid #599cff;
699 | border-radius: 3px;
700 | margin-top: 10px;
701 | padding: 8px 12px;
702 | }
703 |
704 | .from_row {
705 | margin: 10px 0;
706 | }
707 |
708 | .from_row_title {
709 | margin: 5px 0;
710 | }
711 |
712 | .from_row_content {
713 | margin: 5px 0;
714 | }
715 |
716 | .from_row_content input[type="text"] {
717 | width: 100%
718 | }
719 | .from_row_content input[type="radio"] {
720 | margin-left: 10px;
721 | }
722 |
723 | .right {
724 | text-align: right;
725 | }
726 |
727 | .left {
728 | text-align: left;
729 | }
730 |
731 | @media (max-width: 720px) {
732 | .con {
733 | top: 0;
734 | }
735 |
736 | .con .shlogo {
737 | width: 320px;
738 | height: 100px;
739 | }
740 |
741 | .con .sou form .wd:focus {
742 | background: #f1f1f1;
743 | box-shadow: none;
744 | border-color: #ccc
745 | }
746 |
747 | .con .sou form button {
748 | border-radius: 25px;
749 | }
750 |
751 | #menu.on {
752 | right: 270px;
753 | }
754 |
755 | .side {
756 | width: 227px;
757 | }
758 |
759 | .tab-con {
760 | width: 227px;
761 | }
762 |
763 | .tab-con-item {
764 | width: 227px;
765 | }
766 |
767 | .side ul {
768 | width: 220px;
769 | }
770 |
771 | .con .sou ul li {
772 | width: 100px;
773 | font-size: 12px;
774 | }
775 |
776 | .quick {
777 | left: 0;
778 | }
779 |
780 | .home,
781 | #menu {
782 | top: 5px;
783 | }
784 | }
785 |
786 | @media (max-height: 420px) {
787 | .con {
788 | margin: 0;
789 | top: 0;
790 | }
791 |
792 | .con .sou form .wd {
793 | text-indent: 50px;
794 | }
795 |
796 | .con .sou form:after {
797 | content: "";
798 | display: block;
799 | width: 30px;
800 | height: 30px;
801 | position: absolute;
802 | left: 10px;
803 | top: 10px;
804 | /*background: url(icon/lg.svg) no-repeat center/cover;*/
805 | border-radius: 50%;
806 | overflow: hidden;
807 | }
808 |
809 | .con .shlogo {
810 | display: none;
811 | }
812 |
813 | .home,
814 | #menu,
815 | .foot {
816 | display: none;
817 | }
818 | }
819 |
820 | ::-webkit-scrollbar {
821 | width: 6px;
822 | height: 6px;
823 | }
824 |
825 | ::-webkit-scrollbar-track {
826 | background: #222d46;
827 | border-radius: 0;
828 | }
829 |
830 | ::-webkit-scrollbar-thumb {
831 | background: #293550;
832 | border-radius: 0;
833 | }
834 |
835 | ::-webkit-scrollbar-thumb:hover {
836 | background: #293550;
837 | }
838 |
839 | ::-webkit-scrollbar-corner {
840 | background: #222d46;
841 | }
--------------------------------------------------------------------------------
/font_1230786_swt4kkie8ym/demo.css:
--------------------------------------------------------------------------------
1 | /* Logo 字体 */
2 | @font-face {
3 | font-family: "iconfont logo";
4 | src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
5 | src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
6 | url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
7 | url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
8 | url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
9 | }
10 |
11 | .logo {
12 | font-family: "iconfont logo";
13 | font-size: 160px;
14 | font-style: normal;
15 | -webkit-font-smoothing: antialiased;
16 | -moz-osx-font-smoothing: grayscale;
17 | }
18 |
19 | /* tabs */
20 | .nav-tabs {
21 | position: relative;
22 | }
23 |
24 | .nav-tabs .nav-more {
25 | position: absolute;
26 | right: 0;
27 | bottom: 0;
28 | height: 42px;
29 | line-height: 42px;
30 | color: #666;
31 | }
32 |
33 | #tabs {
34 | border-bottom: 1px solid #eee;
35 | }
36 |
37 | #tabs li {
38 | cursor: pointer;
39 | width: 100px;
40 | height: 40px;
41 | line-height: 40px;
42 | text-align: center;
43 | font-size: 16px;
44 | border-bottom: 2px solid transparent;
45 | position: relative;
46 | z-index: 1;
47 | margin-bottom: -1px;
48 | color: #666;
49 | }
50 |
51 |
52 | #tabs .active {
53 | border-bottom-color: #f00;
54 | color: #222;
55 | }
56 |
57 | .tab-container .content {
58 | display: none;
59 | }
60 |
61 | /* 页面布局 */
62 | .main {
63 | padding: 30px 100px;
64 | width: 960px;
65 | margin: 0 auto;
66 | }
67 |
68 | .main .logo {
69 | color: #333;
70 | text-align: left;
71 | margin-bottom: 30px;
72 | line-height: 1;
73 | height: 110px;
74 | margin-top: -50px;
75 | overflow: hidden;
76 | *zoom: 1;
77 | }
78 |
79 | .main .logo a {
80 | font-size: 160px;
81 | color: #333;
82 | }
83 |
84 | .helps {
85 | margin-top: 40px;
86 | }
87 |
88 | .helps pre {
89 | padding: 20px;
90 | margin: 10px 0;
91 | border: solid 1px #e7e1cd;
92 | background-color: #fffdef;
93 | overflow: auto;
94 | }
95 |
96 | .icon_lists {
97 | width: 100% !important;
98 | overflow: hidden;
99 | *zoom: 1;
100 | }
101 |
102 | .icon_lists li {
103 | width: 100px;
104 | margin-bottom: 10px;
105 | margin-right: 20px;
106 | text-align: center;
107 | list-style: none !important;
108 | cursor: default;
109 | }
110 |
111 | .icon_lists li .code-name {
112 | line-height: 1.2;
113 | }
114 |
115 | .icon_lists .icon {
116 | display: block;
117 | height: 100px;
118 | line-height: 100px;
119 | font-size: 42px;
120 | margin: 10px auto;
121 | color: #333;
122 | -webkit-transition: font-size 0.25s linear, width 0.25s linear;
123 | -moz-transition: font-size 0.25s linear, width 0.25s linear;
124 | transition: font-size 0.25s linear, width 0.25s linear;
125 | }
126 |
127 | .icon_lists .icon:hover {
128 | font-size: 100px;
129 | }
130 |
131 | .icon_lists .svg-icon {
132 | /* 通过设置 font-size 来改变图标大小 */
133 | width: 1em;
134 | /* 图标和文字相邻时,垂直对齐 */
135 | vertical-align: -0.15em;
136 | /* 通过设置 color 来改变 SVG 的颜色/fill */
137 | fill: currentColor;
138 | /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
139 | normalize.css 中也包含这行 */
140 | overflow: hidden;
141 | }
142 |
143 | .icon_lists li .name,
144 | .icon_lists li .code-name {
145 | color: #666;
146 | }
147 |
148 | /* markdown 样式 */
149 | .markdown {
150 | color: #666;
151 | font-size: 14px;
152 | line-height: 1.8;
153 | }
154 |
155 | .highlight {
156 | line-height: 1.5;
157 | }
158 |
159 | .markdown img {
160 | vertical-align: middle;
161 | max-width: 100%;
162 | }
163 |
164 | .markdown h1 {
165 | color: #404040;
166 | font-weight: 500;
167 | line-height: 40px;
168 | margin-bottom: 24px;
169 | }
170 |
171 | .markdown h2,
172 | .markdown h3,
173 | .markdown h4,
174 | .markdown h5,
175 | .markdown h6 {
176 | color: #404040;
177 | margin: 1.6em 0 0.6em 0;
178 | font-weight: 500;
179 | clear: both;
180 | }
181 |
182 | .markdown h1 {
183 | font-size: 28px;
184 | }
185 |
186 | .markdown h2 {
187 | font-size: 22px;
188 | }
189 |
190 | .markdown h3 {
191 | font-size: 16px;
192 | }
193 |
194 | .markdown h4 {
195 | font-size: 14px;
196 | }
197 |
198 | .markdown h5 {
199 | font-size: 12px;
200 | }
201 |
202 | .markdown h6 {
203 | font-size: 12px;
204 | }
205 |
206 | .markdown hr {
207 | height: 1px;
208 | border: 0;
209 | background: #e9e9e9;
210 | margin: 16px 0;
211 | clear: both;
212 | }
213 |
214 | .markdown p {
215 | margin: 1em 0;
216 | }
217 |
218 | .markdown>p,
219 | .markdown>blockquote,
220 | .markdown>.highlight,
221 | .markdown>ol,
222 | .markdown>ul {
223 | width: 80%;
224 | }
225 |
226 | .markdown ul>li {
227 | list-style: circle;
228 | }
229 |
230 | .markdown>ul li,
231 | .markdown blockquote ul>li {
232 | margin-left: 20px;
233 | padding-left: 4px;
234 | }
235 |
236 | .markdown>ul li p,
237 | .markdown>ol li p {
238 | margin: 0.6em 0;
239 | }
240 |
241 | .markdown ol>li {
242 | list-style: decimal;
243 | }
244 |
245 | .markdown>ol li,
246 | .markdown blockquote ol>li {
247 | margin-left: 20px;
248 | padding-left: 4px;
249 | }
250 |
251 | .markdown code {
252 | margin: 0 3px;
253 | padding: 0 5px;
254 | background: #eee;
255 | border-radius: 3px;
256 | }
257 |
258 | .markdown strong,
259 | .markdown b {
260 | font-weight: 600;
261 | }
262 |
263 | .markdown>table {
264 | border-collapse: collapse;
265 | border-spacing: 0px;
266 | empty-cells: show;
267 | border: 1px solid #e9e9e9;
268 | width: 95%;
269 | margin-bottom: 24px;
270 | }
271 |
272 | .markdown>table th {
273 | white-space: nowrap;
274 | color: #333;
275 | font-weight: 600;
276 | }
277 |
278 | .markdown>table th,
279 | .markdown>table td {
280 | border: 1px solid #e9e9e9;
281 | padding: 8px 16px;
282 | text-align: left;
283 | }
284 |
285 | .markdown>table th {
286 | background: #F7F7F7;
287 | }
288 |
289 | .markdown blockquote {
290 | font-size: 90%;
291 | color: #999;
292 | border-left: 4px solid #e9e9e9;
293 | padding-left: 0.8em;
294 | margin: 1em 0;
295 | }
296 |
297 | .markdown blockquote p {
298 | margin: 0;
299 | }
300 |
301 | .markdown .anchor {
302 | opacity: 0;
303 | transition: opacity 0.3s ease;
304 | margin-left: 8px;
305 | }
306 |
307 | .markdown .waiting {
308 | color: #ccc;
309 | }
310 |
311 | .markdown h1:hover .anchor,
312 | .markdown h2:hover .anchor,
313 | .markdown h3:hover .anchor,
314 | .markdown h4:hover .anchor,
315 | .markdown h5:hover .anchor,
316 | .markdown h6:hover .anchor {
317 | opacity: 1;
318 | display: inline-block;
319 | }
320 |
321 | .markdown>br,
322 | .markdown>p>br {
323 | clear: both;
324 | }
325 |
326 |
327 | .hljs {
328 | display: block;
329 | background: white;
330 | padding: 0.5em;
331 | color: #333333;
332 | overflow-x: auto;
333 | }
334 |
335 | .hljs-comment,
336 | .hljs-meta {
337 | color: #969896;
338 | }
339 |
340 | .hljs-string,
341 | .hljs-variable,
342 | .hljs-template-variable,
343 | .hljs-strong,
344 | .hljs-emphasis,
345 | .hljs-quote {
346 | color: #df5000;
347 | }
348 |
349 | .hljs-keyword,
350 | .hljs-selector-tag,
351 | .hljs-type {
352 | color: #a71d5d;
353 | }
354 |
355 | .hljs-literal,
356 | .hljs-symbol,
357 | .hljs-bullet,
358 | .hljs-attribute {
359 | color: #0086b3;
360 | }
361 |
362 | .hljs-section,
363 | .hljs-name {
364 | color: #63a35c;
365 | }
366 |
367 | .hljs-tag {
368 | color: #333333;
369 | }
370 |
371 | .hljs-title,
372 | .hljs-attr,
373 | .hljs-selector-id,
374 | .hljs-selector-class,
375 | .hljs-selector-attr,
376 | .hljs-selector-pseudo {
377 | color: #795da3;
378 | }
379 |
380 | .hljs-addition {
381 | color: #55a532;
382 | background-color: #eaffea;
383 | }
384 |
385 | .hljs-deletion {
386 | color: #bd2c00;
387 | background-color: #ffecec;
388 | }
389 |
390 | .hljs-link {
391 | text-decoration: underline;
392 | }
393 |
394 | /* 代码高亮 */
395 | /* PrismJS 1.15.0
396 | https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
397 | /**
398 | * prism.js default theme for JavaScript, CSS and HTML
399 | * Based on dabblet (http://dabblet.com)
400 | * @author Lea Verou
401 | */
402 | code[class*="language-"],
403 | pre[class*="language-"] {
404 | color: black;
405 | background: none;
406 | text-shadow: 0 1px white;
407 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
408 | text-align: left;
409 | white-space: pre;
410 | word-spacing: normal;
411 | word-break: normal;
412 | word-wrap: normal;
413 | line-height: 1.5;
414 |
415 | -moz-tab-size: 4;
416 | -o-tab-size: 4;
417 | tab-size: 4;
418 |
419 | -webkit-hyphens: none;
420 | -moz-hyphens: none;
421 | -ms-hyphens: none;
422 | hyphens: none;
423 | }
424 |
425 | pre[class*="language-"]::-moz-selection,
426 | pre[class*="language-"] ::-moz-selection,
427 | code[class*="language-"]::-moz-selection,
428 | code[class*="language-"] ::-moz-selection {
429 | text-shadow: none;
430 | background: #b3d4fc;
431 | }
432 |
433 | pre[class*="language-"]::selection,
434 | pre[class*="language-"] ::selection,
435 | code[class*="language-"]::selection,
436 | code[class*="language-"] ::selection {
437 | text-shadow: none;
438 | background: #b3d4fc;
439 | }
440 |
441 | @media print {
442 |
443 | code[class*="language-"],
444 | pre[class*="language-"] {
445 | text-shadow: none;
446 | }
447 | }
448 |
449 | /* Code blocks */
450 | pre[class*="language-"] {
451 | padding: 1em;
452 | margin: .5em 0;
453 | overflow: auto;
454 | }
455 |
456 | :not(pre)>code[class*="language-"],
457 | pre[class*="language-"] {
458 | background: #f5f2f0;
459 | }
460 |
461 | /* Inline code */
462 | :not(pre)>code[class*="language-"] {
463 | padding: .1em;
464 | border-radius: .3em;
465 | white-space: normal;
466 | }
467 |
468 | .token.comment,
469 | .token.prolog,
470 | .token.doctype,
471 | .token.cdata {
472 | color: slategray;
473 | }
474 |
475 | .token.punctuation {
476 | color: #999;
477 | }
478 |
479 | .namespace {
480 | opacity: .7;
481 | }
482 |
483 | .token.property,
484 | .token.tag,
485 | .token.boolean,
486 | .token.number,
487 | .token.constant,
488 | .token.symbol,
489 | .token.deleted {
490 | color: #905;
491 | }
492 |
493 | .token.selector,
494 | .token.attr-name,
495 | .token.string,
496 | .token.char,
497 | .token.builtin,
498 | .token.inserted {
499 | color: #690;
500 | }
501 |
502 | .token.operator,
503 | .token.entity,
504 | .token.url,
505 | .language-css .token.string,
506 | .style .token.string {
507 | color: #9a6e3a;
508 | background: hsla(0, 0%, 100%, .5);
509 | }
510 |
511 | .token.atrule,
512 | .token.attr-value,
513 | .token.keyword {
514 | color: #07a;
515 | }
516 |
517 | .token.function,
518 | .token.class-name {
519 | color: #DD4A68;
520 | }
521 |
522 | .token.regex,
523 | .token.important,
524 | .token.variable {
525 | color: #e90;
526 | }
527 |
528 | .token.important,
529 | .token.bold {
530 | font-weight: bold;
531 | }
532 |
533 | .token.italic {
534 | font-style: italic;
535 | }
536 |
537 | .token.entity {
538 | cursor: help;
539 | }
540 |
--------------------------------------------------------------------------------
/font_1230786_swt4kkie8ym/iconfont.css:
--------------------------------------------------------------------------------
1 | @font-face {font-family: "iconfont";
2 | src: url('iconfont.eot?t=1561962427119'); /* IE9 */
3 | src: url('iconfont.eot?t=1561962427119#iefix') format('embedded-opentype'), /* IE6-IE8 */
4 | url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
5 | url('iconfont.woff?t=1561962427119') format('woff'),
6 | url('iconfont.ttf?t=1561962427119') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
7 | url('iconfont.svg?t=1561962427119#iconfont') format('svg'); /* iOS 4.1- */
8 | }
9 |
10 | .iconfont {
11 | font-family: "iconfont" !important;
12 | font-size: 16px;
13 | font-style: normal;
14 | -webkit-font-smoothing: antialiased;
15 | -moz-osx-font-smoothing: grayscale;
16 | }
17 |
18 | .icon-douban:before {
19 | content: "\e600";
20 | }
21 |
22 | .icon-wode:before {
23 | content: "\e660";
24 | }
25 |
26 | .icon-msg:before {
27 | content: "\e61c";
28 | }
29 |
30 | .icon-99:before {
31 | content: "\e6bf";
32 | }
33 |
34 | .icon-baiduyun:before {
35 | content: "\e622";
36 | }
37 |
38 | .icon-wangluo1:before {
39 | content: "\e687";
40 | }
41 |
42 | .icon-ip:before {
43 | content: "\e64f";
44 | }
45 |
46 | .icon-jshunxiao:before {
47 | content: "\e645";
48 | }
49 |
50 | .icon-huaban:before {
51 | content: "\e690";
52 | }
53 |
54 | .icon-github:before {
55 | content: "\e709";
56 | }
57 |
58 | .icon-pinterest:before {
59 | content: "\e79a";
60 | }
61 |
62 | .icon-weibo:before {
63 | content: "\e63d";
64 | }
65 |
66 | .icon-youhuiquan:before {
67 | content: "\e65d";
68 | }
69 |
70 | .icon-juhuasuan:before {
71 | content: "\e779";
72 | }
73 |
74 | .icon-gmail:before {
75 | content: "\e89f";
76 | }
77 |
78 | .icon-windows:before {
79 | content: "\ebb1";
80 | }
81 |
82 | .icon-ai-tool:before {
83 | content: "\e627";
84 | }
85 |
86 | .icon-emizhifeiji:before {
87 | content: "\e649";
88 | }
89 |
90 | .icon-h5:before {
91 | content: "\e633";
92 | }
93 |
94 | .icon-xinlang:before {
95 | content: "\e604";
96 | }
97 |
98 | .icon-wangyi:before {
99 | content: "\e605";
100 | }
101 |
102 | .icon-bolezaixian:before {
103 | content: "\e6ea";
104 | }
105 |
106 | .icon-youxiang:before {
107 | content: "\e667";
108 | }
109 |
110 | .icon-aiqiyi:before {
111 | content: "\e719";
112 | }
113 |
114 | .icon-kongzhi:before {
115 | content: "\e60b";
116 | }
117 |
118 | .icon-gouwuche:before {
119 | content: "\e63b";
120 | }
121 |
122 | .icon-twitter:before {
123 | content: "\e69b";
124 | }
125 |
126 | .icon-wangluo:before {
127 | content: "\e617";
128 | }
129 |
130 | .icon-behance:before {
131 | content: "\e643";
132 | }
133 |
134 | .icon-zhanku:before {
135 | content: "\e66f";
136 | }
137 |
138 | .icon-amazon:before {
139 | content: "\e616";
140 | }
141 |
142 | .icon-eye:before {
143 | content: "\e722";
144 | }
145 |
146 | .icon-cloud-download:before {
147 | content: "\e61b";
148 | }
149 |
150 | .icon-gongju:before {
151 | content: "\e603";
152 | }
153 |
154 | .icon-ip2:before {
155 | content: "\e648";
156 | }
157 |
158 | .icon-fanyi:before {
159 | content: "\e6ba";
160 | }
161 |
162 | .icon-acfun:before {
163 | content: "\e68e";
164 | }
165 |
166 | .icon-yunyouxiang:before {
167 | content: "\e72e";
168 | }
169 |
170 | .icon-anzhuo:before {
171 | content: "\e64d";
172 | }
173 |
174 | .icon-youku:before {
175 | content: "\e619";
176 | }
177 |
178 | .icon-shipin:before {
179 | content: "\e677";
180 | }
181 |
182 | .icon-temai:before {
183 | content: "\e60f";
184 | }
185 |
186 | .icon-S:before {
187 | content: "\e67f";
188 | }
189 |
190 | .icon-youtube:before {
191 | content: "\e612";
192 | }
193 |
194 | .icon-feedly:before {
195 | content: "\e62e";
196 | }
197 |
198 | .icon-pingup:before {
199 | content: "\e651";
200 | }
201 |
202 | .icon-cdnjs:before {
203 | content: "\e665";
204 | }
205 |
206 | .icon-codepen:before {
207 | content: "\e689";
208 | }
209 |
210 | .icon-jingdong:before {
211 | content: "\e631";
212 | }
213 |
214 | .icon-taobao:before {
215 | content: "\e634";
216 | }
217 |
218 | .icon-sousuo:before {
219 | content: "\e61a";
220 | }
221 |
222 | .icon-kongzhitai:before {
223 | content: "\e654";
224 | }
225 |
226 | .icon-daohang:before {
227 | content: "\e611";
228 | }
229 |
230 | .icon-quxian:before {
231 | content: "\e61e";
232 | }
233 |
234 | .icon-QQ:before {
235 | content: "\e613";
236 | }
237 |
238 | .icon-base64:before {
239 | content: "\e84b";
240 | }
241 |
242 | .icon-instagram:before {
243 | content: "\e87f";
244 | }
245 |
246 | .icon-feiji:before {
247 | content: "\e704";
248 | }
249 |
250 | .icon-yinle:before {
251 | content: "\e7b8";
252 | }
253 |
254 | .icon-zhifeiji:before {
255 | content: "\e7d5";
256 | }
257 |
258 | .icon-sheji:before {
259 | content: "\eac1";
260 | }
261 |
262 | .icon-theater-masks:before {
263 | content: "\f0fd";
264 | }
265 |
266 | .icon-font-awesome:before {
267 | content: "\f1a7";
268 | }
269 |
270 | .icon-tengxunshipin:before {
271 | content: "\e636";
272 | }
273 |
274 | .icon-dianshi:before {
275 | content: "\e64b";
276 | }
277 |
278 | .icon-gongxiang:before {
279 | content: "\e608";
280 | }
281 |
282 | .icon-dribbble:before {
283 | content: "\e6ec";
284 | }
285 |
286 | .icon-google:before {
287 | content: "\e8f0";
288 | }
289 |
290 | .icon-jiaocheng:before {
291 | content: "\e62b";
292 | }
293 |
294 | .icon-cloudflare:before {
295 | content: "\e64c";
296 | }
297 |
298 | .icon-md:before {
299 | content: "\e6b5";
300 | }
301 |
302 | .icon-facebook:before {
303 | content: "\e7ff";
304 | }
305 |
306 | .icon-yanxuan:before {
307 | content: "\e609";
308 | }
309 |
310 | .icon-suning:before {
311 | content: "\e60c";
312 | }
313 |
314 | .icon-zhihu:before {
315 | content: "\e60d";
316 | }
317 |
318 | .icon-dangdang:before {
319 | content: "\e60e";
320 | }
321 |
322 | .icon-V:before {
323 | content: "\e610";
324 | }
325 |
326 | .icon-zimu:before {
327 | content: "\e614";
328 | }
329 |
330 | .icon-bili:before {
331 | content: "\e615";
332 | }
333 |
334 | .icon-iconfont:before {
335 | content: "\e618";
336 | }
337 |
338 | .icon-daohang1:before {
339 | content: "\e620";
340 | }
341 |
342 | .icon-yunbo:before {
343 | content: "\e621";
344 | }
345 |
346 | .icon-shilaimu:before {
347 | content: "\e61d";
348 | }
349 |
350 |
--------------------------------------------------------------------------------
/font_1230786_swt4kkie8ym/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/font_1230786_swt4kkie8ym/iconfont.eot
--------------------------------------------------------------------------------
/font_1230786_swt4kkie8ym/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/font_1230786_swt4kkie8ym/iconfont.ttf
--------------------------------------------------------------------------------
/font_1230786_swt4kkie8ym/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/font_1230786_swt4kkie8ym/iconfont.woff
--------------------------------------------------------------------------------
/font_1230786_swt4kkie8ym/iconfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/font_1230786_swt4kkie8ym/iconfont.woff2
--------------------------------------------------------------------------------
/font_1614281/demo.css:
--------------------------------------------------------------------------------
1 | /* Logo 字体 */
2 | @font-face {
3 | font-family: "iconfont logo";
4 | src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
5 | src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
6 | url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
7 | url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
8 | url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
9 | }
10 |
11 | .logo {
12 | font-family: "iconfont logo";
13 | font-size: 160px;
14 | font-style: normal;
15 | -webkit-font-smoothing: antialiased;
16 | -moz-osx-font-smoothing: grayscale;
17 | }
18 |
19 | /* tabs */
20 | .nav-tabs {
21 | position: relative;
22 | }
23 |
24 | .nav-tabs .nav-more {
25 | position: absolute;
26 | right: 0;
27 | bottom: 0;
28 | height: 42px;
29 | line-height: 42px;
30 | color: #666;
31 | }
32 |
33 | #tabs {
34 | border-bottom: 1px solid #eee;
35 | }
36 |
37 | #tabs li {
38 | cursor: pointer;
39 | width: 100px;
40 | height: 40px;
41 | line-height: 40px;
42 | text-align: center;
43 | font-size: 16px;
44 | border-bottom: 2px solid transparent;
45 | position: relative;
46 | z-index: 1;
47 | margin-bottom: -1px;
48 | color: #666;
49 | }
50 |
51 |
52 | #tabs .active {
53 | border-bottom-color: #f00;
54 | color: #222;
55 | }
56 |
57 | .tab-container .content {
58 | display: none;
59 | }
60 |
61 | /* 页面布局 */
62 | .main {
63 | padding: 30px 100px;
64 | width: 960px;
65 | margin: 0 auto;
66 | }
67 |
68 | .main .logo {
69 | color: #333;
70 | text-align: left;
71 | margin-bottom: 30px;
72 | line-height: 1;
73 | height: 110px;
74 | margin-top: -50px;
75 | overflow: hidden;
76 | *zoom: 1;
77 | }
78 |
79 | .main .logo a {
80 | font-size: 160px;
81 | color: #333;
82 | }
83 |
84 | .helps {
85 | margin-top: 40px;
86 | }
87 |
88 | .helps pre {
89 | padding: 20px;
90 | margin: 10px 0;
91 | border: solid 1px #e7e1cd;
92 | background-color: #fffdef;
93 | overflow: auto;
94 | }
95 |
96 | .icon_lists {
97 | width: 100% !important;
98 | overflow: hidden;
99 | *zoom: 1;
100 | }
101 |
102 | .icon_lists li {
103 | width: 100px;
104 | margin-bottom: 10px;
105 | margin-right: 20px;
106 | text-align: center;
107 | list-style: none !important;
108 | cursor: default;
109 | }
110 |
111 | .icon_lists li .code-name {
112 | line-height: 1.2;
113 | }
114 |
115 | .icon_lists .icon {
116 | display: block;
117 | height: 100px;
118 | line-height: 100px;
119 | font-size: 42px;
120 | margin: 10px auto;
121 | color: #333;
122 | -webkit-transition: font-size 0.25s linear, width 0.25s linear;
123 | -moz-transition: font-size 0.25s linear, width 0.25s linear;
124 | transition: font-size 0.25s linear, width 0.25s linear;
125 | }
126 |
127 | .icon_lists .icon:hover {
128 | font-size: 100px;
129 | }
130 |
131 | .icon_lists .svg-icon {
132 | /* 通过设置 font-size 来改变图标大小 */
133 | width: 1em;
134 | /* 图标和文字相邻时,垂直对齐 */
135 | vertical-align: -0.15em;
136 | /* 通过设置 color 来改变 SVG 的颜色/fill */
137 | fill: currentColor;
138 | /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
139 | normalize.css 中也包含这行 */
140 | overflow: hidden;
141 | }
142 |
143 | .icon_lists li .name,
144 | .icon_lists li .code-name {
145 | color: #666;
146 | }
147 |
148 | /* markdown 样式 */
149 | .markdown {
150 | color: #666;
151 | font-size: 14px;
152 | line-height: 1.8;
153 | }
154 |
155 | .highlight {
156 | line-height: 1.5;
157 | }
158 |
159 | .markdown img {
160 | vertical-align: middle;
161 | max-width: 100%;
162 | }
163 |
164 | .markdown h1 {
165 | color: #404040;
166 | font-weight: 500;
167 | line-height: 40px;
168 | margin-bottom: 24px;
169 | }
170 |
171 | .markdown h2,
172 | .markdown h3,
173 | .markdown h4,
174 | .markdown h5,
175 | .markdown h6 {
176 | color: #404040;
177 | margin: 1.6em 0 0.6em 0;
178 | font-weight: 500;
179 | clear: both;
180 | }
181 |
182 | .markdown h1 {
183 | font-size: 28px;
184 | }
185 |
186 | .markdown h2 {
187 | font-size: 22px;
188 | }
189 |
190 | .markdown h3 {
191 | font-size: 16px;
192 | }
193 |
194 | .markdown h4 {
195 | font-size: 14px;
196 | }
197 |
198 | .markdown h5 {
199 | font-size: 12px;
200 | }
201 |
202 | .markdown h6 {
203 | font-size: 12px;
204 | }
205 |
206 | .markdown hr {
207 | height: 1px;
208 | border: 0;
209 | background: #e9e9e9;
210 | margin: 16px 0;
211 | clear: both;
212 | }
213 |
214 | .markdown p {
215 | margin: 1em 0;
216 | }
217 |
218 | .markdown>p,
219 | .markdown>blockquote,
220 | .markdown>.highlight,
221 | .markdown>ol,
222 | .markdown>ul {
223 | width: 80%;
224 | }
225 |
226 | .markdown ul>li {
227 | list-style: circle;
228 | }
229 |
230 | .markdown>ul li,
231 | .markdown blockquote ul>li {
232 | margin-left: 20px;
233 | padding-left: 4px;
234 | }
235 |
236 | .markdown>ul li p,
237 | .markdown>ol li p {
238 | margin: 0.6em 0;
239 | }
240 |
241 | .markdown ol>li {
242 | list-style: decimal;
243 | }
244 |
245 | .markdown>ol li,
246 | .markdown blockquote ol>li {
247 | margin-left: 20px;
248 | padding-left: 4px;
249 | }
250 |
251 | .markdown code {
252 | margin: 0 3px;
253 | padding: 0 5px;
254 | background: #eee;
255 | border-radius: 3px;
256 | }
257 |
258 | .markdown strong,
259 | .markdown b {
260 | font-weight: 600;
261 | }
262 |
263 | .markdown>table {
264 | border-collapse: collapse;
265 | border-spacing: 0px;
266 | empty-cells: show;
267 | border: 1px solid #e9e9e9;
268 | width: 95%;
269 | margin-bottom: 24px;
270 | }
271 |
272 | .markdown>table th {
273 | white-space: nowrap;
274 | color: #333;
275 | font-weight: 600;
276 | }
277 |
278 | .markdown>table th,
279 | .markdown>table td {
280 | border: 1px solid #e9e9e9;
281 | padding: 8px 16px;
282 | text-align: left;
283 | }
284 |
285 | .markdown>table th {
286 | background: #F7F7F7;
287 | }
288 |
289 | .markdown blockquote {
290 | font-size: 90%;
291 | color: #999;
292 | border-left: 4px solid #e9e9e9;
293 | padding-left: 0.8em;
294 | margin: 1em 0;
295 | }
296 |
297 | .markdown blockquote p {
298 | margin: 0;
299 | }
300 |
301 | .markdown .anchor {
302 | opacity: 0;
303 | transition: opacity 0.3s ease;
304 | margin-left: 8px;
305 | }
306 |
307 | .markdown .waiting {
308 | color: #ccc;
309 | }
310 |
311 | .markdown h1:hover .anchor,
312 | .markdown h2:hover .anchor,
313 | .markdown h3:hover .anchor,
314 | .markdown h4:hover .anchor,
315 | .markdown h5:hover .anchor,
316 | .markdown h6:hover .anchor {
317 | opacity: 1;
318 | display: inline-block;
319 | }
320 |
321 | .markdown>br,
322 | .markdown>p>br {
323 | clear: both;
324 | }
325 |
326 |
327 | .hljs {
328 | display: block;
329 | background: white;
330 | padding: 0.5em;
331 | color: #333333;
332 | overflow-x: auto;
333 | }
334 |
335 | .hljs-comment,
336 | .hljs-meta {
337 | color: #969896;
338 | }
339 |
340 | .hljs-string,
341 | .hljs-variable,
342 | .hljs-template-variable,
343 | .hljs-strong,
344 | .hljs-emphasis,
345 | .hljs-quote {
346 | color: #df5000;
347 | }
348 |
349 | .hljs-keyword,
350 | .hljs-selector-tag,
351 | .hljs-type {
352 | color: #a71d5d;
353 | }
354 |
355 | .hljs-literal,
356 | .hljs-symbol,
357 | .hljs-bullet,
358 | .hljs-attribute {
359 | color: #0086b3;
360 | }
361 |
362 | .hljs-section,
363 | .hljs-name {
364 | color: #63a35c;
365 | }
366 |
367 | .hljs-tag {
368 | color: #333333;
369 | }
370 |
371 | .hljs-title,
372 | .hljs-attr,
373 | .hljs-selector-id,
374 | .hljs-selector-class,
375 | .hljs-selector-attr,
376 | .hljs-selector-pseudo {
377 | color: #795da3;
378 | }
379 |
380 | .hljs-addition {
381 | color: #55a532;
382 | background-color: #eaffea;
383 | }
384 |
385 | .hljs-deletion {
386 | color: #bd2c00;
387 | background-color: #ffecec;
388 | }
389 |
390 | .hljs-link {
391 | text-decoration: underline;
392 | }
393 |
394 | /* 代码高亮 */
395 | /* PrismJS 1.15.0
396 | https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
397 | /**
398 | * prism.js default theme for JavaScript, CSS and HTML
399 | * Based on dabblet (http://dabblet.com)
400 | * @author Lea Verou
401 | */
402 | code[class*="language-"],
403 | pre[class*="language-"] {
404 | color: black;
405 | background: none;
406 | text-shadow: 0 1px white;
407 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
408 | text-align: left;
409 | white-space: pre;
410 | word-spacing: normal;
411 | word-break: normal;
412 | word-wrap: normal;
413 | line-height: 1.5;
414 |
415 | -moz-tab-size: 4;
416 | -o-tab-size: 4;
417 | tab-size: 4;
418 |
419 | -webkit-hyphens: none;
420 | -moz-hyphens: none;
421 | -ms-hyphens: none;
422 | hyphens: none;
423 | }
424 |
425 | pre[class*="language-"]::-moz-selection,
426 | pre[class*="language-"] ::-moz-selection,
427 | code[class*="language-"]::-moz-selection,
428 | code[class*="language-"] ::-moz-selection {
429 | text-shadow: none;
430 | background: #b3d4fc;
431 | }
432 |
433 | pre[class*="language-"]::selection,
434 | pre[class*="language-"] ::selection,
435 | code[class*="language-"]::selection,
436 | code[class*="language-"] ::selection {
437 | text-shadow: none;
438 | background: #b3d4fc;
439 | }
440 |
441 | @media print {
442 |
443 | code[class*="language-"],
444 | pre[class*="language-"] {
445 | text-shadow: none;
446 | }
447 | }
448 |
449 | /* Code blocks */
450 | pre[class*="language-"] {
451 | padding: 1em;
452 | margin: .5em 0;
453 | overflow: auto;
454 | }
455 |
456 | :not(pre)>code[class*="language-"],
457 | pre[class*="language-"] {
458 | background: #f5f2f0;
459 | }
460 |
461 | /* Inline code */
462 | :not(pre)>code[class*="language-"] {
463 | padding: .1em;
464 | border-radius: .3em;
465 | white-space: normal;
466 | }
467 |
468 | .token.comment,
469 | .token.prolog,
470 | .token.doctype,
471 | .token.cdata {
472 | color: slategray;
473 | }
474 |
475 | .token.punctuation {
476 | color: #999;
477 | }
478 |
479 | .namespace {
480 | opacity: .7;
481 | }
482 |
483 | .token.property,
484 | .token.tag,
485 | .token.boolean,
486 | .token.number,
487 | .token.constant,
488 | .token.symbol,
489 | .token.deleted {
490 | color: #905;
491 | }
492 |
493 | .token.selector,
494 | .token.attr-name,
495 | .token.string,
496 | .token.char,
497 | .token.builtin,
498 | .token.inserted {
499 | color: #690;
500 | }
501 |
502 | .token.operator,
503 | .token.entity,
504 | .token.url,
505 | .language-css .token.string,
506 | .style .token.string {
507 | color: #9a6e3a;
508 | background: hsla(0, 0%, 100%, .5);
509 | }
510 |
511 | .token.atrule,
512 | .token.attr-value,
513 | .token.keyword {
514 | color: #07a;
515 | }
516 |
517 | .token.function,
518 | .token.class-name {
519 | color: #DD4A68;
520 | }
521 |
522 | .token.regex,
523 | .token.important,
524 | .token.variable {
525 | color: #e90;
526 | }
527 |
528 | .token.important,
529 | .token.bold {
530 | font-weight: bold;
531 | }
532 |
533 | .token.italic {
534 | font-style: italic;
535 | }
536 |
537 | .token.entity {
538 | cursor: help;
539 | }
540 |
--------------------------------------------------------------------------------
/font_1614281/demo_index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IconFont Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | - Unicode
22 | - Font class
23 | - Symbol
24 |
25 |
26 |
查看项目
27 |
28 |
29 |
30 |
31 |
32 |
33 | -
34 |
35 |
home
36 | 
37 |
38 |
39 | -
40 |
41 |
警告
42 | 
43 |
44 |
45 | -
46 |
47 |
添加
48 | 
49 |
50 |
51 | -
52 |
53 |
close
54 | 
55 |
56 |
57 | -
58 |
59 |
user
60 | 
61 |
62 |
63 | -
64 |
65 |
edit
66 | 
67 |
68 |
69 | -
70 |
71 |
delete
72 | 
73 |
74 |
75 | -
76 |
77 |
align-left
78 | 
79 |
80 |
81 | -
82 |
83 |
plus
84 | 
85 |
86 |
87 | -
88 |
89 |
strore-add
90 | 
91 |
92 |
93 | -
94 |
95 |
set
96 | 
97 |
98 |
99 | -
100 |
101 |
book-edit
102 | 
103 |
104 |
105 |
106 |
107 |
Unicode 引用
108 |
109 |
110 |
Unicode 是字体在网页端最原始的应用方式,特点是:
111 |
112 | - 兼容性最好,支持 IE6+,及所有现代浏览器。
113 | - 支持按字体的方式去动态调整图标大小,颜色等等。
114 | - 但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。
115 |
116 |
117 | 注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用,如果有需求建议使用symbol 的引用方式
118 |
119 |
Unicode 使用步骤如下:
120 |
第一步:拷贝项目下面生成的 @font-face
121 |
@font-face {
123 | font-family: 'iconfont';
124 | src: url('iconfont.eot');
125 | src: url('iconfont.eot?#iefix') format('embedded-opentype'),
126 | url('iconfont.woff2') format('woff2'),
127 | url('iconfont.woff') format('woff'),
128 | url('iconfont.ttf') format('truetype'),
129 | url('iconfont.svg#iconfont') format('svg');
130 | }
131 |
132 |
第二步:定义使用 iconfont 的样式
133 |
.iconfont {
135 | font-family: "iconfont" !important;
136 | font-size: 16px;
137 | font-style: normal;
138 | -webkit-font-smoothing: antialiased;
139 | -moz-osx-font-smoothing: grayscale;
140 | }
141 |
142 |
第三步:挑选相应图标并获取字体编码,应用于页面
143 |
144 | <span class="iconfont">3</span>
146 |
147 |
148 | "iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。
149 |
150 |
151 |
152 |
153 |
154 |
155 | -
156 |
157 |
158 | home
159 |
160 | .iconhome
161 |
162 |
163 |
164 | -
165 |
166 |
167 | 警告
168 |
169 | .iconjinggao
170 |
171 |
172 |
173 | -
174 |
175 |
176 | 添加
177 |
178 | .icontianjia
179 |
180 |
181 |
182 | -
183 |
184 |
185 | close
186 |
187 | .iconclose
188 |
189 |
190 |
191 | -
192 |
193 |
194 | user
195 |
196 | .iconuser
197 |
198 |
199 |
200 | -
201 |
202 |
203 | edit
204 |
205 | .iconedit
206 |
207 |
208 |
209 | -
210 |
211 |
212 | delete
213 |
214 | .icondelete
215 |
216 |
217 |
218 | -
219 |
220 |
221 | align-left
222 |
223 | .iconalign-left
224 |
225 |
226 |
227 | -
228 |
229 |
230 | plus
231 |
232 | .iconplus
233 |
234 |
235 |
236 | -
237 |
238 |
239 | strore-add
240 |
241 | .iconstrore-add
242 |
243 |
244 |
245 | -
246 |
247 |
248 | set
249 |
250 | .iconset
251 |
252 |
253 |
254 | -
255 |
256 |
257 | book-edit
258 |
259 | .iconbook-edit
260 |
261 |
262 |
263 |
264 |
265 |
font-class 引用
266 |
267 |
268 |
font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。
269 |
与 Unicode 使用方式相比,具有如下特点:
270 |
271 | - 兼容性良好,支持 IE8+,及所有现代浏览器。
272 | - 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
273 | - 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
274 | - 不过因为本质上还是使用的字体,所以多色图标还是不支持的。
275 |
276 |
使用步骤如下:
277 |
第一步:引入项目下面生成的 fontclass 代码:
278 |
<link rel="stylesheet" href="./iconfont.css">
279 |
280 |
第二步:挑选相应图标并获取类名,应用于页面:
281 |
<span class="iconfont iconxxx"></span>
282 |
283 |
284 | "
285 | iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。
286 |
287 |
288 |
289 |
290 |
291 |
292 | -
293 |
296 |
home
297 | #iconhome
298 |
299 |
300 | -
301 |
304 |
警告
305 | #iconjinggao
306 |
307 |
308 | -
309 |
312 |
添加
313 | #icontianjia
314 |
315 |
316 | -
317 |
320 |
close
321 | #iconclose
322 |
323 |
324 | -
325 |
328 |
user
329 | #iconuser
330 |
331 |
332 | -
333 |
336 |
edit
337 | #iconedit
338 |
339 |
340 | -
341 |
344 |
delete
345 | #icondelete
346 |
347 |
348 | -
349 |
352 |
align-left
353 | #iconalign-left
354 |
355 |
356 | -
357 |
360 |
plus
361 | #iconplus
362 |
363 |
364 | -
365 |
368 |
strore-add
369 | #iconstrore-add
370 |
371 |
372 | -
373 |
376 |
set
377 | #iconset
378 |
379 |
380 | -
381 |
384 |
book-edit
385 | #iconbook-edit
386 |
387 |
388 |
389 |
390 |
Symbol 引用
391 |
392 |
393 |
这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章
394 | 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:
395 |
396 | - 支持多色图标了,不再受单色限制。
397 | - 通过一些技巧,支持像字体那样,通过
font-size
, color
来调整样式。
398 | - 兼容性较差,支持 IE9+,及现代浏览器。
399 | - 浏览器渲染 SVG 的性能一般,还不如 png。
400 |
401 |
使用步骤如下:
402 |
第一步:引入项目下面生成的 symbol 代码:
403 |
<script src="./iconfont.js"></script>
404 |
405 |
第二步:加入通用 CSS 代码(引入一次就行):
406 |
<style>
407 | .icon {
408 | width: 1em;
409 | height: 1em;
410 | vertical-align: -0.15em;
411 | fill: currentColor;
412 | overflow: hidden;
413 | }
414 | </style>
415 |
416 |
第三步:挑选相应图标并获取类名,应用于页面:
417 |
<svg class="icon" aria-hidden="true">
418 | <use xlink:href="#icon-xxx"></use>
419 | </svg>
420 |
421 |
422 |
423 |
424 |
425 |
426 |
445 |
446 |
447 |
--------------------------------------------------------------------------------
/font_1614281/iconfont.css:
--------------------------------------------------------------------------------
1 | @font-face {font-family: "iconfont";
2 | src: url('iconfont.eot?t=1579680559784'); /* IE9 */
3 | src: url('iconfont.eot?t=1579680559784#iefix') format('embedded-opentype'), /* IE6-IE8 */
4 | url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
5 | url('iconfont.woff?t=1579680559784') format('woff'),
6 | url('iconfont.ttf?t=1579680559784') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
7 | url('iconfont.svg?t=1579680559784#iconfont') format('svg'); /* iOS 4.1- */
8 | }
9 |
10 | .iconfont {
11 | font-family: "iconfont" !important;
12 | font-size: 16px;
13 | font-style: normal;
14 | -webkit-font-smoothing: antialiased;
15 | -moz-osx-font-smoothing: grayscale;
16 | }
17 |
18 | .iconhome:before {
19 | content: "\e600";
20 | }
21 |
22 | .iconjinggao:before {
23 | content: "\e631";
24 | }
25 |
26 | .icontianjia:before {
27 | content: "\e64b";
28 | }
29 |
30 | .iconclose:before {
31 | content: "\e7e3";
32 | }
33 |
34 | .iconuser:before {
35 | content: "\e7e7";
36 | }
37 |
38 | .iconedit:before {
39 | content: "\e7e4";
40 | }
41 |
42 | .icondelete:before {
43 | content: "\e7e5";
44 | }
45 |
46 | .iconalign-left:before {
47 | content: "\e7e8";
48 | }
49 |
50 | .iconplus:before {
51 | content: "\e7e6";
52 | }
53 |
54 | .iconstrore-add:before {
55 | content: "\e7ea";
56 | }
57 |
58 | .iconset:before {
59 | content: "\e7e9";
60 | }
61 |
62 | .iconbook-edit:before {
63 | content: "\e7eb";
64 | }
65 |
66 |
--------------------------------------------------------------------------------
/font_1614281/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/font_1614281/iconfont.eot
--------------------------------------------------------------------------------
/font_1614281/iconfont.js:
--------------------------------------------------------------------------------
1 | !function(a){var c,o='',t=(c=document.getElementsByTagName("script"))[c.length-1].getAttribute("data-injectcss");if(t&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}!function(c){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(c,0);else{var t=function(){document.removeEventListener("DOMContentLoaded",t,!1),c()};document.addEventListener("DOMContentLoaded",t,!1)}else document.attachEvent&&(e=c,s=a.document,i=!1,(o=function(){try{s.documentElement.doScroll("left")}catch(c){return void setTimeout(o,50)}l()})(),s.onreadystatechange=function(){"complete"==s.readyState&&(s.onreadystatechange=null,l())});function l(){i||(i=!0,e())}var e,s,i,o}(function(){var c,t,l,e,s,i;(c=document.createElement("div")).innerHTML=o,o=null,(t=c.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",l=t,(e=document.body).firstChild?(s=l,(i=e.firstChild).parentNode.insertBefore(s,i)):e.appendChild(l))})}(window);
--------------------------------------------------------------------------------
/font_1614281/iconfont.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "1614281",
3 | "name": "sou2",
4 | "font_family": "iconfont",
5 | "css_prefix_text": "icon",
6 | "description": "sou2 图标管理",
7 | "glyphs": [
8 | {
9 | "icon_id": "1058864",
10 | "name": "home",
11 | "font_class": "home",
12 | "unicode": "e600",
13 | "unicode_decimal": 58880
14 | },
15 | {
16 | "icon_id": "1618316",
17 | "name": "警告",
18 | "font_class": "jinggao",
19 | "unicode": "e631",
20 | "unicode_decimal": 58929
21 | },
22 | {
23 | "icon_id": "5831309",
24 | "name": "添加",
25 | "font_class": "tianjia",
26 | "unicode": "e64b",
27 | "unicode_decimal": 58955
28 | },
29 | {
30 | "icon_id": "12818648",
31 | "name": "close",
32 | "font_class": "close",
33 | "unicode": "e7e3",
34 | "unicode_decimal": 59363
35 | },
36 | {
37 | "icon_id": "12818653",
38 | "name": "user",
39 | "font_class": "user",
40 | "unicode": "e7e7",
41 | "unicode_decimal": 59367
42 | },
43 | {
44 | "icon_id": "12818654",
45 | "name": "edit",
46 | "font_class": "edit",
47 | "unicode": "e7e4",
48 | "unicode_decimal": 59364
49 | },
50 | {
51 | "icon_id": "12818655",
52 | "name": "delete",
53 | "font_class": "delete",
54 | "unicode": "e7e5",
55 | "unicode_decimal": 59365
56 | },
57 | {
58 | "icon_id": "12818659",
59 | "name": "align-left",
60 | "font_class": "align-left",
61 | "unicode": "e7e8",
62 | "unicode_decimal": 59368
63 | },
64 | {
65 | "icon_id": "12818665",
66 | "name": "plus",
67 | "font_class": "plus",
68 | "unicode": "e7e6",
69 | "unicode_decimal": 59366
70 | },
71 | {
72 | "icon_id": "12818673",
73 | "name": "strore-add",
74 | "font_class": "strore-add",
75 | "unicode": "e7ea",
76 | "unicode_decimal": 59370
77 | },
78 | {
79 | "icon_id": "12818677",
80 | "name": "set",
81 | "font_class": "set",
82 | "unicode": "e7e9",
83 | "unicode_decimal": 59369
84 | },
85 | {
86 | "icon_id": "12818679",
87 | "name": "book-edit",
88 | "font_class": "book-edit",
89 | "unicode": "e7eb",
90 | "unicode_decimal": 59371
91 | }
92 | ]
93 | }
94 |
--------------------------------------------------------------------------------
/font_1614281/iconfont.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
63 |
--------------------------------------------------------------------------------
/font_1614281/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/font_1614281/iconfont.ttf
--------------------------------------------------------------------------------
/font_1614281/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/font_1614281/iconfont.woff
--------------------------------------------------------------------------------
/font_1614281/iconfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/font_1614281/iconfont.woff2
--------------------------------------------------------------------------------
/icon/Logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/icon/Logo.ico
--------------------------------------------------------------------------------
/icon/baidu.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/icon/baidu.ico
--------------------------------------------------------------------------------
/icon/bilibili.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/icon/bilibili.png
--------------------------------------------------------------------------------
/icon/bing.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/icon/bing.ico
--------------------------------------------------------------------------------
/icon/btn.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/icon/btn2.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
16 |
--------------------------------------------------------------------------------
/icon/doge_ico.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/icon/doge_ico.png
--------------------------------------------------------------------------------
/icon/g.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
25 |
--------------------------------------------------------------------------------
/icon/github.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/icon/github.ico
--------------------------------------------------------------------------------
/icon/google_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/icon/google_1.png
--------------------------------------------------------------------------------
/icon/mijisou.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/icon/mijisou.png
--------------------------------------------------------------------------------
/icon/right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/icon/scp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/icon/scp.png
--------------------------------------------------------------------------------
/icon/seeres.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/icon/seeres.png
--------------------------------------------------------------------------------
/icon/shlogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/icon/shlogo.png
--------------------------------------------------------------------------------
/icon/steam.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/icon/steam.ico
--------------------------------------------------------------------------------
/icon/user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/icon/user.png
--------------------------------------------------------------------------------
/icon/v2ex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yeetime/sou2/e6cb48f66d6bae393940621c883236c75a4e7660/icon/v2ex.png
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | Alone 导航
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 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
搜索引擎
219 |
220 |
221 |
222 |
223 | |
224 | 百度 |
225 |
226 |
228 |
229 |
231 |
232 |
234 | |
235 |
236 |
237 | |
238 | 谷歌 |
239 |
240 |
242 |
243 |
245 |
246 |
248 | |
249 |
250 |
251 |
252 |
253 |
255 |
257 |
258 |
259 |
260 |
顺序:
261 |
262 |
263 |
264 |
268 |
272 |
276 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
快捷方式
291 |
292 |
293 |
294 |
295 | 1. |
296 | 哔哩哔哩 |
297 |
298 |
301 |
302 |
305 | |
306 |
307 |
308 | 2. |
309 | 知乎 |
310 |
311 |
314 |
315 |
318 | |
319 |
320 |
321 |
322 |
323 |
326 |
329 |
330 |
331 |
332 |
顺序:
333 |
334 |
335 |
336 |
340 |
344 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
主题
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 |
369 |
壁纸
370 |
371 |
372 |
373 |
壁纸设置
374 |
381 |
382 |
383 |
384 |
385 |
自定义图片地址:
386 |
387 |
388 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 |
数据备份
403 |
404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
446 |
447 |
448 |
449 | 选择搜索引擎:
450 |
451 |
452 |
453 | -
454 |
百度
455 |
456 | -
457 |
谷歌
458 |
459 | -
460 |
必应
461 |
462 | -
463 |
多吉
464 |
465 | -
466 |
秘迹
467 |
468 | -
469 |
seeres*
470 |
471 |
472 |
473 |
507 |
508 |
509 |
510 |
519 |
520 |
521 |
522 |
533 |
534 |
--------------------------------------------------------------------------------
/js/jQuery.rTabs.js:
--------------------------------------------------------------------------------
1 |
2 | (function($){
3 |
4 | $.fn.rTabs = function(options){
5 |
6 | //默认值
7 | var defaultVal = {
8 | btnClass:'.j-tab-nav', /*按钮的父级Class*/
9 | conClass:'.j-tab-con', /*内容的父级Class*/
10 | bind:'hover', /*事件参数 click,hover*/
11 | animation:'0', /*动画方向 left,up,fadein,0 为无动画*/
12 | speed:300, /*动画运动速度*/
13 | delay:200, /*Tab延迟速度*/
14 | auto:false, /*是否开启自动运行 true,false*/
15 | autoSpeed:3000 /*自动运行速度*/
16 | };
17 |
18 | //全局变量
19 | var obj = $.extend(defaultVal, options),
20 | evt = obj.bind,
21 | btn = $(this).find(obj.btnClass),
22 | con = $(this).find(obj.conClass),
23 | anim = obj.animation,
24 | conWidth = con.width(),
25 | conHeight = con.height(),
26 | len = con.children().length,
27 | sw = len * conWidth,
28 | sh = len * conHeight,
29 | i = 0,
30 | len,t,timer;
31 |
32 | return this.each(function(){
33 |
34 | //判断动画方向
35 | function judgeAnim(){
36 | var w = i * conWidth,
37 | h = i * conHeight;
38 | btn.children().removeClass('current').eq(i).addClass('current');
39 | switch(anim){
40 | case '0':
41 | con.children().hide().eq(i).show();
42 | break;
43 | case 'left':
44 | con.css({position:'absolute',width:sw}).children().css({float:'left',display:'block'}).end().stop().animate({left:-w},obj.speed);
45 | break;
46 | case 'up':
47 | con.css({position:'absolute',height:sh}).children().css({display:'block'}).end().stop().animate({top:-h},obj.speed);
48 | break;
49 | case 'fadein':
50 | con.children().hide().eq(i).fadeIn();
51 | break;
52 | }
53 | }
54 |
55 | //判断事件类型
56 | if(evt == "hover"){
57 | btn.children().hover(function(){
58 | var j = $(this).index();
59 | function s(){
60 | i = j;
61 | judgeAnim();
62 | }
63 | timer=setTimeout(s,obj.delay);
64 | }, function(){
65 | clearTimeout(timer);
66 | })
67 | }else{
68 | btn.children().bind(evt,function(){
69 | i = $(this).index();
70 | judgeAnim();
71 | })
72 | }
73 |
74 | //自动运行
75 | function startRun(){
76 | t = setInterval(function(){
77 | i++;
78 | if(i>=len){
79 | switch(anim){
80 | case 'left':
81 | con.stop().css({left:conWidth});
82 | break;
83 | case 'up':
84 | con.stop().css({top:conHeight});
85 | }
86 | i=0;
87 | }
88 | judgeAnim();
89 | },obj.autoSpeed)
90 | }
91 |
92 | //如果自动运行开启,调用自动运行函数
93 | if(obj.auto){
94 | $(this).hover(function(){
95 | clearInterval(t);
96 | },function(){
97 | startRun();
98 | })
99 | startRun();
100 | }
101 |
102 | })
103 |
104 | }
105 |
106 | })(jQuery);
--------------------------------------------------------------------------------
/js/js.cookie.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * JavaScript Cookie v2.2.1
3 | * https://github.com/js-cookie/js-cookie
4 | *
5 | * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
6 | * Released under the MIT license
7 | */
8 | ;(function (factory) {
9 | var registeredInModuleLoader;
10 | if (typeof define === 'function' && define.amd) {
11 | define(factory);
12 | registeredInModuleLoader = true;
13 | }
14 | if (typeof exports === 'object') {
15 | module.exports = factory();
16 | registeredInModuleLoader = true;
17 | }
18 | if (!registeredInModuleLoader) {
19 | var OldCookies = window.Cookies;
20 | var api = window.Cookies = factory();
21 | api.noConflict = function () {
22 | window.Cookies = OldCookies;
23 | return api;
24 | };
25 | }
26 | }(function () {
27 | function extend () {
28 | var i = 0;
29 | var result = {};
30 | for (; i < arguments.length; i++) {
31 | var attributes = arguments[ i ];
32 | for (var key in attributes) {
33 | result[key] = attributes[key];
34 | }
35 | }
36 | return result;
37 | }
38 |
39 | function decode (s) {
40 | return s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);
41 | }
42 |
43 | function init (converter) {
44 | function api() {}
45 |
46 | function set (key, value, attributes) {
47 | if (typeof document === 'undefined') {
48 | return;
49 | }
50 |
51 | attributes = extend({
52 | path: '/'
53 | }, api.defaults, attributes);
54 |
55 | if (typeof attributes.expires === 'number') {
56 | attributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);
57 | }
58 |
59 | // We're using "expires" because "max-age" is not supported by IE
60 | attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';
61 |
62 | try {
63 | var result = JSON.stringify(value);
64 | if (/^[\{\[]/.test(result)) {
65 | value = result;
66 | }
67 | } catch (e) {}
68 |
69 | value = converter.write ?
70 | converter.write(value, key) :
71 | encodeURIComponent(String(value))
72 | .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
73 |
74 | key = encodeURIComponent(String(key))
75 | .replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)
76 | .replace(/[\(\)]/g, escape);
77 |
78 | var stringifiedAttributes = '';
79 | for (var attributeName in attributes) {
80 | if (!attributes[attributeName]) {
81 | continue;
82 | }
83 | stringifiedAttributes += '; ' + attributeName;
84 | if (attributes[attributeName] === true) {
85 | continue;
86 | }
87 |
88 | // Considers RFC 6265 section 5.2:
89 | // ...
90 | // 3. If the remaining unparsed-attributes contains a %x3B (";")
91 | // character:
92 | // Consume the characters of the unparsed-attributes up to,
93 | // not including, the first %x3B (";") character.
94 | // ...
95 | stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];
96 | }
97 |
98 | return (document.cookie = key + '=' + value + stringifiedAttributes);
99 | }
100 |
101 | function get (key, json) {
102 | if (typeof document === 'undefined') {
103 | return;
104 | }
105 |
106 | var jar = {};
107 | // To prevent the for loop in the first place assign an empty array
108 | // in case there are no cookies at all.
109 | var cookies = document.cookie ? document.cookie.split('; ') : [];
110 | var i = 0;
111 |
112 | for (; i < cookies.length; i++) {
113 | var parts = cookies[i].split('=');
114 | var cookie = parts.slice(1).join('=');
115 |
116 | if (!json && cookie.charAt(0) === '"') {
117 | cookie = cookie.slice(1, -1);
118 | }
119 |
120 | try {
121 | var name = decode(parts[0]);
122 | cookie = (converter.read || converter)(cookie, name) ||
123 | decode(cookie);
124 |
125 | if (json) {
126 | try {
127 | cookie = JSON.parse(cookie);
128 | } catch (e) {}
129 | }
130 |
131 | jar[name] = cookie;
132 |
133 | if (key === name) {
134 | break;
135 | }
136 | } catch (e) {}
137 | }
138 |
139 | return key ? jar[key] : jar;
140 | }
141 |
142 | api.set = set;
143 | api.get = function (key) {
144 | return get(key, false /* read as raw */);
145 | };
146 | api.getJSON = function (key) {
147 | return get(key, true /* read as json */);
148 | };
149 | api.remove = function (key, attributes) {
150 | set(key, '', extend(attributes, {
151 | expires: -1
152 | }));
153 | };
154 |
155 | api.defaults = {};
156 |
157 | api.withConverter = init;
158 |
159 | return api;
160 | }
161 |
162 | return init(function () {});
163 | }));
164 |
--------------------------------------------------------------------------------
/js/sou.js:
--------------------------------------------------------------------------------
1 | /*
2 | 作者:D.Young
3 | 主页:https://yyv.me/
4 | github:https://github.com/5iux/sou
5 | 日期:2019-07-26
6 | 版权所有,请勿删除
7 | ❶❷❸❹❺❻❼❽❾❿
8 | 由 yeetime 修改
9 | github:https://github.com/yeetime/sou2
10 | 日期:2019-12-13
11 | */
12 |
13 | // 搜索引擎列表【预设】
14 | var se_list_preinstall = {
15 | '1': {
16 | id: 1,
17 | title: "百度",
18 | url: "https://www.baidu.com/s",
19 | name: "wd",
20 | img: "./icon/baidu.ico",
21 | },
22 | '2': {
23 | id: 2,
24 | title: "谷歌",
25 | url: "https://www.google.com/search",
26 | name: "q",
27 | img: "./icon/google_1.png",
28 | },
29 | '3': {
30 | id: 3,
31 | title: "必应",
32 | url: "https://cn.bing.com/search",
33 | name: "q",
34 | img: "./icon/bing.ico",
35 | }
36 | };
37 |
38 | // 主页快捷方式【预设】
39 | var quick_list_preinstall = {
40 | '1': {
41 | title: "哔哩哔哩",
42 | url: "https://www.bilibili.com/",
43 | img: "./icon/bilibili.png",
44 | explain: "哔哩哔哩 (゜-゜)つロ 干杯~",
45 | },
46 | '2': {
47 | title: "GitHub",
48 | url: "https://github.com/",
49 | img: "./icon/github.ico",
50 | explain: "GitHub",
51 | },
52 | '3': {
53 | title: "V2EX",
54 | url: "https://www.v2ex.com/",
55 | img: "./icon/v2ex.png",
56 | explain: "V2EX",
57 | },
58 | '4': {
59 | title: "Steam",
60 | url: "https://store.steampowered.com/",
61 | img: "./icon/steam.ico",
62 | explain: "Steam",
63 | },
64 | '5': {
65 | title: "scp基金会",
66 | url: "http://scp-wiki-cn.wikidot.com/",
67 | img: "./icon/scp.png",
68 | explain: "控制,收容,保护",
69 | },
70 | };
71 |
72 | // 主题方案【预设】
73 | var themes_preinstall = {
74 | '1': {
75 | 'name': 'light',// 主题名称
76 | 'bg': "#f5f5f5",// 背景色
77 | 'pop_bg': "#ffffff",// 弹窗背景色
78 | 'shadow': "#d8d7d7",// 阴影
79 | 'bottom_bg': "#ddd",// 按钮背景
80 | //'top_bg': "#2299ff",// 高亮
81 | 'text_color': "#777777",// 文本颜色
82 | 'bg_img': "",//背景图片
83 | },
84 | '2': {
85 | 'name': 'darcula',
86 | 'bg': "#2b2b2b",
87 | 'pop_bg': "#3c3f41",
88 | 'shadow': "#211f1f",
89 | 'bottom_bg': "#4c5052",
90 | //'top_bg': "#365880",// 高亮
91 | 'text_color': "#bbbbbb",
92 | 'bg_img': "",//背景图片
93 | },
94 | };
95 |
96 | //背景图片
97 | var bg_img_preinstall = {
98 | "type" : "3",// 1:使用主题默认的背景图片、2:关闭背景图片、3:使用自定义的背景图片
99 | "path" : "https://cdn.jsdelivr.net/gh/yeetime/img/20200627173550.png",//背景图片
100 | };
101 |
102 | // 获取背景图片
103 | function getBgImg() {
104 | var bg_img_local = Cookies.get('bg_img');
105 | if (bg_img_local && bg_img_local !== "{}") {
106 | return JSON.parse(bg_img_local);
107 | } else {
108 | setBgImg(bg_img_preinstall);
109 | return bg_img_preinstall;
110 | }
111 | }
112 |
113 | // 设置背景图片
114 | function setBgImg(bg_img){
115 | if (bg_img) {
116 | Cookies.set('bg_img', bg_img, {expires: 36500});
117 | return true;
118 | }
119 | return false;
120 | }
121 |
122 | // 设置-壁纸
123 | function setBgImgInit() {
124 | var bg_img = getBgImg();
125 | $("input[name='wallpaper-type'][value="+bg_img["type"]+"]").click();
126 | if (bg_img["type"] === "3") {
127 | $("#wallpaper-url").val(bg_img["path"]);
128 | $("#wallpaper_url").show();
129 | } else {
130 | $("#wallpaper_url").hide();
131 | }
132 | }
133 |
134 | // 获取搜索引擎列表
135 | function getSeList() {
136 | var se_list_local = Cookies.get('se_list');
137 | if (se_list_local !== "{}" && se_list_local) {
138 | return JSON.parse(se_list_local);
139 | } else {
140 | setSeList(se_list_preinstall);
141 | return se_list_preinstall;
142 | }
143 | }
144 |
145 | // 设置搜索引擎列表
146 | function setSeList(se_list) {
147 | if (se_list) {
148 | Cookies.set('se_list', se_list, {expires: 36500});
149 | return true;
150 | }
151 | return false;
152 | }
153 |
154 | // 获得默认搜索引擎
155 | function getSeDefault() {
156 | var se_default = Cookies.get('se_default');
157 | return se_default ? se_default : "1";
158 | }
159 |
160 | // 主题初始化
161 | function themesInit() {
162 | var bg_img = getBgImg();
163 | var themes = getThemes();
164 | var key = getThemesDefault();
165 | var theme = themes[key];
166 |
167 | switch (bg_img["type"]) {
168 | case "1":
169 | if (theme["bg_img"]) {
170 | $("body").css("background-image", "url(\"" + theme["bg_img"] +"\")");//主题图片
171 | } else {
172 | $("body").css("background-image", "none");//无
173 | }
174 | break;
175 | case "2":
176 | $("body").css("background-image", "none");//无
177 | break;
178 | case "3":
179 | $("body").css("background-image", "url(\"" + bg_img["path"] +"\")");//自定义
180 | break;
181 | }
182 |
183 | $("body").css("background-color", theme["bg"]);//主页背景
184 | $(".con .sou form .wd").css({
185 | "border": "1px solid " + theme["bottom_bg"],
186 | "color": theme["text_color"],
187 | });//输入框
188 | $(".search-engine").css({
189 | "background-color": theme["pop_bg"],
190 | "box-shadow": "0 5px 20px 0 " + theme["shadow"],
191 | });//搜索引擎选择弹窗
192 | $("#keywords").css({
193 | "background-color": theme["pop_bg"],
194 | "box-shadow": "0 5px 20px 0 " + theme["shadow"],
195 | "color": theme["text_color"]
196 | });//关键字提示弹窗
197 | $(".search-engine-list .se-li").css({
198 | "background-color": theme["bottom_bg"],
199 | "color": theme["text_color"],
200 | });//搜索引擎选择弹窗里的按钮
201 | $(".search-engine-tip").css({
202 | "border-bottom": "8px solid " + theme["pop_bg"],
203 | });//搜索引擎选择弹窗上的箭头
204 | $(".quick").css({"background-color": theme["bottom_bg"]});//快捷方式
205 | $(".quick a").css({"color": theme["text_color"]});//快捷方式 文本
206 | $(".foot").css({"color": theme["text_color"]});//底部 文本
207 | }
208 |
209 | // 获取默认主题
210 | function getThemesDefault() {
211 | var theme_default = Cookies.get('theme_default');
212 | return theme_default ? theme_default : "1";
213 | }
214 |
215 | // 修改默认主题
216 | function setThemesDefault(key) {
217 | Cookies.set('theme_default', key, {expires: 36500});
218 | return true;
219 | }
220 |
221 | // 获取主题方案列表
222 | function getThemes() {
223 | var themes = Cookies.get('themes');
224 | if (themes && themes !== "{}") {
225 | return JSON.parse(themes);
226 | } else {
227 | setThemes(themes_preinstall);
228 | return themes_preinstall;
229 | }
230 | }
231 |
232 | // 设置主题列表 Cookies
233 | function setThemes(themes) {
234 | if (themes) {
235 | Cookies.set('themes', themes, {expires: 36500});
236 | return true;
237 | }
238 | return false;
239 | }
240 |
241 | // 设置-主题方案列表加载
242 | function setThemesInit() {
243 | var html = "";
244 | var themes = getThemes();
245 | var theme_default = getThemesDefault();
246 |
247 | for (var i in themes) {
248 | if (i === theme_default) {
249 | //html += "";
250 | html += "";
251 | } else {
252 | html += "";
253 | }
254 | }
255 | $("#themes").html(html);
256 | }
257 |
258 | // 搜索框高亮
259 | function focusWd() {
260 | var themes = getThemes();
261 | var key = getThemesDefault();
262 | var theme = themes[key];
263 |
264 | $(".wd").css({
265 | "background-color": theme["pop_bg"],
266 | "box-shadow": "0 1px 6px 0 " + theme["shadow"],
267 | });//输入框
268 | }
269 |
270 | // 搜索框取消高亮
271 | function blurWd() {
272 | $(".wd").css({
273 | "background-color": "",
274 | "box-shadow": "",
275 | });//输入框
276 | }
277 |
278 | // 关键字提示
279 | function keywordReminder() {
280 | var keyword = $(".wd").val();
281 | if (keyword != "") {
282 | $.ajax({
283 | url: 'https://suggestion.baidu.com/su?wd=' + keyword,
284 | dataType: 'jsonp',
285 | jsonp: 'cb', //回调函数的参数名(键值)key
286 | success: function (data) {
287 | $("#keywords").empty().show();
288 | $.each(data.s, function (i, val) {
289 | $('#keywords').append("" + val + "");
290 | });
291 | $("#keywords").attr("data-length", data.s["length"]);
292 | },
293 | error: function () {
294 | $("#keywords").empty().show();
295 | $("#keywords").hide();
296 | }
297 | })
298 | } else {
299 | $("#keywords").empty().show();
300 | $("#keywords").hide();
301 | }
302 | }
303 |
304 | // 搜索框数据加载
305 | function searchData() {
306 | var se_default = getSeDefault();
307 | var se_list = getSeList();
308 | var defaultSe = se_list[se_default];
309 | if (defaultSe) {
310 | $(".search").attr("action", defaultSe["url"]);
311 | $(".se").attr("src", defaultSe["img"]);
312 | $(".wd").attr("name", defaultSe["name"]);
313 | }
314 |
315 | // 判断窗口大小,添加输入框自动完成
316 | var wid = $("body").width();
317 | if (wid < 640) {
318 | $(".wd").attr('autocomplete', 'off');
319 | } else {
320 | $(".wd").focus();
321 | focusWd();
322 | }
323 | }
324 |
325 | // 搜索引擎列表加载
326 | function seList() {
327 | var html = "";
328 | var se_list = getSeList();
329 | for (var i in se_list) {
330 | html += "
" + se_list[i]["title"] + "";
331 | }
332 | $(".search-engine-list").html(html);
333 | }
334 |
335 | // 设置-搜索引擎列表加载
336 | function setSeInit() {
337 | var se_default = getSeDefault();
338 | var se_list = getSeList();
339 | var html = "";
340 | for (var i in se_list) {
341 | var tr = " | ";
342 | if (i === se_default) {
343 | tr = "
| ";
344 | }
345 | tr += "" + i + ". " + se_list[i]["title"] + " | |
";
346 | html += tr;
347 | }
348 | $(".se_list_table").html(html);
349 | }
350 |
351 | // 获取快捷方式列表
352 | function getQuickList() {
353 | var quick_list_local = Cookies.get('quick_list');
354 | if (quick_list_local !== "{}" && quick_list_local) {
355 | return JSON.parse(quick_list_local);
356 | } else {
357 | setQuickList(quick_list_preinstall);
358 | return quick_list_preinstall;
359 | }
360 | }
361 |
362 | // 设置快捷方式列表
363 | function setQuickList(quick_list) {
364 | if (quick_list) {
365 | Cookies.set('quick_list', quick_list, {expires: 36500});
366 | return true;
367 | }
368 | return false;
369 | }
370 |
371 | // 快捷方式数据加载
372 | function quickData() {
373 | var html = "";
374 | var quick_list = getQuickList();
375 | for (var i in quick_list) {
376 | html += "\
377 | \
378 | \
379 | " + quick_list[i]['title'] + "\
380 | \
381 | ";
382 | }
383 | $(".quick-ul").html(html);
384 | }
385 |
386 | // 设置-快捷方式加载
387 | function setQuickInit() {
388 |
389 | var quick_list = getQuickList();
390 | var html = "";
391 | for (var i in quick_list) {
392 | tr = "\
393 | " + i + ". | \
394 | " + quick_list[i]['title'] + " | \
395 | \
396 | \
397 | \
398 | \
399 | | \
400 |
";
401 | html += tr;
402 | }
403 | $(".quick_list_table").html(html);
404 | }
405 |
406 | /**
407 | * 下載文本为文件
408 | * @param filename 文件名
409 | * @param text 内容
410 | */
411 | function download(filename, text) {
412 | var element = document.createElement('a');
413 | element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
414 | element.setAttribute('download', filename);
415 |
416 | element.style.display = 'none';
417 | document.body.appendChild(element);
418 |
419 | element.click();
420 |
421 | document.body.removeChild(element);
422 | }
423 |
424 | // 侧边栏打开
425 | function openSide() {
426 | $("#menu").addClass('on');
427 | $(".side").removeClass('closed');
428 | }
429 |
430 | // 侧边栏关闭
431 | function closeSide() {
432 | $("#menu").removeClass('on');
433 | $(".side").addClass('closed');
434 |
435 | // 刷新主页数据
436 | seList();
437 | quickData();
438 | themesInit();
439 | }
440 |
441 | $(document).ready(function () {
442 |
443 | // 搜索框数据加载
444 | searchData();
445 |
446 | // 搜索引擎列表加载
447 | seList();
448 |
449 | // 快捷方式数据加载
450 | quickData();
451 |
452 | // 主题初始化(必须在页面元素都加载完成后再加载主题,每当页面元素改变时都应进行主题初始化)
453 | themesInit();
454 |
455 | // 点击事件
456 | $(document).on('click', function (e) {
457 | // 选择搜索引擎点击
458 | if ($(".search-engine").is(":hidden") && $(".se").is(e.target)) {
459 | if ($(".se").is(e.target)) {
460 | $(".search-engine").show();
461 | }
462 | } else {
463 | if (!$(".search-engine").is(e.target) && $(".search-engine").has(e.target).length === 0) {
464 | $(".search-engine").hide();
465 | }
466 | }
467 |
468 | // 自动提示隐藏
469 | if (!$(".sou").is(e.target) && $(".sou").has(e.target).length === 0) {
470 | $("#keywords").hide();
471 | }
472 |
473 | });
474 |
475 | // 搜索引擎列表点击
476 | $(".search-engine-list").on("click", ".se-li", function () {
477 | var url = $(this).attr('data-url');
478 | var name = $(this).attr('data-name');
479 | var img = $(this).attr('data-img');
480 | $(".search").attr("action", url);
481 | $(".wd").attr("name", name);
482 | $(".se").attr("src", img);
483 | $(".search-engine").hide();
484 | });
485 |
486 | // 搜索框获得焦点事件
487 | $(".wd").focus(function () {
488 | focusWd();
489 | keywordReminder();
490 | });
491 |
492 | // 搜索框失去焦点事件
493 | $(".wd").blur(function () {
494 | blurWd();
495 | });
496 |
497 | // 自动提示( 调用百度 api )
498 | $('.wd').keyup(function(event) {
499 | var key = event.keyCode;
500 | // 屏蔽上下键
501 | var shieldKey = [38, 40];
502 | if (shieldKey.includes(key)) return;
503 | keywordReminder();
504 | });
505 |
506 | // 点击自动提示的关键字
507 | $("#keywords").on("click", "li", function () {
508 | var wd = $(this).text();
509 | $(".wd").val(wd);
510 | $(".search").submit();
511 | });
512 |
513 | // 自动提示键盘方向键选择操作
514 | $(".wd").keydown(function (event) {//上下键获取焦点
515 | var key = event.keyCode;
516 | if ($.trim($(this).val()).length === 0) return;
517 |
518 | var id = $(".keyword-active").attr("data-id");
519 | if (id === undefined) id = 0;
520 |
521 | if (key === 38) { /*向上按钮*/
522 | id--;
523 | } else if (key === 40) {/*向下按钮*/
524 | id++;
525 | } else {
526 | return;
527 | }
528 | var length = $("#keywords").attr("data-length");
529 | if (id > length) id = 1;
530 | if (id < 1) id = length;
531 |
532 | $(".keyword[data-id=" + id + "]").addClass("keyword-active").siblings().removeClass("keyword-active");
533 | $(".wd").val($(".keyword[data-id=" + id + "]").text());
534 | });
535 |
536 | // 菜单点击
537 | $("#menu").click(function (event) {
538 | if ($(this).attr("class") === "on") {
539 | closeSide();
540 | } else {
541 | openSide();
542 |
543 | // 设置内容加载
544 | setSeInit();//搜索引擎设置
545 | setQuickInit();//快捷方式设置
546 | setThemesInit();//主题方案
547 | setBgImgInit();//壁纸
548 | }
549 | });
550 | $("#content").click(function (event) {
551 | if ($("#menu").attr("class") === "on") {
552 | closeSide();
553 | }
554 | // 关闭关键字提示
555 | // $("#keywords").hide();
556 | });
557 |
558 | // 侧栏标签卡切换
559 | $(".side").rTabs({
560 | bind: 'click',
561 | animation: 'left'
562 | });
563 |
564 | // 修改默认搜索引擎
565 | $(".se_list_table").on("click", ".set_se_default", function () {
566 | var name = $(this).val();
567 | Cookies.set('se_default', name, {expires: 36500});
568 | setSeInit();
569 | });
570 |
571 | // 搜索引擎添加
572 | $(".set_se_list_add").click(function () {
573 | $(".se_add_content input").val("");
574 | $(".se_add_content").show();
575 | });
576 |
577 | // 搜索引擎保存
578 | $(".se_add_save").click(function () {
579 | var key_inhere = $(".se_add_content input[name='key_inhere']").val();
580 | var key = $(".se_add_content input[name='key']").val();
581 | var title = $(".se_add_content input[name='title']").val();
582 | var url = $(".se_add_content input[name='url']").val();
583 | var name = $(".se_add_content input[name='name']").val();
584 | var img = $(".se_add_content input[name='img']").val();
585 |
586 | var num = /^\+?[1-9][0-9]*$/;
587 | if (!num.test(key)) {
588 | alert("顺序:" + key + " 不是正数数!");
589 | return;
590 | }
591 |
592 | var se_list = getSeList();
593 |
594 | if (se_list[key]) {
595 | alert("顺序:" + key + " 已有数据,不可用");
596 | return;
597 | }
598 |
599 | if (key_inhere && key !== key_inhere) {
600 | delete se_list[key_inhere];
601 | }
602 |
603 | se_list[key] = {
604 | title: title,
605 | url: url,
606 | name: name,
607 | img: img,
608 | };
609 | setSeList(se_list);
610 | setSeInit();
611 | $(".se_add_content").hide();
612 | });
613 |
614 | // 关闭表单
615 | $(".se_add_cancel").click(function () {
616 | $(".se_add_content").hide();
617 | });
618 |
619 | // 搜索引擎修改
620 | $(".se_list").on("click", ".edit_se", function () {
621 |
622 | var se_list = getSeList();
623 | var key = $(this).val();
624 | $(".se_add_content input[name='key_inhere']").val(key);
625 | $(".se_add_content input[name='key']").val(key);
626 | $(".se_add_content input[name='title']").val(se_list[key]["title"]);
627 | $(".se_add_content input[name='url']").val(se_list[key]["url"]);
628 | $(".se_add_content input[name='name']").val(se_list[key]["name"]);
629 | $(".se_add_content input[name='img']").val(se_list[key]["img"]);
630 |
631 | $(".se_add_content").show();
632 | });
633 |
634 | // 搜索引擎删除
635 | $(".se_list").on("click", ".delete_se", function () {
636 | var se_default = getSeDefault();
637 | var key = $(this).val();
638 | if (key == se_default) {
639 | alert("默认搜索引擎不可删除!");
640 | } else {
641 | var r = confirm("顺序 " + key + " 是否删除!");
642 | if (r) {
643 | var se_list = getSeList();
644 | delete se_list[key];
645 | setSeList(se_list);
646 | setSeInit();
647 | }
648 | }
649 | });
650 |
651 | // 恢复预设搜索引擎
652 | $(".set_se_list_preinstall").click(function () {
653 | var r = confirm("现有设置和数据将被清空!");
654 | if (r) {
655 | setSeList(se_list_preinstall);
656 | Cookies.set('se_default', 1, {expires: 36500});
657 | setSeInit();
658 | }
659 | });
660 |
661 | // 设置-快捷方式添加
662 | $(".set_quick_list_add").click(function () {
663 | $(".quick_add_content input").val("");
664 | $(".quick_add_content").show();
665 | });
666 |
667 | // 设置-快捷方式保存
668 | $(".quick_add_save").click(function () {
669 | var key_inhere = $(".quick_add_content input[name='key_inhere']").val();
670 | var key = $(".quick_add_content input[name='key']").val();
671 | var title = $(".quick_add_content input[name='title']").val();
672 | var url = $(".quick_add_content input[name='url']").val();
673 | var img = $(".quick_add_content input[name='img']").val();
674 |
675 | var num = /^\+?[1-9][0-9]*$/;
676 | if (!num.test(key)) {
677 | alert("顺序:" + key + " 不是正数数!");
678 | return;
679 | }
680 |
681 | var quick_list = getQuickList();
682 |
683 | // if (quick_list[key]) {
684 | // alert("顺序:" + key + " 已有数据,不可用");
685 | // return;
686 | // }
687 |
688 | if (key_inhere && key != key_inhere) {
689 | delete quick_list[key_inhere];
690 | }
691 |
692 | quick_list[key] = {
693 | title: title,
694 | url: url,
695 | img: img,
696 | };
697 | setQuickList(quick_list);
698 | setQuickInit();
699 | $(".quick_add_content").hide();
700 | });
701 |
702 | // 设置-快捷方式关闭添加表单
703 | $(".quick_add_cancel").click(function () {
704 | $(".quick_add_content").hide();
705 | });
706 |
707 | //恢复预设快捷方式
708 | $(".set_quick_list_preinstall").click(function () {
709 | var r = confirm("现有设置和数据将被清空!");
710 | if (r) {
711 | setQuickList(quick_list_preinstall);
712 | setQuickInit();
713 | }
714 | });
715 |
716 | // 快捷方式修改
717 | $(".quick_list").on("click", ".edit_quick", function () {
718 |
719 | var quick_list = getQuickList();
720 | var key = $(this).val();
721 | $(".quick_add_content input[name='key_inhere']").val(key);
722 | $(".quick_add_content input[name='key']").val(key);
723 | $(".quick_add_content input[name='title']").val(quick_list[key]["title"]);
724 | $(".quick_add_content input[name='url']").val(quick_list[key]["url"]);
725 | $(".quick_add_content input[name='img']").val(quick_list[key]["img"]);
726 |
727 | $(".quick_add_content").show();
728 | });
729 |
730 | // 快捷方式删除
731 | $(".quick_list").on("click", ".delete_quick", function () {
732 |
733 | var key = $(this).val();
734 |
735 | var r = confirm("顺序 " + key + " 是否删除!");
736 | if (r) {
737 | var quick_list = getQuickList();
738 | delete quick_list[key];
739 | setQuickList(quick_list);
740 | setQuickInit();
741 | }
742 | });
743 |
744 | // 主题切换
745 | $("#themes").on("click", ".set-theme", function () {
746 | var key = $(this).attr("data-id");
747 | setThemesDefault(key);
748 | setThemesInit();
749 | });
750 |
751 | // 壁纸设置
752 | $("#wallpaper").on("click", ".set-wallpaper", function () {
753 | var type = $(this).val();
754 | var bg_img = getBgImg();
755 |
756 | if (type === "3") {
757 | $("#wallpaper_url").show();
758 | $("#wallpaper-url").val(bg_img["path"]);
759 | } else {
760 | $("#wallpaper_url").hide();
761 | }
762 | bg_img["type"] = type;
763 | setBgImg(bg_img);
764 | });
765 |
766 | // 壁纸自定义
767 | $(".wallpaper-submit").click(function () {
768 | var url = $("#wallpaper-url").val();
769 | var bg_img = getBgImg();
770 | bg_img["type"] = "3";
771 | bg_img["path"] = url;
772 | setBgImg(bg_img);
773 | });
774 |
775 | // 我的数据导出
776 | $("#my_data_out").click(function () {
777 | var cookies = Cookies.get();
778 | var json = JSON.stringify(cookies);
779 | download("back-up-" + $.now() + ".json", json);
780 | });
781 |
782 | // 我的数据导入 点击触发文件选择
783 | $("#my_data_in").click(function () {
784 | $("#my_data_file").click();
785 | });
786 |
787 | // 选择文件后读取文件内容
788 | $("#my_data_file").change(function () {
789 | var selectedFile = document.getElementById('my_data_file').files[0];
790 | //var name = selectedFile.name;//读取选中文件的文件名
791 | //var size = selectedFile.size;//读取选中文件的大小
792 | //console.log("文件名:"+name+" 大小:"+size);
793 |
794 | var reader = new FileReader();//这是核心,读取操作就是由它完成.
795 | reader.readAsText(selectedFile);//读取文件的内容,也可以读取文件的URL
796 | reader.onload = function () {
797 | //当读取完成后回调这个函数,然后此时文件的内容存储到了result中,直接操作即可
798 | //console.log(this.result);
799 |
800 | // json 格式校验
801 | var mydata;
802 | try {
803 | mydata = JSON.parse(this.result);
804 | } catch (e) {
805 | alert("数据解析异常");
806 | return;
807 | }
808 | if (typeof mydata != 'object') {
809 | alert("数据格式错误");
810 | return;
811 | }
812 |
813 | if (confirm("当前数据将被覆盖!是否继续导入?")) {
814 | for(var key in mydata) {
815 | Cookies.set(key, mydata[key], {expires: 36500});
816 | }
817 | alert("导入成功");
818 | }
819 | }
820 | });
821 | });
822 |
--------------------------------------------------------------------------------