From 16a73e23a526a26a6ebb17fc3068eb499f851b71 Mon Sep 17 00:00:00 2001 From: gglss Date: Sat, 14 Oct 2023 17:38:26 +0800 Subject: [PATCH] Site updated: 2023-10-14 17:38:26 --- .../index.html" | 364 + .../index.html" | 357 + .../index.html" | 388 + .../docker/2022-08-25-_dockerfile/index.html | 352 + .../index.html" | 378 + .../index.html" | 372 + .../index.html" | 356 + .../index.html" | 355 + .../index.html" | 373 + .../index.html" | 362 + .../index.html" | 388 + .../index.html" | 383 + .../index.html" | 367 + .../index.html" | 346 + .../index.html" | 370 + .../index.html" | 377 + .../index.html" | 370 + .../index.html" | 386 + .../index.html" | 363 + .../index.html" | 401 + .../index.html" | 366 + .../index.html" | 362 + .../index.html" | 350 + .../index.html" | 399 + .../index.html" | 370 + .../index.html" | 353 + .../\351\251\254\345\223\262/index.html" | 366 + .../index.html" | 351 + .../index.html" | 368 + .../index.html" | 352 + .../index.html" | 369 + .../index.html" | 361 + .../index.html" | 435 + .../index.html" | 359 + .../index.html" | 381 + .../index.html" | 353 + .../index.html" | 438 + .../index.html" | 414 + .../index.html" | 367 + .../index.html" | 393 + .../index.html" | 400 + .../index.html" | 373 + .../index.html" | 402 + .../index.html" | 350 + .../index.html" | 376 + .../index.html" | 643 + .../index.html" | 343 + .../index.html" | 349 + .../index.html" | 361 + .../index.html" | 341 + .../index.html" | 347 + .../index.html" | 490 + .../index.html" | 344 + .../index.html" | 343 + .../index.html" | 388 + .../index.html" | 345 + .../index.html" | 361 + .../index.html" | 376 + .../index.html" | 345 + .../index.html" | 378 + 2022/11/28/moko/2022-11-28-moko/index.html | 344 + .../index.html" | 350 + .../index.html" | 347 + .../index.html" | 365 + .../index.html" | 341 + .../index.html" | 345 + .../index.html" | 343 + .../index.html" | 345 + .../2022-11-29-Modeule Controller/index.html | 340 + .../index.html" | 347 + .../index.html" | 341 + .../index.html" | 362 + .../index.html" | 340 + .../index.html" | 352 + .../index.html" | 346 + .../index.html" | 349 + .../index.html" | 361 + .../index.html" | 355 + .../index.html" | 356 + .../index.html" | 370 + .../index.html" | 428 + .../index.html" | 380 + .../index.html" | 353 + .../index.html" | 378 + 2023/09/11/English/english-1/index.html | 340 + .../2023\347\233\256\346\240\207/index.html" | 348 + 2023/10/14/hello-world/index.html | 353 + 404.html | 340 + anzhiyu/random.js | 1 + archives/2022/08/index.html | 340 + archives/2022/08/page/2/index.html | 340 + archives/2022/08/page/3/index.html | 340 + archives/2022/08/page/4/index.html | 340 + archives/2022/09/index.html | 340 + archives/2022/10/index.html | 340 + archives/2022/11/index.html | 340 + archives/2022/11/page/2/index.html | 340 + archives/2022/11/page/3/index.html | 340 + archives/2022/12/index.html | 340 + archives/2022/index.html | 340 + archives/2022/page/2/index.html | 340 + archives/2022/page/3/index.html | 340 + archives/2022/page/4/index.html | 340 + archives/2022/page/5/index.html | 340 + archives/2022/page/6/index.html | 340 + archives/2022/page/7/index.html | 340 + archives/2022/page/8/index.html | 340 + archives/2022/page/9/index.html | 340 + archives/2023/09/index.html | 340 + archives/2023/10/index.html | 340 + archives/2023/index.html | 340 + archives/index.html | 340 + archives/page/2/index.html | 340 + archives/page/3/index.html | 340 + archives/page/4/index.html | 340 + archives/page/5/index.html | 340 + archives/page/6/index.html | 340 + archives/page/7/index.html | 340 + archives/page/8/index.html | 340 + archives/page/9/index.html | 340 + categories/index.html | 360 + .../index.html" | 364 + .../index.html" | 364 + .../page/2/index.html" | 364 + .../page/3/index.html" | 364 + .../index.html" | 364 + .../index.html" | 364 + .../page/2/index.html" | 364 + .../page/3/index.html" | 364 + .../page/4/index.html" | 364 + .../page/5/index.html" | 364 + .../page/6/index.html" | 364 + .../page/7/index.html" | 364 + css/index.css | 27104 ++++++++++++++++ placeholder => css/var.css | 0 essay/index.html | 340 + favicon.ico | Bin 0 -> 4286 bytes img/404.jpg | Bin 0 -> 141552 bytes img/512.png | Bin 0 -> 4172 bytes img/algolia.svg | 9 + img/comment_bg.png | Bin 0 -> 4246 bytes img/default_cover.jpg | Bin 0 -> 14808 bytes img/favicon.ico | Bin 0 -> 4286 bytes img/friend_404.gif | Bin 0 -> 604315 bytes img/loading.gif | Bin 0 -> 738187 bytes img/siteicon/16.png | Bin 0 -> 283 bytes img/siteicon/32.png | Bin 0 -> 431 bytes img/siteicon/apple-icon-180.png | Bin 0 -> 2272 bytes img/siteicon/manifest-icon-192.maskable.png | Bin 0 -> 2329 bytes img/siteicon/manifest-icon-512.maskable.png | Bin 0 -> 6723 bytes index.html | 585 + js/anzhiyu/ai_abstract.js | 438 + js/anzhiyu/comment_barrage.js | 179 + js/anzhiyu/people.js | 271 + js/anzhiyu/random_friends_post.js | 215 + js/anzhiyu/right_click_menu.js | 479 + js/main.js | 1832 ++ js/search/algolia.js | 192 + js/search/local-search.js | 270 + js/tw_cn.js | 130 + js/utils.js | 1435 + page/2/index.html | 468 + page/3/index.html | 530 + page/4/index.html | 545 + page/5/index.html | 571 + page/6/index.html | 506 + page/7/index.html | 582 + page/8/index.html | 418 + search.xml | 3524 ++ self/css/essay_page.css | 256 + self/css/icat.css | 381 + self/css/main_bunner.css | 822 + self/css/meihua.css | 263 + self/js/essay_page.js | 174 + self/js/main_bunner.js | 11 + self/js/random.js | 12 + tags/English/index.html | 435 + tags/Git/index.html | 435 + tags/Properties/index.html | 435 + tags/SpringBoot/index.html | 435 + tags/docker/index.html | 435 + tags/docker/page/2/index.html | 435 + tags/docker/page/3/index.html | 435 + tags/error/index.html | 435 + tags/index.html | 435 + tags/java/index.html | 435 + tags/java/page/2/index.html | 435 + tags/jmeter/index.html | 435 + tags/jmeter/page/2/index.html | 435 + tags/postman/index.html | 435 + tags/python/index.html | 435 + tags/shell/index.html | 435 + tags/sql/index.html | 435 + tags/ubuntu/index.html | 435 + tags/xpath/index.html | 435 + tags/yaml/index.html | 435 + .../index.html" | 435 + "tags/\347\233\221\346\216\247/index.html" | 435 + .../index.html" | 435 + "tags/\351\251\254\345\223\262/index.html" | 435 + .../index.html" | 340 + 201 files changed, 101080 insertions(+) create mode 100644 "2022/08/26/docker/2022-08-25-_3\344\270\2733\344\273\216\347\232\204Redis\351\233\206\347\276\244\346\220\255\345\273\272(\344\270\213)/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-_3\344\270\2733\344\273\216\347\232\204Redis\351\233\206\347\276\244\346\220\255\345\273\272\344\271\213\345\223\210\345\270\214\346\247\275\347\256\227\346\263\225/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-_3\344\270\2733\344\273\216\347\232\204Redis\351\233\206\347\276\244\346\220\255\345\273\272\357\274\210\344\270\212\357\274\211/index.html" create mode 100644 2022/08/26/docker/2022-08-25-_dockerfile/index.html create mode 100644 "2022/08/26/docker/2022-08-25-_mysql\344\270\273\344\273\216\345\244\215\345\210\266docker\347\211\210/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-_\344\270\273\344\273\216\345\256\271\351\224\231\345\210\207\346\215\242\350\277\201\347\247\273/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-docker \345\270\256\345\212\251\345\220\257\345\212\250\347\261\273\345\221\275\344\273\244\357\274\210\344\270\200\357\274\211/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-docker \345\270\256\345\212\251\345\220\257\345\212\250\347\261\273\345\221\275\344\273\244\357\274\210\344\272\214\357\274\211/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-docker \351\225\234\345\203\217\357\274\210\344\270\200\357\274\211/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-docker \351\225\234\345\203\217\357\274\210\344\272\214\357\274\211/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-redis3\344\270\2733\344\273\216\346\211\251\345\256\271/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-redis\347\232\2044\344\270\2734\344\273\216\347\274\251\345\256\271/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-\344\275\277\347\224\250docker\345\256\211\350\243\205\345\270\270\347\224\250\350\275\257\344\273\266\357\274\232mysql/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-\344\275\277\347\224\250docker\345\256\211\350\243\205\345\270\270\347\224\250\350\275\257\344\273\266\357\274\232redis/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-\344\275\277\347\224\250docker\345\256\211\350\243\205\345\270\270\347\224\250\350\275\257\344\273\266\357\274\232tomcat/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\346\225\260\346\215\256\345\215\267/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\357\274\210\344\270\200\357\274\211/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\357\274\210\344\270\211\357\274\211\357\274\210\351\207\215\350\246\201\357\274\211/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\357\274\210\344\272\214\357\274\211/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-\346\234\254\345\234\260\351\225\234\345\203\217\345\217\221\345\270\203\345\210\260\347\247\201\346\234\211\345\272\223/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-\346\234\254\345\234\260\351\225\234\345\203\217\345\217\221\345\270\203\345\210\260\351\230\277\351\207\214\344\272\221/index.html" create mode 100644 "2022/08/26/docker/2022-08-25-\351\225\234\345\203\217/index.html" create mode 100644 "2022/08/26/error/2022-11-08-\344\275\277\347\224\250pip install\346\212\245\351\224\231\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225/index.html" create mode 100644 "2022/08/26/jmeter/2022-10-30-\347\254\254\344\270\200\346\254\241\344\275\277\347\224\250jmeter\345\216\213\346\265\213/index.html" create mode 100644 "2022/08/26/other/2020-08-26-Yaml\344\275\277\347\224\250/index.html" create mode 100644 "2022/08/26/other/2022-10-22-\346\200\247\350\203\275\346\265\213\350\257\225\344\270\273\350\246\201\345\205\263\346\263\250\347\202\271/index.html" create mode 100644 "2022/08/26/\346\210\220\350\200\203\345\255\246\344\271\240/\351\251\254\345\223\262/index.html" create mode 100644 "2022/08/30/shell/2022-08-29-shell\350\204\232\346\234\254\345\210\235\346\216\242/index.html" create mode 100644 "2022/08/30/shell/2022-08-30-shell\345\217\230\351\207\217/index.html" create mode 100644 "2022/08/30/shell/2022-08-30-shell\350\204\232\346\234\254\345\205\245\351\227\250/index.html" create mode 100644 "2022/08/31/python/2022-09-01-pyyaml\350\216\267\345\217\226yaml\346\225\260\346\215\256/index.html" create mode 100644 "2022/08/31/shell/2022-08-31-shell\345\207\275\346\225\260/index.html" create mode 100644 "2022/08/31/shell/2022-08-31-shell\345\267\245\345\205\267\357\274\210\344\270\200\357\274\211/index.html" create mode 100644 "2022/08/31/shell/2022-08-31-shell\346\235\241\344\273\266\345\210\244\346\226\255/index.html" create mode 100644 "2022/08/31/shell/2022-08-31-shell\346\265\201\347\250\213\346\216\247\345\210\266/index.html" create mode 100644 "2022/08/31/shell/2022-08-31-shell\350\277\220\347\256\227\347\254\246/index.html" create mode 100644 "2022/08/31/shell/2022-09-01-shell\345\267\245\345\205\267\357\274\210\344\272\214\357\274\211/index.html" create mode 100644 "2022/09/02/other/2022-09-02-\344\275\277\347\224\250postman\345\246\202\344\275\225\345\201\232\346\216\245\345\217\243\346\265\213\350\257\225/index.html" create mode 100644 "2022/09/02/python/2022-09-02-\350\247\243\346\236\220Excel\347\224\250\344\272\216\346\225\260\346\215\256\351\251\261\345\212\250/index.html" create mode 100644 "2022/09/02/python/2022-09-21-python\350\247\243\346\236\220ini\346\226\207\344\273\266/index.html" create mode 100644 "2022/09/05/other/\350\207\252\345\212\250\345\214\226\345\237\272\347\241\200\344\271\213Xpath\345\256\232\344\275\215/index.html" create mode 100644 "2022/09/21/java/2022-09-21-\344\275\277\347\224\250Java\350\247\243\346\236\220Properties\346\226\207\344\273\266/index.html" create mode 100644 "2022/09/21/java/2022-12-06-\346\226\271\346\263\225\345\222\214\345\207\275\346\225\260/index.html" create mode 100644 "2022/09/26/error/2022-09-26-git\346\217\220\347\244\272Timed_out\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225/index.html" create mode 100644 "2022/10/20/project/2022-10-20-\344\275\277\347\224\250ubuntu\345\256\271\345\231\250\345\256\211\350\243\205code-server/index.html" create mode 100644 "2022/10/20/project/2022-11-24-\346\220\255\345\273\272\346\200\247\350\203\275\347\233\221\346\216\247\345\271\263\345\217\260/index.html" create mode 100644 "2022/10/21/springboot/2022-10-21-\345\274\200\345\217\221\346\227\266\351\201\207\345\210\260\347\253\257\345\217\243\345\206\262\347\252\201\350\247\243\345\206\263\345\212\236\346\263\225/index.html" create mode 100644 "2022/10/21/springboot/2022-10-21-\346\216\245\345\217\243\345\274\200\345\217\221\347\216\257\345\242\203\351\203\250\347\275\262/index.html" create mode 100644 "2022/10/21/springboot/2022-10-21-\350\277\224\345\233\236cookie\347\232\204Get\346\216\245\345\217\243\345\274\200\345\217\221/index.html" create mode 100644 "2022/10/21/springboot/2022-10-21-\351\234\200\350\246\201cookie\350\256\277\351\227\256\347\232\204Get\346\216\245\345\217\243\345\274\200\345\217\221/index.html" create mode 100644 "2022/10/21/springboot/2022-10-21-\351\234\200\350\246\201\345\217\202\346\225\260\346\211\215\350\203\275\350\256\277\351\227\256\347\232\204get\350\257\267\346\261\202/index.html" create mode 100644 "2022/10/22/other/2022-10-22-SQL\350\257\255\350\250\200\347\232\204\345\237\272\346\234\254\346\223\215\344\275\234/index.html" create mode 100644 "2022/10/22/springboot/2022-10-22-\345\274\200\345\217\221\350\216\267\345\217\226\347\224\250\346\210\267\345\210\227\350\241\250\347\232\204post\350\257\267\346\261\202/index.html" create mode 100644 "2022/10/22/springboot/2022-10-22-\345\274\200\345\217\221\350\216\267\345\276\227cookie\347\232\204Post\347\231\273\345\275\225\346\216\245\345\217\243/index.html" create mode 100644 "2022/11/16/jmeter/2022-11-16-Jmeter\344\271\213\346\226\255\350\250\200/index.html" create mode 100644 "2022/11/17/jmeter/2022-11-17-jmeter\346\200\216\344\271\210\350\204\261\347\246\273UI\350\277\233\350\241\214\345\216\213\346\265\213/index.html" create mode 100644 "2022/11/18/jmeter/2022-11-18-Jmeter\344\271\213json\346\225\260\346\215\256\346\217\220\345\217\226\345\222\214\345\217\202\346\225\260\344\274\240\351\200\222/index.html" create mode 100644 "2022/11/18/jmeter/2022-11-18-jmeter\344\271\213\345\205\250\345\261\200\345\217\202\346\225\260\350\256\276\347\275\256\345\222\214csv\346\225\260\346\215\256\345\257\274\345\205\245/index.html" create mode 100644 "2022/11/19/jmeter/2022-11-14-jmeter\350\207\252\345\212\250\345\214\226\345\216\213\345\212\233\346\265\213\350\257\225/index.html" create mode 100644 "2022/11/20/jmeter/2022-11-20-jmeter\345\257\271\346\225\260\346\215\256\345\272\223\346\225\260\346\215\256\350\277\233\350\241\214\345\242\236\345\210\240\346\224\271\346\237\245/index.html" create mode 100644 2022/11/28/moko/2022-11-28-moko/index.html create mode 100644 "2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231Get\345\222\214Post\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\272\214\357\274\211/index.html" create mode 100644 "2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\345\214\205\345\220\253cookie\344\277\241\346\201\257\347\232\204\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\270\211\357\274\211/index.html" create mode 100644 "2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\270\200\357\274\211/index.html" create mode 100644 "2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\272\224\357\274\211/index.html" create mode 100644 "2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\351\207\215\345\256\232\345\220\221\347\232\204\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\345\233\233\357\274\211/index.html" create mode 100644 "2022/11/29/jmeter/2022-11-29-Constant Timer\345\256\232\346\227\266\345\231\250/index.html" create mode 100644 "2022/11/29/jmeter/2022-11-29-Loop Controller\346\216\247\345\210\266\345\231\250/index.html" create mode 100644 2022/11/29/jmeter/2022-11-29-Modeule Controller/index.html create mode 100644 "2022/11/29/jmeter/2022-11-29-Random Controller\346\216\247\345\210\266\345\231\250/index.html" create mode 100644 "2022/11/29/jmeter/2022-11-29-Simple Controller\346\216\247\345\210\266\345\231\250/index.html" create mode 100644 "2022/11/29/jmeter/2022-11-29-Transcation Controller\346\216\247\345\210\266\345\231\250/index.html" create mode 100644 "2022/11/29/jmeter/2022-11-29-if Controller\346\216\247\345\210\266\345\231\250/index.html" create mode 100644 "2022/11/30/jmeter/2022-11-30-Constant Throughput Timer\345\256\232\346\227\266\345\231\250/index.html" create mode 100644 "2022/11/30/jmeter/2022-11-30-Gaussian Random Timer\345\256\232\346\227\266\345\231\250/index.html" create mode 100644 "2022/11/30/jmeter/2022-11-30-\345\220\216\347\275\256\345\244\204\347\220\206\345\231\250\344\271\213\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217\345\244\204\347\220\206\345\231\250/index.html" create mode 100644 "2022/11/30/jmeter/2022-12-1-Groovy\347\274\226\345\206\231\346\226\271\346\263\225/index.html" create mode 100644 "2022/11/30/jmeter/jmeter_plugins/2022-12-07-Arrivals Thread Group\347\232\204\344\275\277\347\224\250/index.html" create mode 100644 "2022/11/30/jmeter/jmeter_plugins/2022-12-07-Ultimate Thread Group\347\232\204\344\275\277\347\224\250/index.html" create mode 100644 "2022/12/01/project/2022-12-1-\346\220\255\345\273\272\347\241\254\344\273\266\346\200\247\350\203\275\347\233\221\346\216\247\345\271\263\345\217\260/index.html" create mode 100644 "2022/12/07/java/2022-12-07-\345\214\205\350\243\205\347\261\273/index.html" create mode 100644 "2022/12/07/java/2022-12-07-\345\255\227\347\254\246\344\270\262/index.html" create mode 100644 "2022/12/07/java/2022-12-07-\346\212\275\350\261\241\347\261\273\344\270\216\346\216\245\345\217\243/index.html" create mode 100644 "2022/12/07/java/2022-12-07-\347\273\247\346\211\277\343\200\201\351\207\215\345\206\231\344\270\216\351\207\215\350\275\275/index.html" create mode 100644 2023/09/11/English/english-1/index.html create mode 100644 "2023/09/11/\347\233\256\346\240\207&\344\274\230\345\214\226/2023\347\233\256\346\240\207/index.html" create mode 100644 2023/10/14/hello-world/index.html create mode 100644 404.html create mode 100644 anzhiyu/random.js create mode 100644 archives/2022/08/index.html create mode 100644 archives/2022/08/page/2/index.html create mode 100644 archives/2022/08/page/3/index.html create mode 100644 archives/2022/08/page/4/index.html create mode 100644 archives/2022/09/index.html create mode 100644 archives/2022/10/index.html create mode 100644 archives/2022/11/index.html create mode 100644 archives/2022/11/page/2/index.html create mode 100644 archives/2022/11/page/3/index.html create mode 100644 archives/2022/12/index.html create mode 100644 archives/2022/index.html create mode 100644 archives/2022/page/2/index.html create mode 100644 archives/2022/page/3/index.html create mode 100644 archives/2022/page/4/index.html create mode 100644 archives/2022/page/5/index.html create mode 100644 archives/2022/page/6/index.html create mode 100644 archives/2022/page/7/index.html create mode 100644 archives/2022/page/8/index.html create mode 100644 archives/2022/page/9/index.html create mode 100644 archives/2023/09/index.html create mode 100644 archives/2023/10/index.html create mode 100644 archives/2023/index.html create mode 100644 archives/index.html create mode 100644 archives/page/2/index.html create mode 100644 archives/page/3/index.html create mode 100644 archives/page/4/index.html create mode 100644 archives/page/5/index.html create mode 100644 archives/page/6/index.html create mode 100644 archives/page/7/index.html create mode 100644 archives/page/8/index.html create mode 100644 archives/page/9/index.html create mode 100644 categories/index.html create mode 100644 "categories/\345\255\246\344\271\240\346\227\245\345\270\270/index.html" create mode 100644 "categories/\345\267\245\345\205\267\346\225\231\347\250\213/index.html" create mode 100644 "categories/\345\267\245\345\205\267\346\225\231\347\250\213/page/2/index.html" create mode 100644 "categories/\345\267\245\345\205\267\346\225\231\347\250\213/page/3/index.html" create mode 100644 "categories/\347\224\237\346\264\273\346\227\245\345\270\270/index.html" create mode 100644 "categories/\347\273\217\351\252\214\345\210\206\344\272\253/index.html" create mode 100644 "categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/2/index.html" create mode 100644 "categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/3/index.html" create mode 100644 "categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/4/index.html" create mode 100644 "categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/5/index.html" create mode 100644 "categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/6/index.html" create mode 100644 "categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/7/index.html" create mode 100644 css/index.css rename placeholder => css/var.css (100%) create mode 100644 essay/index.html create mode 100644 favicon.ico create mode 100644 img/404.jpg create mode 100644 img/512.png create mode 100644 img/algolia.svg create mode 100644 img/comment_bg.png create mode 100644 img/default_cover.jpg create mode 100644 img/favicon.ico create mode 100644 img/friend_404.gif create mode 100644 img/loading.gif create mode 100644 img/siteicon/16.png create mode 100644 img/siteicon/32.png create mode 100644 img/siteicon/apple-icon-180.png create mode 100644 img/siteicon/manifest-icon-192.maskable.png create mode 100644 img/siteicon/manifest-icon-512.maskable.png create mode 100644 index.html create mode 100644 js/anzhiyu/ai_abstract.js create mode 100644 js/anzhiyu/comment_barrage.js create mode 100644 js/anzhiyu/people.js create mode 100644 js/anzhiyu/random_friends_post.js create mode 100644 js/anzhiyu/right_click_menu.js create mode 100644 js/main.js create mode 100644 js/search/algolia.js create mode 100644 js/search/local-search.js create mode 100644 js/tw_cn.js create mode 100644 js/utils.js create mode 100644 page/2/index.html create mode 100644 page/3/index.html create mode 100644 page/4/index.html create mode 100644 page/5/index.html create mode 100644 page/6/index.html create mode 100644 page/7/index.html create mode 100644 page/8/index.html create mode 100644 search.xml create mode 100644 self/css/essay_page.css create mode 100644 self/css/icat.css create mode 100644 self/css/main_bunner.css create mode 100644 self/css/meihua.css create mode 100644 self/js/essay_page.js create mode 100644 self/js/main_bunner.js create mode 100644 self/js/random.js create mode 100644 tags/English/index.html create mode 100644 tags/Git/index.html create mode 100644 tags/Properties/index.html create mode 100644 tags/SpringBoot/index.html create mode 100644 tags/docker/index.html create mode 100644 tags/docker/page/2/index.html create mode 100644 tags/docker/page/3/index.html create mode 100644 tags/error/index.html create mode 100644 tags/index.html create mode 100644 tags/java/index.html create mode 100644 tags/java/page/2/index.html create mode 100644 tags/jmeter/index.html create mode 100644 tags/jmeter/page/2/index.html create mode 100644 tags/postman/index.html create mode 100644 tags/python/index.html create mode 100644 tags/shell/index.html create mode 100644 tags/sql/index.html create mode 100644 tags/ubuntu/index.html create mode 100644 tags/xpath/index.html create mode 100644 tags/yaml/index.html create mode 100644 "tags/\346\200\247\350\203\275\346\265\213\350\257\225/index.html" create mode 100644 "tags/\347\233\221\346\216\247/index.html" create mode 100644 "tags/\347\233\256\346\240\207-\344\274\230\345\214\226/index.html" create mode 100644 "tags/\351\251\254\345\223\262/index.html" create mode 100644 "\346\265\213\350\257\225\351\241\265\351\235\242/index.html" diff --git "a/2022/08/26/docker/2022-08-25-_3\344\270\2733\344\273\216\347\232\204Redis\351\233\206\347\276\244\346\220\255\345\273\272(\344\270\213)/index.html" "b/2022/08/26/docker/2022-08-25-_3\344\270\2733\344\273\216\347\232\204Redis\351\233\206\347\276\244\346\220\255\345\273\272(\344\270\213)/index.html" new file mode 100644 index 000000000..4a9511890 --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-_3\344\270\2733\344\273\216\347\232\204Redis\351\233\206\347\276\244\346\220\255\345\273\272(\344\270\213)/index.html" @@ -0,0 +1,364 @@ +_3主3从的`Redis集群`搭建(下) | Research • 呓语
加载头像

_3主3从的`Redis集群`搭建(下)

_3主3从的`Redis集群`搭建(下)

_3主3从的Redis集群搭建(下)

进入主机6381

+

redis-cli -p 6381

+
+
+ +
+ +

查看集群信息

+

cluster info

+
+
+ +
+ +

查看主机和从机之间的主从关系

+
+

cluster nodes

+
+

image-20220509101455220

+
+ +
+ + +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-_3\344\270\2733\344\273\216\347\232\204Redis\351\233\206\347\276\244\346\220\255\345\273\272\344\271\213\345\223\210\345\270\214\346\247\275\347\256\227\346\263\225/index.html" "b/2022/08/26/docker/2022-08-25-_3\344\270\2733\344\273\216\347\232\204Redis\351\233\206\347\276\244\346\220\255\345\273\272\344\271\213\345\223\210\345\270\214\346\247\275\347\256\227\346\263\225/index.html" new file mode 100644 index 000000000..b81558d3d --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-_3\344\270\2733\344\273\216\347\232\204Redis\351\233\206\347\276\244\346\220\255\345\273\272\344\271\213\345\223\210\345\270\214\346\247\275\347\256\227\346\263\225/index.html" @@ -0,0 +1,357 @@ +_3主3从的`Redis集群`搭建之哈希槽算法 | Research • 呓语
加载头像

_3主3从的`Redis集群`搭建之哈希槽算法

_3主3从的`Redis集群`搭建之哈希槽算法

_3主3从的Redis集群搭建之哈希槽算法

目的

解决一致性哈希算法数据倾斜问题

+

实质

是一个数组,数组[0,2^14-1]形成hash slot空间

+

作用

解决均匀分配问题,在数据和节点之间加入一层(哈希槽slot)用于管理数据和节点之间的关系,现在相当于节点里放槽,槽里放数据

+
+ +
+ +

方便数据移动

+

哈希解决的映射问题,使用key的哈希值来计算所在的槽,便于数据分配

+

多少个hash槽

一个集群只能有16384个槽,编号0-16383(0-2^14-1)

+

这些槽会分配给集群中的所有主节点,分配策略没有要求。可以指定哪些编号的槽分配给哪个主节点。集群会记录节点和槽的对应关系。

+

接下来就需要对key求哈希值,然后对16384取余,余数是几key就落入对应的槽里。slot = CRC16(key) % 16384

+

以槽为单位移动数据,因为槽的数目是固定的,处理起来比较容易,这样数据移动问题就解决了。

+

举个栗子

Redis 集群中内置了 16384 个哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,也就是映射到某个节点上。如下代码,key之A 、B在Node2, key之C落在Node3上

+

首先有几个redis就把0-16383分成几个

+
+ +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-_3\344\270\2733\344\273\216\347\232\204Redis\351\233\206\347\276\244\346\220\255\345\273\272\357\274\210\344\270\212\357\274\211/index.html" "b/2022/08/26/docker/2022-08-25-_3\344\270\2733\344\273\216\347\232\204Redis\351\233\206\347\276\244\346\220\255\345\273\272\357\274\210\344\270\212\357\274\211/index.html" new file mode 100644 index 000000000..68dac346e --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-_3\344\270\2733\344\273\216\347\232\204Redis\351\233\206\347\276\244\346\220\255\345\273\272\357\274\210\344\270\212\357\274\211/index.html" @@ -0,0 +1,388 @@ +_3主3从的`Redis集群`搭建(上) | Research • 呓语
加载头像

_3主3从的`Redis集群`搭建(上)

_3主3从的`Redis集群`搭建(上)

_3主3从的Redis集群搭建(上)

    +
  • 关闭防火墙,启动docker
  • +
  • 新建6个docker容器docker run -d --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386
      +
    • docker run 创建并运行docker容器实例
    • +
    • –name redis-node-6 容器名字
    • +
    • –net host 使用宿主机的IP和端口,默认
    • +
    • –privileged=true 获取宿主机root用户权限
    • +
    • -v /data/redis/share/redis-node-6:/data 容器卷,宿主机地址:docker内部地址
    • +
    • redis:6.0.8 redis镜像和版本号
    • +
    • –cluster-enabled yes 开启redis集群
    • +
    • –appendonly yes 开启持久化
    • +
    • –port 6386 redis端口号
    • +
    +
  • +
+
1
2
3
4
5
6
docker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381
docker run -d --name redis-node-2 --net host --privileged=true -v /data/redis/share/redis-node-2:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6382
docker run -d --name redis-node-3 --net host --privileged=true -v /data/redis/share/redis-node-3:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6383
docker run -d --name redis-node-4 --net host --privileged=true -v /data/redis/share/redis-node-4:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6384
docker run -d --name redis-node-5 --net host --privileged=true -v /data/redis/share/redis-node-5:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6385
docker run -d --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386
+ +

运行成功,使用docker ps查看

+
    +
  • 进入容器redis-node-1并为6台机器构建集群关系

    +
      +
    • 进入一台redis进行配置docker exec -it redis-node-1 bash

      +
    • +
    • #进入后执行
      +redis-cli --cluster create 8.142.144.75:6381 8.142.144.75:6382 8.142.144.75:6383 8.142.144.75:6384 8.142.144.75:6385 8.142.144.75:6386 --cluster-replicas 1
      +
      + --cluster create	构建集群
      + --cluster-replicas 1	集群关联一比一的关系
      + 
      +--cluster-replicas 1 表示为每个master创建一个slave节点
      +# 注意:上面的ip为真实IP
      +
      +
    • +
    +

    有下面的绿色ok字样显示运行成功

    +
  • +
+
+ +
+ +
+

如果运行不成功,一直显示Waiting for the cluster to join.. 一直………………………………….,则是端口没有全部开放,防火墙也要开放端口,以阿里云为例

+
+

就是需要在安全组上面配置63816386的6个端口,还需要配置1638116386的6个端口,共12个端口都要开放,不然会一直提示等待

+
    +
  • 一切OK的话,3主3从搭建搞定
  • +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git a/2022/08/26/docker/2022-08-25-_dockerfile/index.html b/2022/08/26/docker/2022-08-25-_dockerfile/index.html new file mode 100644 index 000000000..480135ced --- /dev/null +++ b/2022/08/26/docker/2022-08-25-_dockerfile/index.html @@ -0,0 +1,352 @@ +_dockerfile | Research • 呓语
加载头像

_dockerfile

_dockerfile

_dockerfile

以dockerfile的方法来进行对centos的具有vim,ifconfig和jdk8的镜像

创建myfile文件夹

创建Dockerfile文件

+

注意:jdk8需要和Dockerfile放到同一个文件夹

+
+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
FROM centos:7												
MAINTAINER zzyy<zzyybs@126.com>

ENV MYPATH /usr/local
WORKDIR $MYPATH

#安装vim编辑器
RUN yum -y install vim
#安装ifconfig命令查看网络IP
RUN yum -y install net-tools
#安装java8及lib库
RUN yum -y install glibc.i686
RUN mkdir /usr/local/java
#ADD 是相对路径jar,把jdk-8u171-linux-x64.tar.gz添加到容器中,安装包必须要和Dockerfile文件在同一位置
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH

EXPOSE 80

CMD echo $MYPATH
CMD echo "success--------------ok"
CMD /bin/bash
+ +

创建好Dockerfile后,运行docker build -t 新镜像名称:Tag .

注意:Tag后面有个空格,有个点

+

虚悬镜像

+

仓库名和标签名全部为的镜像

+
+

碰到它还是进行删除的好

+

使用docker image ls -f dangling=true查找虚悬镜像

+

使用docker image prune删除镜像

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-_mysql\344\270\273\344\273\216\345\244\215\345\210\266docker\347\211\210/index.html" "b/2022/08/26/docker/2022-08-25-_mysql\344\270\273\344\273\216\345\244\215\345\210\266docker\347\211\210/index.html" new file mode 100644 index 000000000..263d6018e --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-_mysql\344\270\273\344\273\216\345\244\215\345\210\266docker\347\211\210/index.html" @@ -0,0 +1,378 @@ +_mysql主从复制docker版 | Research • 呓语
加载头像

_mysql主从复制docker版

_mysql主从复制docker版

_mysql主从复制docker版

安装mysql主从复制(一主一从)

新建主服务器容器实例3307

+
1
docker run -p 3307:3306 --name mysql-master -v /mydata/mysql-master/log/:/var/log/mysql -v /mydata/mysql-master/data:/var/lib/mysql -v /mydata/mysql-master/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
+ +

进入/mydata/mysql-master/conf目录下新建my.cnf把下面内容粘贴到my.cnf

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[mysqld]
## 设置server_id,同一局域网中需要唯一
server_id=101
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql
## 开启二进制日志功能
log-bin=mall-mysql-bin
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间。默认值为0,表示不自动清理。
expire_logs_days=7
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062
+ +

修改完配置后重启master容器

+

master容器实例内创建数据同步用户

+
1
2
3
4
# 建立一个用户
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
# 对新建的用户进行授权
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
+ +
+ +
+ + +

新建从服务器实例3308

+
1
docker run -p 3308:3306 --name mysql-slave -v /mydata/mysql-slave/log/:/var/log/mysql -v /mydata/mysql-slave/data:/var/lib/mysql -v /mydata/mysql-slave/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
+ +

进入/mydata/mysql-slave/conf目录下新建my.cnf

+
1
2
3
4
5
6
7
8
9
10
11
12
13
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间。默认值为0,表示不自动清理。
expire_logs_days=7
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062
## relay_log配置中继日志
relay_log=mall-mysql-relay-bin
## log_slave_updates表示slave将复制事件写进自己的二进制日志
log_slave_updates=1
## slave设置为只读(具有super权限的用户除外)
read_only=1
+ +

重启从机实例docker restart mysql-slave

+

在主数据库中查看主从同步状态show master status;

+

进入mysql-slave从机容器

+

在从数据库中配置主从复制change master to master_host='宿主机ip', master_user='slave', master_password='123456', master_port=3307, master_log_file='mall-mysql-bin.000001', master_log_pos=617, master_connect_retry=30;

+
1
2
3
4
5
6
7
8
# 说明:
master_host:主数据库的IP地址;
master_port:主数据库的运行端口;
master_user:在主数据库创建的用于同步数据的用户账号;
master_password:在主数据库创建的用于同步数据的用户密码;
master_log_file:指定从数据库要复制数据的日志文件,通过查看主数据的状态,获取File参数;
master_log_pos:指定从数据库从哪个位置开始复制数据,通过查看主数据的状态,获取Position参数;
master_connect_retry:连接失败重试的时间间隔,单位为秒。
+ +

在从数据库中查看主从同步状态show slave status \G;

+

在从数据库中开启主从同步start slave

+

查看从数据库状态发现已经同步

+
+ +
+ + +

主从复制测试

+

主机创建数据库,创建表,插入数据,搜索表的数据

+

从机直接搜索标的数据

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-_\344\270\273\344\273\216\345\256\271\351\224\231\345\210\207\346\215\242\350\277\201\347\247\273/index.html" "b/2022/08/26/docker/2022-08-25-_\344\270\273\344\273\216\345\256\271\351\224\231\345\210\207\346\215\242\350\277\201\347\247\273/index.html" new file mode 100644 index 000000000..05bd93447 --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-_\344\270\273\344\273\216\345\256\271\351\224\231\345\210\207\346\215\242\350\277\201\347\247\273/index.html" @@ -0,0 +1,372 @@ +_主从容错切换迁移 | Research • 呓语
加载头像

_主从容错切换迁移

_主从容错切换迁移

_主从容错切换迁移

进入redis集群

+

注意:进入集群环境后,不能使用单机版的redis-cli -p 6381

+
+

因为这样会在增加数据时有error报错出现

+
+ +
+ + +

使用set k1 v1错误是因为1号主机里面的编号是0到5460,超过了这个范围就会报错

+
+

正确进入的方法redis-cli -p 6381 -c

+

-c 的作用是优化路由

+
+
+ +
+ + +

注:FLUSHALL:作用是清除之前添加的记录

+

集群检查

+

redis-cli –cluster check 8.142.144.75:6381

+
+

注:可以进入任意一台主机

+
+ +
+ + +

主从容错切换迁移

+

主机宕机,从机自动切换成主机

+
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-docker \345\270\256\345\212\251\345\220\257\345\212\250\347\261\273\345\221\275\344\273\244\357\274\210\344\270\200\357\274\211/index.html" "b/2022/08/26/docker/2022-08-25-docker \345\270\256\345\212\251\345\220\257\345\212\250\347\261\273\345\221\275\344\273\244\357\274\210\344\270\200\357\274\211/index.html" new file mode 100644 index 000000000..223bc98b8 --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-docker \345\270\256\345\212\251\345\220\257\345\212\250\347\261\273\345\221\275\344\273\244\357\274\210\344\270\200\357\274\211/index.html" @@ -0,0 +1,356 @@ +docker 帮助启动类命令(一) | Research • 呓语
加载头像

docker 帮助启动类命令(一)

docker 帮助启动类命令(一)

docker 帮助启动类命令(一)

启动docker

+
+

systemctl start docker

+
+

停止docker

+
+

systemctl stop docker

+
+

查看docker状态

+
+

systemctl status docker

+
+

重启 docker,没有任何提示说明启动成功

+
+

systemctl restart docker

+
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-docker \345\270\256\345\212\251\345\220\257\345\212\250\347\261\273\345\221\275\344\273\244\357\274\210\344\272\214\357\274\211/index.html" "b/2022/08/26/docker/2022-08-25-docker \345\270\256\345\212\251\345\220\257\345\212\250\347\261\273\345\221\275\344\273\244\357\274\210\344\272\214\357\274\211/index.html" new file mode 100644 index 000000000..f5d93bcb6 --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-docker \345\270\256\345\212\251\345\220\257\345\212\250\347\261\273\345\221\275\344\273\244\357\274\210\344\272\214\357\274\211/index.html" @@ -0,0 +1,355 @@ +docker 帮助启动类命令(二) | Research • 呓语
加载头像

docker 帮助启动类命令(二)

docker 帮助启动类命令(二)

docker 帮助启动类命令(二)

docker 开机启动

+
+

systemctl enable docker

+
+

查看 docker 概要信息

+
+

docker info

+
+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker info
Client:
Context: default
Debug Mode: false
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Docker Buildx (Docker Inc., v0.7.1-docker)
scan: Docker Scan (Docker Inc., v0.12.0)

Server:
Containers: 6
Running: 0
Paused: 0
Stopped: 6
Images: 5
Server Version: 20.10.12
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
runc version: v1.0.2-0-g52b36a2
init version: de40ad0
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-1160.45.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.795GiB
Name: iZ8vbfaek3x3ogtpxnpnwfZ
ID: NQOP:KCP6:LS6G:K52A:XOQX:E7FG:FEHL:K3QX:NSLP:VY5S:TFX5:UR42
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Registry Mirrors:
https://qp747t9w.mirror.aliyuncs.com/
Live Restore Enabled: false

+ +

查看 docker 总体帮助文档

+
+

docker –help

+
+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker --help

Usage: docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Options:
--config string Location of client config files (default "/root/.docker")
-c, --context string Name of the context to use to connect to the daemon (overrides DOCKER_HOST
env var and default context set with "docker context use")
-D, --debug Enable debug mode
-H, --host list Daemon socket(s) to connect to
-l, --log-level string Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
--tls Use TLS; implied by --tlsverify
--tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem")
--tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem")
--tlskey string Path to TLS key file (default "/root/.docker/key.pem")
--tlsverify Use TLS and verify the remote
-v, --version Print version information and quit

Management Commands:
app* Docker App (Docker Inc., v0.9.1-beta3)


查看 docker 命令帮助文档
> docker 具体命令 --help

```shell
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker ps --help

Usage: docker ps [OPTIONS]

List containers

Options:
-a, --all Show all containers (default shows just running)
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print containers using a Go template
-n, --last int Show n last created containers (includes all states) (default -1)
-l, --latest Show the latest created container (includes all states)
--no-trunc Don't truncate output
-q, --quiet Only display container IDs
-s, --size Display total file sizes
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]#

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-docker \351\225\234\345\203\217\357\274\210\344\270\200\357\274\211/index.html" "b/2022/08/26/docker/2022-08-25-docker \351\225\234\345\203\217\357\274\210\344\270\200\357\274\211/index.html" new file mode 100644 index 000000000..33e0585c5 --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-docker \351\225\234\345\203\217\357\274\210\344\270\200\357\274\211/index.html" @@ -0,0 +1,373 @@ +docker 镜像(一) | Research • 呓语
加载头像

docker 镜像(一)

docker 镜像(一)

镜像(一)

查询本地主机上的镜像

+

docker images
OPTIONS说明:

+
    +
    • +
    • a 列出本地所有的镜像(含历史镜像)
    • +
    +
  • +
    • +
    • q 只显示镜像ID
    • +
    +
  • +
+
+

举个栗子

1
2
3
4
5
6
7
8
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 9.0 b8e65a4d736d 4 months ago 680MB
tomcat latest fb5657adc892 4 months ago 680MB
hello-world latest feb5d9fea6a5 7 months ago 13.3kB
centos latest 5d0da3dc9764 7 months ago 231MB
ubuntu 15.10 9b9cb95443b5 5 years ago 137MB
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]#
+
1
2
3
4
5
6
7
8
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 9.0 b8e65a4d736d 4 months ago 680MB
tomcat latest fb5657adc892 4 months ago 680MB
hello-world latest feb5d9fea6a5 7 months ago 13.3kB
centos latest 5d0da3dc9764 7 months ago 231MB
ubuntu 15.10 9b9cb95443b5 5 years ago 137MB
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]#
+
1
2
3
4
5
6
7
8
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker images -q
b8e65a4d736d
fb5657adc892
feb5d9fea6a5
5d0da3dc9764
9b9cb95443b5
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]#

+ +

查询镜像仓库是否有该镜像

+

docker search 镜像名称

+
+

举个栗子

STARS 点赞数
OFFICIAL 官方认证

+
1
2
3
4
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker search hello-world
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
hello-world Hello World! (an example of minimal Dockeriz… 1718 [OK]
kitematic/hello-world-nginx A light-weight nginx container that demonstr… 151
+ +

显示前n条镜像

+

docker search –limit n 镜像名称

+
+
1
2
3
4
5
6
7
8
9
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker search --limit 5 redis
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
redis Redis is an open source key-value store that… 10851 [OK]
bitnami/redis Bitnami Redis Docker Image 214 [OK]
bitnami/redis-sentinel Bitnami Docker Image for Redis Sentinel 36 [OK]
circleci/redis CircleCI images for Redis 12 [OK]
bitnami/redis-exporter 6
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#

+ +

下载安装镜像到本地

+

docker pull 镜像名称:标签版本号

+
+

没有tag就是最新版

+
1
2
3
4
5
6
7
8
9
10
11
12
13
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker pull redis:6.0.8
6.0.8: Pulling from library/redis
bb79b6b2107f: Pull complete
1ed3521a5dcb: Pull complete
5999b99cee8f: Pull complete
3f806f5245c9: Pull complete
f8a4497572b2: Pull complete
eafe3b6b8d06: Pull complete
Digest: sha256:21db12e5ab3cc343e9376d655e8eabbdbe5516801373e95a8a9e66010c5b8819
Status: Downloaded newer image for redis:6.0.8
docker.io/library/redis:6.0.8
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-docker \351\225\234\345\203\217\357\274\210\344\272\214\357\274\211/index.html" "b/2022/08/26/docker/2022-08-25-docker \351\225\234\345\203\217\357\274\210\344\272\214\357\274\211/index.html" new file mode 100644 index 000000000..05170a3b6 --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-docker \351\225\234\345\203\217\357\274\210\344\272\214\357\274\211/index.html" @@ -0,0 +1,362 @@ +docker 镜像(二) | Research • 呓语
加载头像

docker 镜像(二)

docker 镜像(二)

镜像(二)

查看 镜像/容器/数据 卷所占的空间

+

docker system df

+
+
1
2
3
4
5
6
7
8
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 6 3 1.173GB 921.1MB (78%)
Containers 6 0 4.517MB 4.517MB (100%)
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#

+ +

删除镜像

+

docker rmi 镜像ID

+
+
#### 如果提示报错
+Error response from daemon: conflict: unable to delete feb5d9fea6a5 (must be forced) - image is being used by stopped container 13111f725991
+
+说明之前运行过这个镜像,生成了容器,需要先删除容器,再删除镜像
+
+#### 使用 -f 删除一个
+> docker rmi -f 镜像id
+
+#### 使用 -f 删除多个
+> xxxxxxxxxx # 没有任何提示说明启动成功[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# systemctl restart docker[root@iZ8vbfaek3x3ogtpxnpnwfZ /]#shell
+
+#### 使用 -f 删除全部
+> docker rmi -f $(docker images -qa)
+
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-redis3\344\270\2733\344\273\216\346\211\251\345\256\271/index.html" "b/2022/08/26/docker/2022-08-25-redis3\344\270\2733\344\273\216\346\211\251\345\256\271/index.html" new file mode 100644 index 000000000..b340a025c --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-redis3\344\270\2733\344\273\216\346\211\251\345\256\271/index.html" @@ -0,0 +1,388 @@ +redis的3主3从扩容 | Research • 呓语
加载头像

redis的3主3从扩容

redis的3主3从扩容

redis的3主3从扩容

首先添加两个redis

1
2
3
4
# 创建redis-node-7
docler run -d --name redis-node-7 --net host --privileged=true -v /data/redis/share/redis-node-7:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6387
# 创建redis-node-8
docler run -d --name redis-node-8 --net host --privileged=true -v /data/redis/share/redis-node-8:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6388
+ +

注:在阿里云的安全组和防火墙上添加6387,16387 6388,16388四个端口

+

配置步骤:

执行docker exec -it redis-node-1 bash 进入redis-node-1里面
执行redis-cli --cluster add-node 8.142.144.75:6387 8.142.144.75:6381
+ +
+ + + +

6387 新加入的节点

+

6381 相当于6387的领路人

+
使用redis-cli --cluster check 8.142.144.75:6381检查
+ +
+ +
重新分配槽号
+

redis-cli –cluster reshard IP地址:端口号

+
+
+ +
+ +

注:上图的1指的是:对主机数平分16384个节点,16384/主机数(包含想要添加的主机)

+

注:上图的2指的是:新加入的6387节点的ID

+
+ +
+ +

all:表示全部进行重新分配

+

在重新加载过程会碰到Do you want to proceed with the proposed reshard plan (yes/no)?一句话,选择yes就可以

+
+ +
+ +
检查集群情况
+ +
+ +
为主节点6387分配从节点6388
+

redis-cli –cluster add-node ip:新slave端口 ip:新master端口 –cluster-slave –cluster-master-id 新主机节点ID

+
+
+ +
+ +
检查集群情况
+ +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-redis\347\232\2044\344\270\2734\344\273\216\347\274\251\345\256\271/index.html" "b/2022/08/26/docker/2022-08-25-redis\347\232\2044\344\270\2734\344\273\216\347\274\251\345\256\271/index.html" new file mode 100644 index 000000000..d5f74363d --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-redis\347\232\2044\344\270\2734\344\273\216\347\274\251\345\256\271/index.html" @@ -0,0 +1,383 @@ +redis的4主4从缩容 | Research • 呓语
加载头像

redis的4主4从缩容

redis的4主4从缩容

redis的4主4从缩容

目的:6387和6388下线
检查集群情况获得6388的节点ID
+

redis-cli –cluster check 8.142.144.75:6382

+
+
+ +
+ +
从集群中将4号从节点6388删除
+

redis-cli –cluster del-node ip:从机端口 从机6388节点ID

+
+
+ +
+ +
使用redis-cli --cluster check 8.142.144.75:6382进行集群检查
+ +
+ +

6388删除成功

+
将6387的槽号清空,重新分配

本例将清出来的槽号都给6381

+

使用redis-cli --cluster reshard ip:6381进行节点的重组

+
+ +
+ +

注:

+

上图中1输入的4096是6387主机所拥有的槽点数量,把他们全部拿出来分掉

+

上图的2输入的ID是接收6387主机所放出的槽点数的主机id

+

上图中3输入的ID是放出槽点数的6387主机的id

+

上图中4输入的done指的是已经输入完所有的节点

+
使用redis-cli --cluster check 8.142.144.75:6382进行集群检查
+ +
+ +
删除6387节点的主机
+

redis-cli –cluster del-node ip:端口 6387节点ID

+
+
+ +
+ +
使用redis-cli --cluster check 8.142.144.75:6382进行集群检查
+ +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-\344\275\277\347\224\250docker\345\256\211\350\243\205\345\270\270\347\224\250\350\275\257\344\273\266\357\274\232mysql/index.html" "b/2022/08/26/docker/2022-08-25-\344\275\277\347\224\250docker\345\256\211\350\243\205\345\270\270\347\224\250\350\275\257\344\273\266\357\274\232mysql/index.html" new file mode 100644 index 000000000..128fbf543 --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-\344\275\277\347\224\250docker\345\256\211\350\243\205\345\270\270\347\224\250\350\275\257\344\273\266\357\274\232mysql/index.html" @@ -0,0 +1,367 @@ +使用docker安装常用软件:mysql | Research • 呓语
加载头像

使用docker安装常用软件:mysql

使用docker安装常用软件:mysql

使用docker安装常用软件:mysql

以mysql 5.7为例

使用docker pull mysql:5.7拉取mysql 5.7镜像

+

使用镜像创建容器

简单版

使用docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7运行镜像创建容器

+
+

因为linux系统自己装了mysql,避免端口冲突,先运行ps -ef|grep mysql查询

+
+

使用docker ps查询容器编号

+

使用docker exec -it 容器编号 bash进入mysql容器

+

使用mysql -uroot -p,输入密码,登录mysql

+
验证

show databases

+
1
2
3
4
5
6
7
8
9
10
mysql> show databases
-> ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
+ +
中文乱码问题
1
2
3
4
5
INSERT INTo t1 VALUES(3, "张三");
---
INSERT INTo t1 VALUES(3, "张三")
> 1366 - Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'name' at row 1
> 时间: 0.038s
+ +

因为docker默认编码字符集隐患

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
mysql>
+ +

解决中文乱码问题

在宿主机的/ggls/mysql/conf目录下vim my.cnf文件,通过容器卷同步给容器实例

+
1
2
3
4
5
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
+ +

改完后重启mysql实例

+
服务器输入SHOW VARIABLES LIKE 'character%';验证

docker安装好并run出容器后,先修改字符集编码在创建mysql库

+
删库备份问题

只要本机上面的容器卷存在,容器卷位置没有改变的情况下,就算容器被删除,重新打开后,创建的数据库,表都还存在

+

工作使用版启动容器方法

+
1
2
3
4
5
6
7
docker run -d -p 3306:3306 --privileged=true
-v /ggls/mysql/log:/var/log/mysql
-v /ggls/mysql/data:/var/lib/mysql
-v /ggls/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
--name mysql
mysql:5.7
+ + + +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-\344\275\277\347\224\250docker\345\256\211\350\243\205\345\270\270\347\224\250\350\275\257\344\273\266\357\274\232redis/index.html" "b/2022/08/26/docker/2022-08-25-\344\275\277\347\224\250docker\345\256\211\350\243\205\345\270\270\347\224\250\350\275\257\344\273\266\357\274\232redis/index.html" new file mode 100644 index 000000000..678a32cab --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-\344\275\277\347\224\250docker\345\256\211\350\243\205\345\270\270\347\224\250\350\275\257\344\273\266\357\274\232redis/index.html" @@ -0,0 +1,346 @@ +使用docker安装常用软件:redis | Research • 呓语
加载头像

使用docker安装常用软件:redis

使用docker安装常用软件:redis

使用docker安装常用软件:redis

使用docker pull redis:6.0.8 拉取redis:6.0.8镜像

+

创建容器

+
+

容器卷要加入--privileged=true

+
+

在宿主机下新建目录mkdir -p /app/redis

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-\344\275\277\347\224\250docker\345\256\211\350\243\205\345\270\270\347\224\250\350\275\257\344\273\266\357\274\232tomcat/index.html" "b/2022/08/26/docker/2022-08-25-\344\275\277\347\224\250docker\345\256\211\350\243\205\345\270\270\347\224\250\350\275\257\344\273\266\357\274\232tomcat/index.html" new file mode 100644 index 000000000..e37d3a5f3 --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-\344\275\277\347\224\250docker\345\256\211\350\243\205\345\270\270\347\224\250\350\275\257\344\273\266\357\274\232tomcat/index.html" @@ -0,0 +1,370 @@ +使用docker安装常用软件:tomcat | Research • 呓语
加载头像

使用docker安装常用软件:tomcat

使用docker安装常用软件:tomcat

使用docker安装常用软件:tomcat

安装流程

首先把tomcat在镜像源中pull下来,使用docker images 查看镜像

+

使用docker run -d -p 8080:8080 tomcat:9.0 新建容器运行tomcat

+
+

运行后使用本地PC使用阿里云的ip和端口访问docker上面的tomcat

+
+
+ +
+ + + +

这是什么原因呢

使用docker ps查询到容器编号,docker exec -it 容器编号 bash 打开容器

+
1
2
3
4
5
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c52ab6b8b8df b8e65a4d736d "catalina.sh run" 7 minutes ago Up 7 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp inspiring_bohr
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker exec -it c52ab6b8b8df bash
root@c52ab6b8b8df:/usr/local/tomcat#
+ +

使用ls-l查看文件列表

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
root@c52ab6b8b8df:/usr/local/tomcat# ls -l
total 156
-rw-r--r-- 1 root root 18970 Dec 2 14:30 BUILDING.txt
-rw-r--r-- 1 root root 6210 Dec 2 14:30 CONTRIBUTING.md
-rw-r--r-- 1 root root 57092 Dec 2 14:30 LICENSE
-rw-r--r-- 1 root root 2333 Dec 2 14:30 NOTICE
-rw-r--r-- 1 root root 3378 Dec 2 14:30 README.md
-rw-r--r-- 1 root root 6898 Dec 2 14:30 RELEASE-NOTES
-rw-r--r-- 1 root root 16507 Dec 2 14:30 RUNNING.txt
drwxr-xr-x 2 root root 4096 Dec 22 17:16 bin
drwxr-xr-x 1 root root 4096 Apr 29 01:48 conf
drwxr-xr-x 2 root root 4096 Dec 22 17:16 lib
drwxrwxrwx 1 root root 4096 Apr 29 01:48 logs
drwxr-xr-x 2 root root 4096 Dec 22 17:16 native-jni-lib
drwxrwxrwx 2 root root 4096 Dec 22 17:16 temp
drwxr-xr-x 2 root root 4096 Dec 22 17:16 webapps
drwxr-xr-x 7 root root 4096 Dec 2 14:30 webapps.dist
drwxrwxrwx 2 root root 4096 Dec 2 14:30 work
root@c52ab6b8b8df:/usr/local/tomcat#
+ +

从列表可以看到有两个文件夹webappswebapps.dist,数据全部在webapps.dist里面,需要将webapps删除,把webapps.dist重命名成webapps即可访问

+

使用rm -rf webapps删除webapps文件夹

+

使用mv webapps.dist webapps 重命名

+

再次使用本地访问

+
+ +
+ + +

使用免修改版的tomcat

+

docker pull billygoo/tomcat8-jdk8

+

docker run -d -p 8080:8080 –name tomcat8 billygoo/tomcat8-jdk8

+
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\346\225\260\346\215\256\345\215\267/index.html" "b/2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\346\225\260\346\215\256\345\215\267/index.html" new file mode 100644 index 000000000..6cb748277 --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\346\225\260\346\215\256\345\215\267/index.html" @@ -0,0 +1,377 @@ +容器数据卷 | Research • 呓语
加载头像

容器数据卷

容器数据卷

容器数据卷

运行带有容器数据卷的容器实例

1
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名
+ +

举个栗子

+

宿主vs容器之间映射添加容器卷

+
+
    +
  • 使用docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名 添加
  • +
+
1
docker run -it --privileged=true -v /tmp/host_data:/tmp/docker_data --name=ui ubuntu
+ +
    +
  • 查看数据卷是否挂载成功
  • +
+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
`在容器内部创建一个dockerin.txt文件
root@48955acecd79:/tmp/docker_data# touch dockerin.txt
root@48955acecd79:/tmp/docker_data# ll
total 8
drwxr-xr-x 2 root root 4096 Apr 28 09:21 ./
drwxrwxrwt 1 root root 4096 Apr 28 09:18 ../
-rw-r--r-- 1 root root 0 Apr 28 09:21 dockerin.txt
`在宿主机目录下查看该文件
root@48955acecd79:/tmp/docker_data# [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# cd /tmp/host_data/
[root@iZ8vbfaek3x3ogtpxnpnwfZ host_data]# ll
total 0
-rw-r--r-- 1 root root 0 Apr 28 17:21 dockerin.txt
`在宿主机创建一个文件
[root@iZ8vbfaek3x3ogtpxnpnwfZ host_data]# touch host.txt

`在容器查看文件
[root@iZ8vbfaek3x3ogtpxnpnwfZ host_data]# docker exec -it 48955acecd79 bash
root@48955acecd79:/# cd /tmp/docker_data/

+ 容器和宿主机之间数据共享

[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker ps
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]#
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker commit -m="vim cmd add ok" -a="ggls" 356e32244966 ggls/ubuntu:1.5sha256:87e99e19eeef47d4f0daaffc8498690614e0d95eae60ef61b439abe97b62fd16[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker images
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# shell

+ 主机修改,docker同步获得

+ docker容器stop,主机修改,docker容器重启数据同步

[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -a -q | xargs docker rm -f562278524cdacdee90a8c77d

+ 默认是可读可写的

```shell
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw 镜像名
+ + + +
    +
  • 修改成容器只读
  • +
+
1
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro 镜像名
+ +
+

卷的继承和共享

+
+
    +
  • 容器1完成和宿主机的映射
      +
    • 容器2继承容器1,则容器2操作后同步到容器1和宿主机
    • +
    • 宿主机操作同步到容器1,容器2
    • +
    • 容器1操作同步到宿主机,容器2
    • +
    +
  • +
+
1
docker run -it --privileged=true --volumes-from 父类 --name u2 ubuntu
+ + + +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\357\274\210\344\270\200\357\274\211/index.html" "b/2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\357\274\210\344\270\200\357\274\211/index.html" new file mode 100644 index 000000000..50c953a77 --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\357\274\210\344\270\200\357\274\211/index.html" @@ -0,0 +1,370 @@ +容器(一) | Research • 呓语
加载头像

容器(一)

容器(一)

容器(一)

新建和启动容器

OPTIONS说明:

    +
  • – name = “容器新名称” 为容器制定一个名称
  • +
  • -d 后台运行容器并返回容器id, 即启动守护式容器(后台运行)
  • +
  • -i 以交互模式运行容器,通常与 -t 同时使用
  • +
  • -t 为容器重新分配一个伪输入终端,通常与 -i 连用,也就是启动交互式容器
  • +
  • -P 随机端口映射
  • +
  • -p 指定端口映射
  • +
+

举个栗子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 9.0 b8e65a4d736d 4 months ago 680MB
redis 6.0.8 16ecd2772934 18 months ago 104MB
ubuntu 15.10 9b9cb95443b5 5 years ago 137MB
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker run -it ubuntu:15.10 /bin/bash
root@4fb757f69adb:/# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 03:26 pts/0 00:00:00 /bin/bash
root 11 1 0 03:26 pts/0 00:00:00 ps -ef
root@4fb757f69adb:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@4fb757f69adb:/# exit
exit
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
+

docker run -it ubuntu:15.10 /bin/bash
/bin/bash 希望有交互式shell 就用/bin/bash

+

查询正在运行的容器

+

docker ps [OPTIONS]

+
+
1
2
3
4
5
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cdee90a8c77d ubuntu "bash" 3 minutes ago Exited (0) 3 minutes ago ubuntu
0dcaa91afc0e ubuntu "/bin/bush" 5 minutes ago Created myubuntu
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
+

OPTIONS:

+
    +
  • -a 展示所有容器,包含历史用过容器
  • +
  • -d 只展示容器id
  • +
  • -l 显示最近创建的容器
  • +
  • -n 展示最近创建的前n个容器
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    List containers
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -n 1
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    cdee90a8c77d ubuntu "bash" 17 minutes ago Exited (0) 17 minutes ago ubuntu
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -an 1
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    cdee90a8c77d ubuntu "bash" 17 minutes ago Exited (0) 17 minutes ago ubuntu
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -an 2
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    cdee90a8c77d ubuntu "bash" 17 minutes ago Exited (0) 17 minutes ago ubuntu
    0dcaa91afc0e ubuntu "/bin/bush" 19 minutes ago Created myubuntu
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#

  • +
+

退出容器

    +
  • exit
  • +
+

run进入容器,exit退出容器, 容器停止

+
    +
  • ctrl + p + q
  • +
+

run进入容器,exit退出容器, 容器不停止

+
1
2
3
4
5
6
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker run -it ubuntu bash
root@562278524cda:/# [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
562278524cda ubuntu "bash" 16 seconds ago Up 15 seconds loving_dewdney
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\357\274\210\344\270\211\357\274\211\357\274\210\351\207\215\350\246\201\357\274\211/index.html" "b/2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\357\274\210\344\270\211\357\274\211\357\274\210\351\207\215\350\246\201\357\274\211/index.html" new file mode 100644 index 000000000..61c6e8186 --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\357\274\210\344\270\211\357\274\211\357\274\210\351\207\215\350\246\201\357\274\211/index.html" @@ -0,0 +1,386 @@ +容器(三) | Research • 呓语
加载头像

容器(三)

容器(三)

容器(三)

创建后台守护式容器

(问题):使用docker run -d ubuntu命令启动后台模式的容器ubuntu,然后用docker ps 查询提示没有找到运行的容器

+
+

Docker容器后台运行就必须有一个前台进程,不然容器没事做,会自杀

+
+

解决方法:将运行的程序以前台进程的方式运行
常见方式:命令行模式

+

查看容器日志

+

docker logs 容器id

+
+

查看容器的进程

+

docker top 容器id

+
+

查看容器内部细节

+

docker inspect 容器id

+
+

重新进入

    +
  • 进入正在运行的容器并以命令行交互

    +
    +

    docker exec -it 容器id bashShell

    +
    +
  • +
  • 重新进入

    +
    +

    docker attach 容器id

    +
    +
  • +
+

(区别)
attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止
exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止

+
1
2
3
4
5
6
7
8
9
10
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED         STATUS         PORTS     NAME
S562278524cda   ubuntu    "bash"    20 minutes ago   Up 20 minutes             loving_dewdn
eycdee90a8c77d   ubuntu    "bash"    45 minutes ago   Up 15 minutes             ubuntu

[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -a -q | xargs docker rm -f562278524cdacdee90a8c77d
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS   PORTS     NAMES

[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#​shell
+ +

从容器内拷贝文件到主机

+

docker cp 容器id:容器地址 主机地址

+
+
1
2
3
4
5
6
7
8
9
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker cp 26191ecfb227:/tmp/a.txt /opt/ab.txt
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# cd /opt/
[root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# ll
total 8
-rw-r--r-- 1 root root 0 Apr 27 15:13 ab.txt
drwx--x--x 4 root root 4096 Dec 28 16:17 containerd
drwxr-xr-x 4 root root 4096 Dec 8 16:49 downfile
[root@iZ8vbfaek3x3ogtpxnpnwfZ opt]#

+

导入和导出容器

    +
  • export 导出容器的内容留作为一个tar归档文件[对应import命令]

    +
    +

    docker export 容器id > 自定义文件名.tar

    +
    +
  • +
  • import从tar包中的内容创建一个新的文件系统再导入为镜像[export]

    +
    +

    cat 文件名.tar | docker import - 自定义/镜像名:3.5(3.5是自定义)

    +
    +
  • +
+
1
2
3
4
5
6
7
8
9
10
11
12
[root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
26191ecfb227 ubuntu "bash" 7 minutes ago Up 7 minutes quirky_jemison
[root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# docker export 26191ecfb227 > abcd.tar
[root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# ll
total 73408
-rw-r--r-- 1 root root 75158016 Apr 27 15:21 abcd.tar
-rw-r--r-- 1 root root 0 Apr 27 15:13 ab.txt
drwx--x--x 4 root root 4096 Dec 28 16:17 containerd
drwxr-xr-x 4 root root 4096 Dec 8 16:49 downfile
[root@iZ8vbfaek3x3ogtpxnpnwfZ opt]#

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# ll
total 73408
-rw-r--r-- 1 root root 75158016 Apr 27 15:21 abcd.tar
-rw-r--r-- 1 root root 0 Apr 27 15:13 ab.txt
drwx--x--x 4 root root 4096 Dec 28 16:17 containerd
drwxr-xr-x 4 root root 4096 Dec 8 16:49 downfile
[root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# cat abcd.tar | docker import - mytest/ubuntu:3.5
sha256:a92a27affdde8ad7f07bef2fdc0f04b8e3aeacb9d6919a77da2921d552ab940b
[root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mytest/ubuntu 3.5 a92a27affdde 11 seconds ago 72.8MB
tomcat 9.0 b8e65a4d736d 4 months ago 680MB
ubuntu latest ba6acccedd29 6 months ago 72.8MB
redis 6.0.8 16ecd2772934 18 months ago 104MB
[root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# docker run -it mytest/ubuntu:3.5 bash
root@356e32244966:/#
root@356e32244966:/# cd /tmp/
root@356e32244966:/tmp# ll
total 8
drwxrwxrwt 2 root root 4096 Apr 27 07:13 ./
drwxr-xr-x 1 root root 4096 Apr 27 07:32 ../
-rw-r--r-- 1 root root 0 Apr 27 07:13 a.txt
root@356e32244966:/tmp#

头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\357\274\210\344\272\214\357\274\211/index.html" "b/2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\357\274\210\344\272\214\357\274\211/index.html" new file mode 100644 index 000000000..8b77338db --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-\345\256\271\345\231\250\357\274\210\344\272\214\357\274\211/index.html" @@ -0,0 +1,363 @@ +容器(二) | Research • 呓语
加载头像

容器(二)

容器(二)

容器(二)

启动已经停止运行的容器

+

docker start 容器id/容器名

+
+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
562278524cda ubuntu "bash" 4 minutes ago Up 4 minutes loving_dewdney
9a1a43aee837 ubuntu "bush" 4 minutes ago Created admiring_wiles
cdee90a8c77d ubuntu "bash" 29 minutes ago Exited (0) 29 minutes ago ubuntu
0dcaa91afc0e ubuntu "/bin/bush" 31 minutes ago Created myubuntu
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
562278524cda ubuntu "bash" 4 minutes ago Up 4 minutes loving_dewdney
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker start cdee90a8c77d
cdee90a8c77d
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
562278524cda ubuntu "bash" 5 minutes ago Up 5 minutes loving_dewdney
cdee90a8c77d ubuntu "bash" 30 minutes ago Up 3 seconds ubuntu
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
+ +

重启容器

+

docker restart 容器id/容器名

+
+

停止容器

+

docker stop 容器id/容器名

+
+

强制停止容器

+

docker kill 容器id/容器名

+
+

删除已经停止的容器

+

docker rm 容器id

+
+

一次性删除多个容器

    +
  • docker rm -f $(docker ps -a -q)
  • +
  • docker ps -a -q | xargs docker rm
  • +
+

注:xargs是linux系统的可变参数,把分隔符前面的结果传给xargs里面,然后执行分隔符后面的命令

+
1
2
3
4
5
6
7
8
9
10
11
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
562278524cda ubuntu "bash" 20 minutes ago Up 20 minutes loving_dewdney
cdee90a8c77d ubuntu "bash" 45 minutes ago Up 15 minutes ubuntu
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -a -q | xargs docker rm -f
562278524cda
cdee90a8c77d
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-\346\234\254\345\234\260\351\225\234\345\203\217\345\217\221\345\270\203\345\210\260\347\247\201\346\234\211\345\272\223/index.html" "b/2022/08/26/docker/2022-08-25-\346\234\254\345\234\260\351\225\234\345\203\217\345\217\221\345\270\203\345\210\260\347\247\201\346\234\211\345\272\223/index.html" new file mode 100644 index 000000000..ae4543a93 --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-\346\234\254\345\234\260\351\225\234\345\203\217\345\217\221\345\270\203\345\210\260\347\247\201\346\234\211\345\272\223/index.html" @@ -0,0 +1,401 @@ +本地镜像发布到私有库 | Research • 呓语
加载头像

本地镜像发布到私有库

本地镜像发布到私有库

本地镜像发布到私有库

+

步骤

+
+
    +
  • 下载Docker Registry
  • +
+
1
docker pull registry
+ +
    +
  • 运行私有库 Registry,相当于本地有Docker Registry
  • +
+
1
docker run -d -p 5000:5000 -v/ggls/myregistry/:/tmp/registry --privileged=true registry
+ +
    +
  • 新启动ubuntu容器,新增ifconfig命令

    +
      +
    • ​ 进入容器中输入apt-get update命令
    • +
    • ​ 输入apt-get install net-tools命令
    • +
    • xxxxxxxxxx [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker psCONTAINER ID   IMAGE               COMMAND   CREATED       STATUS       PORTS     NAMES356e32244966   mytest/ubuntu:3.5   “bash”    2 hours ago   Up 2 hours             elated_aryabhata[root@iZ8vbfaek3x3ogtpxnpnwfZ /]#[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker commit -m=”vim cmd add ok” -a=”ggls” 356e32244966 ggls/ubuntu:1.5sha256:87e99e19eeef47d4f0daaffc8498690614e0d95eae60ef61b439abe97b62fd16[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker imagesREPOSITORY     TAG       IMAGE ID       CREATED         SIZEggls/ubuntu     1.5       87e99e19eeef   7 seconds ago   176MBmytest/ubuntu   3.5       a92a27affdde   2 hours ago     72.8MBtomcat          9.0       b8e65a4d736d   4 months ago   680MBubuntu         latest   ba6acccedd29   6 months ago    72.8MBredis           6.0.8     16ecd2772934   18 months ago   104MB[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# shell
    • +
    +
  • +
  • 容器外部执行docker commit -m="ifconfig cmd add" -a="ggls" ffcc5edf5071 ubuntu:1.6命令

    +
  • +
  • curl验证私服库上有什么镜像

    +
  • +
+
1
curl -XGET http://8.142.144.75:5000/v2/_catalog
+ +
    +
  • 将新镜像修改为符合私服库格式的镜像
  • +
+
1
2
3
docker tag 镜像:Tag Host:Port/Repository:Tag
#
docker tag ubuntu:1.6 8.142.144.75:5000/ubuntu:1.3
+ +
    +
  • 修改配置文件使之支持http

    +
    +

    docker 默认不允许http方式推送镜像,通过此配置取消这个限制,若不生效,重启docker

    +
    +
      +
    • 使用命令vim /etc/docker/daemon.json打开配置文件
    • +
    • 在阿里云加速后面新增一个json
    • +
    +
    1
    2
    3
    4
    {
    "registry-mirrors": ["https://qp747t9w.mirror.aliyuncs.com"],
    "insecure-registries": ["8.142.144.75:5000"]
    }
    + +
      +
    • 重启docker,重启docker私服仓库
    • +
    +
  • +
  • push推送到私服库

    +
  • +
+
1
docker push 符合私服库格式的镜像名称:tag
+ +
    +
  • curl验证私服库上有什么镜像
  • +
  • pull到本地并运行
  • +
+
1
docker pull 8.142.144.75:5000/ubuntu:1.6
+ + + +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-\346\234\254\345\234\260\351\225\234\345\203\217\345\217\221\345\270\203\345\210\260\351\230\277\351\207\214\344\272\221/index.html" "b/2022/08/26/docker/2022-08-25-\346\234\254\345\234\260\351\225\234\345\203\217\345\217\221\345\270\203\345\210\260\351\230\277\351\207\214\344\272\221/index.html" new file mode 100644 index 000000000..547713368 --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-\346\234\254\345\234\260\351\225\234\345\203\217\345\217\221\345\270\203\345\210\260\351\230\277\351\207\214\344\272\221/index.html" @@ -0,0 +1,366 @@ +本地镜像发布到阿里云 | Research • 呓语
加载头像

本地镜像发布到阿里云

本地镜像发布到阿里云

本地镜像发布到阿里云


+

使用docker进行对docker镜像功能的新增后,需要发布到阿里云上对镜像进行同步,下次pull镜像就不要pull缩减版的镜像,直接pull更新后的镜像,方便后续使用

+

执行顺序

    +
  • 阿里云开发者平台
  • +
  • 点击镜像容器服务
  • +
  • 创建镜像仓库
      +
    • 创建命名空间
    • +
    • 创建镜像仓库
    • +
    +
  • +
+

然后在基本信息上面就可以看到仓库指南

+
+

根据指南进行操作

+
+
+ +
+ +
+ +
+ +
+ +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/docker/2022-08-25-\351\225\234\345\203\217/index.html" "b/2022/08/26/docker/2022-08-25-\351\225\234\345\203\217/index.html" new file mode 100644 index 000000000..0a79391e2 --- /dev/null +++ "b/2022/08/26/docker/2022-08-25-\351\225\234\345\203\217/index.html" @@ -0,0 +1,362 @@ +镜像 | Research • 呓语
加载头像

镜像

镜像

镜像

背景

docker镜像是最小的,被精简过的Linux系统,是不带vim命令的

+
+

使用命令 ‘vim a.txt’ 进行新建编辑a.txt文件,就会提示找不到命令

+
+

给镜像容器新增vim命令

    +
  1. 更新镜像

    +
    +

    apt-get update

    +
    +
  2. +
  3. 下载vim功能

    +
    +

    apt-get -y install vim

    +
    +
  4. +
  5. 提交副本使成为一个新镜像

    +
    +

    docker commit -m=”提交的描述信息” -a=”作者” 容器id 要创建的目标镜像名:[标签名]

    +
    +
  6. +
+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
356e32244966 mytest/ubuntu:3.5 "bash" 2 hours ago Up 2 hours elated_aryabhata
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]#
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker commit -m="vim cmd add ok" -a="ggls" 356e32244966 ggls/ubuntu:1.5
sha256:87e99e19eeef47d4f0daaffc8498690614e0d95eae60ef61b439abe97b62fd16
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ggls/ubuntu 1.5 87e99e19eeef 7 seconds ago 176MB
mytest/ubuntu 3.5 a92a27affdde 2 hours ago 72.8MB
tomcat 9.0 b8e65a4d736d 4 months ago 680MB
ubuntu latest ba6acccedd29 6 months ago 72.8MB
redis 6.0.8 16ecd2772934 18 months ago 104MB
[root@iZ8vbfaek3x3ogtpxnpnwfZ /]#
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/error/2022-11-08-\344\275\277\347\224\250pip install\346\212\245\351\224\231\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225/index.html" "b/2022/08/26/error/2022-11-08-\344\275\277\347\224\250pip install\346\212\245\351\224\231\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225/index.html" new file mode 100644 index 000000000..d06ec55bf --- /dev/null +++ "b/2022/08/26/error/2022-11-08-\344\275\277\347\224\250pip install\346\212\245\351\224\231\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225/index.html" @@ -0,0 +1,350 @@ +使用pip install报错的解决办法 | Research • 呓语
加载头像

使用pip install报错的解决办法

使用pip install报错的解决办法

报错提示

今天使用PyCharm下载一个模块pip.exe install locust,有错误提示

+
1
2
3
4
5
6
7
8
9
10
11
https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
// 报错位置
ERROR: Failed building wheel for psutil

ERROR: Could not build wheels for psutil, which is required to install pyproject.toml-based projects
WARNING: Ignoring invalid distribution -ip (d:\work software\python3.8\lib\site-packages)
WARNING: Ignoring invalid distribution -ip (d:\work software\python3.8\lib\site-packages)
WARNING: Ignoring invalid distribution -ip (d:\work software\python3.8\lib\site-packages)
+

原因

+

缺少对应的whl文件

+
+

解决办法

碰到了这个错误ERROR: Failed building wheel for psutil,就需要下载psutil.whl

+

下载网站点击进入网站

+

下载psutil-5.9.0-cp38-cp38-win_amd64.whl文件

+

然后使用(pip install 文件的绝对路径)进行安装,然后使用pip.exe install locust正常安装

+
1
2
3
4
5

pip.exe install D:\Appium\psutil-5.9.0-cp38-cp38-win_amd64.whl

pip.exe install locust

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/jmeter/2022-10-30-\347\254\254\344\270\200\346\254\241\344\275\277\347\224\250jmeter\345\216\213\346\265\213/index.html" "b/2022/08/26/jmeter/2022-10-30-\347\254\254\344\270\200\346\254\241\344\275\277\347\224\250jmeter\345\216\213\346\265\213/index.html" new file mode 100644 index 000000000..290c6b5ba --- /dev/null +++ "b/2022/08/26/jmeter/2022-10-30-\347\254\254\344\270\200\346\254\241\344\275\277\347\224\250jmeter\345\216\213\346\265\213/index.html" @@ -0,0 +1,399 @@ +使用jmeter录制压测 | Research • 呓语
加载头像

使用jmeter录制压测

使用jmeter录制压测

业务

    +
  • 压测对象:http://news.baidu.com
  • +
  • 压测页面:首页、国际频道、财经频道
  • +
  • 步骤
      +
    • 访问首页
    • +
    • 单击“国际”(频道)
    • +
    • 单击“财经”(频道)
    • +
    +
  • +
  • 操作手段:录制回放
  • +
+

操作步骤

    +
  • 添加录制器“HTTP(S) Test Script Recorder”

    +
      +
    • 右键Test Plan,点击add
    • +
    • 点击Non-Test Elements
    • +
    • 点击HTTP(S) Test Script Recorder
    • +
    +
  • +
  • 添加线程组“Thread Group”

    +
  • +
  • 添加录制控制器“Recording Controller”,

    +
      +
    • 右键线程组,点击and
    • +
    • 点击Logic Controller
    • +
    • 点击Recording Controller
    • +
    +
  • +
  • 录制脚本的配置(Test Plan Creation)

    +
      +
    • Port=8088
    • +
    • Target Controller = TestPlan > Tread Group > Recording Controller
    • +
    • 其他的配置保持默认
    • +
    +
  • +
  • 录制脚本的配置(Requests Filtering 请求过滤器)

    +
      +
    • URl Patterns to Include上添加正则.*\.(baidu\.com).*;表示只抓取百度URL的内容,不抓取其他网站的
    • +
    • URl Patterns to Exclude上添加正则.*\.(js|css|PNG|jpg|jpeg|ico|png|gif).*;去掉一些静态请求
    • +
    • 目的是:避免录制过多没必要的请求
    • +
    +
  • +
  • 单击保存按钮,将Jmeter脚本存储

    +
  • +
  • +
  • 打开浏览器,设置代理,将浏览器的代理服务地址指向http://localhost:8088,然后就可以进行访问录制了

    +
  • +
  • +
  • 访问百度新闻的首页、国际、财经页面

    +
  • +
  • +
  • 查看jmeter,录制结果在Recording Controller下面看到,然后停止录制

    +
  • +
+

校验

录制结束后,要对录制的代码进行校验

+
    +
  • 添加查看结果树组件
  • +
+

运行录制的代码,在查看结果树上查看运行的结果

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/other/2020-08-26-Yaml\344\275\277\347\224\250/index.html" "b/2022/08/26/other/2020-08-26-Yaml\344\275\277\347\224\250/index.html" new file mode 100644 index 000000000..17ba6121a --- /dev/null +++ "b/2022/08/26/other/2020-08-26-Yaml\344\275\277\347\224\250/index.html" @@ -0,0 +1,370 @@ +Yaml的使用 | Research • 呓语
加载头像

Yaml的使用

Yaml的使用

编写字符串
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#字符串
#单行
username: admin
username1: "周杰\n伦" #双引号不转义
username2: '周杰\n伦' ##单引号转义
#多行
william:



william2: |




william3: >



+ +

回显的结果是:

+
1
2
3
4
5
6
{ username: 'admin',
username1: '周杰\n伦',
username2: '周杰\\n伦',
william: '一 二 三',
william2: '一\n二\n三\n',
william3: '一 二 三\n' }
+ +
强制转换
1
2
3
forceStr: !!str 123
forceBoll: !!str true
forceInt: !!int "123"
+ +

回显的结果是:

+
1
2
3
forceStr: '123',
forceBoll: 'true',
forceInt: 123 }
+ +
编写数组
1
2
3
4
5
6
#数组
myFavourite:
- backaetball
- football

myFavourite2: ["bass","bahddd"]
+ +

回显的结果是:

+
1
2
myFavourite: [ 'backaetball', 'football' ],
myFavourite2: [ 'bass', 'bahddd' ],
+ +
编写对象
1
2
3
4
5
6
7
8
#对象
autotest:
username: root
password: root
age: 18
male: true

autotest2: [{username: admin, password: root, age: 22, male: false}]
+ +

回显的结果是:

+
1
2
autotest: { username: 'root', password: 'root', age: 18, male: true },
autotest2: [ { username: 'admin', password: 'root', age: 22, male: false } ],
+ +
编写复合结构的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#复合结构
companies:
-
id: 1
name: zhangsan
value: 10e+11

-
id: 2
name: lisi
value: 10e+12


websites:
baidu: www.baidu.com
google: www.google.com
+ +

回显的结果是:

+
1
2
3
4
companies: 
[ { id: 1, name: 'zhangsan', value: 1000000000000 },
{ id: 2, name: 'lisi', value: 10000000000000 } ],
websites: { baidu: 'www.baidu.com', google: 'www.google.com' } }
+ +
引用
1
2
3
4
5
6
7
8
#引用
father: &father_lastName
lastName:

son:
<<: *father_lastName
firstName:
age: 18
+ +

回显的结果是:

+
1
2
father: { lastName: '周' },
son: { lastName: '周', firstName: '董', age: 18 } }
+ +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/other/2022-10-22-\346\200\247\350\203\275\346\265\213\350\257\225\344\270\273\350\246\201\345\205\263\346\263\250\347\202\271/index.html" "b/2022/08/26/other/2022-10-22-\346\200\247\350\203\275\346\265\213\350\257\225\344\270\273\350\246\201\345\205\263\346\263\250\347\202\271/index.html" new file mode 100644 index 000000000..bdac82b6c --- /dev/null +++ "b/2022/08/26/other/2022-10-22-\346\200\247\350\203\275\346\265\213\350\257\225\344\270\273\350\246\201\345\205\263\346\263\250\347\202\271/index.html" @@ -0,0 +1,353 @@ +性能测试主要关注点 | Research • 呓语
加载头像

性能测试主要关注点

性能测试主要关注点

性能关注点

接口响应时间

+

吞吐量

+

TPS: 事务处理能力,每秒处理事务数(打开页面、登录、选择商品、加入购物车、下单、付款)

+

注意:“日活” 每日活跃用户数,是运营数据,与性能无关

+

八二原则

+
+

计算QPS/TPS

+
+

相信80%会集中在20%时间内,24小时的流量集中在白天8小时内,同时在午高峰达到高峰

+

举个栗子

根据相应耗时计算公式预估所需并发,一次请求100ms

+

根据 QPS = Vue * Rt

+

1000000 * 80% / 8 * 3600 * 20% = 277 QPS

+

需要27个并发

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/08/26/\346\210\220\350\200\203\345\255\246\344\271\240/\351\251\254\345\223\262/index.html" "b/2022/08/26/\346\210\220\350\200\203\345\255\246\344\271\240/\351\251\254\345\223\262/index.html" new file mode 100644 index 000000000..c3a2f30b7 --- /dev/null +++ "b/2022/08/26/\346\210\220\350\200\203\345\255\246\344\271\240/\351\251\254\345\223\262/index.html" @@ -0,0 +1,366 @@ +马哲 | Research • 呓语
加载头像

马哲

马哲

马哲的基本特征

    +
  • 实践性
  • +
  • 阶级性
  • +
  • 革命性
  • +
  • 科学性
  • +
+

【主观题】主观能动性与规律的统一

    +
  • 尊重客观规律是正确发挥主观能动性的提前
  • +
  • 认识和利用客观规律必须充分发挥人的主观能动性
  • +
  • 在社会主义现代化建设中,必须把发挥人的主观能动性和尊重客观规律相结合
  • +
+

唯物辩证法的基本特征

联系的观点和发展的观点

+

世界联系和发展的三个普遍规律

    +
  • 对立统一规律(唯物辩证法的实质和核心): 揭示事物发展的动力和源泉
    +

    矛盾的同一性和斗争性

    +
    +
  • +
  • 质量互变规律: 揭示事物发展的状态和形式
  • +
  • 否定之否定规律: 揭示事物发展的趋势和道路
  • +
+

【主观题】实践对认识的决定作用

    +
  • 实践是认识的来源
  • +
  • 实践是认识发展的动力
  • +
  • 实践是认识的目的
  • +
  • 实践是检验真理的唯一标准
  • +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/30/shell/2022-08-29-shell\350\204\232\346\234\254\345\210\235\346\216\242/index.html" "b/2022/08/30/shell/2022-08-29-shell\350\204\232\346\234\254\345\210\235\346\216\242/index.html" new file mode 100644 index 000000000..197a42b18 --- /dev/null +++ "b/2022/08/30/shell/2022-08-29-shell\350\204\232\346\234\254\345\210\235\346\216\242/index.html" @@ -0,0 +1,351 @@ +Shell脚本初探 | Research • 呓语
加载头像

Shell脚本初探

Shell脚本初探

编写shell脚本时,必须以 #! /bin/bash 开头

在linux创建helloworld.sh文件,在文件内输入:

+
1
2
3
#!/bin/bash
#################
echo "hello World"
+ +

然后保存该文件

+

运行.sh文件时,有两种方法可以运行

+
第一种是给该文件添加可执行权限
1
chmod +x ./helloworld.sh
+ +

运行文件:./ 不能省略

+
1
./helloworld.sh
+ +
第二种是使用bash或sh 文件路径运行该文件
1
2
3
bash helloworld.sh
#
sh helloworld.sh
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/30/shell/2022-08-30-shell\345\217\230\351\207\217/index.html" "b/2022/08/30/shell/2022-08-30-shell\345\217\230\351\207\217/index.html" new file mode 100644 index 000000000..4b108fb48 --- /dev/null +++ "b/2022/08/30/shell/2022-08-30-shell\345\217\230\351\207\217/index.html" @@ -0,0 +1,368 @@ +Shell变量 | Research • 呓语
加载头像

Shell变量

Shell变量

shell变量分为系统变量和自定义变量,变量默认字符串类型

系统变量

$HOME 获取当前用户的家目录

+

$PWD 获取当前目录的路径

+

$SHELL 获取shell的执行引擎

+

$USER 获取当前用户的名称

+
自定义变量

在linux系统中定义变量A=1,等号两边不能有空格,使用echo $A显示A的值

+

使用unset A命令,撤销变量

+

定义只读变量readonly b=3,使用echo $b显示b的值,不能unset

+

export命令进行设置全局变量,可以让其他shell命令进行使用

+
特殊变量:**$n**

定义

+

n表示数字,范围是09,$0表示脚本名称,$19表示1~9个参数,10以上的参数要用花括号包裹,如${10}

+

运行apple.sh文件时可以传递参数

+

举个栗子

+
1
2
3
4
5
6
7
8
#!/bin/bash
#
echo "filename:" $0
echo "filename_1:" $1
echo "filename_2:" $2
echo "filename_3:" $3
echo "filename_4:" $4
echo "filename_5:" $5
+ +

运行后传递参数bash apple.sh 001 002 test "test sss" "hsgd_dee"

+
特殊变量:$#

定义

+

获取所有输入参数的个数,常用于循环

+

举个栗子

+
1
2
3
4
5
6
7
8
#!/bin/bash
#
echo "filename:" $0
echo "filename_1:" $1
echo "filename_2:" $2
echo "filename_3:" $3
#
echo $#
+ +
特殊变量:$#,$*

定义

+

$*代表命令行中所有参数,把参数作为一个整体

+

$@代表命令行中所有参数,把参数区分对待

+
特殊变量:$?

定义

+

最后一次命令的返回状态,如果返回变量的值为0,则表示最后一次命令执行正确,如果变量的值非0,则证明上一条变量返回不正确

+

举个栗子

+
1
2
3
4
5
6
7
[root@b09ed0cc2c9d opt]# $?
bash: 0: command not found
[root@b09ed0cc2c9d opt]# echo $?
127
[root@b09ed0cc2c9d opt]# echo $?
0
[root@b09ed0cc2c9d opt]#
+ +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/30/shell/2022-08-30-shell\350\204\232\346\234\254\345\205\245\351\227\250/index.html" "b/2022/08/30/shell/2022-08-30-shell\350\204\232\346\234\254\345\205\245\351\227\250/index.html" new file mode 100644 index 000000000..7f2fa487a --- /dev/null +++ "b/2022/08/30/shell/2022-08-30-shell\350\204\232\346\234\254\345\205\245\351\227\250/index.html" @@ -0,0 +1,352 @@ +Shell脚本入门 | Research • 呓语
加载头像

Shell脚本入门

Shell脚本入门

创建txt文件并向txt文件追加数据

首先创建test_shell.sh文件

+
1
touch test_shell.sh
+ +

test_shell.sh文件输入shell脚本

+
    +
  • 使用shell创建banzhang.txt文件

    +
  • +
  • 在文件中追加数据echo "aabbccdd" >> banzhang.txt

    +
  • +
+
1
2
3
4
5
6
7
#!/bin/bash
# 指定目录
cd /opt/
# 创建文件
touch banzhang.txt
# 向文件追加数据
echo "touch banzhang" >> banzhang.txt
+ +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/08/31/python/2022-09-01-pyyaml\350\216\267\345\217\226yaml\346\225\260\346\215\256/index.html" "b/2022/08/31/python/2022-09-01-pyyaml\350\216\267\345\217\226yaml\346\225\260\346\215\256/index.html" new file mode 100644 index 000000000..dfcff59e7 --- /dev/null +++ "b/2022/08/31/python/2022-09-01-pyyaml\350\216\267\345\217\226yaml\346\225\260\346\215\256/index.html" @@ -0,0 +1,369 @@ +如何使用pyyaml获取yaml里面的数据 | Research • 呓语
加载头像

如何使用pyyaml获取yaml里面的数据

如何使用pyyaml获取yaml里面的数据

准备数据

在config目录下创建environment.yaml文件

+
1
2
username: 周杰伦
password: 123456
+ +
使用pyyaml获取yaml中的数据
解析yaml文件

首先创建yaml_config文件,为了方便自动化后面的引用,需要创建一个类,在__init__里面打开yaml文件,使用yaml.load(文件名称, Loader=yaml.FullLoader )方法获取数据

+

打印出字典格式的数据{'username': '周杰伦', 'password': 123456}

+
1
2
3
4
5
6
7
8
9
import yaml
from common.tools import get_project_path, sep


class GetConf:
def __init__(self):
with open(../config.environment.yaml), "r", encoding="utf-8")\
as env_file:
self.env = yaml.load(env_file, Loader=yaml.FullLoader)
+ +

现在使用的是相对路径,后期如果换系统,或者更换文件位置,就需要自己获得文件路径,下面对代码进行优化

+
优化项:获得项目名称的url地址

创建get_project_path方法,获取项目根目录的绝对路径

+

首先定义一个变量,变量的值是项目的名称project_name = "trading_system_autotest"

+

获取当前文件的所在目录的绝对路径,需要使用python的os模块file_path=os.path.dirname(__file__)

+

在绝对路径中找到项目名称的下标位置file_path.find(project_name)

+

找到项目所在目录的绝对路径下标+项目名称的长度=项目根目录的绝对路径的下标file_path.find(project_name)+len(project_name)

+

然后对所在目录的绝对路径file_path进行切片获得项目根目录的绝对路径

+

file_path[: file_path.find(project_name)+len(project_name)]

+
1
2
3
4
5
6
7
8
9
10
11
12
13
def get_project_path():
"""
获取项目根目录的绝对路径
:return:
"""
project_name = "trading_system_autotest"
# 获取当前文件的所在目录的绝对路径
file_path = os.path.dirname(__file__)
# # 在绝对路径中找到项目名称的下标位置
# print(file_path.find(project_name))
# 找到项目所在目录的绝对路径+项目名称的长度=项目的绝对路径
# print(len(project_name))
return file_path[: file_path.find(project_name)+len(project_name)]
+ +
优化项:获得拼接后的目录和文件

创建sep(path, add_sep_before=False, add_sep_after=False)方法,获得文件和目录的拼接

+

变量

+

path变量需要传输一个列表,列表里面是文件所在目录和文件名称,如[文件所在目录,文件名称]

+

首先使用os.sep.join对列表的字段进行拼接all_path = os.sep.join(path)

+

add_sep_before进行判断,如果是True,就在前面添加拼接符all_path = os.sep + all_path

+

add_sep_after进行判断,如果是True,就在后面添加拼接符all_path = all_path + os.sep

+

windows格式拼接符有可能错误,就要对拼接符转换格式all_path = all_path.replace('\\', '/'),就算没有这个代码,也可以运行出来,只是调试该代码看起来不好看

+

然后返回all_path

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def sep(path, add_sep_before=False, add_sep_after=False):
"""
:param path: is list format:[Current directory , Current file]
:param add_sep_before: Add before directory "/"
:param add_sep_after: Add after directory "/"
:return: Current directory/Current file
"""
all_path = os.sep.join(path)
# 在前面添加\
if add_sep_before:
all_path = os.sep + all_path
# 在后面添加\
if add_sep_after:
all_path = all_path + os.sep
# 转换格式 把\转换为/
all_path = all_path.replace('\\', '/')
return all_path
+ +
优化后的代码
1
2
3
4
5
6
7
8
9
class GetConf:
def __init__(self):
with open(get_project_path()+sep(["config", "environment.yaml"], add_sep_before=True), "r", encoding="utf-8")\
as env_file:
self.env = yaml.load(env_file, Loader=yaml.FullLoader)
print(self.env)

def get_username_password(self):
return self.env["username"], self.env["password"]
+ +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/31/shell/2022-08-31-shell\345\207\275\346\225\260/index.html" "b/2022/08/31/shell/2022-08-31-shell\345\207\275\346\225\260/index.html" new file mode 100644 index 000000000..5d77cc1f7 --- /dev/null +++ "b/2022/08/31/shell/2022-08-31-shell\345\207\275\346\225\260/index.html" @@ -0,0 +1,361 @@ +Shell函数 | Research • 呓语
加载头像

Shell函数

Shell函数

系统函数
basename基本语法
1
basename [string/ pathname][文件后缀] 
+ +

basename命令会删掉所有的前缀,只留一个文件名

+

选项:

+

如果指定后缀,basename会将pathname或string中的文件后缀去掉

+
举个栗子

截取该/opt/banzhang.txt路径的文件名称

+
1
2
3
4
5
[root@b09ed0cc2c9d opt]# basename /opt/banzhang.txt
banzhang.txt
[root@b09ed0cc2c9d opt]# basename /opt/banzhang.txt .txt
banzhang
[root@b09ed0cc2c9d opt]#
+ +
dirname基本语法
1
dirname 文件绝对路径
+ +

从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录部分)

+
举个栗子
1
2
3
[root@b09ed0cc2c9d opt]# dirname /opt/banzhang.txt
/opt
[root@b09ed0cc2c9d opt]#
+ +
自定义函数
基本语法
1
2
3
4
5
6
7
[function] funname[()]
{
Action;
[retion int;]
}

funname
+ +
举个栗子
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash

function sum()
{
s=0;
s=$[$1+$2]
echo $s
}

read -p "input your paratemer1:" p1
read -p "input your oaeayemer2:" p2

sum $p1 $p2
+ + + + + +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/31/shell/2022-08-31-shell\345\267\245\345\205\267\357\274\210\344\270\200\357\274\211/index.html" "b/2022/08/31/shell/2022-08-31-shell\345\267\245\345\205\267\357\274\210\344\270\200\357\274\211/index.html" new file mode 100644 index 000000000..a2e2a445c --- /dev/null +++ "b/2022/08/31/shell/2022-08-31-shell\345\267\245\345\205\267\357\274\210\344\270\200\357\274\211/index.html" @@ -0,0 +1,435 @@ +Shell工具(一) | Research • 呓语
加载头像

Shell工具(一)

Shell工具(一)

Cut工具
+

用于剪切数据

+
+
基本用法

cut[选项参数] filename

+

说明:默认分隔符是制表符

+ + + + + + + + + + + + + + + +
选项参数功能
-f列号,提取第几列
-d分隔符,按照指定分隔符分割列
+
举个栗子

准备数据

+
1
2
3
4
5
6
7
8
[root@b09ed0cc2c9d local]# touch cut.txt
[root@b09ed0cc2c9d local]# vim cut.txt

dong shen
guan zhen
wo wo
lai lai
le le
+ +

切割第一列数据

+
1
2
3
4
5
6
[root@b09ed0cc2c9d local]# cut -d " " -f 1 cut.txt
dong
guan
wo
lai
le
+ +

切割第二,三列

+
1
2
3
4
5
6
[root@b09ed0cc2c9d local]# cut -d " " -f 2,3 cut.txt
shen
zhen
wo
lai
le
+ +

在cut.txt文件切割出guan

+
1
2
3
4
5
6
7
8
9
10
11
12
[root@b09ed0cc2c9d local]# cat cut.txt
dong shen
guan zhen
wo wo
lai lai
le le
[root@b09ed0cc2c9d local]#
[root@b09ed0cc2c9d local]# cat cut.txt | grep guan
guan zhen
[root@b09ed0cc2c9d local]# cat cut.txt | grep guan | cut -d " " -f 1
guan
[root@b09ed0cc2c9d local]#
+ +

选取系统PATH变量值,第二个“:”之后的所有路径

+
1
2
3
4
[root@b09ed0cc2c9d local]# echo $PATH
/usr/local/java/jdk1.8.0_181/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[root@b09ed0cc2c9d local]# echo $PATH | cut -d : -f 3- # 不加-表示第三列,加上-表示第三列之后
/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ +

切割ifconfig后打印的IP地址

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@b09ed0cc2c9d local]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 broadcast 0.0.0.0
inet6 fe80::42:acff:fe11:2 prefixlen 64 scopeid 0x20<link>
ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet)
RX packets 8 bytes 656 (656.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8 bytes 656 (656.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[root@b09ed0cc2c9d local]# ifconfig eth0 | grep "inet " | cut -d "t" -f 2 | cut -d " " -f 2
172.17.0.2
[root@b09ed0cc2c9d local]#
+ +
sed工具
+

一种流编辑器,一次处理一行内容

+
+
基本用法

sed [选项参数] command filename

+

选项参数说明

+ + + + + + + + + + + +
选项参数功能
-a直接在指定列模式上进行sed的动作编辑
+

命令功能描述

+ + + + + + + + + + + + + + + + + + + +
命令功能描述
a新增,a的后面可以接字串,在下一行出现
d删除
s查找并替换
+
举个栗子

数据准备

+
1
2
3
4
5
6
7
8
9
[root@b09ed0cc2c9d opt]# touch sed.txt
[root@b09ed0cc2c9d opt]# vim sed.txt

dong shen
guan zhen
wo wo
lai lai

le le
+ +

将mei nv 这个单词插入到 sed.txt 第二行下,打印

+
1
2
3
4
5
6
7
8
9
[root@b09ed0cc2c9d opt]# sed "2a mei nv" sed.txt
dong shen
guan zhen
mei nv
wo wo
lai lai

le le
[root@b09ed0cc2c9d opt]#
+ +

删除sed.txt文件所有包含 wo 的行

+
1
2
3
4
5
6
7
[root@b09ed0cc2c9d opt]# sed "/wo/d" sed.txt
dong shen
guan zhen
lai lai

le le
[root@b09ed0cc2c9d opt]#
+ +

将sed.txt文件中 wo 替换为 ni

+
1
2
3
4
5
6
7
8
[root@b09ed0cc2c9d opt]# sed "s/wo/ni/g" sed.txt
dong shen
guan zhen
ni ni
lai lai

le le
[root@b09ed0cc2c9d opt]#
+ +

注意:g表示global,全部替换

+

将sed.txt文件中的第二行删除并将wo替换成ni

+
1
2
3
4
5
6
7
[root@b09ed0cc2c9d opt]# sed -e "2d" -e "s/wo/ni/g" sed.txt
dong shen
ni ni
lai lai

le le
[root@b09ed0cc2c9d opt]#
+ + + +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/31/shell/2022-08-31-shell\346\235\241\344\273\266\345\210\244\346\226\255/index.html" "b/2022/08/31/shell/2022-08-31-shell\346\235\241\344\273\266\345\210\244\346\226\255/index.html" new file mode 100644 index 000000000..202b94ef0 --- /dev/null +++ "b/2022/08/31/shell/2022-08-31-shell\346\235\241\344\273\266\345\210\244\346\226\255/index.html" @@ -0,0 +1,359 @@ +Shell条件判断 | Research • 呓语
加载头像

Shell条件判断

Shell条件判断

基本语法

[ condition ] (注意,condition 前后要有空格

+

注意:条件非空即为 true,[ atguigu ]返回 true, [] 返回 false.

+
常用条件判断
两个整数之间进行比较
1
2
3
4
5
6
7
= 字符串比较
-lt 小于
-le 小于等于
-eq 等于
-gt 大于
-ge 大于等于
-ne 不等于
+ +

举个栗子

+
1
2
[23 -lt 80]
echo $? # 判断上一步操作是不是正确
+ +
按照文件权限进行判断
1
2
3
-r 读
-w 写
-x 执行
+ +

举个栗子

+
1
2
[ -w 1.sh ]
echo $?
+ +
文件类型判断
1
2
3
-f 文件存在且是一个常规文件
-e 文件存在
-d 文件存在且是一个目录
+ +

举个栗子

+
1
2
[ -e 2.sh ]
echo $?
+ +
多条件判断

$$ 与 ,前对,才执行后

+

||

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/31/shell/2022-08-31-shell\346\265\201\347\250\213\346\216\247\345\210\266/index.html" "b/2022/08/31/shell/2022-08-31-shell\346\265\201\347\250\213\346\216\247\345\210\266/index.html" new file mode 100644 index 000000000..069789db9 --- /dev/null +++ "b/2022/08/31/shell/2022-08-31-shell\346\265\201\347\250\213\346\216\247\345\210\266/index.html" @@ -0,0 +1,381 @@ +Shell流程控制 | Research • 呓语
加载头像

Shell流程控制

Shell流程控制

if判断
基本语法
    +
  • [ 条件判断式 ],中括号和条件判断式之间必须有空格

    +
  • +
  • if后要有空格

    +
  • +
+
1
2
3
4
5
6
7
8
if [ 条件判断式 ]:then
程序
fi
#或者
if[ 条件判断式 ]
then
程序
fi
+ +
举个栗子

输入一个数字,如果是1,则输出 banzhang zhen shuai,如果是2,则输出 cls zhen mei ,如果是其他,则什么都不输出

+
1
2
3
4
5
6
7
8
#!/bin/bash
if [ $1 -eq 1 ]
then
echo "banzhang zhen shuai"
elif [ $1 -eq 2 ]
then
echo "cls zhen mei"
fi
+ +
case 语句
基本语法
    +
  • case行尾必须是单词 “in”,每一个模式匹配必须以右括号 “)” 结束
  • +
  • 双分号 “;;” 表示命令序列结束,相当于java的break
  • +
  • 最后的 “*)” 表示默认模式,相当于java的default
  • +
+
1
2
3
4
5
6
7
8
9
10
case $变量名 in  
"值 1")
如果变量的值等于1,执行程序1
;;
"值 2")
如果变量的值等于2,执行程序2
;;
*)
如果变量的值不是以上的值,则执行此程序
esac
+ +
举个栗子

输入一个数字,如果是 1,则输出 banzhang,如果是 2,则输出 cls,如果是其他,输出 renyao

+
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
case $1 in
"1")
echo "banzhang"
;;

"2")
echo "cls"
;;

*)
echo "renyou"
esac
+ +
For循环
基本语法1
1
2
3
4
for(( 初始值;循环控制添加;变量变化 ))
do
程序
done
+ +
举个栗子1

输出从1加到100的值

+
1
2
3
4
5
6
7
8
#!/bin/bash

s=0
for ((i=1;i<=100;i++))
do
s=$[$s+$i]
done
echo "cong1jiadao100:$s"
+ +
基本语法2
1
2
3
4
for 变量 in 值1 值2 值3...
do
程序
done
+ +
举个栗子2

打印所有输入参数

+
1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash

for i in "$*"
do
echo "banzhang xihuan $i"
done
#-----------------------------------
for j in "$@"
do
echo "banzhang xihuan $j"
done
+ +
while 循环
基本语法
1
2
3
4
while[ 条件判断式 ]
do
程序
done
+ +
举个栗子

输出从1加到100的值

+
1
2
3
4
5
6
7
8
9
10
#!/bin/bash

i=1
while [ $i -le 100 ]
do
s=$[$s + $i]
i=$[$i + 1]
done

echo $s
+ +
read 读取控制台输入
基本语法
1
2
3
4
5
6
read(选项)(参数)
选项:
-p:指定读取值时的提示符
-t:指定读取值时的等待的时间(秒)
参数:
变量:指定读取值的变量名
+ +
举个栗子

提示7秒内,读取控制台输入的名称

+
1
2
3
4
5
#!/bin/bash

read -t 7 -p "input your name" NAME

echo $NAME
+ +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/31/shell/2022-08-31-shell\350\277\220\347\256\227\347\254\246/index.html" "b/2022/08/31/shell/2022-08-31-shell\350\277\220\347\256\227\347\254\246/index.html" new file mode 100644 index 000000000..abcbf817b --- /dev/null +++ "b/2022/08/31/shell/2022-08-31-shell\350\277\220\347\256\227\347\254\246/index.html" @@ -0,0 +1,353 @@ +Shell运算符 | Research • 呓语
加载头像

Shell运算符

Shell运算符

基本语法
    +
  1. $((运算式)) 或 $[运算式]
  2. +
  3. expr + - * /
  4. +
+

注意,运算符号间要有空格

+
举个加法栗子
1
2
expr 3 + 2
5
+ +
举栗子[(2+3)*4]

需要使用键盘左上角的`,把需要提前运算的包起来

+
1
expr `expr 2 + 3` \* 4
+ +

或者

+
1
2
s=$[(2+3)*4]
echo $s
+ +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/08/31/shell/2022-09-01-shell\345\267\245\345\205\267\357\274\210\344\272\214\357\274\211/index.html" "b/2022/08/31/shell/2022-09-01-shell\345\267\245\345\205\267\357\274\210\344\272\214\357\274\211/index.html" new file mode 100644 index 000000000..864ee0614 --- /dev/null +++ "b/2022/08/31/shell/2022-09-01-shell\345\267\245\345\205\267\357\274\210\344\272\214\357\274\211/index.html" @@ -0,0 +1,438 @@ +Shell工具(二) | Research • 呓语
加载头像

Shell工具(二)

Shell工具(二)

awk工具
+

强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理。

+
+

awk [选项参数] ‘pattern1{action1}’ filename

+
    +
  • pattern:表示awk在数据中查找的内容
  • +
  • action:找到匹配内容时执行命令
  • +
+ + + + + + + + + + + + + + + +
选项参数功能
-F指定输入文件分隔符
-v赋值一个用户定义变量
+
举个栗子

数据准备的是/etc/passwd

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@b09ed0cc2c9d opt]# cat passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
+ +

搜素passwd文件以root关键字开头的所有航,并输出该行的第7列

+
1
2
3
[root@b09ed0cc2c9d opt]# awk -F : '/^root/{print $7}' passwd
/bin/bash
[root@b09ed0cc2c9d opt]#
+ +

搜素passwd文件以root关键字开头的所有航,并输出该行的第1列和第7列,输出时以逗号分隔

+
1
2
[root@b09ed0cc2c9d opt]# awk -F : '/^root/{print $1","$7}' passwd
root,/bin/bash
+ +

只显示/etc/passwd的第一列和第7列,以逗号分隔,且在所有航前面添加列名 user,shell在最后一行添加 ddd, /bin/zuishuai

+
1
[root@b09ed0cc2c9d opt]# awk -F : 'BEGIN{print "user,shell"} {print $1","$7} END{print "ddd,bin/zuishuai"}' passwd
+ +

注意:BEGIN 在所有数据读取行之前执行; END 在所有数据执行之后执行

+

将passwd 文件中的用户id增加数值1并输出

+
1
[root@b09ed0cc2c9d opt]# awk -F : -v i=1 '{print $3+i}' passwd
+ +
内置变量
+ + + + + + + + + + + + + + + + + + +
变量说明
filename文件名
nr已读的记录数
nf浏览记录的域的个数
+
举个栗子

数据准备

+
1
2
3
4
5
6
7
[root@b09ed0cc2c9d opt]# cat sed.txt
dong shen
guan zhen
wo wo
lai lai

le le
+ +

统计passwd文件名,每行的行号,每列的列数

+
1
[root@b09ed0cc2c9d opt]# awk -F : '{print FILENAME "," NR "," NF}' passwd
+ +

打印空行所在的行号

+
1
awk '/^$/ {print NR}' sed.txt
+ +
sort工具
+

文件排序

+
+

sort(选项)(参数)

+ + + + + + + + + + + + + + + + + + + + + + + +
选项说明
-n按照数值大小排序
-r以相反的顺序排序
-t设置排序使用的分隔字符
-k指定需要排序的列
+

参数是指定待排序文件列表

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/09/02/other/2022-09-02-\344\275\277\347\224\250postman\345\246\202\344\275\225\345\201\232\346\216\245\345\217\243\346\265\213\350\257\225/index.html" "b/2022/09/02/other/2022-09-02-\344\275\277\347\224\250postman\345\246\202\344\275\225\345\201\232\346\216\245\345\217\243\346\265\213\350\257\225/index.html" new file mode 100644 index 000000000..62f11d066 --- /dev/null +++ "b/2022/09/02/other/2022-09-02-\344\275\277\347\224\250postman\345\246\202\344\275\225\345\201\232\346\216\245\345\217\243\346\265\213\350\257\225/index.html" @@ -0,0 +1,414 @@ +使用Postman如何做接口测试 | Research • 呓语
加载头像

使用Postman如何做接口测试

使用Postman如何做接口测试

Postman安装

+

Postman下载:https://www.postman.com/downloads/

+
+

image
下载后双击即可安装,安装后需要创建账号,登录后可以在不同平台同步数据。

+

postman主要功能说明

postman主要模块功能介绍

image
点击最上面的测试集的添加目录图标,来新增一个根目录,这样等于新建了一个项目.可以将一个项目或一个模块的用例都存放在这个目录之下,并且在根目录下还可以创建子目录进行用例的细分.
image
image
image
image
创建了目录后可以进行用例的新建,具体是通过测试集右侧区域中的三个点来新增一个空的用例模板,当然也可以通过复制一个已有的用例来达到新建用例的目的.
image
image

+

发送http请求和分析响应数据

+

在postman中新建用例对应即将要执行的一次请求,默认为空,测试人员需要添加相应的请求信息,需要添加的信息包括:
请求的方法:get或post
请求的URL:协议+域名/IP+端口+资源路径

+
+

不带参数的请求:
image
发送需要认证的get接口:
image

+

------------恢复内容开始------------

## Postman安装 +> Postman下载:https://www.postman.com/downloads/ + +

image
下载后双击即可安装,安装后需要创建账号,登录后可以在不同平台同步数据。

+

postman主要功能说明

1、postman主要模块功能介绍

image
点击最上面的测试集的添加目录图标,来新增一个根目录,这样等于新建了一个项目.可以将一个项目或一个模块的用例都存放在这个目录之下,并且在根目录下还可以创建子目录进行用例的细分.
image
image
image
image
创建了目录后可以进行用例的新建,具体是通过测试集右侧区域中的三个点来新增一个空的用例模板,当然也可以通过复制一个已有的用例来达到新建用例的目的.
image
image

+

发送http请求和分析响应数据

+

在postman中新建用例对应即将要执行的一次请求,默认为空,测试人员需要添加相应的请求信息,需要添加的信息包括:
请求的方法:get或post
请求的URL:协议+域名/IP+端口+资源路径

+
+

get请求

不带参数的请求:
image
发送需要认证的get接口:
image

+

post请求

选择请求格式为post
传参:

+
    +
  • Body中raw:支持任意格式的数据编辑,选json(也可xml或html传参)
  • +
  • Body中Form-data:以表单的方式进行数据编辑
  • +
  • Body中x-www-form-urlencoded:与form-data类似,也是以表单的方式进行数据编辑,但是表单中的每一条数据只能是键值对.
  • +
  • Body中Binary:用来上传文件.并且由于没有键值,因此一次只能上传一个文件.
  • +
+

Pre-request Scrip

image

+

Tests

image

+

postman保存测试用例

image

+

postman批量运行

image
image

+

选择文件进行参数化

json文件

image

+

txt文件

image
使用参数时,变量名称要与文件里的变量名保持一致

+

postman环境管理

image
image
引用环境信息:

+

postman全局变量

image
也可以用javascript写变量:
image
引用全局变量信息:
image
image
Cookie用途:一个请求需要用到用户的登录状态(sessionid或token),一般 登录状态会记录在cookie ,postman会自动记录登录状态写入cookies.所以执行非登录接口的请求前,需要先执行登录接口请求。
image

+

关联

------------恢复内容结束------------

+

------------恢复内容开始------------

## Postman安装 +> Postman下载:https://www.postman.com/downloads/ + +

image
下载后双击即可安装,安装后需要创建账号,登录后可以在不同平台同步数据。

+

postman主要功能说明

1、postman主要模块功能介绍

image
点击最上面的测试集的添加目录图标,来新增一个根目录,这样等于新建了一个项目.可以将一个项目或一个模块的用例都存放在这个目录之下,并且在根目录下还可以创建子目录进行用例的细分.
image
image
image
image
创建了目录后可以进行用例的新建,具体是通过测试集右侧区域中的三个点来新增一个空的用例模板,当然也可以通过复制一个已有的用例来达到新建用例的目的.
image
image

+

发送http请求和分析响应数据

+

在postman中新建用例对应即将要执行的一次请求,默认为空,测试人员需要添加相应的请求信息,需要添加的信息包括:
请求的方法:get或post
请求的URL:协议+域名/IP+端口+资源路径

+
+

get请求

不带参数的请求:
image
发送需要认证的get接口:
image

+

post请求

选择请求格式为post
传参:

+
    +
  • Body中raw:支持任意格式的数据编辑,选json(也可xml或html传参)
  • +
  • Body中Form-data:以表单的方式进行数据编辑
  • +
  • Body中x-www-form-urlencoded:与form-data类似,也是以表单的方式进行数据编辑,但是表单中的每一条数据只能是键值对.
  • +
  • Body中Binary:用来上传文件.并且由于没有键值,因此一次只能上传一个文件.
  • +
+

Pre-request Scrip

image

+

Tests

image

+

postman保存测试用例

image

+

postman批量运行

image
image

+

选择文件进行参数化

json文件

image

+

txt文件

image
使用参数时,变量名称要与文件里的变量名保持一致

+

postman环境管理

image
image
引用环境信息:

+

postman全局变量

image
也可以用javascript写变量:
image
引用全局变量信息:
image
image
Cookie用途:一个请求需要用到用户的登录状态(sessionid或token),一般 登录状态会记录在cookie ,postman会自动记录登录状态写入cookies.所以执行非登录接口的请求前,需要先执行登录接口请求。
image

+

关联

断言

Postman通过tests插入断言
image

+

关联

+

把上一个接口的返回数据作为下一个参数的输入参数使用

+
+
    +
  • 先发送一个接口,查看返回值
  • +
  • 在上一个接口的tests里面添加js脚本
      +
    • 获取上一个接口返回值并赋值给变量
    • +
    • 定义全局变量,并获取要作为下一个接口输入的数据字段
    • +
    +
  • +
  • 引用全局变量
  • +
+

生成并导出接口脚本

导出接口测试脚本

image

+

导出测试集

image
image

+

导入测试集

image

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/09/02/python/2022-09-02-\350\247\243\346\236\220Excel\347\224\250\344\272\216\346\225\260\346\215\256\351\251\261\345\212\250/index.html" "b/2022/09/02/python/2022-09-02-\350\247\243\346\236\220Excel\347\224\250\344\272\216\346\225\260\346\215\256\351\251\261\345\212\250/index.html" new file mode 100644 index 000000000..730b0e4b6 --- /dev/null +++ "b/2022/09/02/python/2022-09-02-\350\247\243\346\236\220Excel\347\224\250\344\272\216\346\225\260\346\215\256\351\251\261\345\212\250/index.html" @@ -0,0 +1,367 @@ +解析Excel用于数据驱动 | Research • 呓语
加载头像

解析Excel用于数据驱动

解析Excel用于数据驱动

新建Excel

+

创建Excel数据表:learn.xlsx

+
+
+ +
+ +

解析excel

+

使用python的openpyxl模块来解析Excel

+
+

1、读取Excel文件

+

openpyxl.load_workbook(‘文件路径’)

+
+
1
excel = openpyxl.load_workbook('learn.xlsx')
+

2、获取sheet页里面的数据

1
2
3
4
5
6
# 获取当前活动的表单
sheet = excel.active
# 获取指定的表单
for sheets in excel.sheetnames: #获取所有表单的名称
print(sheets)
sheet = excel[sheets] #获取指定表单
+

3、获取单元格里面的内容

1
2
3
for values in sheet.values:
if type(value[0]) == int: #从第二行开始
print(values)
+

运行代码:

+
+ +
+ +

把Excel表里面的数据以字典格式展示:

+
1
2
3
4
data = {}
data["name"] = values[0]
data["value"] = values[1]
print(data)
+

运行代码:

+
+ +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/09/02/python/2022-09-21-python\350\247\243\346\236\220ini\346\226\207\344\273\266/index.html" "b/2022/09/02/python/2022-09-21-python\350\247\243\346\236\220ini\346\226\207\344\273\266/index.html" new file mode 100644 index 000000000..424bf53e9 --- /dev/null +++ "b/2022/09/02/python/2022-09-21-python\350\247\243\346\236\220ini\346\226\207\344\273\266/index.html" @@ -0,0 +1,393 @@ +解析ini文件用于数据驱动 | Research • 呓语
加载头像

解析ini文件用于数据驱动

解析ini文件用于数据驱动

背景

    +
  • PO设计模式是selenum自动化测试中比较好的设计模式
  • +
  • 在项目的开发过程中,UI界面上的元素不确定,会经常变化
  • +
+

过程解析

    +
  • 在PyCharm创建ini文件
  • +
  • 创建一个可以解析ini文件的python模块(parse_ini)
  • +
  • 其他模块引用parse_ini文件里面的方法把ini文件解析出来
  • +
+

创建ini文件

image

+

创建parse_ini模块

import configparser
+
+class Parse_Ini(object):
+
+    def __init__(self):
+        self.file = r"D:\dingdang_project\test\config.ini"
+        self.parse = configparser.ConfigParser()
+        self.parse.read(self.file, encoding="utf-8")
+
+    def get_sections(self):
+        """
+        :return: 由sections组成的列表
+        """
+        return self.parse.sections()
+
+    def get_options(self, sections):
+        """
+        :return: 返回指定 section 中可用选项的列表。
+        """
+        return self.parse.options(sections)
+
+    def get_sections_options(self, sections, options):
+        """
+        :param sections: 元素名称
+        :param options: 元素地址
+        :return: 指定sections下的options
+        """
+        try:
+            option = self.parse.get(sections, options)
+            if ("-->" in option):
+                option = tuple(option.split("-->"))
+                return option
+        except configparser.NoOptionError as e:
+            return 'error: No option "{}" in section: "{}"'.format(options, sections)
+
+
+if __name__ == "__init__":
+    pass
+
+

举个栗子:

栗子1

image

+
运行结果:

image

+
栗子2

image

+
运行结果:

image

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/09/05/other/\350\207\252\345\212\250\345\214\226\345\237\272\347\241\200\344\271\213Xpath\345\256\232\344\275\215/index.html" "b/2022/09/05/other/\350\207\252\345\212\250\345\214\226\345\237\272\347\241\200\344\271\213Xpath\345\256\232\344\275\215/index.html" new file mode 100644 index 000000000..bea3ce291 --- /dev/null +++ "b/2022/09/05/other/\350\207\252\345\212\250\345\214\226\345\237\272\347\241\200\344\271\213Xpath\345\256\232\344\275\215/index.html" @@ -0,0 +1,400 @@ +自动化基础之Xpath定位 | Research • 呓语
加载头像

自动化基础之Xpath定位

自动化基础之Xpath定位

常用函数定位
+ + + + + + + + + + + + + + +
定位函数position
//*contains(text(),’文字’)/li[position()=3]找到第三个 li
//*contains(text(),’文字’)/li[position()<=2]找到前两个 li
+
Xpath函数进行定位
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
定位方式描述实例
contains匹配在元素文本中查找包含 ‘文字’ 的元素//*contains(text(),’文字’)
starts-with匹配所有id开头为 ‘s’ 的元素//*[starts-with(@id,’s’)]
ends-with匹配所有id结尾头为 ‘s’ 的元素//*[ends-with(@id,”s”)]
following-sibling匹配和 ‘ul’ 元素同级别的下一个元素//div/following-sibling::ul
preceding-sibling匹配当前节点之前的所有同级节点
ancestor匹配当前节点的所有父级,祖父级还有更高级//div/ancestor::li[@role=”menuitem”]
parent匹配当前节点的父节点,相当于 ..//div/parent::button
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/09/21/java/2022-09-21-\344\275\277\347\224\250Java\350\247\243\346\236\220Properties\346\226\207\344\273\266/index.html" "b/2022/09/21/java/2022-09-21-\344\275\277\347\224\250Java\350\247\243\346\236\220Properties\346\226\207\344\273\266/index.html" new file mode 100644 index 000000000..02fab6342 --- /dev/null +++ "b/2022/09/21/java/2022-09-21-\344\275\277\347\224\250Java\350\247\243\346\236\220Properties\346\226\207\344\273\266/index.html" @@ -0,0 +1,373 @@ +使用Java解析Properties文件 | Research • 呓语
加载头像

使用Java解析Properties文件

使用Java解析Properties文件

主要函数

+ + + + + + + + + + + + + + + + + + + + + + +
文件后缀函数方法
.Propertiesload加载文件
setProperty设置
getProperty获取
+

编写逻辑

创建加载文件的方法

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
* 加载文件
* @return Properties 对象
* @throws IOException I/O输入异常
*/
private Properties readProperties() throws IOException{
// 实例化,创建 Properties 对象
Properties properties = new Properties();
try {
// 创建文件输入对象 FileInputStream("testpro.properties")
InputStream inputStream = new FileInputStream(filepath);
// 把文件输入对象放入缓存输入对象 new BufferedInputStream 里面
BufferedInputStream in = new BufferedInputStream(inputStream);
// 加载文件 in = ParseProperties.class.getResourceAsStream("testpro.properties"),自动获取 resources 文件夹下路径
properties.load(in);
}catch (IOException e){
e.printStackTrace();
}
return properties;
}
+ +

获取key后面的数据

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
* 获取数据
* @param key 数据名称
* @return 数据等号右边的值
* @throws Exception 异常
*/
public String getPro(String key) throws Exception {
// 判断文件里面有没有这个 Key
if (prop.containsKey(key)) {
// 获得key后面的value值
return prop.getProperty(key);
}else {
System.out.println("你获取的key值不对");
return "";
}
}
+ +

获取定位类型或者定位表达式

+
1
2
3
4
5
6
7
8
9
/**
* 返回定位类型或者定位表达式
* @param key 数据名称
* @param num 输入0/1
* @return num=0时,返回定位类型,num=1时,返回定位表达式
*/
public String get_pro_element(String key, int num){
return (num!=0 & num!=1) ? "num:参数输入错误" : prop.getProperty(key).split("->")[num];
}
+ +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/09/21/java/2022-12-06-\346\226\271\346\263\225\345\222\214\345\207\275\346\225\260/index.html" "b/2022/09/21/java/2022-12-06-\346\226\271\346\263\225\345\222\214\345\207\275\346\225\260/index.html" new file mode 100644 index 000000000..d7fce3a9e --- /dev/null +++ "b/2022/09/21/java/2022-12-06-\346\226\271\346\263\225\345\222\214\345\207\275\346\225\260/index.html" @@ -0,0 +1,402 @@ +java基础之方法和函数 | Research • 呓语
加载头像

java基础之方法和函数

java基础之方法和函数

方法和函数

+ + + + + + + + + + + + + + + + + + + + +
定义方式作用调用方式
函数public static void 函数名(){}封装指定功能的代码块函数名()
方法public [static] void 方法名(){}类的行为,对象可以执行的一些功能对象名.方法名
+

定义函数

+

使用static修饰的内容成为静态的内容

+
+
1
2
public static void function1(){
}
+ +

调用函数

1
function1()
+ +

定义方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void class className1{

String name;
//静态变量
static String age;

//静态方法
public static function1(){
}

//类方法
//非静态方法可以调用静态变量和非静态变量、静态方法和非静态方法
public function2(){
}
}
+

调用方法

    +
  • 调用静态方法,不需要实例化
  • +
+
1
className1.function1()
+ +
    +
  • 调用方法
  • +
+
1
className1的对象,需要实例化
+ + +

静态方法注意事项:

    +
  • 静态方法无法直接引用非静态的变量
  • +
  • 静态方法不能直接调用非静态的方法
  • +
+

代码块

    +
  • 定义在方法内部,和局部变量处于平行的位置
  • +
  • 生命周期随着方法的调用而加载,随着方法的结束而消亡
  • +
  • 可以在局部代码块中定义一些使用范围和时间都很短的变量,用完就消失啦
  • +
+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public void class className1{

String name;
static String age;

//类方法
//非静态方法可以调用静态变量和非静态变量、静态方法和非静态方法
public void function2(){

//定义代码块
{
int i = 100;
System.out.println("方法中的变量i=" + i);
}

}
}
+ +

构造代码块

    +
  • 构造代码快写在和构造方法平行的位置
  • +
  • 只要创建对象,构造代码块就会执行,不论是采用有参的还是无参数的构造方法
  • +
+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public void class{
//有参构造
class(String name){
}
//无参构造
class(){
}
//构造代码块
{
int i=100;
System.out.println("构造代码块i=" + i);
}

}
+

静态代码块

    +
  • 被static修饰的代码块称为静态代码块
  • +
  • 随着类的加载而加载
  • +
  • 静态代码块只执行一次,在程序中可以完成加载驱动等只执行一次的操作
  • +
+
1
2
3
4
5
public void className1{
static{
System.out.println("我是静态代码块i=" + i);
}
}
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/09/26/error/2022-09-26-git\346\217\220\347\244\272Timed_out\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225/index.html" "b/2022/09/26/error/2022-09-26-git\346\217\220\347\244\272Timed_out\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225/index.html" new file mode 100644 index 000000000..43f08fe09 --- /dev/null +++ "b/2022/09/26/error/2022-09-26-git\346\217\220\347\244\272Timed_out\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225/index.html" @@ -0,0 +1,350 @@ +git提示Timed out的解决办法 | Research • 呓语
加载头像

git提示Timed out的解决办法

git提示Timed out的解决办法

报错代码

运行git代码会提示Timed out错误

+
1
使用git,会发生报错:Failed to connect to github.com port 443 after 21098 ms: Timed out
+ +

解决办法

设置代理

+
1
git config --global https.proxy
+ +

取消代理

+
1
git config --global --unset https.proxy
+ +

然后输入git 命令使用

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/10/20/project/2022-10-20-\344\275\277\347\224\250ubuntu\345\256\271\345\231\250\345\256\211\350\243\205code-server/index.html" "b/2022/10/20/project/2022-10-20-\344\275\277\347\224\250ubuntu\345\256\271\345\231\250\345\256\211\350\243\205code-server/index.html" new file mode 100644 index 000000000..2d0b22cf7 --- /dev/null +++ "b/2022/10/20/project/2022-10-20-\344\275\277\347\224\250ubuntu\345\256\271\345\231\250\345\256\211\350\243\205code-server/index.html" @@ -0,0 +1,376 @@ +使用docker的ubuntu容器安装code-server | Research • 呓语
加载头像

使用docker的ubuntu容器安装code-server

使用docker的ubuntu容器安装code-server

搭建code-server

拉取Ubuntu 镜像

1
2
3
4
# 拉取镜像
docker pull aliyun
# 进入镜像
docker run --name [自定义名称] -u root --privileged=true -p 3300:8881 -v /opt/testubuntu/:/opt/main_file -it [镜像id]
+

安装code-server

github上下载安装包,解压后剪切到/home目录

+

运行code-server

1
2
3
4
# 找到bin目录下的code-server*
cd /home/code-server/bin
# 输入运行命令
export PASSWORD="123456" && ./code-server --host 0.0.0.0 --port 8881
+ +

然后在浏览器输入http://ip:3000查看搭建情况

+

但是这样搭建有问题

+
+

使用上面方法部署的code-server,因为是http的,导致一些功能不好用,比如写md文档无法预览

+
+

下面就是配置使用https运行

+

配置HTTPS

+

使用openssl为IP签发证书

+
+

安装openssl

一般的linux系统已经内置openssl,可以输入openssl进行查看,没有的话就需要安装

+

创建证书请求文件

新建openssl.cnf,并编辑如下内容

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req

[req_distinguished_name]
countryName = Country Name (2 letter code)
countryName_default = CH
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = ZJ
localityName = Locality Name (eg, city)
localityName_default = HangZhou
organizationalUnitName = Organizational Unit Name (eg, section)
organizationalUnitName_default = THS
commonName = Internet Widgits Ltd
commonName_max = 64

[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[alt_names]

# 改成自己的域名
# DNS.1 = your_domain_name.com

# 改成自己的ip
IP.1 = 8.142.144.75
IP.2 = 0.0.0.0
+ +

生成私钥

san_domain_com 为最终生成的文件名,一般以服务器命名,可改。

+
1
openssl genrsa -out san_domain_com.key 2048
+ +

生成CSR文件

1
openssl req -new -out san_domain_com.csr -key san_domain_com.key -config openssl.cnf
+ +

执行后,系统提示输入组织等信息,按[]内容提示输入如即可。

+

需要测试CSR文件是否生成成功

+
1
> openssl req -text -noout -in san_domain_com.csr
+

有下面的信息,说明生成成功

+
1
2
3
4
5
6
7
8
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=US, ST=MN, L=Minneapolis, OU=Domain Control Validated, CN=zz
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
//...
+ +

自签名并生成证书

1
openssl x509 -req -days 3650 -in san_domain_com.csr -signkey san_domain_com.key -out san_domain_com.crt -extensions v3_req -extfile openssl.cnf
+

在当前目录会生成三个文件

+
1
2
3
4
5
san_domain_com.crt

san_domain_com.csr

san_domain_com.key
+ +

在用户电脑安装证书

.crt证书发给用户,用户双击进行安装,然后重启浏览器

+

code server启动

在code-server的bin目录下运行如下命令,设置端口号为8881,指定对应生成的crt和key密钥文件,即可正常访问https域名

+
1
2
3
4
# 给ssh创建密码
export PASSWORD="123456"
# 启动ssh
nohup ./code-server --port 8881 --host 0.0.0.0 --cert ../san_domain_com.crt --cert-key ../san_domain_com.key > vscode.log 2>&1 &
+

然后通过浏览器访问https://ip:3000

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/10/20/project/2022-11-24-\346\220\255\345\273\272\346\200\247\350\203\275\347\233\221\346\216\247\345\271\263\345\217\260/index.html" "b/2022/10/20/project/2022-11-24-\346\220\255\345\273\272\346\200\247\350\203\275\347\233\221\346\216\247\345\271\263\345\217\260/index.html" new file mode 100644 index 000000000..12271b381 --- /dev/null +++ "b/2022/10/20/project/2022-11-24-\346\220\255\345\273\272\346\200\247\350\203\275\347\233\221\346\216\247\345\271\263\345\217\260/index.html" @@ -0,0 +1,643 @@ +性能监控平台 | Research • 呓语
加载头像

性能监控平台

性能监控平台

搭建容器

+

拉取CentOS7镜像,下载安装Grafana和Influxdb

+
+

+        # 拉取阿里云的centos7镜像
+        git pull registry.cn-zhangjiakou.aliyuncs.com/ggls/centos:7.1
+        # 运行镜像生成容器
+        docker run -itd --name centos7-influx 
+        -p 8083:8083 -p 8086:8086 
+        -p 2003:2003 -p 3000:3000 
+        -v /opt/centos7_influx:/opt 
+        --privileged=true 
+        registry.cn-zhangjiakou.aliyuncs.com/ggls/centos:7.1 /usr/sbin/init
+        # 进入容器
+        docker exec -it centos7-influx bash
+    
+
+

端口说明:

+
    +
  • 8083:InfluxDB的UI界面展示的端口
  • +
  • 8086:Grafana用来从数据库取数据的端口
  • +
  • 2003:Jmeter往数据库发数据的端口
  • +
  • 3000:本地访问服务器内部docker容器的端口
  • +
+

安装Influxdb

    +
  1. 下载influxDB
  2. +
+

新版本可以点击influxDB官网进行下载

+ + # 下载安装包 + wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.3.x86_64.rpm + # 安装运行 + yum localinstall influxdb-1.6.3.x86_64.rpm + + + +
    +
  1. influxDB配置
  2. +
+

安装运行后,然后对influxDB进行配置,主要是配置Jmeter连接的数据库和端口号

+ + vim /etc/influxdb/influxdb.conf + + +

找到graphite并且修改它的库与端口

+
1
2
3
4
5
6
enabled = true
database = "jmeter"
retention-policy = ""
bind-address = ":2003"
protocol = "tcp"
consistency-level = "one"
+
    +
  1. 找到[http],将前面的#号去掉
  2. +
+
+ +
+ +
    +
  1. 配置成功,启动influxDB
  2. +
+
    +
  • 启动命令: systemctl start influxdb.service
  • +
  • 查看状态命令: systemctl status influxdb.service
  • +
+
+ +
+ +

安装Grafana

新版本下载位置:Grafana官网下载:https://grafana.com/grafana/download

+
1
2
3
wget https://dl.grafana.com/oss/release/grafana-6.5.2-1.x86_64.rpm

sudo yum localinstall grafana-6.5.2-1.x86_64.rpm
+

然后启动

启动命令: systemctl start grafana-server.service

+

查看状态命令: systemctl status grafana-server.service

+

然后在浏览器访问登录http://ip:3000

+

配置Jmeter

一、添加监听器:Backend Listener

    +
  • 右键点击Thread Group
  • +
  • 点击Add -> Listener -> Backend Listener
  • +
+

二、配置监听器:Backend Listener

Backend Listener implementation 默认选择GraphiteBackendListenerClient

+
    +
  • graphiteHost:InfluxDB安装的服务器的ip
  • +
  • graphitePort:端口;默认就是2003,除非你自己安装InfluxDB时设置了其他端口是哦(可见上面安装InfluxDB后关于graphite的配置)
  • +
  • rootMetricsPrefix:指标的根前缀;将测试结果存入数据库时,不同指标会生成不同表,但这些表都最好要有一个共同的前缀,这个就是了;后面会讲到不同的指标的含义(重点哦)
  • +
  • summaryOnly:当你线程组有多个请求又想知道每个请求的结果数据时,最好填false,因为true只会返回所有请求的集合数据报告,不会输出每条请求的数据报告
  • +
  • samplersList:取样器列表;想收集哪些请求就填哪些,最好用正则去匹配,减轻工作量
  • +
  • useRegexpForSamplersList:是否使用正则;如果true则使用,samplersList里可以匹配正则表达式
  • +
  • percentiles:百分比;即类似聚合报告里90% Line,95% Line,99% Line的数据;倘若想要99.9时,需要写成【99_9】,用下划线代替点
  • +
+

三:运行Jmeter脚本,查看数据库

数据库里面有两个库,jmeter库就是jmeter运行生成表的数据库

+

可以看到生成了三类前缀的表,分别是: jmeter.all 、 jmeter.[请求名称];最后还有 jmeter.test 开头的表,这个后面会单独拿出来说

+

前缀的含义

+
    +
  • jmeter.all :代表了所有请求;当summaryOnly=true时,就只有samplerName=all的表了
  • +
  • jmeter.[请求名称]:代表了HTTP请求,即samplerName=[请求名称]
  • +
+

Thread/Virtual Users metrics - 线程/虚拟用户指标
跟线程组设置相关的

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
指标全称含义
jmeter.test.minATMin active threads最小活跃线程数
jmeter.test.maxATMax active threads最大活跃线程数
jmeter.test.meanATMean active threads平均活跃线程数
jmeter.test.startedTStarted threads启动线程数
jmeter.test.endedTFinished threads结束线程数
+

Response times metrics - 响应时间指标

+

划重点:每个sampler(请求)都包含了所有响应时间指标,每个sampler(请求)的每个指标都会有单独的一个表存储结果数据

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
指标含义
.ok.countsampler的成功响应数
.h.count服务器每秒命中次数(每秒点击数,即TPS)
.ok.minsampler响应成功的最短响应时间
.ok.maxsampler响应成功的最长响应时间
.ok.avgsampler响应成功的平均响应时间
.ok.pctsampler响应成功的所占百分比
.ko.countsampler的失败响应数
.ko.minsampler响应失败的最短响应时间
.ko.maxsampler响应失败的最长响应时间
.ko.avgsampler响应失败的平均响应时间
.ko.pctsampler响应失败的所占百分比
.a.countsampler响应数(ok.count+ko.count)
.sb.bytes已发送字节
.rb.bytes已接收字节
.a.minsampler响应的最短响应时间(ok.count和ko.count的最小值)
.a.maxsampler响应的最长响应时间(ok.count和ko.count的最大值)
.a.avgsampler响应的平均响应时间(ok.count和ko.count的平均值)
.a.pctsampler响应的百分比(根据成功和失败的总数来计算)
+

四、配置Grafana

步骤:

+
    +
  • 配置数据源

    +
  • +
  • 创建数据面板

    +
  • +
+
+ +
+ +

配置数据源

点击首页的Create your first data source,然后进行配置

+
+ +
+ +

点击选择influxDB

+
+ +
+ +
+ +
+ +

配置数据面板

+ +
+ +

选择Add Query,然后进行配置

+
+ +
+ +

当我们只想看数据而不想看数据趋势图的话,可以改变它的类型;

+

在同一个界面,点击左侧列表选中第二个icon,然后选择Singlestat即可

+
+ +
+ +

基本的配置完成,Jmeter使用GraphiteBackendListenerClient来采集数据的,因为请求多起来的时候会有非常多的表,维护成本也会增加;后面将会介绍如何通过InfluxDBBackendListenerClient来采集数据

+

给Jmeter的Backend Listener配置为InfluxDBBackendListenerClient

+

首先来看看每个配置项的含义

+
    +
  1. influxdbUrl:安装influxdb的路径;主要格式:http://主机地址:8086/write?db=数据库名
  2. +
  3. application:应用名称;在 events 表中对应的字段是 application
  4. +
  5. measurement:表名;数据存储到哪个表,默认是jmeter,不用改即可
  6. +
  7. summaryOnly:同GraphiteBackendListenerClient
  8. +
  9. samplersRegex:同GraphiteBackendListenerClient
  10. +
  11. percentiles:同GraphiteBackendListenerClient
  12. +
  13. testTitle:测试名称;在 events 表中对应的字段是 text ,JMeter在测试的开始和结束时自动生成注释,该注释的值以’start’和’end’结尾
  14. +
  15. eventTags:Grafana允许为每个注释显示标签;在 events 表中对应的字段是 tags
  16. +
+

inDB数据库
使用InfluxDBBackendListenerClient好处就是,再多的请求也只会生成两张表:

+

events :主要拿存事件的

+

jmeter :存测试结果数据的,Grafana也是从这个表获取数据再展示

+

配置数据面板

+

首先,进入官方模板库: https://grafana.com/dashboards ,然后跟着图片导入模板并初始化即可

+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +

然后jmeter再次执行一下测试计划

+
+ +
+ +

模板自带了三个下拉筛选框

+
    +
  1. data_source:数据源,在Grafana配置了多少个就显示多少个

    +
  2. +
  3. application:在Jmeter配置好的application,如果每次测试计划执行时的application都不一样,你就可以通过这个筛选出对应测试时机的结果数据了

    +
  4. +
  5. transaction:在Jmeter配置好的sampleList,譬如我只发了get、post请求,这里就只会给你选get、post;可以滑到页面下面看到针对某个请求的数据展示

    +
  6. +
+

卸载Grafana

停止Grafana服务。

+
1
systemctl stop grafana-server.service
+
1
systemctl disable grafana-server.service
+

查看要卸载的包的名称

+
1
yum list installed
+

输入命令行卸载Grafana

+
1
yum remove grafana.x86_64
+ +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/10/21/springboot/2022-10-21-\345\274\200\345\217\221\346\227\266\351\201\207\345\210\260\347\253\257\345\217\243\345\206\262\347\252\201\350\247\243\345\206\263\345\212\236\346\263\225/index.html" "b/2022/10/21/springboot/2022-10-21-\345\274\200\345\217\221\346\227\266\351\201\207\345\210\260\347\253\257\345\217\243\345\206\262\347\252\201\350\247\243\345\206\263\345\212\236\346\263\225/index.html" new file mode 100644 index 000000000..76db4bde8 --- /dev/null +++ "b/2022/10/21/springboot/2022-10-21-\345\274\200\345\217\221\346\227\266\351\201\207\345\210\260\347\253\257\345\217\243\345\206\262\347\252\201\350\247\243\345\206\263\345\212\236\346\263\225/index.html" @@ -0,0 +1,343 @@ +开发时遇到端口冲突解决办法 | Research • 呓语
加载头像

开发时遇到端口冲突解决办法

开发时遇到端口冲突解决办法

解决办法

resources下面新建文件application.properties,名称不能变,只能是这个,运行时系统会自动获取这个端口数据

+

在里面输入代码数据

+
1
server.port=${port:8888}
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
文章目录
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/10/21/springboot/2022-10-21-\346\216\245\345\217\243\345\274\200\345\217\221\347\216\257\345\242\203\351\203\250\347\275\262/index.html" "b/2022/10/21/springboot/2022-10-21-\346\216\245\345\217\243\345\274\200\345\217\221\347\216\257\345\242\203\351\203\250\347\275\262/index.html" new file mode 100644 index 000000000..b33d572fd --- /dev/null +++ "b/2022/10/21/springboot/2022-10-21-\346\216\245\345\217\243\345\274\200\345\217\221\347\216\257\345\242\203\351\203\250\347\275\262/index.html" @@ -0,0 +1,349 @@ +接口开发环境部署 | Research • 呓语
加载头像

接口开发环境部署

接口开发环境部署

开发环境

    +
  • IDEA
  • +
  • Maven
  • +
  • Spring Boot
  • +
  • JDK_86001
  • +
+

在idea安装SpringBoot插件

在maven下安装插件,需要在pox.xml文件输入下面的数据,然后更新文件

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<springboot.version>2.5.6</springboot.version>
<swagger.version>2.9.2</swagger.version>
</properties>

<dependencies>
<!-- springboot 2.5.6 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>${springboot.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${springboot.version}</version>
</dependency>
</dependencies>

+

上面的${springboot.version}是在上面里面定义的版本信息,如果多个插件的版本一致就可以在属性上进行定义,然后使用变量进行引用

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/10/21/springboot/2022-10-21-\350\277\224\345\233\236cookie\347\232\204Get\346\216\245\345\217\243\345\274\200\345\217\221/index.html" "b/2022/10/21/springboot/2022-10-21-\350\277\224\345\233\236cookie\347\232\204Get\346\216\245\345\217\243\345\274\200\345\217\221/index.html" new file mode 100644 index 000000000..3f9257cab --- /dev/null +++ "b/2022/10/21/springboot/2022-10-21-\350\277\224\345\233\236cookie\347\232\204Get\346\216\245\345\217\243\345\274\200\345\217\221/index.html" @@ -0,0 +1,361 @@ +返回cookie的Get接口开发 | Research • 呓语
加载头像

返回cookie的Get接口开发

返回cookie的Get接口开发

位置布局

1
2
3
4
5
6
7
- java
- com.course.server
- intertype
MyGetMethod
Application
- resources
- application.properties
+ +

Application 类

创建Application.java类,用来运行接口,类名只能是Application,不能自定义

+
1
2
3
4
5
6
7
8
@SpringBootApplication
@Controller("com.course.server.intertype")
public class Application {

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
+ +
    +
  • @SpringBootApplication 作用是给当前类标明是运行的主类,相当于被SpringBoot托管了
  • +
  • @Controller("com.course.server.intertype") 钩子标识符,扫描包下面的类,被Springboot托管
  • +
+

编写Get接口

创建MyGetMethod

+

类名上有修饰符@RestController@Api(value = "/")

+
    +
  • @RestController 标识该类会被扫描到,然后被SpringBoot托管
  • +
  • @Api(value = "/") 可加可不加
  • +
  • @RequestMapping(value = "访问路径", method = 访问方法) 定义接口的访问路径及访问方法
  • +
  • @ApiOperation(value = "接口信息", httpMethod = "接口的请求方法") 展示接口的基本信息和它的请求方法,可加可不加
  • +
+

下面是代码信息,之后的所有GET接口都在该类里面写接口方法

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@RestController
@Api(value = "/", tags = {SwaggerConfig.TagGet} )
public class MyGetMethod {

@RequestMapping(value = "/getCookies", method = RequestMethod.GET)
@ApiOperation(value = "通过这个方法可以获得cookies", httpMethod = "GET")
public String getCookies(HttpServletResponse response){

// HttpServerletRequest 装请求信息类
// HttpServerletResponse 装响应信息类

Cookie cookie = new Cookie("login", "True");

response.addCookie(cookie);

return "恭喜获得cookies信息成功";
}
}
+ +

上面就是返回cookie的get接口开发,接下来就是 需要携带cookies信息才能访问的get请求

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/10/21/springboot/2022-10-21-\351\234\200\350\246\201cookie\350\256\277\351\227\256\347\232\204Get\346\216\245\345\217\243\345\274\200\345\217\221/index.html" "b/2022/10/21/springboot/2022-10-21-\351\234\200\350\246\201cookie\350\256\277\351\227\256\347\232\204Get\346\216\245\345\217\243\345\274\200\345\217\221/index.html" new file mode 100644 index 000000000..82d8ee3ca --- /dev/null +++ "b/2022/10/21/springboot/2022-10-21-\351\234\200\350\246\201cookie\350\256\277\351\227\256\347\232\204Get\346\216\245\345\217\243\345\274\200\345\217\221/index.html" @@ -0,0 +1,341 @@ +需要cookie访问的Get接口开发 | Research • 呓语
加载头像

需要cookie访问的Get接口开发

需要cookie访问的Get接口开发

编写需要cookie才能访问的接口

这个接口还是在MyGetMethod类里面编写方法

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
* 要求客户端携带cookie访问
* 这是一个需要携带cookies信息才能访问的get请求
*/
@RequestMapping(value = "/get/with/cookies", method = RequestMethod.GET)
@ApiOperation(value = "要求客户端携带cookie访问", httpMethod = "GET")
public String getWithCookies(HttpServletRequest request){
Cookie[] cookies = request.getCookies();
if(Objects.isNull(cookies)){
return "你必须携带cookies信息来";
}
for(Cookie cookie : cookies){
if(cookie.getName().equals("login") && cookie.getValue().equals("True")){
return "恭喜你,访问成功!,这是一个需要携带cookies信息才能访问的get请求";
}
}
return "你必须携带cookies信息来";
}
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/10/21/springboot/2022-10-21-\351\234\200\350\246\201\345\217\202\346\225\260\346\211\215\350\203\275\350\256\277\351\227\256\347\232\204get\350\257\267\346\261\202/index.html" "b/2022/10/21/springboot/2022-10-21-\351\234\200\350\246\201\345\217\202\346\225\260\346\211\215\350\203\275\350\256\277\351\227\256\347\232\204get\350\257\267\346\261\202/index.html" new file mode 100644 index 000000000..dbb5b44b1 --- /dev/null +++ "b/2022/10/21/springboot/2022-10-21-\351\234\200\350\246\201\345\217\202\346\225\260\346\211\215\350\203\275\350\256\277\351\227\256\347\232\204get\350\257\267\346\261\202/index.html" @@ -0,0 +1,347 @@ +需要参数才能访问的get请求 | Research • 呓语
加载头像

需要参数才能访问的get请求

需要参数才能访问的get请求

编写需要参数才能访问的get请求

使用参数就要用到@RequestParam 参数类型 参数变量,可以有多个参数

+

这个接口还是在MyGetMethod类里面编写方法,有两种方法

+

第一种url:key=value&&key=value

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
* 开发一个需要参数才能访问的get请求
* 模拟获取商品列表
*/
@RequestMapping(value = "/get/with/param", method = RequestMethod.GET)
@ApiOperation(value = "需要参数才能访问的get请求的第一种实现方法", httpMethod = "GET")
public Map<String, Integer> getList(@RequestParam Integer start,
@RequestParam Integer end){

Map<String, Integer> myList = new HashMap<>();

myList.put("鞋",400);
myList.put("电脑",5000);
myList.put("手机",3500);

return myList;

}
+ +

方法二url: ip:port/get/with/param/10/20

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

/**
* 第二种需要携带参数访问的get请求
*/

@RequestMapping(value = "/get/with/param/{start}/{end}", method = RequestMethod.GET)
@ApiOperation(value = "需要参数才能访问的get请求的第二种实现方法", httpMethod = "GET")
public Map<String,Integer> myGetList(@PathVariable Integer start,
@PathVariable Integer end){

Map<String, Integer> myList = new HashMap<>();

myList.put("鞋",400);
myList.put("电脑",5000);
myList.put("手机",3500);

return myList;
}
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/10/22/other/2022-10-22-SQL\350\257\255\350\250\200\347\232\204\345\237\272\346\234\254\346\223\215\344\275\234/index.html" "b/2022/10/22/other/2022-10-22-SQL\350\257\255\350\250\200\347\232\204\345\237\272\346\234\254\346\223\215\344\275\234/index.html" new file mode 100644 index 000000000..7c6b07787 --- /dev/null +++ "b/2022/10/22/other/2022-10-22-SQL\350\257\255\350\250\200\347\232\204\345\237\272\346\234\254\346\223\215\344\275\234/index.html" @@ -0,0 +1,490 @@ +测试必会的sql基本操作 | Research • 呓语
加载头像

测试必会的sql基本操作

测试必会的sql基本操作

1、创建数据库
1
2
create database 数据库名;
create database 数据库名 character set 字符集;
+ +
2、查看全部的数据库
1
show databases;   
+ +

3、查看某个数据库的定义的信息:

+
1
show create database 数据库名;         
+ +
4、删除数据库
1
drop database 数据库名称;
+ +

5、切换数据库:

+
1
use 数据库名;
+ +

6、查看正在使用的数据库:

+
1
select database();          
+ +

7、查看数据库中的所有表:

+
1
show tables;
+ +

8、查看表结构:

+
1
desc 表名;    
+ +

9、修改表删除列.

+
1
alter table 表名 drop 列名;            
+ +

10、修改表名

+
1
rename table 表名 to 新表名;              
+ +

11、修改表的字符集

+
1
alter table 表名 character set 字符集;
+ +

12、数据类型与约束

+
    +
  • int :整数 有符号和无符号,长度不受限制
  • +
  • varchar:字符串 中文/数字/字母都是一字字符,受长度限制
  • +
  • decimal :小数 decimal(5,2)总长度5位,整数3位,小数2位
  • +
  • 主键 id :int unsigned primary key auto_increment
  • +
  • 非空 :not null
  • +
  • 唯一 :unique
  • +
  • 默认 :default
  • +
+

SQL中表的操作

1、创建表

1
create table 表名(字段名 类型 约束,.....)
+ +

2、删除表

1
2
drop table 表名
drop table if exists 表名
+ +

3、表数据操作

3.1、添加数据
1
2
insert into 表名 values(值1,值2...)给表中所有字段插入数据
insert into 表名(字段2,字段1values(值2,值1
+ +
3.2、修改数据
1
2
update 表名 set 字段1=1,字段2=2 where 条件
isdelete 逻辑删除
+ +
3.3、删除数据
1
delete from 表名 where 条件
+ +
3.4、查询数据
    +
  • 3.4.1、查询表中所有信息
    1
    select * from 表名 where 条件
    +
  • +
  • 3.4.2、查询表中指定字段
    1
    select 字段1,字段2,字段3...from 表名 where 条件
    +
  • +
  • 3.4.3、给字段取别名
    1
    select 字段1as) 别名,字段2 别名 from 表名 where 条件
    +
  • +
  • 3.4.4、去重
    1
    select distinct 字段 from 表名 where 条件
    +
  • +
  • 3.4.5、比较运算符
    1
    select * from 表名 where age>20
    +
  • +
  • 3.4.6、逻辑运算符
      +
    • and 满足所有条件

      +
    • +
    • or 满足其中任意一个条件

      +
    • +
    • not 不满足条件

      +
    • +
    +
  • +
  • 3.4.7、模糊查询
      +
    • like
    • +
    • % 0到任意多个字符
    • +
    • _表示任意一个字符
    • +
    +
  • +
  • 3.4.8、范围查询
      +
    • in 在一个非连续的范围内
    • +
    • between and 在一个连续的范围内 闭区间 小的数据在前
    • +
    +
  • +
  • 3.4.9、空查询
      +
    • is null
    • +
    • ‘’空字符串
    • +
    +
  • +
+
3.5、多表查询
    +
  • 3.5.1、排序

    +
    1
    2
    select * from 表名 where 条件 order by1asc|desc,列2 asc|desc
    select * from student where 条件 order by convert(字段 using gbk)asc|desc 纯中文转换后排序
    +
  • +
  • 3.5.2、聚合函数

    +
    1
    2
    3
    4
    5
    6
    count: 总数 select count(*/字段)from 表名 where 条件 
    max: 最大值 select max(age) from 表名 where 条件
    min: 最小值 select min(age) from 表名 where 条件
    avg: 平均值 select avg(grade) from 表名 where 条件
    sum: 求和 select sum(grade) from 表名 where 条件
    select avg(age)as 平均年龄,max(age)最大年龄,min(age)最小年龄 from 表名 where 条件
    +
  • +
  • 3.5.3、分组

    +
    1
    select * from 表名 group by 字段,字段2 having 条件
    +
  • +
  • 3.5.4、分页

    +
    1
    2
    select * from 表名 limit 05 从第一行数据开始,显示5
    select * from 表名 limit (n-1*m,m n代表第几页,m代表每页显示多少条数据
    +
  • +
  • 3.5.5、等值连接

    +
    1
    2
    3
    4
    方式一 :
    select * from1,表2,表3 where1.=2.and2.=3.where 条件
    方式二 内连接 取交集:
    select * from1 inner join2 on1.=2.inner join3 on2.=3.where 条件
    +
  • +
  • 3.5.6、左连接

    +
    +

    左边的表全显示,右边表能匹配的上的数据连接显示,匹配不上(没有的)以null补充

    +
    +
    1
    select * from1 left join2 on1.=2.left join3 on2.=3.where 条件
    +
  • +
  • 3.5.7、右连接

    +
    +

    右边的表全显示,左边表能匹配上的数据连接显示,匹配不上(没有的)以null补充

    +
    +
    1
    select * from1 right join2 on1.=2.right join3 on2.=3.where 条件
    +
  • +
  • 3.5.8、自关联

    +
    1
    select * from 表 别名1 inner join 表 别名2 on 别名1.aid=别名2.pid
    +
  • +
  • 3.5.9、子查询
      +
    • 标量子查询
    • +
    +
    +

    子查询结果输出的是一行一列

    +
    +
    1
    select * from student where age>(select avg(age) from student)
    + +
      +
    • 列子查询
    • +
    +
    +

    子查询的结果输出的是一列多行

    +
    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    in:  
    select * from student where age in
    (select age from student where age=18)

    any/some: >:大于最小的; <: 小于最大的
    select * from student where age>/< any
    (select age from student where age between 18 and 22)

    all: >:大于最大的; <: 小于最小的
    select * from student where age>/<all
    (select age from student where age between 18 and 22
    + +
      +
    • 行子查询
    • +
    +
    +

    子查询的结果输出的是一行多列

    +
    +
    1
    select * from student where(name,sex)=select name,sex from student where sex='男' order by age desc limit 1
    + +
      +
    • 表子查询
    • +
    +
    +

    子查询的输出结果是一个表

    +
    +
    1
    select * from scores inner joinselect cno from courses where cname in('数据库',‘系统测试’) as c on scores.cno=c.cno
  • +
+
3.6、数据分表
1
2
3
4
5
insert into goods_cate(cate_name) select distinct cate from goods;

create table goods_cate (id int unsigned primary key auto_incremen,cate varchar(10)) select distinct cate from goods;

update goods inner join goods_cate on goods_cate.cate=goods.cate set goods.cate=goods_cate.id
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/10/22/springboot/2022-10-22-\345\274\200\345\217\221\350\216\267\345\217\226\347\224\250\346\210\267\345\210\227\350\241\250\347\232\204post\350\257\267\346\261\202/index.html" "b/2022/10/22/springboot/2022-10-22-\345\274\200\345\217\221\350\216\267\345\217\226\347\224\250\346\210\267\345\210\227\350\241\250\347\232\204post\350\257\267\346\261\202/index.html" new file mode 100644 index 000000000..62ea16151 --- /dev/null +++ "b/2022/10/22/springboot/2022-10-22-\345\274\200\345\217\221\350\216\267\345\217\226\347\224\250\346\210\267\345\210\227\350\241\250\347\232\204post\350\257\267\346\261\202/index.html" @@ -0,0 +1,344 @@ +开发获取用户列表的Post接口 | Research • 呓语
加载头像

开发获取用户列表的Post接口

开发获取用户列表的Post接口

开发获取用户列表的post请求

开发添加人员信息时需要的字段数据

首先,写一个User类,这将是添加时的字段数据

+
1
2
3
4
5
6
7
8
@Data
public class User {
private String userName;
private String password;
private String name;
private String age;
private String sex;
}
+ +

然后开始写怎么获取用户列表,相当于添加用户

@RequestBody User u请求post接口时,在Body填写上传的数据

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@RequestMapping(value = "/getUserList", method = RequestMethod.POST)
@ApiOperation(value = "获取用户列表", httpMethod = "POST")
public String getUserList(HttpServletRequest request,
@RequestBody User u){
User user;
// 获取cookies
Cookie[] cookies= request.getCookies();
// 验证cookies是否合法
for(Cookie c:cookies){
if (c.getName().equals("login")
&& c.getValue().equals("true")
&& u.getUserName().equals("zhangsan")
&& u.getPassword().equals("123456")){
user = new User();
user.setName("lisi");
user.setAge("18");
user.setSex("man");
return user.toString();
}
}
return "参数不合法";
}
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/10/22/springboot/2022-10-22-\345\274\200\345\217\221\350\216\267\345\276\227cookie\347\232\204Post\347\231\273\345\275\225\346\216\245\345\217\243/index.html" "b/2022/10/22/springboot/2022-10-22-\345\274\200\345\217\221\350\216\267\345\276\227cookie\347\232\204Post\347\231\273\345\275\225\346\216\245\345\217\243/index.html" new file mode 100644 index 000000000..279837895 --- /dev/null +++ "b/2022/10/22/springboot/2022-10-22-\345\274\200\345\217\221\350\216\267\345\276\227cookie\347\232\204Post\347\231\273\345\275\225\346\216\245\345\217\243/index.html" @@ -0,0 +1,343 @@ +开发获得cookie的Post登录接口 | Research • 呓语
加载头像

开发获得cookie的Post登录接口

开发获得cookie的Post登录接口

开发获得cookie的Post登录接口

@RequestMapping(value = "/v1")的作用是把这个value和方法上的登录地址进行拼接,比如:/v1/login

+

@RestController标识该接口可以被托管

+

方法参数@RequestParam(value = "userName", required = true) String userName,代码中的required = true起到必填的作用

+

举个栗子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@RestController
@Api(value = "/", tags = {SwaggerConfig.TagPost})
@RequestMapping(value = "/v1")
public class MyPostMethod {

//这个变量用来装cookie信息的
private static Cookie cookie;

//用户登录成功获取到cookies,然后访问其他接口获取到列表
@RequestMapping(value = "/login",method = RequestMethod.POST)
@ApiOperation(value = "登录接口,成功后获取到cookies信息",httpMethod = "POST")
public String login(HttpServletResponse response,
@RequestParam(value = "userName", required = true) String userName,
@RequestParam(value = "password", required = true) String password){
if (userName.equals("zhangsan") && password.equals("123456")){
cookie = new Cookie("login","true");
response.addCookie(cookie);
return "恭喜你登录成功!";
}
return "用户名或密码错误!";

}
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/11/16/jmeter/2022-11-16-Jmeter\344\271\213\346\226\255\350\250\200/index.html" "b/2022/11/16/jmeter/2022-11-16-Jmeter\344\271\213\346\226\255\350\250\200/index.html" new file mode 100644 index 000000000..43ee188cb --- /dev/null +++ "b/2022/11/16/jmeter/2022-11-16-Jmeter\344\271\213\346\226\255\350\250\200/index.html" @@ -0,0 +1,388 @@ +Jmeter之断言和聚合报告 | Research • 呓语
加载头像

Jmeter之断言和聚合报告

Jmeter之断言和聚合报告

怎么对请求进行响应断言

    +
  • 右键 HTTP Request

    +
  • +
  • 点击add --> Assertions --> Response Assertion

    +
  • +
+

断言组件就添加成功

+

配置响应断言

Field to Test 下面就是断言的各种方法

+
    +
  • Text Response 文本断言
  • +
+
+

Patterns to Test输入title之间包含的文字,及配置成功

+
+
    +
  • Response Code 响应码断言
  • +
+
+

Patterns to Test输入响应码,比如 200

+
+
    +
  • Response Message
  • +
  • Request Headers
  • +
  • URL Sampled
  • +
  • Document(text)
  • +
  • Request Data
  • +
+

然后运行但并发压测,验证断言添加是否正确,在View Results Tree 中查看结果

+

怎么使用聚合报告

    +
  • 右键 Thread Group

    +
  • +
  • 点击 Add --> Listener --> Aggregate Report

    +
  • +
+

聚合报告就添加了

+

性能指标解读

    +
  • Average: 单个请求的平均响应时间
  • +
  • Median: 中位数,也就是50%用户的响应时间
  • +
  • 90%Line: 90%用户的响应时间
  • +
  • 95%Line: 95%用户的响应时间
  • +
  • 99%Line: 99%用户的响应时间
  • +
  • Min: 最小的请求响应时间
  • +
  • Max: 最大的请求响应时间
  • +
  • Error%: 错误率
  • +
  • Throughput: 吞吐量
  • +
  • Received KB/sec: 每秒从服务器接收到的数据量
  • +
  • Sent KB/sec: 每秒从客户端发送的请求的数量
  • +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/11/17/jmeter/2022-11-17-jmeter\346\200\216\344\271\210\350\204\261\347\246\273UI\350\277\233\350\241\214\345\216\213\346\265\213/index.html" "b/2022/11/17/jmeter/2022-11-17-jmeter\346\200\216\344\271\210\350\204\261\347\246\273UI\350\277\233\350\241\214\345\216\213\346\265\213/index.html" new file mode 100644 index 000000000..4ecc23ad0 --- /dev/null +++ "b/2022/11/17/jmeter/2022-11-17-jmeter\346\200\216\344\271\210\350\204\261\347\246\273UI\350\277\233\350\241\214\345\216\213\346\265\213/index.html" @@ -0,0 +1,345 @@ +Jmeter之静默压测 | Research • 呓语
加载头像

Jmeter之静默压测

Jmeter之静默压测

静默压测

+

jmeter -n -t $jmx_file -l $jtl_file

+
+

如: jmeter -n -t HTTP代理服务器luzhi.jmx -l result.jtl

+

jmx: Jmeter压测程序脚本文件
jtl: Jmeter压测请求响应数据的原始文件,查看结果树和聚合报告可以导入该文件查看

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
文章目录
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/18/jmeter/2022-11-18-Jmeter\344\271\213json\346\225\260\346\215\256\346\217\220\345\217\226\345\222\214\345\217\202\346\225\260\344\274\240\351\200\222/index.html" "b/2022/11/18/jmeter/2022-11-18-Jmeter\344\271\213json\346\225\260\346\215\256\346\217\220\345\217\226\345\222\214\345\217\202\346\225\260\344\274\240\351\200\222/index.html" new file mode 100644 index 000000000..b24667ae6 --- /dev/null +++ "b/2022/11/18/jmeter/2022-11-18-Jmeter\344\271\213json\346\225\260\346\215\256\346\217\220\345\217\226\345\222\214\345\217\202\346\225\260\344\274\240\351\200\222/index.html" @@ -0,0 +1,361 @@ +Jmeter之json数据提取和参数传递 | Research • 呓语
加载头像

Jmeter之json数据提取和参数传递

Jmeter之json数据提取和参数传递

安装组件JSON Extractor

    +
  • 右键Http Request
  • +
  • 点击Add -> Post Processors -> JSON Extractor
  • +
+

组件安装成功

+

组件配置

    +
  • Names of created variables : 参数变量名称,提取出来的json使用这个变量
  • +
  • Json Path expressions : JSON提取的正则 比如:$.access_token这个是提取response里面的token
  • +
  • Match NO.(0 for Random):这个是写提取出json的第几条, 比如使用正则能匹配多条,使用这个输入数字就可以匹配对应的
  • +
+
引用json变量
    +
  • Jmeter中引用变量的方法${变量名}
  • +
+

调试脚本 Debug Sampler

+

帮助检查变量值,调试脚本

+
+
    +
  • 右键Thread Group
  • +
  • 点击Add -> Sampler -> Debug Sampler
  • +
+

注意:把Debug放到所有请求的最底下,运行的后可以查看变量参数,方便调试

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/11/18/jmeter/2022-11-18-jmeter\344\271\213\345\205\250\345\261\200\345\217\202\346\225\260\350\256\276\347\275\256\345\222\214csv\346\225\260\346\215\256\345\257\274\345\205\245/index.html" "b/2022/11/18/jmeter/2022-11-18-jmeter\344\271\213\345\205\250\345\261\200\345\217\202\346\225\260\350\256\276\347\275\256\345\222\214csv\346\225\260\346\215\256\345\257\274\345\205\245/index.html" new file mode 100644 index 000000000..eeb439565 --- /dev/null +++ "b/2022/11/18/jmeter/2022-11-18-jmeter\344\271\213\345\205\250\345\261\200\345\217\202\346\225\260\350\256\276\347\275\256\345\222\214csv\346\225\260\346\215\256\345\257\274\345\205\245/index.html" @@ -0,0 +1,376 @@ +Jmeter之全局参数设置和csv数据导入 | Research • 呓语
加载头像

Jmeter之全局参数设置和csv数据导入

Jmeter之全局参数设置和csv数据导入

全局参数设置

添加组件
    +
  • 右键Thread Group
  • +
  • 点击Add -> Config Element -> User Defined Variables
  • +
+
添加对应的变量
    +
  • hostname:localhost
  • +
  • port:9090
  • +
  • protocol:http
  • +
+

然后再请求参数中使用对应的参数变量名

+
    +
  • ${hostname}
  • +
  • ${port}
  • +
  • ${protocol}
  • +
+

csv数据导入

创建csv文件
    +
  • 使用Excel创建csv文件
  • +
  • csv数据之间使用英文逗号来分割
  • +
  • 保存成.csv文件
  • +
+
添加csv导入组件
    +
  • 右键Thread Group
  • +
  • 点击Add -> Config Element -> CSV Data Set Config
  • +
+
配置
    +
  • Filename:文件位置
  • +
  • File encoding:编码格式
  • +
  • Variable Names(comma-delimited):数据参数 如:no,username,password
  • +
  • lgnore first lline (only user if Variable Names is not empty):是否忽略第一行(表头)
  • +
  • Delimiter(use "\t" for tab):分隔符
  • +
  • Allow quoted data?:是否允许双引号括住数据
  • +
  • Recycle on EOF?:到了文件结尾是否循环
  • +
  • Stop thread on EOF?:到了文件结尾是否停止
  • +
  • Sharinng mode:共享模式
  • +
+

注意:把请求的参数修改为:${变量}

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/11/19/jmeter/2022-11-14-jmeter\350\207\252\345\212\250\345\214\226\345\216\213\345\212\233\346\265\213\350\257\225/index.html" "b/2022/11/19/jmeter/2022-11-14-jmeter\350\207\252\345\212\250\345\214\226\345\216\213\345\212\233\346\265\213\350\257\225/index.html" new file mode 100644 index 000000000..4f5223414 --- /dev/null +++ "b/2022/11/19/jmeter/2022-11-14-jmeter\350\207\252\345\212\250\345\214\226\345\216\213\345\212\233\346\265\213\350\257\225/index.html" @@ -0,0 +1,345 @@ +jmeter自动化压力测试 | Research • 呓语
加载头像

jmeter自动化压力测试

jmeter自动化压力测试

思路

    +
  • jmeter脚本实现压测逻辑
  • +
  • Shell控制逻辑
  • +
  • 使用jmeter进行静默压测
  • +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
文章目录
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/20/jmeter/2022-11-20-jmeter\345\257\271\346\225\260\346\215\256\345\272\223\346\225\260\346\215\256\350\277\233\350\241\214\345\242\236\345\210\240\346\224\271\346\237\245/index.html" "b/2022/11/20/jmeter/2022-11-20-jmeter\345\257\271\346\225\260\346\215\256\345\272\223\346\225\260\346\215\256\350\277\233\350\241\214\345\242\236\345\210\240\346\224\271\346\237\245/index.html" new file mode 100644 index 000000000..fdd370673 --- /dev/null +++ "b/2022/11/20/jmeter/2022-11-20-jmeter\345\257\271\346\225\260\346\215\256\345\272\223\346\225\260\346\215\256\350\277\233\350\241\214\345\242\236\345\210\240\346\224\271\346\237\245/index.html" @@ -0,0 +1,378 @@ +jmeter对数据库进行增删改查 | Research • 呓语
加载头像

jmeter对数据库进行增删改查

jmeter对数据库进行增删改查

环境

    +
  • jmeter版本(5.1.1)
  • +
  • mysql-connector-java-8.0.15.jar
  • +
+

mysql.jar放在jmeter的lib目录下

+

配置

连接配置组件

    +
  • 右键Thread Group
  • +
  • 点击Add -> Config Element -> JDBC Connection Configuration
  • +
+

参数配置

    +
  • ==Varianle Name for created pool==:db_connnection_pool # 连接池名称
  • +
  • ==Validation Query==:select 1
  • +
  • ==Database URL==:jdbc:mysql://8.142.144.75:3306/jmeter_class?alloMultiQueries = true&useSSL=false
  • +
  • ==JDBC Driver class==:选择com.mysql.jbc.Driver
  • +
  • 输入username
  • +
  • 输入password
  • +
+

Jmeter数据库JDBC请求

    +
  • 右键Thread Group
  • +
  • 点击Add -> Sampler -> JDBC Request
  • +
+
配置介绍

Variable Name Bound to Pool: 配置参数区
SQL Query:sql语句区
其他:变量配置区

+
举个栗子:通过Insert语句,向数据库添加测试数据
    +
  • JDBC Connection Configuration: db_connnection_pool #输入连接池名称
  • +
  • Query Type:选择Prepared Updata Statement
  • +
  • Quert:输入sql语句
  • +
+
1
INSERT INTO jmeter_class.user (`username`,`password`) VALUES(?,?)
+
    +
  • Paeameter values:testuser,aaaaaa
  • +
  • Paeameter types:varchar,varchar
  • +
  • Query timeout(s):6
  • +
  • 添加查看结果树
  • +
  • 运行
  • +
+

运行结果ResponseBody:

+
1
1 updates.
+

这就配置成功

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git a/2022/11/28/moko/2022-11-28-moko/index.html b/2022/11/28/moko/2022-11-28-moko/index.html new file mode 100644 index 000000000..c3802a00c --- /dev/null +++ b/2022/11/28/moko/2022-11-28-moko/index.html @@ -0,0 +1,344 @@ +使用moko编写测试接口(无) | Research • 呓语
加载头像

使用moko编写测试接口(无)

使用moko编写测试接口(无)

测试

测试

测试moko


+

测试

+

🐱

+

❄️

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231Get\345\222\214Post\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\272\214\357\274\211/index.html" "b/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231Get\345\222\214Post\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\272\214\357\274\211/index.html" new file mode 100644 index 000000000..146884bc5 --- /dev/null +++ "b/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231Get\345\222\214Post\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\272\214\357\274\211/index.html" @@ -0,0 +1,350 @@ +使用moko编写Get和Post测试接口(二) | Research • 呓语
加载头像

使用moko编写Get和Post测试接口(二)

使用moko编写Get和Post测试接口(二)

上一节已经写了规则,这次直接来编写Get和Post请求

+

模拟一个没有参数的get请求

+
1
2
3
4
5
6
7
8
9
10
{
"description": "模拟一个没有参数的get请求",
"request": {
"uri": "/getdemo",
"method": "get"
},
"response": {
"text": "这是一个没有参数的get请求"
}
}
+

模拟一个带参数的请求

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"description": "模拟一个带参数的请求",
"request": {
"uri": "getwithparam",
"method": "get",
"queries": {
"name": "胡汉三",
"age": "18"
}
},
"response": {
"text": "我胡汉三又回来了!!!!!"
}
}
+ +

模拟一个Post请求

+
1
2
3
4
5
6
7
8
9
10
{
"description": "模拟一个Post请求",
"request": {
"uri": "/postdemo",
"method": "post"
},
"response": {
"text": "这是我的第一个mosk的post请求"
}
}
+ +

这是一个带参数的post请求

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"description": "这是一个带参数的post请求",
"request": {
"uri": "/postwithparam",
"method": "post",
"forms": {
"name": "胡汉三",
"sex": "男人"
}
},
"response": {
"text": "我胡汉三带着参数来了!!!!"
}
}
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\345\214\205\345\220\253cookie\344\277\241\346\201\257\347\232\204\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\270\211\357\274\211/index.html" "b/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\345\214\205\345\220\253cookie\344\277\241\346\201\257\347\232\204\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\270\211\357\274\211/index.html" new file mode 100644 index 000000000..babd94349 --- /dev/null +++ "b/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\345\214\205\345\220\253cookie\344\277\241\346\201\257\347\232\204\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\270\211\357\274\211/index.html" @@ -0,0 +1,347 @@ +使用moko编写包含cookie信息的测试接口(二) | Research • 呓语
加载头像

使用moko编写包含cookie信息的测试接口(二)

使用moko编写包含cookie信息的测试接口(二)

上一节已经写了规则,这次直接来编写Get和Post请求

+

这是一个会返回cookie的get请求

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"description": "这是一个会返回cookie的get请求",
"request": {
"uri": "/getCookies",
"method": "get"
},
"response": {
"cookies": {
"login": "true"
},
"text": "恭喜你获得cookies信息成功",
"status": 200,
"msg": "成功"
}
}
+ +

这是一个携带cookies信息的get请求

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"description": "这是一个带cookies信息的get请求",
"request": {
"uri": "/get/with/cookies",
"method": "get",
"cookies": {
"login": "true"
}
},
"response": {
"text": "这是一个需要携带cookies信息才能访问的get请求"
}
}
+ +

这是一个携带cookies信息的post请求

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"description": "这是一个带cookies信息的post请求",
"request": {
"uri": "/post/with/cookies",
"method": "post",
"cookies": {
"login": "true"
},
"json": {
"name": "huhansan",
"age": "18"
}
},
"response": {
"status": 200,
"json": {
"huhansan": "success",
"status": "1"
}
}
}
+ +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\270\200\357\274\211/index.html" "b/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\270\200\357\274\211/index.html" new file mode 100644 index 000000000..da9e28eb2 --- /dev/null +++ "b/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\270\200\357\274\211/index.html" @@ -0,0 +1,365 @@ +使用moko编写测试接口(一) | Research • 呓语
加载头像

使用moko编写测试接口(一)

使用moko编写测试接口(一)

编写规则

    +
  • []包裹着以{}包起来的接口脚本

    +
  • +
  • description:接口简介

    +
  • +
  • request:使用{}包含接口的请求信息

    +
      +
    • uri:接口的地址名称
    • +
    • method:请求方法
    • +
    • queries:get请求参数
    • +
    • forms:post请求参数
    • +
    • headers:请求头信息
    • +
    +
  • +
  • response:返回的数据,使用{}

    +
      +
    • text:返回的文字数据
    • +
    • cookies:返回的cookie信息
    • +
    • status:返回的响应码
    • +
    +
  • +
+

举个栗子demo

+
1
2
3
4
5
6
7
8
9
10
11
[
{
"description": "这是我们的第一个mock栗子",
"request": {
"uri": "/demo"
},
"response": {
"text": "第一个mock响应demo"
}
}
]
+

get请求demo

+
1
2
3
4
5
6
7
8
9
10
11
12
[
{
"description": "接口的get请求",
"request": {
"uri": "/#/test/xml",
"method": "get"
},
"response": {
"text": "get请求接口"
}
}
]
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
文章目录
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\272\224\357\274\211/index.html" "b/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\272\224\357\274\211/index.html" new file mode 100644 index 000000000..b510a9015 --- /dev/null +++ "b/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\344\272\224\357\274\211/index.html" @@ -0,0 +1,341 @@ +使用moko编写测试接口(五) | Research • 呓语
加载头像

使用moko编写测试接口(五)

使用moko编写测试接口(五)

下载jar包

点击moke选择版本进行下载,我下载的的是moco-runner-0.11.0-standalone.jar

+

使用命令启动测试脚本

1
java -jar jar包的存放路径 http -p 端口 -c json文件路径
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\351\207\215\345\256\232\345\220\221\347\232\204\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\345\233\233\357\274\211/index.html" "b/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\351\207\215\345\256\232\345\220\221\347\232\204\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\345\233\233\357\274\211/index.html" new file mode 100644 index 000000000..56e94812d --- /dev/null +++ "b/2022/11/28/moko/2022-11-28-\344\275\277\347\224\250moko\347\274\226\345\206\231\351\207\215\345\256\232\345\220\221\347\232\204\346\265\213\350\257\225\346\216\245\345\217\243\357\274\210\345\233\233\357\274\211/index.html" @@ -0,0 +1,345 @@ +使用moko编写重定向测试接口(四) | Research • 呓语
加载头像

使用moko编写重定向测试接口(四)

使用moko编写重定向测试接口(四)

上一节已经写了规则,这次直接来编写Get和Post请求

+

重定向的测试接口

    +
  • 使用了redirectTo:目标地址
  • +
+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[
{
"description": "重定向到百度",
"request": {
"uri": "/redirect"
},
"redirectTo": "http://www.baidu.com"
},
{
"description": "重定向到自己的网页上",
"request": {
"uri": "/redirect/topath"
},
"redirectTo": "/redirect/new"
},
{
"description": "这是被重定到的请求",
"request": {
"uri": "/redirect/new"
},
"response": {
"text": "重定向成功了"
}
}
]
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/29/jmeter/2022-11-29-Constant Timer\345\256\232\346\227\266\345\231\250/index.html" "b/2022/11/29/jmeter/2022-11-29-Constant Timer\345\256\232\346\227\266\345\231\250/index.html" new file mode 100644 index 000000000..29c258084 --- /dev/null +++ "b/2022/11/29/jmeter/2022-11-29-Constant Timer\345\256\232\346\227\266\345\231\250/index.html" @@ -0,0 +1,343 @@ +Constant Timer定时器 | Research • 呓语
加载头像

Constant Timer定时器

Constant Timer定时器

作用

就是loadrunner上面的思考时间,就是模拟真实用户操作过程的等待时间

+

生效范围

定时器的父节点和子节点,如果想让一个请求强制停止一段时间,就把定时器放在这个请求的下面

+

单位是以ms为单位,1s=1000ms

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/29/jmeter/2022-11-29-Loop Controller\346\216\247\345\210\266\345\231\250/index.html" "b/2022/11/29/jmeter/2022-11-29-Loop Controller\346\216\247\345\210\266\345\231\250/index.html" new file mode 100644 index 000000000..f46502d0a --- /dev/null +++ "b/2022/11/29/jmeter/2022-11-29-Loop Controller\346\216\247\345\210\266\345\231\250/index.html" @@ -0,0 +1,345 @@ +循环控制器Loop Controller | Research • 呓语
加载头像

循环控制器Loop Controller

循环控制器Loop Controller

作用

指定子节点运行的次数,使用变量或数值进行控制

+
    +
  • Infinite:表示一直循环
  • +
  • 如果同时设置线程组循环次数和循环控制器的循环次数,那控制器子节点运行的次数为两个数值相乘的结果
  • +
+

添加

头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
文章目录
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git a/2022/11/29/jmeter/2022-11-29-Modeule Controller/index.html b/2022/11/29/jmeter/2022-11-29-Modeule Controller/index.html new file mode 100644 index 000000000..f52a20790 --- /dev/null +++ b/2022/11/29/jmeter/2022-11-29-Modeule Controller/index.html @@ -0,0 +1,340 @@ +Modeule Controller和Include Controller | Research • 呓语
加载头像

Modeule Controller和Include Controller

Modeule Controller和Include Controller

Modeule Controller介绍

头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/29/jmeter/2022-11-29-Random Controller\346\216\247\345\210\266\345\231\250/index.html" "b/2022/11/29/jmeter/2022-11-29-Random Controller\346\216\247\345\210\266\345\231\250/index.html" new file mode 100644 index 000000000..1017cdda9 --- /dev/null +++ "b/2022/11/29/jmeter/2022-11-29-Random Controller\346\216\247\345\210\266\345\231\250/index.html" @@ -0,0 +1,347 @@ +随机控制器Random Controller和Random Order Controller | Research • 呓语
加载头像

随机控制器Random Controller和Random Order Controller

随机控制器Random Controller和Random Order Controller

作用

    +
  • Random Controller:控制器子节点随机运行一个请求
      +
    • lgnore sub-controller blocks:忽略子控制器块
    • +
    +
  • +
  • Random Order Controller:控制器子节点随机运行全部请求
  • +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
文章目录
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/29/jmeter/2022-11-29-Simple Controller\346\216\247\345\210\266\345\231\250/index.html" "b/2022/11/29/jmeter/2022-11-29-Simple Controller\346\216\247\345\210\266\345\231\250/index.html" new file mode 100644 index 000000000..39d7ea593 --- /dev/null +++ "b/2022/11/29/jmeter/2022-11-29-Simple Controller\346\216\247\345\210\266\345\231\250/index.html" @@ -0,0 +1,341 @@ +逻辑控制器Simple Controller | Research • 呓语
加载头像

逻辑控制器Simple Controller

逻辑控制器Simple Controller

作用

把多个请求放入Simple Controller,可以多个请求进行同时操作

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
文章目录
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/29/jmeter/2022-11-29-Transcation Controller\346\216\247\345\210\266\345\231\250/index.html" "b/2022/11/29/jmeter/2022-11-29-Transcation Controller\346\216\247\345\210\266\345\231\250/index.html" new file mode 100644 index 000000000..4fc6642d3 --- /dev/null +++ "b/2022/11/29/jmeter/2022-11-29-Transcation Controller\346\216\247\345\210\266\345\231\250/index.html" @@ -0,0 +1,362 @@ +事务控制器Transcation Controller | Research • 呓语
加载头像

事务控制器Transcation Controller

事务控制器Transcation Controller

作用

一个事务会包含并请求,然后查看一个事务的QPS等性能指标

+

指标

QPS:每秒处理完请求的次数,具体指1s内发出请求到服务器处理完成并返回结果的次数

+

TPS:每秒处理完的事务次数,一般TPS是对整个系统来讲的,一个应用系统1s能完成多少事务处理,一个事务在分布式处理中,可能对应多个请求,对于衡量单个接口服务的处理能力,一般使用QPS

+

参数

    +
  • Generate Parent sample:生成父样例,就是控制器里面的请求不展示
  • +
+

没有选中Generate Parent sample,运行后的结果是

+
+ +
+
+ +
+选中后`Generate Parent sample`,运行后的结果是 +
+ +
+
+ +
+ + +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/29/jmeter/2022-11-29-if Controller\346\216\247\345\210\266\345\231\250/index.html" "b/2022/11/29/jmeter/2022-11-29-if Controller\346\216\247\345\210\266\345\231\250/index.html" new file mode 100644 index 000000000..84dbdd62d --- /dev/null +++ "b/2022/11/29/jmeter/2022-11-29-if Controller\346\216\247\345\210\266\345\231\250/index.html" @@ -0,0 +1,340 @@ +逻辑控制器If Controller | Research • 呓语
加载头像

逻辑控制器If Controller

引用到评论
\ No newline at end of file diff --git "a/2022/11/30/jmeter/2022-11-30-Constant Throughput Timer\345\256\232\346\227\266\345\231\250/index.html" "b/2022/11/30/jmeter/2022-11-30-Constant Throughput Timer\345\256\232\346\227\266\345\231\250/index.html" new file mode 100644 index 000000000..618c1f7b7 --- /dev/null +++ "b/2022/11/30/jmeter/2022-11-30-Constant Throughput Timer\345\256\232\346\227\266\345\231\250/index.html" @@ -0,0 +1,352 @@ +Constant Throughput Timer定时器 | Research • 呓语
加载头像

Constant Throughput Timer定时器

Constant Throughput Timer定时器

作用

限制整个运行过程中的生成的吞吐量不要超过某一个值,防止压死系统

+

参数

    +
  • Target throughput(in samples per minute):目标吞吐量,指的是每分钟发送的请求数,对应测试要求的20 QPS,这里应该输入1200
  • +
  • Calculate Throughput based on:有5个选项
      +
    • This Thread only:控制每个线程的吞吐量,这个模式的作用是:总的吞吐量=Target throughput * 线程的数量
    • +
    • All active threads:设置的Target throughput将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理时间后再次运行。活跃线程指的是同一时刻同时运行的线程
    • +
    • All active threads in current thread group:设置的`Target throughput将分配在当前线程祖的每一个活跃线程上,当测试计划只有一个线程组,这个模式作用和All active threads一样
    • +
    • All active threads(shared):与All active threads选项基本一致,唯一区别是,每一个活跃线程都会在所有活跃线程上一次运行结束后等待合理时间再次运行
    • +
    • All active threads in current thread group(shared):与All active threads in current thread group选项基本一致,唯一区别是,每个活跃线程都会在所有活跃线程的上一次运行结束等待合理的时间后再次运行
    • +
    +
  • +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
文章目录
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/30/jmeter/2022-11-30-Gaussian Random Timer\345\256\232\346\227\266\345\231\250/index.html" "b/2022/11/30/jmeter/2022-11-30-Gaussian Random Timer\345\256\232\346\227\266\345\231\250/index.html" new file mode 100644 index 000000000..2230752df --- /dev/null +++ "b/2022/11/30/jmeter/2022-11-30-Gaussian Random Timer\345\256\232\346\227\266\345\231\250/index.html" @@ -0,0 +1,346 @@ +Gaussian Random Timer定时器 | Research • 呓语
加载头像

Gaussian Random Timer定时器

Gaussian Random Timer定时器

作用

生成随机等待时间

+

参数

    +
  • Deviation(in milliseconds) :高斯定时器参数,随机的
  • +
  • Constant Delay Offset(in milliseconds):固定等待时长
  • +
+

生成的时长是Deviation + Constant Delay Offset

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
文章目录
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/30/jmeter/2022-11-30-\345\220\216\347\275\256\345\244\204\347\220\206\345\231\250\344\271\213\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217\345\244\204\347\220\206\345\231\250/index.html" "b/2022/11/30/jmeter/2022-11-30-\345\220\216\347\275\256\345\244\204\347\220\206\345\231\250\344\271\213\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217\345\244\204\347\220\206\345\231\250/index.html" new file mode 100644 index 000000000..16a3b2714 --- /dev/null +++ "b/2022/11/30/jmeter/2022-11-30-\345\220\216\347\275\256\345\244\204\347\220\206\345\231\250\344\271\213\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217\345\244\204\347\220\206\345\231\250/index.html" @@ -0,0 +1,349 @@ +Regular Expression Extractor正则表达式处理器 | Research • 呓语
加载头像

Regular Expression Extractor正则表达式处理器

Regular Expression Extractor正则表达式处理器

正则表达式规则

    +
  • ():括起来的部分是要提取的
  • +
  • .:匹配任何字符串
  • +
  • +:一次或多次
  • +
  • ?:在找到第一个匹配项后停止
  • +
+

模板

用$$引用起来,如果正则表达式中有多个正则表达式,可以是$3$$2$等,表示解析到的第几个值给title,$1$表示第一个

+

匹配数字

0代表随机,1代表全部取值,通常使用0

+

缺省值

若参数没有取到值,那默认给一个值让他取

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/11/30/jmeter/2022-12-1-Groovy\347\274\226\345\206\231\346\226\271\346\263\225/index.html" "b/2022/11/30/jmeter/2022-12-1-Groovy\347\274\226\345\206\231\346\226\271\346\263\225/index.html" new file mode 100644 index 000000000..e93b8741e --- /dev/null +++ "b/2022/11/30/jmeter/2022-12-1-Groovy\347\274\226\345\206\231\346\226\271\346\263\225/index.html" @@ -0,0 +1,361 @@ +Groovy编写方法 | Research • 呓语
加载头像

Groovy编写方法

Groovy编写方法

关键字:

    +
  • **log**:写入信息到jmeterlog文件,使用方法:log.info(*Thisisloginfo
  • +
  • **ctx**:该变量引用了当前线程的上下文,使用方法可参考:org.apache.imeter.threads.JMeterContext。
  • +
  • vars-(JMeterVariables):操作imeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁,
    常用方法:
      +
    • a)vars.get(Stringkey):从imeter中获得变量值
    • +
    • b)vars.put(Stringkey,Stringvalue):数据存到imeter变量中
      更多方法可参考:org.apache.imeter.threads.JMeterVariables
    • +
    +
  • +
  • props-(JMeterProperties-classjava.util.Properties):操作imeter属性,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是只能put进去String类型的值,而不能是一个对象。
    对应于iava.util.Properties。
      +
    • a)props.get(“START.HMS”); 注:START.HMS为属性名,在文件imeter.properties中定义
    • +
    • b)props.put(“PROP1”,”1234”);
    • +
    +

    +
  • +
  • prey-(SampleResult):获取前面的sample返回的信息,
    常用方法:
      +
    • a)getResponseDataAsString():获取响应信息
    • +
    • b)getResponseCode():获取响应code
      更多方法可参考:org.apache.imeter.samplers.SampleResult
    • +
    +
  • +
  • sampler-(Sampler):gives access to the current sampler
  • +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
文章目录
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/30/jmeter/jmeter_plugins/2022-12-07-Arrivals Thread Group\347\232\204\344\275\277\347\224\250/index.html" "b/2022/11/30/jmeter/jmeter_plugins/2022-12-07-Arrivals Thread Group\347\232\204\344\275\277\347\224\250/index.html" new file mode 100644 index 000000000..2d3143a88 --- /dev/null +++ "b/2022/11/30/jmeter/jmeter_plugins/2022-12-07-Arrivals Thread Group\347\232\204\344\275\277\347\224\250/index.html" @@ -0,0 +1,355 @@ +Arrivals Thread Group的使用 | Research • 呓语
加载头像

Arrivals Thread Group的使用

Arrivals Thread Group的使用

前提

    +
  • 安装插件,下载Custom Thread Groupsan插件

    +
  • +
  • 添加Arrivals Thread Group

    +
  • +
+

配置

    +
  • Target Rate (arrivals/sec) : 相当于QPS, 输入10就是10QPS
  • +
  • Ramp Up Time (sec) : 在多少秒内达到最大的QPS,4代表在4秒内获得最大的QPS
  • +
  • Ramp-Up Steps Count : 代表并发数,4代表实现4次的并发
  • +
  • Hold Target Rate Time (sec) : 对系统压多长时间就输入多长时间 ,10代表压上10s
  • +
  • Concurrency Limit : 最大启动多少线程,100代表最多启动100线程
  • +
+
+ +
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
文章目录
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/11/30/jmeter/jmeter_plugins/2022-12-07-Ultimate Thread Group\347\232\204\344\275\277\347\224\250/index.html" "b/2022/11/30/jmeter/jmeter_plugins/2022-12-07-Ultimate Thread Group\347\232\204\344\275\277\347\224\250/index.html" new file mode 100644 index 000000000..7a33fff8a --- /dev/null +++ "b/2022/11/30/jmeter/jmeter_plugins/2022-12-07-Ultimate Thread Group\347\232\204\344\275\277\347\224\250/index.html" @@ -0,0 +1,356 @@ +Ultimate Thread Group的使用 | Research • 呓语
加载头像

Ultimate Thread Group的使用

Ultimate Thread Group的使用

前提

    +
  • 安装插件,下载Custom Thread Groupsan插件

    +
  • +
  • 添加Ultimate Thread Group

    +
  • +
+

配置

    +
  • Start Threads Count : 线程数
  • +
  • Initial Delay,sec : 线程延迟启动,0指的是立即启动;5代表五秒后启动
  • +
  • Startup Time,sec : 线程及时启动,0代表立即启动,5代表五秒之内启动完成
  • +
  • Hold Load For,sec : 启动后运行的时间,120代表运行120秒
  • +
  • Shutdown Time : 代表运行结束后停止的时间,0代表运行结束后立即停止,5代表运行结束后五秒内停止
  • +
+
+ +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
文章目录
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/12/01/project/2022-12-1-\346\220\255\345\273\272\347\241\254\344\273\266\346\200\247\350\203\275\347\233\221\346\216\247\345\271\263\345\217\260/index.html" "b/2022/12/01/project/2022-12-1-\346\220\255\345\273\272\347\241\254\344\273\266\346\200\247\350\203\275\347\233\221\346\216\247\345\271\263\345\217\260/index.html" new file mode 100644 index 000000000..23a4d18ef --- /dev/null +++ "b/2022/12/01/project/2022-12-1-\346\220\255\345\273\272\347\241\254\344\273\266\346\200\247\350\203\275\347\233\221\346\216\247\345\271\263\345\217\260/index.html" @@ -0,0 +1,370 @@ +硬件性能监控平台 | Research • 呓语
加载头像

硬件性能监控平台

硬件性能监控平台

拉取prometheus镜像

1
docker pull prom/prometheus
+

创建prometheus容器并启动

1
docker run -itd --name=docker_prometheus --restart=always -p 3090:9090 -v /opt/prometheus:/ prom/prometheus
+

验证

+

通过浏览器访问http://ip:3090进行访问

+

方法一:服务器上直接安装node_export

首先,用浏览器访问:node_export 下载,然后上传到被监控的服务器并解压
进入解压文件夹,直接启动./node_exporter

+

方法二:拉取docker node_export镜像

1
docker pull prom/node-exporter
+ +

创建node_export容器并启动

1
2
3
4
5
6
7
docker run -itd --name=node-exporter \
--restart=always \
-p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
prom/node-exporter
+ +

验证

+

在浏览器访问http://ip:9100/metrics进行访问

+

配置prometheus + node_export

node_export的作用收集硬件数据

+

使用vim修改yum文件容器内:/etc/prometheus/prometheus.yml

+
1
2
3
4
5
6
7
8
9
10
11
12
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
labels:
instance: prometheus

- job_name: linux
static_configs:
- targets: ['被监控的服务器ip:9100']
labels:
instance: localhost
+ +

重启prometheus容器

1
docker restart docker_prometheus
+ +

配置Grafana

使用Grafana下载版本

+

配置数据源

    +
  • 数据源:选择prometheus

    +
  • +
  • URL输入http://prometheus机器ip:3090

    +
  • +
  • 点击Save & Test保存

    +
  • +
+

添加仪表盘

使用官方仪表盘进行下载仪表盘
导入仪表盘
import via grafana.com输入框输入模板ID12884

+

ID:12633也可以使用。

+

点击 load,然后底部选择刚弄的数据源,点击import

+

注意:
点击json下载12884的json文件

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/12/07/java/2022-12-07-\345\214\205\350\243\205\347\261\273/index.html" "b/2022/12/07/java/2022-12-07-\345\214\205\350\243\205\347\261\273/index.html" new file mode 100644 index 000000000..6cee0179d --- /dev/null +++ "b/2022/12/07/java/2022-12-07-\345\214\205\350\243\205\347\261\273/index.html" @@ -0,0 +1,428 @@ +包装类 | Research • 呓语
加载头像

包装类

包装类

    +
  • 基本数据类型对应的包装类
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
基本数据类型包装类大小(字节)
byteByte1–(-128~127)
shortShort2–(-32768~32767)
intInteger4
longLong8
floatFloat4
doubleDouble8
charCharacter2
booleanBoolean1
+

包装类方法

    +
  • Integer的作用主要是对int、Integer、String几种类型的数据进行转换,还能获取一些常量
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
方法描述
compareTo()用于将对象与方法的参数进行比较(相同类型)
decode()将方法的参数转为包装类对象
equals()判断对象是否与参数相等
Integer.parseInt(“字符串’)将字符串转为Int类型
Integer.toString(int数据)将Int类型转为字符串
+

compareTo()方法

    +
  • 如果指定的数与参数相等返回 0。
  • +
  • 如果指定的数小于参数返回 -1。
  • +
  • 如果指定的数大于参数返回 1。
  • +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/12/07/java/2022-12-07-\345\255\227\347\254\246\344\270\262/index.html" "b/2022/12/07/java/2022-12-07-\345\255\227\347\254\246\344\270\262/index.html" new file mode 100644 index 000000000..9f0ff69d1 --- /dev/null +++ "b/2022/12/07/java/2022-12-07-\345\255\227\347\254\246\344\270\262/index.html" @@ -0,0 +1,380 @@ +字符串 | Research • 呓语
加载头像

字符串

字符串

字符串的方法

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
方法描述
str.concat()将参数拼接到字符串上
trim()去除字符串两端的字符串,不能去除中间
replace(oldChar, newChar)将字符串的old参数替换为new参数
length()返回此字符串的长度
isEmpty()判断字符串是否为空
+

concat()方法

    +
  • 返回字符串类型
  • +
  • 字符串在后面拼接
    1
    2
    3
    String str = "床前明月光";
    String str1 = str.concat("疑是地上霜。");
    System.out.println(str1);
  • +
+

trim()方法

1
2
3
String str = "    床  前明   月光   ";
String str1 = str.trim();
System.out.println(str1);
+

replace(oldChar, newChar)方法

1
2
3
String str = "床前明月光";
String str1 = str.replace("床", "llll");
System.out.println(str1);
+

length()方法

    +
  • 返回int类型
    1
    2
    3
    String str = "床前明月光";
    int str1 = str.length();
    System.out.println(str1);
  • +
+

isEmpty()方法

    +
  • 返回布尔类型
    1
    2
    3
    String str = "床前明月光";
    boolean str1 = str.isEmpty();
    System.out.println(str1);
  • +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git "a/2022/12/07/java/2022-12-07-\346\212\275\350\261\241\347\261\273\344\270\216\346\216\245\345\217\243/index.html" "b/2022/12/07/java/2022-12-07-\346\212\275\350\261\241\347\261\273\344\270\216\346\216\245\345\217\243/index.html" new file mode 100644 index 000000000..2727174ec --- /dev/null +++ "b/2022/12/07/java/2022-12-07-\346\212\275\350\261\241\347\261\273\344\270\216\346\216\245\345\217\243/index.html" @@ -0,0 +1,353 @@ +抽象类与接口 | Research • 呓语
加载头像

抽象类与接口

抽象类与接口

抽象类

使用abstract修饰一个类,把这个类变成抽象类,抽象类不能直接创建对象,需要其他类进行继承该抽象类

+
    +
  • 抽象方法不能有方法体
  • +
  • 抽象方法必须使用abstract进行修饰,不能有方法体
  • +
  • 子类必须实现父抽象类的方法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    public abstract class Ahsse {
    String name;
    int age;

    //普通方法
    public String aaa(){
    return name;
    };
    // 抽象方法
    public abstract String bbb();
    }

    class sss extends Ahsse{

    @Override
    public String bbb() {
    System.out.println("实现抽象类的抽象方法");
    return "ces ";
    }
    }
  • +
+

接口

使用interface定义接口,相当于class

+
    +
  • 接口可以多继承
  • +
  • 变量全部默认使用public static final修饰,使用之前必须赋值
  • +
  • 类里面全部是抽象方法(默认使用public abstract修饰,没有方法体)需要被实现类进行实现
  • +
  • 接口可以被多实现–implements
  • +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2022/12/07/java/2022-12-07-\347\273\247\346\211\277\343\200\201\351\207\215\345\206\231\344\270\216\351\207\215\350\275\275/index.html" "b/2022/12/07/java/2022-12-07-\347\273\247\346\211\277\343\200\201\351\207\215\345\206\231\344\270\216\351\207\215\350\275\275/index.html" new file mode 100644 index 000000000..2c89dcba2 --- /dev/null +++ "b/2022/12/07/java/2022-12-07-\347\273\247\346\211\277\343\200\201\351\207\215\345\206\231\344\270\216\351\207\215\350\275\275/index.html" @@ -0,0 +1,378 @@ +继承、重写与重载 | Research • 呓语
加载头像

继承、重写与重载

继承、重写与重载

继承

继承是相对于类来说,通过关键字extends来实现

+
    +
  • 可以获取父类的属性和方法
  • +
  • 提高代码的复用性
  • +
  • 父类修改了内容,子类也会修改
  • +
+

调用

父类的属性和方法

+
    +
  • this表示当前对象的引用
  • +
  • super表示父类对象的引用
  • +
  • 调用构造方法
      +
    • this(参数列表)表示调用当前类中的构造方法
    • +
    • super(参数列表)表示调用父类的构造方法,必须放在方法中的第一行
    • +
    +
  • +
  • 调用属性
      +
    • this.属性表示调用当前对象的属性
    • +
    • super.属性表示调用父类的属性,可以拿到被重写之前的数据
    • +
    +
  • +
  • 调用方法
      +
    • this.方法表示调用当前对象的方法
    • +
    • super.方法表示调用父类的方法,可以拿到被重写之前的方法,不用放在代码的第一行
    • +
    +
  • +
+

重写

重写是子类可以重写父类的方法,使用override标识

+
    +
  • 方法名和参数不变,只修改方法体
  • +
  • 访问权限不能比父类的范围更小
  • +
  • 私有的方法能被子类继承,但不能使用和重写
  • +
  • 静态的方法能被子类继承,能使用但不能被重写
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public class testeass {

    public void aa(String name, int age){
    System.out.println(name + age);
    }
    }

    class testaaa extends testeass{

    @Override
    public void aa(String name, int age) {
    System.out.println("这是重写方法,方法名、参数和返回数据都不变,只能修改方法体");
    System.out.println(name + age);
    }
    }
  • +
+

重载

重载是同一个类下对方法进行重载

+
    +
  • 方法名相同,参数不相同 (参数个数不同/参数类型不同/参数排列顺序不同)
  • +
  • 返回类型不限制
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class jichu {

    // 原方法
    public void hello(String name, int aa){
    System.out.println("拼接起来的值是:"+ name + aa );
    }

    // 重载后的方法
    public void hello(int aa, String name){
    System.out.println("aaaaaaa:" + aa);
    }
    }
  • +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git a/2023/09/11/English/english-1/index.html b/2023/09/11/English/english-1/index.html new file mode 100644 index 000000000..2c3b438a6 --- /dev/null +++ b/2023/09/11/English/english-1/index.html @@ -0,0 +1,340 @@ +2023立的flag | Research • 呓语
加载头像

2023立的flag

头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git "a/2023/09/11/\347\233\256\346\240\207&\344\274\230\345\214\226/2023\347\233\256\346\240\207/index.html" "b/2023/09/11/\347\233\256\346\240\207&\344\274\230\345\214\226/2023\347\233\256\346\240\207/index.html" new file mode 100644 index 000000000..480a774e3 --- /dev/null +++ "b/2023/09/11/\347\233\256\346\240\207&\344\274\230\345\214\226/2023\347\233\256\346\240\207/index.html" @@ -0,0 +1,348 @@ +2023立的flag | Research • 呓语
加载头像

2023立的flag

2023立的flag

目前所拥有的进度

    +
  • 考研恋练有词必背词全部背锅一边

    +
  • +
  • 自动化测试已部署

    +
  • +
  • +
  • +
+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
avatar
最近发布
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git a/2023/10/14/hello-world/index.html b/2023/10/14/hello-world/index.html new file mode 100644 index 000000000..2f3edd221 --- /dev/null +++ b/2023/10/14/hello-world/index.html @@ -0,0 +1,353 @@ +Hello World | Research • 呓语
加载头像

Hello World

Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

+

Quick Start

Create a new post

1
$ hexo new "My New Post"
+ +

More info: Writing

+

Run server

1
$ hexo server
+ +

More info: Server

+

Generate static files

1
$ hexo generate
+ +

More info: Generating

+

Deploy to remote sites

1
$ hexo deploy
+ +

More info: Deployment

+
头像头像
gglss
Research
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Research • 呓语
引用到评论
\ No newline at end of file diff --git a/404.html b/404.html new file mode 100644 index 000000000..8d5ef828e --- /dev/null +++ b/404.html @@ -0,0 +1,340 @@ +页面没有找到 | Research • 呓语
加载头像

404

请尝试站内搜索寻找文章
回到主页
Hello World
2023立的flag
2023立的flag
2023立的flag
包装类
字符串
引用到评论
\ No newline at end of file diff --git a/anzhiyu/random.js b/anzhiyu/random.js new file mode 100644 index 000000000..9ed8d3307 --- /dev/null +++ b/anzhiyu/random.js @@ -0,0 +1 @@ +var posts=["2023/10/14/hello-world/","2022/09/26/error/2022-09-26-git提示Timed_out的解决办法/","2022/08/26/error/2022-11-08-使用pip install报错的解决办法/","2022/09/21/java/2022-12-06-方法和函数/","2022/09/21/java/2022-09-21-使用Java解析Properties文件/","2022/12/07/java/2022-12-07-包装类/","2022/12/07/java/2022-12-07-字符串/","2022/12/07/java/2022-12-07-抽象类与接口/","2022/12/07/java/2022-12-07-继承、重写与重载/","2022/08/26/docker/2022-08-25-_3主3从的Redis集群搭建(下)/","2022/08/26/docker/2022-08-25-_3主3从的Redis集群搭建之哈希槽算法/","2022/08/26/docker/2022-08-25-_3主3从的Redis集群搭建(上)/","2022/08/26/docker/2022-08-25-_mysql主从复制docker版/","2022/08/26/docker/2022-08-25-_dockerfile/","2022/08/26/docker/2022-08-25-_主从容错切换迁移/","2022/08/26/docker/2022-08-25-docker 帮助启动类命令(一)/","2022/08/26/docker/2022-08-25-docker 帮助启动类命令(二)/","2022/08/26/docker/2022-08-25-docker 镜像(一)/","2022/08/26/docker/2022-08-25-redis3主3从扩容/","2022/08/26/docker/2022-08-25-docker 镜像(二)/","2022/08/26/docker/2022-08-25-redis的4主4从缩容/","2022/08/26/docker/2022-08-25-使用docker安装常用软件:mysql/","2022/08/26/docker/2022-08-25-使用docker安装常用软件:redis/","2022/08/26/docker/2022-08-25-使用docker安装常用软件:tomcat/","2022/08/26/docker/2022-08-25-容器数据卷/","2022/08/26/docker/2022-08-25-容器(一)/","2022/08/26/docker/2022-08-25-容器(二)/","2022/08/26/docker/2022-08-25-容器(三)(重要)/","2022/08/26/docker/2022-08-25-本地镜像发布到阿里云/","2022/08/26/docker/2022-08-25-本地镜像发布到私有库/","2022/08/26/docker/2022-08-25-镜像/","2022/11/28/moko/2022-11-28-moko/","2022/11/28/moko/2022-11-28-使用moko编写包含cookie信息的测试接口(三)/","2022/11/28/moko/2022-11-28-使用moko编写测试接口(一)/","2022/11/28/moko/2022-11-28-使用moko编写Get和Post测试接口(二)/","2022/11/28/moko/2022-11-28-使用moko编写测试接口(五)/","2022/11/28/moko/2022-11-28-使用moko编写重定向的测试接口(四)/","2022/08/26/jmeter/2022-10-30-第一次使用jmeter压测/","2022/11/16/jmeter/2022-11-16-Jmeter之断言/","2022/11/17/jmeter/2022-11-17-jmeter怎么脱离UI进行压测/","2022/11/19/jmeter/2022-11-14-jmeter自动化压力测试/","2022/11/18/jmeter/2022-11-18-Jmeter之json数据提取和参数传递/","2022/11/29/jmeter/2022-11-29-Constant Timer定时器/","2022/11/18/jmeter/2022-11-18-jmeter之全局参数设置和csv数据导入/","2022/11/29/jmeter/2022-11-29-Modeule Controller/","2022/11/29/jmeter/2022-11-29-Simple Controller控制器/","2022/11/29/jmeter/2022-11-29-Loop Controller控制器/","2022/11/20/jmeter/2022-11-20-jmeter对数据库数据进行增删改查/","2022/11/29/jmeter/2022-11-29-Random Controller控制器/","2022/11/29/jmeter/2022-11-29-Transcation Controller控制器/","2022/11/30/jmeter/2022-11-30-Constant Throughput Timer定时器/","2022/11/29/jmeter/2022-11-29-if Controller控制器/","2022/11/30/jmeter/2022-11-30-Gaussian Random Timer定时器/","2022/11/30/jmeter/2022-11-30-后置处理器之正则表达式处理器/","2022/11/30/jmeter/2022-12-1-Groovy编写方法/","2022/09/02/other/2022-09-02-使用postman如何做接口测试/","2022/08/26/other/2020-08-26-Yaml使用/","2022/10/22/other/2022-10-22-SQL语言的基本操作/","2022/08/26/other/2022-10-22-性能测试主要关注点/","2022/09/05/other/自动化基础之Xpath定位/","2022/08/31/python/2022-09-01-pyyaml获取yaml数据/","2022/09/02/python/2022-09-02-解析Excel用于数据驱动/","2022/10/20/project/2022-10-20-使用ubuntu容器安装code-server/","2022/12/01/project/2022-12-1-搭建硬件性能监控平台/","2022/09/02/python/2022-09-21-python解析ini文件/","2022/10/20/project/2022-11-24-搭建性能监控平台/","2022/08/30/shell/2022-08-29-shell脚本初探/","2022/08/30/shell/2022-08-30-shell变量/","2022/08/26/成考学习/马哲/","2022/08/30/shell/2022-08-30-shell脚本入门/","2022/08/31/shell/2022-08-31-shell条件判断/","2022/08/31/shell/2022-08-31-shell工具(一)/","2022/08/31/shell/2022-08-31-shell流程控制/","2022/08/31/shell/2022-08-31-shell函数/","2022/08/31/shell/2022-08-31-shell运算符/","2022/08/31/shell/2022-09-01-shell工具(二)/","2022/10/21/springboot/2022-10-21-开发时遇到端口冲突解决办法/","2022/10/21/springboot/2022-10-21-接口开发环境部署/","2022/10/21/springboot/2022-10-21-返回cookie的Get接口开发/","2022/10/21/springboot/2022-10-21-需要cookie访问的Get接口开发/","2022/10/21/springboot/2022-10-21-需要参数才能访问的get请求/","2022/10/22/springboot/2022-10-22-开发获取用户列表的post请求/","2022/10/22/springboot/2022-10-22-开发获得cookie的Post登录接口/","2023/09/11/目标&优化/2023目标/","2023/09/11/English/english-1/","2022/11/30/jmeter/jmeter_plugins/2022-12-07-Ultimate Thread Group的使用/","2022/11/30/jmeter/jmeter_plugins/2022-12-07-Arrivals Thread Group的使用/"];function toRandomPost(){pjax.loadUrl('/'+posts[Math.floor(Math.random() * posts.length)]);}; \ No newline at end of file diff --git a/archives/2022/08/index.html b/archives/2022/08/index.html new file mode 100644 index 000000000..9713310a7 --- /dev/null +++ b/archives/2022/08/index.html @@ -0,0 +1,340 @@ +八月 2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/08/page/2/index.html b/archives/2022/08/page/2/index.html new file mode 100644 index 000000000..65d48ed88 --- /dev/null +++ b/archives/2022/08/page/2/index.html @@ -0,0 +1,340 @@ +八月 2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/08/page/3/index.html b/archives/2022/08/page/3/index.html new file mode 100644 index 000000000..e31678394 --- /dev/null +++ b/archives/2022/08/page/3/index.html @@ -0,0 +1,340 @@ +八月 2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/08/page/4/index.html b/archives/2022/08/page/4/index.html new file mode 100644 index 000000000..ba6e800da --- /dev/null +++ b/archives/2022/08/page/4/index.html @@ -0,0 +1,340 @@ +八月 2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/09/index.html b/archives/2022/09/index.html new file mode 100644 index 000000000..0d154dab4 --- /dev/null +++ b/archives/2022/09/index.html @@ -0,0 +1,340 @@ +九月 2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/10/index.html b/archives/2022/10/index.html new file mode 100644 index 000000000..974fd41d5 --- /dev/null +++ b/archives/2022/10/index.html @@ -0,0 +1,340 @@ +十月 2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/11/index.html b/archives/2022/11/index.html new file mode 100644 index 000000000..9632c5d60 --- /dev/null +++ b/archives/2022/11/index.html @@ -0,0 +1,340 @@ +十一月 2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/11/page/2/index.html b/archives/2022/11/page/2/index.html new file mode 100644 index 000000000..34b58fff6 --- /dev/null +++ b/archives/2022/11/page/2/index.html @@ -0,0 +1,340 @@ +十一月 2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/11/page/3/index.html b/archives/2022/11/page/3/index.html new file mode 100644 index 000000000..92a190952 --- /dev/null +++ b/archives/2022/11/page/3/index.html @@ -0,0 +1,340 @@ +十一月 2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/12/index.html b/archives/2022/12/index.html new file mode 100644 index 000000000..e4b5da297 --- /dev/null +++ b/archives/2022/12/index.html @@ -0,0 +1,340 @@ +十二月 2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/index.html b/archives/2022/index.html new file mode 100644 index 000000000..cd5de08e4 --- /dev/null +++ b/archives/2022/index.html @@ -0,0 +1,340 @@ +2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/page/2/index.html b/archives/2022/page/2/index.html new file mode 100644 index 000000000..11cfd4314 --- /dev/null +++ b/archives/2022/page/2/index.html @@ -0,0 +1,340 @@ +2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/page/3/index.html b/archives/2022/page/3/index.html new file mode 100644 index 000000000..1cddedbad --- /dev/null +++ b/archives/2022/page/3/index.html @@ -0,0 +1,340 @@ +2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/page/4/index.html b/archives/2022/page/4/index.html new file mode 100644 index 000000000..ec1025bba --- /dev/null +++ b/archives/2022/page/4/index.html @@ -0,0 +1,340 @@ +2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/page/5/index.html b/archives/2022/page/5/index.html new file mode 100644 index 000000000..bdc5e876e --- /dev/null +++ b/archives/2022/page/5/index.html @@ -0,0 +1,340 @@ +2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/page/6/index.html b/archives/2022/page/6/index.html new file mode 100644 index 000000000..2679b0883 --- /dev/null +++ b/archives/2022/page/6/index.html @@ -0,0 +1,340 @@ +2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/page/7/index.html b/archives/2022/page/7/index.html new file mode 100644 index 000000000..cff378389 --- /dev/null +++ b/archives/2022/page/7/index.html @@ -0,0 +1,340 @@ +2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/page/8/index.html b/archives/2022/page/8/index.html new file mode 100644 index 000000000..78fdb2cca --- /dev/null +++ b/archives/2022/page/8/index.html @@ -0,0 +1,340 @@ +2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2022/page/9/index.html b/archives/2022/page/9/index.html new file mode 100644 index 000000000..8d97c9fd2 --- /dev/null +++ b/archives/2022/page/9/index.html @@ -0,0 +1,340 @@ +2022 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2023/09/index.html b/archives/2023/09/index.html new file mode 100644 index 000000000..fd1c21304 --- /dev/null +++ b/archives/2023/09/index.html @@ -0,0 +1,340 @@ +九月 2023 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2023/10/index.html b/archives/2023/10/index.html new file mode 100644 index 000000000..50fd9ecb2 --- /dev/null +++ b/archives/2023/10/index.html @@ -0,0 +1,340 @@ +十月 2023 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/2023/index.html b/archives/2023/index.html new file mode 100644 index 000000000..421635137 --- /dev/null +++ b/archives/2023/index.html @@ -0,0 +1,340 @@ +2023 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/index.html b/archives/index.html new file mode 100644 index 000000000..73ddfded8 --- /dev/null +++ b/archives/index.html @@ -0,0 +1,340 @@ +归档 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/page/2/index.html b/archives/page/2/index.html new file mode 100644 index 000000000..36a1e5375 --- /dev/null +++ b/archives/page/2/index.html @@ -0,0 +1,340 @@ +归档 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/page/3/index.html b/archives/page/3/index.html new file mode 100644 index 000000000..25072c1c1 --- /dev/null +++ b/archives/page/3/index.html @@ -0,0 +1,340 @@ +归档 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/page/4/index.html b/archives/page/4/index.html new file mode 100644 index 000000000..b3df9f89c --- /dev/null +++ b/archives/page/4/index.html @@ -0,0 +1,340 @@ +归档 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/page/5/index.html b/archives/page/5/index.html new file mode 100644 index 000000000..14c53d2cc --- /dev/null +++ b/archives/page/5/index.html @@ -0,0 +1,340 @@ +归档 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/page/6/index.html b/archives/page/6/index.html new file mode 100644 index 000000000..9c2cdf593 --- /dev/null +++ b/archives/page/6/index.html @@ -0,0 +1,340 @@ +归档 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/page/7/index.html b/archives/page/7/index.html new file mode 100644 index 000000000..1c92c72bf --- /dev/null +++ b/archives/page/7/index.html @@ -0,0 +1,340 @@ +归档 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/page/8/index.html b/archives/page/8/index.html new file mode 100644 index 000000000..9ee46933e --- /dev/null +++ b/archives/page/8/index.html @@ -0,0 +1,340 @@ +归档 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/archives/page/9/index.html b/archives/page/9/index.html new file mode 100644 index 000000000..cce87e24d --- /dev/null +++ b/archives/page/9/index.html @@ -0,0 +1,340 @@ +归档 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 000000000..9c38daf2b --- /dev/null +++ b/categories/index.html @@ -0,0 +1,360 @@ +分类 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git "a/categories/\345\255\246\344\271\240\346\227\245\345\270\270/index.html" "b/categories/\345\255\246\344\271\240\346\227\245\345\270\270/index.html" new file mode 100644 index 000000000..ccc77c3be --- /dev/null +++ "b/categories/\345\255\246\344\271\240\346\227\245\345\270\270/index.html" @@ -0,0 +1,364 @@ +分类: 学习日常 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git "a/categories/\345\267\245\345\205\267\346\225\231\347\250\213/index.html" "b/categories/\345\267\245\345\205\267\346\225\231\347\250\213/index.html" new file mode 100644 index 000000000..8b4dae16b --- /dev/null +++ "b/categories/\345\267\245\345\205\267\346\225\231\347\250\213/index.html" @@ -0,0 +1,364 @@ +分类: 工具教程 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git "a/categories/\345\267\245\345\205\267\346\225\231\347\250\213/page/2/index.html" "b/categories/\345\267\245\345\205\267\346\225\231\347\250\213/page/2/index.html" new file mode 100644 index 000000000..dc77bf9b0 --- /dev/null +++ "b/categories/\345\267\245\345\205\267\346\225\231\347\250\213/page/2/index.html" @@ -0,0 +1,364 @@ +分类: 工具教程 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git "a/categories/\345\267\245\345\205\267\346\225\231\347\250\213/page/3/index.html" "b/categories/\345\267\245\345\205\267\346\225\231\347\250\213/page/3/index.html" new file mode 100644 index 000000000..66e877a20 --- /dev/null +++ "b/categories/\345\267\245\345\205\267\346\225\231\347\250\213/page/3/index.html" @@ -0,0 +1,364 @@ +分类: 工具教程 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git "a/categories/\347\224\237\346\264\273\346\227\245\345\270\270/index.html" "b/categories/\347\224\237\346\264\273\346\227\245\345\270\270/index.html" new file mode 100644 index 000000000..de07af771 --- /dev/null +++ "b/categories/\347\224\237\346\264\273\346\227\245\345\270\270/index.html" @@ -0,0 +1,364 @@ +分类: 生活日常 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git "a/categories/\347\273\217\351\252\214\345\210\206\344\272\253/index.html" "b/categories/\347\273\217\351\252\214\345\210\206\344\272\253/index.html" new file mode 100644 index 000000000..d9959e0de --- /dev/null +++ "b/categories/\347\273\217\351\252\214\345\210\206\344\272\253/index.html" @@ -0,0 +1,364 @@ +分类: 经验分享 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git "a/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/2/index.html" "b/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/2/index.html" new file mode 100644 index 000000000..d3c257d9a --- /dev/null +++ "b/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/2/index.html" @@ -0,0 +1,364 @@ +分类: 经验分享 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git "a/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/3/index.html" "b/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/3/index.html" new file mode 100644 index 000000000..dd45342fa --- /dev/null +++ "b/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/3/index.html" @@ -0,0 +1,364 @@ +分类: 经验分享 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git "a/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/4/index.html" "b/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/4/index.html" new file mode 100644 index 000000000..9027bd49c --- /dev/null +++ "b/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/4/index.html" @@ -0,0 +1,364 @@ +分类: 经验分享 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git "a/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/5/index.html" "b/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/5/index.html" new file mode 100644 index 000000000..da572a813 --- /dev/null +++ "b/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/5/index.html" @@ -0,0 +1,364 @@ +分类: 经验分享 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git "a/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/6/index.html" "b/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/6/index.html" new file mode 100644 index 000000000..a3d6b4dc9 --- /dev/null +++ "b/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/6/index.html" @@ -0,0 +1,364 @@ +分类: 经验分享 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git "a/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/7/index.html" "b/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/7/index.html" new file mode 100644 index 000000000..121d7df56 --- /dev/null +++ "b/categories/\347\273\217\351\252\214\345\210\206\344\272\253/page/7/index.html" @@ -0,0 +1,364 @@ +分类: 经验分享 | Research • 呓语
加载头像
引用到评论
\ No newline at end of file diff --git a/css/index.css b/css/index.css new file mode 100644 index 000000000..cce25d4c2 --- /dev/null +++ b/css/index.css @@ -0,0 +1,27104 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +html { + line-height: 1.15; + -webkit-text-size-adjust: 100%; + scroll-padding-top: 60px; +} + +/* 滚动条轨道样式 */ +::-webkit-scrollbar-track { + background-color: transparent; +} + +/* 滚动条滑块样式 */ +::-webkit-scrollbar-thumb { + background-color: #888; + opacity: 1; + transition: opacity 0.5s; +} + +/* 滚动条消失动画 */ +@keyframes fadeOut { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } +} + +/* 在滚动容器上应用动画 */ +html:hover::-webkit-scrollbar-thumb { + animation: fadeOut 1s 1s forwards; +} + +body { + margin: 0; + padding: 0; + overflow-x: clip; + overscroll-behavior: none; +} + +main { + display: block; +} + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +pre { + font-family: monospace, monospace; + font-size: 1em; +} + +a { + background-color: transparent; +} + +abbr[title] { + border-bottom: none; + text-decoration: underline; + text-decoration: underline dotted; +} + +b, +strong { + font-weight: bolder; +} + +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +small { + font-size: 80%; +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +img { + border-style: none; + border-radius: 8px; + max-width: 100%; + transition: all 0.2s ease 0s; + -webkit-user-drag: none; /* WebKit */ + -khtml-user-drag: none; /* KHTML */ + -moz-user-drag: none; /* Gecko */ + -ms-user-drag: none; /* Trident/Edge */ + user-drag: none; +} + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + font-size: 100%; + line-height: 1.15; + margin: 0; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +[type="button"], +[type="reset"], +[type="submit"], +button { + -webkit-appearance: button; +} + +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner, +button::-moz-focus-inner { + border-style: none; + padding: 0; +} + +img.fancybox__image { + border-radius: 0; +} +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring, +button:-moz-focusring { + outline: 1px dotted ButtonText; +} + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +legend { + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +textarea { + overflow: auto; +} + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; + padding: 0; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + -webkit-appearance: textfield; + outline-offset: -2px; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit; +} + +details { + display: block; +} + +summary { + display: list-item; +} + +template { + display: none; +} + +[hidden] { + display: none; +} + +.limit-one-line, +#article-container .anzhiyu-flink-list .flink-list-item .flink-item-info .flink-item-name, +#article-container .anzhiyu-flink-list .flink-list-item .flink-item-info .flink-item-desc, +#aside-content .card-archives ul.card-archive-list > .card-archive-list-item a span, +#aside-content .card-categories ul.card-category-list > .card-category-list-item a span, +.site-data > a .headline, +#pagination .prev_info, +#pagination .next_info, +#sidebar #sidebar-menus .menus_items .site-page { + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + white-space: nowrap; +} +.limit-more-line, +.error404 #error-wrap .error-content .error-info .error_subtitle, +.article-sort-item-title, +#recent-posts > .recent-post-item >.recent-post-info > .content, +#aside-content .aside-list > .aside-list-item .content > .name, +#aside-content .aside-list > .aside-list-item .content > .title, +#aside-content .aside-list > .aside-list-item .content > .comment, +#post-info .post-title, +.relatedPosts > .relatedPosts-list .content .title, +#content-inner figure.gallery-group p, +#content-inner figure.gallery-group .gallery-group-name { + display: -webkit-box; + overflow: hidden; + -webkit-box-orient: vertical; +} +.fontbold { + font-weight: bold; +} +.anzhiyu-icon-spinner { + margin: 0; + width: 16px; + line-height: 16px; + height: 16px; +} +.anzhiyufont, +hr:before, +#article-container a.headerlink::before, +#post .post-outdate-notice:before, +.note:not(.no-icon)::before { + font-family: "anzhiyufont"; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.anzhiyufont::before { + font-family: "anzhiyufont" !important; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.cardHover, +.error404 #error-wrap .error-content, +#recent-posts > .recent-post-item, +#aside-content .card-widget, +.layout > .recent-posts .pagination > *:not(.space):not(pangu) { + border-radius: 8px; + background: var(--card-bg); + -webkit-box-shadow: var(--card-box-shadow); + box-shadow: var(--card-box-shadow); + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; +} +.imgHover, +.error404 #error-wrap .error-content .error-img img, +.article-sort-item-img img, +#aside-content .aside-list > .aside-list-item .thumbnail > img { + width: 100%; + height: 100%; + -webkit-transition: filter 375ms ease-in 0.2s, -webkit-transform 0.6s; + -moz-transition: filter 375ms ease-in 0.2s, -moz-transform 0.6s; + -o-transition: filter 375ms ease-in 0.2s, -o-transform 0.6s; + -ms-transition: filter 375ms ease-in 0.2s, -ms-transform 0.6s; + transition: filter 375ms ease-in 0.2s, transform 0.6s; + object-fit: cover; +} +.imgHover:hover, +.error404 #error-wrap .error-content .error-img img:hover, +.article-sort-item-img img:hover, +#aside-content .aside-list > .aside-list-item .thumbnail > img:hover { + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); +} +.postImgHover:hover img, +#pagination .prev-post:hover img, +#pagination .next-post:hover img, +.relatedPosts > .relatedPosts-list > div:hover img { + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); +} +.postImgHover img, +#pagination .prev-post img, +#pagination .next-post img, +.relatedPosts > .relatedPosts-list > div img { + position: absolute; + width: 100%; + height: 100%; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + -webkit-transition: all 0.6s, filter 375ms ease-in 0.2s; + -moz-transition: all 0.6s, filter 375ms ease-in 0.2s; + -o-transition: all 0.6s, filter 375ms ease-in 0.2s; + -ms-transition: all 0.6s, filter 375ms ease-in 0.2s; + transition: all 0.6s, filter 375ms ease-in 0.2s; + object-fit: cover; + border-radius: 0; +} +.list-beauty, +.category-lists ul { + list-style: none; +} +.list-beauty li, +.category-lists ul li { + position: relative; + padding: 0.12em 0.4em 0.12em 1.4em; +} +.list-beauty li:hover:before, +.category-lists ul li:hover:before { + border-color: var(--pseudo-hover); +} +.list-beauty li:before, +.category-lists ul li:before { + position: absolute; + top: 0.67em; + left: 0; + width: 0.43em; + height: 0.43em; + border: 0.215em solid #425aef; + border-radius: 0.43em; + background: transparent; + content: ''; + cursor: pointer; + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + -o-transition: all 0.3s ease-out; + -ms-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.scroll-down-effects { + -webkit-animation: scroll-down-effect 1.5s infinite; + -moz-animation: scroll-down-effect 1.5s infinite; + -o-animation: scroll-down-effect 1.5s infinite; + -ms-animation: scroll-down-effect 1.5s infinite; + animation: scroll-down-effect 1.5s infinite; +} +.anzhiyu-spin { + display: inline-block; + -webkit-transform-origin: 50% 50%; + -moz-transform-origin: 50% 50%; + -o-transform-origin: 50% 50%; + -ms-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-animation-name: anzhiyu-spin; + -moz-animation-name: anzhiyu-spin; + -o-animation-name: anzhiyu-spin; + -ms-animation-name: anzhiyu-spin; + animation-name: anzhiyu-spin; + -webkit-animation-duration: var(--anzhiyu-animation-duration, 2s); + -moz-animation-duration: var(--anzhiyu-animation-duration, 2s); + -o-animation-duration: var(--anzhiyu-animation-duration, 2s); + -ms-animation-duration: var(--anzhiyu-animation-duration, 2s); + animation-duration: var(--anzhiyu-animation-duration, 2s); + -webkit-animation-iteration-count: var(--anzhiyu-animation-iteration-count, infinite); + -moz-animation-iteration-count: var(--anzhiyu-animation-iteration-count, infinite); + -o-animation-iteration-count: var(--anzhiyu-animation-iteration-count, infinite); + -ms-animation-iteration-count: var(--anzhiyu-animation-iteration-count, infinite); + animation-iteration-count: var(--anzhiyu-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--anzhiyu-animation-timing, linear); + -moz-animation-timing-function: var(--anzhiyu-animation-timing, linear); + -o-animation-timing-function: var(--anzhiyu-animation-timing, linear); + -ms-animation-timing-function: var(--anzhiyu-animation-timing, linear); + animation-timing-function: var(--anzhiyu-animation-timing, linear); +} +.anzhiyu-pulse-icon { + -webkit-animation: anzhiyu-pulse-animation 1s infinite linear; + -moz-animation: anzhiyu-pulse-animation 1s infinite linear; + -o-animation: anzhiyu-pulse-animation 1s infinite linear; + -ms-animation: anzhiyu-pulse-animation 1s infinite linear; + animation: anzhiyu-pulse-animation 1s infinite linear; +} +.anzhiyu-shake:hover { + -webkit-animation: shake 0.8s; + -moz-animation: shake 0.8s; + -o-animation: shake 0.8s; + -ms-animation: shake 0.8s; + animation: shake 0.8s; +} +.reward-main { + -webkit-animation: donate_effcet 0.3s 0.1s ease both; + -moz-animation: donate_effcet 0.3s 0.1s ease both; + -o-animation: donate_effcet 0.3s 0.1s ease both; + -ms-animation: donate_effcet 0.3s 0.1s ease both; + animation: donate_effcet 0.3s 0.1s ease both; +} +@-moz-keyframes anzhiyu-shake { + 0% { + -webkit-transform: translate(1px, 1px) rotate(0deg); + -moz-transform: translate(1px, 1px) rotate(0deg); + -o-transform: translate(1px, 1px) rotate(0deg); + -ms-transform: translate(1px, 1px) rotate(0deg); + transform: translate(1px, 1px) rotate(0deg); + } + 10% { + -webkit-transform: translate(-1px, -2px) rotate(-1deg); + -moz-transform: translate(-1px, -2px) rotate(-1deg); + -o-transform: translate(-1px, -2px) rotate(-1deg); + -ms-transform: translate(-1px, -2px) rotate(-1deg); + transform: translate(-1px, -2px) rotate(-1deg); + } + 20% { + -webkit-transform: translate(-3px, 0px) rotate(1deg); + -moz-transform: translate(-3px, 0px) rotate(1deg); + -o-transform: translate(-3px, 0px) rotate(1deg); + -ms-transform: translate(-3px, 0px) rotate(1deg); + transform: translate(-3px, 0px) rotate(1deg); + } + 30% { + -webkit-transform: translate(3px, 2px) rotate(0deg); + -moz-transform: translate(3px, 2px) rotate(0deg); + -o-transform: translate(3px, 2px) rotate(0deg); + -ms-transform: translate(3px, 2px) rotate(0deg); + transform: translate(3px, 2px) rotate(0deg); + } + 40% { + -webkit-transform: translate(1px, -1px) rotate(1deg); + -moz-transform: translate(1px, -1px) rotate(1deg); + -o-transform: translate(1px, -1px) rotate(1deg); + -ms-transform: translate(1px, -1px) rotate(1deg); + transform: translate(1px, -1px) rotate(1deg); + } + 50% { + -webkit-transform: translate(-1px, 2px) rotate(-1deg); + -moz-transform: translate(-1px, 2px) rotate(-1deg); + -o-transform: translate(-1px, 2px) rotate(-1deg); + -ms-transform: translate(-1px, 2px) rotate(-1deg); + transform: translate(-1px, 2px) rotate(-1deg); + } + 60% { + -webkit-transform: translate(-3px, 1px) rotate(0deg); + -moz-transform: translate(-3px, 1px) rotate(0deg); + -o-transform: translate(-3px, 1px) rotate(0deg); + -ms-transform: translate(-3px, 1px) rotate(0deg); + transform: translate(-3px, 1px) rotate(0deg); + } + 70% { + -webkit-transform: translate(3px, 1px) rotate(-1deg); + -moz-transform: translate(3px, 1px) rotate(-1deg); + -o-transform: translate(3px, 1px) rotate(-1deg); + -ms-transform: translate(3px, 1px) rotate(-1deg); + transform: translate(3px, 1px) rotate(-1deg); + } + 80% { + -webkit-transform: translate(-1px, -1px) rotate(1deg); + -moz-transform: translate(-1px, -1px) rotate(1deg); + -o-transform: translate(-1px, -1px) rotate(1deg); + -ms-transform: translate(-1px, -1px) rotate(1deg); + transform: translate(-1px, -1px) rotate(1deg); + } + 90% { + -webkit-transform: translate(1px, 2px) rotate(0deg); + -moz-transform: translate(1px, 2px) rotate(0deg); + -o-transform: translate(1px, 2px) rotate(0deg); + -ms-transform: translate(1px, 2px) rotate(0deg); + transform: translate(1px, 2px) rotate(0deg); + } + 100% { + -webkit-transform: translate(1px, -2px) rotate(-1deg); + -moz-transform: translate(1px, -2px) rotate(-1deg); + -o-transform: translate(1px, -2px) rotate(-1deg); + -ms-transform: translate(1px, -2px) rotate(-1deg); + transform: translate(1px, -2px) rotate(-1deg); + } +} +@-webkit-keyframes anzhiyu-shake { + 0% { + -webkit-transform: translate(1px, 1px) rotate(0deg); + -moz-transform: translate(1px, 1px) rotate(0deg); + -o-transform: translate(1px, 1px) rotate(0deg); + -ms-transform: translate(1px, 1px) rotate(0deg); + transform: translate(1px, 1px) rotate(0deg); + } + 10% { + -webkit-transform: translate(-1px, -2px) rotate(-1deg); + -moz-transform: translate(-1px, -2px) rotate(-1deg); + -o-transform: translate(-1px, -2px) rotate(-1deg); + -ms-transform: translate(-1px, -2px) rotate(-1deg); + transform: translate(-1px, -2px) rotate(-1deg); + } + 20% { + -webkit-transform: translate(-3px, 0px) rotate(1deg); + -moz-transform: translate(-3px, 0px) rotate(1deg); + -o-transform: translate(-3px, 0px) rotate(1deg); + -ms-transform: translate(-3px, 0px) rotate(1deg); + transform: translate(-3px, 0px) rotate(1deg); + } + 30% { + -webkit-transform: translate(3px, 2px) rotate(0deg); + -moz-transform: translate(3px, 2px) rotate(0deg); + -o-transform: translate(3px, 2px) rotate(0deg); + -ms-transform: translate(3px, 2px) rotate(0deg); + transform: translate(3px, 2px) rotate(0deg); + } + 40% { + -webkit-transform: translate(1px, -1px) rotate(1deg); + -moz-transform: translate(1px, -1px) rotate(1deg); + -o-transform: translate(1px, -1px) rotate(1deg); + -ms-transform: translate(1px, -1px) rotate(1deg); + transform: translate(1px, -1px) rotate(1deg); + } + 50% { + -webkit-transform: translate(-1px, 2px) rotate(-1deg); + -moz-transform: translate(-1px, 2px) rotate(-1deg); + -o-transform: translate(-1px, 2px) rotate(-1deg); + -ms-transform: translate(-1px, 2px) rotate(-1deg); + transform: translate(-1px, 2px) rotate(-1deg); + } + 60% { + -webkit-transform: translate(-3px, 1px) rotate(0deg); + -moz-transform: translate(-3px, 1px) rotate(0deg); + -o-transform: translate(-3px, 1px) rotate(0deg); + -ms-transform: translate(-3px, 1px) rotate(0deg); + transform: translate(-3px, 1px) rotate(0deg); + } + 70% { + -webkit-transform: translate(3px, 1px) rotate(-1deg); + -moz-transform: translate(3px, 1px) rotate(-1deg); + -o-transform: translate(3px, 1px) rotate(-1deg); + -ms-transform: translate(3px, 1px) rotate(-1deg); + transform: translate(3px, 1px) rotate(-1deg); + } + 80% { + -webkit-transform: translate(-1px, -1px) rotate(1deg); + -moz-transform: translate(-1px, -1px) rotate(1deg); + -o-transform: translate(-1px, -1px) rotate(1deg); + -ms-transform: translate(-1px, -1px) rotate(1deg); + transform: translate(-1px, -1px) rotate(1deg); + } + 90% { + -webkit-transform: translate(1px, 2px) rotate(0deg); + -moz-transform: translate(1px, 2px) rotate(0deg); + -o-transform: translate(1px, 2px) rotate(0deg); + -ms-transform: translate(1px, 2px) rotate(0deg); + transform: translate(1px, 2px) rotate(0deg); + } + 100% { + -webkit-transform: translate(1px, -2px) rotate(-1deg); + -moz-transform: translate(1px, -2px) rotate(-1deg); + -o-transform: translate(1px, -2px) rotate(-1deg); + -ms-transform: translate(1px, -2px) rotate(-1deg); + transform: translate(1px, -2px) rotate(-1deg); + } +} +@-o-keyframes anzhiyu-shake { + 0% { + -webkit-transform: translate(1px, 1px) rotate(0deg); + -moz-transform: translate(1px, 1px) rotate(0deg); + -o-transform: translate(1px, 1px) rotate(0deg); + -ms-transform: translate(1px, 1px) rotate(0deg); + transform: translate(1px, 1px) rotate(0deg); + } + 10% { + -webkit-transform: translate(-1px, -2px) rotate(-1deg); + -moz-transform: translate(-1px, -2px) rotate(-1deg); + -o-transform: translate(-1px, -2px) rotate(-1deg); + -ms-transform: translate(-1px, -2px) rotate(-1deg); + transform: translate(-1px, -2px) rotate(-1deg); + } + 20% { + -webkit-transform: translate(-3px, 0px) rotate(1deg); + -moz-transform: translate(-3px, 0px) rotate(1deg); + -o-transform: translate(-3px, 0px) rotate(1deg); + -ms-transform: translate(-3px, 0px) rotate(1deg); + transform: translate(-3px, 0px) rotate(1deg); + } + 30% { + -webkit-transform: translate(3px, 2px) rotate(0deg); + -moz-transform: translate(3px, 2px) rotate(0deg); + -o-transform: translate(3px, 2px) rotate(0deg); + -ms-transform: translate(3px, 2px) rotate(0deg); + transform: translate(3px, 2px) rotate(0deg); + } + 40% { + -webkit-transform: translate(1px, -1px) rotate(1deg); + -moz-transform: translate(1px, -1px) rotate(1deg); + -o-transform: translate(1px, -1px) rotate(1deg); + -ms-transform: translate(1px, -1px) rotate(1deg); + transform: translate(1px, -1px) rotate(1deg); + } + 50% { + -webkit-transform: translate(-1px, 2px) rotate(-1deg); + -moz-transform: translate(-1px, 2px) rotate(-1deg); + -o-transform: translate(-1px, 2px) rotate(-1deg); + -ms-transform: translate(-1px, 2px) rotate(-1deg); + transform: translate(-1px, 2px) rotate(-1deg); + } + 60% { + -webkit-transform: translate(-3px, 1px) rotate(0deg); + -moz-transform: translate(-3px, 1px) rotate(0deg); + -o-transform: translate(-3px, 1px) rotate(0deg); + -ms-transform: translate(-3px, 1px) rotate(0deg); + transform: translate(-3px, 1px) rotate(0deg); + } + 70% { + -webkit-transform: translate(3px, 1px) rotate(-1deg); + -moz-transform: translate(3px, 1px) rotate(-1deg); + -o-transform: translate(3px, 1px) rotate(-1deg); + -ms-transform: translate(3px, 1px) rotate(-1deg); + transform: translate(3px, 1px) rotate(-1deg); + } + 80% { + -webkit-transform: translate(-1px, -1px) rotate(1deg); + -moz-transform: translate(-1px, -1px) rotate(1deg); + -o-transform: translate(-1px, -1px) rotate(1deg); + -ms-transform: translate(-1px, -1px) rotate(1deg); + transform: translate(-1px, -1px) rotate(1deg); + } + 90% { + -webkit-transform: translate(1px, 2px) rotate(0deg); + -moz-transform: translate(1px, 2px) rotate(0deg); + -o-transform: translate(1px, 2px) rotate(0deg); + -ms-transform: translate(1px, 2px) rotate(0deg); + transform: translate(1px, 2px) rotate(0deg); + } + 100% { + -webkit-transform: translate(1px, -2px) rotate(-1deg); + -moz-transform: translate(1px, -2px) rotate(-1deg); + -o-transform: translate(1px, -2px) rotate(-1deg); + -ms-transform: translate(1px, -2px) rotate(-1deg); + transform: translate(1px, -2px) rotate(-1deg); + } +} +@keyframes anzhiyu-shake { + 0% { + -webkit-transform: translate(1px, 1px) rotate(0deg); + -moz-transform: translate(1px, 1px) rotate(0deg); + -o-transform: translate(1px, 1px) rotate(0deg); + -ms-transform: translate(1px, 1px) rotate(0deg); + transform: translate(1px, 1px) rotate(0deg); + } + 10% { + -webkit-transform: translate(-1px, -2px) rotate(-1deg); + -moz-transform: translate(-1px, -2px) rotate(-1deg); + -o-transform: translate(-1px, -2px) rotate(-1deg); + -ms-transform: translate(-1px, -2px) rotate(-1deg); + transform: translate(-1px, -2px) rotate(-1deg); + } + 20% { + -webkit-transform: translate(-3px, 0px) rotate(1deg); + -moz-transform: translate(-3px, 0px) rotate(1deg); + -o-transform: translate(-3px, 0px) rotate(1deg); + -ms-transform: translate(-3px, 0px) rotate(1deg); + transform: translate(-3px, 0px) rotate(1deg); + } + 30% { + -webkit-transform: translate(3px, 2px) rotate(0deg); + -moz-transform: translate(3px, 2px) rotate(0deg); + -o-transform: translate(3px, 2px) rotate(0deg); + -ms-transform: translate(3px, 2px) rotate(0deg); + transform: translate(3px, 2px) rotate(0deg); + } + 40% { + -webkit-transform: translate(1px, -1px) rotate(1deg); + -moz-transform: translate(1px, -1px) rotate(1deg); + -o-transform: translate(1px, -1px) rotate(1deg); + -ms-transform: translate(1px, -1px) rotate(1deg); + transform: translate(1px, -1px) rotate(1deg); + } + 50% { + -webkit-transform: translate(-1px, 2px) rotate(-1deg); + -moz-transform: translate(-1px, 2px) rotate(-1deg); + -o-transform: translate(-1px, 2px) rotate(-1deg); + -ms-transform: translate(-1px, 2px) rotate(-1deg); + transform: translate(-1px, 2px) rotate(-1deg); + } + 60% { + -webkit-transform: translate(-3px, 1px) rotate(0deg); + -moz-transform: translate(-3px, 1px) rotate(0deg); + -o-transform: translate(-3px, 1px) rotate(0deg); + -ms-transform: translate(-3px, 1px) rotate(0deg); + transform: translate(-3px, 1px) rotate(0deg); + } + 70% { + -webkit-transform: translate(3px, 1px) rotate(-1deg); + -moz-transform: translate(3px, 1px) rotate(-1deg); + -o-transform: translate(3px, 1px) rotate(-1deg); + -ms-transform: translate(3px, 1px) rotate(-1deg); + transform: translate(3px, 1px) rotate(-1deg); + } + 80% { + -webkit-transform: translate(-1px, -1px) rotate(1deg); + -moz-transform: translate(-1px, -1px) rotate(1deg); + -o-transform: translate(-1px, -1px) rotate(1deg); + -ms-transform: translate(-1px, -1px) rotate(1deg); + transform: translate(-1px, -1px) rotate(1deg); + } + 90% { + -webkit-transform: translate(1px, 2px) rotate(0deg); + -moz-transform: translate(1px, 2px) rotate(0deg); + -o-transform: translate(1px, 2px) rotate(0deg); + -ms-transform: translate(1px, 2px) rotate(0deg); + transform: translate(1px, 2px) rotate(0deg); + } + 100% { + -webkit-transform: translate(1px, -2px) rotate(-1deg); + -moz-transform: translate(1px, -2px) rotate(-1deg); + -o-transform: translate(1px, -2px) rotate(-1deg); + -ms-transform: translate(1px, -2px) rotate(-1deg); + transform: translate(1px, -2px) rotate(-1deg); + } +} +@-moz-keyframes anzhiyu-pulse-animation { + 0% { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-webkit-keyframes anzhiyu-pulse-animation { + 0% { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-o-keyframes anzhiyu-pulse-animation { + 0% { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes anzhiyu-pulse-animation { + 0% { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-moz-keyframes anzhiyu-spin { + 0% { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(1turn); + -moz-transform: rotate(1turn); + -o-transform: rotate(1turn); + -ms-transform: rotate(1turn); + transform: rotate(1turn); + } +} +@-webkit-keyframes anzhiyu-spin { + 0% { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(1turn); + -moz-transform: rotate(1turn); + -o-transform: rotate(1turn); + -ms-transform: rotate(1turn); + transform: rotate(1turn); + } +} +@-o-keyframes anzhiyu-spin { + 0% { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(1turn); + -moz-transform: rotate(1turn); + -o-transform: rotate(1turn); + -ms-transform: rotate(1turn); + transform: rotate(1turn); + } +} +@keyframes anzhiyu-spin { + 0% { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(1turn); + -moz-transform: rotate(1turn); + -o-transform: rotate(1turn); + -ms-transform: rotate(1turn); + transform: rotate(1turn); + } +} +@-moz-keyframes scroll-down-effect { + 0% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } + 50% { + top: -16px; + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +@-webkit-keyframes scroll-down-effect { + 0% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } + 50% { + top: -16px; + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +@-o-keyframes scroll-down-effect { + 0% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } + 50% { + top: -16px; + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +@keyframes scroll-down-effect { + 0% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } + 50% { + top: -16px; + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +@-moz-keyframes header-effect { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-webkit-keyframes header-effect { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-o-keyframes header-effect { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@keyframes header-effect { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-moz-keyframes headerNoOpacity { + 0% { + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-webkit-keyframes headerNoOpacity { + 0% { + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-o-keyframes headerNoOpacity { + 0% { + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@keyframes headerNoOpacity { + 0% { + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-moz-keyframes bottom-top { + 0% { + margin-top: 50px; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + margin-top: 0; + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-webkit-keyframes bottom-top { + 0% { + margin-top: 50px; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + margin-top: 0; + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-o-keyframes bottom-top { + 0% { + margin-top: 50px; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + margin-top: 0; + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@keyframes bottom-top { + 0% { + margin-top: 50px; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + margin-top: 0; + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-moz-keyframes titleScale { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@-webkit-keyframes titleScale { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@-o-keyframes titleScale { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@keyframes titleScale { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@-moz-keyframes search_close { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + } +} +@-webkit-keyframes search_close { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + } +} +@-o-keyframes search_close { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + } +} +@keyframes search_close { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + } +} +@-moz-keyframes to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-webkit-keyframes to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-o-keyframes to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@keyframes to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-moz-keyframes to_hide { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@-webkit-keyframes to_hide { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@-o-keyframes to_hide { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@keyframes to_hide { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@-moz-keyframes ribbon_to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +@-webkit-keyframes ribbon_to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +@-o-keyframes ribbon_to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +@keyframes ribbon_to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +@-moz-keyframes avatar_turn_around { + from { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-webkit-keyframes avatar_turn_around { + from { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-o-keyframes avatar_turn_around { + from { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes avatar_turn_around { + from { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-moz-keyframes donate_effcet { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-20px); + -moz-transform: translateY(-20px); + -o-transform: translateY(-20px); + -ms-transform: translateY(-20px); + transform: translateY(-20px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-webkit-keyframes donate_effcet { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-20px); + -moz-transform: translateY(-20px); + -o-transform: translateY(-20px); + -ms-transform: translateY(-20px); + transform: translateY(-20px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-o-keyframes donate_effcet { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-20px); + -moz-transform: translateY(-20px); + -o-transform: translateY(-20px); + -ms-transform: translateY(-20px); + transform: translateY(-20px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@keyframes donate_effcet { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-20px); + -moz-transform: translateY(-20px); + -o-transform: translateY(-20px); + -ms-transform: translateY(-20px); + transform: translateY(-20px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-moz-keyframes sidebarItem { + 0% { + -webkit-transform: translateX(200px); + -moz-transform: translateX(200px); + -o-transform: translateX(200px); + -ms-transform: translateX(200px); + transform: translateX(200px); + } + 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} +@-webkit-keyframes sidebarItem { + 0% { + -webkit-transform: translateX(200px); + -moz-transform: translateX(200px); + -o-transform: translateX(200px); + -ms-transform: translateX(200px); + transform: translateX(200px); + } + 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} +@-o-keyframes sidebarItem { + 0% { + -webkit-transform: translateX(200px); + -moz-transform: translateX(200px); + -o-transform: translateX(200px); + -ms-transform: translateX(200px); + transform: translateX(200px); + } + 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} +@keyframes sidebarItem { + 0% { + -webkit-transform: translateX(200px); + -moz-transform: translateX(200px); + -o-transform: translateX(200px); + -ms-transform: translateX(200px); + transform: translateX(200px); + } + 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} +@-moz-keyframes sidebarItem { + 0% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@-webkit-keyframes sidebarItem { + 0% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@-o-keyframes sidebarItem { + 0% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@keyframes sidebarItem { + 0% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@-moz-keyframes barrageIn { + 0% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-webkit-keyframes barrageIn { + 0% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-o-keyframes barrageIn { + 0% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@keyframes barrageIn { + 0% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-moz-keyframes barrageOut { + 0% { + -webkit-transform: translateY(0px); + -moz-transform: translateY(0px); + -o-transform: translateY(0px); + -ms-transform: translateY(0px); + transform: translateY(0px); + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@-webkit-keyframes barrageOut { + 0% { + -webkit-transform: translateY(0px); + -moz-transform: translateY(0px); + -o-transform: translateY(0px); + -ms-transform: translateY(0px); + transform: translateY(0px); + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@-o-keyframes barrageOut { + 0% { + -webkit-transform: translateY(0px); + -moz-transform: translateY(0px); + -o-transform: translateY(0px); + -ms-transform: translateY(0px); + transform: translateY(0px); + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@keyframes barrageOut { + 0% { + -webkit-transform: translateY(0px); + -moz-transform: translateY(0px); + -o-transform: translateY(0px); + -ms-transform: translateY(0px); + transform: translateY(0px); + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@-moz-keyframes toLeftFull { + 0% { + -webkit-transform: translateX(200%); + -moz-transform: translateX(200%); + -o-transform: translateX(200%); + -ms-transform: translateX(200%); + transform: translateX(200%); + } + 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} +@-webkit-keyframes toLeftFull { + 0% { + -webkit-transform: translateX(200%); + -moz-transform: translateX(200%); + -o-transform: translateX(200%); + -ms-transform: translateX(200%); + transform: translateX(200%); + } + 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} +@-o-keyframes toLeftFull { + 0% { + -webkit-transform: translateX(200%); + -moz-transform: translateX(200%); + -o-transform: translateX(200%); + -ms-transform: translateX(200%); + transform: translateX(200%); + } + 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} +@keyframes toLeftFull { + 0% { + -webkit-transform: translateX(200%); + -moz-transform: translateX(200%); + -o-transform: translateX(200%); + -ms-transform: translateX(200%); + transform: translateX(200%); + } + 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} +@-moz-keyframes toRightFull { + 0% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + 100% { + -webkit-transform: translateX(200%); + -moz-transform: translateX(200%); + -o-transform: translateX(200%); + -ms-transform: translateX(200%); + transform: translateX(200%); + } +} +@-webkit-keyframes toRightFull { + 0% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + 100% { + -webkit-transform: translateX(200%); + -moz-transform: translateX(200%); + -o-transform: translateX(200%); + -ms-transform: translateX(200%); + transform: translateX(200%); + } +} +@-o-keyframes toRightFull { + 0% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + 100% { + -webkit-transform: translateX(200%); + -moz-transform: translateX(200%); + -o-transform: translateX(200%); + -ms-transform: translateX(200%); + transform: translateX(200%); + } +} +@keyframes toRightFull { + 0% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + 100% { + -webkit-transform: translateX(200%); + -moz-transform: translateX(200%); + -o-transform: translateX(200%); + -ms-transform: translateX(200%); + transform: translateX(200%); + } +} +@-moz-keyframes breathe { + 0% { + -webkit-transform: scale(0.97); + -moz-transform: scale(0.97); + -o-transform: scale(0.97); + -ms-transform: scale(0.97); + transform: scale(0.97); + } + 50% { + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); + } + 100% { + -webkit-transform: scale(0.97); + -moz-transform: scale(0.97); + -o-transform: scale(0.97); + -ms-transform: scale(0.97); + transform: scale(0.97); + } +} +@-webkit-keyframes breathe { + 0% { + -webkit-transform: scale(0.97); + -moz-transform: scale(0.97); + -o-transform: scale(0.97); + -ms-transform: scale(0.97); + transform: scale(0.97); + } + 50% { + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); + } + 100% { + -webkit-transform: scale(0.97); + -moz-transform: scale(0.97); + -o-transform: scale(0.97); + -ms-transform: scale(0.97); + transform: scale(0.97); + } +} +@-o-keyframes breathe { + 0% { + -webkit-transform: scale(0.97); + -moz-transform: scale(0.97); + -o-transform: scale(0.97); + -ms-transform: scale(0.97); + transform: scale(0.97); + } + 50% { + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); + } + 100% { + -webkit-transform: scale(0.97); + -moz-transform: scale(0.97); + -o-transform: scale(0.97); + -ms-transform: scale(0.97); + transform: scale(0.97); + } +} +@keyframes breathe { + 0% { + -webkit-transform: scale(0.97); + -moz-transform: scale(0.97); + -o-transform: scale(0.97); + -ms-transform: scale(0.97); + transform: scale(0.97); + } + 50% { + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); + } + 100% { + -webkit-transform: scale(0.97); + -moz-transform: scale(0.97); + -o-transform: scale(0.97); + -ms-transform: scale(0.97); + transform: scale(0.97); + } +} +@-moz-keyframes animate-in-and-out { + entry 0% { + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + -webkit-transform: scaleX(0.9); + -moz-transform: scaleX(0.9); + -o-transform: scaleX(0.9); + -ms-transform: scaleX(0.9); + transform: scaleX(0.9); + } + entry 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scaleX(1); + -moz-transform: scaleX(1); + -o-transform: scaleX(1); + -ms-transform: scaleX(1); + transform: scaleX(1); + } +} +@-webkit-keyframes animate-in-and-out { + entry 0% { + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + -webkit-transform: scaleX(0.9); + -moz-transform: scaleX(0.9); + -o-transform: scaleX(0.9); + -ms-transform: scaleX(0.9); + transform: scaleX(0.9); + } + entry 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scaleX(1); + -moz-transform: scaleX(1); + -o-transform: scaleX(1); + -ms-transform: scaleX(1); + transform: scaleX(1); + } +} +@-o-keyframes animate-in-and-out { + entry 0% { + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + -webkit-transform: scaleX(0.9); + -moz-transform: scaleX(0.9); + -o-transform: scaleX(0.9); + -ms-transform: scaleX(0.9); + transform: scaleX(0.9); + } + entry 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scaleX(1); + -moz-transform: scaleX(1); + -o-transform: scaleX(1); + -ms-transform: scaleX(1); + transform: scaleX(1); + } +} +@keyframes animate-in-and-out { + entry 0% { + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + -webkit-transform: scaleX(0.9); + -moz-transform: scaleX(0.9); + -o-transform: scaleX(0.9); + -ms-transform: scaleX(0.9); + transform: scaleX(0.9); + } + entry 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scaleX(1); + -moz-transform: scaleX(1); + -o-transform: scaleX(1); + -ms-transform: scaleX(1); + transform: scaleX(1); + } +} +@-moz-keyframes slide-in { + 0% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-webkit-keyframes slide-in { + 0% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-o-keyframes slide-in { + 0% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@keyframes slide-in { + 0% { + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -o-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-moz-keyframes floating { + 0% { + -webkit-transform: translate(0, -4px); + -moz-transform: translate(0, -4px); + -o-transform: translate(0, -4px); + -ms-transform: translate(0, -4px); + transform: translate(0, -4px); + } + 50% { + -webkit-transform: translate(0, 4px); + -moz-transform: translate(0, 4px); + -o-transform: translate(0, 4px); + -ms-transform: translate(0, 4px); + transform: translate(0, 4px); + } + 100% { + -webkit-transform: translate(0, -4px); + -moz-transform: translate(0, -4px); + -o-transform: translate(0, -4px); + -ms-transform: translate(0, -4px); + transform: translate(0, -4px); + } +} +@-webkit-keyframes floating { + 0% { + -webkit-transform: translate(0, -4px); + -moz-transform: translate(0, -4px); + -o-transform: translate(0, -4px); + -ms-transform: translate(0, -4px); + transform: translate(0, -4px); + } + 50% { + -webkit-transform: translate(0, 4px); + -moz-transform: translate(0, 4px); + -o-transform: translate(0, 4px); + -ms-transform: translate(0, 4px); + transform: translate(0, 4px); + } + 100% { + -webkit-transform: translate(0, -4px); + -moz-transform: translate(0, -4px); + -o-transform: translate(0, -4px); + -ms-transform: translate(0, -4px); + transform: translate(0, -4px); + } +} +@-o-keyframes floating { + 0% { + -webkit-transform: translate(0, -4px); + -moz-transform: translate(0, -4px); + -o-transform: translate(0, -4px); + -ms-transform: translate(0, -4px); + transform: translate(0, -4px); + } + 50% { + -webkit-transform: translate(0, 4px); + -moz-transform: translate(0, 4px); + -o-transform: translate(0, 4px); + -ms-transform: translate(0, 4px); + transform: translate(0, 4px); + } + 100% { + -webkit-transform: translate(0, -4px); + -moz-transform: translate(0, -4px); + -o-transform: translate(0, -4px); + -ms-transform: translate(0, -4px); + transform: translate(0, -4px); + } +} +@keyframes floating { + 0% { + -webkit-transform: translate(0, -4px); + -moz-transform: translate(0, -4px); + -o-transform: translate(0, -4px); + -ms-transform: translate(0, -4px); + transform: translate(0, -4px); + } + 50% { + -webkit-transform: translate(0, 4px); + -moz-transform: translate(0, 4px); + -o-transform: translate(0, 4px); + -ms-transform: translate(0, 4px); + transform: translate(0, 4px); + } + 100% { + -webkit-transform: translate(0, -4px); + -moz-transform: translate(0, -4px); + -o-transform: translate(0, -4px); + -ms-transform: translate(0, -4px); + transform: translate(0, -4px); + } +} +i.anzhiyu-icon-hashtag { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + font-size: 13px; +} +:root { + --animation-on: cubic-bezier(0.6, 0.1, 0, 1); + --animation-in: cubic-bezier(0.6, 0.2, 0.25, 1); + --animation-ot: opacity 0.5s var(--animation-in) backwards, transform 1s var(--animation-in) backwards; + --animation-otf: opacity 0.5s var(--animation-in) backwards, transform 1s var(--animation-in) backwards, filter 0.7s var(--animation-in) backwards; + --global-font-size: 16px; + --global-bg: #fff; + --font-color: #4c4948; + --hr-border: rgba(161,172,247,0.137); + --hr-before-color: rgba(123,139,244,0.137); + --search-bg: #f6f8fa; + --search-input-color: #4c4948; + --search-result-title: #4c4948; + --preloader-bg: #37474f; + --preloader-color: #fff; + --tab-border-color: #f0f0f0; + --tab-botton-bg: #f0f0f0; + --tab-botton-color: #1f2d3d; + --tab-button-hover-bg: #dcdcdc; + --tab-button-active-bg: #fff; + --card-bg: #fff; + --sidebar-bg: #f6f8fa; + --btn-hover-color: #ff7242; + --btn-color: #fff; + --btn-bg: var(--anzhiyu-main); + --text-bg-hover: rgba(66,90,239,0.7); + --light-grey: #eee; + --dark-grey: #cacaca; + --white: #fff; + --text-highlight-color: #1f2d3d; + --blockquote-color: #6a737d; + --blockquote-bg: rgba(66,90,239,0.1); + --reward-pop: #f5f5f5; + --toc-link-color: #666261; + --card-box-shadow: 0 3px 8px 6px rgba(7,17,27,0.05); + --card-hover-box-shadow: 0 3px 8px 6px rgba(7,17,27,0.09); + --pseudo-hover: #ff7242; + --headline-presudo: var(--anzhiyu-fontcolor); + --scrollbar-color: var(--anzhiyu-scrollbar); + --anzhiyu-snackbar-time: 2000ms; + --anzhiyu-deep-purple: #405589; + --anzhiyu-meta-theme-color: #f7f9fe; + --anzhiyu-bar-background: var(--anzhiyu-main); + --anzhiyu-theme-op: rgba(66,89,239,0.137); + --anzhiyu-card-bg-none: rgba(255,255,255,0); + --anzhiyu-main-op-deep: var(--anzhiyu-theme-op-deep) !important; + --anzhiyu-gray-op: rgba(153,153,153,0.169); + --anzhiyu-theme-top: var(--anzhiyu-theme); + --anzhiyu-white: #fff; + --anzhiyu-white-op: rgba(255,255,255,0.2); + --anzhiyu-black: #000; + --anzhiyu-black-op: rgba(0,0,0,0.2); + --anzhiyu-none: rgba(0,0,0,0); + --anzhiyu-gray: #999; + --anzhiyu-yellow: #ffc93e; + --anzhiyu-orange: #e38100; + --anzhiyu-blue-hover: #5390e6; + --anzhiyu-radius-full: 50px; + --anzhiyu-radius: 8px; + --anzhiyu-border-radius: 8px; + --anzhiyu-main: var(--anzhiyu-theme); + --anzhiyu-main-op: var(--anzhiyu-theme-op); + --anzhiyu-shadow-theme: 0 8px 12px -3px var(--anzhiyu-theme-op); + --anzhiyu-shadow-main: 0 8px 12px -3px var(--anzhiyu-main-op); + --anzhiyu-shadow-blue: 0 8px 12px -3px rgba(40,109,234,0.2); + --anzhiyu-shadow-white: 0 8px 12px -3px rgba(255,255,255,0.2); + --anzhiyu-shadow-black: 0 0 12px 4px rgba(0,0,0,0.05); + --anzhiyu-shadow-yellow: 0px 38px 77px -26px rgba(255,201,62,0.12); + --anzhiyu-shadow-red: 0 8px 12px -3px rgba(238,125,121,0.212); + --anzhiyu-shadow-green: 0 8px 12px -3px rgba(135,238,121,0.212); + --anzhiyu-shadow-border: 0 8px 16px -4px rgba(44,45,48,0.047); + --anzhiyu-shadow-blackdeep: 0 2px 16px -3px rgba(0,0,0,0.15); + --anzhiyu-logo-color: linear-gradient(215deg, #4584ff 0%, #cf0db9 100%); + --anzhiyu-code-stress: var(--anzhiyu-main); + --style-border: 1px solid var(--anzhiyu-card-border); + --anzhiyu-blue-main: #425aef; + --style-border-hover: 1px solid var(--anzhiyu-main); + --style-border-dashed: 1px dashed var(--anzhiyu-theme-op); + --style-border-avatar: 5px solid var(--anzhiyu-white); + --style-border-always: 1px solid var(--anzhiyu-card-border); + --style-border-none: 1px solid transparent; + --style-border-deep-ash: 1px solid #d0d7de; + --style-border-hover-always: 1px solid var(--anzhiyu-main); + --anzhiyu-main-none: rgba(184,184,184,0) !important; + --anzhiyu-wihite-font: #fff; +} +@media (prefers-color-scheme: light) { +} +[data-theme="light"] { + --anzhiyu-meta-theme-post-color: #fff; + --anzhiyu-meta-theme-color: #f7f9fe; + --anzhiyu-theme-op-deep: rgba(66,89,239,0.867); + --global-bg: #f7f9fe; + --anzhiyu-theme: #425aef; + --anzhiyu-theme-deep: #1856fb; + --anzhiyu-theme-op: rgba(66,89,239,0.137); + --anzhiyu-blue: #5ca1ff; + --anzhiyu-blue-tint: rgba(92,161,255,0.1); + --anzhiyu-red: #d8213c; + --anzhiyu-pink: #ff7c7c; + --anzhiyu-green: #57bd6a; + --anzhiyu-fontcolor: #363636; + --anzhiyu-background: #f7f9fe; + --anzhiyu-reverse: #000; + --anzhiyu-maskbg: rgba(255,255,255,0.6); + --anzhiyu-maskbgdeep: rgba(255,255,255,0.85); + --anzhiyu-scrollbar: rgba(60,60,67,0.4); + --anzhiyu-hovertext: var(--anzhiyu-theme); + --anzhiyu-ahoverbg: #f7f7fa; + --anzhiyu-lighttext: var(--anzhiyu-main); + --anzhiyu-secondtext: rgba(60,60,67,0.8); + --anzhiyu-scrollbar: rgba(60,60,67,0.4); + --anzhiyu-card-btn-bg: #edf0f7; + --anzhiyu-post-blockquote-bg: #fafcff; + --anzhiyu-post-tabs-bg: #f2f5f8; + --anzhiyu-secondbg: #f7f7f9; + --anzhiyu-shadow-nav: 0 5px 12px -5px rgba(102,68,68,0.05); + --anzhiyu-card-bg: #fff; + --anzhiyu-shadow-lightblack: 0 5px 12px -5px rgba(102,68,68,0); + --anzhiyu-shadow-light2black: 0 5px 12px -5px rgba(102,68,68,0); + --anzhiyu-card-border: #e3e8f7; + --anzhiyu-shadow-lightblack: 0 5px 12px -5px rgba(102,68,68,0); + --anzhiyu-shadow-light2black: 0 5px 12px -5px rgba(102,68,68,0); + --anzhiyu-wihite-font: #fff; +} +@media (prefers-color-scheme: dark) { +} +[data-theme="dark"] { + --anzhiyu-meta-theme-post-color: #1d1e22; + --anzhiyu-meta-theme-color: #000; + --anzhiyu-blue: #5ca1ff; + --anzhiyu-blue-tint: rgba(92,161,255,0.1); + --anzhiyu-theme-op-deep: rgba(0,132,255,0.867); + --global-bg: #18171d; + --anzhiyu-theme: #f2b94b; + --anzhiyu-theme-deep: #0076e5; + --anzhiyu-theme-op: rgba(242,185,75,0.137); + --anzhiyu-blue: #0084ff; + --anzhiyu-red: #ff3842; + --anzhiyu-pink: #ff7c7c; + --anzhiyu-green: #57bd6a; + --anzhiyu-fontcolor: #f7f7fa; + --anzhiyu-background: #18171d; + --anzhiyu-reverse: #fff; + --anzhiyu-maskbg: rgba(0,0,0,0.6); + --anzhiyu-maskbgdeep: rgba(0,0,0,0.85); + --anzhiyu-hovertext: #0a84ff; + --anzhiyu-ahoverbg: #fff; + --anzhiyu-scrollbar: rgba(200,200,223,0.4); + --anzhiyu-lighttext: #f2b94b; + --anzhiyu-secondtext: #a1a2b8; + --anzhiyu-scrollbar: rgba(200,200,223,0.4); + --anzhiyu-card-btn-bg: #30343f; + --anzhiyu-post-blockquote-bg: #000; + --anzhiyu-post-tabs-bg: #121212; + --anzhiyu-secondbg: #21232a; + --anzhiyu-shadow-nav: 0 5px 20px 0px rgba(28,28,28,0.4); + --anzhiyu-card-bg: #1d1e22; + --anzhiyu-shadow-lightblack: 0 5px 12px -5px rgba(102,68,68,0); + --anzhiyu-shadow-light2black: 0 5px 12px -5px rgba(102,68,68,0); + --anzhiyu-card-border: #42444a; + --anzhiyu-shadow-lightblack: 0 5px 12px -5px rgba(102,68,68,0); + --anzhiyu-shadow-light2black: 0 5px 12px -5px rgba(102,68,68,0); + --anzhiyu-wihite-font: #f6f6f6; +} +body { + position: relative; + min-height: 100%; + background: var(--global-bg); + color: var(--font-color); + font-size: var(--global-font-size); + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Lato, Roboto, 'PingFang SC', 'Microsoft YaHei', sans-serif; + line-height: 2; + -webkit-tap-highlight-color: rgba(0,0,0,0); +} +*::-webkit-scrollbar { + width: 6px; + height: 6px; +} +*::-webkit-scrollbar-thumb { + background: var(--scrollbar-color); + border-radius: 8px; + cursor: pointer; +} +*::-webkit-scrollbar-track { + background-color: transparent; +} +::-webkit-scrollbar-corner { + background-color: transparent; +} +* { + scrollbar-width: thin; + scrollbar-color: var(--scrollbar-color) transparent; +} +input::placeholder { + color: var(--font-color); +} +#web_bg { + position: fixed; + z-index: -999; + width: 200%; + height: 200%; + top: -50%; + left: -50%; + -webkit-transform: rotate(-1deg); + -moz-transform: rotate(-1deg); + -o-transform: rotate(-1deg); + -ms-transform: rotate(-1deg); + transform: rotate(-1deg); + -webkit-overflow-scrolling: touch; + background: var(--anzhiyu-background); + background-attachment: local; + background-position: center; + background-size: cover; + background-repeat: no-repeat; +} +h1, +h2, +h3, +h4, +h5, +h6 { + position: relative; + margin: 20px 0 14px; + color: var(--text-highlight-color); + font-weight: bold; +} +h1 code, +h2 code, +h3 code, +h4 code, +h5 code, +h6 code { + font-size: inherit !important; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +hr { + position: relative; + margin: 40px auto; + border: 2px dashed var(--hr-border); + width: calc(100% - 4px); +} +hr:hover:before { + left: calc(95% - 20px); +} +hr:before { + position: absolute; + top: -10px; + left: 5%; + z-index: 1; + color: var(--hr-before-color); + content: '\f0c4'; + font-size: 16px; + line-height: 1; + -webkit-transition: all 1s ease-in-out; + -moz-transition: all 1s ease-in-out; + -o-transition: all 1s ease-in-out; + -ms-transition: all 1s ease-in-out; + transition: all 1s ease-in-out; +} +html { + overflow-y: overlay; +} +.table-wrap { + overflow-x: scroll; + margin: 1rem 0; + border-radius: 8px; +} +table { + display: table; + width: 100%; + border-spacing: 0; + border-collapse: collapse; + empty-cells: show; +} +table thead { + background: var(--anzhiyu-secondbg); +} +table th, +table td { + padding: 0.3rem 0.6rem; + vertical-align: middle; + border: var(--style-border-always); +} +*::selection { + background: #2128bd; + color: #f7f7f7; +} +button { + padding: 0; + outline: 0; + border: none; + background: none; + cursor: pointer; + touch-action: manipulation; +} +a { + color: var(--anzhiyu-fontcolor); + text-decoration: none; + word-wrap: break-word; + -webkit-transition: all 0.2s ease 0s; + -moz-transition: all 0.2s ease 0s; + -o-transition: all 0.2s ease 0s; + -ms-transition: all 0.2s ease 0s; + transition: all 0.2s ease 0s; + overflow-wrap: break-word; +} +a:hover { + color: #425aef; +} +#site-title, +#site-subtitle, +#site-name, +#aside-content .author-info__name, +#aside-content .author-info__description { + font-family: PingFang SC, 'Hiragino Sans GB', 'Microsoft JhengHei', 'Microsoft YaHei', sans-serif; +} +.is-center { + text-align: center; +} +.copy-true { + -webkit-user-select: all; + -moz-user-select: all; + -ms-user-select: all; + user-select: all; +} +.pull-left { + float: left; +} +.pull-right { + float: right; +} +img[src=''], +img:not([src]) { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +img[data-lazy-src]:not(.loaded) { + filter: blur(8px) brightness(1); +} +img[data-lazy-src].error { + filter: none; + opacity: 1 !important; + -ms-filter: none !important; + filter: none !important; +} +img[data-lazy-src]:not(.loaded) { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +img[src=''], +img:not([src]) { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +.img-alt { + font-size: 12px; + margin: 0; + margin-top: 8px; + color: var(--anzhiyu-secondtext); +} +.img-alt:hover { + text-decoration: none !important; +} +blockquote { + margin: 0 0 20px; + padding: 12px 15px; + border-left: 3px solid #425aef; + background-color: var(--blockquote-bg); + color: var(--blockquote-color); +} +blockquote footer cite:before { + padding: 0 5px; + content: '—'; +} +blockquote > :last-child { + margin-bottom: 0 !important; +} +#single_top { + padding: 1.875rem 1.5rem 0; + max-width: 1400px; + width: 100%; + margin: 0 auto; +} +@media screen and (max-width: 768px) { + #single_top + #content-inner { + padding: 1.875rem 0rem 0; + } +} +.loading-bg { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + width: 100%; + height: 100%; + position: fixed; + background: var(--anzhiyu-card-bg); + z-index: 1001; + opacity: 1; + -ms-filter: none; + filter: none; + overflow: hidden; + -webkit-transition: 0.2s; + -moz-transition: 0.2s; + -o-transition: 0.2s; + -ms-transition: 0.2s; + transition: 0.2s; + -webkit-animation: showLoading 0.3s 0s backwards; + -moz-animation: showLoading 0.3s 0s backwards; + -o-animation: showLoading 0.3s 0s backwards; + -ms-animation: showLoading 0.3s 0s backwards; + animation: showLoading 0.3s 0s backwards; +} +.loading-bg::-webkit-scrollbar { + display: none; +} +#loading-box { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +#loading-box .loading-img { + width: 100px; + height: 100px; + border-radius: 50%; + margin: auto; + border: 4px solid #f0f0f2; + -webkit-animation-duration: 0.2s; + -moz-animation-duration: 0.2s; + -o-animation-duration: 0.2s; + -ms-animation-duration: 0.2s; + animation-duration: 0.2s; + -webkit-animation-name: loadingAction; + -moz-animation-name: loadingAction; + -o-animation-name: loadingAction; + -ms-animation-name: loadingAction; + animation-name: loadingAction; + -webkit-animation-iteration-count: infinite; + -moz-animation-iteration-count: infinite; + -o-animation-iteration-count: infinite; + -ms-animation-iteration-count: infinite; + animation-iteration-count: infinite; + -webkit-animation-direction: alternate; + -moz-animation-direction: alternate; + -o-animation-direction: alternate; + -ms-animation-direction: alternate; + animation-direction: alternate; +} +#loading-box .loading-image-dot { + width: 30px; + height: 30px; + background: #6bdf8f; + position: absolute; + border-radius: 50%; + border: 6px solid #fff; + top: 50%; + left: 50%; + -webkit-transform: translate(18px, 24px); + -moz-transform: translate(18px, 24px); + -o-transform: translate(18px, 24px); + -ms-transform: translate(18px, 24px); + transform: translate(18px, 24px); +} +#loading-box.loaded .loading-bg { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + z-index: -1000; +} +@-moz-keyframes loadingAction { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +@-webkit-keyframes loadingAction { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +@-o-keyframes loadingAction { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +@keyframes loadingAction { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +:root { + --hl-color: #90a4ae; + --hl-bg: #f6f8fa; + --hltools-bg: var(--anzhiyu-secondbg); + --hltools-color: var(--anzhiyu-fontcolor); + --hlnumber-bg: #f6f8fa; + --hlnumber-color: rgba(144,164,174,0.5); + --hlscrollbar-bg: #dce4eb; + --hlexpand-bg: linear-gradient(180deg, rgba(246,248,250,0.6), rgba(246,248,250,0.9)); +} +[data-theme='dark'] { + --hl-color: rgba(255,255,255,0.7); + --hl-bg: #171717; + --hltools-bg: #1a1a1a; + --hltools-color: #90a4ae; + --hlnumber-bg: #171717; + --hlnumber-color: rgba(255,255,255,0.4); + --hlscrollbar-bg: #1f1f1f; + --hlexpand-bg: linear-gradient(180deg, rgba(23,23,23,0.6), rgba(23,23,23,0.9)); +} +figure.highlight table { + scrollbar-color: var(--hlscrollbar-bg) transparent; +} +figure.highlight table::-webkit-scrollbar-thumb { + background: var(--hlscrollbar-bg); +} +figure.highlight pre .deletion { + color: #bf42bf; +} +figure.highlight pre .addition { + color: #105ede; +} +figure.highlight pre .meta { + color: #7c4dff; +} +figure.highlight pre .comment { + color: #969896; +} +figure.highlight pre .variable, +figure.highlight pre .attribute, +figure.highlight pre .regexp, +figure.highlight pre .ruby .constant, +figure.highlight pre .xml .tag .title, +figure.highlight pre .xml .pi, +figure.highlight pre .xml .doctype, +figure.highlight pre .html .doctype, +figure.highlight pre .css .id, +figure.highlight pre .tag .name, +figure.highlight pre .css .class, +figure.highlight pre .css .pseudo { + color: #e53935; +} +figure.highlight pre .tag { + color: #39adb5; +} +figure.highlight pre .number, +figure.highlight pre .preprocessor, +figure.highlight pre .literal, +figure.highlight pre .params, +figure.highlight pre .constant, +figure.highlight pre .command { + color: #f76d47; +} +figure.highlight pre .built_in { + color: #ffb62c; +} +figure.highlight pre .ruby .class .title, +figure.highlight pre .css .rules .attribute, +figure.highlight pre .string, +figure.highlight pre .value, +figure.highlight pre .inheritance, +figure.highlight pre .header, +figure.highlight pre .ruby .symbol, +figure.highlight pre .xml .cdata, +figure.highlight pre .special, +figure.highlight pre .number, +figure.highlight pre .formula { + color: #91b859; +} +figure.highlight pre .keyword, +figure.highlight pre .title, +figure.highlight pre .css .hexcolor { + color: #39adb5; +} +figure.highlight pre .function, +figure.highlight pre .python .decorator, +figure.highlight pre .python .title, +figure.highlight pre .ruby .function .title, +figure.highlight pre .ruby .title .keyword, +figure.highlight pre .perl .sub, +figure.highlight pre .javascript .title, +figure.highlight pre .coffeescript .title { + color: #6182b8; +} +figure.highlight pre .tag .attr, +figure.highlight pre .javascript .function { + color: #7c4dff; +} +#article-container > header { + height: 0; + text-indent: -9999px; +} +#article-container > header time, +#article-container > header span { + height: 0; + display: block; +} +#article-container > header h1 { + z-index: -1; + pointer-events: none; +} +#article-container > header a { + background: none !important; + border-bottom: none !important; +} +#article-container figure.highlight .line.marked { + background-color: rgba(128,203,196,0.251); +} +#article-container figure.highlight table { + display: block; + overflow: auto; + border: none; +} +#article-container figure.highlight table td { + padding: 0; + border: none; +} +#article-container figure.highlight .gutter pre { + padding-right: 0.625rem; + padding-left: 1.25rem; + background: var(--anzhiyu-secondbg); + background-color: var(--anzhiyu-secondbg); + border-right: var(--style-border-always); + padding-right: 0.5rem; + padding-left: 0.5rem; + color: var(--hlnumber-color); + text-align: right; +} +#article-container figure.highlight .code pre { + padding-right: 10px; + padding-left: 10px; + width: 100%; +} +#article-container pre, +#article-container figure.highlight { + overflow: auto; + margin: 0 0 20px; + padding: 0; + background: var(--anzhiyu-card-bg); + border: var(--style-border-always); + color: var(--hl-color); + line-height: 1.6; +} +#article-container pre, +#article-container code { + font-size: var(--global-font-size); + font-family: consolas, Menlo, "PingFang SC", "Microsoft JhengHei", "Microsoft YaHei", sans-serif !important; +} +#article-container code { + padding: 2px 4px; + background: var(--anzhiyu-code-stress); + color: #fff; +} +#article-container pre { + padding: 10px 20px; +} +#article-container pre code { + padding: 0; + background: none; + color: var(--hl-color); + text-shadow: none; +} +#article-container figure.highlight { + position: relative; +} +#article-container figure.highlight pre { + margin: 0; + padding: 8px 0; + border: none; +} +#article-container figure.highlight figcaption, +#article-container figure.highlight .caption { + padding: 6px 0 2px 14px; + font-size: var(--global-font-size); + line-height: 1em; +} +#article-container figure.highlight figcaption a, +#article-container figure.highlight .caption a { + float: right; + padding-right: 10px; + color: var(--hl-color); +} +#article-container figure.highlight figcaption a:hover, +#article-container figure.highlight .caption a:hover { + border-bottom-color: var(--hl-color); +} +#article-container .highlight-tools { + position: relative; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + overflow: hidden; + min-height: 24px; + height: 2.15em; + background: var(--hltools-bg); + color: var(--hltools-color); + font-size: var(--global-font-size); + border-bottom: var(--style-border-always); +} +#article-container .highlight-tools.closed ~ * { + display: none; +} +#article-container .highlight-tools.closed .expand { + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; + -webkit-transform: rotate(-90deg) !important; + -moz-transform: rotate(-90deg) !important; + -o-transform: rotate(-90deg) !important; + -ms-transform: rotate(-90deg) !important; + transform: rotate(-90deg) !important; +} +#article-container .highlight-tools .expand { + position: absolute; + padding: 0.57em 0.7em; + cursor: pointer; + -webkit-transition: -webkit-transform 0.3s; + -moz-transition: -moz-transform 0.3s; + -o-transition: -o-transform 0.3s; + -ms-transition: -ms-transform 0.3s; + transition: transform 0.3s; +} +#article-container .highlight-tools .expand + .code-lang { + left: 1.7em; +} +#article-container .highlight-tools .code-lang { + position: absolute; + left: 14px; + text-transform: uppercase; + font-weight: bold; + font-size: 1.15em; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +#article-container .highlight-tools .copy-notice { + position: absolute; + right: 2.4em; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: opacity 0.4s; + -moz-transition: opacity 0.4s; + -o-transition: opacity 0.4s; + -ms-transition: opacity 0.4s; + transition: opacity 0.4s; +} +#article-container .highlight-tools .copy-button { + position: absolute; + right: 14px; + cursor: pointer; + -webkit-transition: color 0.2s; + -moz-transition: color 0.2s; + -o-transition: color 0.2s; + -ms-transition: color 0.2s; + transition: color 0.2s; +} +#article-container .highlight-tools .copy-button:hover { + color: var(--anzhiyu-main); +} +#article-container .gutter { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +#article-container .gist table { + width: auto; +} +#article-container .gist table td { + border: none; +} +#article-container .code-expand-btn { + position: absolute; + bottom: 0px; + z-index: 10; + width: 100%; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; + font-size: 20px; + background: var(--anzhiyu-secondbg); + text-align: center; + font-size: var(--global-font-size); + cursor: pointer; + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -o-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + position: absolute; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + height: 32px; + font-size: 16px; +} +#article-container .code-expand-btn:hover { + background: var(--anzhiyu-main); +} +#article-container .code-expand-btn:hover i { + color: var(--anzhiyu-white); +} +#article-container .code-expand-btn i { + color: var(--anzhiyu-fontcolor); + -webkit-animation: 1.2s ease 0s infinite normal none running code-expand-key; + -moz-animation: 1.2s ease 0s infinite normal none running code-expand-key; + -o-animation: 1.2s ease 0s infinite normal none running code-expand-key; + -ms-animation: 1.2s ease 0s infinite normal none running code-expand-key; + animation: 1.2s ease 0s infinite normal none running code-expand-key; +} +#article-container .code-expand-btn.expand-done { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + -webkit-transition: all 0s, background 0.3s; + -moz-transition: all 0s, background 0.3s; + -o-transition: all 0s, background 0.3s; + -ms-transition: all 0s, background 0.3s; + transition: all 0s, background 0.3s; +} +#article-container .code-expand-btn.expand-done + table, +#article-container .code-expand-btn.expand-done + pre { + margin-bottom: 1.8em; +} +#article-container .code-expand-btn:not(.expand-done) ~ table, +#article-container .code-expand-btn:not(.expand-done) ~ pre { + overflow: hidden; + height: 330px; +} +@-moz-keyframes code-expand-key { + 0% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } + 50% { + opacity: 0.1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)"; + filter: alpha(opacity=10); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +@-webkit-keyframes code-expand-key { + 0% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } + 50% { + opacity: 0.1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)"; + filter: alpha(opacity=10); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +@-o-keyframes code-expand-key { + 0% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } + 50% { + opacity: 0.1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)"; + filter: alpha(opacity=10); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +@keyframes code-expand-key { + 0% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } + 50% { + opacity: 0.1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)"; + filter: alpha(opacity=10); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +.error404 #error-wrap { + position: absolute; + top: 50%; + right: 0; + left: 0; + margin: 0 auto; + padding: 60px 20px 0; + max-width: 1000px; + -webkit-transform: translate(0, -50%); + -moz-transform: translate(0, -50%); + -o-transform: translate(0, -50%); + -ms-transform: translate(0, -50%); + transform: translate(0, -50%); +} +.error404 #error-wrap .error-content { + overflow: hidden; + margin: 0 20px; + height: 360px; +} +@media screen and (max-width: 768px) { + .error404 #error-wrap .error-content { + margin: 0; + height: 500px; + } +} +.error404 #error-wrap .error-content .error-img { + display: inline-block; + overflow: hidden; + width: 50%; + height: 100%; +} +@media screen and (max-width: 768px) { + .error404 #error-wrap .error-content .error-img { + width: 100%; + height: 45%; + } +} +.error404 #error-wrap .error-content .error-img img { + background-color: #425aef; +} +.error404 #error-wrap .error-content .error-info { + display: -webkit-inline-box; + display: -moz-inline-box; + display: -webkit-inline-flex; + display: -ms-inline-flexbox; + display: inline-box; + display: inline-flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -ms-flex-line-pack: center; + -webkit-align-content: center; + align-content: center; + width: 50%; + height: 100%; + vertical-align: top; + text-align: center; + font-family: PingFang SC, 'Hiragino Sans GB', 'Microsoft JhengHei', 'Microsoft YaHei', sans-serif; +} +@media screen and (max-width: 768px) { + .error404 #error-wrap .error-content .error-info { + width: 100%; + height: 55%; + } +} +.error404 #error-wrap .error-content .error-info .error_title { + margin-top: -0.6em; + font-size: 9em; +} +@media screen and (max-width: 768px) { + .error404 #error-wrap .error-content .error-info .error_title { + font-size: 8em; + } +} +.error404 #error-wrap .error-content .error-info .error_subtitle { + margin-top: -3em; + word-break: break-word; + font-size: 1.6em; + -webkit-line-clamp: 2; +} +.error404 + #rightside { + display: none; +} +body[data-type='about'] #page { + border: 0; + -webkit-box-shadow: none !important; + box-shadow: none !important; + padding: 0 !important; + background: transparent !important; +} +body[data-type='about'] #page .page-title { + display: none; +} +body[data-type='about'] .page #footer-wrap { + opacity: 1; + -ms-filter: none; + filter: none; + overflow: visible; + height: auto !important; + min-height: 16px; + color: #666; +} +body[data-type='about'] #web_bg { + background: var(--anzhiyu-background); +} +#about-page { + padding-top: 1rem; +} +#about-page .author-box { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + margin: 0 0 16px 0; +} +#about-page .author-box .author-tag-left { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: end; + -moz-box-align: end; + -o-box-align: end; + -ms-flex-align: end; + -webkit-align-items: flex-end; + align-items: flex-end; +} +@media screen and (max-width: 768px) { + #about-page .author-box .author-tag-left { + display: none; + } +} +#about-page .author-box .author-tag-left .author-tag:first-child, +#about-page .author-box .author-tag-left .author-tag:last-child { + margin-right: -16px; +} +#about-page .author-box .author-tag-right { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: start; + -moz-box-align: start; + -o-box-align: start; + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; +} +@media screen and (max-width: 768px) { + #about-page .author-box .author-tag-right { + display: none; + } +} +#about-page .author-box .author-tag-right .author-tag:first-child, +#about-page .author-box .author-tag-right .author-tag:last-child { + margin-left: -16px; +} +#about-page .author-box .author-tag { + -webkit-transform: translate(0, -4px); + -moz-transform: translate(0, -4px); + -o-transform: translate(0, -4px); + -ms-transform: translate(0, -4px); + transform: translate(0, -4px); + padding: 1px 8px; + background: var(--anzhiyu-card-bg); + border: var(--style-border-always); + border-radius: 40px; + margin-top: 6px; + font-size: 14px; + font-weight: 700; + -webkit-box-shadow: var(--anzhiyu-shadow-lightblack); + box-shadow: var(--anzhiyu-shadow-lightblack); + -webkit-animation: 6s ease-in-out 0s infinite normal none running floating; + -moz-animation: 6s ease-in-out 0s infinite normal none running floating; + -o-animation: 6s ease-in-out 0s infinite normal none running floating; + -ms-animation: 6s ease-in-out 0s infinite normal none running floating; + animation: 6s ease-in-out 0s infinite normal none running floating; +} +#about-page .author-box .author-tag:nth-child(1) { + -webkit-animation-delay: 0s; + -moz-animation-delay: 0s; + -o-animation-delay: 0s; + -ms-animation-delay: 0s; + animation-delay: 0s; +} +#about-page .author-box .author-tag:nth-child(2) { + -webkit-animation-delay: 0.6s; + -moz-animation-delay: 0.6s; + -o-animation-delay: 0.6s; + -ms-animation-delay: 0.6s; + animation-delay: 0.6s; +} +#about-page .author-box .author-tag:nth-child(3) { + -webkit-animation-delay: 1.2s; + -moz-animation-delay: 1.2s; + -o-animation-delay: 1.2s; + -ms-animation-delay: 1.2s; + animation-delay: 1.2s; +} +#about-page .author-box .author-tag:nth-child(4) { + -webkit-animation-delay: 1.8s; + -moz-animation-delay: 1.8s; + -o-animation-delay: 1.8s; + -ms-animation-delay: 1.8s; + animation-delay: 1.8s; +} +#about-page .author-box .author-img { + margin: 0 30px; + border-radius: 50%; + width: 180px; + height: 180px; + position: relative; + background: var(--anzhiyu-secondbg); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +@media screen and (max-width: 768px) { + #about-page .author-box .author-img { + width: 120px; + height: 120px; + } +} +#about-page .author-box .author-img img { + border-radius: 50%; + overflow: hidden; + width: 180px; + height: 180px; +} +@media screen and (max-width: 768px) { + #about-page .author-box .author-img img { + width: 120px; + height: 120px; + } +} +#about-page .author-box .author-img:hover { + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); +} +#about-page .author-box .author-img:before { + content: ''; + -webkit-transition: 1s; + -moz-transition: 1s; + -o-transition: 1s; + -ms-transition: 1s; + transition: 1s; + width: 30px; + height: 30px; + background: var(--anzhiyu-green); + position: absolute; + border-radius: 50%; + border: 5px solid var(--anzhiyu-background); + bottom: 5px; + right: 10px; + z-index: 2; +} +@media screen and (max-width: 768px) { + #about-page .author-box .author-img:before { + bottom: -5px; + right: -5px; + } +} +.author-content { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + width: 100%; + margin-top: 1rem; +} +#about-page .myInfoAndSayHello { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + color: var(--anzhiyu-white); + background: -webkit-linear-gradient(330deg, #5b27ff 0, #00d4ff 100%); + background: -moz-linear-gradient(330deg, #5b27ff 0, #00d4ff 100%); + background: -o-linear-gradient(330deg, #5b27ff 0, #00d4ff 100%); + background: -ms-linear-gradient(330deg, #5b27ff 0, #00d4ff 100%); + background: linear-gradient(120deg, #5b27ff 0, #00d4ff 100%); + background-size: 200%; + -webkit-animation: gradient 15s ease infinite; + -moz-animation: gradient 15s ease infinite; + -o-animation: gradient 15s ease infinite; + -ms-animation: gradient 15s ease infinite; + animation: gradient 15s ease infinite; + width: 59%; +} +.author-content-item { + width: 49%; + border-radius: 24px; + background: var(--anzhiyu-card-bg); + border: var(--style-border-always); + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + position: relative; + padding: 1rem 2rem; + overflow: hidden; +} +#about-page .myInfoAndSayHello .title1 { + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); + line-height: 1.3; +} +#about-page .myInfoAndSayHello .title2 { + font-size: 36px; + font-weight: 700; + line-height: 1.1; + margin: 0.5rem 0; +} +.inline-word { + word-break: keep-all; + white-space: nowrap; +} +#about-page .myInfoAndSayHello .title1 { + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); + line-height: 1.3; +} +.author-content-item.aboutsiteTips { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: start; + -moz-box-align: start; + -o-box-align: start; + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + width: 39%; +} +.aboutsiteTips h2 { + margin-right: auto; + font-size: 36px; + font-family: Helvetica; + line-height: 1.06; + letter-spacing: -0.02em; + color: var(--font-color); + margin-top: 0; +} +.aboutsiteTips .mask { + height: 36px; + position: relative; + overflow: hidden; + margin-top: 4px; +} +.aboutsiteTips .mask span { + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + position: absolute; + top: 36px; + padding-bottom: var(--offset); + background-size: 100% 100%; + -webkit-background-clip: text; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-repeat: no-repeat; +} +.aboutsiteTips .mask span[data-show] { + -webkit-transform: translateY(-100%); + -moz-transform: translateY(-100%); + -o-transform: translateY(-100%); + -ms-transform: translateY(-100%); + transform: translateY(-100%); + -webkit-transition: 0.5s -webkit-transform ease-in-out; + -moz-transition: 0.5s -moz-transform ease-in-out; + -o-transition: 0.5s -o-transform ease-in-out; + -ms-transition: 0.5s -ms-transform ease-in-out; + transition: 0.5s transform ease-in-out; +} +.aboutsiteTips .mask span[data-up] { + -webkit-transform: translateY(-200%); + -moz-transform: translateY(-200%); + -o-transform: translateY(-200%); + -ms-transform: translateY(-200%); + transform: translateY(-200%); + -webkit-transition: 0.5s -webkit-transform ease-in-out; + -moz-transition: 0.5s -moz-transform ease-in-out; + -o-transition: 0.5s -o-transform ease-in-out; + -ms-transition: 0.5s -ms-transform ease-in-out; + transition: 0.5s transform ease-in-out; +} +.aboutsiteTips .mask span:nth-child(1) { + background-image: -webkit-linear-gradient(45deg, #0ecffe 50%, #07a6f1); + background-image: -moz-linear-gradient(45deg, #0ecffe 50%, #07a6f1); + background-image: -o-linear-gradient(45deg, #0ecffe 50%, #07a6f1); + background-image: -ms-linear-gradient(45deg, #0ecffe 50%, #07a6f1); + background-image: linear-gradient(45deg, #0ecffe 50%, #07a6f1); +} +.aboutsiteTips .mask span:nth-child(2) { + background-image: -webkit-linear-gradient(45deg, #18e198 50%, #0ec15d); + background-image: -moz-linear-gradient(45deg, #18e198 50%, #0ec15d); + background-image: -o-linear-gradient(45deg, #18e198 50%, #0ec15d); + background-image: -ms-linear-gradient(45deg, #18e198 50%, #0ec15d); + background-image: linear-gradient(45deg, #18e198 50%, #0ec15d); +} +.aboutsiteTips .mask span:nth-child(3) { + background-image: -webkit-linear-gradient(45deg, #8a7cfb 50%, #633e9c); + background-image: -moz-linear-gradient(45deg, #8a7cfb 50%, #633e9c); + background-image: -o-linear-gradient(45deg, #8a7cfb 50%, #633e9c); + background-image: -ms-linear-gradient(45deg, #8a7cfb 50%, #633e9c); + background-image: linear-gradient(45deg, #8a7cfb 50%, #633e9c); +} +.aboutsiteTips .mask span:nth-child(4) { + background-image: -webkit-linear-gradient(45deg, #fa7671 50%, #f45f7f); + background-image: -moz-linear-gradient(45deg, #fa7671 50%, #f45f7f); + background-image: -o-linear-gradient(45deg, #fa7671 50%, #f45f7f); + background-image: -ms-linear-gradient(45deg, #fa7671 50%, #f45f7f); + background-image: linear-gradient(45deg, #fa7671 50%, #f45f7f); +} +@media screen and (max-width: 768px) { + .author-content-item.map { + margin-bottom: 0; + } +} +#about-page .about-statistic { + min-height: 380px; + width: 39%; + background-size: cover; + color: var(--anzhiyu-white); + overflow: hidden; +} +#about-page .about-statistic::after { + -webkit-box-shadow: 0 -159px 173px 71px #0c1c2c inset; + box-shadow: 0 -159px 173px 71px #0c1c2c inset; + position: absolute; + content: ''; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +.author-content-item .card-content { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + z-index: 2; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + padding: 1rem 2rem; +} +.author-content-item .card-content .author-content-item-title { + margin-bottom: 0.5rem; +} +.author-content-item .author-content-item-title { + font-size: 36px; + font-weight: 700; + line-height: 1; +} +#statistic { + font-size: 16px; + border-radius: 15px; + width: 100%; + color: var(--anzhiyu-white); + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-top: 1rem; + margin-bottom: 2rem; +} +#statistic div span:first-child { + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); + font-size: 0.6rem; +} +#statistic div span:last-child { + font-weight: 700; + font-size: 34px; + line-height: 1; + white-space: nowrap; +} +#statistic div { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + width: 50%; + margin-bottom: 0.5rem; +} +.post-tips { + color: var(--anzhiyu-gray); + font-size: 14px; + position: absolute; + bottom: 1rem; + left: 2rem; +} +.post-tips a { + color: var(--anzhiyu-gray) !important; + border: none !important; +} +.author-content-item .card-content .banner-button-group { + position: absolute; + bottom: 1.5rem; + right: 2rem; +} +.author-content-item .card-content .banner-button-group .banner-button { + height: 40px; + width: 140px; + border-radius: 20px; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + background: var(--anzhiyu-card-bg); + color: var(--font-color); + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + z-index: 1; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + cursor: pointer; + border-bottom: 0 !important; +} +.author-content-item .card-content .banner-button-group .banner-button i, +.author-content-item .card-content .banner-button-group .banner-button svg { + font-size: 1rem; +} +.author-content-item .card-content .banner-button-group .banner-button .banner-button-text { + margin-left: 4px; +} +#about-page .author-content-item .card-content .banner-button-group .banner-button i, +#about-page .author-content-item .card-content .banner-button-group .banner-button svg { + font-size: 1.5rem; + margin-right: 0; + height: 40px; + max-width: 40px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + border-radius: 50px; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +.author-content-item .card-content .banner-button-group .banner-button:hover { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white); + border-radius: 20px !important; +} +.author-content-item .card-content .banner-button-group .banner-button:hover i, +.author-content-item .card-content .banner-button-group .banner-button:hover svg .author-content-item.personalities { + background: none !important; +} +.author-content-item.personalities { + width: 59%; +} +.author-content-item.personalities .image { + position: absolute; + right: 30px; + top: 10px; + width: 220px; + -webkit-transition: -webkit-transform 2s cubic-bezier(0.13, 0.45, 0.21, 1.02); + -moz-transition: -moz-transform 2s cubic-bezier(0.13, 0.45, 0.21, 1.02); + -o-transition: -o-transform 2s cubic-bezier(0.13, 0.45, 0.21, 1.02); + -ms-transition: -ms-transform 2s cubic-bezier(0.13, 0.45, 0.21, 1.02); + transition: transform 2s cubic-bezier(0.13, 0.45, 0.21, 1.02); +} +.author-content-item.personalities .image img { + display: block; + margin: 0 auto 20px; + max-width: 100%; + -webkit-transition: filter 375ms ease-in 0.2s; + -moz-transition: filter 375ms ease-in 0.2s; + -o-transition: filter 375ms ease-in 0.2s; + -ms-transition: filter 375ms ease-in 0.2s; + transition: filter 375ms ease-in 0.2s; +} +.author-content-item.personalities:hover .image { + -webkit-transform: rotate(-10deg); + -moz-transform: rotate(-10deg); + -o-transform: rotate(-10deg); + -ms-transform: rotate(-10deg); + transform: rotate(-10deg); +} +.author-content-item.myphoto { + height: 60%; + min-height: 240px; + position: relative; + overflow: hidden; + width: 39%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +.author-content-item.myphoto img { + position: absolute; + min-width: 100%; + object-fit: cover; + -webkit-transition: 0.6s; + -moz-transition: 0.6s; + -o-transition: 0.6s; + -ms-transition: 0.6s; + transition: 0.6s; + -webkit-animation: coverIn 2s ease-out forwards; + -moz-animation: coverIn 2s ease-out forwards; + -o-animation: coverIn 2s ease-out forwards; + -ms-animation: coverIn 2s ease-out forwards; + animation: coverIn 2s ease-out forwards; + -webkit-transition: -webkit-transform 2s ease-out !important; + -moz-transition: -moz-transform 2s ease-out !important; + -o-transition: -o-transform 2s ease-out !important; + -ms-transition: -ms-transform 2s ease-out !important; + transition: transform 2s ease-out !important; +} +.author-content-item.myphoto:hover img { + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); +} +.author-content-item:hover .card-background-icon { + -webkit-transform: rotate(20deg); + -moz-transform: rotate(20deg); + -o-transform: rotate(20deg); + -ms-transform: rotate(20deg); + transform: rotate(20deg); +} +.author-content-item.personalities .title2 { + font-size: 36px; + font-weight: 700; + line-height: 1.1; +} +.author-content-item.map { + min-height: 160px; + max-height: 400px; + position: relative; + overflow: hidden; + margin-bottom: 0.5rem; + height: 60%; + -webkit-transition: 1s ease-in-out; + -moz-transition: 1s ease-in-out; + -o-transition: 1s ease-in-out; + -ms-transition: 1s ease-in-out; + transition: 1s ease-in-out; + background-size: 100%; + background-repeat: no-repeat; + background-position: center; +} +.author-content-item.single { + width: 100%; +} +.author-content-item.map .map-title { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + color: var(--font-color); + background: var(--anzhiyu-maskbg); + padding: 0.5rem 2rem; + backdrop-filter: saturate(180%) blur(20px); + -webkit-backdrop-filter: blur(20px); + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -o-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + -webkit-transition: all 1s, color 0s ease-in-out; + -moz-transition: all 1s, color 0s ease-in-out; + -o-transition: all 1s, color 0s ease-in-out; + -ms-transition: all 1s, color 0s ease-in-out; + transition: all 1s, color 0s ease-in-out; + font-size: 20px; +} +.author-content-item.map .map-title b { + color: var(--font-color); +} +.author-content-item.selfInfo { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + min-height: 100px; + max-height: 400px; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + height: -webkit-fill-available; + height: 40%; +} +.author-content-item.selfInfo div { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + margin: 0.5rem 2rem 0.5rem 0; + min-width: 120px; +} +.author-content-item.selfInfo .selfInfo-title { + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); + font-size: 0.6rem; + line-height: 1; + margin-bottom: 8px; +} +.author-content-item.selfInfo .selfInfo-content { + font-weight: 700; + font-size: 34px; + line-height: 1; +} +.author-content-item-group.column.mapAndInfo { + width: 59%; +} +.author-content-item.map:hover { + background-size: 120%; + -webkit-transition: 4s ease-in-out; + -moz-transition: 4s ease-in-out; + -o-transition: 4s ease-in-out; + -ms-transition: 4s ease-in-out; + transition: 4s ease-in-out; + background-position-x: 0; + background-position-y: 36%; +} +.author-content-item.map:hover .map-title { + bottom: -100%; +} +.author-content-item-group.column { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + width: 49%; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} +.post-tips a:hover { + color: var(--anzhiyu-main) !important; + background: none !important; +} +.author-content-item.single.reward .reward-list-updateDate { + color: var(--anzhiyu-gray); + font-size: 14px; +} +.author-content-item.maxim { + font-size: 36px; + font-weight: 700; + line-height: 1.1; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: start; + -moz-box-align: start; + -o-box-align: start; + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + width: 39%; +} +.author-content-item .author-content-item-tips { + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); + font-size: 0.6rem; + margin-bottom: 0.5rem; +} +.author-content-item.maxim .maxim-title { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} +.author-content-item.buff { + height: 200px; + font-size: 36px; + font-weight: 700; + line-height: 1.1; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: start; + -moz-box-align: start; + -o-box-align: start; + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + background: -webkit-linear-gradient(330deg, #ff27e8 0, #ff8000 100%); + background: -moz-linear-gradient(330deg, #ff27e8 0, #ff8000 100%); + background: -o-linear-gradient(330deg, #ff27e8 0, #ff8000 100%); + background: -ms-linear-gradient(330deg, #ff27e8 0, #ff8000 100%); + background: linear-gradient(120deg, #ff27e8 0, #ff8000 100%); + color: var(--anzhiyu-white); + background-size: 200%; + -webkit-animation: gradient 15s ease infinite; + -moz-animation: gradient 15s ease infinite; + -o-animation: gradient 15s ease infinite; + -ms-animation: gradient 15s ease infinite; + animation: gradient 15s ease infinite; + min-height: 200px; + height: fit-content; + width: 59%; +} +.author-content-item.buff .card-content { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +.author-content-item.buff .buff-title { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} +.card-background-icon { + font-size: 12rem; + opacity: 0.2; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"; + filter: alpha(opacity=20); + position: absolute; + right: 0; + bottom: -40%; + -webkit-transform: rotate(30deg); + -moz-transform: rotate(30deg); + -o-transform: rotate(30deg); + -ms-transform: rotate(30deg); + transform: rotate(30deg); + -webkit-transition: 2s ease-in-out; + -moz-transition: 2s ease-in-out; + -o-transition: 2s ease-in-out; + -ms-transition: 2s ease-in-out; + transition: 2s ease-in-out; +} +.card-background-icon i { + font-size: 12rem; +} +.author-content-item.game-yuanshen { + background-size: cover; + min-height: 300px; + overflow: hidden; + color: var(--anzhiyu-white); + width: 59%; +} +.author-content-item .content-bottom { + margin-top: auto; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} +.author-content-item .content-bottom .icon-group { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + position: relative; +} +.author-content-item .content-bottom .icon-group i { + display: inline-block; + width: 143px; + height: 18px; + margin-right: 0.5rem; +} +.author-content-item.game-yuanshen::after { + -webkit-box-shadow: 0 -69px 203px 11px #575d8b inset; + box-shadow: 0 -69px 203px 11px #575d8b inset; + position: absolute; + content: ''; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +.author-content-item.comic-content { + width: 39%; + min-height: 300px; + overflow: hidden; +} +.author-content-item.comic-content .comic-box { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + width: 120%; + height: 100%; + position: absolute; + left: 50%; + top: 0; + -webkit-transform: translateX(-50%); + -moz-transform: translateX(-50%); + -o-transform: translateX(-50%); + -ms-transform: translateX(-50%); + transform: translateX(-50%); +} +.author-content-item.comic-content .author-content-item-tips, +.author-content-item.comic-content .author-content-item-title { + z-index: 2; + color: var(--anzhiyu-white); + pointer-events: none; +} +.author-content-item.comic-content .comic-item { + height: 100%; + color: #fff; + width: 20%; + -webkit-transform: skew(-10deg, 0deg); + -moz-transform: skew(-10deg, 0deg); + -o-transform: skew(-10deg, 0deg); + -ms-transform: skew(-10deg, 0deg); + transform: skew(-10deg, 0deg); + -webkit-transition: 0.8s; + -moz-transition: 0.8s; + -o-transition: 0.8s; + -ms-transition: 0.8s; + transition: 0.8s; + position: relative; + overflow: hidden; +} +.author-content-item.comic-content .comic-item:hover { + width: 46%; +} +.author-content-item.comic-content .comic-item:hover .comic-item-cover { + left: 16%; + -webkit-transform: skew(10deg, 0deg) scale(1.6); + -moz-transform: skew(10deg, 0deg) scale(1.6); + -o-transform: skew(10deg, 0deg) scale(1.6); + -ms-transform: skew(10deg, 0deg) scale(1.6); + transform: skew(10deg, 0deg) scale(1.6); +} +.author-content-item.comic-content .comic-item .comic-item-cover { + position: absolute; + top: 0; + left: -50%; + height: 100%; + -webkit-transform: skew(10deg, 0deg); + -moz-transform: skew(10deg, 0deg); + -o-transform: skew(10deg, 0deg); + -ms-transform: skew(10deg, 0deg); + transform: skew(10deg, 0deg); + object-fit: cover; + -webkit-transition: scale 0.2s, all 0.8s; + -moz-transition: scale 0.2s, all 0.8s; + -o-transition: scale 0.2s, all 0.8s; + -ms-transition: scale 0.2s, all 0.8s; + transition: scale 0.2s, all 0.8s; +} +.author-content-item.comic-content .comic-item .comic-item-cover img { + height: 100%; + -webkit-transition: 0.8s; + -moz-transition: 0.8s; + -o-transition: 0.8s; + -ms-transition: 0.8s; + transition: 0.8s; + max-width: none; + border-radius: 0px; +} +.author-content-item.comic-content::after { + -webkit-box-shadow: 0 -48px 203px 11px #fbe9b8 inset; + box-shadow: 0 -48px 203px 11px #fbe9b8 inset; + position: absolute; + content: ''; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +.author-content-item.like-technology { + min-height: 230px; + color: var(--anzhiyu-white); +} +.author-content-item.like-music { + min-height: 400px; + color: var(--anzhiyu-white); + overflow: hidden; +} +.author-content-item.like-music::after { + -webkit-box-shadow: 0 -69px 203px 11px #453e38 inset; + box-shadow: 0 -69px 203px 11px #453e38 inset; + position: absolute; + content: ''; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +@media screen and (max-width: 1200px) { + .author-content-item.personalities .image { + width: 180px; + } +} +@media screen and (max-width: 768px) { + #gitcalendar { + display: none; + } + [data-theme='dark'] .author-content-item .card-content .banner-button-group .banner-button { + color: var(--anzhiyu-black) !important; + } + .author-content-item .card-content .banner-button-group .banner-button:hover { + background: none !important; + } + .author-content-item.game-yuanshen .content-bottom { + padding-bottom: 10px; + } + .author-content-item.game-yuanshen .game-yuanshen-uid { + display: none; + } + .author-content { + margin-top: 0; + } + .author-content-item { + width: 100% !important; + margin-top: 1rem; + padding: 1rem; + } + .author-content-item.map { + margin-bottom: 0; + } + .author-content-item-group.column { + width: 100% !important; + } + .author-content-item.selfInfo { + height: 95%; + } + .author-content-item.personalities { + height: 200px; + } + .post-tips { + left: auto; + } + .author-content-item.personalities .image { + width: 125px; + } + .site-card-group > a { + width: 100% !important; + } + body[data-type='about'] .post-reward { + display: none; + } + .reward-list-item { + width: 100% !important; + } + .author-content-item .card-content .banner-button-group .banner-button-text { + display: none; + } + .author-content-item .card-content .banner-button-group { + right: 1rem; + bottom: 1rem; + } + .author-content-item .card-content .banner-button-group .banner-button { + background: none; + padding: 0; + width: auto; + } + .author-content-item .card-content .banner-button-group .banner-button i, + .author-content-item .card-content .banner-button-group .banner-button svg { + margin-right: 0; + font-size: 1.5rem; + background: #fff; + border-radius: 50%; + padding: 6px; + margin-left: 80px; + height: 40px; + width: 40px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + } + .author-content-item .card-content .banner-button-group .banner-button:hover i { + background: var(--anzhiyu-background) !important; + color: var(--anzhiyu-theme); + } + #selfInfo-content-year { + width: 90px; + } +} +@media screen and (min-width: 768px) and (max-width: 896px) { + .author-content-item.like-music .content-bottom .tips { + display: none; + } +} +.reward-list-all { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + margin-top: 1rem; + margin-bottom: 0.5rem; + margin-left: -0.25rem; + margin-right: -0.25rem; +} +.reward-list-item { + padding: 1rem; + border-radius: 12px; + border: var(--style-border-always); + width: calc((100% / 5) - 0.5rem); + margin: 0 0.25rem 0.5rem 0.25rem; + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); +} +@media screen and (max-width: 1200px) { + .reward-list-item { + width: calc((100% / 3) - 0.5rem); + } +} +.reward-list-item .reward-list-item-name { + font-size: 1rem; + font-weight: 700; + line-height: 1; + margin-bottom: 0.5rem; +} +.reward-list-item .reward-list-bottom-group { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} +.reward-list-item .reward-list-item-money { + padding: 4px; + background: var(--font-color); + color: var(--card-bg); + font-size: 12px; + line-height: 1; + border-radius: 4px; + margin-right: 4px; + white-space: nowrap; +} +.reward-list-item .reward-list-item-time { + font-size: 12px; + color: var(--anzhiyu-secondtext); + white-space: nowrap; +} +.skills { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: start; + -moz-box-align: start; + -o-box-align: start; + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + width: 50%; + min-height: 450px; +} +.skills .skill-icon { + width: 32px; + height: 32px; + border-radius: 32px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + margin-right: 8px; +} +.skills .skills-list { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + position: absolute; + width: 100%; + top: 0; + left: 0; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + margin-top: 10px; +} +.skills .skill-info { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + margin-right: 10px; + margin-top: 10px; + background: var(--anzhiyu-background); + border-radius: 40px; + padding: 4px 12px 4px 8px; + border: var(--style-border); + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); +} +.skills .skill-icon img { + width: 18px; + height: 18px; + margin: 0 auto !important; +} +.skills .skills-style-group { + position: relative; +} +.author-content-item.skills .skills-style-group { + position: relative; +} +.skills:hover .skills-style-group #skills-tags-group-all { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +.skills:hover .skills-style-group .skills-list { + opacity: 1; + -ms-filter: none; + filter: none; +} +.author-content-item.careers { + min-height: 400px; + background-size: contain; + background-repeat: no-repeat; + background-position-x: right; + background-position-y: bottom; +} +.author-content-item.careers .careers-group { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + height: 100%; + margin-top: 12px; + margin-bottom: 12px; +} +.author-content-item.careers .career-item { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: start; + -moz-box-pack: start; + -o-box-pack: start; + -ms-flex-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +.author-content-item.careers .career-item .circle { + width: 16px; + height: 16px; + margin-top: 3px; + margin-right: 8px; + border-radius: 50%; +} +.author-content-item.careers .career-item .text { + color: var(--anzhiyu-secondtext); +} +.author-content-item.careers .careers-item { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +.author-content-item.careers .careers-item .circle { + width: 16px; + height: 16px; + margin-right: 8px; + border-radius: 16px; +} +.author-content-item.careers .careers-item .name { + color: var(--anzhiyu-secondtext); +} +.author-content-item.careers img { + position: absolute; + left: 0; + bottom: 20px; + width: 100%; + -webkit-transition: 0.6s; + -moz-transition: 0.6s; + -o-transition: 0.6s; + -ms-transition: 0.6s; + transition: 0.6s; + z-index: -1; +} +:root { + --loadingbar-background-color: #2c2b30; + --loadingbar-prospect-color: #ece5d8; +} +.loading-bar { + position: absolute; + top: 50%; + left: 50%; + width: 500px; + height: 62.5px; + -webkit-transform: translate(-25%, -50%) scale(0.5); + -moz-transform: translate(-25%, -50%) scale(0.5); + -o-transform: translate(-25%, -50%) scale(0.5); + -ms-transform: translate(-25%, -50%) scale(0.5); + transform: translate(-25%, -50%) scale(0.5); + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -o-transition: all 0.5s; + -ms-transition: all 0.5s; + transition: all 0.5s; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + overflow: hidden; +} +.loading-bar::after { + content: ''; + position: absolute; + top: 500px; + left: 0; + filter: drop-shadow(0 -500px 0 var(--loadingbar-prospect-color)); + width: 500px; + height: 62.5px; + background: url("https://yuanshen.site/imgs/loading-bar.png") no-repeat left 100%; + background-size: 500px 62.5px; + background-position-x: 0; +} +.author-content-item.game-yuanshen:hover .loading-bar::after { + -webkit-animation: loading-bar 3.5s cubic-bezier(0.28, 0.11, 0.32, 1) infinite forwards; + -moz-animation: loading-bar 3.5s cubic-bezier(0.28, 0.11, 0.32, 1) infinite forwards; + -o-animation: loading-bar 3.5s cubic-bezier(0.28, 0.11, 0.32, 1) infinite forwards; + -ms-animation: loading-bar 3.5s cubic-bezier(0.28, 0.11, 0.32, 1) infinite forwards; + animation: loading-bar 3.5s cubic-bezier(0.28, 0.11, 0.32, 1) infinite forwards; +} +@media screen and (max-width: 719px) { + .loading-bar .loading-bar { + display: none; + } +} +@media screen and (max-width: 719px) and (orientation: landscape) { + .loading-bar .loading-bar { + display: block !important; + -webkit-transform: translate(-50%, -50%) scale(0.7) !important; + -moz-transform: translate(-50%, -50%) scale(0.7) !important; + -o-transform: translate(-50%, -50%) scale(0.7) !important; + -ms-transform: translate(-50%, -50%) scale(0.7) !important; + transform: translate(-50%, -50%) scale(0.7) !important; + } +} +@supports not (filter: drop-shadow(0 0 0 #fff)) { + .loading-bar:before { + content: 'Your browser does not support the animation'; + } +} +.hello-about { + margin: 20px auto; + border-radius: 24px; + background: var(--anzhiyu-card-bg); + border: var(--style-border-always); + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + position: relative; + overflow: hidden; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.shapes { + position: relative; + height: 315px; + width: 100%; + background: #2128bd; + overflow: hidden; +} +.shape { + will-change: transform; + position: absolute; + border-radius: 50%; +} +.shape.shape-1 { + background: #005ffe; + width: 650px; + height: 650px; + margin: -325px 0 0 -325px; +} +.shape.shape-2 { + background: #ffe5e3; + width: 440px; + height: 440px; + margin: -220px 0 0 -220px; +} +.shape.shape-3 { + background: #ffcc57; + width: 270px; + height: 270px; + margin: -135px 0 0 -135px; +} +.hello-about .content { + top: 0; + left: 0; + position: absolute; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + height: 315px; + width: 100%; + background: #fff; + mix-blend-mode: screen; +} +[data-theme='dark'] .hello-about .content { + background: transparent; +} +[data-theme='dark'] .hello-about h1 { + color: var(--anzhiyu-white); +} +.hello-about h1 { + font-size: 200px; + color: #000; + margin: 0; + text-align: center; + font: inherit; + vertical-align: baseline; + line-height: 1; + font-size: calc(0.0989119683 * 100vw + 58.5558852621px); + width: 100%; + height: 100%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +@media (min-width: 419px) { + .hello-about h1 { + font-size: calc(0.0989119683 * 100vw + 58.5558852621px); + } +} +@media (max-width: 768px) { + .hello-about { + margin: 20px 0 auto; + } +} +.cursor { + position: absolute; + background: #2128bd; + width: 20px; + height: 20px; + margin: -10px 0 0 -10px; + border-radius: 50%; + will-change: transform; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; + z-index: 3; +} +#about-page .author-content-item-group.column.mapAndInfo { + width: 100%; +} +#about-page .author-content-item-group.column { + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; +} +#about-page .author-content-item.map { + width: 50%; +} +#about-page .author-content-item.selfInfo { + height: 100%; + width: 49%; +} +@-moz-keyframes loading-bar { + 0% { + width: 0; + background-size: 500px 62.5px; + } + 83% { + width: 475px; + } + 83.1% { + width: 475px; + } + 83.2% { + width: 475px; + } + 83.3% { + width: 475px; + } + 83.4% { + width: 475px; + } + 83.5% { + width: 475px; + } + 83.6% { + width: 475px; + } + 83.7% { + width: 475px; + } + 83.8% { + width: 475px; + } + 83.9% { + width: 475px; + } + 84% { + width: 475px; + } + 85% { + width: 475px; + } + 86% { + width: 475px; + } + 87% { + width: 475px; + } + 100% { + width: 500px; + } +} +@-webkit-keyframes loading-bar { + 0% { + width: 0; + background-size: 500px 62.5px; + } + 83% { + width: 475px; + } + 83.1% { + width: 475px; + } + 83.2% { + width: 475px; + } + 83.3% { + width: 475px; + } + 83.4% { + width: 475px; + } + 83.5% { + width: 475px; + } + 83.6% { + width: 475px; + } + 83.7% { + width: 475px; + } + 83.8% { + width: 475px; + } + 83.9% { + width: 475px; + } + 84% { + width: 475px; + } + 85% { + width: 475px; + } + 86% { + width: 475px; + } + 87% { + width: 475px; + } + 100% { + width: 500px; + } +} +@-o-keyframes loading-bar { + 0% { + width: 0; + background-size: 500px 62.5px; + } + 83% { + width: 475px; + } + 83.1% { + width: 475px; + } + 83.2% { + width: 475px; + } + 83.3% { + width: 475px; + } + 83.4% { + width: 475px; + } + 83.5% { + width: 475px; + } + 83.6% { + width: 475px; + } + 83.7% { + width: 475px; + } + 83.8% { + width: 475px; + } + 83.9% { + width: 475px; + } + 84% { + width: 475px; + } + 85% { + width: 475px; + } + 86% { + width: 475px; + } + 87% { + width: 475px; + } + 100% { + width: 500px; + } +} +@keyframes loading-bar { + 0% { + width: 0; + background-size: 500px 62.5px; + } + 83% { + width: 475px; + } + 83.1% { + width: 475px; + } + 83.2% { + width: 475px; + } + 83.3% { + width: 475px; + } + 83.4% { + width: 475px; + } + 83.5% { + width: 475px; + } + 83.6% { + width: 475px; + } + 83.7% { + width: 475px; + } + 83.8% { + width: 475px; + } + 83.9% { + width: 475px; + } + 84% { + width: 475px; + } + 85% { + width: 475px; + } + 86% { + width: 475px; + } + 87% { + width: 475px; + } + 100% { + width: 500px; + } +} +.article-sort { + margin: 0.25rem; +} +.article-sort-title { + margin: 0.25rem; + padding: 0; + border: none; + font-weight: bold; + font-size: 2em; +} +.article-sort-item { + position: relative; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-transition: all 0.2s ease-in-out 0s; + -moz-transition: all 0.2s ease-in-out 0s; + -o-transition: all 0.2s ease-in-out 0s; + -ms-transition: all 0.2s ease-in-out 0s; + transition: all 0.2s ease-in-out 0s; + border: none; + margin: 0 0 1rem 0rem; + overflow: hidden; + border-radius: 12px; +} +.article-sort-item.no-article-cover { + height: 80px; +} +.article-sort-item.no-article-cover .article-sort-item-info { + padding: 0; +} +.article-sort-item.year { + font-size: 1rem; + color: var(--anzhiyu-secondtext); + margin-bottom: 0.25rem; +} +.article-sort-item.year:hover:before { + border-color: #425aef; +} +.article-sort-item.year:before { + border-color: var(--pseudo-hover); +} +.article-sort-item-time { + color: var(--anzhiyu-fontcolor); + font-size: 95%; +} +.article-sort-item-time time { + padding-left: 6px; + cursor: default; +} +.article-sort-item-title { + color: var(--font-color); + font-size: 1.1em; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; + -webkit-line-clamp: 1; + margin-right: auto; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + -webkit-box-ordinal-group: 0; + -moz-box-ordinal-group: 0; + -o-box-ordinal-group: 0; + -ms-flex-order: 0; + -webkit-order: 0; + order: 0; + font-weight: bold; + line-height: 1.3; +} +.article-sort-item-title:hover { + color: var(--anzhiyu-lighttext); +} +.article-sort-item-index { + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + position: absolute; + top: 0.5rem; + right: 0.5rem; + font-style: italic; + font-size: 2.5rem; + line-height: 1.5rem; +} +.article-sort-item-img { + overflow: hidden; + width: 151px; + height: 80px; + border-radius: 12px; + min-width: 151px; + min-height: 80px; + background: var(--anzhiyu-secondbg); + -webkit-mask-image: -webkit-radial-gradient(center, #fff, #000); +} +.article-sort-item-info { + padding: 0 0.8rem; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + max-height: 80px; + height: 80px; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} +@media screen and (max-width: 768px) { + .article-sort-item-info .article-sort-item-index { + display: none; + } +} +.article-sort-item-info .article-sort-item-title { + height: 30%; +} +@media screen and (max-width: 768px) { + .article-sort-item-info .article-sort-item-title { + font-size: 0.9em; + height: 25%; + } +} +.article-sort-item-info .article-meta-wrap { + height: 35%; +} +.article-sort-item-info .article-meta-wrap .article-sort-item-tags a { + color: var(--anzhiyu-fontcolor); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + margin-right: auto; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + padding: 0 0.2rem; + padding-left: 0; +} +.article-sort-item-info .article-meta-wrap .article-sort-item-tags a span { + font-size: 12px; + margin-right: 1px; + pointer-events: none; +} +.article-sort-item-info .article-meta-wrap .article-sort-item-time { + font-size: 12px; +} +.category-lists .category-title { + font-size: 2.57em; +} +@media screen and (max-width: 768px) { + .category-lists .category-title { + font-size: 2em; + } +} +.category-lists .category-list { + margin-bottom: 0; +} +.category-lists .category-list a { + color: var(--font-color); +} +.category-lists .category-list a:hover { + color: #425aef; +} +.category-lists .category-list .category-list-count { + margin-left: 8px; + color: var(--anzhiyu-fontcolor); +} +.category-lists .category-list .category-list-count:before { + content: '('; +} +.category-lists .category-list .category-list-count:after { + content: ')'; +} +.category-lists ul { + padding: 0 0 0 20px; +} +.category-lists ul ul { + padding-left: 4px; +} +.category-lists ul li { + position: relative; + margin: 6px 0; + padding: 0.12em 0.4em 0.12em 1.4em; +} +@media screen and (max-width: 768px) { + .post .layout#content-inner { + background: var(--anzhiyu-main); + } +} +#body-wrap { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + min-height: 100vh; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} +@media screen and (max-width: 768px) { + #body-wrap .layout { + padding: 0; + } + #body-wrap #archive { + background: var(--anzhiyu-background); + border: none; + padding-top: 0px; + } +} +.layout { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + box-flex: 1; + -webkit-flex: 1 auto; + -ms-flex: 1 auto; + flex: 1 auto; + margin: 0 auto; + padding: 1.25rem 1.5rem; + max-width: 1200px; + width: 100%; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +@media screen and (max-width: 1200px) { + .layout { + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + padding-top: 10px; + } +} +@media screen and (max-width: 768px) { + .layout { + padding: 20px 15px; + z-index: 3; + } +} +@media screen and (min-width: 2000px) { + .layout { + max-width: 1700px; + } +} +.layout > div:first-child:not(.recent-posts) { + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + padding: 2rem 2.5rem; + border-radius: 12px; + background: var(--anzhiyu-card-bg); + border: var(--style-border); + width: calc(100% - 300px); + -webkit-align-self: flex-start; + align-self: flex-start; + -ms-flex-item-align: start; + -webkit-animation: slide-in 0.6s 0.1s backwards; + -moz-animation: slide-in 0.6s 0.1s backwards; + -o-animation: slide-in 0.6s 0.1s backwards; + -ms-animation: slide-in 0.6s 0.1s backwards; + animation: slide-in 0.6s 0.1s backwards; +} +@media screen and (max-width: 768px) { + .layout > div:first-child:not(.recent-posts) { + padding: 1rem 1rem; + -webkit-box-shadow: none; + box-shadow: none; + background: var(--anzhiyu-background); + } +} +.layout > div:first-child { + width: calc(100% - 300px); + -webkit-transition: all 0.3s ease 0s; + -moz-transition: all 0.3s ease 0s; + -o-transition: all 0.3s ease 0s; + -ms-transition: all 0.3s ease 0s; + transition: all 0.3s ease 0s; +} +@media screen and (max-width: 900px) { + .layout > div:first-child { + width: 100% !important; + } +} +.layout.hide-aside { + max-width: 1000px; +} +@media screen and (min-width: 2000px) { + .layout.hide-aside { + max-width: 1200px; + } +} +.layout.hide-aside > div { + width: 100% !important; +} +.apple #page-header.full_page { + background-attachment: scroll !important; +} +.apple .recent-post-item, +.apple .avatar-img, +.apple .flink-item-icon { + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -o-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); +} +.goodthings-title { + margin: 1rem 0; + line-height: 1; +} +.equipment-item .equipment-item-content { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin: 0 -8px; +} +.equipment-item .equipment-item-content .equipment-item-content-item { + width: calc(25% - 12px); + border-radius: 12px; + border: var(--style-border-always); + overflow: hidden; + margin: 8px 6px; + background: var(--anzhiyu-card-bg); + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + min-height: 400px; + position: relative; +} +@media screen and (max-width: 1200px) { + .equipment-item .equipment-item-content .equipment-item-content-item { + width: calc(50% - 12px); + } +} +@media screen and (max-width: 768px) { + .equipment-item .equipment-item-content .equipment-item-content-item { + width: 100%; + } +} +.equipment-item .equipment-item-content .equipment-item-content-item .equipment-item-content-item-info { + padding: 8px 16px 16px 16px; + margin-top: 12px; +} +.equipment-item .equipment-item-content .equipment-item-content-item .equipment-item-content-item-name { + font-size: 18px; + font-weight: bold; + line-height: 1; + margin-bottom: 8px; + white-space: nowrap; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + width: fit-content; + cursor: pointer; +} +.equipment-item .equipment-item-content .equipment-item-content-item .equipment-item-content-item-name:hover { + color: var(--anzhiyu-main); +} +.equipment-item .equipment-item-content .equipment-item-content-item .equipment-item-content-item-specification { + font-size: 12px; + color: var(--anzhiyu-secondtext); + line-height: 16px; + margin-bottom: 5px; + white-space: nowrap; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; +} +.equipment-item .equipment-item-content .equipment-item-content-item .equipment-item-content-item-description { + line-height: 20px; + color: var(--anzhiyu-secondtext); + height: 60px; + display: -webkit-box; + overflow: hidden; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + font-size: 14px; +} +.equipment-item .equipment-item-content .equipment-item-content-item a.equipment-item-content-item-link { + font-size: 12px; + background: var(--anzhiyu-gray-op); + padding: 4px 8px; + border-radius: 8px; + cursor: pointer; +} +.equipment-item .equipment-item-content .equipment-item-content-item a.equipment-item-content-item-link:hover { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white); +} +.equipment-item .equipment-item-content .equipment-item-content-item .equipment-item-content-item-cover { + width: 100%; + height: 200px; + background: var(--anzhiyu-secondbg); + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +.equipment-item .equipment-item-content .equipment-item-content-item img.equipment-item-content-item-image { + object-fit: contain; + height: 80%; + width: 260px; +} +.equipment-item .equipment-item-content .equipment-item-content-item .equipment-item-content-item-toolbar { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + position: absolute; + bottom: 12px; + left: 0; + width: 100%; + padding: 0 16px; +} +body[data-type="equipment"] #web_bg { + background: var(--anzhiyu-background); +} +body[data-type="equipment"] #page { + border: 0; + -webkit-box-shadow: none !important; + box-shadow: none !important; + padding: 0 !important; + background: 0 0 !important; +} +body[data-type="equipment"] #page .page-title { + display: none; +} +body[data-type="link"] #page .page-title { + display: none; +} +#flink-banners { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + width: 100%; + height: 76%; + background: var(--anzhiyu-card-bg); + padding: 1.5rem; + border: var(--style-border); + border-radius: 12px; + overflow: hidden; + position: relative; + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + overflow: hidden; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + will-change: transform; + -webkit-animation: slide-in 0.6s 0.2s backwards; + -moz-animation: slide-in 0.6s 0.2s backwards; + -o-animation: slide-in 0.6s 0.2s backwards; + -ms-animation: slide-in 0.6s 0.2s backwards; + animation: slide-in 0.6s 0.2s backwards; +} +#flink-banners .flink .banners-title { + top: 1.5rem; +} +#flink-banners .banner-top-box { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} +#flink-banners .banner-button-group { + position: absolute; + right: 2rem; + top: 2.5rem; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; +} +@media screen and (max-width: 768px) { + #flink-banners .banner-button-group { + display: none; + } +} +#flink-banners .banner-button-group .banner-button { + color: var(--anzhiyu-card-bg); +} +#flink-banners .banner-button-group .banner-button.secondary { + color: var(--anzhiyu-fontcolor); +} +#flink-banners .banner-button-group .banner-button:hover { + background: var(--anzhiyu-theme); + color: var(--anzhiyu-white); +} +#flink-banners .banner-button-group .banner-button i { + margin-right: 8px; + font-size: 1rem; +} +#flink-banners #skills-tags-group-all .img-alt { + display: none; +} +#flink-banners #skills-tags-group-all .tags-group-wrapper { + -webkit-animation: rowup 120s linear infinite; + -moz-animation: rowup 120s linear infinite; + -o-animation: rowup 120s linear infinite; + -ms-animation: rowup 120s linear infinite; + animation: rowup 120s linear infinite; +} +#flink-banners #skills-tags-group-all .tags-group-icon { + border-radius: 50%; +} +#flink-banners #skills-tags-group-all .tags-group-icon img { + min-width: 100%; + min-height: 100%; + border-radius: 50%; + object-fit: cover; +} +.flink-desc { + margin: 0.2rem 0 0.5rem; +} +#article-container .anzhiyu-flink-list { + overflow: auto; + margin: -6px; + text-align: center; +} +#article-container .anzhiyu-flink-list .img-alt { + display: none; +} +#article-container .anzhiyu-flink-list.cf-friends-lost-contact .flink-list-item { + height: 60px; +} +#article-container .anzhiyu-flink-list.cf-friends-lost-contact .flink-list-item:hover .cf-friends-link img { + width: 0; + height: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + margin: 0.5rem; + min-width: 0px; + min-height: 0px; +} +#article-container .anzhiyu-flink-list.cf-friends-lost-contact .flink-list-item .cf-friends-link img { + width: 30px; + height: 30px; + min-width: 30px; + min-height: 30px; +} +#article-container .anzhiyu-flink-list .flink-list-item { + margin: 6px 6px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + border-radius: 12px; + -webkit-transition-timing-function: ease-in-out; + -moz-transition-timing-function: ease-in-out; + -o-transition-timing-function: ease-in-out; + -ms-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; + position: relative; + width: calc(20% - 12px); + border: var(--style-border); + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + background: var(--anzhiyu-card-bg); + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + float: left; + overflow: hidden; + height: 90px; + line-height: 17px; + -webkit-transform: translateZ(0px); + -moz-transform: translateZ(0px); + -o-transform: translateZ(0px); + -ms-transform: translateZ(0px); + transform: translateZ(0px); +} +#article-container .anzhiyu-flink-list .flink-list-item .cf-friends-link { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + border: none; + width: 100%; + height: 100%; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + color: var(--anzhiyu-fontcolor); + text-decoration: none; + font-weight: bold; + padding: 0 4px; + border-radius: 4px 4px 0 0; +} +#article-container .anzhiyu-flink-list .flink-list-item .cf-friends-link img { + border-radius: 32px; + margin: 15px 20px 15px 15px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + background: var(--anzhiyu-background); + min-width: 60px; + min-height: 60px; + width: 60px; + height: 60px; + float: left; + object-fit: cover; +} +@media screen and (max-width: 1200px) { + #article-container .anzhiyu-flink-list .flink-list-item { + width: calc(50% - 15px) !important; + } +} +@media screen and (max-width: 600px) { + #article-container .anzhiyu-flink-list .flink-list-item { + width: calc(100% - 15px) !important; + } +} +#article-container .anzhiyu-flink-list .flink-list-item:hover:before, +#article-container .anzhiyu-flink-list .flink-list-item:focus:before, +#article-container .anzhiyu-flink-list .flink-list-item:active:before { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); +} +#article-container .anzhiyu-flink-list .flink-list-item .flink-item-info { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + width: calc(100% - 90px); + height: fit-content; +} +#article-container .anzhiyu-flink-list .flink-list-item .flink-item-info .flink-item-name { + text-align: left; + line-height: 20px; + color: var(--anzhiyu-fontcolor); + display: block; + padding: 0px 10px 0px 0px; + font-weight: 700; + font-size: 19px; + max-width: calc(100% - 12px); + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + white-space: nowrap; +} +#article-container .anzhiyu-flink-list .flink-list-item .flink-item-info .flink-item-desc { + white-space: normal; + padding: 5px 10px 16px 0; + color: var(--anzhiyu-fontcolor); + text-align: left; + font-size: 0.93em; + height: 40px; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + opacity: 0.7; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; + filter: alpha(opacity=70); + display: -webkit-box; + overflow: hidden; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; +} +#article-container .anzhiyu-flink-list .flink-list-item:hover { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + background: var(--anzhiyu-theme); + border: var(--style-border-hover); + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); +} +#article-container .anzhiyu-flink-list .flink-list-item:hover .site-card-tag { + left: -70px; +} +#article-container .anzhiyu-flink-list .flink-list-item:hover a img { + -webkit-transition: 0.6s; + -moz-transition: 0.6s; + -o-transition: 0.6s; + -ms-transition: 0.6s; + transition: 0.6s; + width: 0; + height: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + margin: 0.5rem; + min-width: 0px; + min-height: 0px; +} +#article-container .anzhiyu-flink-list .flink-list-item:hover a .flink-item-info { + min-width: calc(100% - 20px); +} +#article-container .anzhiyu-flink-list .flink-list-item:hover a .flink-item-name { + color: var(--anzhiyu-white); +} +#article-container .anzhiyu-flink-list .flink-list-item:hover a .flink-item-desc { + overflow: hidden; + width: 100%; + color: var(--anzhiyu-white); +} +.flink-name { + margin-bottom: 5px; + font-weight: bold; + font-size: 1.5em; +} +#article-container img { + margin-bottom: 0.5rem; + object-fit: cover; + max-height: 900px; +} +.flexcard-flink-list { + overflow: hidden; +} +.flexcard-flink-list .flink-list-card .wrapper img { + -webkit-transition: -webkit-transform 0.5s ease-out !important; + -moz-transition: -moz-transform 0.5s ease-out !important; + -o-transition: -o-transform 0.5s ease-out !important; + -ms-transition: -ms-transform 0.5s ease-out !important; + transition: transform 0.5s ease-out !important; +} +.flexcard-flink-list .flink-list-card:hover { + border-color: var(--anzhiyu-main) !important; + background-color: var(--anzhiyu-main) !important; + -webkit-box-shadow: var(--anzhiyu-shadow-theme) !important; + box-shadow: var(--anzhiyu-shadow-theme) !important; +} +.flexcard-flink-list > a { + width: calc(100% / 5 - 0.5rem); + height: 150px; + position: relative; + display: block; + margin: 0.5rem 0.25rem; + float: left; + overflow: hidden; + padding: 0; + border-radius: 8px; + -webkit-transition: all 0.3s ease 0s, -webkit-transform 0.6s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; + -moz-transition: all 0.3s ease 0s, -moz-transform 0.6s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; + -o-transition: all 0.3s ease 0s, -o-transform 0.6s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; + -ms-transition: all 0.3s ease 0s, -ms-transform 0.6s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; + transition: all 0.3s ease 0s, transform 0.6s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; + -webkit-box-shadow: none; + box-shadow: none; + border: var(--style-border) !important; +} +.flexcard-flink-list > a:hover .info { + -webkit-transform: translateY(-100%); + -moz-transform: translateY(-100%); + -o-transform: translateY(-100%); + -ms-transform: translateY(-100%); + transform: translateY(-100%); +} +.flexcard-flink-list > a:hover .wrapper img { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -o-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); +} +.flexcard-flink-list > a:hover::before { + position: fixed; + width: inherit; + margin: auto; + left: 0; + right: 0; + top: 10%; + border-radius: 10px; + text-align: center; + z-index: 100; + content: attr(data-title); + font-size: 20px; + color: #fff; + padding: 10px; + background-color: rgba(66,90,239,0.8); +} +.flexcard-flink-list > a .cover { + width: 100%; + -webkit-transition: -webkit-transform 0.5s ease-out; + -moz-transition: -moz-transform 0.5s ease-out; + -o-transition: -o-transform 0.5s ease-out; + -ms-transition: -ms-transform 0.5s ease-out; + transition: transform 0.5s ease-out; +} +.flexcard-flink-list > a .wrapper { + position: relative; +} +.flexcard-flink-list > a .wrapper .fadeIn { + -webkit-animation: coverIn 0.8s ease-out forwards; + -moz-animation: coverIn 0.8s ease-out forwards; + -o-animation: coverIn 0.8s ease-out forwards; + -ms-animation: coverIn 0.8s ease-out forwards; + animation: coverIn 0.8s ease-out forwards; +} +.flexcard-flink-list > a .wrapper img { + height: 150px; + pointer-events: none; +} +.flexcard-flink-list > a .info { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + width: 100%; + height: 100%; + overflow: hidden; + border-radius: 3px; + background-color: rgba(255,255,255,0.7); + -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; + -moz-transition: -moz-transform 0.5s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; + -o-transition: -o-transform 0.5s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; + -ms-transition: -ms-transform 0.5s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; + transition: transform 0.5s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; +} +.flexcard-flink-list > a .info img { + position: relative; + top: 45px; + width: 80px; + height: 80px; + border-radius: 50% !important; + -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.3); + box-shadow: 0 0 10px rgba(0,0,0,0.3); + z-index: 1; + text-align: center; + pointer-events: none; +} +.flexcard-flink-list > a .info span { + padding: 20px 10% 60px 10%; + font-size: 16px; + width: 100%; + text-align: center; + -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.3); + box-shadow: 0 0 10px rgba(0,0,0,0.3); + background-color: rgba(255,255,255,0.7); + color: var(--font-color); + white-space: nowrap; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; +} +.flexcard-flink-list>a .info, +.flexcard-flink-list>a .wrapper .cover { + position: absolute; + top: 0; + left: 0; +} +@media screen and (max-width: 1024px) { + .flexcard-flink-list > a { + width: calc(33.33333% - 15px); + } +} +@media screen and (max-width: 600px) { + .flexcard-flink-list > a { + width: calc(50% - 15px); + } +} +[data-theme=dark] .flexcard-flink-list a .info, +[data-theme=dark] .flexcard-flink-list a .info span { + background-color: rgba(0,0,0,0.6); +} +[data-theme=dark] .flexcard-flink-list > a:hover:before { + background-color: rgba(18,18,18,0.8); +} +.justified-gallery > div > img, +.justified-gallery > figure > img, +.justified-gallery > a > a > img, +.justified-gallery > div > a > img, +.justified-gallery > figure > a > img, +.justified-gallery > a > svg, +.justified-gallery > div > svg, +.justified-gallery > figure > svg, +.justified-gallery > a > a > svg, +.justified-gallery > div > a > svg, +.justified-gallery > figure > a > svg { + position: static !important; +} +.site-card-tag { + position: absolute; + top: 0; + left: 0; + padding: 4px 8px; + background-color: var(--anzhiyu-theme); + -webkit-box-shadow: var(--anzhiyu-shadow-blue); + box-shadow: var(--anzhiyu-shadow-blue); + color: var(--anzhiyu-white); + z-index: 1; + border-radius: 11px 0 12px 0; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + font-size: 0.6rem; +} +.site-card-tag.speed { + background: var(--anzhiyu-green); + -webkit-box-shadow: var(--anzhiyu-shadow-green); + box-shadow: var(--anzhiyu-shadow-green); +} +.site-card-tag.vip { + background: -webkit-linear-gradient(52deg, #e5b085 0%, #d48f16 100%); + background: -moz-linear-gradient(52deg, #e5b085 0%, #d48f16 100%); + background: -o-linear-gradient(52deg, #e5b085 0%, #d48f16 100%); + background: -ms-linear-gradient(52deg, #e5b085 0%, #d48f16 100%); + background: linear-gradient(38deg, #e5b085 0%, #d48f16 100%); + overflow: hidden; + -webkit-box-shadow: var(--anzhiyu-shadow-yellow); + box-shadow: var(--anzhiyu-shadow-yellow); +} +.site-card-tag i.light { + cursor: pointer; + position: absolute; + top: 0; + width: 100px; + height: 50px; + background-image: -webkit--webkit-linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.5), rgba(255,255,255,0)); + background-image: -webkit--moz-linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.5), rgba(255,255,255,0)); + background-image: -webkit--o-linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.5), rgba(255,255,255,0)); + background-image: -webkit--ms-linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.5), rgba(255,255,255,0)); + background-image: -webkit-linear-gradient(0deg, rgba(255,255,255,0), rgba(255,255,255,0.5), rgba(255,255,255,0)); + -webkit-animation: light_tag 4s both infinite; + -moz-animation: light_tag 4s both infinite; + -o-animation: light_tag 4s both infinite; + -ms-animation: light_tag 4s both infinite; + animation: light_tag 4s both infinite; + will-change: transform; +} +#article-container .telescopic-site-card-group { + padding: 20px 0; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: start; + -webkit-box-pack: start; + -moz-box-pack: start; + -o-box-pack: start; + -ms-flex-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; + margin: -8px; + -webkit-box-align: stretch; + -webkit-box-align: stretch; + -moz-box-align: stretch; + -o-box-align: stretch; + -ms-flex-align: stretch; + -webkit-align-items: stretch; + align-items: stretch; +} +#article-container .telescopic-site-card-group .site-card { + border: var(--style-border); + border-radius: 12px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + -webkit-transition-timing-function: ease-in-out; + -moz-transition-timing-function: ease-in-out; + -o-transition-timing-function: ease-in-out; + -ms-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; + overflow: hidden; + height: 200px; + position: relative; + width: calc(100% / 7 - 16px); + background: var(--anzhiyu-card-bg); + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); +} +#article-container .telescopic-site-card-group .site-card .img-alt { + display: none; +} +@media screen and (max-width: 1200px) { + #article-container .telescopic-site-card-group .site-card { + width: calc(20% - 16px) !important; + } +} +@media screen and (max-width: 900px) { + #article-container .telescopic-site-card-group .site-card { + width: calc(25% - 16px) !important; + } +} +@media screen and (max-width: 768px) { + #article-container .telescopic-site-card-group .site-card { + width: calc(33.3333% - 16px) !important; + } +} +@media screen and (max-width: 600px) { + #article-container .telescopic-site-card-group .site-card { + width: calc(50% - 16px) !important; + } +} +#article-container .telescopic-site-card-group .site-card:hover { + border: var(--style-border-hover); + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); +} +#article-container .telescopic-site-card-group .site-card:hover .info { + background: var(--anzhiyu-theme); + height: 120px; +} +#article-container .telescopic-site-card-group .site-card:hover .info .site-card-text .title { + color: var(--anzhiyu-white); +} +#article-container .telescopic-site-card-group .site-card:hover .info .site-card-text .desc { + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + color: var(--anzhiyu-white); + width: 100%; +} +@media screen and (min-width: 768px) { + #article-container .telescopic-site-card-group .site-card:hover .info .site-card-text .desc { + -webkit-line-clamp: 4; + } +} +#article-container .telescopic-site-card-group .site-card:hover .site-card-tag { + left: -50px; +} +#article-container .telescopic-site-card-group .site-card:hover .img { + height: 80px; +} +#article-container .telescopic-site-card-group .site-card:hover .img img { + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); + filter: brightness(0.3); +} +#article-container .telescopic-site-card-group .site-card .info { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + border: none; + padding: 0.7rem; + width: 100%; + height: 90px; + margin: 0; + border-radius: 0 0 12px 12px; +} +#article-container .telescopic-site-card-group .site-card .info .site-card-text { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: start; + -moz-box-align: start; + -o-box-align: start; + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; +} +#article-container .telescopic-site-card-group .site-card .info .site-card-text .title { + color: var(--anzhiyu-fontcolor); + text-align: left; + font-weight: 600; + display: -webkit-box; + -webkit-box-orient: vertical; + overflow: hidden; + -webkit-line-clamp: 1; + -webkit-transition: all 0.3s ease 0s; + -moz-transition: all 0.3s ease 0s; + -o-transition: all 0.3s ease 0s; + -ms-transition: all 0.3s ease 0s; + transition: all 0.3s ease 0s; +} +#article-container .telescopic-site-card-group .site-card .info .site-card-text .desc { + font-size: 0.9rem; + color: var(--anzhiyu-fontcolor); + opacity: 0.7; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; + filter: alpha(opacity=70); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + text-align: left; + overflow-wrap: break-word; + line-height: 1.2; + display: -webkit-box; + -webkit-box-orient: vertical; + overflow: hidden; + -webkit-line-clamp: 2; +} +#article-container .telescopic-site-card-group .site-card .info .img-alt { + display: none; +} +#article-container .telescopic-site-card-group .site-card .info img { + border-radius: 32px; + -webkit-transition: 0.3s !important; + -moz-transition: 0.3s !important; + -o-transition: 0.3s !important; + -ms-transition: 0.3s !important; + transition: 0.3s !important; + margin: 2px 8px 0 0; + width: 20px; + height: 20px; + min-width: 20px; + min-height: 20px; + background: var(--anzhiyu-secondbg); +} +#article-container .telescopic-site-card-group .site-card .img { + -webkit-mask-image: -webkit-radial-gradient(center, #fff, #000); + border-radius: 0; + height: 120px; + width: 100%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + border: none; + padding: 0 !important; + -webkit-transition: all 0.3s ease 0s; + -moz-transition: all 0.3s ease 0s; + -o-transition: all 0.3s ease 0s; + -ms-transition: all 0.3s ease 0s; + transition: all 0.3s ease 0s; +} +#article-container .telescopic-site-card-group .site-card .img img { + border-radius: 0; + -webkit-transform: scale(1.03); + -moz-transform: scale(1.03); + -o-transform: scale(1.03); + -ms-transform: scale(1.03); + transform: scale(1.03); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + margin: 0; + max-width: 100%; +} +@-moz-keyframes light_tag { + 0% { + -webkit-transform: skewx(0) translateX(-150px); + -moz-transform: skewx(0) translateX(-150px); + -o-transform: skewx(0) translateX(-150px); + -ms-transform: skewx(0) translateX(-150px); + transform: skewx(0) translateX(-150px); + } + 99% { + -webkit-transform: skewx(-25deg) translateX(50px); + -moz-transform: skewx(-25deg) translateX(50px); + -o-transform: skewx(-25deg) translateX(50px); + -ms-transform: skewx(-25deg) translateX(50px); + transform: skewx(-25deg) translateX(50px); + } +} +@-webkit-keyframes light_tag { + 0% { + -webkit-transform: skewx(0) translateX(-150px); + -moz-transform: skewx(0) translateX(-150px); + -o-transform: skewx(0) translateX(-150px); + -ms-transform: skewx(0) translateX(-150px); + transform: skewx(0) translateX(-150px); + } + 99% { + -webkit-transform: skewx(-25deg) translateX(50px); + -moz-transform: skewx(-25deg) translateX(50px); + -o-transform: skewx(-25deg) translateX(50px); + -ms-transform: skewx(-25deg) translateX(50px); + transform: skewx(-25deg) translateX(50px); + } +} +@-o-keyframes light_tag { + 0% { + -webkit-transform: skewx(0) translateX(-150px); + -moz-transform: skewx(0) translateX(-150px); + -o-transform: skewx(0) translateX(-150px); + -ms-transform: skewx(0) translateX(-150px); + transform: skewx(0) translateX(-150px); + } + 99% { + -webkit-transform: skewx(-25deg) translateX(50px); + -moz-transform: skewx(-25deg) translateX(50px); + -o-transform: skewx(-25deg) translateX(50px); + -ms-transform: skewx(-25deg) translateX(50px); + transform: skewx(-25deg) translateX(50px); + } +} +@keyframes light_tag { + 0% { + -webkit-transform: skewx(0) translateX(-150px); + -moz-transform: skewx(0) translateX(-150px); + -o-transform: skewx(0) translateX(-150px); + -ms-transform: skewx(0) translateX(-150px); + transform: skewx(0) translateX(-150px); + } + 99% { + -webkit-transform: skewx(-25deg) translateX(50px); + -moz-transform: skewx(-25deg) translateX(50px); + -o-transform: skewx(-25deg) translateX(50px); + -ms-transform: skewx(-25deg) translateX(50px); + transform: skewx(-25deg) translateX(50px); + } +} +#recent-posts > .recent-post-item:not(:first-child) { + margin-top: 20px; + -webkit-animation: slide-in 0.6s 0.4s backwards; + -moz-animation: slide-in 0.6s 0.4s backwards; + -o-animation: slide-in 0.6s 0.4s backwards; + -ms-animation: slide-in 0.6s 0.4s backwards; + animation: slide-in 0.6s 0.4s backwards; + will-change: transform; +} +@media screen and (max-width: 768px) { + #recent-posts > .recent-post-item:not(:first-child) { + margin: 20px 20px 0; + } +} +#recent-posts > .recent-post-item { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + overflow: hidden; + height: 18em; + position: relative; + border-radius: 12px; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-transition: all 0.3s ease 0s; + -moz-transition: all 0.3s ease 0s; + -o-transition: all 0.3s ease 0s; + -ms-transition: all 0.3s ease 0s; + transition: all 0.3s ease 0s; +} +#recent-posts > .recent-post-item .recent-post-info-top-tips { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + margin-top: 20px; +} +#recent-posts > .recent-post-item .unvisited-post { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + color: var(--anzhiyu-secondtext); + font-size: 0.5rem; + position: relative; +} +#recent-posts > .recent-post-item .unvisited-post:visited { + color: var(--anzhiyu-card-bg); +} +#recent-posts > .recent-post-item .recent-post-info { + margin-top: 0px; + position: relative; +} +#recent-posts > .recent-post-item .recent-post-info .recent-post-info-top { + position: relative; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + padding: 0 32px; + width: 100%; +} +#recent-posts > .recent-post-item .recent-post-info .recent-post-info-top .article-categories-original { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + color: var(--anzhiyu-secondtext); + font-size: 0.5rem; + position: relative; + margin-right: 8px; +} +#recent-posts > .recent-post-item .recent-post-info .recent-post-info-top .newPost { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + color: var(--anzhiyu-secondtext); + font-size: 0.5rem; + position: relative; + margin-right: 8px; +} +#recent-posts > .recent-post-item .recent-post-info .article-title { + font-size: 20px; + -webkit-line-clamp: 2; + line-height: 30px; + margin-top: 0; + font-weight: 700; + color: var(--anzhiyu-fontcolor); + margin-bottom: 0; + width: 100%; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + display: -webkit-box; + overflow: hidden; + -webkit-box-orient: vertical; +} +@media screen and (max-width: 768px) { + #recent-posts > .recent-post-item .recent-post-info .article-title { + font-size: 19px; + } +} +@media screen and (max-width: 768px) { + #recent-posts > .recent-post-item { + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + height: auto; + } + #recent-posts > .recent-post-item.lastestpost-item { + margin-top: 10px !important; + } +} +#recent-posts > .recent-post-item:hover img.post_bg { + filter: brightness(0.82) !important; + -webkit-transform: scale(1.03) !important; + -moz-transform: scale(1.03) !important; + -o-transform: scale(1.03) !important; + -ms-transform: scale(1.03) !important; + transform: scale(1.03) !important; + -webkit-transition: 0.3s ease-in-out; + -moz-transition: 0.3s ease-in-out; + -o-transition: 0.3s ease-in-out; + -ms-transition: 0.3s ease-in-out; + transition: 0.3s ease-in-out; +} +#recent-posts > .recent-post-item.ads-wrap { + display: block !important; + height: auto !important; +} +#recent-posts > .recent-post-item .post_cover { + overflow: hidden; + width: 70%; + height: 200px; +} +@media screen and (max-width: 768px) { + #recent-posts > .recent-post-item .post_cover { + width: 100%; + height: 200px; + } +} +#recent-posts > .recent-post-item .post_cover img.post_bg { + border-radius: 0px; + height: 100%; + width: 100%; + -webkit-transition: all 0.6s ease 0s; + -moz-transition: all 0.6s ease 0s; + -o-transition: all 0.6s ease 0s; + -ms-transition: all 0.6s ease 0s; + transition: all 0.6s ease 0s; + object-fit: cover; +} +#recent-posts > .recent-post-item .post_cover.right { + -webkit-box-ordinal-group: 1; + -moz-box-ordinal-group: 1; + -o-box-ordinal-group: 1; + -ms-flex-order: 1; + -webkit-order: 1; + order: 1; +} +@media screen and (max-width: 768px) { + #recent-posts > .recent-post-item .post_cover.right { + -webkit-box-ordinal-group: 0; + -moz-box-ordinal-group: 0; + -o-box-ordinal-group: 0; + -ms-flex-order: 0; + -webkit-order: 0; + order: 0; + } +} +#recent-posts > .recent-post-item >.recent-post-info { + height: 174px; + width: 100%; + cursor: pointer; + position: relative; + padding: 0; + display: inline-block; + overflow: hidden; +} +#recent-posts > .recent-post-item >.recent-post-info .sticky-warp { + line-height: 23px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + margin-right: 8px; +} +#recent-posts > .recent-post-item >.recent-post-info .sticky-warp .sticky { + color: #ff7242; + font-size: 12px; +} +@media screen and (max-width: 768px) { + #recent-posts > .recent-post-item >.recent-post-info { + width: 100%; + min-height: 140px; + } +} +#recent-posts > .recent-post-item >.recent-post-info.no-cover { + width: 100%; +} +@media screen and (max-width: 768px) { + #recent-posts > .recent-post-item >.recent-post-info.no-cover { + padding: 30px 20px; + } +} +#recent-posts > .recent-post-item >.recent-post-info.no-cover:hover { + color: #425aef; +} +#recent-posts > .recent-post-item >.recent-post-info > .article-meta-wrap { + color: var(--anzhiyu-fontcolor); + font-size: 0.7rem; + position: absolute; + padding: 0 32px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-lines: single; + -moz-box-lines: single; + -o-box-lines: single; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + width: 100%; + left: 0; + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + -o-box-direction: reverse; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + bottom: 30px; +} +#recent-posts > .recent-post-item >.recent-post-info > .article-meta-wrap .article-meta { + margin: 0 8px 0 0; + white-space: nowrap; + overflow: hidden; + display: inline-block; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; +} +#recent-posts > .recent-post-item >.recent-post-info > .article-meta-wrap > .post-meta-date { + color: var(--anzhiyu-fontcolor); + font-size: 0.875rem; + white-space: nowrap; +} +@media screen and (max-width: 500px) { + #recent-posts > .recent-post-item >.recent-post-info > .article-meta-wrap > .post-meta-date { + font-size: 13px; + } +} +#recent-posts > .recent-post-item >.recent-post-info > .article-meta-wrap i { + margin: 0 4px 0 0; +} +#recent-posts > .recent-post-item >.recent-post-info > .article-meta-wrap .article-meta-label { + display: none; +} +#recent-posts > .recent-post-item >.recent-post-info > .article-meta-wrap .article-meta-separator { + margin: 0 6px; +} +#recent-posts > .recent-post-item >.recent-post-info > .article-meta-wrap .article-meta-link { + margin: 0 4px; +} +#recent-posts > .recent-post-item >.recent-post-info > .article-meta-wrap a { + color: var(--anzhiyu-fontcolor); + font-size: 14px; + margin-right: 4px; +} +#recent-posts > .recent-post-item >.recent-post-info > .article-meta-wrap a span { + pointer-events: none; +} +#recent-posts > .recent-post-item >.recent-post-info > .article-meta-wrap a:hover { + color: #425aef; +} +#recent-posts > .recent-post-item >.recent-post-info > .content { + -webkit-line-clamp: 2; +} +#topPostGroup { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + margin-top: 10px; + height: 128px; + -ms-flex-line-pack: justify; + -webkit-align-content: space-between; + align-content: space-between; + width: 100%; +} +#home_top { + margin: 0 auto 0; + padding: 0px 1.5rem 0px; + max-width: 1400px; + width: 100%; + -webkit-animation: slide-in 0.6s 0.1s backwards; + -moz-animation: slide-in 0.6s 0.1s backwards; + -o-animation: slide-in 0.6s 0.1s backwards; + -ms-animation: slide-in 0.6s 0.1s backwards; + animation: slide-in 0.6s 0.1s backwards; + overflow: hidden; +} +@media screen and (max-width: 768px) { + #topPostGroup { + height: 240px; + } + #swiper_container_blog { + padding: 10px; + } + #home_top { + padding: 0px 20px 0px; + } +} +#content-inner #recent-posts > .recent-post-item > .recent-post-info > .content { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + height: 0; +} +@media screen and (max-width: 1200px) { + #recent-posts > .recent-post-item >.recent-post-info > .article-title { + line-height: 30px; + font-weight: bold; + color: var(--anzhiyu-fontcolor); + width: 100%; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + font-size: 1.2rem; + -webkit-line-clamp: 2; + display: -webkit-box; + overflow: hidden; + -webkit-box-orient: vertical; + } +} +@media screen and (max-width: 768px) { + #content-inner #recent-posts > .recent-post-item > .recent-post-info > .content { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + height: 0; + } +} +@media screen and (min-width: 1201px) { + #recent-posts { + -ms-flex-line-pack: start; + -webkit-align-content: flex-start; + align-content: flex-start; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + } + #recent-posts>.recent-post-item { + margin-top: 1rem; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + height: auto; + width: 49%; + -webkit-flex-direction: column; + -ms-flex-direction: column; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + height: auto !important; + } + #recent-posts>.recent-post-item .recent-post-info .content { + display: none; + } + #recent-posts>.recent-post-item .post_cover { + width: 100%; + height: 225px; + -webkit-transition: 1s !important; + -moz-transition: 1s !important; + -o-transition: 1s !important; + -ms-transition: 1s !important; + transition: 1s !important; + } + #recent-posts>.recent-post-item .post_cover img.post_bg { + width: 100%; + height: 100%; + } + #recent-posts>.recent-post-item .left_radius { + border-radius: 8px 8px 0 0; + } + #recent-posts>.recent-post-item .right_radius { + border-radius: 8px 8px 0 0; + } +} +#content-inner #recent-posts > .recent-post-item > .recent-post-info > .content { + -webkit-transition: all 0.3s ease 0s; + -moz-transition: all 0.3s ease 0s; + -o-transition: all 0.3s ease 0s; + -ms-transition: all 0.3s ease 0s; + transition: all 0.3s ease 0s; + display: -webkit-box; + overflow: hidden; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + line-height: 1.4; + color: var(--anzhiyu-secondtext); + margin-top: 0.5rem; + font-size: 14px; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + height: 0; +} +#popup-window { + min-width: 300px; + background: var(--anzhiyu-maskbgdeep); + color: var(--anzhiyu-fontcolor); + padding: 8px 16px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + bottom: 20px; + right: 20px; + position: fixed; + border-radius: 12px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + z-index: 1002; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + backdrop-filter: saturate(180%) blur(20px); + -webkit-backdrop-filter: saturate(180%) blur(20px); + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -o-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + border: var(--style-border); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + pointer-events: none; +} +#popup-window.show-popup-window { + -webkit-animation: barrageIn 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + -moz-animation: barrageIn 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + -o-animation: barrageIn 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + -ms-animation: barrageIn 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + animation: barrageIn 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + opacity: 1; + -ms-filter: none; + filter: none; + pointer-events: all; + cursor: pointer; +} +#popup-window.no-url:hover { + background: var(--anzhiyu-maskbgdeep); + color: var(--anzhiyu-fontcolor); + border: var(--style-border); + cursor: pointer; +} +#popup-window.no-url .popup-window-content .popup-link { + display: none; +} +#popup-window:hover { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white); + border: var(--style-border-hover); +} +#popup-window:hover .popup-window-content .popup-link i { + color: var(--anzhiyu-white); +} +#popup-window.popup-hide { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-animation: barrageOut 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + -moz-animation: barrageOut 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + -o-animation: barrageOut 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + -ms-animation: barrageOut 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + animation: barrageOut 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); +} +#popup-window .popup-window-title { + font-size: 12px; + font-weight: 700; + color: var(--anzhiyu-card-bg); + margin-right: 8px; + background: var(--anzhiyu-fontcolor); + line-height: 1; + padding: 4px; + border-radius: 4px; + width: fit-content; +} +#popup-window .popup-window-divider { + width: 100%; + border-bottom: var(--style-border); + margin-top: 6px; +} +#popup-window .popup-window-content { + font-size: 14px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: distribute; + -moz-box-pack: distribute; + -o-box-pack: distribute; + -ms-flex-pack: distribute; + -webkit-justify-content: space-around; + justify-content: space-around; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +#popup-window .popup-window-content .popup-link { + margin-left: auto; + font-size: 16px; +} +#popup-window .popup-window-content .popup-link i { + font-size: 16px; +} +body[data-type="post"] #popup-window { + top: 70px; + bottom: auto; +} +body[data-type="post"] #popup-window.show-popup-window { + -webkit-animation: toLeftFull 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + -moz-animation: toLeftFull 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + -o-animation: toLeftFull 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + -ms-animation: toLeftFull 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + animation: toLeftFull 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + opacity: 1; + -ms-filter: none; + filter: none; +} +body[data-type="post"] #popup-window.popup-hide { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-animation: toRightFull 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + -moz-animation: toRightFull 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + -o-animation: toRightFull 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + -ms-animation: toRightFull 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + animation: toRightFull 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); +} +body[data-type="music"] { + background: #0d0d0d; +} +body[data-type="music"] #body-wrap { + -webkit-box-pack: start; + -moz-box-pack: start; + -o-box-pack: start; + -ms-flex-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; +} +body[data-type="music"] #center-console + label i { + background: var(--anzhiyu-white) !important; +} +body[data-type="music"] .layout { + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; +} +body[data-type="music"] #page { + border: 0; + -webkit-box-shadow: none !important; + box-shadow: none !important; + padding: 0 !important; + background: transparent !important; +} +body[data-type="music"] #page .page-title { + display: none; +} +body[data-type="music"] #page-header #nav { + backdrop-filter: none !important; + background: 0 0 !important; + border-bottom: none !important; +} +body[data-type="music"] #page-header #nav #blog_name a, +body[data-type="music"] #page-header #nav .mask-name-container a, +body[data-type="music"] #page-header #nav #menus a, +body[data-type="music"] #page-header #nav #nav-right .nav-button a, +body[data-type="music"] #page-header #nav #nav-right #toggle-menu a, +body[data-type="music"] #page-header #nav #blog_name .back-home-button, +body[data-type="music"] #page-header #nav .mask-name-container .back-home-button, +body[data-type="music"] #page-header #nav #menus .back-home-button, +body[data-type="music"] #page-header #nav #nav-right .nav-button .back-home-button, +body[data-type="music"] #page-header #nav #nav-right #toggle-menu .back-home-button { + color: var(--anzhiyu-white); +} +body[data-type="music"] #footer, +body[data-type="music"] #nav-music { + display: none; +} +body[data-type="music"] #an_music_bg { + display: block; +} +body[data-type="music"] #web_bg { + display: none; +} +body[data-type="music"] .s-sticker div { + color: var(--anzhiyu-white) !important; +} +[data-theme="dark"] body[data-type="music"] .page #page-header:before { + background-color: transparent; +} +#an_music_bg { + display: none; + filter: blur(63px); + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + position: fixed; + z-index: -999; + background-attachment: local; + background-position: center center; + background-size: cover; + background-repeat: no-repeat; + width: 200%; + height: 200%; + top: -50%; + left: -50%; + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +body:has(#console.show) #nav-music { + display: none !important; +} +@media screen and (max-width: 1400px) { + body #anMusic-page #anMusicSwitching, + body #anMusic-page #anMusicRefreshBtn, + body #anMusic-page #anMusicBtnGetSong { + right: 7vw; + } + body #anMusic-page #anMusicSwitching { + bottom: 100px; + } + body #anMusic-page #anMusicRefreshBtn { + bottom: 160px; + } + body #anMusic-page #anMusicBtnGetSong { + bottom: 220px; + } +} +#anMusic-page #anMusicRefreshBtn, +#anMusic-page #anMusicBtnGetSong, +#anMusic-page #anMusicSwitching { + position: fixed; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + width: 50px; + height: 50px; + bottom: 100px; + padding: 5px; + background: var(--anzhiyu-white-op); + backdrop-filter: saturate(180%) blur(20px); + -webkit-backdrop-filter: blur(20px); + border-radius: 50%; + color: #fff; + text-align: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + cursor: pointer; + z-index: 2; +} +#anMusic-page #anMusicBtnGetSong { + right: 11vw; +} +#anMusic-page #anMusicRefreshBtn { + right: 7vw; +} +#anMusic-page #anMusicSwitching { + right: 15vw; +} +@media screen and (max-width: 768px) { + #anMusic-page div#anMusicBtnGetSong { + right: 80px; + bottom: 150px; + } + #anMusic-page div#anMusicRefreshBtn { + right: 20px; + bottom: 150px; + } + #anMusic-page div#anMusicSwitching { + right: 140px; + bottom: 150px; + } +} +#anMusic-page meting-js .aplayer { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + -o-box-direction: reverse; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + background: rgba(0,0,0,0); + border: none; + -webkit-box-shadow: none; + box-shadow: none; +} +#anMusic-page meting-js .aplayer .aplayer-body { + width: 40%; + height: calc(100vh - 169px); +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-pic { + float: none; + width: 180px; + height: 180px; + border-radius: 12px; + margin: auto; + left: 0; + right: 0; + -webkit-transition: background-image 0.5s ease-in-out; + -moz-transition: background-image 0.5s ease-in-out; + -o-transition: background-image 0.5s ease-in-out; + -ms-transition: background-image 0.5s ease-in-out; + transition: background-image 0.5s ease-in-out; + background-size: cover; + background-color: transparent !important; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info { + margin: 0 20px 0 20px; + border-bottom: none; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-music { + text-align: center; + height: auto; + margin: 15px; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-music .aplayer-author, +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-music .aplayer-title { + font-size: 2rem; + font-weight: 700; + color: #fff; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-lrc { + height: 800%; + margin-top: 10px; + mask-image: linear-gradient(to bottom, #000, #000, #000, #000, #000, #000, #000, #000, #000, #000, rgba(0,0,0,0), rgba(0,0,0,0)); +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-lrc p { + font-size: 20px; + line-height: 20px !important; + height: 20px !important; + margin: 20px 0 !important; + color: #fff; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-lrc p.aplayer-lrc-current { + min-height: 20px; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-lrc::after, +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-lrc::before { + display: none; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller { + position: fixed; + max-width: 1500px; + margin: auto; + left: 0; + right: 0; + bottom: 50px; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-bar-wrap { + margin: 0 160px 0 150px; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar { + height: 6px; + border-radius: 4px; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played { + height: 6px; + border-radius: 4px; + background: var(--anzhiyu-white) !important; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb { + width: 20px; + height: 20px; + margin-top: -7px; + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + -ms-transform: none; + transform: none; + background: #fff !important; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-loaded { + height: 6px; + border-radius: 4px; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time { + position: absolute; + width: 100%; + bottom: 21px; + height: 0; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: end; + -moz-box-pack: end; + -o-box-pack: end; + -ms-flex-pack: end; + -webkit-justify-content: flex-end; + justify-content: flex-end; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-volume-wrap .aplayer-volume-bar-wrap { + bottom: 0; + right: -5px; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon { + width: 2rem; + height: 2rem; + margin-left: 15px; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path { + fill: var(--anzhiyu-white); + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-loop { + margin-right: 15px; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-time-inner { + margin-right: 18px; + margin-top: -8px; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon-back { + position: absolute; + left: 0; + display: inline; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon-play { + position: absolute; + left: 40px; + display: inline; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon-forward { + position: absolute; + left: 80px; + display: inline; +} +#anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon-menu { + display: none; +} +#anMusic-page meting-js .aplayer .aplayer-list { + width: 60%; + height: 100%; +} +#anMusic-page meting-js .aplayer ol { + padding-right: 25px; +} +#anMusic-page meting-js .aplayer ol > li { + border-top: 1px solid transparent; + font-size: 14px; +} +#anMusic-page meting-js .aplayer ol > li:hover { + background: rgba(255,255,255,0.2); + border-radius: 6px; +} +#anMusic-page meting-js .aplayer ol > li.aplayer-list-light { + background: rgba(255,255,255,0.2); + border-radius: 6px; + padding: 20px 15px; +} +#anMusic-page meting-js .aplayer ol > li.aplayer-list-light span.aplayer-list-title { + font-weight: bolder; +} +#anMusic-page meting-js .aplayer ol > li.aplayer-list-light .aplayer-list-cur { + display: none; +} +#anMusic-page meting-js .aplayer ol > li span { + color: var(--anzhiyu-white); +} +#anMusic-page meting-js .aplayer ol > li span.aplayer-list-author { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); +} +@media screen and (max-width: 768px) { + body[data-type="music"] #rightside { + display: none; + } + body[data-type="music"] #content-inner, + body[data-type="music"] #page { + z-index: auto; + } + #anMusic-page meting-js .aplayer .aplayer-list { + position: fixed; + z-index: 1002; + width: 100%; + bottom: -88%; + left: 0; + background: var(--sidebar-bg); + height: auto; + border-radius: 15px 15px 0px 0px; + padding: 15px 0px; + } + #anMusic-page meting-js .aplayer .aplayer-list.aplayer-list-hide { + bottom: 0% !important; + } + #anMusic-page meting-js .aplayer .aplayer-list ol { + max-height: 60vh !important; + padding-right: 0px; + } + #anMusic-page meting-js .aplayer .aplayer-list ol > li { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + margin: 0 10px; + } + #anMusic-page meting-js .aplayer .aplayer-list ol > li span { + color: var(--font-color); + } + #anMusic-page meting-js .aplayer .aplayer-list ol > li span.aplayer-list-title { + width: 30%; + max-width: 55%; + width: auto; + display: -webkit-box; + -webkit-line-clamp: 1; + overflow: hidden; + -webkit-box-orient: vertical; + } + #anMusic-page meting-js .aplayer .aplayer-list ol > li span.aplayer-list-author { + position: absolute; + right: 10px; + width: auto; + max-width: 35%; + display: -webkit-box; + -webkit-line-clamp: 1; + overflow: hidden; + -webkit-box-orient: vertical; + } + #anMusic-page meting-js .aplayer .aplayer-list ol > li.aplayer-list-light { + background: #33a673; + padding: 5px 20px; + border-radius: 10px; + } + #anMusic-page meting-js .aplayer .aplayer-list ol > li.aplayer-list-light span { + color: #fff; + } + #anMusic-page meting-js .aplayer .aplayer-list ol > li.aplayer-list-light span.aplayer-list-author { + right: 15px; + } + #anMusic-page meting-js .aplayer .aplayer-body { + width: 100%; + position: fixed; + margin: auto; + left: 0; + right: 0; + top: 100px; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-lrc { + margin-top: 40px; + height: auto; + max-height: 200%; + min-height: 100%; + mask-image: linear-gradient(to bottom, #000, #000, #000, #000, rgba(0,0,0,0), rgba(0,0,0,0)); + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-lrc p.aplayer-lrc-current { + color: #33a673; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller { + width: 100%; + bottom: 100px; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-volume-wrap { + left: -66px; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap { + bottom: 0px; + right: 7px; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-bar-wrap { + margin: 0 30px; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time { + bottom: -40px; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-time-inner { + position: absolute; + width: 100%; + margin-right: 0; + margin-top: -33px; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-time-inner .aplayer-dtime { + position: absolute; + right: 30px; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-time-inner .aplayer-ptime { + position: absolute; + left: 35px; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon-back { + margin: auto; + right: 110px; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon-play { + margin: auto; + right: 0; + left: 0; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon-forward { + margin: auto; + left: 110px; + right: 0; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon-order { + position: absolute; + left: 22px; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon-loop { + position: absolute; + right: 25px; + } + #anMusic-page meting-js .aplayer .aplayer-body .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon-menu { + display: inline; + position: absolute; + right: 25px; + top: -90px; + } +} +.reward #con { + width: 350px; + height: 85px; + position: relative; + border-radius: 4px; +} +.reward #TA-con { + width: 157px; + height: 50px; + background-color: #f25d8e; + -webkit-box-shadow: 0 4px 4px rgba(255,112,159,0.3); + box-shadow: 0 4px 4px rgba(255,112,159,0.3); + position: absolute; + top: 50%; + left: 10%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + border-radius: 4px; + cursor: pointer; +} +@media screen and (max-width: 768px) { + .reward #TA-con { + width: 125px; + left: 54px; + } +} +.reward #TA-con:hover { + background-color: #ff6b9a; +} +.reward #text-con { + width: 100px; + height: 100%; + margin: 0 auto; + position: relative; +} +.reward #linght { + width: 0; + height: 0; + position: absolute; + top: 36%; + left: 4px; + border-color: transparent; + border-style: solid; + border-width: 10px; + border-top: 10px solid #fff; + border-radius: 4px; + -webkit-transform: rotate(-55deg); + -moz-transform: rotate(-55deg); + -o-transform: rotate(-55deg); + -ms-transform: rotate(-55deg); + transform: rotate(-55deg); +} +.reward #linght::after { + position: absolute; + top: -13px; + left: -11px; + content: ""; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 10px; + border-top: 10px solid #fff; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + border-radius: 4px; +} +.reward #TA { + float: right; + line-height: 50px; + font-size: 15px; + color: #fff; +} +.reward #tube-con { + width: 157px; + height: 55px; + position: absolute; + right: -5px; + top: 15px; +} +.reward svg { + width: 100%; + height: 100%; +} +.reward #mask { + width: 0px; + height: 100%; + overflow: hidden; + position: absolute; + top: 0; + left: 0; + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -o-transition: all 0.5s; + -ms-transition: all 0.5s; + transition: all 0.5s; +} +.reward #mask svg { + width: 157px; + height: 55px; +} +.reward #TA-con:hover + #tube-con > #mask { + width: 157px; +} +.reward #TA-con:hover + #tube-con > #orange-mask { + -webkit-animation: move1 0.5s linear 0.2s infinite; + -moz-animation: move1 0.5s linear 0.2s infinite; + -o-animation: move1 0.5s linear 0.2s infinite; + -ms-animation: move1 0.5s linear 0.2s infinite; + animation: move1 0.5s linear 0.2s infinite; +} +.reward #TA-con:hover + #tube-con > #orange-mask svg { + -webkit-animation: movetwo 0.5s linear 0.2s infinite; + -moz-animation: movetwo 0.5s linear 0.2s infinite; + -o-animation: movetwo 0.5s linear 0.2s infinite; + -ms-animation: movetwo 0.5s linear 0.2s infinite; + animation: movetwo 0.5s linear 0.2s infinite; +} +.reward #orange-mask { + width: 18px; + height: 100%; + overflow: hidden; + position: absolute; + left: -15px; + top: 0px; +} +.reward #orange-mask svg { + position: absolute; + top: 0; + left: 15px; + width: 157px; + height: 55px; +} +.reward #people { + position: absolute; + right: 10px; + top: 4px; + font-size: 12px; + font-family: "雅黑"; + color: #aaa; +} +.reward #people > b { + color: #777; +} +@-moz-keyframes move1 { + 0% { + -webkit-transform: translateX(-15px); + -moz-transform: translateX(-15px); + -o-transform: translateX(-15px); + -ms-transform: translateX(-15px); + transform: translateX(-15px); + } + 100% { + -webkit-transform: translateX(140px); + -moz-transform: translateX(140px); + -o-transform: translateX(140px); + -ms-transform: translateX(140px); + transform: translateX(140px); + } +} +@-webkit-keyframes move1 { + 0% { + -webkit-transform: translateX(-15px); + -moz-transform: translateX(-15px); + -o-transform: translateX(-15px); + -ms-transform: translateX(-15px); + transform: translateX(-15px); + } + 100% { + -webkit-transform: translateX(140px); + -moz-transform: translateX(140px); + -o-transform: translateX(140px); + -ms-transform: translateX(140px); + transform: translateX(140px); + } +} +@-o-keyframes move1 { + 0% { + -webkit-transform: translateX(-15px); + -moz-transform: translateX(-15px); + -o-transform: translateX(-15px); + -ms-transform: translateX(-15px); + transform: translateX(-15px); + } + 100% { + -webkit-transform: translateX(140px); + -moz-transform: translateX(140px); + -o-transform: translateX(140px); + -ms-transform: translateX(140px); + transform: translateX(140px); + } +} +@keyframes move1 { + 0% { + -webkit-transform: translateX(-15px); + -moz-transform: translateX(-15px); + -o-transform: translateX(-15px); + -ms-transform: translateX(-15px); + transform: translateX(-15px); + } + 100% { + -webkit-transform: translateX(140px); + -moz-transform: translateX(140px); + -o-transform: translateX(140px); + -ms-transform: translateX(140px); + transform: translateX(140px); + } +} +@-moz-keyframes movetwo { + 0% { + -webkit-transform: translateX(15px); + -moz-transform: translateX(15px); + -o-transform: translateX(15px); + -ms-transform: translateX(15px); + transform: translateX(15px); + } + 100% { + -webkit-transform: translateX(-140px); + -moz-transform: translateX(-140px); + -o-transform: translateX(-140px); + -ms-transform: translateX(-140px); + transform: translateX(-140px); + } +} +@-webkit-keyframes movetwo { + 0% { + -webkit-transform: translateX(15px); + -moz-transform: translateX(15px); + -o-transform: translateX(15px); + -ms-transform: translateX(15px); + transform: translateX(15px); + } + 100% { + -webkit-transform: translateX(-140px); + -moz-transform: translateX(-140px); + -o-transform: translateX(-140px); + -ms-transform: translateX(-140px); + transform: translateX(-140px); + } +} +@-o-keyframes movetwo { + 0% { + -webkit-transform: translateX(15px); + -moz-transform: translateX(15px); + -o-transform: translateX(15px); + -ms-transform: translateX(15px); + transform: translateX(15px); + } + 100% { + -webkit-transform: translateX(-140px); + -moz-transform: translateX(-140px); + -o-transform: translateX(-140px); + -ms-transform: translateX(-140px); + transform: translateX(-140px); + } +} +@keyframes movetwo { + 0% { + -webkit-transform: translateX(15px); + -moz-transform: translateX(15px); + -o-transform: translateX(15px); + -ms-transform: translateX(15px); + transform: translateX(15px); + } + 100% { + -webkit-transform: translateX(-140px); + -moz-transform: translateX(-140px); + -o-transform: translateX(-140px); + -ms-transform: translateX(-140px); + transform: translateX(-140px); + } +} +#tag #tag-page-tags { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; +} +#tag #tag-page-tags a { + line-height: 1.6; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + color: var(--anzhiyu-fontcolor) !important; + padding: 0.1rem 0.5rem; + margin: 0.25rem; + border-radius: 8px; + border: var(--style-border-always); +} +#tag #tag-page-tags a.selected { + -webkit-box-shadow: var(--anzhiyu-shadow-theme); + box-shadow: var(--anzhiyu-shadow-theme); + color: var(--anzhiyu-white) !important; + background: var(--anzhiyu-theme); + border: var(--style-border-none); +} +#tag #tag-page-tags a.select .tagsPageCount { + background: var(--anzhiyu-card-bg); + color: var(--anzhiyu-lighttext); +} +#post .tag_share .post-meta__box__tags span.tagsPageCount, +#tag-page-tags .tagsPageCount { + padding: 4px 6px; + background: var(--anzhiyu-secondbg); + border: var(--style-border-always); + min-width: 22.5px; + display: inline-block; + border-radius: 4px; + line-height: 0.6rem; + text-align: center; + font-size: 0.7rem; + color: var(--anzhiyu-fontcolor); + margin-left: 4px; +} +#tag #tag-page-tags a:hover .tagsPageCount, +#post .tag_share .post-meta__box__tags:hover span.tagsPageCount { + background: var(--anzhiyu-card-bg); + color: var(--anzhiyu-lighttext); +} +#tag #tag-page-tags a { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Lato, Roboto, "PingFang SC", "Microsoft YaHei", sans-serif; + font-size: 0.9em; +} +#tag #tag-page-tags a:hover { + -webkit-box-shadow: var(--anzhiyu-shadow-theme); + box-shadow: var(--anzhiyu-shadow-theme); + color: var(--anzhiyu-white) !important; + background: var(--anzhiyu-theme); + border: var(--style-border-none); +} +#tag #tag-page-tags a { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Lato, Roboto, "PingFang SC", "Microsoft YaHei", sans-serif; +} +span.tags-punctuation, +span.categoryes-punctuation { + margin-right: 4px; +} +span.tags-punctuation .icon-biaoqian, +span.categoryes-punctuation .icon-biaoqian { + font-size: 13px; +} +.tagsPageCount { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Lato, Roboto, "PingFang SC", "Microsoft YaHei", sans-serif; +} +[data-theme="light"] #post .tag_share .post-meta__box__tags span.tagsPageCount { + background-color: transparent; + color: #fff; +} +[data-theme="light"] #post .tag_share .post-meta__box__categoryes span.categoryesPageCount { + background-color: transparent; + color: #fff; +} +#post .tag_share .post-meta__box__categoryes span.categoryesPageCount { + padding: 4px 6px; + background: var(--anzhiyu-secondbg); + border: var(--style-border-always); + min-width: 22.5px; + display: inline-block; + border-radius: 4px; + line-height: 0.6rem; + text-align: center; + font-size: 0.7rem; + color: var(--anzhiyu-fontcolor); + margin-left: 4px; +} +.post-meta__box__categories { + border-radius: 12px; +} +.post-meta__box a { + color: var(--anzhiyu-white); + border: none; +} +[data-theme="dark"] .post-meta__box a { + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); +} +[data-theme="dark"] .post-reward .reward-button, +[data-theme="dark"] .reward-link.mode { + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); +} +.post-meta__box__tag-list a:nth-child(5n) { + background-color: #4a4a4a; + color: #fff; +} +.post-meta__box__tag-list a:nth-child(5n + 1) { + background-color: #ff5e5c; + color: #fff; +} +.post-meta__box__tag-list a:nth-child(5n + 2) { + background-color: #ffbb50; + color: #fff; +} +.post-meta__box__tag-list a:nth-child(5n + 3) { + background-color: #1ac756; + color: #fff; +} +.post-meta__box__tag-list a:nth-child(5n + 4) { + background-color: #19b5fe; + color: #fff; +} +.post-meta__box__tag-list a:hover { + background-color: var(--anzhiyu-main); + color: #fff; +} +[data-theme="dark"] .post-meta__box__tag-list a:hover { + color: #fff; +} +.post-meta__box__category-list a:nth-child(5n) { + background-color: #4a4a4a; + color: #fff; +} +.post-meta__box__category-list a:nth-child(5n + 1) { + background-color: #1ac756; + color: #fff; +} +.post-meta__box__category-list a:nth-child(5n + 2) { + background-color: #ffbb50; + color: #fff; +} +.post-meta__box__category-list a:nth-child(5n + 3) { + background-color: #19b5fe; + color: #fff; +} +.post-meta__box__category-list a:nth-child(5n + 4) { + background-color: #ff5e5c; + color: #fff; +} +body[data-type="tags"] #page, +body[data-type="categories"] #page { + border-radius: 12px; +} +@media screen and (max-width: 768px) { + body[data-type="tags"] #page #tag, + body[data-type="categories"] #page #tag { + padding: 0px 15px 20px; + } + body[data-type="tags"] #page .page-title, + body[data-type="categories"] #page .page-title { + margin: 8px 0 0px; + } +} +@media screen and (max-width: 768px) { + body[data-type="tags"] #body-wrap .layout, + body[data-type="categories"] #body-wrap .layout { + padding: 0 20px 15px; + } +} +body[data-type="tags"] #tag #tag-page-tags, +body[data-type="categories"] #tag #tag-page-tags { + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +body[data-type="tags"] #tag #tag-page-tags a, +body[data-type="categories"] #tag #tag-page-tags a { + font-size: 1.4rem; + margin: 0.3rem 0.65rem; +} +@media screen and (max-width: 768px) { + body[data-type="tags"] #tag #tag-page-tags a, + body[data-type="categories"] #tag #tag-page-tags a { + font-size: 1.8rem; + margin: 0.6rem 0.8rem; + } +} +.tag-cloud-list a { + display: inline-block; + padding: 0 8px; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; +} +.tag-cloud-list a:hover { + color: #425aef !important; + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); +} +@media screen and (max-width: 768px) { + .tag-cloud-list a { + zoom: 0.85; + } +} +.tag-cloud-title { + font-size: 2.57em; +} +@media screen and (max-width: 768px) { + .tag-cloud-title { + font-size: 2em; + } +} +h1.page-title + .tag-cloud-list { + text-align: left; +} +@media screen and (min-width: 1201px) and (max-width: 768px) { + #recent-posts>.recent-post-item { + width: 100%; + } + #recent-posts > .recent-post-item >.recent-post-info > .article-meta-wrap > .tags > .article-meta__separator { + display: none; + } +} +#error-wrap { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + width: 100%; + margin-top: 1rem; + position: relative; +} +@media screen and (max-width: 768px) { + #error-wrap { + margin-top: 0; + } +} +#error-wrap .error-content { + -webkit-box-shadow: none !important; + box-shadow: none !important; + border-radius: 12px; + background: var(--anzhiyu-card-bg) !important; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + margin: 0px 1rem; + height: 22rem; + max-width: 800px; + border-radius: 5px; + background: var(--anzhiyu-card-bg); + -webkit-box-shadow: var(--card-box-shadow); + box-shadow: var(--card-box-shadow); + -webkit-transition: all 0.3s ease 0s; + -moz-transition: all 0.3s ease 0s; + -o-transition: all 0.3s ease 0s; + -ms-transition: all 0.3s ease 0s; + transition: all 0.3s ease 0s; + border: var(--style-border-always); + position: relative; + width: 100%; +} +@media screen and (max-width: 768px) { + #error-wrap .error-content { + -webkit-box-orient: vertical; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + margin: 0px; + height: 25rem; + width: 100%; + } +} +#error-wrap .error-content .error-img { + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + box-flex: 1; + -webkit-flex: 1 1 0%; + -ms-flex: 1 1 0%; + flex: 1 1 0%; + height: 90%; + width: 600px; + border-top-left-radius: 8px; + border-bottom-left-radius: 8px; + background-color: #307af6; + background-position: center center; + background-size: cover; + height: 100%; +} +@media screen and (max-width: 768px) { + #error-wrap .error-content .error-img { + -webkit-box-flex: 1; + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + box-flex: 1; + -webkit-flex: 1 1 0%; + -ms-flex: 1 1 0%; + flex: 1 1 0%; + width: 100%; + border-radius: 12px; + } +} +#error-wrap .error-content .error-info { + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + box-flex: 1; + -webkit-flex: 1 1 0%; + -ms-flex: 1 1 0%; + flex: 1 1 0%; + padding: 0.5rem; + text-align: center; + font-size: 14px; + font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; +} +@media screen and (max-width: 768px) { + #error-wrap .error-content .error-info { + -webkit-box-flex: 1.1; + -webkit-box-flex: 1.1; + -moz-box-flex: 1.1; + -o-box-flex: 1.1; + box-flex: 1.1; + -webkit-flex: 1.1 1 0%; + -ms-flex: 1.1 1 0%; + flex: 1.1 1 0%; + width: 100%; + padding-bottom: 2rem; + } +} +#error-wrap .error-content .error-info .error_title { + font-size: 9em; + line-height: 1; +} +@media screen and (max-width: 768px) { + #error-wrap .error-content .error-info .error_title { + font-size: 4rem; + } +} +#error-wrap .error-content .error-info .error_subtitle { + word-break: break-word; + font-size: 1.6em; + -webkit-line-clamp: 2; +} +#error-wrap .error-content .error-info a { + display: inline-block; + margin-top: 0.5rem; + padding: 0.3rem 1.5rem; + background: var(--btn-bg); + color: var(--btn-color); +} +#error-wrap .error-content .error-info a i { + padding-right: 0.3rem; +} +.button--animated { + border-radius: 8px !important; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + position: relative; + z-index: 1; + -webkit-transition: color 1s ease 0s; + -moz-transition: color 1s ease 0s; + -o-transition: color 1s ease 0s; + -ms-transition: color 1s ease 0s; + transition: color 1s ease 0s; +} +#body-wrap .error-box { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + padding: 1rem; + padding-top: 0px; + position: relative; +} +#body-wrap .error-box .aside-list { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: single; + -moz-box-lines: single; + -o-box-lines: single; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + margin: 1rem; + max-width: 100%; +} +@media screen and (max-width: 768px) { + #body-wrap .error-box .aside-list { + margin: 0; + } +} +#body-wrap .error-box .aside-list .aside-list-group { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + max-width: 800px; + margin: 0 auto; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} +#body-wrap .error-box .aside-list .aside-list-item { + padding: 0.5rem 0; + width: 49%; +} +#body-wrap .error-box .aside-list .aside-list-item .thumbnail { + overflow: hidden; + width: 100%; + height: 200px; + background: var(--anzhiyu-card-bg); + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + border-radius: 12px; +} +@media screen and (max-width: 768px) { + #body-wrap .error-box .aside-list .aside-list-item .thumbnail { + height: 100px; + } +} +#body-wrap .error-box .aside-list .aside-list-item img { + width: 100%; + object-fit: cover; + border-radius: 12px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + -webkit-transition: filter 300ms ease-in 0.2s, -webkit-transform 0.6s; + -moz-transition: filter 300ms ease-in 0.2s, -moz-transform 0.6s; + -o-transition: filter 300ms ease-in 0.2s, -o-transform 0.6s; + -ms-transition: filter 300ms ease-in 0.2s, -ms-transform 0.6s; + transition: filter 300ms ease-in 0.2s, transform 0.6s; +} +#body-wrap .error-box .aside-list .aside-list-item:hover img { + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); + filter: brightness(0.82); +} +#body-wrap .error-box .aside-list .aside-list-item .content .title { + -webkit-line-clamp: 2; + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + line-height: 1.5; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: end; + -moz-box-align: end; + -o-box-align: end; + -ms-flex-align: end; + -webkit-align-items: flex-end; + align-items: flex-end; + -ms-flex-line-pack: center; + -webkit-align-content: center; + align-content: center; + padding-top: 0.5rem; + font-size: 16px; + font-weight: bold; +} +#body-wrap .error-box .aside-list .aside-list-item .content time { + display: none; +} +@media screen and (max-width: 768px) { + .post #aside-content { + background: var(--anzhiyu-background); + border: none; + z-index: 99; + margin-top: -1px; + } +} +#aside-content { + width: 300px; + -webkit-animation: slide-in 0.6s 0.3s backwards; + -moz-animation: slide-in 0.6s 0.3s backwards; + -o-animation: slide-in 0.6s 0.3s backwards; + -ms-animation: slide-in 0.6s 0.3s backwards; + animation: slide-in 0.6s 0.3s backwards; +} +@media screen and (min-width: 1200px) { + #aside-content { + padding-left: 15px; + } +} +@media screen and (max-width: 1200px) { + #aside-content { + width: 100%; + padding: 20px; + } +} +@media screen and (max-width: 768px) { + #aside-content { + padding: 0 20px 20px; + } +} +#aside-content > .card-widget:first-child { + margin-top: 0; +} +@media screen and (max-width: 1200px) { + #aside-content > .card-widget:first-child { + margin-top: 20px; + } +} +@media screen and (max-width: 768px) { + #aside-content > .card-widget:first-child { + margin-top: 0px; + } +} +#aside-content .card-widget { + position: relative; + overflow: hidden; + margin-top: 20px; + padding: 20px 24px; +} +#aside-content .card-widget .author-info__bottom-group { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + width: 100%; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +#aside-content .card-widget .author-info__bottom-group .author-info__name { + text-align: left; + font-weight: 700; + color: var(--anzhiyu-white); + font-size: 20px; + line-height: 1; + margin-bottom: 5px; + margin-top: 0; +} +#aside-content .card-widget .author-info__bottom-group .author-info__desc { + font-size: 12px; + color: var(--anzhiyu-white); + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + line-height: 1; +} +#aside-content .card-widget .author-info__description { + position: absolute; + top: 50px; + width: 100%; + left: 0; + padding: 1rem 1.2rem; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + color: var(--anzhiyu-white); +} +#aside-content .card-widget .banner-button-group .banner-button { + padding: 20px 12px; + color: var(--anzhiyu-white); + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + z-index: 1; + -webkit-transition: all 0.3s ease 0s; + -moz-transition: all 0.3s ease 0s; + -o-transition: all 0.3s ease 0s; + -ms-transition: all 0.3s ease 0s; + transition: all 0.3s ease 0s; + cursor: pointer; +} +#aside-content .card-widget .banner-button-group .banner-button .anzhiyufont .anzhiyu-icon-arrow-circle-right { + font-size: 1.3rem; + margin-right: 10px; +} +#aside-content .card-widget .author-info-avatar { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +#aside-content .card-widget .author-info-avatar img { + filter: blur(0) brightness(1); +} +#aside-content .card-widget .author-info-avatar .author-status { + position: absolute; + bottom: 2px; + right: 2px; + width: 33px; + height: 33px; + border-radius: 2em; + background-color: var(--anzhiyu-white); + overflow: hidden; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-transition: 0.3s 0.2s; + -moz-transition: 0.3s 0.2s; + -o-transition: 0.3s 0.2s; + -ms-transition: 0.3s 0.2s; + transition: 0.3s 0.2s; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); +} +#aside-content .card-widget .author-info-avatar .author-status img { + width: 26px; + height: 26px; + border-radius: 0px; +} +#aside-content .card-widget .card-info-social-icons { + margin: 0; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: start; + -moz-box-pack: start; + -o-box-pack: start; + -ms-flex-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + cursor: pointer; +} +#aside-content .card-widget .card-info-social-icons .social-icon { + margin: 0 0 0 10px; + color: var(--anzhiyu-fontcolor); + font-size: 1.4em; + cursor: pointer; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; +} +#aside-content .card-widget .card-info-social-icons .social-icon i, +#aside-content .card-widget .card-info-social-icons .social-icon svg { + background: var(--anzhiyu-white-op); + color: var(--anzhiyu-white); + font-size: 1rem; + width: 40px; + height: 40px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-transition: all 0.3s ease 0s; + -moz-transition: all 0.3s ease 0s; + -o-transition: all 0.3s ease 0s; + -ms-transition: all 0.3s ease 0s; + transition: all 0.3s ease 0s; + padding: 8px; + border-radius: 32px; +} +#aside-content .card-widget .card-info-social-icons .social-icon i:hover, +#aside-content .card-widget .card-info-social-icons .social-icon svg:hover { + background: var(--anzhiyu-secondbg); + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); + color: var(--anzhiyu-main); + -webkit-box-shadow: none; + box-shadow: none; +} +#aside-content .card-widget #card-info-btn { + display: block; + margin-top: 14px; + background-color: var(--btn-bg); + color: var(--btn-color); + text-align: center; + line-height: 2.4; +} +#aside-content .card-widget #card-info-btn:hover { + background-color: var(--btn-hover-color); +} +#aside-content .card-widget #card-info-btn span { + padding-left: 10px; +} +#aside-content .item-headline { + padding-bottom: 0; + margin-left: 8px; + font-size: 1em; + font-weight: bold; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +#aside-content .item-headline span { + margin-left: 6px; +} +@media screen and (min-width: 1200px) { + #aside-content .sticky_layout { + position: sticky; + position: -webkit-sticky; + top: 20px; + -webkit-transition: top 0.3s; + -moz-transition: top 0.3s; + -o-transition: top 0.3s; + -ms-transition: top 0.3s; + transition: top 0.3s; + } +} +#aside-content .card-tag-cloud a { + display: inline-block; + padding: 0 4px; +} +#aside-content .card-tag-cloud a:hover { + color: #425aef !important; +} +#aside-content .aside-list > span { + display: block; + margin-bottom: 10px; + text-align: center; +} +#aside-content .aside-list > .aside-list-item { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + padding: 6px 0; +} +#aside-content .aside-list > .aside-list-item:first-child { + padding-top: 0; +} +#aside-content .aside-list > .aside-list-item:not(:last-child) { + border-bottom: 1px dashed #f5f5f5; +} +#aside-content .aside-list > .aside-list-item:last-child { + padding-bottom: 0; +} +#aside-content .aside-list > .aside-list-item .thumbnail { + overflow: hidden; + width: 4.2em; + height: 4.2em; +} +#aside-content .aside-list > .aside-list-item .content { + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + padding-left: 10px; + word-break: break-all; + width: 4.2em; + height: 4.2em; +} +#aside-content .aside-list > .aside-list-item .content > .name { + -webkit-line-clamp: 1; +} +#aside-content .aside-list > .aside-list-item .content > time, +#aside-content .aside-list > .aside-list-item .content > .name { + display: block; + color: var(--anzhiyu-fontcolor); + font-size: 85%; +} +#aside-content .aside-list > .aside-list-item .content > .title, +#aside-content .aside-list > .aside-list-item .content > .comment { + color: var(--font-color); + font-size: 95%; + line-height: 1.5; + -webkit-line-clamp: 2; +} +#aside-content .aside-list > .aside-list-item .content > .title:hover, +#aside-content .aside-list > .aside-list-item .content > .comment:hover { + color: #425aef; +} +#aside-content .aside-list > .aside-list-item.no-cover { + min-height: 4.4em; +} +#aside-content .card-archives ul.card-archive-list, +#aside-content .card-categories ul.card-category-list { + margin: 0; + padding: 0; + list-style: none; +} +#aside-content .card-archives .item-headline { + display: none; +} +#aside-content .card-archives ul.card-archive-list > .card-archive-list-item a, +#aside-content .card-categories ul.card-category-list > .card-category-list-item a { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + padding: 3px 10px; + color: var(--font-color); + -webkit-transition: all 0.2s; + -moz-transition: all 0.2s; + -o-transition: all 0.2s; + -ms-transition: all 0.2s; + transition: all 0.2s; +} +#aside-content .card-archives ul.card-archive-list > .card-archive-list-item a:hover, +#aside-content .card-categories ul.card-category-list > .card-category-list-item a:hover { + background-color: var(--text-bg-hover); +} +#aside-content .card-archives ul.card-archive-list > .card-archive-list-item a span:first-child, +#aside-content .card-categories ul.card-category-list > .card-category-list-item a span:first-child { + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; +} +#aside-content .card-categories .card-category-list.child { + padding: 0 0 0 16px; +} +#aside-content .card-categories .card-category-list > .parent > a.expand i { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); +} +#aside-content .card-categories .card-category-list > .parent > a.expand + .child { + display: block; +} +#aside-content .card-categories .card-category-list > .parent > a .card-category-list-name { + width: 70% !important; +} +#aside-content .card-categories .card-category-list > .parent > a .card-category-list-count { + width: calc(100% - 70% - 20px); + text-align: right; +} +#aside-content .card-categories .card-category-list > .parent > a i { + float: right; + margin-right: -0.5em; + padding: 0.5em; + -webkit-transition: -webkit-transform 0.3s; + -moz-transition: -moz-transform 0.3s; + -o-transition: -o-transform 0.3s; + -ms-transition: -ms-transform 0.3s; + transition: transform 0.3s; + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); +} +#aside-content .card-webinfo .item-headline { + display: none; +} +#aside-content .card-webinfo .webinfo .webinfo-item { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + padding: 2px 10px 0; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} +#aside-content .card-webinfo .webinfo .webinfo-item .webinfo-item-title { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; +} +#aside-content .card-webinfo .webinfo .webinfo-item .webinfo-item-title i { + line-height: 2; + margin-right: 6px; + width: 16px; + text-align: center; +} +#aside-content .card-webinfo .webinfo .webinfo-item div:first-child { + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + padding-right: 20px; +} +@media screen and (min-width: 901px) { + #aside-content #card-toc { + right: 0 !important; + } +} +@media screen and (max-width: 1200px) { + #aside-content #card-toc { + position: fixed; + right: 55px; + bottom: 30px; + z-index: 100; + max-width: 380px; + max-height: calc(100% - 60px); + width: calc(100% - 80px); + -webkit-transition: -webkit-transform 0.3s; + -moz-transition: -moz-transform 0.3s; + -o-transition: -o-transform 0.3s; + -ms-transition: -ms-transform 0.3s; + transition: transform 0.3s; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); + -webkit-transform-origin: right bottom; + -moz-transform-origin: right bottom; + -o-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + } + #aside-content #card-toc.open { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +#aside-content #card-toc .toc-percentage { + display: none; + float: right; + margin-top: -9px; + color: #a9a9a9; + font-style: italic; + font-size: 140%; +} +#aside-content #card-toc .toc-content { + overflow-y: scroll; + overflow-y: overlay; + margin: 0 -24px; + max-height: calc(100vh - 120px); + width: calc(100% + 48px); +} +@media screen and (max-width: 1200px) { + #aside-content #card-toc .toc-content { + max-height: calc(100vh - 140px); + } +} +#aside-content #card-toc .toc-content > * { + margin: 0 20px !important; +} +#aside-content #card-toc .toc-content > * > .toc-item > .toc-child { + margin-left: 10px; + padding-left: 10px; +} +#aside-content #card-toc .toc-content:not(.is-expand) .toc-child { + display: none; +} +@media screen and (max-width: 1200px) { + #aside-content #card-toc .toc-content:not(.is-expand) .toc-child { + display: block !important; + } +} +#aside-content #card-toc .toc-content:not(.is-expand) .toc-item.active .toc-child { + display: block; +} +#aside-content #card-toc .toc-content ol, +#aside-content #card-toc .toc-content li { + list-style: none; +} +#aside-content #card-toc .toc-content > ol { + padding: 0 !important; +} +#aside-content #card-toc .toc-content ol { + margin: 0; + padding-left: 18px; +} +#aside-content #card-toc .toc-content .toc-link { + display: block; + margin: 4px 0; + padding: 1px 6px; + color: var(--toc-link-color); + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +#aside-content #card-toc .toc-content .toc-link:hover { + color: var(--anzhiyu-lighttext); +} +#aside-content #card-toc .toc-content .toc-link.active { + background: #425aef; + color: #fff; +} +#aside-content :only-child > .card-widget { + margin-top: 0; +} +#aside-content .card-more-btn { + float: right; + color: inherit; +} +#aside-content .card-more-btn:hover { + -webkit-animation: more-btn-move 1s infinite; + -moz-animation: more-btn-move 1s infinite; + -o-animation: more-btn-move 1s infinite; + -ms-animation: more-btn-move 1s infinite; + animation: more-btn-move 1s infinite; +} +#aside-content .card-announcement .item-headline i { + color: #f00; +} +.avatar-img { + width: 118px; + right: 0; + top: 0; + border-radius: 500px; + position: absolute; + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + border: var(--style-border-avatar); +} +.avatar-img img { + width: 100%; + height: 100%; + -webkit-transition: filter 375ms ease-in 0.2s, -webkit-transform 0.3s; + -moz-transition: filter 375ms ease-in 0.2s, -moz-transform 0.3s; + -o-transition: filter 375ms ease-in 0.2s, -o-transform 0.3s; + -ms-transition: filter 375ms ease-in 0.2s, -ms-transform 0.3s; + transition: filter 375ms ease-in 0.2s, transform 0.3s; + object-fit: cover; +} +.site-data { + display: table; + width: 100%; + table-layout: fixed; +} +.site-data > a { + display: table-cell; +} +.site-data > a div { + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; +} +.site-data > a:hover div { + color: #425aef !important; +} +.site-data > a .headline { + color: var(--font-color); +} +.site-data > a .length-num { + margin-top: -0.32em; + color: var(--text-highlight-color); + font-size: 1.2em; +} +@media screen and (min-width: 1200px) { + html.hide-aside .layout { + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + } + html.hide-aside .layout > .aside-content { + display: none; + } + html.hide-aside .layout > div:first-child { + width: 80%; + } +} +@media screen and (max-width: 1200px) { + .aside-content { + max-width: none !important; + display: none; + } +} +@media screen and (max-width: 768px) { + .aside-content { + display: block; + } +} +.page .sticky_layout { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} +#aside-content >.card-widget.card-info { + background: var(--anzhiyu-card-bg); + -webkit-box-shadow: var(--anzhiyu-shadow-black); + box-shadow: var(--anzhiyu-shadow-black); + position: relative; + padding: 0; +} +@media screen and (max-width: 768px) { + #aside-content >.card-widget.card-info { + display: none; + } +} +#aside-content >.card-widget.card-info > .card-content { + padding: 1rem 1.2rem; + min-height: 320px; + position: relative; +} +#aside-content >.card-widget.card-info::before { + background: -webkit-linear-gradient(115deg, var(--anzhiyu-main), var(--anzhiyu-main-op-deep), var(--anzhiyu-main), var(--anzhiyu-main-op-deep)); + background: -moz-linear-gradient(115deg, var(--anzhiyu-main), var(--anzhiyu-main-op-deep), var(--anzhiyu-main), var(--anzhiyu-main-op-deep)); + background: -o-linear-gradient(115deg, var(--anzhiyu-main), var(--anzhiyu-main-op-deep), var(--anzhiyu-main), var(--anzhiyu-main-op-deep)); + background: -ms-linear-gradient(115deg, var(--anzhiyu-main), var(--anzhiyu-main-op-deep), var(--anzhiyu-main), var(--anzhiyu-main-op-deep)); + background: linear-gradient(-25deg, var(--anzhiyu-main), var(--anzhiyu-main-op-deep), var(--anzhiyu-main), var(--anzhiyu-main-op-deep)); + background-size: 400%; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + content: ''; + -webkit-animation: gradient 15s ease infinite; + -moz-animation: gradient 15s ease infinite; + -o-animation: gradient 15s ease infinite; + -ms-animation: gradient 15s ease infinite; + animation: gradient 15s ease infinite; +} +#aside-content .card-info:hover .author-info-avatar { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); +} +#aside-content .card-info:hover .author-info__description { + opacity: 1; + -ms-filter: none; + filter: none; +} +#aside-content .card-info:hover .author-status { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); +} +#aside-content .card-info .author-info-avatar { + margin: 45px auto; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + width: 118px; + height: 118px; + -webkit-transition: cubic-bezier(0.69, 0.39, 0, 1.21) 0.3s; + -moz-transition: cubic-bezier(0.69, 0.39, 0, 1.21) 0.3s; + -o-transition: cubic-bezier(0.69, 0.39, 0, 1.21) 0.3s; + -ms-transition: cubic-bezier(0.69, 0.39, 0, 1.21) 0.3s; + transition: cubic-bezier(0.69, 0.39, 0, 1.21) 0.3s; + -webkit-transform-origin: bottom; + -moz-transform-origin: bottom; + -o-transform-origin: bottom; + -ms-transform-origin: bottom; + transform-origin: bottom; + position: relative; +} +@media screen and (max-width: 768px) { + #aside-content .card-info .author-info-avatar { + display: none; + } +} +#aside-content .card-info #author-info__sayhi { + text-align: left; + color: var(--anzhiyu-white); + background: var(--anzhiyu-white-op); + font-size: 12px; + margin: auto; + padding: 2px 8px; + border-radius: 12px; + width: fit-content; + cursor: pointer; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +#aside-content .card-info #author-info__sayhi:hover { + background: var(--anzhiyu-card-bg); + color: var(--anzhiyu-fontcolor); + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); +} +#aside-content .card-info .banner-button-group .banner-button { + border-radius: 35px; + background: var(--anzhiyu-white-op); +} +#aside-content .card-info .banner-button-group .banner-button:hover { + background: var(--anzhiyu-white); + color: var(--anzhiyu-black); +} +[data-theme="dark"] #aside-content > .card-info { + background: var(--anzhiyu-card-bg); +} +@media screen and (max-width: 992px) { + #aside-content > .card-info { + background-size: 100% 70%; + } +} +@-moz-keyframes more-btn-move { + 0%, 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + 50% { + -webkit-transform: translateX(3px); + -moz-transform: translateX(3px); + -o-transform: translateX(3px); + -ms-transform: translateX(3px); + transform: translateX(3px); + } +} +@-webkit-keyframes more-btn-move { + 0%, 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + 50% { + -webkit-transform: translateX(3px); + -moz-transform: translateX(3px); + -o-transform: translateX(3px); + -ms-transform: translateX(3px); + transform: translateX(3px); + } +} +@-o-keyframes more-btn-move { + 0%, 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + 50% { + -webkit-transform: translateX(3px); + -moz-transform: translateX(3px); + -o-transform: translateX(3px); + -ms-transform: translateX(3px); + transform: translateX(3px); + } +} +@keyframes more-btn-move { + 0%, 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + 50% { + -webkit-transform: translateX(3px); + -moz-transform: translateX(3px); + -o-transform: translateX(3px); + -ms-transform: translateX(3px); + transform: translateX(3px); + } +} +@-moz-keyframes toc-open { + 0% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@-webkit-keyframes toc-open { + 0% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@-o-keyframes toc-open { + 0% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@keyframes toc-open { + 0% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@-moz-keyframes toc-close { + 0% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + 100% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } +} +@-webkit-keyframes toc-close { + 0% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + 100% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } +} +@-o-keyframes toc-close { + 0% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + 100% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } +} +@keyframes toc-close { + 0% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + 100% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } +} +.banners-title { + top: 2.9rem; + left: 3rem; + position: absolute; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} +.banners-title-big { + font-size: 36px; + line-height: 1; + font-weight: bold; + margin-bottom: 8px; +} +.banners-title-small { + font-size: 12px; + line-height: 1; + color: var(--anzhiyu-secondtext); + margin-top: 8px; + margin-bottom: 0.5rem; +} +.banner-button { + padding: 8px 12px; + background: var(--anzhiyu-fontcolor); + border-radius: 12px; + color: var(--anzhiyu-card-bg); + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + z-index: 1; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + cursor: pointer; + -webkit-box-shadow: var(--anzhiyu-shadow-black); + box-shadow: var(--anzhiyu-shadow-black); +} +.banner-button.secondary { + background: var(--anzhiyu-secondbg); + border: var(--style-border-always); + color: var(--anzhiyu-lighttext); + margin-right: 1rem; + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); +} +#post-comment .comment-head { + margin-bottom: 20px; + font-size: 0.8em !important; + margin-bottom: 0.5rem; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} +#post-comment .comment-head .comment-headline { + display: inline-block; + vertical-align: middle; + font-weight: 700; + font-size: 1.43em; +} +#post-comment .comment-head .comment-randomInfo { + margin-left: auto; + font-size: 13px; +} +#post-comment .comment-head .comment-switch { + display: inline-block; + float: right; + margin: 2px auto 0; + padding: 4px 16px; + width: max-content; + border-radius: 8px; + background: #f6f8fa; +} +#post-comment .comment-head .comment-switch .first-comment { + color: #425aef; +} +#post-comment .comment-head .comment-switch .second-comment { + color: #ff7242; +} +#post-comment .comment-head .comment-switch #switch-btn { + position: relative; + display: inline-block; + margin: -4px 8px 0; + width: 42px; + height: 22px; + border-radius: 34px; + background-color: #425aef; + vertical-align: middle; + cursor: pointer; + -webkit-transition: 0.4s; + -moz-transition: 0.4s; + -o-transition: 0.4s; + -ms-transition: 0.4s; + transition: 0.4s; +} +#post-comment .comment-head .comment-switch #switch-btn:before { + position: absolute; + bottom: 4px; + left: 4px; + width: 14px; + height: 14px; + border-radius: 50%; + background-color: #fff; + content: ''; + -webkit-transition: 0.4s; + -moz-transition: 0.4s; + -o-transition: 0.4s; + -ms-transition: 0.4s; + transition: 0.4s; +} +#post-comment .comment-wrap > div { + -webkit-animation: tabshow 0.5s; + -moz-animation: tabshow 0.5s; + -o-animation: tabshow 0.5s; + -ms-animation: tabshow 0.5s; + animation: tabshow 0.5s; +} +#post-comment .comment-wrap > div:nth-child(2) { + display: none; +} +#post-comment.move #switch-btn { + background-color: #ff7242; +} +#post-comment.move #switch-btn:before { + -webkit-transform: translateX(20px); + -moz-transform: translateX(20px); + -o-transform: translateX(20px); + -ms-transform: translateX(20px); + transform: translateX(20px); +} +#post-comment.move .comment-wrap > div:first-child { + display: none; +} +#post-comment.move .comment-wrap > div:last-child { + display: block; +} +#footer { + position: relative; + background: -webkit-linear-gradient(270deg, var(--anzhiyu-card-bg-none) 0%, var(--anzhiyu-card-bg) 25%); + background: -moz-linear-gradient(270deg, var(--anzhiyu-card-bg-none) 0%, var(--anzhiyu-card-bg) 25%); + background: -o-linear-gradient(270deg, var(--anzhiyu-card-bg-none) 0%, var(--anzhiyu-card-bg) 25%); + background: -ms-linear-gradient(270deg, var(--anzhiyu-card-bg-none) 0%, var(--anzhiyu-card-bg) 25%); + background: linear-gradient(180deg, var(--anzhiyu-card-bg-none) 0%, var(--anzhiyu-card-bg) 25%); + background-attachment: scroll; + background-position: bottom; + background-size: cover; +} +@media screen and (max-width: 768px) { + #footer { + z-index: 3; + margin-top: -1px; + } +} +#footer-bar { + padding: 1rem; + color: var(--anzhiyu-fontcolor); + margin-top: 1rem; + background: var(--anzhiyu-secondbg); + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + overflow: hidden; + z-index: 1002; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#footer-bar a:hover { + color: var(--anzhiyu-lighttext); +} +#footer-bar .footer-bar-link { + margin-top: 8px; + margin-bottom: 8px; + margin-right: 1rem; + color: var(--anzhiyu-fontcolor); + font-size: 1rem; + font-weight: bold; + white-space: nowrap; +} +#footer-bar .footer-bar-link.cc i { + margin-right: 0.7rem; + font-size: 18px; +} +#footer-bar .footer-bar-links { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + max-width: 1400px; + width: 100%; + margin: 0 auto; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + line-height: 1; +} +#footer-bar .footer-bar-links .footer-bar-left { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + min-height: 32px; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +#footer-bar .footer-bar-links .footer-bar-right { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +#footer-wrap { + position: relative; + padding: 40px 20px 0; + color: var(--light-grey); + text-align: center; +} +@media screen and (max-width: 768px) { + #footer-wrap { + padding: 0; + } +} +#footer-wrap #footer_deal { + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +@media screen and (max-width: 768px) { + #footer-wrap #footer_deal { + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + } +} +#footer-wrap #footer_deal .deal_link { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + margin: 1rem 27px; + color: var(--anzhiyu-card-bg); + border-radius: 3rem; + width: 32px; + height: 32px; + background: var(--anzhiyu-fontcolor); + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#footer-wrap #footer_deal .deal_link:hover { + color: var(--anzhiyu-white); + background: var(--anzhiyu-main); +} +#footer-wrap #footer_deal .footer_mini_logo { + width: 50px; + height: 50px; + border-radius: 50%; + margin: 0 1rem; + cursor: pointer; + -webkit-transition: cubic-bezier(0, 0, 0, 1.29) 0.5s; + -moz-transition: cubic-bezier(0, 0, 0, 1.29) 0.5s; + -o-transition: cubic-bezier(0, 0, 0, 1.29) 0.5s; + -ms-transition: cubic-bezier(0, 0, 0, 1.29) 0.5s; + transition: cubic-bezier(0, 0, 0, 1.29) 0.5s; + -webkit-user-select: none; +} +@media screen and (max-width: 768px) { + #footer-wrap #footer_deal .footer_mini_logo { + display: none; + } +} +#footer-wrap #anzhiyu-footer { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + width: 100%; + max-width: 1200px; + margin: 1rem auto; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0 2rem; +} +#footer-wrap #anzhiyu-footer .footer-group { + min-width: 120px; +} +#footer-wrap #anzhiyu-footer .footer-group .footer-title-group { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +#footer-wrap #anzhiyu-footer .footer-group .footer-title-group a { + margin-left: 8px; + line-height: 32px; +} +#footer-wrap #anzhiyu-footer .footer-group .footer-title-group i { + line-height: 1; + color: var(--anzhiyu-secondtext); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + font-size: 16px; + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); +} +#footer-wrap #anzhiyu-footer .footer-title { + color: var(--anzhiyu-secondtext); + font-size: 1rem; + text-align: left; + font-weight: 600; + margin: 1rem 0; +} +#footer-wrap #anzhiyu-footer .footer-links { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} +#footer-wrap #anzhiyu-footer .footer-item { + font-size: 1rem; + line-height: 1rem; + margin: 8px 0; + color: var(--anzhiyu-fontcolor); + margin-right: auto; + overflow: hidden; + white-space: nowrap; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + max-width: 120px; + cursor: pointer; + padding: 2px 0; + text-decoration: none; +} +#footer-wrap #anzhiyu-footer .footer-item:hover { + color: var(--anzhiyu-theme); +} +#footer-wrap a { + color: var(--light-grey); +} +#footer-wrap i { + font-size: 1rem; + line-height: 1rem; + height: 1rem; +} +#footer-wrap .footer-separator { + margin: 0 4px; +} +#footer-wrap .icp-icon { + padding: 0 4px; + max-height: 1.4em; + width: auto; + vertical-align: text-bottom; +} +@media screen and (max-width: 768px) { + [data-theme=light] .post #footer { + background: -webkit-linear-gradient(270deg, var(--anzhiyu-background) 0%, var(--anzhiyu-card-bg) 25%); + background: -moz-linear-gradient(270deg, var(--anzhiyu-background) 0%, var(--anzhiyu-card-bg) 25%); + background: -o-linear-gradient(270deg, var(--anzhiyu-background) 0%, var(--anzhiyu-card-bg) 25%); + background: -ms-linear-gradient(270deg, var(--anzhiyu-background) 0%, var(--anzhiyu-card-bg) 25%); + background: linear-gradient(180deg, var(--anzhiyu-background) 0%, var(--anzhiyu-card-bg) 25%); + } +} +#page-header { + position: relative; + width: 100%; + -webkit-transition: all 0.5s ease 0s; + -moz-transition: all 0.5s ease 0s; + -o-transition: all 0.5s ease 0s; + -ms-transition: all 0.5s ease 0s; + transition: all 0.5s ease 0s; +} +#page-header #nav { + -webkit-box-shadow: none; + box-shadow: none; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#page-header.full_page { + height: 100vh; + background-attachment: fixed; + border-radius: 0; +} +#page-header #site-title, +#page-header #site-subtitle, +#page-header #scroll-down .scroll-down-effects { + text-align: center; + text-shadow: 2px 2px 4px rgba(0,0,0,0.15); + line-height: 1.5; +} +#page-header #site-title { + margin: 0; + color: var(--white); + font-size: 1.85em; +} +@media screen and (min-width: 768px) { + #page-header #site-title { + font-size: 2.85em; + } +} +#page-header #site-subtitle { + color: var(--light-grey); + font-size: 1.15em; +} +@media screen and (min-width: 768px) { + #page-header #site-subtitle { + font-size: 1.72em; + } +} +#page-header #site_social_icons { + display: none; + margin: 0 auto; + width: 300px; + text-align: center; +} +@media screen and (max-width: 768px) { + #page-header #site_social_icons { + display: block; + } +} +#page-header #site_social_icons .social-icon { + margin: 0 10px; + color: var(--light-grey); + text-shadow: 2px 2px 4px rgba(0,0,0,0.15); + font-size: 1.43em; +} +#page-header #scroll-down { + position: absolute; + bottom: 0; + width: 100%; + cursor: pointer; + z-index: 11; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +#page-header #scroll-down .scroll-down-effects { + position: relative; + width: 100%; + color: var(--light-grey); + font-size: 30px; +} +#page-header.not-home-page { + height: 400px; +} +@media screen and (max-width: 768px) { + #page-header.not-home-page { + height: 280px; + } +} +#page-header #page-site-info { + position: absolute; + top: 200px; + padding: 0 10px; + width: 100%; +} +@media screen and (max-width: 768px) { + #page-header #page-site-info { + top: 140px; + } +} +#page-header.post-bg { + height: 31.25rem; + -webkit-transition: 0.6s; + -moz-transition: 0.6s; + -o-transition: 0.6s; + -ms-transition: 0.6s; + transition: 0.6s; + overflow: hidden; + background-color: var(--anzhiyu-main); +} +#page-header.post-bg #nav { + -webkit-transition: all 0.5s, border 0.3s; + -moz-transition: all 0.5s, border 0.3s; + -o-transition: all 0.5s, border 0.3s; + -ms-transition: all 0.5s, border 0.3s; + transition: all 0.5s, border 0.3s; +} +#page-header.post-bg .post-meta:has(.bldbanner), +#page-header.post-bg .post-meta:has(.bili-banner), +#page-header.post-bg .post-meta:has(.blqbanner) { + pointer-events: all; +} +#page-header.post-bg .bili-banner { + margin-top: 0 !important; +} +#page-header.post-bg #post-info:has(.bldbanner), +#page-header.post-bg #post-info:has(.bili-banner), +#page-header.post-bg #post-info:has(.blqbanner) { + pointer-events: none; +} +#page-header.post-bg:has(.bldbanner), +#page-header.post-bg:has(.blqbanner) { + height: 15rem; +} +#page-header.post-bg:has(.bldbanner) img, +#page-header.post-bg:has(.blqbanner) img { + border-radius: 0px; +} +#page-header.post-bg:has(.bili-banner) { + height: 11rem; +} +#page-header.post-bg:has(.bili-banner) img { + border-radius: 0px; +} +#page-header.post-bg #post-top-cover { + width: 70%; + height: 100%; + position: relative; + margin: 0 -20% 0 auto; + overflow: hidden; + margin-bottom: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -moz-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -o-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -ms-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + will-change: transform; + filter: blur(10px) brightness(60%); + -webkit-animation: none; + -moz-animation: none; + -o-animation: none; + -ms-animation: none; + animation: none; + -webkit-transition: filter 0s; + -moz-transition: filter 0s; + -o-transition: filter 0s; + -ms-transition: filter 0s; + transition: filter 0s; + margin: auto; + width: auto; +} +#page-header.post-bg #post-top-cover::after { + display: none; +} +#page-header.post-bg #post-top-cover img { + border-radius: 0; +} +@media screen and (max-width: 768px) { + #page-header.post-bg #post-top-cover { + margin: 0 0 0 auto; + -webkit-transform: rotate(0deg) translateY(0) scale(1); + -moz-transform: rotate(0deg) translateY(0) scale(1); + -o-transform: rotate(0deg) translateY(0) scale(1); + -ms-transform: rotate(0deg) translateY(0) scale(1); + transform: rotate(0deg) translateY(0) scale(1); + filter: blur(0px); + width: 100%; + position: absolute; + height: 100vh; + z-index: 1; + } +} +#page-header.post-bg #post-top-cover::after { + position: absolute; + content: ""; + width: 100%; + height: 100%; + top: 0; + left: 0; + -webkit-box-shadow: 110px -130px 300px 60px var(--anzhiyu-bar-background) inset; + box-shadow: 110px -130px 300px 60px var(--anzhiyu-bar-background) inset; +} +@media screen and (max-width: 768px) { + #page-header.post-bg #post-top-cover::after { + -webkit-box-shadow: 0 0 205px 59px var(--anzhiyu-main) inset; + box-shadow: 0 0 205px 59px var(--anzhiyu-main) inset; + } +} +#page-header.post-bg #post-top-cover #post-top-bg { + width: 100%; + height: 100%; + object-fit: cover; + min-width: 50vw; + min-height: 20rem; +} +@media screen and (min-width: 768px) { + #page-header.post-bg #post-top-cover #post-top-bg { + -webkit-animation: slide-in 0.6s 0.3s backwards; + -moz-animation: slide-in 0.6s 0.3s backwards; + -o-animation: slide-in 0.6s 0.3s backwards; + -ms-animation: slide-in 0.6s 0.3s backwards; + animation: slide-in 0.6s 0.3s backwards; + } +} +@media screen and (max-width: 768px) { + #page-header.post-bg #post-top-cover #post-top-bg { + min-height: 15rem !important; + height: 100% !important; + opacity: 1 !important; + -ms-filter: none !important; + filter: none !important; + } +} +#page-header.post-bg #nav { + backdrop-filter: none; + background: transparent; + border-bottom: none; +} +#page-header.post-bg.nav-fixed #nav { + background: var(--anzhiyu-card-bg); + outline: 1px solid var(--anzhiyu-card-border); + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -o-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); +} +@media screen and (max-width: 768px) { + #page-header.post-bg.nav-fixed #nav { + border-bottom: none; + } +} +@media screen and (max-width: 768px) { + #page-header.post-bg { + margin-bottom: -12px; + -webkit-transition: 0s !important; + -moz-transition: 0s !important; + -o-transition: 0s !important; + -ms-transition: 0s !important; + transition: 0s !important; + min-height: 450px; + } + #page-header.post-bg.nav-fixed #nav { + background: var(--anzhiyu-card-bg); + outline: 1px solid var(--anzhiyu-card-border); + } +} +#page-header #post-info { + position: absolute; + top: 0; + left: calc((100% - 1400px + 3rem) / 2); + width: calc(100% - (100% - 1400px + 3rem)); + height: 100%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: start; + -moz-box-align: start; + -o-box-align: start; + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + z-index: 3; +} +@media screen and (min-width: 768px) { + #page-header #post-info { + --anzhiyu-header-translateY: 0; + -webkit-animation: post-info-slide-in 0.6s 0.3s backwards; + -moz-animation: post-info-slide-in 0.6s 0.3s backwards; + -o-animation: post-info-slide-in 0.6s 0.3s backwards; + -ms-animation: post-info-slide-in 0.6s 0.3s backwards; + animation: post-info-slide-in 0.6s 0.3s backwards; + -webkit-transform: scale(var(--anzhiyu-header-info-scale)) translateY(var(--anzhiyu-header-translateY)); + -moz-transform: scale(var(--anzhiyu-header-info-scale)) translateY(var(--anzhiyu-header-translateY)); + -o-transform: scale(var(--anzhiyu-header-info-scale)) translateY(var(--anzhiyu-header-translateY)); + -ms-transform: scale(var(--anzhiyu-header-info-scale)) translateY(var(--anzhiyu-header-translateY)); + transform: scale(var(--anzhiyu-header-info-scale)) translateY(var(--anzhiyu-header-translateY)); + -webkit-transform-origin: left top; + -moz-transform-origin: left top; + -o-transform-origin: left top; + -ms-transform-origin: left top; + transform-origin: left top; + will-change: transform; + } +} +@media screen and (max-width: 1400px) { + #page-header #post-info { + padding: 0 3.5rem; + width: 100%; + left: 0; + } +} +@media screen and (max-width: 768px) { + #page-header #post-info { + padding: 11rem 6% 0; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + } +} +#page-header.not-top-img { + margin-bottom: 10px; + height: 60px; + background: 0; +} +#page-header.not-top-img #nav #menus .menus_item:hover > a { + background: var(--anzhiyu-main); +} +#page-header.not-top-img #travellings_button::after { + background: var(--anzhiyu-main) !important; +} +#page-header.not-top-img #nav #blog_name .back-home-button:hover, +#page-header.not-top-img #nav #blog_name #site-name:hover, +#page-header.not-top-img #nav #nav-right .nav-button a:hover, +#page-header.not-top-img #nav #nav-right #toggle-menu:hover { + color: var(--anzhiyu-white); + background: var(--anzhiyu-main); + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); +} +#page-header.not-top-img .post-meta-categories { + background: rgba(0,0,0,0.2); +} +#page-header.not-top-img #nav #blog_name a, +#page-header.not-top-img #nav .mask-name-container a, +#page-header.not-top-img #nav #menus a, +#page-header.not-top-img #nav #nav-right .nav-button a, +#page-header.not-top-img #nav #nav-right #toggle-menu a { + color: var(--font-color); + text-shadow: none; +} +#page-header.not-top-img #nav #center-console + label i { + background: var(--font-color); +} +#page-header.nav-fixed #nav { + position: fixed; + z-index: 91; + background: var(--anzhiyu-card-bg); + outline: 1px solid var(--anzhiyu-card-border); + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -o-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + top: 0; +} +#page-header.nav-fixed #nav #toggle-menu { + color: var(--font-color); + text-shadow: none; + -webkit-transition: background 0.3s ease-in-out, color 0s ease-in-out; + -moz-transition: background 0.3s ease-in-out, color 0s ease-in-out; + -o-transition: background 0.3s ease-in-out, color 0s ease-in-out; + -ms-transition: background 0.3s ease-in-out, color 0s ease-in-out; + transition: background 0.3s ease-in-out, color 0s ease-in-out; +} +#page-header.nav-fixed #nav #blog_name a, +#page-header.nav-fixed #nav .mask-name-container a, +#page-header.nav-fixed #nav #menus a, +#page-header.nav-fixed #nav #nav-right .nav-button a, +#page-header.nav-fixed #nav #nav-right #toggle-menu a { + color: var(--font-color); + text-shadow: none; + -webkit-transition: background 0.3s ease-in-out, color 0s ease-in-out; + -moz-transition: background 0.3s ease-in-out, color 0s ease-in-out; + -o-transition: background 0.3s ease-in-out, color 0s ease-in-out; + -ms-transition: background 0.3s ease-in-out, color 0s ease-in-out; + transition: background 0.3s ease-in-out, color 0s ease-in-out; +} +#page-header.nav-fixed #name-container { + z-index: 101; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + top: 10px; +} +#page-header.nav-fixed #name-container #page-name { + display: inline; + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + line-height: 2; +} +@media screen and (min-width: 768px) { + #page-header.nav-fixed #name-container #page-name { + max-width: 15.5rem; + } +} +@media screen and (min-width: 900px) { + #page-header.nav-fixed #name-container #page-name { + max-width: 25.5rem; + } +} +@media screen and (min-width: 1200px) { + #page-header.nav-fixed #name-container #page-name { + max-width: 35.5rem; + } +} +@media screen and (min-width: 2000px) { + #page-header.nav-fixed #name-container #page-name { + max-width: 45.5rem; + } +} +#page-header.nav-fixed #nav #menus { + z-index: 100; +} +#page-header.nav-fixed #nav #menus div.menus_items { + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + height: 40px; + margin: auto 0; + -webkit-transform: translateY(-60px); + -moz-transform: translateY(-60px); + -o-transform: translateY(-60px); + -ms-transform: translateY(-60px); + transform: translateY(-60px); + will-change: transform; +} +#page-header.nav-fixed.nav-visible #page-name { + z-index: 100; + top: 60px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#page-header.nav-fixed.nav-visible #nav #menus div.menus_items { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + -webkit-transform: translateY(0px); + -moz-transform: translateY(0px); + -o-transform: translateY(0px); + -ms-transform: translateY(0px); + transform: translateY(0px); + will-change: transform; +} +#page h1.page-title { + margin: 8px 0 20px; +} +#post > #post-info { + margin-bottom: 30px; +} +#post > #post-info .post-title { + border-bottom: 1px solid var(--light-grey); + color: var(--text-highlight-color); +} +#post > #post-info .post-title .post-edit-link { + float: right; +} +#post > #post-info #post-meta, +#post > #post-info #post-meta a { + color: #78818a; +} +@media screen and (max-width: 768px) { + #post-info:after { + display: none; + -webkit-transition: 0; + -moz-transition: 0; + -o-transition: 0; + -ms-transition: 0; + transition: 0; + } +} +#post-info .post-title { + color: var(--white); + line-height: 1.5; + font-weight: 700; + font-size: 3.3rem; + text-align: left; + margin: 1rem 0 1rem 0; + -webkit-line-clamp: 2; + padding: 0; + overflow: hidden; +} +@media screen and (max-width: 768px) { + #post-info .post-title { + font-size: 1.5rem; + -webkit-line-clamp: 3; + margin: 0.2rem auto !important; + text-align: center; + z-index: 4; + } +} +#post-info .post-title .post-edit-link { + padding-left: 10px; +} +#post-info #post-meta { + color: var(--light-grey); + font-size: 95%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + width: 50rem; + max-width: 100%; + -webkit-box-align: start; + -moz-box-align: start; + -o-box-align: start; + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} +@media screen and (min-width: 768px) { + #post-info #post-meta > .meta-secondline > span:first-child { + display: none; + } +} +@media screen and (max-width: 768px) { + #post-info #post-meta { + font-size: 90%; + z-index: 4; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + } + #post-info #post-meta > .meta-firstline, + #post-info #post-meta > .meta-secondline { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + font-size: 90%; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + } +} +#post-info #post-meta .post-meta-separator { + margin: 0 8px; +} +#post-info #post-meta .post-meta-icon { + margin-right: 4px; +} +#post-info #post-meta .post-meta-label { + margin-right: 4px; +} +#post-info #post-meta .post-meta-categories a:not([data-fancybox="gallery"]) { + font-weight: 500; + text-decoration: none; + padding: 0 0.2em; +} +#post-info #post-meta .post-meta-categories a:not([data-fancybox="gallery"]):hover { + color: var(--anzhiyu-white); + background-color: var(--anzhiyu-main); + border-radius: 4px; +} +#post-info #post-meta a { + color: var(--light-grey); + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + -o-transition: all 0.3s ease-out; + -ms-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +#post-info #post-meta a:hover { + color: #425aef; + text-decoration: underline; +} +#nav { + position: fixed; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + top: 0; + z-index: 90; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + padding: 0 calc((100% - 1400px + 3rem) / 2); + width: 100%; + height: 60px; + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + outline: 1px solid var(--anzhiyu-none); +} +#nav i { + font-size: 1.2rem; + font-weight: bold; +} +@media screen and (max-width: 768px) { + #nav { + padding: 0 16px; + } +} +#nav #toggle-menu { + display: none; + padding: 2px 0 0 6px; + vertical-align: top; + border-radius: 50px; +} +#nav #toggle-menu:hover { + color: var(--white) !important; +} +#nav #blog_name a, +#nav .mask-name-container a, +#nav #menus a, +#nav #nav-right .nav-button a, +#nav #nav-right #toggle-menu a { + color: var(--light-grey); +} +#nav #blog_name a:hover, +#nav .mask-name-container a:hover, +#nav #menus a:hover, +#nav #nav-right .nav-button a:hover, +#nav #nav-right #toggle-menu a:hover { + color: var(--white); +} +#nav #site-name { + font-weight: bold; + cursor: pointer; + -webkit-transition: 0.3s !important; + -moz-transition: 0.3s !important; + -o-transition: 0.3s !important; + -ms-transition: 0.3s !important; + transition: 0.3s !important; +} +#nav .menus_items { + display: inline; + font-size: 1.3em; +} +#nav .menus_items .menus_item { + padding: 0 0.4rem; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + margin: auto; + position: relative; + border-radius: 30px; +} +#nav .menus_items .menus_item:first-child .menus_item_child::after { + position: absolute; + top: -60px; + left: 0; + width: 50%; + height: 60px; + content: ""; +} +#nav .menus_items .menus_item:last-child .menus_item_child::after { + position: absolute; + top: -60px; + right: 0; + width: 50%; + height: 60px; + content: ""; +} +#nav .menus_items .menus_item:hover .menus_item_child { + border: var(--style-border-hover); + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); + opacity: 1; + -ms-filter: none; + filter: none; + pointer-events: all; + -webkit-transform: translateY(0) scale(1); + -moz-transform: translateY(0) scale(1); + -o-transform: translateY(0) scale(1); + -ms-transform: translateY(0) scale(1); + transform: translateY(0) scale(1); +} +#nav .menus_items .menus_item:hover > a > i:last-child { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +#nav .menus_items .menus_item > a > i:last-child { + padding: 4px; + -webkit-transition: -webkit-transform 0.2s; + -moz-transition: -moz-transform 0.2s; + -o-transition: -o-transform 0.2s; + -ms-transition: -ms-transform 0.2s; + transition: transform 0.2s; +} +#nav .menus_items .menus_item .menus_item_child { + position: absolute; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + width: max-content; + border-radius: 5px; + top: 35px; + -webkit-box-shadow: var(--anzhiyu-shadow-black); + box-shadow: var(--anzhiyu-shadow-black); + border: var(--style-border); + -webkit-transition: 0.2s; + -moz-transition: 0.2s; + -o-transition: 0.2s; + -ms-transition: 0.2s; + transition: 0.2s; + background-color: var(--anzhiyu-card-bg); + border-radius: 50px; + right: auto; + left: auto; + padding: 6px 4px; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + line-height: 35px; + -webkit-transform: translateY(-10px) scale(0); + -moz-transform: translateY(-10px) scale(0); + -o-transform: translateY(-10px) scale(0); + -ms-transform: translateY(-10px) scale(0); + transform: translateY(-10px) scale(0); + -webkit-transform-origin: top; + -moz-transform-origin: top; + -o-transform-origin: top; + -ms-transform-origin: top; + transform-origin: top; + pointer-events: none; + margin-top: 8px; +} +#nav .menus_items .menus_item .menus_item_child:before { + position: absolute; + top: -12px; + left: 0; + width: 100%; + height: 16px; + content: ''; +} +#nav .menus_items .menus_item .menus_item_child li { + list-style: none; +} +#nav .menus_items .menus_item .menus_item_child li:hover { + background: var(--text-bg-hover); +} +#nav .menus_items .menus_item .menus_item_child li:first-child { + border-top-left-radius: 50px; + border-top-right-radius: 50px; +} +#nav .menus_items .menus_item .menus_item_child li:last-child { + border-bottom-right-radius: 50px; + border-bottom-left-radius: 50px; +} +#nav .menus_items .menus_item .menus_item_child li a { + display: inline-block; + padding: 0.5625rem 1rem; + width: 100%; + color: var(--font-color) !important; + text-shadow: none !important; +} +#nav .menus_items .menus_item .menus_item_child li a:hover { + color: var(--anzhiyu-white) !important; + padding: 0.125rem 1.25rem; + -webkit-transform: scale(1) !important; + -moz-transform: scale(1) !important; + -o-transform: scale(1) !important; + -ms-transform: scale(1) !important; + transform: scale(1) !important; + background: var(--anzhiyu-main) !important; + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); + -webkit-transform: scale(1) !important; + -moz-transform: scale(1) !important; + -o-transform: scale(1) !important; + -ms-transform: scale(1) !important; + transform: scale(1) !important; +} +#nav.hide-menu #toggle-menu { + display: inline-block !important; +} +#nav.hide-menu #toggle-menu .site-page { + font-size: inherit; + width: 30px; + height: 30px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +#nav.hide-menu #toggle-menu .site-page i { + font-size: 1.35rem; +} +#nav.hide-menu .menus_items { + display: none; +} +#nav.hide-menu #search-button span { + display: none; +} +#nav #search-button { + display: inline; + padding: 0 0 0 14px; +} +#nav .site-page { + position: relative; + padding-bottom: 6px; + font-size: 0.78em; + cursor: pointer; +} +#nav .site-page:hover { + color: var(--anzhiyu-white) !important; +} +.main-hero-waves-area { + width: 100%; + position: absolute; + left: 0; + bottom: -11px; + z-index: 5; + pointer-events: none; +} +.waves-area .waves-svg { + width: 100%; + height: 3.75rem; +} +.parallax > use { + -webkit-animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite; + -moz-animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite; + -o-animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite; + -ms-animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite; + animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite; + will-change: transform; +} +.parallax > use:nth-child(1) { + -webkit-animation-delay: -2s; + -moz-animation-delay: -2s; + -o-animation-delay: -2s; + -ms-animation-delay: -2s; + animation-delay: -2s; + -webkit-animation-duration: 7s; + -moz-animation-duration: 7s; + -o-animation-duration: 7s; + -ms-animation-duration: 7s; + animation-duration: 7s; + fill: rgba(247,249,254,0.741); +} +.parallax > use:nth-child(2) { + -webkit-animation-delay: -3s; + -moz-animation-delay: -3s; + -o-animation-delay: -3s; + -ms-animation-delay: -3s; + animation-delay: -3s; + -webkit-animation-duration: 10s; + -moz-animation-duration: 10s; + -o-animation-duration: 10s; + -ms-animation-duration: 10s; + animation-duration: 10s; + fill: rgba(247,249,254,0.51); +} +.parallax > use:nth-child(3) { + -webkit-animation-delay: -4s; + -moz-animation-delay: -4s; + -o-animation-delay: -4s; + -ms-animation-delay: -4s; + animation-delay: -4s; + -webkit-animation-duration: 13s; + -moz-animation-duration: 13s; + -o-animation-duration: 13s; + -ms-animation-duration: 13s; + animation-duration: 13s; + fill: rgba(247,249,254,0.212); +} +.parallax > use:nth-child(4) { + -webkit-animation-delay: -5s; + -moz-animation-delay: -5s; + -o-animation-delay: -5s; + -ms-animation-delay: -5s; + animation-delay: -5s; + -webkit-animation-duration: 20s; + -moz-animation-duration: 20s; + -o-animation-duration: 20s; + -ms-animation-duration: 20s; + animation-duration: 20s; + fill: #f7f9fe; +} +[data-theme="dark"] .parallax > use:nth-child(1) { + fill: rgba(24,23,29,0.784); +} +[data-theme="dark"] .parallax > use:nth-child(2) { + fill: rgba(24,23,29,0.502); +} +[data-theme="dark"] .parallax > use:nth-child(3) { + fill: rgba(24,23,29,0.243); +} +[data-theme="dark"] .parallax > use:nth-child(4) { + fill: #000; +} +#post-firstinfo { + text-align: left; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + white-space: nowrap; + -webkit-user-select: none; +} +@media screen and (max-width: 768px) { + #post-firstinfo { + z-index: 4; + } +} +#post-firstinfo .meta-firstline { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + height: 32px; +} +#post-firstinfo .meta-firstline a.post-meta-original { + background: var(--anzhiyu-white-op); + color: var(--anzhiyu-white); + padding: 0 0.7rem; + font-size: 0.9rem; + margin: auto; + border-radius: 8px; + font-weight: bold; + height: 32px; + line-height: 32px; + width: 100%; + height: 100%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; +} +#post-firstinfo .meta-firstline span.post-meta-categories { + color: var(--anzhiyu-white); + font-size: 0.9rem; + margin: auto; + font-weight: bold; + height: 32px; + line-height: 32px; + width: 100%; + height: 100%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; +} +#post-firstinfo .meta-firstline span.post-meta-categories i { + display: none; +} +#post-firstinfo .meta-firstline span.post-meta-categories a.post-meta-categories { + border-radius: 8px; + padding: 0 0.7rem; + background: var(--anzhiyu-white-op); + color: var(--anzhiyu-white); + font-size: 0.9rem; + width: 100%; + height: 100%; + font-weight: bold; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + margin-left: 0.4rem; +} +#post-firstinfo .meta-firstline .article-meta.tags { + margin-left: 1.2rem; +} +@media screen and (max-width: 768px) { + #post-firstinfo .meta-firstline .article-meta.tags { + display: none; + } +} +#post-firstinfo .meta-firstline .article-meta__tags { + color: var(--anzhiyu-white); + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); + margin-right: 8px; +} +#post-firstinfo .meta-firstline .anzhiyu-icon-hashtag:before { + font-size: 17px; +} +#post-firstinfo .meta-firstline .anzhiyu-icon-location-dot { + margin-right: 4px; +} +#post #post-info #post-firstinfo .meta-firstline a.post-meta-original { + background: var(--anzhiyu-black); +} +#post #post-info #post-firstinfo .meta-firstline .article-meta__tags { + color: var(--anzhiyu-black); +} +@media screen and (max-width: 768px) { + .layout > div:first-child:not(.recent-posts) { + z-index: 10; + } + .post-bg:has(.bldbanner) #post-info:after, + .post-bg:has(.bili-banner) #post-info:after, + .post-bg:has(.blqbanner) #post-info:after { + -webkit-box-shadow: 0px -214px 287px 45px var(--anzhiyu-black-op) inset; + box-shadow: 0px -214px 287px 45px var(--anzhiyu-black-op) inset; + } + .waves-area .waves-svg { + height: 40px; + min-height: 40px; + } + .main-hero-waves-area { + display: none; + visibility: hidden; + } +} +@-moz-keyframes move-forever { + 0% { + -webkit-transform: translate3d(-90px, 0, 0); + -moz-transform: translate3d(-90px, 0, 0); + -o-transform: translate3d(-90px, 0, 0); + -ms-transform: translate3d(-90px, 0, 0); + transform: translate3d(-90px, 0, 0); + } + 100% { + -webkit-transform: translate3d(85px, 0, 0); + -moz-transform: translate3d(85px, 0, 0); + -o-transform: translate3d(85px, 0, 0); + -ms-transform: translate3d(85px, 0, 0); + transform: translate3d(85px, 0, 0); + } +} +@-webkit-keyframes move-forever { + 0% { + -webkit-transform: translate3d(-90px, 0, 0); + -moz-transform: translate3d(-90px, 0, 0); + -o-transform: translate3d(-90px, 0, 0); + -ms-transform: translate3d(-90px, 0, 0); + transform: translate3d(-90px, 0, 0); + } + 100% { + -webkit-transform: translate3d(85px, 0, 0); + -moz-transform: translate3d(85px, 0, 0); + -o-transform: translate3d(85px, 0, 0); + -ms-transform: translate3d(85px, 0, 0); + transform: translate3d(85px, 0, 0); + } +} +@-o-keyframes move-forever { + 0% { + -webkit-transform: translate3d(-90px, 0, 0); + -moz-transform: translate3d(-90px, 0, 0); + -o-transform: translate3d(-90px, 0, 0); + -ms-transform: translate3d(-90px, 0, 0); + transform: translate3d(-90px, 0, 0); + } + 100% { + -webkit-transform: translate3d(85px, 0, 0); + -moz-transform: translate3d(85px, 0, 0); + -o-transform: translate3d(85px, 0, 0); + -ms-transform: translate3d(85px, 0, 0); + transform: translate3d(85px, 0, 0); + } +} +@keyframes move-forever { + 0% { + -webkit-transform: translate3d(-90px, 0, 0); + -moz-transform: translate3d(-90px, 0, 0); + -o-transform: translate3d(-90px, 0, 0); + -ms-transform: translate3d(-90px, 0, 0); + transform: translate3d(-90px, 0, 0); + } + 100% { + -webkit-transform: translate3d(85px, 0, 0); + -moz-transform: translate3d(85px, 0, 0); + -o-transform: translate3d(85px, 0, 0); + -ms-transform: translate3d(85px, 0, 0); + transform: translate3d(85px, 0, 0); + } +} +@-moz-keyframes showCover { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + -moz-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + -o-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + -ms-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + } + 100% { + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + -webkit-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -moz-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -o-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -ms-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + } +} +@-webkit-keyframes showCover { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + -moz-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + -o-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + -ms-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + } + 100% { + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + -webkit-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -moz-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -o-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -ms-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + } +} +@-o-keyframes showCover { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + -moz-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + -o-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + -ms-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + } + 100% { + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + -webkit-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -moz-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -o-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -ms-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + } +} +@keyframes showCover { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + -moz-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + -o-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + -ms-transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + transform: rotate(10deg) translateY(-8%) scale(var(--anzhiyu-header-cover-scale)); + } + 100% { + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + -webkit-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -moz-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -o-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + -ms-transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + transform: rotate(10deg) translateY(-10%) scale(var(--anzhiyu-header-cover-scale)); + } +} +#random-banner { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + width: 100%; + height: 76%; + background: var(--anzhiyu-card-bg); + margin-bottom: 0.5rem; + border: var(--style-border); + border-radius: 12px; + overflow: hidden; + position: relative; + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + overflow: hidden; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + will-change: transform; +} +#random-banner:hover { + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); +} +#random-banner:hover #random-hover { + opacity: 1; + -ms-filter: none; + filter: none; + padding-left: 2rem; + background: var(--anzhiyu-theme-op-deep); + backdrop-filter: blur(15px); + -webkit-backdrop-filter: blur(15px); + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -o-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + -o-transform-style: preserve-3d; + -ms-transform-style: preserve-3d; + transform-style: preserve-3d; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + background-size: 200%; + cursor: pointer; +} +#random-banner #skills-tags-group-all .tags-group-wrapper { + margin-top: 7rem; +} +#random-banner #skills-tags-group-all { + -webkit-transform: rotate(-30deg); + -moz-transform: rotate(-30deg); + -o-transform: rotate(-30deg); + -ms-transform: rotate(-30deg); + transform: rotate(-30deg); +} +#random-banner #random-hover { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + background: var(--anzhiyu-theme); + color: var(--anzhiyu-white); + padding-left: 0.5rem; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: cubic-bezier(0.71, 0.15, 0.16, 1.15) 0.6s; + -moz-transition: cubic-bezier(0.71, 0.15, 0.16, 1.15) 0.6s; + -o-transition: cubic-bezier(0.71, 0.15, 0.16, 1.15) 0.6s; + -ms-transition: cubic-bezier(0.71, 0.15, 0.16, 1.15) 0.6s; + transition: cubic-bezier(0.71, 0.15, 0.16, 1.15) 0.6s; + font-size: 60px; +} +#random-banner #random-hover .bannerText { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +#random-banner #random-hover i { + font-size: 80px; + margin-left: 10px; + line-height: 1; +} +@media screen and (max-width: 1200px) { + #random-banner { + display: none; + } +} +#sidebar #sidebar-menus .menus_items .menus_item_child { + margin: 0px; + list-style: none; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} +#sidebar #sidebar-menus .menus_item_child li { + width: calc(50% - 8px); + margin: 4px; +} +#sidebar #sidebar-menus .menus_item_child .site-page.child { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + padding: 8px; + border-radius: 12px; + border: var(--style-border-always); + background: var(--anzhiyu-card-bg); + font-size: 14px; + height: 4.2rem; + width: 7rem; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} +#sidebar .menus_item ul { + padding-left: 0px; +} +#nav-group { + max-width: 1400px; + width: 100%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + position: relative; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +#page-header.nav-fixed #center-console + label i { + background: var(--font-color); +} +#center-console { + display: none; +} +#center-console + label { + --icon-size: 1.375rem; + position: relative; + right: 0; + top: 0; + bottom: 0; + height: var(--icon-size); + width: var(--icon-size); + cursor: pointer; + -webkit-transition: 1s; + -moz-transition: 1s; + -o-transition: 1s; + -ms-transition: 1s; + transition: 1s; + margin-left: 1rem; +} +#center-console + label:hover i.left { + width: calc(var(--icon-size) / 2.5); +} +#center-console + label:hover i.center { + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + width: calc(var(--icon-size) / 2.5); +} +#center-console + label:hover i.right { + width: calc(var(--icon-size) / 2.5); + height: calc(var(--icon-size) / 1.15); + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + -ms-transform: none; + transform: none; +} +#center-console + label i { + background: var(--light-grey); + position: absolute; + border-radius: calc(var(--icon-size) * 0.15); + -webkit-transition: 0.5s var(--animation-on); + -moz-transition: 0.5s var(--animation-on); + -o-transition: 0.5s var(--animation-on); + -ms-transition: 0.5s var(--animation-on); + transition: 0.5s var(--animation-on); + inset: 0; + margin: auto; + right: auto; + width: calc(var(--icon-size) / 3); + height: calc(var(--icon-size) / 3); + -webkit-transform: translateY(calc(var(--icon-size) / 4)); + -moz-transform: translateY(calc(var(--icon-size) / 4)); + -o-transform: translateY(calc(var(--icon-size) / 4)); + -ms-transform: translateY(calc(var(--icon-size) / 4)); + transform: translateY(calc(var(--icon-size) / 4)); +} +#center-console + label i.left { + width: 100%; + -webkit-transform: translateY(calc(var(--icon-size) / -4)); + -moz-transform: translateY(calc(var(--icon-size) / -4)); + -o-transform: translateY(calc(var(--icon-size) / -4)); + -ms-transform: translateY(calc(var(--icon-size) / -4)); + transform: translateY(calc(var(--icon-size) / -4)); +} +#center-console + label i.right { + left: auto; + right: 0; + width: calc(var(--icon-size) / 2); +} +#center-console:checked + label { + right: 0; + top: 0.5rem; + z-index: 31; +} +#center-console:checked + label:hover::after { + background: var(--anzhiyu-main) !important; +} +#center-console:checked + label::after { + content: ""; + width: 35px; + height: 35px; + display: block; + position: absolute; + z-index: -1; + top: -6px; + left: -6.3px; + background: var(--anzhiyu-fontcolor) !important; + border-radius: 50px; +} +#center-console:checked + label:is(.widget, +#center-console:checked + label .widget:hover) i { + height: calc(var(--icon-size) / 4.5); + background: var(--anzhiyu-white) !important; +} +#center-console:checked + label i.left { + width: 100% !important; + -webkit-transform: rotate(-45deg) !important; + -moz-transform: rotate(-45deg) !important; + -o-transform: rotate(-45deg) !important; + -ms-transform: rotate(-45deg) !important; + transform: rotate(-45deg) !important; +} +#center-console:checked + label i.center { + width: 0 !important; +} +#center-console:checked + label i.right { + width: 100% !important; + -webkit-transform: rotate(45deg) !important; + -moz-transform: rotate(45deg) !important; + -o-transform: rotate(45deg) !important; + -ms-transform: rotate(45deg) !important; + transform: rotate(45deg) !important; +} +[data-theme="dark"] #center-console:checked + label:is(.widget, +#center-console:checked + label .widget:hover) i { + background: var(--anzhiyu-black) !important; +} +#body-wrap .nav-fixed #travellings_button::after { + background: var(--anzhiyu-main) !important; +} +#body-wrap #travellings_button { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; +} +#body-wrap #travellings_button:hover::after { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + -ms-transform: none; + transform: none; + visibility: visible; +} +#body-wrap #travellings_button:hover a { + background: var(--anzhiyu-main); + -webkit-box-shadow: var(--anzhiyu-shadow-main); + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); +} +#body-wrap #travellings_button:hover a i { + color: var(--anzhiyu-white); +} +#body-wrap #travellings_button::after { + --height: 2rem; + content: attr(title); + position: fixed; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + color: var(--anzhiyu-white); + background: var(--anzhiyu-white-op) !important; + -webkit-box-shadow: var(--anzhiyu-shadow-nav); + box-shadow: var(--anzhiyu-shadow-nav); + border-radius: var(--anzhiyu-radius-full); + width: fit-content; + height: var(--height); + font-size: var(--global-font-size); + white-space: nowrap; + margin: auto; + padding: 0 4em; + top: calc((60px - var(--height)) / 2); + right: 0; + left: 0; + line-height: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + z-index: 1; + visibility: hidden; + -webkit-transform: scaleX(1.1); + -moz-transform: scaleX(1.1); + -o-transform: scaleX(1.1); + -ms-transform: scaleX(1.1); + transform: scaleX(1.1); + pointer-events: none; + -webkit-transition: 0.5s; + -moz-transition: 0.5s; + -o-transition: 0.5s; + -ms-transition: 0.5s; + transition: 0.5s; +} +@media screen and (max-width: 900px) { + #body-wrap #travellings_button::after { + padding: 0 2em; + } +} +#body-wrap:has(#travellings_button:hover) #page-name, +#body-wrap:has(#travellings_button:hover) #nav #menus { + display: none; +} +#body-wrap .page #travellings_button:hover::after { + background: var(--anzhiyu-main) !important; +} +@media screen and (max-width: 768px) { + #page-header #nav { + padding: 20px; + } + .cardHover, + .error404 #error-wrap .error-content, + .layout > div:first-child:not(.recent-posts), + #recent-posts > .recent-post-item, + #aside-content .card-widget, + .layout > .recent-posts .pagination > *:not(.space), + .layout > .recent-posts .pagination > *:not(.space):not(pangu) { + -webkit-box-shadow: none !important; + box-shadow: none !important; + } + #sidebar #sidebar-menus .menus_items .site-page:hover { + background: none; + } + div#travellings_button { + display: none !important; + } +} +#nav #blog_name a:hover, +#nav .mask-name-container a:hover, +#nav #menus a:hover, +#nav #nav-right .nav-button a:hover, +#nav #nav-right #toggle-menu a:hover { + background: var(--anzhiyu-main); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#page-header.not-top-img { + margin-bottom: 0px; +} +#page-header:not(.nav-fixed) #percent { + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#page-header #nav #nav-right > div { + margin-left: 1rem; + padding: 0; +} +.nav-button { + cursor: pointer; +} +#nav #menus { + padding: 0 calc((100% - 1400px + 3rem) / 2); + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + width: 100%; + position: absolute; + height: 60px; + left: 0; + margin: 0; + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -o-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + will-change: auto; +} +#nav .site-page { + padding-bottom: 0px; +} +#nav *::after { + background-color: transparent !important; +} +#nav .menus_items .menus_item a { + border-radius: 50px; +} +#nav .menus_items .menus_item .menus_item_child li a { + padding: 2px 16px; + border-radius: 50px; + -webkit-transition: 0.3s !important; + -moz-transition: 0.3s !important; + -o-transition: 0.3s !important; + -ms-transition: 0.3s !important; + transition: 0.3s !important; +} +#nav .menus_items .menus_item .menus_item_child li:hover a { + color: #fff !important; +} +#nav .menus_items .menus_item .menus_item_child li { + border-radius: 50px; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; + display: inline-block; + margin: 0 3px; +} +#site-name, +.shuoshuo { + white-space: nowrap; + overflow: hidden; +} +#site-name { + padding: 0 2px; + height: 35px; + line-height: 35px; + position: relative; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#nav .menus_items { + position: relative; + width: fit-content; + text-align: center; + left: 0px; + right: 0px; + top: 0px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +#nav #blog_name a, +#nav .mask-name-container a, +#nav #menus a, +#nav #nav-right .nav-button a, +#nav #nav-right #toggle-menu a { + border-radius: 50px; +} +.page #nav #blog_name a:hover, +.page #nav .mask-name-container a:hover, +.page #nav #menus a:hover, +.page #nav #nav-right .nav-button a:hover, +.page #nav #nav-right #toggle-menu a:hover { + color: var(--anzhiyu-white); + background: var(--anzhiyu-main); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); +} +.post #nav #blog_name .back-home-button:hover, +.post #nav #blog_name #site-name:hover, +.post #nav #nav-right .nav-button a:hover, +.post #nav #nav-right #toggle-menu:hover { + color: var(--anzhiyu-white); + background: var(--anzhiyu-white-op); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +.post #nav #menus .menus_item:hover > a { + color: var(--anzhiyu-white); + background: var(--anzhiyu-white-op); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +.post .nav-fixed #nav #menus .menus_item:hover > a.site-page { + color: var(--anzhiyu-white); + background: var(--anzhiyu-main); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); +} +.post .nav-fixed #nav #blog_name #site-name:hover, +.post .nav-fixed #nav #blog_name .back-home-button:hover, +.post .nav-fixed #nav #nav-right .nav-button a:hover, +.post .nav-fixed #nav #nav-right #toggle-menu:hover { + color: var(--anzhiyu-white); + background: var(--anzhiyu-main); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); +} +#page-header.nav-fixed #nav #page-name { + background: none; + text-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; + font-weight: bold; + border-radius: 100px; + min-width: 100px; + line-height: 1.5rem; +} +#name-container { + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + border-radius: 12px; + height: 40px; + position: absolute; + top: 62px; + left: 0px; + right: 0px; + margin: auto; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-animation-timing-function: ease-out; + -moz-animation-timing-function: ease-out; + -o-animation-timing-function: ease-out; + -ms-animation-timing-function: ease-out; + animation-timing-function: ease-out; + -webkit-animation-timing-function: ease-out; +} +#page-header.nav-fixed.nav-visible #name-container { + z-index: 100; + top: 60px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#page-header.nav-fixed #nav #page-name:hover { + color: var(--anzhiyu-main); +} +@media screen and (min-width: 900px) { + #page-header.nav-fixed #nav #page-name::after { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + content: "回到顶部"; + -webkit-transition: 0.2s; + -moz-transition: 0.2s; + -o-transition: 0.2s; + -ms-transition: 0.2s; + transition: 0.2s; + position: absolute; + left: 0; + right: 0; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + margin: auto; + color: var(--anzhiyu-white) !important; + font-weight: 700; + line-height: 2; + } +} +@media screen and (min-width: 1200px) { + #page-header.nav-fixed #nav #page-name:hover:after { + opacity: 1; + -ms-filter: none; + filter: none; + } + #page-header.nav-fixed #nav #page-name:hover { + background: var(--anzhiyu-main); + } +} +#page-header #nav #page-name { + display: inline; + font-weight: bold; + padding: 4px 8px; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: 0.1s; + -moz-transition: 0.1s; + -o-transition: 0.1s; + -ms-transition: 0.1s; + transition: 0.1s; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + position: relative; + text-align: center; + cursor: pointer; + top: 0; + font-size: 1.1rem; + -webkit-animation-timing-function: ease-in; + -moz-animation-timing-function: ease-in; + -o-animation-timing-function: ease-in; + -ms-animation-timing-function: ease-in; + animation-timing-function: ease-in; + -webkit-animation-timing-function: ease-in; +} +#menus > div.menus_items > div > a { + letter-spacing: 0.3rem; + font-weight: 700; + padding: 0em 0.8em 0em 1em; + height: 35px; + line-height: 35px; + -webkit-transition: color 0s !important; + -moz-transition: color 0s !important; + -o-transition: color 0s !important; + -ms-transition: color 0s !important; + transition: color 0s !important; +} +#nav div#toggle-menu { + padding: 2px 0 4px 6px; +} +#page-name:hover:before { + opacity: 1; + -ms-filter: none; + filter: none; +} +::backdrop { + display: block; + position: fixed; + top: 0px; +} +.mask-name-container { + width: 100%; + height: 100%; + position: absolute; + overflow: hidden; + left: 0; +} +#nav .menus_items .menus_item > a > i:last-child { + display: none; +} +#nav #search-button { + font-size: 1.3em; +} +.back-home-button:hover { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white) !important; +} +.back-home-button { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + width: 35px; + height: 35px; + padding: 0 !important; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + margin-right: 4px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + border-radius: 8px; +} +.back-home-button:hover .back-menu-list-groups { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + top: 55px; + pointer-events: auto; + left: 0; +} +.back-home-button .back-menu-list-groups { + position: absolute; + top: 65px; + left: 0; + background: var(--anzhiyu-card-bg); + border-radius: 12px; + border: var(--style-border); + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + font-size: 12px; + color: var(--anzhiyu-secondtext); + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + -webkit-transition: 0s; + -moz-transition: 0s; + -o-transition: 0s; + -ms-transition: 0s; + transition: 0s; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + pointer-events: none; +} +.back-home-button .back-menu-list-group { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} +.back-home-button .back-menu-list-group .back-menu-list-title { + margin: 8px 0 0 16px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +.back-home-button .back-menu-list { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + width: 340px; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} +.back-home-button .back-menu-list::before { + position: absolute; + top: -24px; + left: 0px; + width: 100%; + height: 25px; + content: ""; + -webkit-transition: 0s; + -moz-transition: 0s; + -o-transition: 0s; + -ms-transition: 0s; + transition: 0s; +} +.back-home-button .back-menu-list-groups .back-menu-list-group:last-child .back-menu-list { + margin: 0 0 8px; +} +.back-home-button .back-menu-list-group:hover .back-menu-list-title { + color: var(--anzhiyu-main); +} +.back-home-button .back-menu-list-groups:hover { + border: var(--style-border-hover); +} +.back-home-button .back-menu-list .back-menu-item { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + margin: 4px 8px; + padding: 4px 8px !important; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + width: 150px; + border-radius: 8px !important; + -webkit-transition: 0.2s !important; + -moz-transition: 0.2s !important; + -o-transition: 0.2s !important; + -ms-transition: 0.2s !important; + transition: 0.2s !important; +} +.back-menu-list-groups .back-menu-list .back-menu-item .back-menu-item-text { + font-size: var(--global-font-size); + margin-left: 0.5rem; + color: var(--anzhiyu-fontcolor); + white-space: nowrap; +} +@media screen and (max-width: 768px) { + .back-menu-list-groups .back-menu-list .back-menu-item .back-menu-item-text { + font-size: 14px; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + } +} +.back-menu-list-groups .back-menu-list .back-menu-item .back-menu-item-icon { + width: 24px; + height: 24px; + border-radius: 24px; + background: var(--anzhiyu-secondbg); +} +#page-header #nav .back-home-button { + cursor: pointer; + position: relative; +} +#page-header:not(.not-top-img) #nav .back-home-button { + color: var(--light-grey); +} +#page-header.nav-fixed:not(.not-top-img) #nav .back-home-button { + color: var(--font-color); +} +.back-home-button .back-menu-list .back-menu-item:hover .back-menu-item-text { + color: var(--anzhiyu-white); +} +.back-menu-item-icon.loading img { + width: 25px; +} +#page-header #nav #menus .nav-button.long a.totopbtn span { + border-radius: 35px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + white-space: nowrap; +} +#page-header #nav #menus .nav-button.long a.totopbtn:hover { + border-radius: 35px; + height: 30px; +} +#nav #search-button { + padding-left: 0; +} +#search-button a.site-page.social-icon.search span { + display: none; +} +#nav .nav-button a:hover { + color: var(--anzhiyu-white) !important; +} +#menus > div.menus_items a { + font-weight: bold; +} +#menus .menus_item .menus_item_child .site-page.child.faa-parent.animated-hover .anzhiyu-icon-fan.faa-tada { + -webkit-animation: rotate 1.6s linear infinite; + -moz-animation: rotate 1.6s linear infinite; + -o-animation: rotate 1.6s linear infinite; + -ms-animation: rotate 1.6s linear infinite; + animation: rotate 1.6s linear infinite; +} +#nav-right { + z-index: 102; + position: absolute; + right: 0; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + height: 100%; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +#nav #blog_name { + -webkit-box-lines: single; + -moz-box-lines: single; + -o-box-lines: single; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + height: 60px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + z-index: 102; +} +#blog_name #site-name i { + position: absolute; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + font-size: 1rem; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +#blog_name #site-name:hover .title { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +#blog_name #site-name .title { + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + letter-spacing: normal; + font-size: 1.2rem; + padding: 0 5px; + line-height: 2rem; + -webkit-transition: color 0s; + -moz-transition: color 0s; + -o-transition: color 0s; + -ms-transition: color 0s; + transition: color 0s; +} +.post #blog_name #site-name .title { + -webkit-transition: 0s; + -moz-transition: 0s; + -o-transition: 0s; + -ms-transition: 0s; + transition: 0s; +} +#blog_name #site-name:hover i { + color: #fff; + opacity: 1; + -ms-filter: none; + filter: none; +} +#page-header #nav #nav-right .nav-button a i, +#page-header #nav #nav-left .nav-button a i { + line-height: 1; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#page-header #nav #nav-right .nav-button a:hover i, +#page-header #nav #nav-left .nav-button a:hover i { + color: var(--anzhiyu-white); + -webkit-transition: background 0.35s ease-in-out, color 0.2s ease-in-out; + -moz-transition: background 0.35s ease-in-out, color 0.2s ease-in-out; + -o-transition: background 0.35s ease-in-out, color 0.2s ease-in-out; + -ms-transition: background 0.35s ease-in-out, color 0.2s ease-in-out; + transition: background 0.35s ease-in-out, color 0.2s ease-in-out; +} +@media screen and (max-width: 768px) { + [data-theme="dark"] #page-header #nav #nav-right .nav-button a i, + [data-theme="dark"] #page-header #nav #nav-left .nav-button a i, + [data-theme="dark"] #page-header.nav-fixed:not(.not-top-img) #nav .back-home-button { + color: #c9c9c9 !important; + } +} +#nav-totop { + width: 35px; + height: 35px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + border-radius: 50px; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: distribute; + -moz-box-pack: distribute; + -o-box-pack: distribute; + -ms-flex-pack: distribute; + -webkit-justify-content: space-around; + justify-content: space-around; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +#page-header #nav #nav-right .nav-button a.totopbtn { + width: 25px; + height: 25px; + border-radius: 40px; + background: var(--font-color); + color: var(--card-bg); + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +#page-header #nav #nav-right .nav-button:not(.long) a.totopbtn:hover { + height: 35px; + width: 35px; +} +#page-header #nav #nav-right .nav-button:not(.long):hover a.totopbtn { + width: 35px; + height: 35px; + top: 0; + right: 0; +} +#page-header #nav .nav-button a { + height: 35px; + width: 35px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-transition: background 0.3s ease-in-out, color 0s ease-in-out; + -moz-transition: background 0.3s ease-in-out, color 0s ease-in-out; + -o-transition: background 0.3s ease-in-out, color 0s ease-in-out; + -ms-transition: background 0.3s ease-in-out, color 0s ease-in-out; + transition: background 0.3s ease-in-out, color 0s ease-in-out; +} +.nav-fixed #nav-totop #percent, +.page #nav-totop #percent { + font-size: 13px; + border-radius: 35px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + white-space: nowrap; + color: var(--card-bg); + width: 25px; + height: 25px; +} +#nav-totop #percent { + font-weight: 700; +} +#page-header #nav #nav-right .nav-button:hover a.totopbtn { + background: var(--anzhiyu-main); +} +#nav-totop:hover .totopbtn i { + opacity: 1; + -ms-filter: none; + filter: none; + color: var(--anzhiyu-white); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#nav-totop .totopbtn i { + position: absolute; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +#nav-totop.long .totopbtn i { + font-size: 1rem; +} +#nav-totop:hover #percent { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(1.5); + -moz-transform: scale(1.5); + -o-transform: scale(1.5); + -ms-transform: scale(1.5); + transform: scale(1.5); + font-weight: 700; +} +#page-header:not(.nav-fixed) #nav-totop { + width: 0; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + margin-left: 0 !important; + overflow: hidden; + -webkit-transition: 0.3s ease-in; + -moz-transition: 0.3s ease-in; + -o-transition: 0.3s ease-in; + -ms-transition: 0.3s ease-in; + transition: 0.3s ease-in; +} +#page-header #nav #nav-right .nav-button.long, +#page-header #nav #nav-right .nav-button.long a.totopbtn, +#page-header #nav #nav-right .nav-button.long a.totopbtn span { + width: 70px; +} +#page-header #nav #nav-right .long#nav-totop:hover { + background-color: transparent; +} +@media screen and (max-width: 1390px) { + #nav { + padding: 0 1.5rem; + } + #nav .mask-name-container { + padding: 0 1.5rem; + } + div#menus { + padding: 0 1.5rem; + } +} +@media screen and (min-width: 900px) { + #nav .back-home-button:hover { + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); + } +} +@media screen and (max-width: 768px) { + .mask-name-container { + display: none; + } + #menus { + padding: 20px; + } + #page-header.not-top-img { + margin-bottom: 10px; + } + #nav { + border-bottom: none; + background: var(--anzhiyu-background); + } + #page-header #nav #nav-right div { + margin-left: 0.5rem; + } +} +@media screen and (min-width: 768px) { + .menus_item:hover > a.site-page { + color: var(--anzhiyu-white) !important; + background: var(--anzhiyu-main); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); + } +} +#pagination .toPageGroup { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + position: relative; + margin: 0; + -webkit-box-shadow: none; + box-shadow: none; + width: auto; +} +#pagination .toPageGroup:hover { + background: none; +} +#pagination .pagination { + text-align: center; +} +#pagination .pagination .extend.next .pagination_tips_next { + margin-left: -32px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +#pagination .page-number.current { + background: #425aef; + color: var(--white); +} +#pagination .pagination-info { + position: absolute; + top: 50%; + padding: 20px 40px; + width: 100%; + -webkit-transform: translate(0, -50%); + -moz-transform: translate(0, -50%); + -o-transform: translate(0, -50%); + -ms-transform: translate(0, -50%); + transform: translate(0, -50%); +} +#pagination .prev_info, +#pagination .next_info { + color: var(--white); + font-weight: 500; +} +#pagination .next-post .pagination-info { + text-align: right; +} +#pagination .pull-full { + width: 100% !important; +} +#pagination .prev-post .label, +#pagination .next-post .label { + color: var(--light-grey); + text-transform: uppercase; + font-size: 90%; +} +#pagination .prev-post, +#pagination .next-post { + width: 50%; +} +@media screen and (max-width: 768px) { + #pagination .prev-post, + #pagination .next-post { + width: 100%; + } +} +#pagination .prev-post a, +#pagination .next-post a { + position: relative; + display: block; + overflow: hidden; + height: 150px; +} +#pagination.pagination-post { + overflow: hidden; + margin-top: 1.25rem; + width: 100%; + background: #000; + border-radius: 10px; +} +@media screen and (max-width: 768px) { + #pagination .toPageGroup { + display: none; + } + #pagination .page-number { + display: none !important; + } + #pagination .space { + display: none !important; + } + #pagination .pagination .extend.next { + width: 100%; + height: 3rem; + margin: 0; + border-radius: 12px; + line-height: 3rem; + background: var(--anzhiyu-card-bg); + border: var(--style-border-always); + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + margin: 0 20px; + } + #pagination .pagination .extend.next:hover { + background: var(--anzhiyu-theme); + color: var(--anzhiyu-white); + } + #pagination .pagination .extend.next i { + display: none; + } + #pagination .pagination .extend.next .pagination_tips_next { + opacity: 1; + -ms-filter: none; + filter: none; + margin-left: 0; + } + #pagination .pagination .extend.prev { + width: 100%; + height: 3rem; + border-radius: 12px; + line-height: 3rem; + background: var(--anzhiyu-card-bg); + border: var(--style-border-always); + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + margin: 0 20px; + } + #pagination .pagination .extend.prev i { + display: none; + } + #pagination .pagination .extend.prev .pagination_tips_prev { + opacity: 1; + -ms-filter: none; + filter: none; + margin-right: 0; + } +} +.layout > .recent-posts .pagination > *:not(pangu) { + display: inline-block; + width: 2.5em; + height: 2.5em; + line-height: 2.5em; +} +.layout > .recent-posts .pagination > *:not(.space):not(pangu) { + -webkit-transition: 0s; + -moz-transition: 0s; + -o-transition: 0s; + -ms-transition: 0s; + transition: 0s; +} +.layout > div:not(.recent-posts) .pagination .page-number { + display: inline-block; + margin: 0 4px; + min-width: 2.5em; + height: 2.5em; + text-align: center; + line-height: 2.5em; + cursor: pointer; +} +@media screen and (min-width: 1200px) { + #pagination a.extend.next:hover, + #pagination a.extend.prev:hover { + -webkit-transform: scale(1.03); + -moz-transform: scale(1.03); + -o-transform: scale(1.03); + -ms-transform: scale(1.03); + transform: scale(1.03); + } +} +@media screen and (min-width: 768px) { + #pagination .page-number.current:hover { + background: var(--anzhiyu-theme); + -webkit-box-shadow: var(--anzhiyu-shadow-theme); + box-shadow: var(--anzhiyu-shadow-theme); + color: var(--anzhiyu-white); + } + #pagination a.extend.next:hover, + #pagination a.extend.prev:hover { + color: var(--anzhiyu-theme); + border: var(--style-border-hover); + -webkit-transform: scale(1.03); + -moz-transform: scale(1.03); + -o-transform: scale(1.03); + -ms-transform: scale(1.03); + transform: scale(1.03); + } + nav#pagination { + overflow: visible; + } + #pagination .page-number.current { + background: var(--anzhiyu-theme); + border: var(--style-border-hover); + -webkit-box-shadow: var(--anzhiyu-shadow-theme); + box-shadow: var(--anzhiyu-shadow-theme); + } + #pagination a.extend.next { + overflow: hidden; + height: 2.5em; + line-height: 2.5em; + } + #pagination a.extend.next, + #pagination a.extend.prev { + width: 5rem !important; + line-height: 1.9rem !important; + border-radius: 8px !important; + background: var(--anzhiyu-card-bg); + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + border: var(--style-border); + display: -webkit-box !important; + display: -moz-box !important; + display: -webkit-flex !important; + display: -ms-flexbox !important; + display: box !important; + display: flex !important; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + overflow: hidden; + -webkit-transition: all 0.3s, color 0s; + -moz-transition: all 0.3s, color 0s; + -o-transition: all 0.3s, color 0s; + -ms-transition: all 0.3s, color 0s; + transition: all 0.3s, color 0s; + position: absolute; + } + #pagination .page-number { + background: var(--anzhiyu-card-bg); + border-radius: 8px !important; + margin: 0 0.3rem; + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + border: var(--style-border); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + } + #pagination .page-number:hover { + color: var(--anzhiyu-theme); + border: var(--style-border-hover); + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); + } +} +#pagination .pagination { + position: relative; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +#pagination a.extend.next:hover .pagination_tips_next { + margin-left: 2px; + opacity: 1; + -ms-filter: none; + filter: none; + white-space: nowrap; +} +#pagination a.extend.prev .pagination_tips_prev { + margin-right: -32px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +#pagination a.extend.prev:hover .pagination_tips_prev { + margin-right: 2px; + opacity: 1; + -ms-filter: none; + filter: none; + white-space: nowrap; +} +a.extend.prev { + left: 0; +} +a.extend.next { + right: 0; +} +#pagination { + overflow: hidden; + margin-top: 1rem; + width: 100%; +} +@media screen and (max-width: 768px) { + #site-name { + padding: 0 !important; + } +} +#pagination .pagination input { + width: 2.5em; + height: 2.5em; + border-radius: 8px; + border: var(--style-border-always); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + outline-style: none; + font-size: 16px; + padding-left: 12px; +} +a#toPageButton { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + position: absolute; + width: 2.5em; + height: 2.5em; + right: 0px; + top: 0px; + border-radius: 8px; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + background: var(--anzhiyu-card-bg); + border: var(--style-border-always); + cursor: pointer; +} +#pagination .pagination .toPageGroup:hover input, +#pagination .pagination .toPageGroup input:focus { + border: var(--style-border-hover-always); + outline-style: none; + width: 100px; +} +#pagination .toPageGroup:hover a#toPageButton, +#pagination .toPageGroup:focus-within a#toPageButton { + width: 30px; + height: 30px; + right: 4px; + top: 5px; + background: var(--anzhiyu-secondbg); + border: 1px solid var(--anzhiyu-none); + border-radius: 4px; +} +blockquote { + border: var(--style-border-always); + background-color: var(--anzhiyu-secondbg); + color: var(--anzhiyu-secondtext); + border-radius: 8px; + margin: 1rem 0; + padding: 0.5rem 0.8rem; +} +#article-container { + word-wrap: break-word; + overflow-wrap: break-word; +} +#article-container h1 .post-content, +#article-container h2 .post-content, +#article-container h3 .post-content, +#article-container h4 .post-content, +#article-container h5 .post-content, +#article-container h6 .post-content { + line-height: 1.6; + border-top: 1px dashed var(--anzhiyu-theme-op); + padding-top: 1.5rem; + padding-left: 0; +} +#article-container a { + color: var(--anzhiyu-fontcolor); +} +#article-container a:hover { + text-decoration: underline; +} +#article-container img { + display: block; + margin: 0 auto 20px; + max-width: 100%; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + border-radius: 8px; +} +#article-container p { + margin: 0 0 16px; +} +#article-container iframe { + margin: 0 0 20px; + border-radius: 12px; +} +#article-container kbd { + margin: 0 3px; + padding: 3px 5px; + border: 1px solid #b4b4b4; + border-radius: 3px; + background-color: #f8f8f8; + -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.25), 0 2px 1px 0 rgba(255,255,255,0.6) inset; + box-shadow: 0 1px 3px rgba(0,0,0,0.25), 0 2px 1px 0 rgba(255,255,255,0.6) inset; + color: #34495e; + white-space: nowrap; + font-weight: 600; + font-size: 0.9em; + font-family: Monaco, 'Ubuntu Mono', monospace; + line-height: 1em; +} +#article-container h1 .headerlink { + float: right; + opacity: 0.08; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=8)"; + filter: alpha(opacity=8); + position: relative; + padding: 0px; + border: none; + line-height: 2; + font-size: 2rem; + border-radius: 8px !important; + text-decoration: none; + font-weight: 700; +} +#article-container h1 .headerlink::before { + font-size: 2rem; +} +#article-container > :first-child:is(h2) { + border-top: none; + padding-top: 0; + margin-top: 0; +} +#article-container h2 .headerlink { + float: right; + opacity: 0.08; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=8)"; + filter: alpha(opacity=8); + position: relative; + padding: 0px; + border: none; + line-height: 2; + font-size: 1.8rem; + border-radius: 8px !important; + text-decoration: none; + font-weight: 700; +} +#article-container h2 .headerlink::before { + font-size: 1.8rem; +} +#article-container h3 .headerlink, +#article-container h4 .headerlink, +#article-container h5 .headerlink, +#article-container h6 .headerlink { + float: right; + opacity: 0.08; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=8)"; + filter: alpha(opacity=8); + position: relative; + padding: 0px; + border: none; + line-height: 2; + font-size: 1.3rem; + border-radius: 8px !important; + text-decoration: none; + font-weight: 700; +} +#article-container h3 .headerlink::before, +#article-container h4 .headerlink::before, +#article-container h5 .headerlink::before, +#article-container h6 .headerlink::before { + font-size: 1.3rem; +} +#article-container a.headerlink::before { + content: '\f0c1'; + float: right; + color: var(--headline-presudo); + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; +} +#article-container a.headerlink:hover:after { + color: var(--pseudo-hover); +} +#article-container a.headerlink h1:hover a.headerlink:after, +#article-container a.headerlink h2:hover a.headerlink:after, +#article-container a.headerlink h3:hover a.headerlink:after, +#article-container a.headerlink h4:hover a.headerlink:after, +#article-container a.headerlink h5:hover a.headerlink:after, +#article-container a.headerlink h6:hover a.headerlink:after { + opacity: 1; + -ms-filter: none; + filter: none; +} +#article-container ol ol, +#article-container ul ol, +#article-container ol ul, +#article-container ul ul { + padding-left: 20px; +} +#article-container ol li, +#article-container ul li { + margin: 4px 0; +} +#article-container ol p, +#article-container ul p { + margin: 0 0 8px; +} +#article-container.post-content h1:before { + margin-left: -26px; + font-size: 20px; +} +#article-container.post-content h1:hover:before { + color: #425aef; +} +#article-container.post-content h2:before { + margin-left: -24px; + font-size: 18px; +} +#article-container.post-content h2:hover:before { + color: #425aef; +} +#article-container.post-content h3:before { + margin-left: -22px; + font-size: 16px; +} +#article-container.post-content h3:hover:before { + color: #425aef; +} +#article-container.post-content h4:before { + margin-left: -20px; + font-size: 14px; +} +#article-container.post-content h4:hover:before { + color: #425aef; +} +#article-container.post-content h5:before { + margin-left: -18px; + font-size: 12px; +} +#article-container.post-content h5:hover:before { + color: #425aef; +} +#article-container.post-content h6:before { + margin-left: -18px; + font-size: 12px; +} +#article-container.post-content h6:hover:before { + color: #425aef; +} +#article-container.post-content ol p, +#article-container.post-content ul p { + margin: 0 0 8px; +} +#article-container.post-content li::marker { + color: #425aef; + font-weight: 600; + font-size: 1.05em; +} +#article-container.post-content li:hover::marker { + color: var(--pseudo-hover); +} +#article-container > :last-child { + margin-bottom: 0 !important; +} +@media screen and (max-width: 768px) { + #post { + background: var(--anzhiyu-background) !important; + border: none; + } +} +#post .post_share { + margin: 8px 0 0; + width: fit-content; + min-width: 205px; +} +#post .tag_share { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + width: 100%; +} +#post .tag_share .post-meta__box { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; +} +#post .tag_share .post-meta__box__tag-list, +#post .tag_share .post-meta__box__category-list { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + width: 100%; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} +#post .tag_share .post-meta__box__tags, +#post .tag_share .post-meta__box__categoryes { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + padding: 4px 12px; + width: fit-content; + border-radius: 8px; + font-size: 0.85em; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +@media screen and (max-width: 768px) { + #post .tag_share .post-meta__box__tags, + #post .tag_share .post-meta__box__categoryes { + margin: 4px 8px 4px 0 !important; + } +} +#post .tag_share .post-meta__box__tags { + margin: 0px 8px 0px 0; +} +#post .tag_share .post-meta__box__categoryes { + margin: 0px 8px 4px 0; +} +#post .tag_share .post-meta__box__categoryes:hover { + background: #425aef; + color: var(--white); +} +#post .tag_share .post-meta .social-share { + font-size: 0.85em; +} +#post .tag_share .post-meta .social-share .social-share-icon { + margin: 0 4px; + width: 1.85em; + height: 1.85em; + font-size: 1.2em; + line-height: 1.85em; +} +#post .post-copyright { + background: var(--anzhiyu-secondbg); + padding: 1rem 1.3rem; + border: var(--style-border); + border-width: 1px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + position: relative; + margin: 80px 0 30px; + border-radius: 12px; +} +#post .post-copyright .copyright-cc-box { + position: absolute; + right: 0; + overflow: hidden; + width: 100%; + height: 100%; + top: 0; + pointer-events: none; +} +#post .post-copyright__author_box { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + margin-top: 1.5rem; +} +#post .post-copyright__author_box .post-copyright__author_img { + width: 66px; + height: 66px; + margin: auto; + border-radius: 66px; + overflow: hidden; + position: absolute; + left: calc(50% - 33px); + top: -33px; + border: var(--style-border-always); + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); +} +#post .post-copyright__author_box .post-copyright__author_img:hover img.post-copyright__author_img_back { + z-index: 21; + -webkit-transform: translateY(0px); + -moz-transform: translateY(0px); + -o-transform: translateY(0px); + -ms-transform: translateY(0px); + transform: translateY(0px); +} +#post .post-copyright__author_box .post-copyright__author_img img.post-copyright__author_img_front { + z-index: 20; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#post .post-copyright__author_box .post-copyright__author_img img.post-copyright__author_img_back { + border-radius: 66px; + z-index: 10; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#post .post-copyright__author_box .post-copyright__author_img img { + position: absolute; + bottom: 0; + left: 0; +} +#post .post-copyright__author_box .post-copyright__author_name { + text-align: center; + font-size: 20px; + font-weight: 700; + color: var(--anzhiyu-fontcolor); + line-height: 1; +} +#post .post-copyright__author_box .post-copyright__author_desc { + text-align: center; + font-size: 14px; + color: var(--anzhiyu-secondtext); + margin-top: 4px; +} +#post .post-copyright__post__info { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + margin-top: 0.2rem; +} +#post .post-copyright__original, +#post .post-copyright__reprint { + background: var(--anzhiyu-main); + color: var(--anzhiyu-wihite-font); + padding: 0.2rem 1rem; + font-size: 0.8rem; + border-radius: 8px; + margin-right: 0.5rem; + font-weight: bold; + line-height: 1.5; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +#post .post-copyright .anzhiyufont.anzhiyu-icon-copyright { + position: absolute; + font-size: 1.3em; + top: -71px; + right: -20px; + font-size: 8.3em; + z-index: -1; + color: var(--anzhiyu-main); +} +@media screen and (min-width: 1365px) { + #post .post-copyright .anzhiyufont.anzhiyu-icon-copyright { + z-index: 0; + } +} +#post .post-copyright-title { + white-space: nowrap; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + font-weight: 500; + max-width: 70%; +} +#post .post-copyright-title span { + cursor: pointer; +} +#post .post-copyright-title:hover { + color: var(--anzhiyu-fontcolor); +} +#post .post-copyright .post-copyright__notice { + font-size: 12px; +} +#post .post-copyright .post-copyright__notice .post-copyright-info { + padding-left: 0; + color: var(--anzhiyu-secondtext); + overflow: hidden; + display: -webkit-box; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + text-align: center; +} +@media screen and (max-width: 768px) { + #post .post-copyright .post-copyright__notice .post-copyright-info { + -webkit-line-clamp: 2; + } +} +#post .post-copyright .post-copyright__notice .post-copyright-info a:hover { + color: var(--anzhiyu-main); +} +#post .post-outdate-notice { + position: relative; + margin: 0 0 20px; + padding: 0.5em 1.2em; + border-radius: 3px; + background-color: #ffe6e6; + color: #f66; + padding: 0.5em 1em 0.5em 2.6em; + border-left: 5px solid #ff8080; +} +#post .post-outdate-notice:before { + content: '\e66f'; + position: absolute; + top: 50%; + left: 0.9em; + color: #ff8080; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); +} +#post .ads-wrap { + margin: 40px 0; +} +#post #content-inner.layout #article-container h1, +#post #content-inner.layout #article-container h2, +#post #content-inner.layout #article-container h3, +#post #content-inner.layout #article-container h4, +#post #content-inner.layout #article-container h5, +#post #content-inner.layout #article-container h6 { + padding-left: 0; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + -o-box-direction: reverse; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; +} +.post-ai-description { + background: var(--anzhiyu-secondbg); + border-radius: 12px; + padding: 12px 16px; + line-height: 1.3; + border: var(--style-border-always); + margin-bottom: 10px; +} +.ai-title { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + color: var(--font-color); + border-radius: 8px; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + padding: 0 5px; +} +.ai-title i { + font-weight: 800; + font-size: 20px; + line-height: 20px; + height: 20px; +} +.ai-title .anzhiyufont.anzhiyu-icon-circle-dot { + margin-left: auto; + margin-right: 4px; + font-size: 14px; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +.ai-title .anzhiyufont.anzhiyu-icon-circle-dot:active { + -webkit-transform: scale(0.97); + -moz-transform: scale(0.97); + -o-transform: scale(0.97); + -ms-transform: scale(0.97); + transform: scale(0.97); +} +.ai-title .anzhiyufont.anzhiyu-icon-arrow-rotate-right { + font-size: 14px; + margin-left: 4px; + cursor: pointer; +} +.ai-title .ai-title-text { + font-weight: bold; + margin-left: 8px; +} +#ai-tag { + font-size: 12px; + background-color: var(--anzhiyu-lighttext); + color: rgba(255,255,255,0.9); + border-radius: 4px; + line-height: 1; + padding: 4px 5px; + cursor: pointer; +} +#ai-Toggle { + font-size: 12px; + background: var(--anzhiyu-lighttext); + color: var(--anzhiyu-card-bg); + padding: 4px; + border-radius: 4px; + margin-left: 6px; + -webkit-transform: scale(0.8); + -moz-transform: scale(0.8); + -o-transform: scale(0.8); + -ms-transform: scale(0.8); + transform: scale(0.8); + cursor: pointer; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + font-weight: bold; +} +#ai-Toggle:hover { + background: var(--anzhiyu-fontcolor); + color: var(--anzhiyu-card-bg); +} +#go-tianli-blog { + display: none; +} +.ai-explanation { + margin-top: 12px; + padding: 8px 12px; + background: var(--anzhiyu-card-bg); + border-radius: 8px; + border: var(--style-border-always); + font-size: 15px; + line-height: 1.4; +} +.ai-cursor { + display: inline-block; + width: 7px; + background: #333; + height: 16px; + margin-bottom: -2px; + opacity: 0.95; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=95)"; + filter: alpha(opacity=95); + margin-left: 3px; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; +} +[data-theme="dark"] .ai-cursor { + background: #fff; +} +.ai-btn-box { + font-size: 15.5px; + width: 100%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} +.ai-btn-item { + padding: 5px 10px; + margin: 10px 16px 0px 5px; + width: fit-content; + line-height: 1; + background: var(--anzhiyu-main); + color: #fff; + border-radius: 6px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; + cursor: pointer; +} +.ai-btn-item:hover { + background: var(--anzhiyu-theme); +} +.ai-recommend { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} +.ai-recommend .ai-recommend-item { + width: calc(50% - 20px); + margin: 10px; + background: var(--anzhiyu-secondbg); + border-radius: 4px; + padding: 10px; + cursor: pointer; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + -webkit-animation: slide-in 0.6s 0.1s backwards; + -moz-animation: slide-in 0.6s 0.1s backwards; + -o-animation: slide-in 0.6s 0.1s backwards; + -ms-animation: slide-in 0.6s 0.1s backwards; + animation: slide-in 0.6s 0.1s backwards; +} +.ai-recommend .ai-recommend-item span.index { + padding: 4px; +} +.ai-recommend .ai-recommend-item:hover { + color: var(--anzhiyu-white); + background: var(--anzhiyu-theme); +} +.ai-recommend .ai-recommend-item:hover a { + color: var(--anzhiyu-white); +} +@media screen and (max-width: 768px) { + .ai-btn-box { + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + } + .ai-recommend .ai-recommend-item { + width: 100%; + } +} +.post-tools { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + width: 100%; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-user-select: none; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +.post-tools .post-tools-left { + white-space: nowrap; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-bottom: 0.5rem; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +.post-tools .post-tools-left .rewardLeftButton, +.post-tools .post-tools-left .shareRight { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + margin: 10px; +} +@media screen and (max-width: 768px) { + .post-tools .post-tools-left { + margin-top: 1rem; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + width: 100%; + } + .post-tools .post-tools-left > div { + margin: 8px; + } +} +.post-tools-right { + padding-right: 0px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + margin-bottom: 0.5rem; +} +@media screen and (max-width: 768px) { + .post-tools-right { + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + } +} +.share-link { + margin-left: 0.5rem; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + position: relative; + text-align: center; +} +.share-link.mobile:hover .share-button { + background: var(--anzhiyu-green); + border-color: var(--anzhiyu-green); + -webkit-box-shadow: var(--anzhiyu-shadow-green); + box-shadow: var(--anzhiyu-shadow-green); + color: var(--anzhiyu-white); +} +.share-link.mobile:hover .share-main { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); +} +.share-link .share-qrcode { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +.share-link .share-button { + background: var(--anzhiyu-card-bg); + border: var(--style-border); + color: var(--anzhiyu-fontcolor); + border-radius: 8px; + cursor: pointer; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + width: 56px; + height: 40px; +} +.share-link .share-button:hover { + background: var(--anzhiyu-main); + border-color: var(--anzhiyu-main); + color: var(--anzhiyu-white); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + -webkit-box-shadow: var(--anzhiyu-shadow-blue); + box-shadow: var(--anzhiyu-shadow-blue); +} +.share-link .share-button i { + line-height: 38px; + font-size: 1.1rem; +} +.share-link .share-main { + position: absolute; + bottom: 40px; + z-index: 100; + padding-bottom: 15px; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + pointer-events: none; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + -webkit-transform: translateY(8px); + -moz-transform: translateY(8px); + -o-transform: translateY(8px); + -ms-transform: translateY(8px); + transform: translateY(8px); +} +.share-link .share-main .share-main-all { + padding: 12px; + border-radius: 12px; + background: var(--anzhiyu-background); + -webkit-animation: donate_effcet 0.3s 0.1s ease both; + -moz-animation: donate_effcet 0.3s 0.1s ease both; + -o-animation: donate_effcet 0.3s 0.1s ease both; + -ms-animation: donate_effcet 0.3s 0.1s ease both; + animation: donate_effcet 0.3s 0.1s ease both; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + border: var(--style-border-always); +} +.share-link .share-main .share-main-all #qrcode { + width: 150px; + height: 150px; + min-width: 150px; + min-height: 150px; + background: var(--anzhiyu-white); + padding: 8px; + border-radius: 8px; + margin-bottom: 8px; + border: var(--style-border-always); +} +.share-link .share-main .share-main-all .reward-dec { + font-size: 0.6rem; +} +.post-tools .post-tools-left > div { + margin: 0; +} +.post-tools .post-tools-left { + width: auto; +} +.relatedPosts { + margin-top: 1.25rem; +} +.relatedPosts > .headline { + margin-bottom: 5px; + font-weight: 700; + font-size: 1.43em; +} +.relatedPosts > .relatedPosts-list > div { + position: relative; + display: inline-block; + overflow: hidden; + margin: 3px; + width: calc(33.333% - 6px); + height: 200px; + background: #000; + vertical-align: bottom; +} +@media screen and (max-width: 768px) { + .relatedPosts > .relatedPosts-list > div { + margin: 2px; + width: calc(50% - 4px); + height: 150px; + } +} +@media screen and (max-width: 600px) { + .relatedPosts > .relatedPosts-list > div { + width: calc(100% - 4px); + } +} +.relatedPosts > .relatedPosts-list .content { + position: absolute; + top: 50%; + padding: 0 20px; + width: 100%; + -webkit-transform: translate(0, -50%); + -moz-transform: translate(0, -50%); + -o-transform: translate(0, -50%); + -ms-transform: translate(0, -50%); + transform: translate(0, -50%); +} +.relatedPosts > .relatedPosts-list .content .date { + color: var(--light-grey); + font-size: 90%; +} +.relatedPosts > .relatedPosts-list .content .title { + color: var(--white); + -webkit-line-clamp: 2; +} +.post-reward { + position: relative; + text-align: center; + margin-top: 0rem; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +.post-reward:hover .reward-button { + color: var(--anzhiyu-white); + background: var(--anzhiyu-theme); + -webkit-box-shadow: none; + box-shadow: none; +} +.post-reward:hover .reward-main { + display: -webkit-box !important; + display: -moz-box !important; + display: -webkit-flex !important; + display: -ms-flexbox !important; + display: box !important; + display: flex !important; + -webkit-box-pack: left; + -moz-box-pack: left; + -o-box-pack: left; + -ms-flex-pack: left; + -webkit-justify-content: left; + justify-content: left; +} +.post-reward > * { + pointer-events: auto; +} +.post-reward .reward-button { + border-radius: 8px; + background: var(--anzhiyu-red); + color: var(--anzhiyu-white); + padding: 0; + margin-right: 0.5rem; + width: 126px; + height: 40px; + line-height: 39px; + -webkit-box-shadow: var(--anzhiyu-shadow-red); + box-shadow: var(--anzhiyu-shadow-red); + display: inline-block; + cursor: pointer; + -webkit-transition: all 0.4s ease 0s; + -moz-transition: all 0.4s ease 0s; + -o-transition: all 0.4s ease 0s; + -ms-transition: all 0.4s ease 0s; + transition: all 0.4s ease 0s; +} +.post-reward .reward-main { + position: absolute; + bottom: 40px; + left: -70%; + z-index: 90; + display: none; + padding: 0px 0px 15px; + width: 100%; +} +.post-reward .reward-main .reward-all { + border-radius: 12px; + background: var(--anzhiyu-background); + border: var(--style-border-always); + padding: 0.8rem; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + margin: 0px; + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +.post-reward .reward-main .reward-all::before { + position: absolute; + bottom: -10px; + left: 0px; + width: 100%; + height: 20px; + content: ""; +} +.post-reward .reward-main .reward-all .reward-title { + font-weight: bold; + color: var(--anzhiyu-red); +} +.post-reward .reward-main .reward-all .reward-group { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + margin-top: 0.5rem; + padding: 0; +} +.post-reward .reward-main .reward-all .reward-group .reward-item { + display: inline-block; + padding: 0px 8px; + list-style-type: none; + vertical-align: top; +} +.post-reward .reward-main .reward-all .reward-group .reward-item .post-qr-code-img { + -webkit-box-shadow: var(--anzhiyu-shadow-lightblack); + box-shadow: var(--anzhiyu-shadow-lightblack); + border-radius: 12px; + border: var(--style-border-always); +} +.post-reward .reward-main .reward-all .reward-group .reward-item .post-qr-code-desc { + padding-top: 0rem; + margin-top: -8px; + margin-bottom: 8px; +} +.post-reward .reward-main .reward-all .reward-group .reward-item img { + width: 130px; + height: 130px; + max-width: fit-content; +} +.post-reward .reward-main .reward-all .reward-group .reward-item:first-child img { + border-color: var(--anzhiyu-green); +} +.post-reward .reward-main .reward-all .reward-group .reward-item:last-child img { + border-color: var(--anzhiyu-blue); +} +.post-reward .reward-main .reward-all .reward-main-btn { + background: var(--anzhiyu-secondbg); + color: var(--anzhiyu-fontcolor); + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + border-radius: 12px; + padding: 4px 0; + border: var(--style-border-always); + margin: 8px; + width: 100%; +} +.post-reward .reward-main .reward-all .reward-main-btn:hover { + color: var(--anzhiyu-white); + background: var(--anzhiyu-red); + -webkit-box-shadow: var(--anzhiyu-shadow-red); + box-shadow: var(--anzhiyu-shadow-red); +} +.post-reward .reward-main .reward-all .reward-main-btn .reward-text { + margin-bottom: 0rem; + font-weight: bold; +} +.post-reward .reward-main .reward-all .reward-main-btn .reward-dec { + font-size: 0.6rem; +} +.reward-link.mode { + background: var(--anzhiyu-green); + color: var(--anzhiyu-white); + padding: 0; + width: 173px; + height: 40px; + line-height: 39px; + -webkit-box-shadow: var(--anzhiyu-shadow-green); + box-shadow: var(--anzhiyu-shadow-green); + border-radius: 8px; + text-align: center; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +.reward-link.mode:hover { + background: var(--anzhiyu-theme); + -webkit-box-shadow: none; + box-shadow: none; +} +.reward-link.mode a { + color: var(--anzhiyu-white); + height: 100%; + width: 100%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +.reward-link.mode i { + margin-right: 4px; +} +#quit-box { + position: fixed; + width: 100vw; + height: 100vh; + background: rgba(0,0,0,0.2); + top: 0; + left: 0; + display: none; + z-index: 101; + margin: 0; +} +#rightMenu { + display: none; + position: fixed; + padding: 0 0.25rem; + width: 11rem; + height: fit-content; + top: 10%; + left: 10%; + background-color: var(--anzhiyu-card-bg); + color: var(--anzhiyu-fontcolor); + border-radius: 12px; + z-index: 10002; + border: var(--style-border); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +#rightMenu a { + color: var(--anzhiyu-fontcolor); +} +#rightMenu:hover { + border: var(--style-border-hover); + -webkit-box-shadow: var(--anzhiyu-shadow-theme); + box-shadow: var(--anzhiyu-shadow-theme); +} +#rightMenu .rightMenu-group { + padding: 0.35rem 0.3rem; +} +#rightMenu .rightMenu-group:not(:nth-last-child(1)) { + border-bottom: 2px dashed var(--anzhiyu-theme-op); +} +#rightMenu .rightMenu-group.rightMenu-small { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} +#rightMenu .rightMenu-group .rightMenu-item { + border-radius: 8px; + -webkit-transition: 0.1s; + -moz-transition: 0.1s; + -o-transition: 0.1s; + -ms-transition: 0.1s; + transition: 0.1s; + cursor: pointer; + padding: 0 6px; +} +#rightMenu .rightMenu-line .rightMenu-item { + margin: 0.25rem 0; + padding: 0.25rem 0; +} +#rightMenu .rightMenu-group.rightMenu-line .rightMenu-item { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + padding: 8px; +} +#rightMenu .rightMenu-group .rightMenu-item:hover { + background-color: var(--anzhiyu-main); + color: var(--anzhiyu-white); + -webkit-box-shadow: var(--anzhiyu-shadow-theme); + box-shadow: var(--anzhiyu-shadow-theme); +} +#rightMenu .rightMenu-group .rightMenu-item i { + display: inline-block; + text-align: center; + line-height: 1.5rem; + width: 1.5rem; + padding: 0 0.25rem; + font-size: 1.1rem; +} +#rightMenu .rightMenu-line .rightMenu-item i { + margin: 0 0.5rem 0 0.25rem; +} +#rightMenu .rightMenu-group .rightMenu-item span { + line-height: 1.5rem; +} +#rightmenu-mask { + position: fixed; + width: 100vw; + height: 100vh; + background: none; +/* background: var(--anzhiyu-maskbg); */ + top: 0; + left: 0; + display: none; + z-index: 10001; + margin: 0 !important; +} +@media screen and (max-width: 768px) { + :root { + --style-border: 1px solid var(--anzhiyu-card-border); + --style-border-hover: 1px solid var(--anzhiyu-theme); + } +} +#rightside { + position: fixed; + right: -48px; + bottom: 100px; + z-index: 100; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -o-transition: all 0.5s; + -ms-transition: all 0.5s; + transition: all 0.5s; +} +@media screen and (max-width: 768px) { + #rightside #switch-commentBarrage { + display: none; + } +} +#rightside i { + font-size: 1rem; +} +#rightside #rightside-config-hide { + height: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: -webkit-transform 0.4s; + -moz-transition: -moz-transform 0.4s; + -o-transition: -o-transform 0.4s; + -ms-transition: -ms-transform 0.4s; + transition: transform 0.4s; + -webkit-transform: translate(45px, 0); + -moz-transform: translate(45px, 0); + -o-transform: translate(45px, 0); + -ms-transform: translate(45px, 0); + transform: translate(45px, 0); +} +#rightside #rightside-config-hide.show { + height: auto; + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translate(0, 0); + -moz-transform: translate(0, 0); + -o-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); +} +#rightside #rightside-config-hide.status { + height: auto; + opacity: 1; + -ms-filter: none; + filter: none; +} +#rightside > div > button, +#rightside > div > a { + display: block; + margin-bottom: 5px; + width: 35px; + height: 35px; + border-radius: 5px; + background-color: var(--btn-bg); + color: var(--btn-color); + text-align: center; + font-size: 16px; + line-height: 35px; +} +#rightside > div > button:hover, +#rightside > div > a:hover { + background-color: var(--btn-hover-color); +} +#rightside #mobile-toc-button { + display: none; +} +@media screen and (max-width: 900px) { + #rightside #mobile-toc-button { + display: block; + } +} +@media screen and (max-width: 900px) { + #rightside #hide-aside-btn { + display: none; + } +} +#keyboard-tips { + position: fixed; + top: 80px; + left: 20px; + z-index: 999; + background: var(--anzhiyu-maskbgdeep); + border-radius: 12px; + border: var(--style-border); + padding: 20px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + backdrop-filter: saturate(180%) blur(20px); + -webkit-backdrop-filter: blur(20px); + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -o-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + pointer-events: none; + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +@media screen and (max-width: 768px) { + #keyboard-tips { + display: none !important; + } +} +#keyboard-tips.show { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transition: 0.1s; + -moz-transition: 0.1s; + -o-transition: 0.1s; + -ms-transition: 0.1s; + transition: 0.1s; +} +#keyboard-tips .keyboardTitle { + font-size: 12px; + color: var(--anzhiyu-secondtext); + line-height: 1; +} +#keyboard-tips .keybordList { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + margin-top: 8px; +} +#keyboard-tips .keybordItem { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + margin-top: 4px; +} +#keyboard-tips .keyGroup { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + width: 90px; +} +#keyboard-tips .keyGroup .key { + padding: 0.2em 0.4em; + font-family: inherit; + background-color: var(--anzhiyu-card-bg); + color: var(--anzhiyu-fontcolor); + border: var(--style-border); + border-color: var(--anzhiyu-secondtext); + border-bottom: 2px solid var(--anzhiyu-secondtext); + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + border-radius: 0.25rem; + overflow-wrap: break-word; + overflow-x: auto; + font-weight: 500; + font-size: 0.875em; + margin-right: 4px; + vertical-align: baseline; + line-height: 1; + height: 24px; +} +#menu-mask { + position: fixed; + z-index: 102; + display: none; + width: 100%; + height: 100%; + background: var(--anzhiyu-maskbg); + backdrop-filter: saturate(180%) blur(20px); + -webkit-backdrop-filter: blur(20px); + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -o-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + -webkit-animation: 0.6s ease 0s 1 normal none running to_show; + -moz-animation: 0.6s ease 0s 1 normal none running to_show; + -o-animation: 0.6s ease 0s 1 normal none running to_show; + -ms-animation: 0.6s ease 0s 1 normal none running to_show; + animation: 0.6s ease 0s 1 normal none running to_show; + -webkit-transform-style: preserve-3d; +} +#sidebar { + position: absolute; + top: 0; +} +#sidebar #sidebar-menus { + position: fixed; + top: 0; + right: -300px; + z-index: 103; + overflow: hidden auto; + width: 300px; + height: 100%; + background: var(--anzhiyu-background); + -webkit-transition: all 0.5s ease 0s; + -moz-transition: all 0.5s ease 0s; + -o-transition: all 0.5s ease 0s; + -ms-transition: all 0.5s ease 0s; + transition: all 0.5s ease 0s; + padding-top: 30px; + border-left: var(--style-border-always); +} +#sidebar #sidebar-menus .sidebar-menu-item a.menu-child span { + margin-left: 10px; +} +#sidebar #sidebar-menus .back-menu-list-groups { + padding: 0 16px; +} +#sidebar #sidebar-menus .back-menu-list-groups .back-menu-list-title { + font-size: 12px; + color: var(--anzhiyu-secondtext); +} +#sidebar #sidebar-menus .back-menu-list-groups .back-menu-list { + width: calc(100% + 16px); + -webkit-box-pack: start; + -moz-box-pack: start; + -o-box-pack: start; + -ms-flex-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; + margin: 0 -8px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} +#sidebar #sidebar-menus .back-menu-list-groups .back-menu-list .back-menu-item { + width: calc(50% - 16px); + background: var(--anzhiyu-card-bg); + border: var(--style-border-always); + border-radius: 8px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + margin: 4px 8px; + padding: 4px 8px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#sidebar #sidebar-menus .sidebar-menu-item { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + padding: 0 16px; + margin-bottom: 6px; +} +#sidebar #sidebar-menus .sidebar-menu-item a.darkmode_switchbutton { + padding: 4px 8px; + cursor: pointer; + margin: 0; + font-size: 0.9rem; + color: var(--anzhiyu-fontcolor); + width: 100%; + background: var(--anzhiyu-card-bg); + border-radius: 8px; + border: var(--style-border-always); + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + font-size: 14px; +} +#sidebar #sidebar-menus span.sidebar-menu-item-title { + font-size: 12px; + color: var(--anzhiyu-secondtext); + margin-left: 16px; +} +#sidebar #sidebar-menus .card-tag-cloud { + padding: 0 11px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-bottom: 60px; +} +#sidebar #sidebar-menus .card-tag-cloud a { + color: var(--anzhiyu-fontcolor); + padding: 2px 8px 2px 12px; + margin: 4px; + border-radius: 8px; + border: var(--style-border-always); + background: var(--anzhiyu-card-bg); +} +#sidebar #sidebar-menus .card-tag-cloud a sup { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + margin-left: 4px; +} +#sidebar #sidebar-menus.open { + -webkit-transform: translate3d(-100%, 0, 0); + -moz-transform: translate3d(-100%, 0, 0); + -o-transform: translate3d(-100%, 0, 0); + -ms-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} +#sidebar #sidebar-menus .sidebar-site-data { + padding: 0 10px; +} +#sidebar #sidebar-menus hr { + margin: 20px auto; +} +#sidebar #sidebar-menus .menus_items { + padding: 0 10px; +} +#sidebar #sidebar-menus .menus_items .site-page { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + font-size: 12px; + position: relative; + padding-left: 0.3rem; + color: var(--anzhiyu-fontcolor); +} +#sidebar #sidebar-menus .menus_items .site-page i:first-child { + width: 15%; + text-align: left; + max-height: 20px; + font-size: 16px; +} +#sidebar #sidebar-menus .menus_items .site-page.group > i:last-child { + position: absolute; + top: 0.78em; + right: 18px; + -webkit-transition: -webkit-transform 0.3s; + -moz-transition: -moz-transform 0.3s; + -o-transition: -o-transform 0.3s; + -ms-transition: -ms-transform 0.3s; + transition: transform 0.3s; +} +#sidebar #sidebar-menus .menus_items .site-page.group.hide > i:last-child { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +#sidebar #sidebar-menus .menus_items .site-page.group.hide + .menus_item_child { + display: none; +} +#sidebar #sidebar-menus .menus_items .menus_item_child { + margin: 0; + list-style: none; +} +#sidebar #sidebar-menus .menus_items .menus_item_child .site-page.child { + background: var(--anzhiyu-card-bg); +} +#aside-content .card-tag-cloud a { + border-radius: var(--anzhiyu-border-radius); + display: inline-block; + margin-right: 4px; +} +#aside-content .card-tag-cloud a:hover { + background: var(--anzhiyu-theme); + color: var(--anzhiyu-white) !important; + -webkit-box-shadow: var(--anzhiyu-shadow-theme); + box-shadow: var(--anzhiyu-shadow-theme); +} +@media screen and (min-width: 1200px) { + #aside-content .card-tag-cloud a:active { + -webkit-transform: scale(0.97); + -moz-transform: scale(0.97); + -o-transform: scale(0.97); + -ms-transform: scale(0.97); + transform: scale(0.97); + } +} +#aside-content .card-tag-cloud a sup { + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + margin-left: 2px; +} +span.card-archive-list-count { + width: auto; + text-align: left; + font-size: 1.5rem; + line-height: 0.9; + font-weight: 700; +} +.card-archive-list-count-group { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-align: baseline; + -moz-box-align: baseline; + -o-box-align: baseline; + -ms-flex-align: baseline; + -webkit-align-items: baseline; + align-items: baseline; +} +#aside-content .card-archives ul.card-archive-list > .card-archive-list-item a span:last-child, +#aside-content .card-categories ul.card-category-list > .card-category-list-item a span:last-child { + width: fit-content; + margin-left: 4px; +} +span.card-archive-list-count { + width: auto; + text-align: left; + font-size: 1.1rem; + line-height: 0.9; + font-weight: 700; +} +.card-archive-list-date, +span.card-category-list-name { + font-size: 13px; + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); +} +li.card-archive-list-item, +li.card-category-list-item { + width: 100%; + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + box-flex: 1; + -webkit-flex: 0 0 48%; + -ms-flex: 0 0 48%; + flex: 0 0 48%; +} +#aside-content .card-archives ul.card-archive-list > .card-archive-list-item a:hover, +#aside-content .card-categories ul.card-category-list > .card-category-list-item a:hover { + color: var(--anzhiyu-white); + background-color: var(--anzhiyu-theme); + border-radius: var(--anzhiyu-border-radius); + border: 1px solid transparent; +} +@media screen and (min-width: 1200px) { + #aside-content .card-archives ul.card-archive-list > .card-archive-list-item a:active, + #aside-content .card-categories ul.card-category-list > .card-category-list-item a:active { + -webkit-transform: scale(0.97); + -moz-transform: scale(0.97); + -o-transform: scale(0.97); + -ms-transform: scale(0.97); + transform: scale(0.97); + } +} +#aside-content .card-archives ul.card-archive-list > .card-archive-list-item a, +#aside-content .card-categories ul.card-category-list > .card-category-list-item a { + border-radius: var(--anzhiyu-border-radius); + margin: 4px 0; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-line-pack: justify; + -webkit-align-content: space-between; + align-content: space-between; + border: var(--style-border); +} +#aside-content .card-archives ul.card-archive-list > .card-archive-list-item a span:first-child, +#aside-content .card-categories ul.card-category-list > .card-category-list-item a span:first-child { + width: auto; + -webkit-box-flex: inherit; + -moz-box-flex: inherit; + -o-box-flex: inherit; + box-flex: inherit; + -webkit-flex: inherit; + -ms-flex: inherit; + flex: inherit; +} +#aside-content .card-archives ul.card-archive-list, +#aside-content .card-categories ul.card-category-list { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} +#aside-content .card-info #card-info-btn { + border-radius: var(--anzhiyu-border-radius); +} +#aside-content .aside-list > .aside-list-item .content > time { + display: none; +} +#aside-content .aside-list > .aside-list-item .content > .title { + -webkit-line-clamp: 3; + font-weight: 700; + padding: 2px 0; + width: 100%; + height: 100%; + display: -webkit-box; +} +#aside-content .aside-list > .aside-list-item { + padding: 8px; + padding-top: 6px !important; + padding-bottom: 6px !important; + border-radius: 12px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + margin: 6px 0; + cursor: pointer; +} +@media screen and (min-width: 1200px) { + #aside-content .aside-list > .aside-list-item:hover { + -webkit-transform: scale(1.03); + -moz-transform: scale(1.03); + -o-transform: scale(1.03); + -ms-transform: scale(1.03); + transform: scale(1.03); + } + #aside-content .aside-list > .aside-list-item:active { + -webkit-transform: scale(0.97); + -moz-transform: scale(0.97); + -o-transform: scale(0.97); + -ms-transform: scale(0.97); + transform: scale(0.97); + } +} +#aside-content .aside-list > .aside-list-item:hover .thumbnail > img { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); +} +#aside-content .aside-list > .aside-list-item:not(:last-child) { + border-bottom: 0 dashed var(--anzhiyu-background) !important; +} +#aside-content .aside-list > .aside-list-item .thumbnail { + border-radius: var(--anzhiyu-border-radius); + border: var(--style-border); +} +#aside-content .aside-list > .aside-list-item:hover { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + -webkit-box-shadow: var(--anzhiyu-shadow-main); + box-shadow: var(--anzhiyu-shadow-main); +} +#aside-content .aside-list > .aside-list-item:hover a { + color: var(--anzhiyu-white) !important; +} +.card-widget.card-recent-post { + padding: 0.4rem 1rem !important; +} +#aside-content #card-toc .toc-content .toc-link.active { + border-radius: var(--anzhiyu-border-radius); +} +#aside-content #card-toc .toc-content { + overflow-y: auto; +} +#aside-content #card-toc span.toc-number { + display: none; +} +#aside-content #card-toc .toc-content .toc-link.active { + line-height: 1.2; + border-radius: 12px; + border-left-color: var(--anzhiyu-hovertext); + background-color: var(--anzhiyu-card-bg); + color: var(--anzhiyu-lighttext); + font-weight: 700; + font-size: 20px; +} +[data-theme="dark"].toc .toc-item.active .toc-link .toc-text { + color: var(--anzhiyu-white); +} +#aside-content #card-toc .toc-content .toc-item.active .toc-link { + opacity: 1; + -ms-filter: none; + filter: none; + border-radius: 8px; +} +#aside-content #card-toc .toc-content .toc-link { + line-height: 1.2; + padding: 8px; + border-left: 0 solid transparent; + border-radius: 12px; + color: var(--anzhiyu-secondtext); + cursor: default; +} +#aside-content #card-toc .toc-content .toc-link:not(.active) span { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + cursor: pointer; + filter: blur(1px); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#aside-content #card-toc:hover .toc-content .toc-link:not(.active) span { + filter: blur(0); + opacity: 1; + -ms-filter: none; + filter: none; +} +#aside-content #card-toc .toc-content .toc-link:not(.active) span:hover { + color: var(--anzhiyu-lighttext); +} +.site-data > a .headline, +.site-data > a .length-num { + color: var(--anzhiyu-white); +} +#sidebar-menus.open .site-data > a .headline, +#sidebar-menus.open .site-data > a .length-num { + color: var(--anzhiyu-fontcolor); +} +@media screen and (min-width: 900px) { + #aside-content .sticky_layout { + top: 60px; + } + .post #aside-content .sticky_layout { + top: 80px; + } +} +@media screen and (min-width: 900px) { + #aside-content .card-archives ul.card-archive-list > .card-archive-list-item a, + #aside-content .card-categories ul.card-category-list > .card-category-list-item a { + padding: 3px 10px; + } +} +#aside-content .card-widget { + border-radius: 12px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#aside-content .card-widget { + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + background: var(--anzhiyu-card-bg); + border: var(--style-border); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#aside-content hr { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + position: relative; + margin: 1rem 0; + border: 1px dashed var(--anzhiyu-theme-op); +} +#aside-content hr:before { + content: none; +} +#article-container hr:before { + content: none; +} +@media screen and (max-width: 768px) { + #anMusic-page-meting .aplayer.aplayer-withlist .aplayer-list { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +#body-wrap.open { + -webkit-transition-property: -webkit-transform, border-radius; + -moz-transition-property: -moz-transform, border-radius; + -o-transition-property: -o-transform, border-radius; + -ms-transition-property: -ms-transform, border-radius; + transition-property: transform, border-radius; + -webkit-transition-duration: 0ms; + -moz-transition-duration: 0ms; + -o-transition-duration: 0ms; + -ms-transition-duration: 0ms; + transition-duration: 0ms; + -webkit-transform-origin: 0 46%; + -moz-transform-origin: 0 46%; + -o-transform-origin: 0 46%; + -ms-transform-origin: 0 46%; + transform-origin: 0 46%; + -webkit-transform: translate3d(300px, 0px, 0px) scale3d(0.86, 0.86, 1); + -moz-transform: translate3d(300px, 0px, 0px) scale3d(0.86, 0.86, 1); + -o-transform: translate3d(300px, 0px, 0px) scale3d(0.86, 0.86, 1); + -ms-transform: translate3d(300px, 0px, 0px) scale3d(0.86, 0.86, 1); + transform: translate3d(300px, 0px, 0px) scale3d(0.86, 0.86, 1); + border-radius: 12px; + -webkit-transition: 0.3s ease-out; + -moz-transition: 0.3s ease-out; + -o-transition: 0.3s ease-out; + -ms-transition: 0.3s ease-out; + transition: 0.3s ease-out; + z-index: 2; +} +#body-wrap.open #menu-mask { + display: block; +} +#body-wrap.open #post-top-cover { + display: none; + overflow-y: overlay; + -webkit-transition: 0s; + -moz-transition: 0s; + -o-transition: 0s; + -ms-transition: 0s; + transition: 0s; + border-radius: 12px; +} +#body-wrap.open #anMusic-page-meting .aplayer.aplayer-withlist .aplayer-list { + display: none; +} +#vcomment { + font-size: 1.1em; +} +#vcomment .vbtn { + border: none; + background: var(--btn-bg); + color: var(--btn-color); +} +#vcomment .vbtn:hover { + background: var(--btn-hover-color); +} +#vcomment .vimg { + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; +} +#vcomment .vimg:hover { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); +} +#vcomment .vcards .vcard .vcontent.expand:before, +#vcomment .vcards .vcard .vcontent.expand:after { + z-index: 22; +} +#waline-wrap { + --waline-font-size: 1.1em; + --waline-theme-color: var(--anzhiyu-main); + --waline-active-color: #ff7242; +} +#waline-wrap .vuser { + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -o-transition: all 0.5s; + -ms-transition: all 0.5s; + transition: all 0.5s; +} +#waline-wrap .vuser:hover { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); +} +#vcomment textarea { + background: url("/img/comment_bg.png") 100% 100% no-repeat; +} +#vcomment textarea:focus { + background-image: none; +} +.fireworks { + position: fixed; + top: 0; + left: 0; + z-index: 9999; + pointer-events: none; +} +.medium-zoom-image--opened { + z-index: 99999 !important; + margin: 0 !important; +} +.medium-zoom-overlay { + z-index: 99999 !important; +} +.mermaid-wrap { + margin: 0 0 20px; + text-align: center; +} +.mermaid-wrap > svg { + height: 100%; +} +.fb-comments iframe { + width: 100% !important; +} +.katex-wrap { + overflow: auto; +} +.katex-wrap::-webkit-scrollbar { + display: none; +} +mjx-container[display], +.has-jax { + overflow-x: auto; + overflow-y: hidden; + line-height: normal !important; +} +.aplayer { + color: #4c4948; +} +#article-container .aplayer { + margin: 0 0 20px; +} +#article-container .aplayer ol, +#article-container .aplayer ul { + margin: 0; + padding: 0; +} +#article-container .aplayer ol li, +#article-container .aplayer ul li { + margin: 0; + padding: 0 15px; +} +#article-container .aplayer ol li:before, +#article-container .aplayer ul li:before { + content: none; +} +.snackbar-css { + border-radius: 5px !important; +} +.bilibili_box { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + background: var(--card-bg); + border: var(--style-border); + border-radius: 12px !important; + overflow: hidden; + color: var(--font-color) !important; + text-decoration: none !important; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + border-bottom: var(--style-border) !important; + padding: 0 !important; + height: 143px; +} +.bilibili_box:hover { + border-color: var(--anzhiyu-main) !important; + color: var(--anzhiyu-white) !important; +} +.bilibili_box:hover .bilibili_info .stat svg path { + fill: var(--anzhiyu-white) !important; +} +@media screen and (max-width: 768px) { + .bilibili_box { + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + } +} +.bilibili_box .bilibili_cover { + width: 234px; + position: relative; +} +@media screen and (max-width: 768px) { + .bilibili_box .bilibili_cover { + width: 100%; + } +} +.bilibili_box .bilibili_cover img { + width: 100%; + filter: none; + margin: 0 !important; + border-radius: 0 !important; +} +.bilibili_box .bilibili_cover .play_icon { + position: absolute; + width: 45px; + height: 45px; + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + -moz-transform: translate(-50%, -50%); + -o-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} +.bilibili_box .bilibili_cover span { + position: absolute; + bottom: 0px; + right: 5px; + color: var(--anzhiyu-white); +} +.bilibili_box .bilibili_info { + padding: 10px 10px 10px 18px; + line-height: 1; + width: calc(100% - 200px); + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: distribute; + -moz-box-pack: distribute; + -o-box-pack: distribute; + -ms-flex-pack: distribute; + -webkit-justify-content: space-around; + justify-content: space-around; +} +@media screen and (max-width: 768px) { + .bilibili_box .bilibili_info { + width: 100%; + padding-bottom: 25px; + line-height: 1.5; + } +} +.bilibili_box .bilibili_info .title { + font-size: 1.2rem; + font-weight: bold; + white-space: nowrap; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + line-height: 1.5; +} +.bilibili_box .bilibili_info .desc { + font-size: 15px; + margin: 2px 0 4px; + white-space: nowrap; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; +} +@media screen and (max-width: 768px) { + .bilibili_box .bilibili_info .desc { + white-space: normal; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + } +} +.bilibili_box .bilibili_info .stat { + font-size: 15px; +} +.bilibili_box .bilibili_info .stat svg { + margin-right: 3px; + font-size: 18px; + width: 1em; + height: 1em; +} +.bilibili_box .bilibili_info .stat svg path { + fill: var(--font-color); +} +.bilibili_box .bilibili_info .stat span { + margin-right: 10px; + display: -webkit-inline-box; + display: -moz-inline-box; + display: -webkit-inline-flex; + display: -ms-inline-flexbox; + display: inline-box; + display: inline-flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +.bilibili_box .bilibili_info .owner { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + line-height: 1; + font-size: 15px; +} +.bilibili_box .bilibili_info .owner .tip { + color: #f69; + border: 1px solid; + padding: 3px 6px; + font-size: 12px; + border-radius: 5px; + margin: 0 10px 0 0; + background: none; + -webkit-box-shadow: none; + box-shadow: none; +} +.bilibili_box .bilibili_info .owner img { + width: 22px; + height: 22px; + border-radius: 50% !important; + object-fit: cover; + margin: 0 5px 0 0 !important; +} +[data-theme='light'] .bilibili_box .bilibili_info .stat svg, +[data-theme='dark'] .bilibili_cover { + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); +} +[data-theme="dark"] div.btns { + filter: brightness(0.7); +} +[data-theme="dark"] div.btns a { + background: 0 0; +} +div.btns { + margin: 0 -8px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: start; + -moz-box-align: start; + -o-box-align: start; + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; + overflow: visible; + line-height: 1.8; +} +div.btns b { + font-size: 0.875rem; +} +div.btns.wide > a { + padding-left: 32px; + padding-right: 32px; +} +div.btns.fill > a { + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + -ms-box-flex: 1; + box-flex: 1; + -webkit-flex-grow: 1; + flex-grow: 1; + width: auto; +} +div.btns.around { + -webkit-box-pack: distribute; + -moz-box-pack: distribute; + -o-box-pack: distribute; + -ms-flex-pack: distribute; + -webkit-justify-content: space-around; + justify-content: space-around; +} +div.btns.center { + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +div.btns.grid2 > a { + width: calc(100% / 2 - 16px); +} +div.btns.grid3 > a { + width: calc(100% / 3 - 16px); +} +div.btns.grid4 > a { + width: calc(100% / 4 - 16px); +} +div.btns.grid5 > a { + width: calc(100% / 5 - 16px); +} +div.btns a { + -webkit-transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -o-transition: all 0.28s ease; + -ms-transition: all 0.28s ease; + transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -webkit-transition: all 0.28s ease; + -o-transition: all 0.28s ease; + margin: 8px; + margin-top: calc(1.25 * 16px + 32px); + min-width: 120px; + font-weight: bold; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: start; + -moz-box-pack: start; + -o-box-pack: start; + -ms-flex-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-line-pack: center; + -webkit-align-content: center; + align-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + padding: 8px; + text-align: center; + background: #f6f6f6; + border-radius: 4px; +} +div.btns a > i { + background: #2196f3 !important; +} +div.btns a > i:first-child { + color: #fff; + background: #2196f3; +} +div.btns a b { + font-weight: bold; + line-height: 1.3; +} +div.btns a img { + margin: 0.4em auto !important; +} +div.btns a:not([href]) { + cursor: default; + color: inherit; +} +div.btns a[href]:hover { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white) !important; +} +div.btns a[href]:hover > i:first-child { + background: var(--anzhiyu-main); +} +div.btns, +div.btns p, +div.btns a { + font-size: 0.8125rem; + color: #555; +} +@media screen and (max-width: 1200px) { + div.btns.grid2 > a { + width: calc(100% / 2 - 16px); + } +} +@media screen and (max-width: 768px) { + div.btns.grid2 > a { + width: calc(100% / 2 - 16px); + } +} +@media screen and (max-width: 500px) { + div.btns.grid2 > a { + width: calc(100% / 1 - 16px); + } +} +@media screen and (max-width: 1200px) { + div.btns.grid3 > a { + width: calc(100% / 3 - 16px); + } +} +@media screen and (max-width: 768px) { + div.btns.grid3 > a { + width: calc(100% / 3 - 16px); + } +} +@media screen and (max-width: 500px) { + div.btns.grid3 > a { + width: calc(100% / 1 - 16px); + } +} +@media screen and (max-width: 1200px) { + div.btns.grid4 > a { + width: calc(100% / 3 - 16px); + } +} +@media screen and (max-width: 768px) { + div.btns.grid4 > a { + width: calc(100% / 3 - 16px); + } +} +@media screen and (max-width: 500px) { + div.btns.grid4 > a { + width: calc(100% / 2 - 16px); + } +} +@media screen and (max-width: 1200px) { + div.btns.grid5 > a { + width: calc(100% / 4 - 16px); + } +} +@media screen and (max-width: 768px) { + div.btns.grid5 > a { + width: calc(100% / 3 - 16px); + } +} +@media screen and (max-width: 500px) { + div.btns.grid5 > a { + width: calc(100% / 2 - 16px); + } +} +div.btns a > img:first-child, +div.btns a > i:first-child { + -webkit-transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -o-transition: all 0.28s ease; + -ms-transition: all 0.28s ease; + transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -webkit-transition: all 0.28s ease; + -o-transition: all 0.28s ease; + height: 64px; + width: 64px; + -webkit-box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1); + box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1); + margin: 16px 8px 4px 8px; + margin-top: calc(-1.25 * 16px - 32px); + border: 2px solid #fff; + background: #fff; + line-height: 60px; + font-size: 28px; +} +div.btns a > img:first-child.auto, +div.btns a > i:first-child.auto { + width: auto; +} +div.btns a p, +div.btns a b { + margin: 0.25em; + font-weight: normal; + line-height: 1.25; + word-wrap: break-word; +} +div.btns a[href]:hover, +div.btns a[href]:hover b { + color: #ff5722; +} +div.btns a[href]:hover > img:first-child, +div.btns a[href]:hover > i:first-child { + -webkit-transform: scale(1.1) translateY(-8px); + -moz-transform: scale(1.1) translateY(-8px); + -o-transform: scale(1.1) translateY(-8px); + -ms-transform: scale(1.1) translateY(-8px); + transform: scale(1.1) translateY(-8px); + -webkit-box-shadow: 0 4px 8px 0 rgba(0,0,0,0.1); + box-shadow: 0 4px 8px 0 rgba(0,0,0,0.1); +} +div.btns.circle a > img:first-child, +div.btns.circle a > i:first-child { + border-radius: 32px; +} +div.btns.rounded a > img:first-child, +div.btns.rounded a > i:first-child { + border-radius: 16px; +} +#article-container .btn-center { + margin: 0 0 20px; + text-align: center; +} +#article-container .btn-anzhiyu { + display: inline-block; + margin: 0 4px 6px; + padding: 0 15px; + background-color: var(--btn-anzhiyu-color, #2323ef); + color: #fff; + line-height: 2; + border-radius: 8px; +} +#article-container .btn-anzhiyu.blue { + --btn-anzhiyu-color: #428bca; +} +#article-container .btn-anzhiyu.pink { + --btn-anzhiyu-color: #ff69b4; +} +#article-container .btn-anzhiyu.red { + --btn-anzhiyu-color: #f00; +} +#article-container .btn-anzhiyu.purple { + --btn-anzhiyu-color: #6f42c1; +} +#article-container .btn-anzhiyu.orange { + --btn-anzhiyu-color: #ff8c00; +} +#article-container .btn-anzhiyu.green { + --btn-anzhiyu-color: #5cb85c; +} +#article-container .btn-anzhiyu:hover { + background-color: var(--btn-hover-color); +} +#article-container .btn-anzhiyu i + span { + margin-left: 6px; +} +#article-container .btn-anzhiyu:not(.block) + .btn-anzhiyu:not(.block) { + margin: 0 4px 20px; +} +#article-container .btn-anzhiyu.block { + display: block; + margin: 0 0 20px; + width: fit-content; + width: -moz-fit-content; +} +#article-container .btn-anzhiyu.block.center { + margin: 0 auto 20px; +} +#article-container .btn-anzhiyu.block.right { + margin: 0 0 20px auto; +} +#article-container .btn-anzhiyu.larger { + padding: 6px 15px; +} +#article-container .btn-anzhiyu:hover { + text-decoration: none; +} +#article-container .btn-anzhiyu.outline { + border: 1px solid transparent; + border-color: var(--btn-anzhiyu-color, #2323ef); + background-color: transparent; + color: var(--btn-anzhiyu-color, #2323ef); +} +#article-container .btn-anzhiyu.outline:hover { + background-color: var(--btn-anzhiyu-color, #2323ef); +} +#article-container .btn-anzhiyu.outline:hover { + color: #fff !important; +} +.checkbox { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +.checkbox input { + -webkit-appearance: none; + -moz-appearance: none; + -ms-appearance: none; + -o-appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + position: relative; + height: 16px; + width: 16px; + -webkit-transition: all 0.15s ease-out 0s; + -moz-transition: all 0.15s ease-out 0s; + -o-transition: all 0.15s ease-out 0s; + -ms-transition: all 0.15s ease-out 0s; + transition: all 0.15s ease-out 0s; + cursor: pointer; + display: inline-block; + outline: none; + border-radius: 2px; + -webkit-flex-shrink: 0; + flex-shrink: 0; + margin-right: 8px; + border: 2px solid #2196f3; + pointer-events: none; +} +.checkbox input[type="checkbox"]:before { + left: 1px; + top: 5px; + width: 0; + height: 2px; + -webkit-transition: all 0.2s ease-in; + -moz-transition: all 0.2s ease-in; + -o-transition: all 0.2s ease-in; + -ms-transition: all 0.2s ease-in; + transition: all 0.2s ease-in; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -o-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); +} +.checkbox input[type="checkbox"]:after { + right: 7px; + bottom: 3px; + width: 2px; + height: 0; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + -o-transition: all 0.2s ease-out; + -ms-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + -webkit-transform: rotate(40deg); + -moz-transform: rotate(40deg); + -o-transform: rotate(40deg); + -ms-transform: rotate(40deg); + transform: rotate(40deg); + -webkit-transform: rotate(40deg); + -moz-transform: rotate(40deg); + -ms-transform: rotate(40deg); + -o-transform: rotate(40deg); + -webkit-transition-delay: 0.25s; + -moz-transition-delay: 0.25s; + -o-transition-delay: 0.25s; + -ms-transition-delay: 0.25s; + transition-delay: 0.25s; +} +.checkbox input[type="checkbox"]:checked { + background: #2196f3; +} +.checkbox input[type="checkbox"]:checked:before { + left: 0; + top: 7px; + width: 6px; + height: 2px; +} +.checkbox input[type="checkbox"]:checked:after { + right: 3px; + bottom: 1px; + width: 2px; + height: 10px; +} +.checkbox.minus input[type="checkbox"]:before { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + left: 1px; + top: 5px; + width: 0; + height: 2px; +} +.checkbox.minus input[type="checkbox"]:after { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + left: 1px; + top: 5px; + width: 0; + height: 2px; +} +.checkbox.minus input[type="checkbox"]:checked:before { + left: 1px; + top: 5px; + width: 10px; + height: 2px; +} +.checkbox.minus input[type="checkbox"]:checked:after { + left: 1px; + top: 5px; + width: 10px; + height: 2px; +} +.checkbox.plus input[type="checkbox"]:before { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + left: 1px; + top: 5px; + width: 0; + height: 2px; +} +.checkbox.plus input[type="checkbox"]:after { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + left: 5px; + top: 1px; + width: 2px; + height: 0; +} +.checkbox.plus input[type="checkbox"]:checked:before { + left: 1px; + top: 5px; + width: 10px; + height: 2px; +} +.checkbox.plus input[type="checkbox"]:checked:after { + left: 5px; + top: 1px; + width: 2px; + height: 10px; +} +.checkbox.times input[type="checkbox"]:before { + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -o-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + left: 3px; + top: 1px; + width: 0; + height: 2px; +} +.checkbox.times input[type="checkbox"]:after { + -webkit-transform: rotate(135deg); + -moz-transform: rotate(135deg); + -o-transform: rotate(135deg); + -ms-transform: rotate(135deg); + transform: rotate(135deg); + right: 3px; + top: 1px; + width: 0; + height: 2px; +} +.checkbox.times input[type="checkbox"]:checked:before { + left: 1px; + top: 5px; + width: 10px; + height: 2px; +} +.checkbox.times input[type="checkbox"]:checked:after { + right: 1px; + top: 5px; + width: 10px; + height: 2px; +} +.checkbox input[type="radio"] { + border-radius: 50%; +} +.checkbox input[type="radio"]:before { + content: ""; + display: block; + width: 8px; + height: 8px; + border-radius: 50%; + margin: 2px; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); + -webkit-transition: all 0.25s ease-out; + -moz-transition: all 0.25s ease-out; + -o-transition: all 0.25s ease-out; + -ms-transition: all 0.25s ease-out; + transition: all 0.25s ease-out; +} +.checkbox input[type="radio"]:checked:before { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + background: var(--text-bg-hover); +} +.checkbox.red input { + border-color: #fe5f58; +} +.checkbox.red input[type="checkbox"]:checked { + background: #fe5f58; +} +.checkbox.red input[type="radio"]:checked:before { + background: #fe5f58; +} +.checkbox.green input { + border-color: #3dc550; +} +.checkbox.green input[type="checkbox"]:checked { + background: #3dc550; +} +.checkbox.green input[type="radio"]:checked:before { + background: #3dc550; +} +.checkbox.yellow input { + border-color: #ffbd2b; +} +.checkbox.yellow input[type="checkbox"]:checked { + background: #ffbd2b; +} +.checkbox.yellow input[type="radio"]:checked:before { + background: #ffbd2b; +} +.checkbox.cyan input { + border-color: #1bcdfc; +} +.checkbox.cyan input[type="checkbox"]:checked { + background: #1bcdfc; +} +.checkbox.cyan input[type="radio"]:checked:before { + background: #1bcdfc; +} +.checkbox.blue input { + border-color: #2196f3; +} +.checkbox.blue input[type="checkbox"]:checked { + background: #2196f3; +} +.checkbox.blue input[type="radio"]:checked:before { + background: #2196f3; +} +.checkbox p { + display: inline-block; + margin-top: 2px !important; + margin-bottom: 0 !important; +} +.checkbox input[type="checkbox"]:before, +.checkbox input[type="checkbox"]:after { + position: absolute; + content: ""; + background: #fff; +} +details[open]:not(.tk-admin-config-group) { + background: var(--anzhiyu-card-bg); +} +[data-theme="dark"] details.folding-tag { + background: transparent; +} +details.folding-tag { + display: block; + padding: 16px; + margin: 1em 0; + border-radius: 4px; + font-size: var(--global-font-size); + -webkit-transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -o-transition: all 0.28s ease; + -ms-transition: all 0.28s ease; + transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -webkit-transition: all 0.28s ease; + -o-transition: all 0.28s ease; + border: 1px solid #f6f6f6; +} +details.folding-tag summary { + cursor: pointer; + padding: 16px; + margin: -16px; + border-radius: 4px; + color: rgba(68,68,68,0.7); + font-size: 0.875rem !important; + font-weight: bold; + position: relative; + line-height: normal; +} +details.folding-tag summary > p, +details.folding-tag summary > h1, +details.folding-tag summary > h2, +details.folding-tag summary > h3, +details.folding-tag summary > h4, +details.folding-tag summary > h5, +details.folding-tag summary > h6 { + display: inline; + border-bottom: none !important; +} +details.folding-tag summary:hover { + color: #444; +} +details.folding-tag summary:hover:after { + position: absolute; + content: '+'; + text-align: center; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + right: 16px; +} +details.folding-tag >summary { + background: var(--anzhiyu-card-bg); +} +details.folding-tag[purple] { + border-color: #fae7fd; +} +details.folding-tag[purple] >summary { + background: #fae7fd; +} +details.folding-tag[blue] { + border-color: #e8f4fd; +} +details.folding-tag[blue] >summary { + background: #e8f4fd; +} +details.folding-tag[cyan] { + border-color: #e8fafe; +} +details.folding-tag[cyan] >summary { + background: #e8fafe; +} +details.folding-tag[green] { + border-color: #ebf9ed; +} +details.folding-tag[green] >summary { + background: #ebf9ed; +} +details.folding-tag[yellow] { + border-color: #fff8e9; +} +details.folding-tag[yellow] >summary { + background: #fff8e9; +} +details.folding-tag[orange] { + border-color: #fdf1e7; +} +details.folding-tag[orange] >summary { + background: #fdf1e7; +} +details.folding-tag[red] { + border-color: #feefee; +} +details.folding-tag[red] >summary { + background: #feefee; +} +details.folding-tag[open] { + border-color: rgba(68,68,68,0.2); +} +details.folding-tag[open] >summary { + border-bottom: 1px solid rgba(68,68,68,0.2); + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} +details.folding-tag[open][purple] { + border-color: rgba(208,23,238,0.3); +} +details.folding-tag[open][purple] >summary { + border-bottom-color: rgba(208,23,238,0.3); +} +details.folding-tag[open][blue] { + border-color: rgba(33,150,243,0.3); +} +details.folding-tag[open][blue] >summary { + border-bottom-color: rgba(33,150,243,0.3); +} +details.folding-tag[open][cyan] { + border-color: rgba(27,205,252,0.3); +} +details.folding-tag[open][cyan] >summary { + border-bottom-color: rgba(27,205,252,0.3); +} +details.folding-tag[open][green] { + border-color: rgba(61,197,80,0.3); +} +details.folding-tag[open][green] >summary { + border-bottom-color: rgba(61,197,80,0.3); +} +details.folding-tag[open][yellow] { + border-color: rgba(255,189,43,0.3); +} +details.folding-tag[open][yellow] >summary { + border-bottom-color: rgba(255,189,43,0.3); +} +details.folding-tag[open][orange] { + border-color: rgba(236,118,22,0.3); +} +details.folding-tag[open][orange] >summary { + border-bottom-color: rgba(236,118,22,0.3); +} +details.folding-tag[open][red] { + border-color: rgba(254,95,88,0.3); +} +details.folding-tag[open][red] >summary { + border-bottom-color: rgba(254,95,88,0.3); +} +details.folding-tag[open] >summary { + color: #444; + margin-bottom: 0; +} +details.folding-tag[open] >summary:hover:after { + content: '-'; +} +details.folding-tag[open] >div.content { + padding: 16px; + margin: -16px; + margin-top: 0; +} +details.folding-tag[open] >div.content p>a:hover { + text-decoration: underline; +} +details.folding-tag[open] >div.content > p:first-child, +details.folding-tag[open] >div.content > .tabs:first-child, +details.folding-tag[open] >div.content > ul:first-child, +details.folding-tag[open] >div.content > ol:first-child, +details.folding-tag[open] >div.content > .highlight:first-child, +details.folding-tag[open] >div.content > .note:first-child, +details.folding-tag[open] >div.content > details:first-child { + margin-top: 0; +} +details.folding-tag[open] >div.content > p:last-child, +details.folding-tag[open] >div.content > .tabs:last-child, +details.folding-tag[open] >div.content > ul:last-child, +details.folding-tag[open] >div.content > ol:last-child, +details.folding-tag[open] >div.content > .highlight:last-child, +details.folding-tag[open] >div.content > .note:last-child, +details.folding-tag[open] >div.content > details:last-child { + margin-bottom: 0; +} +[data-theme="dark"] details[open] > div.content { + padding: 16px; + margin: -16px; + margin-top: 0; + background: transparent; + color: rgba(255,255,255,0.6); +} +[data-theme="dark"] details > summary { + filter: brightness(1); + background: var(--anzhiyu-card-bg) !important; +} +#content-inner figure.gallery-group { + position: relative; + float: left; + overflow: hidden; + margin: 6px 4px; + width: calc(50% - 8px); + height: 250px; + border-radius: 8px; + background: #000; + -webkit-transform: translate3d(0, 0, 0); +} +@media screen and (max-width: 600px) { + #content-inner figure.gallery-group { + width: calc(100% - 8px); + } +} +#content-inner figure.gallery-group:hover img { + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +#content-inner figure.gallery-group:hover .gallery-group-name::after { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +#content-inner figure.gallery-group:hover p { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +#content-inner figure.gallery-group img { + position: relative; + margin: 0; + max-width: none; + width: calc(100% + 20px); + height: 250px; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + backface-visibility: hidden; + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); + -webkit-transition: all 0.3s, filter 375ms ease-in 0.2s; + -moz-transition: all 0.3s, filter 375ms ease-in 0.2s; + -o-transition: all 0.3s, filter 375ms ease-in 0.2s; + -ms-transition: all 0.3s, filter 375ms ease-in 0.2s; + transition: all 0.3s, filter 375ms ease-in 0.2s; + -webkit-transform: translate3d(-10px, 0, 0); + -moz-transform: translate3d(-10px, 0, 0); + -o-transform: translate3d(-10px, 0, 0); + -ms-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + object-fit: cover; +} +#content-inner figure.gallery-group figcaption { + position: absolute; + top: 0; + left: 0; + padding: 30px; + width: 100%; + height: 100%; + color: #fff; + text-transform: uppercase; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + backface-visibility: hidden; +} +#content-inner figure.gallery-group figcaption > a { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1000; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +#content-inner figure.gallery-group p { + margin: 0; + padding: 8px 0 0; + letter-spacing: 1px; + font-size: 1.1em; + line-height: 1.5; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; + -moz-transition: opacity 0.35s, -moz-transform 0.35s; + -o-transition: opacity 0.35s, -o-transform 0.35s; + -ms-transition: opacity 0.35s, -ms-transform 0.35s; + transition: opacity 0.35s, transform 0.35s; + -webkit-transform: translate3d(100%, 0, 0); + -moz-transform: translate3d(100%, 0, 0); + -o-transform: translate3d(100%, 0, 0); + -ms-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + -webkit-line-clamp: 4; +} +#content-inner figure.gallery-group .gallery-group-name { + position: relative; + margin: 0; + padding: 8px 0; + font-weight: bold; + font-size: 1.65em; + line-height: 1.5; + -webkit-line-clamp: 2; +} +#content-inner figure.gallery-group .gallery-group-name:after { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 2px; + background: #fff; + content: ''; + -webkit-transition: -webkit-transform 0.35s; + -moz-transition: -moz-transform 0.35s; + -o-transition: -o-transform 0.35s; + -ms-transition: -ms-transform 0.35s; + transition: transform 0.35s; + -webkit-transform: translate3d(-100%, 0, 0); + -moz-transform: translate3d(-100%, 0, 0); + -o-transform: translate3d(-100%, 0, 0); + -ms-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} +#content-inner .gallery-group-main { + overflow: auto; + padding: 0 0 16px; +} +#content-inner .gallery { + margin: 0 0 16px; + text-align: center; +} +#content-inner .gallery .fj-gallery { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +#content-inner .gallery .fj-gallery .img-alt { + display: none; +} +#content-inner .gallery .fj-gallery.lazyload + button { + display: inline-block; +} +#content-inner .gallery .fj-gallery .gallery-data { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + visibility: hidden; +} +#content-inner .gallery button { + display: none; + margin-top: 25px; + padding: 10px; + width: 9em; + border-radius: 5px; + background: var(--btn-bg); + color: var(--btn-color); + font-weight: bold; + font-size: 1.1em; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; +} +#content-inner .gallery button > * { + -webkit-transition: all 0.4s; + -moz-transition: all 0.4s; + -o-transition: all 0.4s; + -ms-transition: all 0.4s; + transition: all 0.4s; +} +#content-inner .gallery button i { + opacity: 1; + -ms-filter: none; + filter: none; + font-size: 1.1rem; +} +#content-inner .gallery button:hover { + background: var(--btn-hover-color); +} +#content-inner .gallery button:hover i { + margin-left: 2px; +} +blockquote.pullquote { + position: relative; + max-width: 45%; + font-size: 110%; +} +blockquote.pullquote.left { + float: left; + margin: 1em 0.5em 0 0; +} +blockquote.pullquote.right { + float: right; + margin: 1em 0 0 0.5em; +} +.video-container { + position: relative; + overflow: hidden; + margin-bottom: 16px; + padding-top: 56.25%; + height: 0; +} +.video-container iframe { + position: absolute; + top: 0; + left: 0; + margin-top: 0; + width: 100%; + height: 100%; +} +.hide-inline > .hide-button, +.hide-block > .hide-button { + display: inline-block; + padding: 5px 18px; + background: #425aef; + color: var(--white); +} +.hide-inline > .hide-button:hover, +.hide-block > .hide-button:hover { + background-color: var(--btn-hover-color); +} +.hide-inline > .hide-button.open, +.hide-block > .hide-button.open { + display: none; +} +.hide-inline > .hide-button.open + div, +.hide-block > .hide-button.open + div { + display: block; +} +.hide-inline > .hide-button.open + span, +.hide-block > .hide-button.open + span { + display: inline; +} +.hide-inline > .hide-content, +.hide-block > .hide-content { + display: none; +} +.hide { + display: none; +} +.hide-inline > .hide-button { + margin: 0 6px; +} +.hide-inline > .hide-content { + margin: 0 6px; +} +.hide-block { + margin: 0 0 16px; +} +.toggle { + margin-bottom: 20px; + border: 1px solid #f0f0f0; +} +.toggle > .toggle-button { + padding: 6px 15px; + background: #f0f0f0; + color: #1f2d3d; + cursor: pointer; +} +.toggle > .toggle-content { + margin: 30px 24px; +} +.md .img { + object-fit: contain; +} +img.inline { + display: inline !important; + vertical-align: middle; + -webkit-transform: translateY(-4px); + -moz-transform: translateY(-4px); + -o-transform: translateY(-4px); + -ms-transform: translateY(-4px); + transform: translateY(-4px); +} +p .img-alt { + display: inline-block; + width: 100%; +} +s, +del { + color: #8e8e8e; + text-decoration-color: #8e8e8e; +} +u { + color: #444; + text-decoration: none; + border-bottom: 1px solid #fe5f58; +} +emp { + color: #444; + border-bottom: 4px dotted #fe5f58; +} +wavy { + color: #444; + text-decoration-style: wavy; + text-decoration-line: underline; + text-decoration-color: #fe5f58; +} +psw { + color: transparent; + background: #a1a1a1; + border-radius: 2px; + -webkit-transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -o-transition: all 0.28s ease; + -ms-transition: all 0.28s ease; + transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -webkit-transition: all 0.28s ease; + -o-transition: all 0.28s ease; +} +psw:hover { + color: var(--anzhiyu-font); + background: none; +} +kbd { + display: inline-block; + color: #666; + font: bold 9pt arial; + text-decoration: none; + text-align: center; + padding: 2px 5px; + margin: 0 5px; + background: #eff0f2; + -moz-border-radius: 4px; + border-radius: 4px; + border-top: 1px solid #f5f5f5; + -webkit-box-shadow: inset 0 0 20px #e8e8e8, 0 1px 0 #c3c3c3, 0 1px 0 #c9c9c9, 0 1px 2px #333; + -moz-box-shadow: inset 0 0 20px #e8e8e8, 0 1px 0 #c3c3c3, 0 1px 0 #c9c9c9, 0 1px 2px #333; + -webkit-box-shadow: inset 0 0 20px #e8e8e8, 0 1px 0 #c3c3c3, 0 1px 0 #c9c9c9, 0 1px 2px #333; + -webkit-box-shadow: inset 0 0 20px #e8e8e8, 0 1px 0 #c3c3c3, 0 1px 0 #c9c9c9, 0 1px 2px #333; + box-shadow: inset 0 0 20px #e8e8e8, 0 1px 0 #c3c3c3, 0 1px 0 #c9c9c9, 0 1px 2px #333; + text-shadow: 0 1px 0 #f5f5f5; +} +#article-container .inline-img { + display: inline; + margin: 0 3px; + height: 1.1em; + vertical-align: text-bottom; +} +.introduction-card { + position: relative; +} +.introduction-card .img-alt { + display: none; +} +.introduction-card-bottom { + background-color: transparent; + color: inherit; + -webkit-transition: background-color 0.3s ease, color 0.3s ease; + -moz-transition: background-color 0.3s ease, color 0.3s ease; + -o-transition: background-color 0.3s ease, color 0.3s ease; + -ms-transition: background-color 0.3s ease, color 0.3s ease; + transition: background-color 0.3s ease, color 0.3s ease; +} +.introduction-card:active .introduction-card-bottom { + background-color: var(--anzhiyu-main); + color: #fff; +} +.introduction-card:active .introduction-card-bottom .left .info .subTitle { + color: #fff !important; +} +.introduction-card:active .introduction-card-bottom { + -webkit-animation: resetAnimation 3s 1s forwards; + -moz-animation: resetAnimation 3s 1s forwards; + -o-animation: resetAnimation 3s 1s forwards; + -ms-animation: resetAnimation 3s 1s forwards; + animation: resetAnimation 3s 1s forwards; +} +.introduction-card { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + width: 60%; + margin: 0 auto; + border-radius: 15px; + -webkit-box-shadow: var(--anzhiyu-shadow-blackdeep); + box-shadow: var(--anzhiyu-shadow-blackdeep); + height: 520px; + -webkit-transition: all 0.3s ease 0s; + -moz-transition: all 0.3s ease 0s; + -o-transition: all 0.3s ease 0s; + -ms-transition: all 0.3s ease 0s; + transition: all 0.3s ease 0s; + cursor: pointer; +} +@media screen and (max-width: 1200px) { + .introduction-card { + width: 80%; + } +} +@media screen and (max-width: 768px) { + .introduction-card { + width: 100%; + } +} +.introduction-card:active { + -webkit-transform: scale(0.97); + -moz-transform: scale(0.97); + -o-transform: scale(0.97); + -ms-transform: scale(0.97); + transform: scale(0.97); +} +.introduction-card .introduction-card-top { + height: 80%; + width: 100%; + overflow: hidden; + border-radius: 15px 15px 0 0; + position: relative; +} +.introduction-card .introduction-card-top .int-card-info { + position: absolute; + padding: 20px; +} +.introduction-card .introduction-card-top .int-card-info .int-tip { + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); + font-size: 0.6rem; + margin-bottom: 0.5rem; + color: var(--anzhiyu-white); +} +.introduction-card .introduction-card-top .int-card-info .int-cardTitle { + font-size: 36px; + color: var(--anzhiyu-white); + font-weight: 700; + line-height: 1.1; +} +.introduction-card .introduction-card-top img { + width: 100%; + height: 100%; + border-radius: 0px !important; + margin: 0 !important; +} +.introduction-card .introduction-card-bottom { + height: 20%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + width: 100%; + border-radius: 0 0 15px 15px; +} +.introduction-card .introduction-card-bottom .left { + width: 70%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +.introduction-card .introduction-card-bottom .left .info { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.introduction-card .introduction-card-bottom .left .info .title { + font-weight: 600; + line-height: 26px; +} +.introduction-card .introduction-card-bottom .left .info .subTitle { + line-height: 14px; + font-size: 14px; + color: var(--anzhiyu-gray); + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); +} +.introduction-card .introduction-card-bottom .left img { + width: 2.875rem; + height: 2.875rem; + margin: 0 20px !important; + border-radius: 12px !important; +} +.introduction-card .introduction-card-bottom .right { + width: 30%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +.introduction-card .introduction-card-bottom .right a { + width: 100%; + text-align: center; + background: #efeef2; + color: var(--anzhiyu-main) !important; + border-radius: 50px; + height: 35px; + line-height: 35px; + margin-right: 20px; +} +.introduction-card .introduction-card-bottom .right a:hover { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white) !important; +} +@-moz-keyframes resetAnimation { + 0% { + background-color: var(--anzhiyu-main); + color: #fff; + } + 100% { + background-color: transparent; + color: inherit; + } +} +@-webkit-keyframes resetAnimation { + 0% { + background-color: var(--anzhiyu-main); + color: #fff; + } + 100% { + background-color: transparent; + color: inherit; + } +} +@-o-keyframes resetAnimation { + 0% { + background-color: var(--anzhiyu-main); + color: #fff; + } + 100% { + background-color: transparent; + color: inherit; + } +} +@keyframes resetAnimation { + 0% { + background-color: var(--anzhiyu-main); + color: #fff; + } + 100% { + background-color: transparent; + color: inherit; + } +} +.hl-label { + padding: 2px 4px; + border-radius: 3px; + color: #fff; +} +.hl-label.default { + background-color: #2323ef; +} +.hl-label.blue { + background-color: #428bca; +} +.hl-label.pink { + background-color: #ff69b4; +} +.hl-label.red { + background-color: #f00; +} +.hl-label.purple { + background-color: #6f42c1; +} +.hl-label.orange { + background-color: #ff8c00; +} +.hl-label.green { + background-color: #5cb85c; +} +audio, +video { + border-radius: 4px; + max-width: 100%; +} +video { + z-index: 1; + -webkit-transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -o-transition: all 0.28s ease; + -ms-transition: all 0.28s ease; + transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -webkit-transition: all 0.28s ease; + -o-transition: all 0.28s ease; +} +video:hover { + -webkit-box-shadow: 0 4px 8px 0px rgba(0,0,0,0.24), 0 8px 16px 0px rgba(0,0,0,0.24); + box-shadow: 0 4px 8px 0px rgba(0,0,0,0.24), 0 8px 16px 0px rgba(0,0,0,0.24); +} +div.video { + line-height: 0; + text-align: center; +} +div.videos { + max-width: calc(100% + 2 * 4px); + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: start; + -moz-box-pack: start; + -o-box-pack: start; + -ms-flex-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; + -webkit-box-align: end; + -moz-box-align: end; + -o-box-align: end; + -ms-flex-align: end; + -webkit-align-items: flex-end; + align-items: flex-end; + margin: 1em -4px; +} +div.videos .video, +div.videos iframe { + width: 100%; + margin: 4px; +} +div.videos iframe { + border-radius: 4px; + width: 100%; + min-height: 300px; +} +div.videos.left { + -webkit-box-pack: start; + -moz-box-pack: start; + -o-box-pack: start; + -ms-flex-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; +} +div.videos.center { + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +div.videos.right { + -webkit-box-pack: end; + -moz-box-pack: end; + -o-box-pack: end; + -ms-flex-pack: end; + -webkit-justify-content: flex-end; + justify-content: flex-end; +} +div.videos.stretch { + -webkit-box-align: stretch; + -moz-box-align: stretch; + -o-box-align: stretch; + -ms-flex-align: stretch; + -webkit-align-items: stretch; + align-items: stretch; +} +div.videos[col='1'] .video, +div.videos[col='1'] iframe { + width: 100%; +} +div.videos[col='2'] .video, +div.videos[col='2'] iframe { + width: calc(50% - 2 * 4px); +} +div.videos[col='3'] .video, +div.videos[col='3'] iframe { + width: calc(33.33% - 2 * 4px); +} +div.videos[col='4'] .video, +div.videos[col='4'] iframe { + width: calc(25% - 2 * 4px); +} +[data-theme="dark"] audio, +[data-theme="dark"] video { + filter: brightness(0.7); +} +.note { + position: relative; + margin: 0 0 20px; + padding: 15px; + border-radius: 3px; +} +.note.icon-padding { + padding-left: 3em; +} +.note > .note-icon { + position: absolute; + top: calc(50% - 0.5em); + left: 0.8em; + font-size: larger; +} +.note.blue { + color: #4c4948; +} +.note.blue.disabled { + background: #e3eef7 !important; +} +.note.blue:not(.disabled) { + border-left-color: #428bca !important; +} +.note.blue:not(.disabled).modern { + border-left-color: transparent !important; + color: #428bca; +} +.note.blue:not(.disabled):not(.simple) { + background: #e3eef7 !important; +} +.note.blue::before { + color: #428bca; +} +.note.blue > .note-icon { + color: #428bca; +} +.note.pink { + color: #4c4948; +} +.note.pink.disabled { + background: #ffe9f4 !important; +} +.note.pink:not(.disabled) { + border-left-color: #ff69b4 !important; +} +.note.pink:not(.disabled).modern { + border-left-color: transparent !important; + color: #ff69b4; +} +.note.pink:not(.disabled):not(.simple) { + background: #ffe9f4 !important; +} +.note.pink::before { + color: #ff69b4; +} +.note.pink > .note-icon { + color: #ff69b4; +} +.note.red { + color: #4c4948; +} +.note.red.disabled { + background: #ffd9d9 !important; +} +.note.red:not(.disabled) { + border-left-color: #f00 !important; +} +.note.red:not(.disabled).modern { + border-left-color: transparent !important; + color: #f00; +} +.note.red:not(.disabled):not(.simple) { + background: #ffd9d9 !important; +} +.note.red::before { + color: #f00; +} +.note.red > .note-icon { + color: #f00; +} +.note.purple { + color: #4c4948; +} +.note.purple.disabled { + background: #e9e3f6 !important; +} +.note.purple:not(.disabled) { + border-left-color: #6f42c1 !important; +} +.note.purple:not(.disabled).modern { + border-left-color: transparent !important; + color: #6f42c1; +} +.note.purple:not(.disabled):not(.simple) { + background: #e9e3f6 !important; +} +.note.purple::before { + color: #6f42c1; +} +.note.purple > .note-icon { + color: #6f42c1; +} +.note.orange { + color: #4c4948; +} +.note.orange.disabled { + background: #ffeed9 !important; +} +.note.orange:not(.disabled) { + border-left-color: #ff8c00 !important; +} +.note.orange:not(.disabled).modern { + border-left-color: transparent !important; + color: #ff8c00; +} +.note.orange:not(.disabled):not(.simple) { + background: #ffeed9 !important; +} +.note.orange::before { + color: #ff8c00; +} +.note.orange > .note-icon { + color: #ff8c00; +} +.note.green { + color: #4c4948; +} +.note.green.disabled { + background: #e7f4e7 !important; +} +.note.green:not(.disabled) { + border-left-color: #5cb85c !important; +} +.note.green:not(.disabled).modern { + border-left-color: transparent !important; + color: #5cb85c; +} +.note.green:not(.disabled):not(.simple) { + background: #e7f4e7 !important; +} +.note.green::before { + color: #5cb85c; +} +.note.green > .note-icon { + color: #5cb85c; +} +.note.simple { + border: 1px solid #eee; + border-left-width: 5px; + color: var(--font-color); +} +.note.modern { + border: 1px solid transparent !important; + background-color: #f5f5f5; + color: #4c4948; +} +.note.flat { + border: initial; + border-left: 5px solid #eee; + background-color: #f9f9f9; + color: #4c4948; +} +.note.flat a { + color: #4c4948 !important; +} +.note.flat a:hover { + color: var(--anzhiyu-white) !important; +} +.note h2, +.note h3, +.note h4, +.note h5, +.note h6 { + margin-top: 3px; + margin-bottom: 0; + padding-top: 0 !important; + border-bottom: initial; +} +.note p:first-child, +.note ul:first-child, +.note ol:first-child, +.note table:first-child, +.note pre:first-child, +.note blockquote:first-child, +.note img:first-child { + margin-top: 0 !important; +} +.note p:last-child, +.note ul:last-child, +.note ol:last-child, +.note table:last-child, +.note pre:last-child, +.note blockquote:last-child, +.note img:last-child { + margin-bottom: 0 !important; +} +.note:not(.no-icon) { + padding-left: 3em; +} +.note:not(.no-icon)::before { + position: absolute; + top: calc(50% - 0.95em); + left: 0.8em; + font-size: larger; +} +.note.default.flat { + background: #f7f7f7; +} +.note.default.modern { + border-color: #e1e1e1; + background: #f3f3f3; + color: #666; +} +.note.default.modern a:not(.btn) { + color: #666; +} +.note.default.modern a:not(.btn):hover { + color: #454545; +} +.note.default:not(.modern) { + border-left-color: #777; +} +.note.default:not(.modern) h2, +.note.default:not(.modern) h3, +.note.default:not(.modern) h4, +.note.default:not(.modern) h5, +.note.default:not(.modern) h6 { + color: #777; +} +.note.default:not(.no-icon)::before { + content: '\f0a9'; +} +.note.default:not(.no-icon):not(.modern)::before { + color: #777; +} +.note.primary.flat { + background: #f5f0fa; +} +.note.primary.modern { + border-color: #e1c2ff; + background: #f3daff; + color: #6f42c1; +} +.note.primary.modern a:not(.btn) { + color: #6f42c1; +} +.note.primary.modern a:not(.btn):hover { + color: #453298; +} +.note.primary:not(.modern) { + border-left-color: #6f42c1; +} +.note.primary:not(.modern) h2, +.note.primary:not(.modern) h3, +.note.primary:not(.modern) h4, +.note.primary:not(.modern) h5, +.note.primary:not(.modern) h6 { + color: #6f42c1; +} +.note.primary:not(.no-icon)::before { + content: '\f055'; +} +.note.primary:not(.no-icon):not(.modern)::before { + color: #6f42c1; +} +.note.info.flat { + background: #eef7fa; +} +.note.info.modern { + border-color: #b3e5ef; + background: #d9edf7; + color: #31708f; +} +.note.info.modern a:not(.btn) { + color: #31708f; +} +.note.info.modern a:not(.btn):hover { + color: #215761; +} +.note.info:not(.modern) { + border-left-color: #428bca; +} +.note.info:not(.modern) h2, +.note.info:not(.modern) h3, +.note.info:not(.modern) h4, +.note.info:not(.modern) h5, +.note.info:not(.modern) h6 { + color: #428bca; +} +.note.info:not(.no-icon)::before { + content: '\f05a'; +} +.note.info:not(.no-icon):not(.modern)::before { + color: #428bca; +} +.note.success.flat { + background: #eff8f0; +} +.note.success.modern { + border-color: #d0e6be; + background: #dff0d8; + color: #3c763d; +} +.note.success.modern a:not(.btn) { + color: #3c763d; +} +.note.success.modern a:not(.btn):hover { + color: #32562c; +} +.note.success:not(.modern) { + border-left-color: #5cb85c; +} +.note.success:not(.modern) h2, +.note.success:not(.modern) h3, +.note.success:not(.modern) h4, +.note.success:not(.modern) h5, +.note.success:not(.modern) h6 { + color: #5cb85c; +} +.note.success:not(.no-icon)::before { + content: '\f058'; +} +.note.success:not(.no-icon):not(.modern)::before { + color: #5cb85c; +} +.note.warning.flat { + background: #fdf8ea; +} +.note.warning.modern { + border-color: #fae4cd; + background: #fcf4e3; + color: #8a6d3b; +} +.note.warning.modern a:not(.btn) { + color: #8a6d3b; +} +.note.warning.modern a:not(.btn):hover { + color: #714f30; +} +.note.warning:not(.modern) { + border-left-color: #f0ad4e; +} +.note.warning:not(.modern) h2, +.note.warning:not(.modern) h3, +.note.warning:not(.modern) h4, +.note.warning:not(.modern) h5, +.note.warning:not(.modern) h6 { + color: #f0ad4e; +} +.note.warning:not(.no-icon)::before { + content: '\f06a'; +} +.note.warning:not(.no-icon):not(.modern)::before { + color: #f0ad4e; +} +.note.danger.flat { + background: #fcf1f2; +} +.note.danger.modern { + border-color: #ebcdd2; + background: #f2dfdf; + color: #a94442; +} +.note.danger.modern a:not(.btn) { + color: #a94442; +} +.note.danger.modern a:not(.btn):hover { + color: #84333f; +} +.note.danger:not(.modern) { + border-left-color: #d9534f; +} +.note.danger:not(.modern) h2, +.note.danger:not(.modern) h3, +.note.danger:not(.modern) h4, +.note.danger:not(.modern) h5, +.note.danger:not(.modern) h6 { + color: #d9534f; +} +.note.danger:not(.no-icon)::before { + content: '\f056'; +} +.note.danger:not(.no-icon):not(.modern)::before { + color: #d9534f; +} +.site-card-group { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: start; + -moz-box-pack: start; + -o-box-pack: start; + -ms-flex-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; + margin: -8px; + -webkit-box-align: stretch; + -moz-box-align: stretch; + -o-box-align: stretch; + -ms-flex-align: stretch; + -webkit-align-items: stretch; + align-items: stretch; +} +.site-card { + margin: 8px; + width: calc(100% / 4 - 16px); + display: block; + line-height: 1.4; + height: 100%; +} +@media screen and (min-width: 2048px) { + .site-card { + width: calc(100% / 5 - 16px); + } +} +@media screen and (max-width: 768px) { + .site-card { + width: calc(100% / 3 - 16px); + } +} +@media screen and (max-width: 500px) { + .site-card { + width: calc(100% / 2 - 16px); + } +} +.site-card .img { + width: 100%; + height: 120px; + overflow: hidden; + border-radius: 6px; + -webkit-box-shadow: 0 1px 2px 0px rgba(0,0,0,0.2); + box-shadow: 0 1px 2px 0px rgba(0,0,0,0.2); + background: #f6f6f6; +} +@media screen and (max-width: 500px) { + .site-card .img { + height: 100px; + } +} +.site-card .img img { + width: 100%; + height: 100%; + pointer-events: none; + -webkit-transition: -webkit-transform 2s ease; + -moz-transition: -moz-transform 2s ease; + -o-transition: -o-transform 2s ease; + -ms-transition: -ms-transform 2s ease; + transition: transform 2s ease; + object-fit: cover; +} +.site-card .info { + margin-top: 8px; +} +.site-card .info img { + width: 32px; + height: 32px; + pointer-events: none; + border-radius: 16px; + float: left; + margin-right: 8px; + margin-top: 2px; +} +.site-card .info span { + display: block; +} +.site-card .info .title { + font-weight: 600; + font-size: var(--global-font-size); + color: #444; + display: -webkit-box; + -webkit-box-orient: vertical; + overflow: hidden; + -webkit-line-clamp: 1; + -webkit-transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -o-transition: all 0.28s ease; + -ms-transition: all 0.28s ease; + transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -webkit-transition: all 0.28s ease; + -o-transition: all 0.28s ease; +} +.site-card .info .desc { + font-size: var(--global-font-size); + word-wrap: break-word; + line-height: 1.2; + color: #888; + display: -webkit-box; + -webkit-box-orient: vertical; + overflow: hidden; + -webkit-line-clamp: 2; +} +.site-card .img { + -webkit-transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -o-transition: all 0.28s ease; + -ms-transition: all 0.28s ease; + transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -webkit-transition: all 0.28s ease; + -o-transition: all 0.28s ease; +} +.site-card:hover .img { + -webkit-box-shadow: 0 4px 8px 0px rgba(0,0,0,0.1), 0 2px 4px 0px rgba(0,0,0,0.1), 0 4px 8px 0px rgba(0,0,0,0.1), 0 8px 16px 0px rgba(0,0,0,0.1); + box-shadow: 0 4px 8px 0px rgba(0,0,0,0.1), 0 2px 4px 0px rgba(0,0,0,0.1), 0 4px 8px 0px rgba(0,0,0,0.1), 0 8px 16px 0px rgba(0,0,0,0.1); +} +.site-card:hover .info .title { + color: #ff5722; +} +p.p.subtitle { + font-weight: bold; + color: #44b299; + font-size: 1.25rem !important; + padding-top: 1.5rem; +} +p.p.subtitle:first-child { + padding-top: 1rem; +} +span.p.left, +p.p.left { + display: block; + text-align: left; +} +span.p.center, +p.p.center { + display: block; + text-align: center; +} +span.p.right, +p.p.right { + display: block; + text-align: right; +} +span.p.small, +p.p.small { + font-size: var(--global-font-size); +} +span.p.large, +p.p.large { + font-size: 2.5rem; + line-height: 1.4; +} +span.p.huge, +p.p.huge { + font-size: 4rem; + line-height: 1.4; +} +span.p.ultra, +p.p.ultra { + font-size: 6rem; + line-height: 1.4; +} +span.p.small, +p.p.small, +span.p.large, +p.p.large, +span.p.huge, +p.p.huge, +span.p.ultra, +p.p.ultra { + margin: 0; + padding: 0; +} +span.p.bold, +p.p.bold { + font-weight: bold; +} +span.p.h1, +p.p.h1, +span.p.h2, +p.p.h2 { + padding-bottom: 0.2rem; + font-weight: 500; +} +span.p.h1, +p.p.h1 { + font-size: 1.625rem; + color: var(--color-h1); + padding-top: 2em; +} +span.p.h2, +p.p.h2 { + font-size: 1.625rem; + color: var(--color-h2); + padding-top: 2em; + border-bottom: 1px solid rgba(68,68,68,0.1); +} +span.p.h3, +p.p.h3 { + font-size: 1.375rem; + color: var(--color-h3); + padding-top: 2em; +} +span.p.h4, +p.p.h4 { + font-size: 1.125rem; + color: var(--color-h4); + padding-top: 2em; +} +span.p.h5, +p.p.h5 { + font-size: 1rem; + color: var(--color-h5); + padding-top: 1.5em; +} +span.p.red, +p.p.red { + color: #e8453c; +} +span.p.yellow, +p.p.yellow { + color: #fcec60; +} +span.p.green, +p.p.green { + color: #3dc550; +} +span.p.cyan, +p.p.cyan { + color: #1bcdfc; +} +span.p.blue, +p.p.blue { + color: #2196f3; +} +span.p.purple, +p.p.purple { + color: #9c27b0; +} +span.p.gray, +p.p.gray { + color: #999; +} +#article-container .tabs { + position: relative; + margin: 0 0 20px; + border: 3px solid var(--anzhiyu-secondbg); + margin: 1rem 0 !important; + border-radius: 12px; + overflow: hidden; + -webkit-box-shadow: var(--anzhiyu-shadow-border); + box-shadow: var(--anzhiyu-shadow-border); + background: var(--anzhiyu-card-bg); + padding: 8px; +} +#article-container .tabs > .nav-tabs { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + margin: 0; + padding: 16px; + background: var(--anzhiyu-card-bg); +} +#article-container .tabs > .nav-tabs > .tab { + padding: 8px 18px; + background: var(--anzhiyu-secondbg); + color: var(--anzhiyu-fontcolor); + line-height: 1; + -webkit-transition: all 0.4s; + -moz-transition: all 0.4s; + -o-transition: all 0.4s; + -ms-transition: all 0.4s; + transition: all 0.4s; + margin: 4px; + border: var(--style-border-always); + border-radius: 8px; +} +#article-container .tabs > .nav-tabs > .tab i { + width: 1.5em; +} +#article-container .tabs > .nav-tabs > .tab.active { + border: var(--style-border-hover-always); + background: var(--anzhiyu-background); + border-radius: 8px; + cursor: default; +} +#article-container .tabs > .nav-tabs > .tab:not(.active):hover { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white); + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + border: var(--style-border-hover-always); +} +#article-container .tabs > .nav-tabs.no-default ~ .tab-to-top { + display: none; +} +#article-container .tabs > .tab-contents .tab-item-content { + position: relative; + display: none; + background: var(--anzhiyu-background); + border: var(--style-border-always); + padding: 1.2rem 1.2rem; + border-radius: 8px; +} +@media screen and (max-width: 768px) { + #article-container .tabs > .tab-contents .tab-item-content { + padding: 24px 14px; + } +} +#article-container .tabs > .tab-contents .tab-item-content.active { + display: block; +} +#article-container .tabs > .tab-to-top { + padding: 0 16px 10px 0; + width: 100%; + text-align: right; +} +#article-container .tabs > .tab-to-top button { + color: #99a9bf; +} +#article-container .tabs > .tab-to-top button:hover { + color: #425aef; +} +@-moz-keyframes tabshow { + 0% { + -webkit-transform: translateY(15px); + -moz-transform: translateY(15px); + -o-transform: translateY(15px); + -ms-transform: translateY(15px); + transform: translateY(15px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-webkit-keyframes tabshow { + 0% { + -webkit-transform: translateY(15px); + -moz-transform: translateY(15px); + -o-transform: translateY(15px); + -ms-transform: translateY(15px); + transform: translateY(15px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-o-keyframes tabshow { + 0% { + -webkit-transform: translateY(15px); + -moz-transform: translateY(15px); + -o-transform: translateY(15px); + -ms-transform: translateY(15px); + transform: translateY(15px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@keyframes tabshow { + 0% { + -webkit-transform: translateY(15px); + -moz-transform: translateY(15px); + -o-transform: translateY(15px); + -ms-transform: translateY(15px); + transform: translateY(15px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +#article-container .timeline { + margin: 0 0 20px 10px; + padding: 14px 20px 5px; + border-left: 2px solid var(--timeline-color, #425aef); +} +#article-container .timeline.blue { + --timeline-color: #428bca; + --timeline-bg: rgba(66,139,202, 0.2); +} +#article-container .timeline.pink { + --timeline-color: #ff69b4; + --timeline-bg: rgba(255,105,180, 0.2); +} +#article-container .timeline.red { + --timeline-color: #f00; + --timeline-bg: rgba(255,0,0, 0.2); +} +#article-container .timeline.purple { + --timeline-color: #6f42c1; + --timeline-bg: rgba(111,66,193, 0.2); +} +#article-container .timeline.orange { + --timeline-color: #ff8c00; + --timeline-bg: rgba(255,140,0, 0.2); +} +#article-container .timeline.green { + --timeline-color: #5cb85c; + --timeline-bg: rgba(92,184,92, 0.2); +} +#article-container .timeline .timeline-item { + margin: 0 0 15px; +} +#article-container .timeline .timeline-item:hover .item-circle:before { + border-color: var(--timeline-color, #425aef); +} +#article-container .timeline .timeline-item.headline .timeline-item-title .item-circle > p { + font-weight: 600; + font-size: 1.2em; +} +#article-container .timeline .timeline-item.headline .timeline-item-title .item-circle:before { + left: -28px; + border: 4px solid var(--timeline-color, #425aef); +} +#article-container .timeline .timeline-item.headline:hover .item-circle:before { + border-color: var(--pseudo-hover); +} +#article-container .timeline .timeline-item .timeline-item-title { + position: relative; +} +#article-container .timeline .timeline-item .item-circle:before { + position: absolute; + top: 50%; + left: -27px; + width: 6px; + height: 6px; + border: 3px solid var(--pseudo-hover); + border-radius: 50%; + background: var(--card-bg); + content: ''; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; + -webkit-transform: translate(0, -50%); + -moz-transform: translate(0, -50%); + -o-transform: translate(0, -50%); + -ms-transform: translate(0, -50%); + transform: translate(0, -50%); +} +#article-container .timeline .timeline-item .item-circle > p { + margin: 0 0 8px; + font-weight: 500; +} +#article-container .timeline .timeline-item .timeline-item-content { + position: relative; + padding: 12px 15px; + border-radius: 0.5rem; + border: var(--style-border-always); + font-size: 0.93em; +} +#article-container .timeline .timeline-item .timeline-item-content > :last-child { + margin-bottom: 0; +} +#article-container .timeline + .timeline { + margin-top: -20px; +} +.tip { + padding: 6px 20px; + position: relative; + color: #fff; + margin-bottom: 20px; + background: -webkit-linear-gradient(0deg, #41363c, #494648); + background: -moz-linear-gradient(0deg, #41363c, #494648); + background: -o-linear-gradient(0deg, #41363c, #494648); + background: -ms-linear-gradient(0deg, #41363c, #494648); + background: linear-gradient(90deg, #41363c, #494648); + padding: 6px 20px; + border-radius: 10px; + -webkit-box-shadow: 0 3px 5px rgba(50,50,50,0.5); + -webkit-box-shadow: 0 3px 5px rgba(50,50,50,0.5); + box-shadow: 0 3px 5px rgba(50,50,50,0.5); +} +.tip p { + margin: 0 !important; + padding: 0.5rem 0; +} +.tip:before { + background: -webkit-linear-gradient(90deg, #41363c, #494648); + background: -moz-linear-gradient(90deg, #41363c, #494648); + background: -o-linear-gradient(90deg, #41363c, #494648); + background: -ms-linear-gradient(90deg, #41363c, #494648); + background: linear-gradient(0deg, #41363c, #494648); + text-shadow: 0 -1px #41363c; + border-radius: 50%; + color: #fff; + font-size: 12px; + position: absolute; + width: 24px; + height: 24px; + line-height: 24.5px; + left: -12px; + top: -12px; + -webkit-box-shadow: 0 0 0 2.5px #f7f8f9; + box-shadow: 0 0 0 2.5px #f7f8f9; + font-weight: 600; + font-family: "Font Awesome 6 Free"; + text-align: center; +} +.tip ol { + margin: 0; +} +.tip.info { + background: #20a0ff; + background: -webkit-linear-gradient(0deg, #20a0ff, #20b8ff); + background: -moz-linear-gradient(0deg, #20a0ff, #20b8ff); + background: -o-linear-gradient(0deg, #20a0ff, #20b8ff); + background: -ms-linear-gradient(0deg, #20a0ff, #20b8ff); + background: linear-gradient(90deg, #20a0ff, #20b8ff); + padding: 6px 20px; + border-radius: 10px; + -webkit-box-shadow: 0 3px 5px rgba(32,160,255,0.5); + -webkit-box-shadow: 0 3px 5px rgba(32,160,255,0.5); + box-shadow: 0 3px 5px rgba(32,160,255,0.5); +} +.tip.info:before { + background: #20a0ff; + background: -webkit-gradient(linear, left bottom, left top, from(#0092ff), to(#20b8ff)); + background: -webkit-gradient(linear, left bottom, left top, from(#0092ff), to(#20b8ff)); + background: -webkit-gradient(linear, left bottom, left top, from(#0092ff), to(#20b8ff)); + background: -webkit-gradient(linear, left bottom, left top, from(#0092ff), to(#20b8ff)); + background: -webkit-gradient(linear, left bottom, left top, from(#0092ff), to(#20b8ff)); + background: -webkit-linear-gradient(90deg, #0092ff, #20b8ff); + background: -moz-linear-gradient(90deg, #0092ff, #20b8ff); + background: -o-linear-gradient(90deg, #0092ff, #20b8ff); + background: -ms-linear-gradient(90deg, #0092ff, #20b8ff); + background: linear-gradient(0deg, #0092ff, #20b8ff); + content: "\f05a"; + font-family: anzhiyufont; + text-shadow: 0 -1px #20a0ff; +} +.tip.success { + background: -webkit-linear-gradient(0deg, #61be33, #8fce44); + background: -moz-linear-gradient(0deg, #61be33, #8fce44); + background: -o-linear-gradient(0deg, #61be33, #8fce44); + background: -ms-linear-gradient(0deg, #61be33, #8fce44); + background: linear-gradient(90deg, #61be33, #8fce44); + text-shadow: 0 -1px #61be33; + -webkit-box-shadow: 0 3px 5px rgba(104,195,59,0.5); + -webkit-box-shadow: 0 3px 5px rgba(104,195,59,0.5); + box-shadow: 0 3px 5px rgba(104,195,59,0.5); +} +.tip.success:before { + background: -webkit-linear-gradient(90deg, #52bb1d, #95d34b); + background: -moz-linear-gradient(90deg, #52bb1d, #95d34b); + background: -o-linear-gradient(90deg, #52bb1d, #95d34b); + background: -ms-linear-gradient(90deg, #52bb1d, #95d34b); + background: linear-gradient(0deg, #52bb1d, #95d34b); + content: "\f058"; + text-shadow: 0 -1px #61be33; + font-family: anzhiyufont; +} +.tip.warning { + background: #ff953f; + background: -webkit-linear-gradient(0deg, #ff953f, #ffb449); + background: -moz-linear-gradient(0deg, #ff953f, #ffb449); + background: -o-linear-gradient(0deg, #ff953f, #ffb449); + background: -ms-linear-gradient(0deg, #ff953f, #ffb449); + background: linear-gradient(90deg, #ff953f, #ffb449); + text-shadow: 0 -1px #ff953f; + -webkit-box-shadow: 0 3px 5px rgba(255,154,73,0.5); + box-shadow: 0 3px 5px rgba(255,154,73,0.5); +} +.tip.warning::before { + background: -webkit-linear-gradient(90deg, #ff8f35, #ffc149); + background: -moz-linear-gradient(90deg, #ff8f35, #ffc149); + background: -o-linear-gradient(90deg, #ff8f35, #ffc149); + background: -ms-linear-gradient(90deg, #ff8f35, #ffc149); + background: linear-gradient(0deg, #ff8f35, #ffc149); + content: '\f06a'; + text-shadow: 0 -1px #ff953f; + font-family: anzhiyufont; +} +.tip.error { + background: #ff4949; + background: -webkit-linear-gradient(0deg, #ff4949, #ff7849); + background: -moz-linear-gradient(0deg, #ff4949, #ff7849); + background: -o-linear-gradient(0deg, #ff4949, #ff7849); + background: -ms-linear-gradient(0deg, #ff4949, #ff7849); + background: linear-gradient(90deg, #ff4949, #ff7849); + text-shadow: 0 -1px #ff4949; + -webkit-box-shadow: 0 3px 5px rgba(255,73,73,0.5); + box-shadow: 0 3px 5px rgba(255,73,73,0.5); +} +.tip.error:before { + background: -webkit-linear-gradient(90deg, #ff3838, #ff7849); + background: -moz-linear-gradient(90deg, #ff3838, #ff7849); + background: -o-linear-gradient(90deg, #ff3838, #ff7849); + background: -ms-linear-gradient(90deg, #ff3838, #ff7849); + background: linear-gradient(0deg, #ff3838, #ff7849); + content: $note-error-icon; + text-shadow: 0 -1px #ff4949; + font-family: anzhiyufont; +} +.tip.bolt { + background: -webkit-linear-gradient(80deg, #78ca33, #25822c); + background: -moz-linear-gradient(80deg, #78ca33, #25822c); + background: -o-linear-gradient(80deg, #78ca33, #25822c); + background: -ms-linear-gradient(80deg, #78ca33, #25822c); + background: linear-gradient(530deg, #78ca33, #25822c); + content: "\f058"; + text-shadow: 0 -1px #4cf706; +} +.tip.bolt:before { + background: -webkit-linear-gradient(326deg, #78ca33, #25822c); + background: -moz-linear-gradient(326deg, #78ca33, #25822c); + background: -o-linear-gradient(326deg, #78ca33, #25822c); + background: -ms-linear-gradient(326deg, #78ca33, #25822c); + background: linear-gradient(776deg, #78ca33, #25822c); + content: "\f058"; + text-shadow: 0 -1px #4cf706; + font-family: anzhiyufont; +} +.tip.ban { + background: -webkit-linear-gradient(0deg, #ff4949, #f03b49); + background: -moz-linear-gradient(0deg, #ff4949, #f03b49); + background: -o-linear-gradient(0deg, #ff4949, #f03b49); + background: -ms-linear-gradient(0deg, #ff4949, #f03b49); + background: linear-gradient(90deg, #ff4949, #f03b49); + text-shadow: 0 -1px #ff4949; + -webkit-box-shadow: 0 3px 5px rgba(255,73,73,0.5); + box-shadow: 0 3px 5px rgba(255,73,73,0.5); +} +.tip.ban:before { + background: -webkit-linear-gradient(90deg, #ff3838, #ff1022); + background: -moz-linear-gradient(90deg, #ff3838, #ff1022); + background: -o-linear-gradient(90deg, #ff3838, #ff1022); + background: -ms-linear-gradient(90deg, #ff3838, #ff1022); + background: linear-gradient(0deg, #ff3838, #ff1022); + content: "\f056"; + text-shadow: 0 -1px #ff4949; + font-family: anzhiyufont; +} +.tip.home { + background: #15e5ff; + background: -webkit-linear-gradient(0deg, #0ec0ef, #80e0f7); + background: -moz-linear-gradient(0deg, #0ec0ef, #80e0f7); + background: -o-linear-gradient(0deg, #0ec0ef, #80e0f7); + background: -ms-linear-gradient(0deg, #0ec0ef, #80e0f7); + background: linear-gradient(90deg, #0ec0ef, #80e0f7); + text-shadow: 0 -1px #0ec0ef; + -webkit-box-shadow: 0 3px 5px #01caff; + -webkit-box-shadow: 0 3px 5px #01caff; + box-shadow: 0 3px 5px #01caff; +} +.tip.home:before { + background: -webkit-linear-gradient(90deg, #0ec0ee, #0ec0ea); + background: -moz-linear-gradient(90deg, #0ec0ee, #0ec0ea); + background: -o-linear-gradient(90deg, #0ec0ee, #0ec0ea); + background: -ms-linear-gradient(90deg, #0ec0ee, #0ec0ea); + background: linear-gradient(0deg, #0ec0ee, #0ec0ea); + content: "\e606"; + font-family: anzhiyufont; + text-shadow: 0 -1px #0ec0ea; +} +.tip.sync { + background: #00a9ff; + background: -webkit-linear-gradient(220deg, #47c0e0, #2dc342); + background: -moz-linear-gradient(220deg, #47c0e0, #2dc342); + background: -o-linear-gradient(220deg, #47c0e0, #2dc342); + background: -ms-linear-gradient(220deg, #47c0e0, #2dc342); + background: linear-gradient(230deg, #47c0e0, #2dc342); + text-shadow: 0 -1px #1bcdfc; + -webkit-box-shadow: 0 3px 5px #1bcdfc; + -webkit-box-shadow: 0 3px 5px #20b1ad; + box-shadow: 0 3px 5px #20b1ad; +} +.tip.sync:before { + background: -webkit-linear-gradient(180deg, #40c0e2, #3dc550); + background: -moz-linear-gradient(180deg, #40c0e2, #3dc550); + background: -o-linear-gradient(180deg, #40c0e2, #3dc550); + background: -ms-linear-gradient(180deg, #40c0e2, #3dc550); + background: linear-gradient(270deg, #40c0e2, #3dc550); + content: "\e66b"; + font-family: anzhiyufont; + text-shadow: 0 -1px #17cfff; +} +.tip.cogs { + background: -webkit-linear-gradient(220deg, #40c0e2, #5247e2); + background: -moz-linear-gradient(220deg, #40c0e2, #5247e2); + background: -o-linear-gradient(220deg, #40c0e2, #5247e2); + background: -ms-linear-gradient(220deg, #40c0e2, #5247e2); + background: linear-gradient(230deg, #40c0e2, #5247e2); + text-shadow: 0 -1px #8278fd; + -webkit-box-shadow: 0 3px 5px #4037a7; + -webkit-box-shadow: 1 3px 5px #5e52ec; + box-shadow: 1 3px 5px #5e52ec; +} +.tip.cogs:before { + background: -webkit-linear-gradient(110deg, #40c0e2, #5246e2); + background: -moz-linear-gradient(110deg, #40c0e2, #5246e2); + background: -o-linear-gradient(110deg, #40c0e2, #5246e2); + background: -ms-linear-gradient(110deg, #40c0e2, #5246e2); + background: linear-gradient(560deg, #40c0e2, #5246e2); + content: "\e638"; + font-family: anzhiyufont; + text-shadow: 0 -1px #098cf5; +} +.tip.key { + background: #25c33b; + background: -webkit-linear-gradient(220deg, #90a4ae, #b7a7a7); + background: -moz-linear-gradient(220deg, #90a4ae, #b7a7a7); + background: -o-linear-gradient(220deg, #90a4ae, #b7a7a7); + background: -ms-linear-gradient(220deg, #90a4ae, #b7a7a7); + background: linear-gradient(230deg, #90a4ae, #b7a7a7); + text-shadow: 0 -1px #c1c0d4; + -webkit-box-shadow: 0 3px 5px #d3d2de; + -webkit-box-shadow: 1 3px 5px #d5d4de; + box-shadow: 1 3px 5px #d5d4de; +} +.tip.key:before { + background: -webkit-linear-gradient(110deg, #bccdd2, #cfced4); + background: -moz-linear-gradient(110deg, #bccdd2, #cfced4); + background: -o-linear-gradient(110deg, #bccdd2, #cfced4); + background: -ms-linear-gradient(110deg, #bccdd2, #cfced4); + background: linear-gradient(560deg, #bccdd2, #cfced4); + content: "\e673"; + font-family: anzhiyufont; + text-shadow: 0 -1px #a9b2b9; +} +.tip.bell { + background: -webkit-linear-gradient(220deg, #ffaa0d, #deb455); + background: -moz-linear-gradient(220deg, #ffaa0d, #deb455); + background: -o-linear-gradient(220deg, #ffaa0d, #deb455); + background: -ms-linear-gradient(220deg, #ffaa0d, #deb455); + background: linear-gradient(230deg, #ffaa0d, #deb455); + text-shadow: 0 -1px #c1c0d4; + -webkit-box-shadow: 1 3px 5px #d5d4de; + box-shadow: 1 3px 5px #d5d4de; +} +.tip.bell:before { + background: -webkit-linear-gradient(110deg, #f9ae07, #ffb615); + background: -moz-linear-gradient(110deg, #f9ae07, #ffb615); + background: -o-linear-gradient(110deg, #f9ae07, #ffb615); + background: -ms-linear-gradient(110deg, #f9ae07, #ffb615); + background: linear-gradient(560deg, #f9ae07, #ffb615); + content: "\e635"; + font-family: anzhiyufont; + text-shadow: 0 -1px #ffb81b; +} +[data-theme="dark"] .tip { + filter: brightness(0.7); +} +#article-container .tip a { + color: #e6eaed; +} +[data-theme='dark'] { + --global-bg: #0d0d0d; + --font-color: rgba(255,255,255,0.7); + --hr-border: rgba(255,255,255,0.4); + --hr-before-color: rgba(255,255,255,0.7); + --search-bg: #121212; + --search-input-color: rgba(255,255,255,0.7); + --search-result-title: rgba(255,255,255,0.9); + --preloader-bg: #0d0d0d; + --preloader-color: rgba(255,255,255,0.7); + --tab-border-color: #2c2c2c; + --tab-botton-bg: #2c2c2c; + --tab-botton-color: rgba(255,255,255,0.7); + --tab-button-hover-bg: #383838; + --tab-button-active-bg: #121212; + --card-bg: #121212; + --sidebar-bg: #121212; + --btn-hover-color: #787878; + --btn-color: rgba(255,255,255,0.7); + --btn-bg: #1f1f1f; + --text-bg-hover: #383838; + --light-grey: rgba(255,255,255,0.7); + --dark-grey: rgba(255,255,255,0.2); + --white: rgba(255,255,255,0.9); + --text-highlight-color: rgba(255,255,255,0.9); + --blockquote-color: rgba(255,255,255,0.7); + --blockquote-bg: #2c2c2c; + --reward-pop: #2c2c2c; + --toc-link-color: rgba(255,255,255,0.6); + --scrollbar-color: #1f1f1f; + --timeline-bg: #1f1f1f; +} +[data-theme='dark'] #web_bg:before, +[data-theme='dark'] #footer:before, +[data-theme='dark'] #page-header:before { + position: absolute; + width: 100%; + height: 100%; + background-color: rgba(0,0,0,0.3); + content: ''; + z-index: 2; + pointer-events: none; +} +[data-theme='dark'] #footer { + background-color: var(--anzhiyu-card-bg); +} +[data-theme='dark'] #article-container pre > code { + background: #171717; +} +[data-theme='dark'] #article-container figure.highlight { + -webkit-box-shadow: none; + box-shadow: none; +} +[data-theme='dark'] #article-container .note code { + background: var(--anzhiyu-code-stress); +} +[data-theme='dark'] #article-container .aplayer { + filter: brightness(0.8); +} +[data-theme='dark'] #article-container kbd { + border-color: #696969; + background-color: #525252; + color: #e2f1ff; +} +[data-theme='dark'] #page-header.nav-fixed > #nav, +[data-theme='dark'] #page-header.not-top-img > #nav { + background: var(--anzhiyu-black); + -webkit-box-shadow: 0 5px 6px -5px rgba(133,133,133,0); + box-shadow: 0 5px 6px -5px rgba(133,133,133,0); +} +[data-theme='dark'] .post #page-header.nav-fixed > #nav { + background: var(--anzhiyu-card-bg); + -webkit-box-shadow: none; + box-shadow: none; +} +[data-theme='dark'] #post-comment .comment-switch { + background: #2c2c2c !important; +} +[data-theme='dark'] #post-comment .comment-switch #switch-btn { + filter: brightness(0.8); +} +[data-theme='dark'] .note { + filter: brightness(0.8); +} +[data-theme='dark'] .hide-button, +[data-theme='dark'] .btn-anzhiyu, +[data-theme='dark'] .hl-label, +[data-theme='dark'] .post-outdate-notice, +[data-theme='dark'] .error-img, +[data-theme='dark'] #article-container iframe, +[data-theme='dark'] .gist, +[data-theme='dark'] .ads-wrap { + filter: brightness(0.8); +} +[data-theme='dark'] img { + filter: blur(0) brightness(0.8); +} +[data-theme='dark'] #aside-content .aside-list > .aside-list-item:not(:last-child) { + border-bottom: 1px dashed rgba(255,255,255,0.1); +} +@media screen and (max-width: 768px) { + [data-theme='dark'] .post #aside-content { + background: var(--anzhiyu-card-bg); + } +} +[data-theme='dark'] #artitalk_main #lazy { + background: #121212; +} +[data-theme='dark'] #operare_artitalk .c2 { + background: #121212; +} +@media screen and (max-width: 900px) { + [data-theme='dark'] #card-toc { + background: #1f1f1f; + } +} +.read-mode { + --font-color: #4c4948; + --readmode-light-color: #fff; + --white: #4c4948; + --light-grey: #4c4948; + --gray: #d6dbdf; + --hr-border: #d6dbdf; + --hr-before-color: #b9c2c9; + --highlight-bg: #f7f7f7; + --exit-btn-bg: #c0c0c0; + --exit-btn-color: #fff; + --exit-btn-hover: #8d8d8d; + --pseudo-hover: none; +} +[data-theme='dark'] .read-mode { + --font-color: rgba(255,255,255,0.7); + --readmode-light-color: #0d0d0d; + --white: rgba(255,255,255,0.9); + --light-grey: rgba(255,255,255,0.7); + --gray: rgba(255,255,255,0.7); + --hr-border: rgba(255,255,255,0.5); + --hr-before-color: rgba(255,255,255,0.7); + --highlight-bg: #171717; + --exit-btn-bg: #1f1f1f; + --exit-btn-color: rgba(255,255,255,0.9); + --exit-btn-hover: #525252; +} +.read-mode { + background: var(--readmode-light-color); +} +.read-mode .exit-readmode { + position: fixed; + top: 30px; + right: 30px; + z-index: 100; + width: 40px; + height: 40px; + border-radius: 8px; + background: var(--exit-btn-bg); + color: var(--exit-btn-color); + font-size: 16px; + -webkit-transition: background 0.3s; + -moz-transition: background 0.3s; + -o-transition: background 0.3s; + -ms-transition: background 0.3s; + transition: background 0.3s; +} +@media screen and (max-width: 768px) { + .read-mode .exit-readmode { + top: initial; + bottom: 30px; + } +} +.read-mode .exit-readmode:hover { + background: var(--exit-btn-hover); +} +.read-mode #aside-content { + display: none; +} +.read-mode #page-header.post-bg { + background-color: transparent; + background-image: none !important; +} +.read-mode #page-header.post-bg:before { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +.read-mode #page-header.post-bg > #post-info { + text-align: center; +} +.read-mode #post { + margin: 0 auto; + background: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.read-mode #post:hover { + -webkit-box-shadow: none; + box-shadow: none; +} +.read-mode > canvas { + display: none !important; +} +.read-mode .highlight-tools, +.read-mode #footer, +.read-mode #post > *:not(#post-info):not(.post-content), +.read-mode #nav, +.read-mode .post-outdate-notice, +.read-mode #web_bg, +.read-mode #rightside, +.read-mode .not-top-img { + display: none !important; +} +.read-mode #article-container a { + color: #99a9bf; +} +.read-mode #article-container pre, +.read-mode #article-container .highlight:not(.js-file-line-container) { + background: var(--highlight-bg) !important; +} +.read-mode #article-container pre *, +.read-mode #article-container .highlight:not(.js-file-line-container) * { + color: var(--font-color) !important; +} +.read-mode #article-container figure.highlight { + border-radius: 0 !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; +} +.read-mode #article-container figure.highlight > :not(.highlight-tools) { + display: block !important; +} +.read-mode #article-container figure.highlight .line:before { + color: var(--font-color) !important; +} +.read-mode #article-container figure.highlight .hljs { + background: var(-highlight-bg) !important; +} +.read-mode #article-container h1, +.read-mode #article-container h2, +.read-mode #article-container h3, +.read-mode #article-container h4, +.read-mode #article-container h5, +.read-mode #article-container h6 { + padding: 0; +} +.read-mode #article-container h1:before, +.read-mode #article-container h2:before, +.read-mode #article-container h3:before, +.read-mode #article-container h4:before, +.read-mode #article-container h5:before, +.read-mode #article-container h6:before { + content: ''; +} +.read-mode #article-container h1:hover, +.read-mode #article-container h2:hover, +.read-mode #article-container h3:hover, +.read-mode #article-container h4:hover, +.read-mode #article-container h5:hover, +.read-mode #article-container h6:hover { + padding: 0; +} +.read-mode #article-container ul:hover:before, +.read-mode #article-container li:hover:before, +.read-mode #article-container ol:hover:before { + -webkit-transform: none !important; + -moz-transform: none !important; + -o-transform: none !important; + -ms-transform: none !important; + transform: none !important; +} +.read-mode #article-container ol:before, +.read-mode #article-container li:before { + background: transparent !important; + color: var(--font-color) !important; +} +.read-mode #article-container ul >li:before { + border-color: var(--gray) !important; +} +.read-mode #article-container .tabs { + border: 2px solid var(--tab-border-color); +} +.read-mode #article-container .tabs > .nav-tabs { + background: transparent; +} +.read-mode #article-container .tabs > .nav-tabs > .tab { + border-top: none !important; +} +.read-mode #article-container .tabs > .tab-contents .tab-item-content.active { + -webkit-animation: none; + -moz-animation: none; + -o-animation: none; + -ms-animation: none; + animation: none; +} +.read-mode #article-container code { + color: var(--font-color); +} +.read-mode #article-container blockquote { + border-color: var(--gray); + background-color: var(--readmode-light-color); +} +.read-mode #article-container kbd { + border: 1px solid var(--gray); + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; + color: var(--font-color); +} +.read-mode #article-container .hide-toggle { + border: 1px solid var(--gray) !important; +} +.read-mode #article-container .hide-button, +.read-mode #article-container .btn-anzhiyu, +.read-mode #article-container .hl-label { + border: 1px solid var(--gray) !important; + background: var(--readmode-light-color) !important; + color: var(--font-color) !important; +} +.read-mode #article-container .note { + border: 2px solid var(--gray); + border-left-color: var(--gray) !important; + filter: none; + background-color: var(--readmode-light-color) !important; + color: var(--font-color); +} +.read-mode #article-container .note:before, +.read-mode #article-container .note .note-icon { + color: var(--font-color); +} +body .snackbar-container { + background: var(--anzhiyu-main) !important; + color: var(--anzhiyu-white) !important; + border-radius: 0 !important; + display: -webkit-box !important; + display: -moz-box !important; + display: -webkit-flex !important; + display: -ms-flexbox !important; + display: box !important; + display: flex !important; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + max-width: none !important; + min-width: 100% !important; + margin: 0 !important; + left: 0 !important; + height: 61px !important; + -webkit-transform: none !important; + -moz-transform: none !important; + -o-transform: none !important; + -ms-transform: none !important; + transform: none !important; + margin: 0 !important; + z-index: 99999; +} +body .snackbar-container p { + font-weight: 700 !important; + text-align: center !important; + font-size: 1.1rem !important; +} +body .snackbar-container .action { + color: var(--anzhiyu-white) !important; + padding: 4px 6px !important; + font-weight: 700; + border-radius: 8px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; + border: var(--style-border) !important; +} +body .snackbar-container .action:hover { + color: var(--anzhiyu-main) !important; + background: var(--anzhiyu-white); +} +body .snackbar-container::after { + position: absolute; + height: 100%; + width: 100%; + left: 0; + top: 0; + background: var(--anzhiyu-white); + opacity: 0.1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)"; + filter: alpha(opacity=10); + content: ""; + -webkit-animation: snackbar-progress var(--anzhiyu-snackbar-time) linear forwards; + -moz-animation: snackbar-progress var(--anzhiyu-snackbar-time) linear forwards; + -o-animation: snackbar-progress var(--anzhiyu-snackbar-time) linear forwards; + -ms-animation: snackbar-progress var(--anzhiyu-snackbar-time) linear forwards; + animation: snackbar-progress var(--anzhiyu-snackbar-time) linear forwards; + pointer-events: none; + will-change: transform; + -webkit-transform-origin: left; + -moz-transform-origin: left; + -o-transform-origin: left; + -ms-transform-origin: left; + transform-origin: left; +} +@-moz-keyframes snackbar-progress { + from { + -webkit-transform: scaleX(0); + -moz-transform: scaleX(0); + -o-transform: scaleX(0); + -ms-transform: scaleX(0); + transform: scaleX(0); + } + to { + -webkit-transform: scaleX(1); + -moz-transform: scaleX(1); + -o-transform: scaleX(1); + -ms-transform: scaleX(1); + transform: scaleX(1); + } +} +@-webkit-keyframes snackbar-progress { + from { + -webkit-transform: scaleX(0); + -moz-transform: scaleX(0); + -o-transform: scaleX(0); + -ms-transform: scaleX(0); + transform: scaleX(0); + } + to { + -webkit-transform: scaleX(1); + -moz-transform: scaleX(1); + -o-transform: scaleX(1); + -ms-transform: scaleX(1); + transform: scaleX(1); + } +} +@-o-keyframes snackbar-progress { + from { + -webkit-transform: scaleX(0); + -moz-transform: scaleX(0); + -o-transform: scaleX(0); + -ms-transform: scaleX(0); + transform: scaleX(0); + } + to { + -webkit-transform: scaleX(1); + -moz-transform: scaleX(1); + -o-transform: scaleX(1); + -ms-transform: scaleX(1); + transform: scaleX(1); + } +} +@keyframes snackbar-progress { + from { + -webkit-transform: scaleX(0); + -moz-transform: scaleX(0); + -o-transform: scaleX(0); + -ms-transform: scaleX(0); + transform: scaleX(0); + } + to { + -webkit-transform: scaleX(1); + -moz-transform: scaleX(1); + -o-transform: scaleX(1); + -ms-transform: scaleX(1); + transform: scaleX(1); + } +} +/* 处理单页背景 */ +body[data-type="album_detail"] #web_bg { + background: var(--anzhiyu-background); +} +body[data-type="album_detail"] #page { + border: 0; + box-shadow: none !important; + padding: 0 !important; + background: 0 0 !important; +} +body[data-type="album_detail"] #page .page-title { + display: none; +} + +/* 处理页面样式 */ +#album_detail .album-container-img { + display: flex; + align-items: center; + justify-content: space-around; + width: 100%; + height: 100%; + flex-wrap: wrap; + margin-bottom: 0.3rem; +} +#album_detail .album-container-img .album-content-noimg { + width: calc(100% / 2 - 5px); +} + +#album_detail .album-content-img img { + object-fit: cover; + max-width: 100%; + border-radius: 12px; + margin: 10px 0; +} + +#album_detail .album-content-img { + height: 100%; + max-height: 300px; + border-radius: 12px; + overflow: hidden; + display: flex; + position: relative; +} + +#album_detail .album-content .datacont { + order: 0; + font-size: 0.8rem; + font-weight: 700; + color: var(--anzhiyu-fontcolor); + width: 100%; + line-height: 1.38; + border-radius: 12px; + margin-bottom: 0.5rem; + display: flex; + flex-direction: column; + text-align: justify; +} +#album_detail p { + margin: 0px; +} +#album_detail div.album-content { + display: flex; + flex-flow: wrap; + border-radius: 12px; + width: 100%; + height: 100%; +} +#album_detail .timeline ul li.album-item { + position: relative; + width: 32%; + border: var(--style-border-always); + border-radius: 12px; + padding: 1rem 1rem 0.5rem; + transition: all 0.3s ease 0s; + display: flex; + flex-flow: column nowrap; + justify-content: space-between; + align-items: flex-start; + background: var(--anzhiyu-card-bg); + box-shadow: var(--anzhiyu-shadow-border); + margin-right: 2%; +} +#album_detail .timeline #waterfall.show { + opacity: 1; +} +#album_detail .timeline #waterfall { + opacity: 0; + transition: all 0.3s ease 0s; +} +#album_detail ul.list { + display: flex; + flex-flow: row wrap; + justify-content: space-between; +} +#album_detail { + margin-top: 1rem; + width: 100%; +} +#album_detail > section > ul > li.album-item { + margin-bottom: 1rem; +} + +#album-tips { + font-size: 14px; + display: flex; + justify-content: center; + margin-top: 1rem; +} + +#album_detail .timeline ul li.album-item hr { + display: flex; + position: relative; + margin: 8px 0px; + border: 1px dashed var(--anzhiyu-theme-op); + width: 100%; +} + +#album_detail .album-info { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: center; + width: 95%; +} + +#album_detail > section > ul > li > div .album-info-time, +#album_detail > section > ul > li > div .album-info-address, +#album_detail > section > ul > li > div .album-info-from { + color: var(--anzhiyu-fontcolor); + font-size: 0.7rem; + background-color: var(--anzhiyu-gray-op); + padding: 0px 8px; + border-radius: 20px; + cursor: default; + display: flex; + align-items: center; + height: 35px; + line-height: 35px; + margin: 4px; + overflow: hidden; +} +#album_detail > section > ul > li > div .album-info-time time { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +#album_detail > section > ul > li > div .album-info-address, +#album_detail > section > ul > li > div .album-info-from { + margin-left: 4px; +} +#album_detail > section > ul > li > div .album-info-address span, +#album_detail > section > ul > li > div .album-info-from span { + margin-left: 4px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +#album_detail .album-info .anzhiyufont.anzhiyu-icon-instagram { + margin-right: 8px; +} + +#album_detail .album-bottom { + display: flex; + justify-content: space-between; + width: 100%; + margin-top: 10px; +} + +#album_detail .album-bottom .album-reply { + cursor: pointer; + width: 5%; +} + +#album_detail .timeline ul li.album-item:hover { + border: var(--style-border-hover); +} + +#album_detail .album-content-link { + display: flex; + margin-left: 0.5rem; + font-size: 0.7rem; + align-items: center; + background-color: rgba(245, 108, 108, 0.13); + color: rgb(245, 108, 108); + padding: 0px 8px; + border-radius: 20px; +} +#album_detail .album-content-link i { + margin-right: 3px; +} +#album_detail .album-content-link:hover { + background-color: var(--anzhiyu-main); + color: var(--anzhiyu-white); +} +#album_detail .album-music { + width: 100%; + height: 90px; + margin: 0.5rem 0; + border-radius: 8px; + overflow: hidden; + border: var(--style-border-always); + background: var(--anzhiyu-secondbg); +} +#album_detail .aplayer { + margin: 0; +} + +#album_detail .aplayer.aplayer-withlrc .aplayer-pic { + height: 82px; + width: 82px; + margin: 4px; + border-radius: 4px; +} +.album-music .aplayer.aplayer-withlrc .aplayer-info { + padding: 5px 7px 0; +} +#album_detail .aplayer .aplayer-info .aplayer-music { + height: 23px; +} +#album_detail .aplayer .aplayer-info .aplayer-music .aplayer-title { + font-size: 0.8rem; + font-weight: 700; + margin: 0; + color: var(--anzhiyu-fontcolor); +} + +#album_detail .aplayer .aplayer-info .aplayer-controller { + align-items: center; +} +#album_detail .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap { + padding: 0; +} +#album_detail .aplayer .aplayer-info .aplayer-controller .aplayer-time { + position: initial; +} +#album_detail .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar { + background: var(--anzhiyu-gray); + height: 8px; + border-radius: 12px; + transition: 0.3s; + overflow: hidden; +} +#album_detail .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-loaded { + height: 100%; + border-radius: 12px; +} +#album_detail .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played { + height: 100%; + border-radius: 12px; +} +#album_detail .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb { + display: none; +} +#album_detail .aplayer .aplayer-info .aplayer-controller .aplayer-time { + position: initial; +} + +body[data-type="album_detail"] #page .author-content-item .card-content .banner-button-group .banner-button:hover { + color: var(--anzhiyu-white); + border-radius: 20px !important; +} + +/* 响应式 */ +@media screen and (max-width: 1200px) { + #album_detail .timeline ul li.album-item { + width: 49%; + margin-right: 1%; + } +} +@media screen and (max-width: 768px) { + #album_detail .timeline ul li.album-item { + width: 100%; + margin-right: 0px; + } +} +[data-theme="dark"] #album_detail .album-music .aplayer, +[data-theme="dark"] #album_detail .aplayer .aplayer-lrc:before, +[data-theme="dark"] #album_detail .aplayer .aplayer-lrc:after { + background: var(--anzhiyu-card-bg); + color: var(--anzhiyu-fontcolor); +} +#album_detail .aplayer .aplayer-lrc p { + color: var(--anzhiyu-fontcolor); +} + +#album_detail .type-gallery { + overflow: hidden; + margin-top: 40px; +} + +#album_detail_gallery_load_more { + opacity: 0; +} + +#album_detail .tag-address { + display: flex; + position: absolute; + left: 8px; + top: 8px; + padding: 4px 6px; + border-radius: 8px; + background: var(--anzhiyu-black-op); + font-size: 12px; + color: var(--anzhiyu-white); + transition: 0.3s; + z-index: 1; + user-select: none; +} + +/* 处理单页背景 */ +body[data-type="album"] #web_bg { + background: var(--anzhiyu-background); +} +body[data-type="album"] #page { + border: 0; + box-shadow: none !important; + padding: 0 !important; + background: 0 0 !important; +} +body[data-type="album"] #page .page-title { + display: none; +} + +/* 变量定义 */ +:root { + --album-background-dark: #2d3548; + --album-text-light: rgba(255, 255, 255, 0.6); + --album-text-lighter: rgba(255, 255, 255, 0.9); + --album-spacing-s: 8px; + --album-spacing-m: 16px; + --album-spacing-l: 24px; + --album-spacing-xl: 32px; + --album-spacing-xxl: 64px; +} + +/* 卡片样式 */ +#album .card-album { + width: 100%; + display: flex; + flex-wrap: wrap; + justify-content: space-around; + margin: var(--album-spacing-xxl) 0 0; +} +#album .card-album .album-content-nocover { + width: calc(100% / 4 - 40px); +} + +#album .card-album .card { + list-style: none; + position: relative; + display: flex; + width: calc(100% / 4 - 10px); + padding: 10px; +} +#album .card-album .card:hover { + cursor: pointer; +} + +#album .card_cover { + border-radius: var(--album-spacing-l); + filter: brightness(0.75) saturate(1.2) contrast(0.85); + transform-origin: center; + transform: scale(1) translateZ(0); + transition: filter 200ms linear, transform 200ms linear; + max-width: 100%; + overflow: hidden; + height: 550px; + width: 100%; + max-width: 100%; + object-fit: cover; + border-radius: var(--album-spacing-l); +} + +#album .card:hover .card_cover { + transform: scale(1.05) translateZ(0); + filter: brightness(0.9) saturate(1.2) contrast(1); +} + +#album .card-album:hover > .card:not(:hover) .card_cover { + filter: brightness(0.5) saturate(0.9) contrast(1.2) blur(20px); +} + +#album .card__content { + left: 0; + padding: var(--album-spacing-l); + position: absolute; + top: 0; +} + +#album .card__category { + color: var(--album-text-light); + font-size: 0.9rem; + margin-bottom: var(--album-spacing-s); + text-transform: uppercase; +} + +#album .card__heading { + color: var(--album-text-lighter); + font-size: 1.9rem; + text-shadow: 2px 2px 20px rgba(0, 0, 0, 0.2); + line-height: 1.4; + word-spacing: 100vw; +} + +@media (min-width: 1024px) { + #album img.card_cover { + height: 600px; + } +} + +@media (max-width: 960px) { + #album .card-album .card { + width: calc(100% / 2 - 40px); + } +} + +@media (max-width: 540px) { + #album .card-album .card { + width: calc(100%); + } +} + +@media (max-width: 768px) { + #album .card-album { + margin-top: 10px; + } + #album .card-album .card { + padding: 10px 0px; + } +} + +h1#site-title { + font-size: 3em !important; +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 3em; + /* 可以定义图标大小 */ + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* 时间轴生肖icon */ +svg.icon { + width: 1em; + height: 1em; + /* width和height定义图标的默认宽度和高度*/ + vertical-align: -0.15em; + fill: currentColor; + overflow: hidden; +} + +.icon-zhongbiao::before { + color: #f7c768; +} + +/* 解决artitalk的图标问题 */ +#uploadSource > svg { + width: 1.19em; + height: 1.5em; +} + +/*top-img黑色透明玻璃效果移除,不建议加,除非你执着于完全一图流或者背景图对比色明显 */ +/* #page-header:not(.not-top-img):before { + background-color: transparent !important; +} */ + +/* 文章页面正文背景 */ +div#post { + background: rgba(255, 255, 255, 0.9); +} +#recent-posts > .recent-post-item:not(:first-child):active { + transform: scale(0.97); +} +/* 分页页面 */ +div#page { + background: rgba(255, 255, 255, 0.9); +} + +/* 归档页面 */ +div#archive { + background: rgba(255, 255, 255, 0.9); +} + +/* 标签页面 */ +div#tag { + background: rgba(255, 255, 255, 0.9); +} + +/* 分类页面 */ +div#category { + background: rgba(255, 255, 255, 0.9); +} + +/*夜间模式伪类遮罩层透明*/ +[data-theme="dark"] #recent-posts > .recent-post-item { + background: #121212; +} + +[data-theme="dark"] .card-widget { + background: var(--anzhiyu-card-bg); +} + +[data-theme="dark"] div#post { + background: var(--anzhiyu-card-bg); +} + +[data-theme="dark"] div#tag { + background: var(--anzhiyu-card-bg); +} + +[data-theme="dark"] div#archive { + background: var(--anzhiyu-card-bg); +} + +[data-theme="dark"] div#page { + background: var(--anzhiyu-card-bg); +} + +[data-theme="dark"] div#category { + background: var(--anzhiyu-card-bg); +} + +[data-theme="dark"] div#category { + background: transparent !important; +} + +/* md网站下划线 */ +#article-container a:hover { + text-decoration: none !important; +} + +#article-container #hpp_talk p img { + display: inline; +} + +/* 宽屏适配 */ +.page .layout, +.post .layout { + max-width: 1400px; +} + +.card-widget.card-clock { + font-size: 14px; +} + +#article-container + a:not([data-fancybox="gallery"]):not(.headerlink):not(.cf-friends-link):not(.tag-Link):not(.btn-anzhiyu):not( + .no-text-decoration + ) { + font-weight: 500; + border-bottom: solid 2px var(--anzhiyu-lighttext); + color: var(--anzhiyu-fontcolor); + padding: 0 0.2em; + text-decoration: none; + font-family: auto; +} +#article-container + a:not([data-fancybox="gallery"]):not(.headerlink):not(.cf-friends-link):not(.btn-anzhiyu):not( + .no-text-decoration + ):hover { + color: var(--anzhiyu-white); + background: var(--anzhiyu-main); + box-shadow: var(--anzhiyu-shadow-lightblack); + border-radius: 0.25em; + text-decoration: none; +} + +html.hide-aside .layout > div:first-child { + width: 100%; +} + +/* 动画wowjs兼容调整 */ +.animate__animated { + -webkit-animation-fill-mode: backwards !important; + animation-fill-mode: backwards !important; +} + +/* 文章hover边框 */ +#recent-posts .recent-post-item:hover { + border: var(--style-border-hover); +} +#recent-posts .recent-post-item:hover .recent-post-info .article-title { + color: var(--anzhiyu-theme); +} +#recent-posts .recent-post-item { + height: fit-content; + background: var(--anzhiyu-card-bg); + border-radius: 12px; + cursor: pointer; + border: var(--style-border); + box-shadow: var(--anzhiyu-shadow-border); + user-select: none; +} +/* 移动端容器padding */ +@media screen and (max-width: 768px) { + #body-wrap .layout #page { + padding: 20px 15px !important; + } +} +/* 首页文章宽度 */ +@media screen and (max-width: 1200px) { + .layout > div:first-child { + width: 100% !important; + } +} + +[data-theme="dark"] #footer:before { + content: none; +} + +@media screen and (max-width: 768px) { + .layout > div:first-child:not(.recent-posts) { + border-radius: 12px 12px 0 0; + } +} + +.banners-title { + animation: slide-in 0.6s 0.3s backwards; +} +#algolia-search .search-dialog { + animation: slide-in 0.6s ease 0s 1 normal none running; +} + +@media screen and (min-width: 1200px) { + #page > div:not(.author-content-item) { + animation: slide-in 0.6s 0.2s backwards; + } +} + +@media screen and (min-width: 1200px) { + .author-content-item { + animation: slide-in 0.6s 0s backwards; + } +} + +/* 元素透明度改变 */ +@keyframes slide-in-op { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +#aside-content .card-widget#card-wechat { + background: #57bd6a; + display: flex; + justify-content: center; + align-content: center; + padding: 0; + cursor: pointer; + border: none; + height: 110px; +} +[data-theme="dark"] #aside-content .card-widget#card-wechat { + background-color: #121121; + border: var(--style-border); +} + +#flip-wrapper { + -webkit-perspective: 1000; + perspective: 1000; +} + +#flip-wrapper { + position: relative; + width: 235px; + height: 110px; + z-index: 1; +} +#flip-content { + width: 100%; + height: 100%; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + transition: cubic-bezier(0, 0, 0, 1.29) 0.3s; +} +#aside-content #flip-wrapper #flip-content .face { + position: absolute; + width: 100%; + height: 100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + background-size: 100%; +} + +#aside-content #flip-wrapper #flip-content .back.face { + display: block; + -webkit-transform: rotateY(180deg); + transform: rotateY(180deg); + box-sizing: border-box; + background-size: 100%; +} +#flip-wrapper:hover #flip-content { + -webkit-transform: rotateY(180deg); + transform: rotateY(180deg); +} + +/* 分类目录条、标签目录条 */ +#catalog-bar { + border-radius: var(--anzhiyu-border-radius); + display: flex; + border: var(--anzhiyu-border-radius); + margin-bottom: 1rem; + justify-content: flex-start; + align-items: center; +} + +#catalog-bar:hover { + border-color: var(--anzhiyu-theme); +} + +#catalog-bar i { + line-height: inherit; +} + +#catalog-list { + /* 分类/标签较少时,可以选择不设置 width,居中显示 catalog-list-item */ + display: flex; + white-space: nowrap; + overflow-x: scroll; +} + +#catalog-list::-webkit-scrollbar { + display: none; +} + +.catalog-list-item a { + margin-right: 0.3rem; + font-weight: bold; + color: var(--font-color); + transition: all 0.3s ease-in-out; + display: flex; + align-items: center; + padding: 0.1rem 0.5rem; + border-radius: 8px; + height: 30px; + line-height: 30px; +} +.catalog-list-item { + display: flex; + align-items: center; +} + +.catalog-list-item.selected a { + background: var(--anzhiyu-lighttext); + color: var(--anzhiyu-white); +} + +a.catalog-more { + min-width: fit-content; + font-weight: bold; + color: var(--anzhiyu-fontcolor); + margin-left: 16px; +} + +a.catalog-more:hover { + color: var(--anzhiyu-theme); +} + +#categoryBar { + width: 100%; + display: flex; +} + +#category-bar { + padding: 0.5rem 10px; + background: var(--anzhiyu-card-bg); + display: flex; + white-space: nowrap; + overflow: hidden; + border: var(--style-border); + width: 100%; + height: 50px; + border-radius: 12px; + transition: all 0.3s ease 0s; + animation: slide-in 0.6s 0.3s backwards; +} + +.category-bar-next { + margin-left: 16px; + cursor: pointer; + display: flex; +} + +.category-bar-next:hover { + color: var(--anzhiyu-lighttext); +} + +#category-bar #catalog-bar { + margin-bottom: 0; + overflow-y: hidden; + margin: -0.2rem 0; +} + +#category-bar.category-bar:hover { + border: var(--style-border-hover); + box-shadow: var(--anzhiyu-shadow-main); +} + +#category #category-bar { + padding: 0; + border: none; +} + +#category a.catalog-list-item.select a { + display: none; +} + +#category #catalog-list .catalog-list-item:first-child { + margin-left: 5px; +} + +.catalog-list-item:hover a { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white); +} + +.catalog-list-item.select a { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white); + border-radius: 8px; +} + +.category-bar-more { + margin-left: 1rem; + font-weight: bold; +} + +[data-theme="dark"] #category-bar.category-bar { + background: var(--anzhiyu-background); +} + +@media screen and (max-width: 768px) { + #catalog-bar i { + margin-right: 5px; + } + #categoryBar { + margin-bottom: 0; + position: -webkit-sticky; + position: sticky; + top: 60px; + z-index: 2; + align-items: center; + margin-top: 0; + } + #category-bar.category-bar { + width: 100%; + } + #category-bar.category-bar { + background: var(--anzhiyu-background); + } + [data-theme="dark"] #category-bar.category-bar { + background: var(--anzhiyu-black); + } + #category-bar.category-bar:hover { + border: none; + box-shadow: none; + } + #category-bar { + border: none; + border-radius: 0px; + padding: 0.5rem 20px; + } +} + +/*和风天气 */ +#he-plugin-simple { + z-index: 92; + transition: 0.3s; + position: fixed !important; +} + +#he-plugin-simple.shown { + opacity: 0.5; + pointer-events: unset; +} + +#he-plugin-simple .sticker-important { + color: var(--anzhiyu-white) !important; +} + +.s-sticker div[data-v-41ba7e2c]:not(:first-child):not(:last-child) { + padding: 0 0.07em !important; +} + +body:has(#sidebar-menus.open) #he-plugin-simple { + z-index: 104; + left: 95px !important; + opacity: 1; + display: block; + transition: 0.3s; +} + +div.s-sticker { + background-color: transparent !important; +} +.s-sticker div { + color: var(--font-color) !important; + font-weight: bold; +} +body:has(.post-bg.nav-fixed) #he-plugin-simple .s-sticker div { + color: var(--font-color) !important; +} +body:has(.post-bg) #he-plugin-simple .s-sticker div { + color: var(--anzhiyu-white) !important; +} +[data-theme="dark"] body:has(.post-bg) #he-plugin-simple .s-sticker div { + color: var(--font-color) !important; +} + +#weather-view-he { + height: 285px !important; + padding: 10px !important; + border-radius: 10px !important; + background-color: var(--anzhiyu-card-bg) !important; + box-shadow: rgba(0, 0, 0, 0.1) 0 0 20px; + margin-top: 20px !important; + transform: 0.3s; + opacity: 1; +} +.s-sticker ~ [data-v-41ba7e2c] { + opacity: 0; +} +[data-v-41ba7e2c]:has([data-v-db6ccf64][data-v-41ba7e2c]) { + opacity: 1; +} +[data-v-db6ccf64][data-v-41ba7e2c] { + top: 38px !important; +} +.wv-lt-location, +.wv-lt-refresh { + display: inline-block; +} +.wv-lt-location a { + padding: 0 5px; + border-radius: 3px; + color: var(--anzhiyu-blue) !important; + background-color: var(--anzhiyu-blue-tint); + text-decoration: none !important; +} +.wv-lt-col-5 { + text-align: right; +} +.wv-lt-refresh a { + font-size: 0 !important; +} +.wv-lt-refresh a::after { + content: "\5b89\77e5\9c7c\548c\98ce"; + font-size: small !important; +} +.vw-f-cell a, +.wv-n-h-now-rain-text, +.wv-n-h-now-tmp span, +.wv-n-h-now-txt span, +.wv-n-h-now-txt-t { + color: var(--anzhiyu-fontcolor) !important; +} +.wv-f-table div .vw-f-cell:nth-child(1) a { + color: #9b9b9b !important; +} +.wv-top-backdrop { + height: 285px !important; + padding-top: 50px !important; +} +.wv-top-backdrop::after { + content: "\8BF7\4F7F\7528\952E\76D8\2191\2193\9009\62E9\FF0C\56DE\8F66\9009\5B9A" !important; + padding-left: 5%; +} +.wv-top-button, +.wv-top-select { + height: 36px !important; + border: none !important; + border-radius: 5px !important; + cursor: pointer; + transition: 0.25s; +} +.wv-top-select { + padding-left: 10px !important; +} +.wv-top-button { + background-color: var(--anzhiyu-blue) !important; + color: #fff !important; +} + +.wv-top-button:hover { + background-color: var(--anzhiyu-blue-hover) !important; +} +.wv-top-button:active { + background-color: var(--anzhiyu-blue-hover) !important; +} + +@media screen and (max-width: 1400px) { + #he-plugin-simple { + display: none; + } +} + +@media screen and (min-width: 1400px) and (max-width: 1690px) { + #he-plugin-simple { + left: 262px !important; + } +} + +#article-container ol, +#article-container ul { + margin-top: 0.4rem; + padding: 0px 0px 0px 0.8rem; + list-style: none; + counter-reset: li 0; +} +#article-container code { + padding: 0.2rem 0.4rem; + border-radius: 4px; + margin: 0 4px; + line-height: 2; + box-shadow: var(--anzhiyu-shadow-border); +} +#article-container.post-content li::marker { + content: none; +} +#article-container ol li:not(.tab), +#article-container ul li:not(.tab) { + position: relative; + margin: 0.2rem 0px; +} +#article-container ul > li:not(.tab) { + padding: 0.2em 0.2em 0.2em 1.4em; +} +#article-container ul > li:not(.tab):before { + border: 0.21em solid var(--anzhiyu-lighttext); + background: var(--anzhiyu-lighttext); +} +#article-container ul > li:not(.tab)::before { + top: 0.78em; + width: 0.42em; + height: 0.42em; + border-radius: 0.42em; + content: ""; + line-height: 0.42em; +} + +#article-container ol li::before, +#article-container ul li::before { + position: absolute; + top: 0px; + left: 0px; + background: var(--anzhiyu-main); + color: rgb(255, 255, 255); + transition: all 0.3s ease-out 0s; +} +#article-container ol > li::before { + margin-top: 0.65em; + width: 1.45em; + height: 1.45em; + border-radius: 0.725em; + content: counter(li); + counter-increment: li 1; + text-align: center; + font-size: 0.85em; + line-height: 1.45em; +} +#article-container ol[start] { + counter-reset: unset; +} +#article-container ol li:not(.tab), +#article-container ul li:not(.tab) { + position: relative; + margin: 0.2rem 0px; +} +#article-container ol > li:not(.tab) { + padding: 0.2em 0.2em 0.2em 1.8em; +} + +/* 代码框主题 */ +#article-container figure.highlight { + border-radius: 10px; +} +#post-comment blockquote { + background: var(--anzhiyu-secondbg); + border: var(--style-border); + box-shadow: none; + margin: 0px 0px 0.5rem; + font-size: 0.6rem; + color: var(--anzhiyu-secondtext); + border-radius: 8px; +} + +details.folding-tag[open] { + border-radius: 15px !important; + border-color: var(--anzhiyu-main) !important; + border: 1px solid var(--anzhiyu-main) !important; +} + +li details.folding-tag { + border-radius: 8px; +} + +li details.folding-tag summary { + border-radius: 8px; +} + +details.folding-tag { + transition: border 0s ease !important; + border: none !important; +} + +details.folding-tag[open] > summary { + color: var(--anzhiyu-white) !important; + background: var(--anzhiyu-main) !important; + border: 1px solid var(--anzhiyu-main) !important; + border-top: none !important; + border-left: none !important; + border-right: none !important; + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} +details.folding-tag > summary { + border: var(--style-border) !important; + background: var(--anzhiyu-card-bg); + border-radius: 14px !important; + box-shadow: var(--anzhiyu-shadow-border); + color: var(--font-color) !important; + user-select: none; +} +details.folding-tag > summary::marker { + color: var(--anzhiyu-main); + font-size: 16px; +} +details.folding-tag > summary::before { + content: " "; + margin-right: 2px; +} +details.folding-tag[open] > div.content { + border-radius: 0 0 16px 16px; +} +details.folding-tag summary:hover::marker { + color: var(--anzhiyu-white); +} +details.folding-tag[open] > summary::marker { + color: var(--anzhiyu-white); +} +details.folding-tag summary:hover { + cursor: pointer; + background: var(--anzhiyu-main) !important; + color: var(--anzhiyu-white) !important; + transition: 0.3s; + box-shadow: var(--anzhiyu-shadow-main); +} +details .content > *:nth-child(1) { + margin-top: 0 !important; +} + +.flink details.folding-tag[open] > div.content { + padding: 20px; + margin: 0px; + margin-top: 0; +} + +.comment-barrage { + position: fixed; + bottom: 0; + right: 60px; + padding: 0 0 20px 10px; + z-index: 100; + display: flex; + flex-direction: column; + justify-content: end; + align-items: flex-end; + z-index: 999; + transition: 0.3s; +} +@media screen and (max-width: 768px) { + .comment-barrage { + display: none !important; + } +} +.comment-barrage-item { + min-width: 300px; + max-width: 300px; + width: fit-content; + min-height: 80px; + max-height: 150px; + margin: 4px; + padding: 8px 14px; + background: var(--anzhiyu-maskbgdeep); + border-radius: 8px; + color: var(--anzhiyu-fontcolor); + animation: barrageIn 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); + transition: 0.3s; + display: flex; + flex-direction: column; + border: var(--style-border); + backdrop-filter: saturate(180%) blur(20px); + -webkit-backdrop-filter: blur(20px); + transform: translateZ(0); + position: fixed; + box-shadow: var(--anzhiyu-shadow-border); +} +.comment-barrage-item:hover { + border: var(--style-border-hover); + box-shadow: var(--anzhiyu-shadow-main); +} +.comment-barrage-item.out { + opacity: 0; + animation: barrageOut 0.6s cubic-bezier(0.42, 0, 0.3, 1.11); +} +.comment-barrage-item a.barrageContent:hover { + color: var(--anzhiyu-main); +} +.comment-barrage-item.hovered { + opacity: 0; +} +.comment-barrage-item .comment-barrage-close { + color: var(--anzhiyu-secondtext); + cursor: pointer; + line-height: 1; + padding: 4px; +} +.comment-barrage-item .comment-barrage-close:hover { + color: var(--anzhiyu-main); +} +.comment-barrage-item pre { + display: none; +} +.comment-barrage-item p img:not(.tk-owo-emotion) { + display: none; +} + +.comment-barrage-item .barrageHead { + height: 30px; + padding: 0; + line-height: 30px; + font-size: 12px; + border-bottom: var(--style-border); + display: flex; + justify-content: space-between; + align-items: center; + font-weight: 700; + padding-bottom: 6px; +} +.comment-barrage-item .barrageHead .barrageTitle { + color: var(--anzhiyu-card-bg); + margin-right: 8px; + background: var(--anzhiyu-fontcolor); + line-height: 1; + padding: 4px; + border-radius: 4px; +} +.comment-barrage-item .barrageHead .barrageTitle.barrageBloggerTitle { + background: var(--anzhiyu-orange); +} +.comment-barrage-item .barrageAvatar { + width: 16px; + height: 16px; + margin: 0; + margin-left: auto; + margin-right: 8px; + border-radius: 50%; + background: var(--anzhiyu-secondbg); +} +.comment-barrage-item .barrageContent { + font-size: 14px !important; + font-weight: 400 !important; + height: calc(100% - 30px); + overflow: scroll; + cursor: pointer; +} +.comment-barrage-item .barrageContent::-webkit-scrollbar { + height: 0; + width: 4px; +} +.comment-barrage-item .barrageContent::-webkit-scrollbar-button { + display: none; +} +.comment-barrage-item .barrageContent p { + margin: 8px 0; + line-height: 1.3; + overflow: hidden; + text-overflow: ellipsis; + -webkit-line-clamp: 2; + display: -webkit-box; + -webkit-box-orient: vertical; +} +.comment-barrage-item .barrageContent blockquote p { + margin: 0; +} +.comment-barrage-item .barrageContent h1, +.comment-barrage-item .barrageContent h2, +.comment-barrage-item .barrageContent h3, +.comment-barrage-item .barrageContent h4 { + font-size: 14px !important; + font-weight: 400 !important; + margin: 8px 0 !important; +} + +/* 中控台 */ +#console { + display: flex; + position: fixed; + width: 100vw; + height: 100vh; + top: 0; + left: 0; + justify-content: center; + opacity: 0; + transition: 0.3s ease-out, color 0s; + flex-direction: column; + align-items: center; + pointer-events: none; + margin: 0 !important; + z-index: 2; +} +#console-music-bg { + display: none; +} + +#console.show, +#console.reward-show { + opacity: 1; + pointer-events: all; +} + +#console.reward-show .console-card-group { + pointer-events: none; +} + +#console .console-card-group { + display: flex; + justify-content: space-between; + align-items: center; + margin: 0 30px; + transform: translateY(20px); + transition: 0.3s; + opacity: 0; + max-width: 80%; + max-height: 70%; +} + +#console.show .console-card-group { + transform: translateY(0px); + opacity: 1; + transition-delay: 0.1s; +} + +#console .console-card-group-left { + margin-right: 0.5rem; + width: 40%; + height: 100%; +} + +#console .console-card-group-right { + display: flex; + flex-direction: column; + justify-content: space-between; + height: 100%; + width: 60%; + overflow: hidden; + min-width: 575px; +} + +#console .console-card { + background: var(--card-bg); + border-radius: 12px; + overflow: hidden; + border: var(--style-border); + box-shadow: var(--anzhiyu-shadow-border); + padding: 40px; +} + +#console .console-card.tags { + height: calc(100% - 172px); +} + +#console .console-mask { + background: var(--anzhiyu-maskbgdeep); + backdrop-filter: saturate(100%) blur(0px); + -webkit-backdrop-filter: blur(0px); + width: 100vw; + height: 100vh; + top: 0; + left: 0; + position: absolute; + z-index: -1; + transition: 0.3s; + margin: 0px !important; +} + +#console.show .console-mask, +#console.reward-show .console-mask { + backdrop-filter: saturate(180%) blur(20px); + -webkit-backdrop-filter: blur(20px); + transform: translateZ(0); +} + +#card-newest-comments .aside-list-item .thumbnail img { + width: 20px; + height: 20px; + margin-right: 8px; + border-radius: 20px; +} + +#card-newest-comments .aside-list-item { + background: var(--anzhiyu-card-bg); + border-radius: 12px; + border: var(--style-border); + padding: 12px 16px; + width: 49%; + display: flex; + flex-direction: column; + height: 150px; + transition: 0.3s; + cursor: pointer; +} + +#card-newest-comments .aside-list-item:not(:last-child) { + margin-bottom: 0.5rem; +} + +#card-newest-comments .aside-list-item .name { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + width: 130px; + font-weight: bold; +} + +#console .author-content-item-tips { + opacity: 0.8; + font-size: 0.6rem; + margin-bottom: 0.5rem; + color: var(--font-color); +} + +#console .author-content-item-title { + font-size: 27px; + font-weight: 700; + line-height: 1; + color: var(--font-color); +} + +#console .aside-list-item .thumbnail { + display: flex; + align-items: center; + width: fit-content; +} + +#console .aside-list-item .content { + display: flex; + flex-direction: column; + height: 100%; + margin-top: 0.5rem; +} + +#card-newest-comments .aside-list-item:hover { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white); +} + +#console .aside-list-item .content .comment { + -webkit-line-clamp: 2; + display: -webkit-box; + overflow: hidden; + -webkit-box-orient: vertical; + line-height: 24px; + font-size: 14px; + border-radius: 0px; +} + +#console .aside-list-item:hover .thumbnail, +#console .aside-list-item:hover .content .comment, +#console .aside-list-item:hover .content time { + color: var(--anzhiyu-white); +} + +#console .aside-list-item .content time { + font-size: 12px; + margin-top: auto; + color: var(--anzhiyu-fontcolor); +} + +#console .aside-list { + display: flex; + flex-wrap: wrap; + flex-direction: row; + justify-content: space-between; + margin-top: 0.5rem; +} + +#console .button-group { + display: flex; + margin: 1rem auto 0 auto; + justify-content: center; + width: fit-content; +} + +#console .button-group .console-btn-item { + width: 60px; + height: 60px; + transition: 0.3s; + cursor: pointer; +} + +#console .button-group .console-btn-item:not(:last-child) { + margin-right: 0.5rem; +} + +#console .button-group .console-btn-item a { + width: 100%; + height: 100%; + background: var(--card-bg); + border: var(--style-border); + border-radius: 60px; + display: flex; + align-items: center; + justify-content: center; + color: var(--anzhiyu-fontcolor); +} + +#console .button-group .console-btn-item.on a { + background: var(--anzhiyu-orange); + color: var(--anzhiyu-white); + transition: 0.3s; +} + +.console-card.tags .card-tag-cloud { + margin-top: 1.5rem; + display: flex; + flex-wrap: wrap; + max-height: 230px; + overflow: hidden; +} + +.console-card.tags .card-tag-cloud a { + color: var(--anzhiyu-fontcolor) !important; + margin: 6px 4px; + padding: 2px 8px; + border-radius: 8px; + background: var(--anzhiyu-secondbg); + border: var(--style-border); + font-size: 14px !important; + font-weight: bold; +} + +.console-card.tags .card-tag-cloud a:hover { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white) !important; +} + +.console-card.tags .card-tag-cloud a sup { + opacity: 0.6; +} + +#console .console-card.history { + margin-top: 8px; + padding: 0; + background: none; + box-shadow: none; + border: none; + overflow: hidden; + min-width: 575px; +} + +#console .console-card.history .item-headline { + display: none; +} + +#console .console-card.history .card-archive-list { + display: flex; + flex-direction: row; + flex-wrap: wrap; +} + +#console .console-card.history .card-archive-list li.card-archive-list-item { + flex: 0 0 25%; +} + +#console .console-card.history .card-archive-list .card-archive-list-link { + border-radius: 8px; + margin: 4px; + display: flex; + flex-direction: column; + align-content: space-between; + border: var(--style-border); + background: var(--card-bg); + padding: 8px 16px; +} + +#console .console-card.history .card-archive-list .card-archive-list-link:hover { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white); +} + +#console #card-newest-comments { + height: 100%; + min-height: 580px; +} + +#console .button-group i { + font-size: 1rem; +} + +#console hr { + display: none; +} + +#console ul { + padding-left: 0; +} +#console ul li { + list-style: none; +} +#console .console-card.history ul.card-archive-list { + margin: -4px; +} + +[data-theme="dark"] #console .button-group .console-btn-item a.darkmode_switchbutton { + background: var(--anzhiyu-orange); + color: var(--anzhiyu-white); +} + +/* 控制台音乐css */ +body:has(#console.show) + #nav-music + .aplayer + .aplayer-info + .aplayer-controller + .aplayer-bar-wrap:hover + .aplayer-bar + .aplayer-played + .aplayer-thumb { + display: inline; +} + +body:has(#console.show) .aplayer.aplayer-arrow .aplayer-icon-loop, +.aplayer.aplayer-arrow .aplayer-icon-order { + display: inline; +} +body:has(#console.show) .aplayer-volume-wrap { + display: none; +} +body:has(#console.show) #nav-music { + z-index: 10000; + left: 45%; + top: 23%; + box-shadow: none; + align-items: flex-start; + transition: 0s; + height: 35%; + width: 42%; + opacity: 1 !important; + justify-content: center; +} + +body:has(#console.show) #nav-music:active { + transform: scale(1); +} +body:has(#console.show) #nav-music .aplayer.aplayer-withlrc .aplayer-lrc { + opacity: 1; + width: 100%; + height: 180px; + margin: 0; + padding: 0; +} +body:has(#console.show) #nav-music .aplayer .aplayer-lrc p.aplayer-lrc-current, +body:has(#console.show) #nav-music .aplayer .aplayer-lrc p { + color: var(--anzhiyu-fontcolor); +} +body:has(#console.show) #nav-music #nav-music-hoverTips { + opacity: 0; + height: 70px; + width: 70px; + margin-left: 0px; + border-radius: 50%; + box-shadow: 0 0 14px #ffffffa6; + transform: rotate(0deg) scale(1.1); + border: var(--style-border-always); + animation: changeright 24s linear infinite; + margin-top: 10px; + left: auto; +} +body:has(#console.show) + #nav-music + .aplayer + .aplayer-info + .aplayer-controller + .aplayer-bar-wrap + .aplayer-bar + .aplayer-loaded { + display: block; + border-radius: 10px; + height: 10px; +} +body:has(#console.show) meting-js { + height: 100%; + width: 100%; +} +body:has(#console.show) #nav-music .aplayer .aplayer-body { + align-items: center; + flex-direction: column; + width: 100%; + cursor: auto; +} +body:has(#console.show) #nav-music .aplayer { + height: 100%; + width: 100%; + padding: 10px 10px 0; +} +body:has(#console.show) #nav-music .aplayer { + background: none; + border: none; +} +body:has(#console.show) #nav-music.playing { + animation: none; +} +body:has(#console.show) #nav-music .aplayer .aplayer-info .aplayer-music { + height: auto; + margin-bottom: 10px; +} +body:has(#console.show) #nav-music .aplayer.aplayer-withlrc .aplayer-info { + flex-direction: column; + height: auto; + position: relative; +} + +body:has(#console.show) .aplayer .aplayer-pic .aplayer-play { + width: 30px; + height: 30px; +} +body:has(#console.show) .aplayer .aplayer-pic .aplayer-play svg { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-44%, -50%); +} +body:has(#console.show) #nav-music .aplayer.aplayer-withlrc .aplayer-pic { + height: 70px; + width: 70px; + margin-left: 0px; + border-radius: 50%; +} +body:has(#console.show) #nav-music .aplayer .aplayer-info .aplayer-music .aplayer-author { + display: inline; +} +body:has(#console.show) #nav-music .aplayer .aplayer-info .aplayer-music .aplayer-title { + color: var(--anzhiyu-fontcolor); + cursor: auto; + line-height: 2; + display: inline-block; + white-space: nowrap; + max-width: 300px; + overflow: hidden; + text-overflow: ellipsis; + transition: 0.3s; + user-select: none; + margin-right: 3px; +} +body:has(#console.show) #nav-music .aplayer .aplayer-info .aplayer-controller { + width: 100%; + height: auto; + top: 26px; + align-items: center; +} +body:has(#console.show) #nav-music .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar { + height: 10px; + border-radius: 10px; + background: #cdcdcd; +} +body:has(#console.show) #nav-music .aplayer .aplayer-info .aplayer-controller .aplayer-time { + display: block; + bottom: 0; +} +body:has(#console.show) #nav-music .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap { + margin: 0; + padding: 0; +} +body:has(#console.show) + #nav-music + .aplayer.aplayer-withlist + .aplayer-info + .aplayer-controller + .aplayer-time + .aplayer-icon.aplayer-icon-menu { + display: none; +} +body:has(#console.show) + #nav-music + .aplayer + .aplayer-info + .aplayer-controller + .aplayer-bar-wrap + .aplayer-bar + .aplayer-played { + background: var(--anzhiyu-main) !important; + opacity: 0.8; + animation: none; + border-radius: 10px; +} +body:has(#console.show) + #nav-music + .aplayer + .aplayer-info + .aplayer-controller + .aplayer-bar-wrap + .aplayer-bar + .aplayer-played + .aplayer-thumb { + margin-top: -2px; + width: 15px; + height: 15px; +} +body:has(#console.show) #nav-music .aplayer .aplayer-lrc .aplayer-lrc-contents { + margin-top: 80px; +} + +@media screen and (min-width: 1200px) and (max-width: 1450px) { + body:has(#console.show) #nav-music { + left: 45%; + } +} + +/* 赞赏部分控制台css */ +.console-card-group-reward { + opacity: 0; + display: none; +} +.reward-show .console-card-group-reward { + opacity: 1; + display: block; + position: absolute; +} +.console-card-group-reward .reward-all { + display: flex; + align-items: center; + justify-content: center; +} +.console-card-group-reward .reward-all .reward-item { + display: flex; + flex-direction: column; + align-items: center; + margin: 0.625rem; +} +.console-card-group-reward .reward-all .reward-item img { + width: 230px; + height: 230px; +} + +@media screen and (max-width: 1200px) { + /* 移动端音乐列表 */ + body:has(#console.show) #nav-music .aplayer-list { + display: block; + position: absolute; + z-index: 1; + background: white; + left: 0; + } + body:has(#console.show) .aplayer-list { + max-height: none !important; + } + body:has(#console.show) .aplayer-list { + position: fixed; + display: none; + width: 100%; + bottom: -76%; + left: 0; + background: var(--sidebar-bg); + height: auto; + border-radius: 15px 15px 0px 0px; + padding: 15px 0px; + } + body:has(#console.show) .aplayer-list.aplayer-list-hide { + bottom: 0% !important; + } + body:has(#console.show) ol > li { + display: flex; + margin: 0 10px; + } + body:has(#console.show) ol > li span.aplayer-list-title { + width: 30%; + } + body:has(#console.show) ol > li.aplayer-list-light { + background: #33a673; + padding: 5px 20px; + border-radius: 10px; + } + + body:has(#console.show) ol > li.aplayer-list-light span { + color: #fff; + } + body:has(#console.show) ol > li span.aplayer-list-title { + max-width: 55%; + width: auto; + display: -webkit-box; + -webkit-line-clamp: 1; + overflow: hidden; + -webkit-box-orient: vertical; + } + body:has(#console.show) ol > li span.aplayer-list-author { + position: absolute; + right: 10px; + width: auto; + max-width: 35%; + display: -webkit-box; + -webkit-line-clamp: 1; + overflow: hidden; + -webkit-box-orient: vertical; + } + body:has(#console.show) ol > li.aplayer-list-light span.aplayer-list-author { + right: 15px; + } + /* 移动端音乐 */ + body:has(#console.show) meting-js { + position: relative; + } + #console .console-card-group { + justify-content: center; + } + + #console .console-card-group { + display: none; + } + + #console .console-card-group-right { + width: 100%; + margin: 0; + } + + #consoleCommentBarrage { + display: none; + } + + #console .button-group { + position: absolute; + bottom: 70px; + } + body:has(#console.show) #nav-music #nav-music-hoverTips { + display: none; + } + body:has(#console.show) #nav-music { + position: fixed; + display: block !important; + left: 5.2%; + top: 3.9rem !important; + height: 70%; + width: 85%; + } + body:has(#console.show) #console-music-bg { + display: block; + filter: blur(33px); + display: block; + background: #000000; + opacity: 0.58; + width: 100%; + height: 100%; + position: absolute; + top: 0; + transform: scale(1.2); + } + [data-theme="dark"] body:has(#console.show) #console-music-bg { + background: var(--anzhiyu-white); + } + body:has(#console.show) #console-music-bg::after { + box-shadow: inset 0 0px 10px 116px #000000; + position: absolute; + content: ""; + width: 100%; + height: 100%; + top: 0; + left: 0; + } + [data-theme="dark"] body:has(#console.show) #console-music-bg::after { + box-shadow: inset 0 0px 10px 116px var(--anzhiyu-white); + } + body:has(#console.show) #nav-music .aplayer.aplayer-withlrc .aplayer-pic { + height: 100px; + width: 100px; + border-radius: 50%; + animation: none; + border: none; + transform: none !important; + box-shadow: none; + margin-top: 80px; + } + + body:has(#console.show) #nav-music .aplayer { + padding: 30px; + border-radius: 0; + } + body:has(#console.show) #nav-music .aplayer .aplayer-info .aplayer-music .aplayer-title, + body:has(#console.show) #nav-music .aplayer .aplayer-info .aplayer-music .aplayer-author { + color: var(--anzhiyu-white); + } + body:has(#console.show) #nav-music .aplayer.aplayer-withlrc .aplayer-info { + width: 100%; + height: 45%; + } + body:has(#console.show) #nav-music .aplayer .aplayer-body { + justify-content: space-between; + } + body:has(#console.show) #nav-music .aplayer.aplayer-withlrc .aplayer-info::after { + position: absolute; + content: "iPhone"; + top: -20px; + left: 0; + color: #b5b8bc; + } + body:has(#console.show) #nav-music .aplayer .aplayer-info .aplayer-music { + padding: 25px 0 0; + position: absolute; + left: 0; + } + body:has(#console.show) #nav-music .aplayer.aplayer-withlrc .aplayer-lrc { + height: 25px; + text-align: left; + } + + body:has(#console.show) #nav-music .aplayer .aplayer-lrc p.aplayer-lrc-current { + color: var(--anzhiyu-white); + font-size: 20px; + line-height: 25px !important; + float: left; + white-space: nowrap; + animation: an-text-roll 4s cubic-bezier(0.6, 0, 0.5, 1) alternate infinite; + min-width: 100%; + /* margin: 0; */ + } + body:has(#console.show) #nav-music .aplayer .aplayer-lrc p { + color: var(--anzhiyu-white); + font-size: 16px; + margin: 0; + margin-top: 20px; + margin-bottom: 20px; + } + body:has(#console.show) #nav-music .aplayer .aplayer-lrc .aplayer-lrc-contents { + margin: -40px 0px 0; + } + body:has(#console.show) #nav-music .aplayer .aplayer-info .aplayer-controller .aplayer-time { + color: var(--anzhiyu-white); + left: 50%; + transform: translateX(-50%); + top: 15px; + position: absolute; + width: 100%; + padding: 0; + } + body:has(#console.show) #nav-music .aplayer .aplayer-info .aplayer-controller { + top: 58px; + } + body:has(#console.show) .aplayer .aplayer-icon-back, + body:has(#console.show) .aplayer .aplayer-icon-forward, + body:has(#console.show) .aplayer .aplayer-icon-order, + body:has(#console.show) .aplayer .aplayer-icon-play, + body:has(#console.show) + #nav-music + .aplayer.aplayer-withlist + .aplayer-info + .aplayer-controller + .aplayer-time + .aplayer-icon.aplayer-icon-menu, + body:has(#console.show) .aplayer.aplayer-mobile .aplayer-icon-volume-down { + display: inline-block; + opacity: 1; + } + body:has(#console.show) .aplayer .aplayer-icon-volume-down { + width: 36px; + height: 30px; + } + body:has(#console.show) .aplayer-volume-wrap { + position: absolute; + top: 150px; + left: 50%; + transform: translateX(-50%); + width: 75px; + } + body:has(#console.show) #nav-music .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar { + height: 10px; + border-radius: 10px; + } + body:has(#console.show) + #nav-music + .aplayer + .aplayer-info + .aplayer-controller + .aplayer-bar-wrap + .aplayer-bar + .aplayer-loaded { + display: block; + height: 10px; + border-radius: 10px; + } + + body:has(#console.show) .aplayer .aplayer-icon-back { + left: 0; + } + body:has(#console.show) .aplayer .aplayer-icon-forward { + right: 0; + } + body:has(#console.show) .aplayer .aplayer-icon-forward, + body:has(#console.show) .aplayer .aplayer-icon-back { + height: 40px; + width: 33%; + margin: 15px 0; + position: absolute; + } + + body:has(#console.show) .aplayer .aplayer-pic .aplayer-play { + width: 120px; + height: 120px; + } + body:has(#console.show) .aplayer .aplayer-pic .aplayer-pause { + width: 100px; + height: 100px; + } + body:has(#console.show) .aplayer .aplayer-pic .aplayer-play svg { + width: 60px; + height: 60px; + } + body:has(#console.show) .aplayer .aplayer-pic .aplayer-pause svg { + width: 50px; + height: 50px; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + } + + body:has(#console.show) .aplayer .aplayer-icon-play { + height: 50px; + width: 33%; + margin: 10px 0; + position: absolute; + left: 50%; + transform: translateX(-50%); + } + + body:has(#console.show) + .aplayer.aplayer-withlist + .aplayer-info + .aplayer-controller + .aplayer-time + .aplayer-icon.aplayer-icon-menu { + right: 0; + } + body:has(#console.show) .aplayer.aplayer-arrow .aplayer-icon-order { + left: 0; + } + body:has(#console.show) + .aplayer.aplayer-withlist + .aplayer-info + .aplayer-controller + .aplayer-time + .aplayer-icon.aplayer-icon-menu, + body:has(#console.show) .aplayer.aplayer-arrow .aplayer-icon-order { + height: 40px; + width: 33%; + top: 80px; + position: absolute; + } + + body:has(#console.show) .aplayer.aplayer-arrow .aplayer-icon-loop { + height: 40px; + width: 33%; + position: absolute; + left: 50%; + top: 80px; + transform: translateX(-50%); + } + + body:has(#console.show) #nav-music .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap { + margin: 0; + padding: 0; + } + body:has(#console.show) .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-time-inner { + position: relative; + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + } + body:has(#console.show) .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path { + fill: var(--anzhiyu-white); + } + body:has(#console.show) .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap { + overflow: visible; + bottom: 0px; + left: 45px; + right: auto; + } + body:has(#console.show) + .aplayer + .aplayer-info + .aplayer-controller + .aplayer-volume-wrap + .aplayer-volume-bar-wrap + .aplayer-volume-bar, + body:has(#console.show) + .aplayer + .aplayer-info + .aplayer-controller + .aplayer-volume-wrap + .aplayer-volume-bar-wrap + .aplayer-volume-bar + .aplayer-volume { + width: 20px; + border-radius: 4px; + } +} + +@media screen and (max-width: 867px) { + #center-console:checked + label { + display: none; + } + #console .console-card-group { + display: none; + } + + #consoleHideAside { + display: none; + } + .console-card-group-reward .reward-all .reward-item img { + width: 130px; + height: 130px; + } + #console #consoleKeyboard { + display: none; + } +} + +@media screen and (max-height: 800px) { + #console .console-card-group { + display: none; + } + + #consoleMusic { + display: none; + } + + #consoleCommentBarrage { + display: none; + } + + body:has(#console.show) #nav-music { + display: none; + } +} + +@media screen and (min-width: 768px) { + #console .button-group .console-btn-item a:hover { + background: var(--anzhiyu-main) !important; + } + #console .button-group .console-btn-item:hover a { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white); + } +} +@media screen and (max-width: 768px) { + body:has(#console.show) #nav-music { + width: 90%; + } + #center-console + label { + display: none; + } +} +/* 歌词超出文本滚动动画 */ +@keyframes an-text-roll { + from { + margin-left: 0; + } + to { + margin-left: 100%; + transform: translateX(-100%); + } +} + +body[data-type="essay"] #page { + border: 0; + box-shadow: none !important; + padding: 0 !important; + background: transparent !important; +} +body[data-type="essay"] #page .page-title { + display: none; +} +body[data-type="essay"] #web_bg { + background: var(--anzhiyu-background); +} +#bber .bber-container-img { + display: flex; + align-items: center; + justify-content: space-around; + width: 100%; + flex-wrap: wrap; + margin-bottom: 0.3rem; +} +#bber .bber-container-img .bber-content-noimg { + width: calc(100% / 4 - 5px); +} + +#bber .bber-content-img img { + object-fit: cover; + max-height: 100%; +} + +#bber .bber-content-img, +#bber .bber-content-video { + height: 100px; + border-radius: 8px; + overflow: hidden; + display: flex; + justify-content: center; + position: relative; + width: calc(100% / 4 - 5px); + margin-bottom: 10px; +} + +#bber .bber-content-video video { + border-radius: 8px; + object-fit: cover; + max-height: 100%; +} +#bber .bber-content-video::after { + content: "视频"; + display: inline-block; + padding: 1px 6px; + background: var(--anzhiyu-black-op); + border-radius: 8px; + margin-left: 4px; + font-size: 12px; + font-weight: 700; + color: var(--anzhiyu-white); + backdrop-filter: saturate(180%) blur(20px); + -webkit-backdrop-filter: blur(20px); + transform: translateZ(0); + position: absolute; + left: 0; + top: 4px; + z-index: 2; +} + +#bber .bber-content .datacont { + order: 0; + font-size: 0.8rem; + font-weight: 700; + color: var(--anzhiyu-fontcolor); + width: 100%; + line-height: 1.38; + border-radius: 12px; + margin-bottom: 0.5rem; + display: flex; + flex-direction: column; + text-align: justify; +} +#bber p { + margin: 0px; +} +#bber div.bber-content { + display: flex; + flex-flow: wrap; + border-radius: 12px; + width: 100%; + height: 100%; +} +#bber .timeline ul li.bber-item { + position: relative; + width: 32%; + border: var(--style-border-always); + border-radius: 12px; + padding: 1rem 1rem 0.5rem; + transition: all 0.3s ease 0s; + display: flex; + flex-flow: column nowrap; + justify-content: space-between; + align-items: flex-start; + background: var(--anzhiyu-card-bg); + box-shadow: var(--anzhiyu-shadow-border); + margin-right: 2%; +} +#bber .timeline #waterfall.show { + opacity: 1; +} +#bber .timeline #waterfall { + opacity: 0; + transition: all 0.3s ease 0s; +} +#bber ul.list { + display: flex; + flex-flow: row wrap; + justify-content: space-between; +} +#bber { + margin-top: 1rem; + width: 100%; +} +#bber > section > ul > li.bber-item { + margin-bottom: 1rem; +} + +#bber-tips { + font-size: 14px; + display: flex; + justify-content: center; + margin-top: 1rem; +} + +#bber .timeline ul li.bber-item hr { + display: flex; + position: relative; + margin: 8px 0px; + border: 1px dashed var(--anzhiyu-theme-op); + width: 100%; +} + +#bber .bber-info { + display: flex; + align-items: center; +} + +#bber > section > ul > li > div .bber-info-time, +#bber > section > ul > li > div .bber-info-from { + color: var(--anzhiyu-fontcolor); + font-size: 0.7rem; + background-color: var(--anzhiyu-gray-op); + padding: 0px 8px; + border-radius: 20px; + cursor: default; + display: flex; + align-items: center; +} + +#bber .bber-info .anzhiyufont.anzhiyu-icon-clock { + margin-right: 4px; + font-size: 0.7rem; +} +#bber > section > ul > li > div .bber-info-from span, +#bber > section > ul > li > div .bber-info-from { + margin-left: 4px; +} +#bber > section > ul > li > div .bber-info-from i { + font-size: 0.7rem; +} +#bber .bber-item hr::before { + display: none; +} + +#bber .bber-bottom { + display: flex; + justify-content: space-between; + width: 100%; + margin-top: 10px; +} + +.bber-reply { + cursor: pointer !important; +} + +.bber-reply:hover { + color: var(--anzhiyu-main); + max-height: 35px; +} + +#bber .timeline ul li.bber-item:hover { + border: var(--style-border-hover); +} + +#bber .bber-content-link { + display: flex; + margin-left: 0.5rem; + font-size: 0.7rem; + align-items: center; + background-color: rgba(245, 108, 108, 0.13); + color: rgb(245, 108, 108); + padding: 0px 8px; + border-radius: 20px; +} +#bber .bber-content-link i { + margin-right: 3px; + font-size: 0.7rem; +} +#bber .bber-content-link:hover { + background-color: var(--anzhiyu-main); + color: var(--anzhiyu-white); +} +#bber .bber-music { + width: 100%; + height: 90px; + margin: 0.5rem 0; + border-radius: 8px; + overflow: hidden; + border: var(--style-border-always); + background: var(--anzhiyu-secondbg); +} +#bber .aplayer { + margin: 0; +} + +#bber .aplayer.aplayer-withlrc .aplayer-pic { + height: 82px; + width: 82px; + margin: 4px; + border-radius: 4px; +} +.bber-music .aplayer.aplayer-withlrc .aplayer-info { + padding: 5px 7px 0; +} +#bber .aplayer .aplayer-info .aplayer-music { + height: 23px; +} +#bber .aplayer .aplayer-info .aplayer-music .aplayer-title { + font-size: 0.8rem; + font-weight: 700; + margin: 0; + color: var(--anzhiyu-fontcolor); +} + +#bber .aplayer .aplayer-info .aplayer-controller { + align-items: center; +} +#bber .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap { + padding: 0; +} +#bber .aplayer .aplayer-info .aplayer-controller .aplayer-time { + position: initial; +} +#bber .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar { + background: var(--anzhiyu-gray); + height: 8px; + border-radius: 12px; + transition: 0.3s; + overflow: hidden; +} +#bber .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-loaded { + height: 100%; + border-radius: 12px; +} +#bber .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played { + height: 100%; + border-radius: 12px; +} +#bber .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb { + display: none; +} +#bber .aplayer .aplayer-info .aplayer-controller .aplayer-time { + position: initial; +} + +/* 顶部样式 */ +.author-content.author-content-item.essayPage { + height: 19rem; + color: var(--anzhiyu-white); + overflow: hidden; + margin-top: 0px; +} +body[data-type="essay"] #page .author-content-item .card-content .banner-button-group .banner-button:hover { + color: var(--anzhiyu-white); + border-radius: 20px !important; +} + +/* 响应式 */ +@media screen and (max-width: 1200px) { + #bber .timeline ul li.bber-item { + width: 49%; + margin-right: 1%; + } +} +@media screen and (max-width: 768px) { + #bber .timeline ul li.bber-item { + width: 100%; + margin-right: 0px; + } +} +[data-theme="dark"] #bber .bber-music .aplayer, +[data-theme="dark"] #bber .aplayer .aplayer-lrc:before, +[data-theme="dark"] #bber .aplayer .aplayer-lrc:after { + background: var(--anzhiyu-card-bg); + color: var(--anzhiyu-fontcolor); +} +#bber .aplayer .aplayer-lrc p { + color: var(--anzhiyu-fontcolor); + min-height: 40px; + line-height: 30px !important; + height: 40px !important; + margin: 0 !important; +} + +#bbTimeList { + background: var(--anzhiyu-white); + color: var(--anzhiyu-fontcolor); + padding: 0.5rem 1rem; + border-radius: 12px; + box-shadow: var(--anzhiyu-shadow-lightblack); + display: flex; + transition: all 0.3s ease 0s; + margin: 1rem auto 0; + border: var(--style-border); + align-items: center; + height: 50px; + width: 100%; + max-width: calc(1400px - 3rem); + animation: slide-in .6s 0s backwards; +} +@media screen and (max-width: 1400px) { + #bbTimeList { + max-width: calc(100% - 3rem); + animation: slide-in 0.6s 0s backwards; + } +} +@media screen and (max-width: 768px) { + div#bbTimeList { + margin: 0 20px 15px; + } +} +[data-theme="dark"] #bbTimeList { + background: #000 !important; +} +#bbtalk { + width: 100%; +} +#bber-talk { + width: 100%; + height: 30px; + line-height: 30px; + display: flex; + flex-direction: column; +} +i.bber-logo { + font-size: 2rem; + line-height: 22px; + margin-right: 1rem; + transition: all 0.3s ease 0s; + cursor: pointer !important; +} +i.bber-logo:hover, +i.bber-gotobb:hover { + color: var(--anzhiyu-main); +} + +i.bber-gotobb { + line-height: 30px; + margin-left: 1rem; + transition: all 0.3s ease 0s; + cursor: pointer; +} + +#bber-talk .li-style { + width: 100%; + max-width: 100%; + text-align: center; + overflow: hidden; + text-overflow: ellipsis; + transition: 0.3s; + font-weight: 700; + margin: auto; + cursor: pointer; + white-space: nowrap; +} +#bber-talk .li-style:hover { + color: var(--anzhiyu-main); +} + +#bbTimeList:hover { + border: var(--style-border-hover); + box-shadow: var(--anzhiyu-shadow-main); +} + +/* 文章页H1-H6图标样式效果 */ +@-webkit-keyframes rotate { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(-1turn); + transform: rotate(-1turn); + } +} +@keyframes rotate { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(-1turn); + transform: rotate(-1turn); + } +} + +/* 音乐播放器 */ + +.aplayer.aplayer-narrow .aplayer-body, +.aplayer.aplayer-narrow .aplayer-pic { + height: 66px; + width: 66px; +} + +/* 导航栏音乐 */ +@media screen and (max-width: 1200px) { + #nav-music { + display: none !important; + } +} + +#nav-music { + display: flex; + align-items: center; + z-index: 9; + position: fixed; + bottom: 20px; + left: 20px; + cursor: pointer; + transition: all 0.5s, left 0s; + transform-origin: left bottom; + box-shadow: var(--anzhiyu-shadow-border); + border-radius: 40px; + overflow: hidden; +} + +#nav-music:active { + transform: scale(0.97); +} + +#nav-music.playing { + border: var(--style-border); + box-shadow: 0 0px 12px -3px var(--anzhiyu-none); + animation: playingShadow 5s linear infinite; +} + +@keyframes playingShadow { + 0% { + box-shadow: 0 0px 12px -3px var(--anzhiyu-none); + } + + 50% { + box-shadow: 0 0px 12px 0px var(--anzhiyu-main); + } + + 100% { + box-shadow: 0 0px 12px -3px var(--anzhiyu-none); + } +} + +#nav-music .aplayer.aplayer-withlrc .aplayer-pic { + height: 25px; + width: 25px; + border-radius: 40px; + z-index: 1; + transition: 0.3s; + transform: rotate(0deg) scale(1); + border: var(--style-border-always); + animation: changeright 24s linear infinite; + animation-play-state: paused; +} + +#nav-music.playing .aplayer.aplayer-withlrc .aplayer-pic { + box-shadow: 0 0 14px #ffffffa6; + transform: rotate(0deg) scale(1.1); + border-color: var(--anzhiyu-white); + animation-play-state: running; +} + +@keyframes changeright { + 0% { + transform: rotate(0deg) scale(1.1); + box-shadow: 0 0 2px #ffffff00; + } + + 25% { + transform: rotate(90deg) scale(1.1); + box-shadow: 0 0 14px #ffffff; + } + + 50% { + transform: rotate(180deg) scale(1.1); + box-shadow: 0 0 2px #ffffff00; + } + + 75% { + transform: rotate(270deg) scale(1.1); + box-shadow: 0 0 14px #ffffff; + } + + 100% { + transform: rotate(360deg) scale(1.1); + box-shadow: 0 0 2px #ffffff00; + } +} + +#nav-music .aplayer.aplayer-withlrc .aplayer-info { + height: 100%; + color: var(--anzhiyu-fontcolor); + margin: 0; + padding: 0; + display: flex; + align-items: center; +} + +#nav-music.playing .aplayer.aplayer-withlrc .aplayer-info { + color: var(--anzhiyu-white); +} + +#nav-music.playing #nav-music-hoverTips { + width: 0; + opacity: 0; +} +#nav-music #nav-music-hoverTips { + color: var(--anzhiyu-white); + background: var(--anzhiyu-main); + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + align-items: center; + justify-content: center; + display: flex; + border-radius: 40px; + opacity: 0; + font-size: 12px; + z-index: 2; + transition: 0.3s; +} + +#nav-music:hover:not(.playing) #nav-music-hoverTips { + opacity: 1; +} + +#nav-music + .aplayer + .aplayer-info + .aplayer-controller + .aplayer-bar-wrap:hover + .aplayer-bar + .aplayer-played + .aplayer-thumb { + display: none; +} + +#nav-music .aplayer { + background: var(--card-bg); + border-radius: 60px; + height: 41px; + display: flex; + margin: 0; + transition: 0.3s; + border: var(--style-border); + box-shadow: none; +} + +#nav-music.playing .aplayer { + background: var(--anzhiyu-main); + border: var(--style-border-hover); + backdrop-filter: saturate(180%) blur(20px); + backdrop-filter: blur(20px); + transform: translateZ(0); +} + +#nav-music .aplayer .aplayer-notice { + display: none; +} + +#nav-music .aplayer .aplayer-miniswitcher { + display: none; +} + +#nav-music .aplayer .aplayer-body { + position: relative; + display: flex; + align-items: center; +} + +#nav-music .aplayer-list { + display: none; +} + +#nav-music .aplayer .aplayer-info .aplayer-music { + margin: 0; + display: flex; + align-items: center; + padding: 0 12px 0 8px; + cursor: pointer; + z-index: 1; + height: 100%; +} + +#nav-music .aplayer .aplayer-info .aplayer-controller .aplayer-time { + display: none; +} + +#nav-music .aplayer .aplayer-info .aplayer-music .aplayer-author { + display: none; +} + +#nav-music .aplayer.aplayer-withlist .aplayer-info { + border: none; +} + +#nav-music .aplayer .aplayer-pic .aplayer-button { + bottom: 50%; + right: 50%; + transform: translate(50%, 50%); + margin: 0; + transition: 0.3s; +} +#nav-music .aplayer .aplayer-pic:has(.aplayer-button.aplayer-play) { + animation-play-state: paused; + transform: rotate(0deg) scale(1) !important; +} +#nav-music .aplayer.aplayer-withlrc .aplayer-pic { + margin-left: 8px; +} +#nav-music .aplayer .aplayer-info .aplayer-music .aplayer-title { + cursor: pointer; + line-height: 1; + display: inline-block; + white-space: nowrap; + max-width: 120px; + overflow: hidden; + text-overflow: ellipsis; + transition: 0.3s; + user-select: none; +} + +#nav-music .aplayer .aplayer-info .aplayer-controller { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; +} + +#nav-music .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap { + margin: 0; + padding: 0; +} + +#nav-music .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar { + height: 100%; + background: 0 0; +} + +#nav-music .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-loaded { + display: none; +} + +#nav-music .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played { + height: 100%; + opacity: 0.1; + background-color: var(--anzhiyu-white) !important; + animation: lightBar 5s ease infinite; + animation-play-state: paused; +} + +#nav-music.playing .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played { + animation-play-state: running; +} + +@keyframes lightBar { + 0% { + opacity: 0.1; + } + + 60% { + opacity: 0.3; + } + + 100% { + opacity: 0.1; + } +} + +/* 歌词 */ +#nav-music .aplayer.aplayer-withlrc .aplayer-lrc { + width: 0; + opacity: 0; + transition: 0.3s; + margin-top: -2px; + padding: 5px 0; +} +#nav-music.stretch .aplayer.aplayer-withlrc .aplayer-lrc { + width: 200px; + margin-left: 8px; + opacity: 1; +} + +#nav-music .aplayer .aplayer-lrc p.aplayer-lrc-current { + color: var(--anzhiyu-white); + border: none; + min-height: 20px; +} + +#nav-music .aplayer .aplayer-lrc:after, +#nav-music .aplayer .aplayer-lrc:before { + display: none; +} + +#nav-music .aplayer .aplayer-lrc p { + color: #ffffffb3; + line-height: 40px !important; + height: 40px !important; + margin: 0px 0; + vertical-align: top; + /* display: inline-block; */ +} + +#nav-music .aplayer .aplayer-pic { + pointer-events: none; +} +#nav-music .aplayer .aplayer-pic .aplayer-button { + pointer-events: all; +} + +/* bilibli番剧插件 */ +#page #article-container .bangumi-tab.bangumi-active { + background: var(--anzhiyu-theme); + color: var(--anzhiyu-ahoverbg); + border-radius: 10px; +} +#page #article-container .bangumi-tabs .bangumi-tab { + border-bottom: none; + border-radius: 10px; +} +#page #article-container .bangumi-tabs a.bangumi-tab:hover { + text-decoration: none !important; + border-radius: 10px; + column-gap: var(--anzhiyu-ahoverbg); +} +#page #article-container .bangumi-pagination a.bangumi-button { + border-bottom: none; + border-radius: 10px; +} +.bangumi-button:hover { + background: var(--anzhiyu-theme) !important; + border-radius: 10px !important; + color: var(--anzhiyu-ahoverbg) !important; +} +a.bangumi-button.bangumi-nextpage:hover { + text-decoration: none !important; +} +.bangumi-button { + padding: 5px 10px !important; +} + +a.bangumi-tab { + padding: 5px 10px !important; +} +svg.icon.faa-tada { + font-size: 1.1em; +} +.bangumi-info-item { + border-right: 1px solid #f2b94b; +} +.bangumi-info-item span { + color: #f2b94b; +} +.bangumi-info-item em { + color: #f2b94b; +} + +/*哔哩哔哩视频适配*/ +.aspect-ratio { + position: relative; + width: 100%; + height: 0; + padding-bottom: 75%; + margin: 3% auto; + text-align: center; +} +.aspect-ratio iframe { + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; +} +#page:has(#lib-cards):has(#libCategories) #post-comment .tk-comments-container > .tk-comment { + border: none; + box-shadow: none; +} +@media screen and (max-width: 768px) { + #libCategories { + margin-top: 0 !important; + } + #page:has(#lib-cards):has(#libCategories) h1.page-title { + margin-bottom: 0; + } + body[data-type="categories"] #body-wrap #category { + padding: 20px 15px 20px; + } +} + +.card-glass .card-background { + box-shadow: none; + margin: 0 15px; +} +[data-theme="dark"] .card-glass .card-background { + background-color: transparent; +} + +/* 留言板样式补丁 */ +#maincontent #form-wrap .formmain .comments-main h3.title3 { + justify-content: center; +} + +body[data-type="envelope"] #page #post-comment .tk-comments-container > .tk-comment { + border: none; + box-shadow: none; +} + +[data-theme="dark"] #universe { + display: block; + position: fixed; + margin: 0; + padding: 0; + border: 0; + outline: 0; + left: 0; + top: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: 1; +} +canvas#universe { + display: none; +} + +@media screen and (max-width: 768px) { + #page .fcircle_page .author-content-item .card-content .banner-button-group .banner-button i, + #page .fcircle_page .author-content-item .card-content .banner-button-group .banner-button svg { + margin-left: 140px; + margin-top: 15px; + } +} + +#gitcalendar #git_container ul li { + margin: 0 !important; +} +#gitcalendar #git_container ul li::before{ + content: none !important; +} +.dplayer-video-wrap, +.dplayer { + border-radius: 12px; +} + +.note .hide-block { + margin: 0; +} +.note .hide-block button { + border-radius: 30px; +} + +body[data-type="link"] main #page { + border: 0; + box-shadow: none !important; + padding: 0 !important; + background: transparent !important; +} + +[data-theme="dark"] body[data-type="link"] #page { + background: transparent; +} + +.flink .anzhiyu-flink-list { + padding: 0; +} + +/* 修复时间轴wowjs超出盒子 */ +div#archive { + overflow: hidden; + padding: 22px; +} +/* 修复加载时图片太大超出范围 */ +.aplayer.aplayer-fixed { + overflow: hidden; +} + +@media screen and (max-width: 768px) { + #page .fcircle_page .author-content-item .card-content .banner-button-group .banner-button { + background-color: transparent !important; + } +} + +.relatedPosts > .relatedPosts-list > div { + border-radius: var(--anzhiyu-border-radius); +} + +/* 侧边栏按钮圆角 */ +#rightside > div > button { + border-radius: 5px; +} + +/* site-card样式修复 */ +#article-container .site-card-group a { + padding: 0; + border-bottom: 0; + font-weight: 400; +} +#article-container .site-card-group .site-card { + background: #fff !important; + border-radius: 8px; +} +#article-container .site-card-group a:hover { + padding: 0; + border-bottom: 0; + font-weight: 400; +} +[data-theme="light"] #footer-wrap { + color: var(--font-color); +} +#footer-wrap .anzhiyufont.anzhiyu-icon-heartbeat { + transition: 0.3s; + animation: heartbeat-bounce 2s ease-in-out infinite; + -webkit-font-smoothing: antialiased; + display: var(--fa-display, inline-block); + font-style: normal; + font-variant: normal; + line-height: 1; + text-rendering: auto; +} +@keyframes heartbeat-bounce { + 0%, + 100% { + transform: scale(1); + } + + 10%, + 30% { + transform: scale(0.9); + } + 20%, + 40%, + 60%, + 80% { + transform: scale(1.1); + } + 50%, + 70% { + transform: scale(1.1); + } +} + +/* 顶部样式 */ +.fcircle_page .author-content.fcirclePage { + height: 19rem; + color: var(--anzhiyu-white); + overflow: hidden; + margin-top: 0px; +} +body[data-type="fcircle"] #web_bg { + background-color: #f7f9fe; +} + +[data-theme="dark"] body[data-type="fcircle"] #web_bg { + background-color: #000; +} + +body[data-type="fcircle"] #page .page-title { + display: none; +} + +body[data-type="fcircle"] #page { + border: 0; + box-shadow: none !important; + padding: 0 !important; + background: transparent !important; +} +.fcircle_page a { + border-bottom: none !important; +} +.fcircle_page .cf-article-avatar a:hover { + background: none !important; + color: var(--anzhiyu-fontcolor) !important; +} +/* 随机文章样式 */ + +.title-h2-a { + display: flex; + align-items: center; + justify-content: space-between; + margin-top: 0.5rem; +} +.title-h2-a-left { + display: flex; + align-items: center; +} +.title-h2-a-left h2 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} +.title-h2-a a { + margin-left: 0.5rem; + color: var(--anzhiyu-fontcolor); + font-weight: 700; +} +#random-post { + min-height: 32px; + background: var(--card-bg); + border: var(--style-border-always); + box-shadow: var(--anzhiyu-shadow-border); + padding: 20px 30px; + border-radius: 12px; + margin-top: 8px; +} +#random-post .random-friends-post { + text-decoration: none; + border-bottom: 2px solid var(--anzhiyu-lighttext) !important; + color: var(--anzhiyu-fontcolor); + font-weight: 700; + padding: 0 4px; +} + +#random-post .random-friends-post:hover { + text-decoration: none; + border-bottom: 2px solid var(--anzhiyu-none) !important; + color: var(--anzhiyu-white) !important; + background: var(--anzhiyu-main) !important; + border-radius: 4px; + box-shadow: var(--anzhiyu-shadow-main); +} +#article-container .title-h2-a a:hover { + color: var(--anzhiyu-hovertext) !important; +} +.fcircle_page .title-h2-a-right a.random-post-all { + color: var(--anzhiyu-fontcolor); +} +#cf-overshow.cf-show-now p a.cf-article-title:hover, +.fcircle_page #fcircleContainer .cf-article a.cf-article-title:hover, +.fcircle_page .title-h2-a-right a.random-post-all:hover, +.fcircle_page .title-h2-a-left a.random-post-start:hover { + background: none; + box-shadow: none; + color: var(--anzhiyu-theme); +} +.fcircle_page .fish-pond-item .cf-article .cf-article-title { + line-height: 2; +} + +#greetingBox { + position: fixed; + top: 10px; + left: 15%; + width: 400px; + text-align: center; + z-index: 999; + pointer-events: none; +} +@media screen and (max-width: 768px) { + #greetingBox { + display: none; + } +} + +#greeting { + display: inline-block; + position: relative; + opacity: 0; + top: -110px; + padding: 5px 40px; + border-radius: 50px; + background-color: white; + color: black; + font-size: small; + transition: 0.5s; + box-shadow: rgb(0 0 0 / 5%) 0 10px 20px; +} + +#greeting.shown { + opacity: 1; + top: 0; +} + +/* 首页分类框展示 */ +.categoryGroup { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + min-width: 200px; + height: 24%; + width: 100%; + + animation: slide-in 0.6s 0.2s backwards; +} +.categoryItem:last-child { + margin-right: 0; +} +.categoryItem { + width: calc(100% / 3 - 0.33rem); + height: 100%; + margin-right: 0.5rem; +} + +.categoryItem { + overflow: hidden; + transform: scale(1); + transition: all 0.8s cubic-bezier(0.65, 0.15, 0.37, 1.19); + height: 100%; + border-radius: 12px; +} + +a.categoryButton { + height: 100%; + width: 100%; + background: var(--anzhiyu-card-bg); + border-radius: 12px; + display: inline-block; + text-align: left; + line-height: 4em; + font-weight: 700; + font-size: 1.1rem; + color: var(--anzhiyu-white); + transition: all 0.8s cubic-bezier(0.39, 0.575, 0.565, 1); + transform: scale(1); + overflow: hidden; + font-family: PingFang SC, Hiragino Sans GB, Microsoft YaHei; +} +.categoryButtonText { + padding-left: 21px; +} +a.categoryButton svg, +a.categoryButton i { + font-size: 5rem; + opacity: 0.2; + position: absolute; + right: 0; + top: 20%; + transition: 0.3s; + width: 100px; + text-align: center; + filter: blur(2px); + transform: scale(1) rotate(15deg); +} + +a.categoryButton.blue { + background: linear-gradient(to right, #358bff, #15c6ff); + background-size: 200%; +} +a.categoryButton.red { + background: linear-gradient(to right, #f65, #ffbf37); + background-size: 200%; +} +a.categoryButton.green { + background: linear-gradient(to right, #18e7ae, #1eebeb); + background-size: 200%; +} + +.categoryItem:hover { + width: 50%; +} + +.categoryItem:hover svg, +.categoryItem:hover i { + opacity: 0.8; + transition: 0.8s; + transition-delay: 0.15s; + transform: scale(1.03); + font-size: 2.5rem; + filter: blur(0); + top: 15%; +} +a.categoryButton:after { + top: 47px; + width: 1rem; + left: 21px; + height: 2px; + background: var(--anzhiyu-white); + content: ""; + border-radius: 1px; + position: absolute; +} + +@media screen and (max-width: 768px) { + .categoryGroup { + display: none; + } +} + +[data-theme="dark"] a.categoryButton.blue { + background: linear-gradient(to right, #0653b8, #2fcbff); + background-size: 200%; +} +[data-theme="dark"] a.categoryButton.red { + background: linear-gradient(to right, #e22a16, #da980c); + background-size: 200%; +} +[data-theme="dark"] a.categoryButton.green { + background: linear-gradient(to right, #099e74, #0ea4a4); + background-size: 200%; +} + +#topPostGroup .top-group-list-item { + display: flex; + width: calc(100% / 4 - 5px); + flex-direction: column; + align-items: flex-start; + background: var(--anzhiyu-card-bg); + border-radius: 12px; + overflow: hidden; + height: 128px; + max-height: 128px; + border: var(--style-border-always); + transition: 0.3s; + box-shadow: var(--anzhiyu-shadow-border); +} +#topPostGroup .post_cover { + width: 100%; +} +#topPostGroup .post_cover img { + object-fit: cover; + width: 100%; + height: 80px; + background: var(--anzhiyu-secondbg); + border-radius: 12px 12px 0 0; +} + +#topPostGroup .top-group-list-item .post_cover a { + height: 80px; + overflow: hidden; + display: flex; + position: relative; +} + +span.top-group-text { + position: absolute; + top: 0; + left: -40px; + display: flex; + z-index: 1; + background: var(--anzhiyu-theme); + color: var(--anzhiyu-white); + padding: 2px 8px; + font-size: 0.6rem; + border-radius: 12px 0 12px 0; + transition: 0.3s; + cursor: pointer; +} +.top-group-list-item:hover span.top-group-text { + left: 0; +} + +#topPostGroup .top-group-list-item .top-group-info { + padding: 0.3rem 0.5rem 0.3rem 0.5rem !important; + transition: 0.3s; +} + +#topPostGroup .top-group-list-item .top-group-info .article-title { + -webkit-line-clamp: 2; + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + line-height: 1.5; + justify-content: center; + align-items: flex-end; + align-content: center; + padding-top: 0.5rem; + font-weight: 700; + font-size: 0.8rem !important; + padding: 0 !important; +} + +#topPostGroup .top-group-list-item:hover { + border: var(--style-border-hover); + box-shadow: var(--anzhiyu-shadow-main); + transform: scale(1.03); +} + +#topPostGroup .top-group-list-item:hover .article-title { + color: var(--anzhiyu-theme); +} + +.top-group-list-none { + width: calc(100% / 4 - 5px); +} +#topPostGroup .topPostGroupTime { + font-size: 12px; +} + +@media screen and (max-width: 1450px) { + #topPostGroup .top-group-list-item { + width: calc(100% / 4 - 20px) !important; + } +} +@media screen and (max-width: 768px) { + #topPostGroup .top-group-list-item { + width: calc(100% / 2 - 5px) !important; + margin: 2px; + } +} +@media screen and (max-width: 768px) { + #topGroup { + display: none; + } +} + +a span.top-group-text { + border-radius: 0px 0 12px 0; +} + +div#bannerGroup { + width: calc(100% - 600px - 2rem); + height: 340px; + display: flex; + flex-direction: column; + justify-content: space-between; +} + +#swiper_container_blog { + width: 49%; + transition: all 0.3s, width 0s; + border-radius: 12px; +} +.swiper-wrapper { + align-items: center; +} +div#swiper_container { + transition: 0.3s; +} +/* 防止轮播图css未加载完时的超度横行滚动条 */ +#swiper_container { + overflow: hidden !important; +} +div.swiper_container_card { + margin: 1rem auto 0; +} +@media screen and (max-width: 768px) { + div.swiper_container_card { + margin: 0.2rem auto 0; + } +} +div#swiper_container { + background: rgba(255, 255, 255, 0); + width: 100%; + padding: 0; + overflow: initial; + background: var(--card-bg); + border-radius: 12px; + border: var(--style-border); +} +div#swiper_container:hover { + border: var(--style-border-hover); + box-shadow: var(--anzhiyu-shadow-main); +} +.blog-slider { + width: 100%; + position: relative; + border-radius: 12px 8px 8px 12px; + margin: 0 auto; +} +.blog-slider__item { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +.blog-slider__item.swiper-slide-active .blog-slider__img img { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transition-delay: 0.3s; + -moz-transition-delay: 0.3s; + -o-transition-delay: 0.3s; + -ms-transition-delay: 0.3s; + transition-delay: 0.3s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > * { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + -ms-transform: none; + transform: none; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(1) { + -webkit-transition-delay: 0.3s; + -moz-transition-delay: 0.3s; + -o-transition-delay: 0.3s; + -ms-transition-delay: 0.3s; + transition-delay: 0.3s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(2) { + -webkit-transition-delay: 0.4s; + -moz-transition-delay: 0.4s; + -o-transition-delay: 0.4s; + -ms-transition-delay: 0.4s; + transition-delay: 0.4s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(3) { + -webkit-transition-delay: 0.5s; + -moz-transition-delay: 0.5s; + -o-transition-delay: 0.5s; + -ms-transition-delay: 0.5s; + transition-delay: 0.5s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(4) { + -webkit-transition-delay: 0.6s; + -moz-transition-delay: 0.6s; + -o-transition-delay: 0.6s; + -ms-transition-delay: 0.6s; + transition-delay: 0.6s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(5) { + -webkit-transition-delay: 0.7s; + -moz-transition-delay: 0.7s; + -o-transition-delay: 0.7s; + -ms-transition-delay: 0.7s; + transition-delay: 0.7s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(6) { + -webkit-transition-delay: 0.8s; + -moz-transition-delay: 0.8s; + -o-transition-delay: 0.8s; + -ms-transition-delay: 0.8s; + transition-delay: 0.8s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(7) { + -webkit-transition-delay: 0.9s; + -moz-transition-delay: 0.9s; + -o-transition-delay: 0.9s; + -ms-transition-delay: 0.9s; + transition-delay: 0.9s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(8) { + -webkit-transition-delay: 1s; + -moz-transition-delay: 1s; + -o-transition-delay: 1s; + -ms-transition-delay: 1s; + transition-delay: 1s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(9) { + -webkit-transition-delay: 1.1s; + -moz-transition-delay: 1.1s; + -o-transition-delay: 1.1s; + -ms-transition-delay: 1.1s; + transition-delay: 1.1s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(10) { + -webkit-transition-delay: 1.2s; + -moz-transition-delay: 1.2s; + -o-transition-delay: 1.2s; + -ms-transition-delay: 1.2s; + transition-delay: 1.2s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(11) { + -webkit-transition-delay: 1.3s; + -moz-transition-delay: 1.3s; + -o-transition-delay: 1.3s; + -ms-transition-delay: 1.3s; + transition-delay: 1.3s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(12) { + -webkit-transition-delay: 1.4s; + -moz-transition-delay: 1.4s; + -o-transition-delay: 1.4s; + -ms-transition-delay: 1.4s; + transition-delay: 1.4s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(13) { + -webkit-transition-delay: 1.5s; + -moz-transition-delay: 1.5s; + -o-transition-delay: 1.5s; + -ms-transition-delay: 1.5s; + transition-delay: 1.5s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(14) { + -webkit-transition-delay: 1.6s; + -moz-transition-delay: 1.6s; + -o-transition-delay: 1.6s; + -ms-transition-delay: 1.6s; + transition-delay: 1.6s; +} +.blog-slider__item.swiper-slide-active .blog-slider__content > :nth-child(15) { + -webkit-transition-delay: 1.7s; + -moz-transition-delay: 1.7s; + -o-transition-delay: 1.7s; + -ms-transition-delay: 1.7s; + transition-delay: 1.7s; +} +.blog-slider__img { + width: 290px; + -webkit-flex-shrink: 0; + flex-shrink: 0; + height: 200px; + padding: 10px; + border-radius: 5px; + transform: translateX(0); + overflow: hidden; +} +.blog-slider__img:after { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-radius: 5px; + opacity: 0.8; +} +.blog-slider__img img { + width: 100%; + height: 100%; + object-fit: cover; + display: block; + opacity: 0; + border-radius: 5px; + transition: all 0.3s; +} +.blog-slider__content { + padding-right: 50px; + padding-left: 50px; +} +.blog-slider__content > * { + opacity: 0; + -webkit-transform: translateY(25px); + -moz-transform: translateY(25px); + -o-transform: translateY(25px); + -ms-transform: translateY(25px); + transform: translateY(25px); + -webkit-transition: all 0.4s; + -moz-transition: all 0.4s; + -o-transition: all 0.4s; + -ms-transition: all 0.4s; + transition: all 0.4s; +} +.blog-slider__code { + color: var(--font-color); + margin-bottom: 0; + display: block; + font-weight: 500; +} +.blog-slider__title { + font-size: 18px; + font-weight: 700; + color: var(--font-color); + margin-bottom: 15px; + -webkit-line-clamp: 1; + display: -webkit-box; + overflow: hidden; + -webkit-box-orient: vertical; +} +.blog-slider__text { + color: var(--font-color); + margin-bottom: 15px; + line-height: 1.5em; + width: 100%; + height: 50px; + word-break: break-all; + word-wrap: break-word; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; +} +.blog-slider__button { + display: -webkit-inline-box; + display: -moz-inline-box; + display: -webkit-inline-flex; + display: -ms-inline-flexbox; + display: inline-box; + display: inline-flex; + background-color: var(--btn-bg); + padding: 4px 14px; + border-radius: 8px; + color: var(--btn-color); + text-decoration: none; + font-weight: 500; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + text-align: center; + letter-spacing: 1px; + display: none; +} +.blog-slider__button:hover { + background-color: var(--btn-hover-color); + color: var(--btn-color); +} +.blog-slider .swiper-container-horizontal > .swiper-pagination-bullets, +.blog-slider .swiper-pagination-custom, +.blog-slider .swiper-pagination-fraction { + bottom: 10px; + left: 0; + width: 100%; +} +.blog-slider__pagination { + position: absolute; + z-index: 21; + right: 20px; + width: 11px !important; + text-align: center; + left: auto !important; + top: 50%; + bottom: auto !important; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); +} +.blog-slider .blog-slider__pagination.swiper-pagination-bullets .swiper-pagination-bullet { + margin: 8px 0; +} +.blog-slider__pagination .swiper-pagination-bullet { + width: 11px; + height: 11px; + display: block; + border-radius: 10px; + background: #858585; + opacity: 0.2; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; +} +.blog-slider__pagination .swiper-pagination-bullet-active { + opacity: 1; + -ms-filter: none; + filter: none; + background: var(--btn-bg); + height: 30px; +} +@media screen and (max-width: 768px) { + .blog-slider__pagination { + -webkit-transform: translateX(-50%); + -moz-transform: translateX(-50%); + -o-transform: translateX(-50%); + -ms-transform: translateX(-50%); + transform: translateX(-50%); + left: 50% !important; + top: 320px; + width: 100% !important; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + } + .blog-slider .blog-slider__pagination.swiper-pagination-bullets .swiper-pagination-bullet { + margin: 0 5px; + } + .blog-slider__pagination .swiper-pagination-bullet-active { + height: 11px; + width: 30px; + } + .blog-slider__button { + display: -webkit-inline-box; + display: -moz-inline-box; + display: -webkit-inline-flex; + display: -ms-inline-flexbox; + display: inline-box; + display: inline-flex; + width: 100%; + } + .blog-slider { + min-height: 350px; + height: auto; + margin-bottom: 10px; + } + .blog-slider__content { + text-align: center; + padding: 0 30px; + } + .blog-slider__item { + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + } + .blog-slider__img { + width: 100%; + padding-top: 0; + } + .blog-slider__content { + padding-left: 10px; + padding-right: 10px; + margin-top: 15px; + } + .blog-slider__pagination.swiper-pagination-clickable.swiper-pagination-bullets { + top: 218px; + } + + .swiper_container_card #swiper_container_blog div#swiper_container.blog-slider { + padding: 10px; + overflow: hidden; + } + .blog-slider__item .blog-slider__content .blog-slider__code { + margin-top: 10px; + } + .blog-slider__title { + margin-bottom: 0; + } +} +@media screen and (min-width: 768px) { + .blog-slider { + height: 200px; + } + .blog-slider__img { + height: 200px; + } +} + +@media screen and (max-width: 1200px) { + div#swiper_container { + width: 100%; + } + #swiper_container_blog { + width: 99%; + } +} + +.swiper_container_card { + display: flex !important; + justify-content: space-around; + flex-direction: row !important; + user-select: none; +} + +.todayCard-title, +.todayCard-tips, +.topGroup .banner-button { + color: #ffffff; +} + +.topGroup { + height: 340px; + display: flex; + flex-direction: row; + flex-wrap: wrap; + width: calc(600px + 1.5rem); + position: relative; + align-content: space-between; +} +.topGroup .todayCard { + position: absolute; + width: calc(600px + 1rem); + height: 100%; + z-index: 1; + top: 0; + left: 0; + background: var(--anzhiyu-card-bg); + border-radius: 12px; + margin-left: 0.5rem; + overflow: hidden; + transition: 0.3s; + display: flex; + cursor: pointer; + pointer-events: all; +} + +.topGroup .todayCard .todayCard-info { + position: absolute; + bottom: 2rem; + left: 2rem; + z-index: 2; + color: var(--anzhiyu-white); + max-width: 60%; + transition: 0.3s; +} + +.topGroup .todayCard .todayCard-info .todayCard-tips { + opacity: 0.8; + font-size: 0.6rem; +} + +.topGroup .todayCard .todayCard-info .todayCard-title { + font-size: 28px; + font-weight: bold; + line-height: 36px; +} +.topGroup .todayCard .todayCard-cover { + position: absolute; + min-width: 100%; + min-height: 100%; + top: 0; + left: 0; + background-size: cover; + z-index: -1; + transition: 0.3s; +} + +.topGroup .banner-button-group { + position: absolute; + right: 2rem; + bottom: 2rem; + display: flex; + transition: 0.3s; +} + +.topGroup .todayCard.hide .todayCard-cover { + transform: scale(1.2); +} + +.topGroup .banner-button { + background: var(--anzhiyu-white-op); + border-radius: 20px; + color: var(--anzhiyu-white); + display: flex; + align-items: center; + z-index: 1; + transition: 0.3s; + cursor: pointer; + backdrop-filter: saturate(180%) blur(20px); + -webkit-backdrop-filter: blur(20px); + transform: translateZ(0); + height: 40px; + width: 130px; + justify-content: center; +} +.topGroup .banner-button i, +.topGroup .banner-button svg { + margin-right: 8px; + font-size: 22px; +} +.topGroup .todayCard::after { + position: absolute; + content: ""; + width: 100%; + height: 100%; + top: 0; + left: 0; + box-shadow: 0 -109px 133px -9px #000000 inset; +} + +.topGroup .todayCard.hide { + opacity: 0; + pointer-events: none; +} +.topGroup .todayCard img { + object-fit: cover; + width: 100%; + height: 80px; + background: var(--anzhiyu-secondbg); + border-radius: 12px 12px 0 0; +} +.topGroup .recent-post-item:nth-child(4), +.topGroup .recent-post-item:nth-child(5), +.topGroup .recent-post-item:nth-child(6) { + margin-bottom: 0; + margin-top: 4px; +} + +.topGroup .recent-post-item { + display: none; + width: 200px; + flex-direction: column; + align-items: flex-start; + background: var(--anzhiyu-card-bg); + border-radius: 12px; + overflow: hidden; + min-width: 200px; + height: 164px !important; + max-height: 164px; + border: var(--style-border-always); + transition: 0.3s; + position: relative; + box-shadow: var(--anzhiyu-shadow-border); + margin-left: 0.5rem; + margin-right: 0px; + margin-bottom: 0.5rem; + cursor: pointer; +} +.topGroup .recent-post-item:hover .recent-post-info .article-title { + color: var(--anzhiyu-main); +} +.topGroup .recent-post-item .post_cover { + width: 100%; +} +.topGroup .recent-post-item .post_cover a { + height: 100px; + overflow: hidden; + display: flex; +} +.topGroup span.recent-post-top-text { + position: absolute; + top: 0; + left: -40px; + display: flex; + z-index: 1; + background: var(--anzhiyu-theme); + color: var(--anzhiyu-white); + padding: 2px 8px; + font-size: 0.6rem; + border-radius: 12px 0 12px 0; + transition: 0.3s; + cursor: pointer; +} + +.topGroup .recent-post-item .post_cover img { + object-fit: cover; + width: 100%; + background: var(--anzhiyu-secondbg); + border-radius: 12px 12px 0 0; +} +.topGroup .recent-post-item .recent-post-info { + padding: 0.3rem 0.5rem 0.3rem 0.5rem; + transition: 0.3s; +} +.topGroup .recent-post-item .recent-post-info .article-title { + -webkit-line-clamp: 2; + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + line-height: 1.5; + justify-content: center; + align-items: flex-end; + align-content: center; + padding-top: 0.5rem; + font-weight: bold; + font-size: 1rem !important; + padding: 0 !important; +} + +.topGroup .recent-post-item:hover .recent-post-top-text { + left: 0; +} + +@media screen and (max-width: 1200px) { + .topGroup .todayCard { + background: #0e57d5; + } + + div#bannerGroup { + height: auto; + width: auto; + } + + .topGroup .recent-post-item { + display: flex; + } + + .categoryGroup .categoryItem:nth-child(3) { + display: none; + } + .categoryGroup { + flex-direction: column; + height: 95%; + } + .topGroup { + display: flex; + flex-wrap: nowrap; + width: auto; + height: auto; + } + + .topGroup .todayCard { + display: none; + } + + .swiper_container_card { + display: flex; + flex-direction: row !important; + justify-content: flex-start !important; + flex-wrap: nowrap; + width: 100%; + overflow-x: scroll; + } + + .categoryItem { + height: 48%; + min-width: 200px; + box-shadow: none !important; + } + .categoryGroup { + display: flex !important; + } + #bbTimeList { + margin: 0 1.5rem; + max-width: 100%; + width: auto; + } +} + +.swiper_container_card::-webkit-scrollbar { + display: none; +} + +.topGroup .banner-button:hover { + background: var(--anzhiyu-theme); + color: var(--anzhiyu-white); +} + +#local-search .search-dialog .local-search__hit-item:before { + content: none !important; +} +#local-search .search-dialog .local-search__hit-item { + padding: 10px !important; + border-radius: 8px; + border: var(--style-border); + margin-bottom: 10px; + display: flex; + justify-content: space-between; + align-items: center; +} +#local-search .search-dialog .local-search__hit-item .search-left { + width: 35%; +} +#local-search .search-dialog .local-search__hit-item .search-right { + width: 60%; +} +#local-search .search-dialog .local-search__hit-item .search-left img { + object-fit: cover; + width: 100%; + background: var(--anzhiyu-secondbg); + border-radius: 8px; +} +#local-search .search-dialog .local-search__hit-item .search-result { + cursor: pointer; +} +#local-search .tag-list { + padding: 4px 8px; + border-radius: 8px; + margin-right: 0.5rem; + margin-top: 0.5rem; + border: var(--style-border); + cursor: pointer; +} +#local-search .search-dialog .local-search__hit-item .tag-list { + display: inline; +} +#local-search .search-dialog .local-search__hit-item .tag-list:hover { + background: var(--anzhiyu-main); + color: var(--anzhiyu-white); +} + +b, strong { + color: var(--anzhiyu-lighttext); +} +.about-reward { + position: absolute; + top: 1rem; + right: 2rem; +} +@media screen and (max-width: 768px) { + .reward .about-reward #con { + width: 170px; + } + .reward #tube-con { + display: none; + } +} + +[data-theme="dark"] body[data-type="room"] #page { + background: #000 !important; +} +body[data-type="room"] #page { + border: 0; + box-shadow: none !important; + padding: 0 !important; + background: transparent !important; +} +body[data-type="room"] #page .page-title { + display: none; +} +#room_page .banner-button-group { + position: absolute; + bottom: 0.8rem; + right: 2rem; +} +#room_page .banner-button-group .banner-button:hover { + background: var(--anzhiyu-card-bg); + color: var(--font-color); +} +#room_page .banner-button-group .banner-button i, +#room_page .banner-button-group .banner-button svg { + margin-right: 8px; +} +#room_page .banner-button-group .banner-button { + height: 40px; + width: 140px; + border-radius: 20px; + justify-content: center; + color: var(--anzhiyu-white); + background: var(--anzhiyu-theme); + display: flex; + align-items: center; + z-index: 1; + transition: 0.3s; + cursor: pointer; + border-bottom: 0 !important; +} + +#room_page .description { + margin: 20px auto 20px; + border-radius: 24px; + background: var(--anzhiyu-card-bg); + border: var(--style-border-always); + box-shadow: var(--anzhiyu-shadow-border); + position: relative; + padding: 1rem 2rem; + overflow: hidden; +} + +#room_page *, +#room_page *::after, +#room_page *::before { + margin: 0; + padding: 0; + box-sizing: border-box; + user-select: none; + transform-style: preserve-3d; + -webkit-tap-highlight-color: transparent; +} + +/* Generic */ +#room_page { + margin-top: 590px; +} + +#room_page .face { + position: absolute; +} + +/***************/ +#room_page .house { + position: absolute; + width: 28vw; + height: 28vw; + transform: perspective(90vw) rotateX(75deg) rotateZ(45deg) translateZ(-9vw); + left: 45%; + top: 100px; +} + +#room_page .h-shadow { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + box-shadow: 1.5vw -3vw 3vw black, 1.5vw 0.5vw 1.5vw black; +} + +#room_page .h-lights { + position: absolute; + top: 50%; + left: 50%; + transform: translateX(-50%) translateY(-50%); + width: 45vw; + height: 45vw; +} + +.h-light { + position: absolute; +} + +.h-light:nth-of-type(1) { + bottom: 5vw; + right: 0; + width: 14vw; + height: 14vw; + border-radius: 50%; + background-image: radial-gradient(#1b182a, transparent); + filter: blur(1vw); +} + +.h-light:nth-of-type(2) { + bottom: 18vw; + right: -1vw; + width: 2vw; + height: 12vw; + border-radius: 50%; + transform: rotateZ(-50deg); + background-image: radial-gradient(rgba(81, 137, 251, 0.45) 50%, rgba(40, 125, 210, 0.45), transparent); + box-shadow: -1vw -1vw 2vw 1vw rgba(131, 171, 252, 0.1); + filter: blur(1vw); +} + +.h-light:nth-of-type(3) { + bottom: -2vw; + right: 17vw; + width: 5vw; + height: 12vw; + border-radius: 50%; + transform: rotateZ(-50deg); + background-image: radial-gradient(rgba(81, 137, 251, 0.5) 50%, rgba(40, 125, 210, 0.5), transparent); + filter: blur(2vw); +} + +.h-light:nth-of-type(3)::before, +.h-light:nth-of-type(3)::after { + content: ""; + position: absolute; + width: 200%; + top: -6vw; + height: 150%; + background-image: linear-gradient(to bottom, rgba(40, 125, 210, 0.1), rgba(81, 137, 251, 0.1), transparent); + border-top-left-radius: 10vw; + border-top-right-radius: 10vw; + filter: blur(1.5vw); +} + +.h-light:nth-of-type(3)::before { + right: -50%; + transform-origin: top right; + transform: rotateZ(15deg); + box-shadow: -2vw -2vw 0 rgba(81, 137, 251, 0.075); +} + +.h-light:nth-of-type(3)::after { + left: -50%; + transform-origin: top left; + transform: rotateZ(-15deg); + box-shadow: 2vw -2vw 0 rgba(81, 137, 251, 0.075); +} + +.h-light:nth-of-type(4) { + bottom: 5vw; + left: 8vw; + width: 28vw; + height: 4vw; + transform-origin: top left; + transform: skewX(58deg); + background-image: linear-gradient( + to right, + rgba(81, 137, 251, 0.075) 10%, + transparent 25%, + transparent, + rgba(0, 0, 0, 0.15) + ); + filter: blur(0.25vw); +} + +.h-light:nth-of-type(6) { + bottom: 14vw; + right: 2vw; + width: 8vw; + height: 16vw; + transform-origin: bottom left; + transform: skewY(49deg); + background-image: linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.7)); + filter: blur(0.35vw); +} + +/***************/ +/***************/ +.alt { + position: absolute; + left: 0; + top: 0; + width: 27vw; + height: 27vw; +} + +.alt__front { + width: 27vw; + height: 0.5vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(26.5vw); +} + +.alt__back { + width: 27vw; + height: 0.5vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-27vw) translateY(-0.5vw); +} + +.alt__right { + width: 27vw; + height: 0.5vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(27vw) translateX(-27vw) translateY(-0.5vw); +} + +.alt__left { + width: 27vw; + height: 0.5vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-0.5vw); +} + +.alt__top { + width: 27vw; + height: 27vw; + transform-origin: top left; + transform: translateZ(0.5vw); +} + +.alt__bottom { + width: 27vw; + height: 27vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-27vw); +} + +.alt__front { + background-color: #9e99c1; +} + +.alt__back { + background-color: #383358; +} + +.alt__right { + background-color: #383358; +} + +.alt__left { + background-color: #fbfafe; +} + +.alt__top { + background-image: linear-gradient(to bottom, #0b0c1f, #383358, #9e99c1); +} + +.alt__top .light:nth-of-type(1) { + position: absolute; + height: 100%; + width: 100%; + background-image: linear-gradient(to bottom, rgba(20, 61, 103, 0.75), rgba(81, 137, 251, 0.75), transparent); +} + +.alt__top .light:nth-of-type(2) { + position: absolute; + left: 4vw; + height: 100%; + width: 6vw; + background-image: linear-gradient(to bottom, transparent 20%, rgba(40, 125, 210, 0.75), rgba(81, 137, 251, 0.25) 80%); + filter: blur(0.1vw); +} + +.alt__top .light:nth-of-type(3) { + position: absolute; + bottom: 10vw; + left: 5vw; + width: 6vw; + height: 3vw; + border-radius: 50%; + transform: rotateZ(42deg); + background-image: radial-gradient(rgba(131, 171, 252, 0.75) 50%, rgba(32, 99, 167, 0.75)); + filter: blur(0.55vw); +} + +.alt__top .light:nth-of-type(4) { + position: absolute; + bottom: 7vw; + left: 4vw; + width: 8.5vw; + height: 2vw; + border-radius: 50%; + transform: rotateZ(40deg); + background-image: radial-gradient(rgba(131, 171, 252, 0.75) 50%, rgba(32, 99, 167, 0.75)); + filter: blur(0.55vw); +} + +.alt__top .light:nth-of-type(5) { + position: absolute; + bottom: 3.5vw; + left: 4.5vw; + width: 6vw; + height: 2vw; + border-radius: 50%; + transform: rotateZ(40deg); + background-image: radial-gradient(rgba(141, 178, 252, 0.75) 50%, rgba(32, 99, 167, 0.75)); + filter: blur(0.75vw); +} + +.alt__top .light:nth-of-type(6) { + position: absolute; + bottom: 3vw; + left: 0.5vw; + width: 4vw; + height: 2vw; + border-radius: 50%; + transform: rotateZ(40deg); + background-image: radial-gradient(rgba(141, 178, 252, 0.75) 50%, rgba(32, 99, 167, 0.75)); + filter: blur(0.35vw); +} + +.alt__top .light:nth-of-type(7) { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + background-image: linear-gradient(to right, black, #5189fb 10%, transparent 20%); +} + +.alt__top .light:nth-of-type(7)::before { + content: ""; + position: absolute; + width: 20%; + height: 100%; + background-image: linear-gradient(to right, rgba(5, 70, 199, 0.6), transparent 60%); +} + +.alt__top .light:nth-of-type(7)::after { + content: ""; + position: absolute; + width: 100%; + height: 20%; + background-image: linear-gradient(to bottom, rgba(6, 78, 224, 0.5), transparent 60%); +} + +.alt__top .light:nth-of-type(8) { + position: absolute; + bottom: 5vw; + left: 10vw; + width: 6vw; + height: 4vw; + border-radius: 50%; + transform: rotateZ(40deg); + background-image: radial-gradient(rgba(255, 255, 255, 0.1) 50%, rgba(128, 121, 174, 0.1)); + filter: blur(0.8vw); +} + +.alt__bottom { + background-color: #383358; +} + +.alb { + position: absolute; + left: 0; + bottom: 0; + width: 27vw; + height: 1vw; +} + +.alb__front { + width: 27vw; + height: 2vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(-1vw); +} + +.alb__back { + width: 27vw; + height: 2vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-27vw) translateY(-2vw); +} + +.alb__right { + width: 1vw; + height: 2vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(27vw) translateX(-1vw) translateY(-2vw); +} + +.alb__left { + width: 1vw; + height: 2vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-2vw); +} + +.alb__top { + width: 27vw; + height: 1vw; + transform-origin: top left; + transform: translateZ(2vw); +} + +.alb__bottom { + width: 27vw; + height: 1vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-27vw); +} + +.alb__front { + background-image: linear-gradient(to right, #9e99c1 40%, #8f89b7); +} + +.alb__back { + background-color: #383358; +} + +.alb__right { + background-color: #383358; +} + +.alb__left { + background-color: #fbfafe; +} + +.alb__top { + background-image: linear-gradient(to right, #fbfafe 40%, #eae5fa); +} + +.alb__bottom { + background-color: #383358; +} + +.arb { + position: absolute; + right: 0; + bottom: 0; + width: 1vw; + height: 28vw; +} + +.arb__front { + width: 1vw; + height: 2vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(26vw); +} + +.arb__back { + width: 1vw; + height: 2vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-1vw) translateY(-2vw); +} + +.arb__right { + width: 28vw; + height: 2vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(1vw) translateX(-28vw) translateY(-2vw); +} + +.arb__left { + width: 28vw; + height: 2vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-2vw); +} + +.arb__top { + width: 1vw; + height: 28vw; + transform-origin: top left; + transform: translateZ(2vw); +} + +.arb__bottom { + width: 1vw; + height: 28vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-1vw); +} + +.arb__front { + background-color: #8f89b7; +} + +.arb__back { + background-color: #383358; +} + +.arb__right { + background-image: linear-gradient(to right, #282347 40%, #0f0e17); +} + +.arb__left { + background-color: #9e99c1; +} + +.arb__top { + background-image: linear-gradient(to top, #fbfafe, #3b3469 25%, #2e2a48 75%, #9e99c1); +} + +.arb__top::before { + content: ""; + position: absolute; + width: 100%; + height: 30%; + top: 0; + background-image: linear-gradient(to bottom, transparent, rgba(81, 137, 251, 0.85), transparent); +} + +.arb__bottom { + background-color: #383358; +} + +/***************/ +/***************/ +.blt { + position: absolute; + left: 0; + top: 0; + width: 1vw; + height: 27vw; + transform: translateZ(0.5vw); +} + +.blt__front { + width: 1vw; + height: 20vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(7vw); +} + +.blt__back { + width: 1vw; + height: 20vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-1vw) translateY(-20vw); +} + +.blt__right { + width: 27vw; + height: 20vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(1vw) translateX(-27vw) translateY(-20vw); +} + +.blt__left { + width: 27vw; + height: 20vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-20vw); +} + +.blt__top { + width: 1vw; + height: 27vw; + transform-origin: top left; + transform: translateZ(20vw); +} + +.blt__bottom { + width: 1vw; + height: 27vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-1vw); +} + +.blt__front { + background-image: linear-gradient(to bottom, #383358, #9e99c1); +} + +.blt__back { + background-color: #383358; +} + +.blt__right { + background-image: linear-gradient(to bottom, #151225, #383358, #383358 90%, #242040); +} + +.blt__right::before { + content: ""; + position: absolute; + bottom: 0; + width: 100%; + height: 0.75vw; + background-image: linear-gradient(to bottom, #8f89b7, #287dd2); + border-top: 0.1vw solid #282347; + border-bottom: 0.1vw solid #282347; +} + +.blt__right::after { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient( + to bottom, + rgba(6, 78, 224, 0.35), + transparent 30%, + transparent 70%, + rgba(40, 125, 210, 0.35) + ); +} + +.blt__left { + background-color: #fbfafe; +} + +.blt__bottom { + background-color: #383358; +} + +.blt2 { + position: absolute; + left: 0; + top: 0; + width: 2vw; + height: 27vw; + transform: translateZ(20.5vw); +} + +.blt2__front { + width: 2vw; + height: 0.75vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(26.25vw); +} + +.blt2__back { + width: 2vw; + height: 0.75vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-2vw) translateY(-0.75vw); +} + +.blt2__right { + width: 27vw; + height: 0.75vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(2vw) translateX(-27vw) translateY(-0.75vw); +} + +.blt2__left { + width: 27vw; + height: 0.75vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-0.75vw); +} + +.blt2__top { + width: 2vw; + height: 27vw; + transform-origin: top left; + transform: translateZ(0.75vw); +} + +.blt2__bottom { + width: 2vw; + height: 27vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-2vw); +} + +.blt2__front { + background-color: #383358; +} + +.blt2__back { + background-color: #383358; +} + +.blt2__right { + background-image: linear-gradient(to right, #8f89b7, #9e99c1, #7169a4); +} + +.blt2__right::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + bottom: 0; + border-bottom: 0.1vw solid rgba(251, 250, 254, 0.75); + background-image: linear-gradient(to top, rgba(81, 137, 251, 0.35), transparent); +} + +.blt2__left { + background-color: #fbfafe; +} + +.blt2__top { + background-image: linear-gradient(to top, #9e99c1, #fbfafe); +} + +.blt2__bottom { + background-color: #383358; +} + +.blb { + position: absolute; + left: 1vw; + top: 0; + width: 26vw; + height: 1vw; + transform: translateZ(0.5vw); +} + +.blb__front { + width: 26vw; + height: 20vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(-19vw); +} + +.blb__back { + width: 26vw; + height: 20vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-26vw) translateY(-20vw); +} + +.blb__right { + width: 1vw; + height: 20vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(26vw) translateX(-1vw) translateY(-20vw); +} + +.blb__left { + width: 1vw; + height: 20vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-20vw); +} + +.blb__top { + width: 26vw; + height: 1vw; + transform-origin: top left; + transform: translateZ(20vw); +} + +.blb__bottom { + width: 26vw; + height: 1vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-26vw); +} + +.blb__front { + background-image: linear-gradient(to bottom, #4b4572, #595388 20%, #4b4572); +} + +.blb__front::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient( + to bottom, + rgba(40, 125, 210, 0.25), + transparent 20%, + transparent 80%, + rgba(40, 125, 210, 0.5) + ), + linear-gradient(to right, rgba(31, 33, 88, 0.35), transparent), + linear-gradient(to bottom, rgba(31, 33, 88, 0.35), transparent), + linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent 20%, transparent 80%, rgba(40, 125, 210, 0.25)); +} + +.blb__front::after { + content: ""; + position: absolute; + bottom: 0; + width: 100%; + height: 0.75vw; + background-image: linear-gradient(to bottom, #8f89b7, #287dd2); + border-top: 0.1vw solid #282347; + border-bottom: 0.1vw solid #282347; +} + +.blb__back { + background-color: #383358; +} + +.blb__right { + background-image: linear-gradient(to bottom, #151225, #0f0e17 80%, #151225); +} + +.blb__bottom { + background-color: #383358; +} + +.blb2 { + position: absolute; + left: 2vw; + top: 0; + width: 25vw; + height: 1vw; + transform: translateZ(20.5vw); +} + +.blb2__front { + width: 25vw; + height: 0.75vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(1.25vw); +} + +.blb2__back { + width: 25vw; + height: 0.75vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-25vw) translateY(-0.75vw); +} + +.blb2__right { + width: 2vw; + height: 0.75vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(25vw) translateX(-2vw) translateY(-0.75vw); +} + +.blb2__left { + width: 2vw; + height: 0.75vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-0.75vw); +} + +.blb2__top { + width: 25vw; + height: 2vw; + transform-origin: top left; + transform: translateZ(0.75vw); +} + +.blb2__bottom { + width: 25vw; + height: 2vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-25vw); +} + +.blb2__front { + background-image: linear-gradient(to right, #7169a4, #9e99c1, #8f89b7); +} + +.blb2__front::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + bottom: 0; + border-bottom: 0.1vw solid rgba(251, 250, 254, 0.75); + background-image: linear-gradient(to top, rgba(40, 125, 210, 0.25), transparent); +} + +.blb2__back { + background-color: #383358; +} + +.blb2__right { + background-color: #151225; +} + +.blb2__left { + background-color: #9e99c1; +} + +.blb2__top { + background-image: linear-gradient(to left, #9e99c1, #fbfafe); +} + +.blb2__bottom { + background-color: #383358; +} + +/***************/ +/***************/ +.bocina-l, +.bocina-r { + position: absolute; + left: 1.5vw; + bottom: 5.25vw; + width: 0.75vw; + height: 1.5vw; + transform: translateZ(8vw); +} + +.bocina-l__front, +.bocina-r__front { + width: 0.75vw; + height: 6vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(-4.5vw); +} + +.bocina-l__back, +.bocina-r__back { + width: 0.75vw; + height: 6vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-0.75vw) translateY(-6vw); +} + +.bocina-l__right, +.bocina-r__right { + width: 1.5vw; + height: 6vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(0.75vw) translateX(-1.5vw) translateY(-6vw); +} + +.bocina-l__left, +.bocina-r__left { + width: 1.5vw; + height: 6vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-6vw); +} + +.bocina-l__top, +.bocina-r__top { + width: 0.75vw; + height: 1.5vw; + transform-origin: top left; + transform: translateZ(6vw); +} + +.bocina-l__bottom, +.bocina-r__bottom { + width: 0.75vw; + height: 1.5vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-0.75vw); +} + +.bocina-l__right, +.bocina-r__right { + background-image: radial-gradient(black, black); +} + +.bocina-l__top, +.bocina-r__top { + background-image: linear-gradient(to left, #d9d0f6, #9e99c1, #7169a4); +} + +.bocina-l__bottom, +.bocina-r__bottom { + background-color: #383358; +} + +.bocina-l__front { + background-image: linear-gradient(to right, #5189fb, #595388 30%, #b7a5ed); +} + +.bocina-l__back { + background-image: linear-gradient(to right, #383358, #232038); +} + +.bocina-l__back::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to right, rgba(81, 137, 251, 0.35) 65%, rgba(81, 137, 251, 0.95)); +} + +.bocina-l__left { + background-color: #282347; +} + +.bocina-l__left::before { + content: ""; + position: absolute; + top: -10%; + left: 20%; + width: 120%; + height: 120%; + background-image: linear-gradient(to left, rgba(7, 23, 39, 0.75), rgba(0, 0, 0, 0.75)); + filter: blur(0.5vw); +} + +.bocina-r { + top: 5.25vw; +} + +.bocina-r__front { + background-image: linear-gradient(to right, #383358, #0f0e17); +} + +.bocina-r__front::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to left, rgba(81, 137, 251, 0.35) 65%, rgba(81, 137, 251, 0.95)); +} + +.bocina-r__back { + background-image: linear-gradient(to right, #595388, #b7a5ed); +} + +.bocina-r__left { + background-color: #282347; +} + +.bocina-r__left::before { + content: ""; + position: absolute; + top: -10%; + left: -20%; + width: 120%; + height: 120%; + background-image: linear-gradient(to right, rgba(7, 23, 39, 0.75), rgba(0, 0, 0, 0.75)); + filter: blur(0.5vw); +} + +.repisa-t, +.repisa-b { + position: absolute; + left: 1.5vw; + top: 9vw; + width: 1.5vw; + height: 10vw; + transform: translateZ(16vw); +} + +.repisa-t__front, +.repisa-b__front { + width: 1.5vw; + height: 0.25vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(9.75vw); +} + +.repisa-t__back, +.repisa-b__back { + width: 1.5vw; + height: 0.25vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-1.5vw) translateY(-0.25vw); +} + +.repisa-t__right, +.repisa-b__right { + width: 10vw; + height: 0.25vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(1.5vw) translateX(-10vw) translateY(-0.25vw); +} + +.repisa-t__left, +.repisa-b__left { + width: 10vw; + height: 0.25vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-0.25vw); +} + +.repisa-t__top, +.repisa-b__top { + width: 1.5vw; + height: 10vw; + transform-origin: top left; + transform: translateZ(0.25vw); +} + +.repisa-t__bottom, +.repisa-b__bottom { + width: 1.5vw; + height: 10vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-1.5vw); +} + +.repisa-t__front, +.repisa-b__front { + background-color: #9e99c1; +} + +.repisa-t__back, +.repisa-b__back { + background-color: #fbfafe; +} + +.repisa-t__right, +.repisa-b__right { + background-color: #8079ae; +} + +.repisa-t__left, +.repisa-b__left { + background-color: #fbfafe; +} + +.repisa-t__top, +.repisa-b__top { + background-color: #d9d0f6; +} + +.repisa-t__top::before, +.repisa-b__top::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to right, rgba(6, 78, 224, 0.75), transparent); +} + +.repisa-t__bottom, +.repisa-b__bottom { + background-color: #383358; +} + +.repisa-t__bottom::before, +.repisa-b__bottom::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to right, rgba(6, 78, 224, 0.75), transparent); +} + +.repisa-b { + transform: translateZ(5vw); +} + +.tv { + position: absolute; + left: 1.51vw; + top: 8vw; + width: 0.5vw; + height: 12vw; + transform: translateZ(8vw); +} + +.tv__front { + width: 0.5vw; + height: 6vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(6vw); +} + +.tv__back { + width: 0.5vw; + height: 6vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-0.5vw) translateY(-6vw); +} + +.tv__right { + width: 12vw; + height: 6vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(0.5vw) translateX(-12vw) translateY(-6vw); +} + +.tv__left { + width: 12vw; + height: 6vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-6vw); +} + +.tv__top { + width: 0.5vw; + height: 12vw; + transform-origin: top left; + transform: translateZ(6vw); +} + +.tv__bottom { + width: 0.5vw; + height: 12vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-0.5vw); +} + +.tv__front { + background-color: #0b0c1f; +} + +.tv__back { + background-color: #0b0c1f; +} + +.tv__right { + background-color: #9cbcfc; + border: 0.125vw solid black; + animation: pantalla-tv 0.25s infinite alternate; +} + +.tv__right::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + box-shadow: 0.125vw 0.125vw 1vw rgba(81, 137, 251, 0.5), -0.125vw 0.125vw 1vw rgba(81, 137, 251, 0.5), + 0.125vw -0.125vw 1vw rgba(81, 137, 251, 0.5), -0.125vw -0.125vw 1vw rgba(81, 137, 251, 0.5); + background-image: url("https://img02.anheyu.com/adminuploads/1/2022/10/20/6351038493d46.gif"); + background-size: cover; + background-repeat: no-repeat; + background-position: bottom; + opacity: 0.8; +} + +.tv__left { + display: flex; + justify-content: center; + align-items: center; + background-color: #0b0c1f; +} + +.tv__left::before { + content: ""; + position: absolute; + width: 13vw; + height: 7vw; + background-image: radial-gradient(rgba(36, 112, 188, 0.95), rgba(56, 121, 250, 0.95)); + filter: blur(1.25vw); + animation: luz-tv 0.25s infinite alternate; +} + +.tv__top { + background-color: #0b0c1f; +} + +.tv__bottom { + background-color: #0b0c1f; +} + +.librero { + position: absolute; + left: 13vw; + top: 1vw; + width: 12vw; + height: 0.5vw; + transform: translateZ(7vw); +} + +.librero__front { + width: 12vw; + height: 0.25vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(1.25vw); +} + +.librero__back { + width: 12vw; + height: 0.25vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-12vw) translateY(-0.25vw); +} + +.librero__right { + width: 1.5vw; + height: 0.25vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(12vw) translateX(-1.5vw) translateY(-0.25vw); +} + +.librero__left { + width: 1.5vw; + height: 0.25vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-0.25vw); +} + +.librero__top { + width: 12vw; + height: 1.5vw; + transform-origin: top left; + transform: translateZ(0.25vw); +} + +.librero__bottom { + width: 12vw; + height: 1.5vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-12vw); +} + +.librero__front { + background-color: #9e99c1; +} + +.librero__back { + background-color: #383358; +} + +.librero__back::before { + content: ""; + position: absolute; + width: 100%; + height: 4vw; + border-radius: 50%; + background-image: radial-gradient(rgba(106, 154, 251, 0.7) 50%, rgba(32, 99, 167, 0.6), transparent); + filter: blur(1.25vw); +} + +.librero__right { + background-color: #383358; +} + +.librero__left { + background-color: #9e99c1; +} + +.librero__top { + background-color: #d9d0f6; +} + +.librero__top::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to bottom, rgba(31, 104, 249, 0.75), transparent); +} + +.librero__bottom { + background-color: #383358; +} + +.librero__bottom::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to bottom, rgba(31, 104, 249, 0.75), transparent); +} + +.libros { + position: absolute; +} + +.libro { + position: absolute; + top: 1vw; + width: 0.5vw; + height: 1vw; + transform: translateZ(7.25vw); +} + +.libro__front { + width: 0.5vw; + height: 1.5vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(-0.5vw); +} + +.libro__back { + width: 0.5vw; + height: 1.5vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-0.5vw) translateY(-1.5vw); +} + +.libro__right { + width: 1vw; + height: 1.5vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(0.5vw) translateX(-1vw) translateY(-1.5vw); +} + +.libro__left { + width: 1vw; + height: 1.5vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-1.5vw); +} + +.libro__top { + width: 0.5vw; + height: 1vw; + transform-origin: top left; + transform: translateZ(1.5vw); +} + +.libro__bottom { + width: 0.5vw; + height: 1vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-0.5vw); +} + +.libro__front { + background-image: linear-gradient(to bottom, #9e99c1, #8079ae); +} + +.libro__front::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to bottom, rgba(81, 137, 251, 0.4), transparent); +} + +.libro__back { + background-color: #fbfafe; +} + +.libro__right { + background-color: #645c98; +} + +.libro__right::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to bottom, rgba(81, 137, 251, 0.85), rgba(40, 125, 210, 0.35)); +} + +.libro__left { + background-color: #9e99c1; +} + +.libro__top { + background-color: #d9d0f6; +} + +.libro__top::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to bottom, rgba(81, 137, 251, 0.85), rgba(40, 125, 210, 0.35)); +} + +.libro__bottom { + background-color: #554d85; +} + +.libro:nth-of-type(1) { + left: 16vw; + transform-origin: left; + transform: translateZ(7.25vw) rotateZ(-10deg); +} + +.libro:nth-of-type(2) { + left: 17vw; + transform: translateZ(7.25vw) rotateZ(2deg); +} + +.libro:nth-of-type(3) { + left: 17.75vw; + transform: translateZ(7.25vw) rotateZ(5deg); +} + +.libro:nth-of-type(4) { + left: 19vw; + transform-origin: left; + transform: translateZ(7.25vw) rotateZ(10deg); +} + +.libro:nth-of-type(5) { + left: 20vw; + transform-origin: left; + transform: translateZ(7.25vw) rotateZ(10deg); +} + +.libro:nth-of-type(6) { + left: 23vw; + transform-origin: left; + transform: translateZ(7.25vw) rotateY(-90deg); +} + +.fotos { + position: absolute; +} + +.foto { + position: absolute; + width: 0.125vw; + height: 2vw; + left: 2vw; + top: 11vw; + transform: translateZ(5.26vw); +} + +.foto__front { + width: 0.125vw; + height: 1.125vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(1.125vw); +} + +.foto__back { + width: 0.125vw; + height: 1.125vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-0.125vw) translateY(-1.125vw); +} + +.foto__right { + width: 2.25vw; + height: 1.125vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(0.125vw) translateX(-2.25vw) translateY(-1.125vw); +} + +.foto__left { + width: 2.25vw; + height: 1.125vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-1.125vw); +} + +.foto__top { + width: 0.125vw; + height: 2.25vw; + transform-origin: top left; + transform: translateZ(1.125vw); +} + +.foto__bottom { + width: 0.125vw; + height: 2.25vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-0.125vw); +} + +.foto__front { + background-image: linear-gradient(to bottom, #9e99c1, #8079ae); +} + +.foto__front::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to bottom, rgba(81, 137, 251, 0.4), transparent); +} + +.foto__back { + background-color: #fbfafe; +} + +.foto__right { + display: flex; + justify-content: center; + align-items: center; + background-color: #8f89b7; + border: 0.15vw solid #1f2158; +} + +.foto__right::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: repeating-linear-gradient(to bottom, #9e99c1 0.1vw, #b7a5ed 0.2vw); +} + +.foto__left { + background-color: #9e99c1; +} + +.foto__top { + background-color: #d9d0f6; +} + +.foto__top::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to bottom, rgba(81, 137, 251, 0.85), rgba(40, 125, 210, 0.35)); +} + +.foto__bottom { + background-color: #595388; +} + +.foto__bottom::before { + content: ""; + position: absolute; + right: -100%; + width: 400%; + height: 100%; + background-color: rgba(11, 12, 31, 0.75); + filter: blur(0.15vw); +} + +.foto:nth-of-type(1) { + top: 10.5vw; + transform: translateZ(5.26vw) rotateZ(5deg); +} + +.foto:nth-of-type(2) { + top: 15vw; + transform: translateZ(5.26vw) rotateZ(-15deg); +} + +.cajas { + position: absolute; +} + +.caja { + position: absolute; + width: 1vw; + height: 1.5vw; + left: 2vw; + transform: translateZ(16.35vw); +} + +.caja__front { + width: 1vw; + height: 0.75vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(0.75vw); +} + +.caja__back { + width: 1vw; + height: 0.75vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-1vw) translateY(-0.75vw); +} + +.caja__right { + width: 1.5vw; + height: 0.75vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(1vw) translateX(-1.5vw) translateY(-0.75vw); +} + +.caja__left { + width: 1.5vw; + height: 0.75vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-0.75vw); +} + +.caja__top { + width: 1vw; + height: 1.5vw; + transform-origin: top left; + transform: translateZ(0.75vw); +} + +.caja__bottom { + width: 1vw; + height: 1.5vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-1vw); +} + +.caja__front { + background-image: linear-gradient(to bottom, #9e99c1, #8079ae); +} + +.caja__front::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to bottom, rgba(81, 137, 251, 0.4), transparent); +} + +.caja__back { + background-color: #9e99c1; +} + +.caja__right { + background-color: #645c98; +} + +.caja__right::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to bottom, rgba(81, 137, 251, 0.85), rgba(40, 125, 210, 0.35)); +} + +.caja__left { + background-color: #9e99c1; +} + +.caja__top { + background-color: #d9d0f6; +} + +.caja__top::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to bottom, rgba(81, 137, 251, 0.85), rgba(40, 125, 210, 0.35)); +} + +.caja__bottom { + background-color: #595388; +} + +.caja__bottom::before { + content: ""; + position: absolute; + right: -50%; + width: 150%; + height: 120%; + background-color: rgba(31, 33, 88, 0.5); + filter: blur(0.15vw); +} + +.caja:nth-of-type(1) { + top: 11.6vw; +} + +.caja:nth-of-type(2) { + top: 13.5vw; +} + +.caja:nth-of-type(3) { + top: 17vw; +} + +.cuadro-l, +.cuadro-r { + position: absolute; + left: 13vw; + top: 1vw; + width: 5vw; + height: 0.5vw; + transform: translateZ(10vw); +} + +.cuadro-l__front, +.cuadro-r__front { + width: 5vw; + height: 7vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(-6.75vw); +} + +.cuadro-l__back, +.cuadro-r__back { + width: 5vw; + height: 7vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-5vw) translateY(-7vw); +} + +.cuadro-l__right, +.cuadro-r__right { + width: 0.25vw; + height: 7vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(5vw) translateX(-0.25vw) translateY(-7vw); +} + +.cuadro-l__left, +.cuadro-r__left { + width: 0.25vw; + height: 7vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-7vw); +} + +.cuadro-l__top, +.cuadro-r__top { + width: 5vw; + height: 0.25vw; + transform-origin: top left; + transform: translateZ(7vw); +} + +.cuadro-l__bottom, +.cuadro-r__bottom { + width: 5vw; + height: 0.25vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-5vw); +} + +.cuadro-l__front, +.cuadro-r__front { + background-repeat: no-repeat; + background-size: contain; + background-position: center; +} + +.cuadro-l__back, +.cuadro-r__back { + background-color: #383358; + box-shadow: 0.35vw 0.35vw 0.35vw rgba(81, 137, 251, 0.2), -0.35vw 0.35vw 0.35vw rgba(81, 137, 251, 0.2), + -0.35vw -0.35vw 0.35vw rgba(81, 137, 251, 0.2), 0.35vw -0.35vw 0.35vw rgba(81, 137, 251, 0.2); +} + +.cuadro-l__right, +.cuadro-r__right { + background-color: #383358; +} + +.cuadro-l__left, +.cuadro-r__left { + background-color: #9e99c1; +} + +.cuadro-l__top, +.cuadro-r__top { + background-color: #9e99c1; +} + +.cuadro-l__bottom, +.cuadro-r__bottom { + background-color: #383358; +} + +.cuadro-l__front { + background-image: url("https://img02.anheyu.com/adminuploads/1/2022/10/20/63510384967db.jpg"); + background-color: #d51e24; + border: 1vw solid #d51e24; +} + +.cuadro-l__front::before { + content: ""; + position: absolute; + top: -1vw; + left: -1vw; + width: 5vw; + height: 7vw; + background-origin: padding-box; + background-image: linear-gradient(to bottom, rgba(40, 125, 210, 0.15), rgba(40, 125, 210, 0.15)); +} + +.cuadro-r { + left: 20vw; +} + +.cuadro-r__front { + background-image: url("https://img02.anheyu.com/adminuploads/1/2022/10/20/6351038496f25.jpg"); + background-color: #0f1110; + border: 0.5vw solid #0f1110; +} + +.cuadro-r__front::before { + content: ""; + position: absolute; + top: -0.5vw; + left: -0.5vw; + width: 5vw; + height: 7vw; + background-origin: padding-box; + background-image: linear-gradient(to bottom, rgba(40, 125, 210, 0.15), rgba(40, 125, 210, 0.15)); +} + +.puerta-c { + position: absolute; + left: 3vw; + top: 1vw; + width: 8vw; + height: 0.5vw; + transform: translateZ(0.5vw); +} + +.puerta-c::before { + content: ""; + position: absolute; + width: 100%; + height: 200%; + background-color: rgba(0, 0, 0, 0.65); + filter: blur(0.5vw); +} + +.puerta { + position: absolute; + left: 0.5vw; + top: 0; + width: 7vw; + height: 0.5vw; +} + +.puerta__front { + width: 7vw; + height: 16vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(-15.75vw); +} + +.puerta__back { + width: 7vw; + height: 16vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-7vw) translateY(-16vw); +} + +.puerta__right { + width: 0.25vw; + height: 16vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(7vw) translateX(-0.25vw) translateY(-16vw); +} + +.puerta__left { + width: 0.25vw; + height: 16vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-16vw); +} + +.puerta__top { + width: 7vw; + height: 0.25vw; + transform-origin: top left; + transform: translateZ(16vw); +} + +.puerta__bottom { + width: 7vw; + height: 0.25vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-7vw); +} + +.puerta__front { + background-image: linear-gradient(to bottom, #0f1110, #121332); + border: 0.125vw solid #5189fb; +} + +.puerta__front::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: radial-gradient(transparent 50%, rgba(4, 61, 174, 0.25)); + box-shadow: 0.65vw 0.65vw 0.5vw rgba(81, 137, 251, 0.6), -0.65vw 0.65vw 0.5vw rgba(81, 137, 251, 0.6), + -0.65vw -0.65vw 0.5vw rgba(81, 137, 251, 0.6), 0.65vw -0.65vw 0.5vw rgba(81, 137, 251, 0.6); +} + +.puerta__front::after { + content: ""; + position: absolute; + top: 50%; + right: 0.75vw; + width: 1vw; + height: 0.25vw; + background-color: #9e99c1; + box-shadow: 0.125vw 0.125vw 0.25vw rgba(81, 137, 251, 0.6), -0.125vw 0.125vw 0.25vw rgba(81, 137, 251, 0.6), + -0.125vw -0.125vw 0.25vw rgba(81, 137, 251, 0.6), 0.125vw -0.125vw 0.25vw rgba(81, 137, 251, 0.6); +} + +.puerta-l, +.puerta-r { + position: absolute; + left: 0; + top: 0; + width: 0.5vw; + height: 0.5vw; +} + +.puerta-l__front, +.puerta-r__front { + width: 0.5vw; + height: 16vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(-15.5vw); +} + +.puerta-l__back, +.puerta-r__back { + width: 0.5vw; + height: 16vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-0.5vw) translateY(-16vw); +} + +.puerta-l__right, +.puerta-r__right { + width: 0.5vw; + height: 16vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(0.5vw) translateX(-0.5vw) translateY(-16vw); +} + +.puerta-l__left, +.puerta-r__left { + width: 0.5vw; + height: 16vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-16vw); +} + +.puerta-l__top, +.puerta-r__top { + width: 0.5vw; + height: 0.5vw; + transform-origin: top left; + transform: translateZ(16vw); +} + +.puerta-l__bottom, +.puerta-r__bottom { + width: 0.5vw; + height: 0.5vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-0.5vw); +} + +.puerta-l__front, +.puerta-r__front { + background-color: #121332; +} + +.puerta-l__back, +.puerta-r__back { + background-color: #0b0c1f; +} + +.puerta-l__right, +.puerta-r__right { + background-color: #0b0c1f; +} + +.puerta-l__left, +.puerta-r__left { + background-color: #121332; +} + +.puerta-l__bottom, +.puerta-r__bottom { + background-color: #0b0c1f; +} + +.puerta-r { + left: calc(100% - 0.5vw); +} + +.puerta-t { + left: 0; + top: 0; + width: 8vw; + height: 0.5vw; + transform: translateZ(16vw); +} + +.puerta-t__front { + width: 8vw; + height: 0.5vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(0vw); +} + +.puerta-t__back { + width: 8vw; + height: 0.5vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-8vw) translateY(-0.5vw); +} + +.puerta-t__right { + width: 0.5vw; + height: 0.5vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(8vw) translateX(-0.5vw) translateY(-0.5vw); +} + +.puerta-t__left { + width: 0.5vw; + height: 0.5vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-0.5vw); +} + +.puerta-t__top { + width: 8vw; + height: 0.5vw; + transform-origin: top left; + transform: translateZ(0.5vw); +} + +.puerta-t__bottom { + width: 8vw; + height: 0.5vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-8vw); +} + +.puerta-t__front { + background-color: #121332; +} + +.puerta-t__back { + background-color: #0b0c1f; +} + +.puerta-t__right { + background-color: #0b0c1f; +} + +.puerta-t__left { + background-color: #121332; +} + +.puerta-t__top { + background-color: #1f2158; +} + +.puerta-t__bottom { + background-color: #0b0c1f; +} + +.muro { + position: absolute; + left: 1vw; + top: 6vw; + width: 0.5vw; + height: 16vw; + transform: translateZ(0.51vw); +} + +.muro__front { + width: 0.5vw; + height: 18vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(-2vw); +} + +.muro__back { + width: 0.5vw; + height: 18vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-0.5vw) translateY(-18vw); +} + +.muro__right { + width: 16vw; + height: 18vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(0.5vw) translateX(-16vw) translateY(-18vw); +} + +.muro__left { + width: 16vw; + height: 18vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-18vw); +} + +.muro__top { + width: 0.5vw; + height: 16vw; + transform-origin: top left; + transform: translateZ(18vw); +} + +.muro__bottom { + width: 0.5vw; + height: 16vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-0.5vw); +} + +.muro__front { + background-color: #0b0c1f; +} + +.muro__back { + background-color: #0b0c1f; +} + +.muro__right { + display: flex; + justify-content: center; + background-image: radial-gradient(circle, #1f2158, #0b0c1f); + overflow: hidden; +} + +.muro__right::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient( + to bottom, + rgba(40, 125, 210, 0.25), + transparent 30%, + transparent 70%, + rgba(40, 125, 210, 0.15) + ); +} + +.muro__right::after { + content: ""; + position: absolute; + bottom: 0; + left: 5%; + width: 90%; + height: 25%; + background-image: linear-gradient(to bottom, rgba(4, 5, 13, 0.75), rgba(4, 5, 13, 0.95)); + filter: blur(0.75vw); +} + +.muro__left { + background-color: #0b0c1f; + box-shadow: 0.5vw 0.5vw 0.6vw rgba(81, 137, 251, 0.3), 0.5vw -0.5vw 0.6vw rgba(81, 137, 251, 0.3), + -0.5vw 0.5vw 0.6vw rgba(81, 137, 251, 0.3), -0.5vw -0.5vw 0.6vw rgba(81, 137, 251, 0.3); +} + +.muro__top { + background-color: #0b0c1f; +} + +.muro__top::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + bottom: 0; + background-image: linear-gradient(to left, rgba(40, 125, 210, 0.5), rgba(81, 137, 251, 0.25)); +} + +.muro__bottom { + background-color: #0b0c1f; +} + +.muro__bottom::before { + content: ""; + position: absolute; + top: 0; + right: 0; + width: 5vw; + height: 100%; + background-image: linear-gradient(to left, #0b0c1f, transparent 50%); + transform-origin: right bottom; + transform: skewY(-20deg); + filter: blur(0.25vw); +} + +.sillon-c { + position: absolute; + right: 2vw; + bottom: 6vw; + width: 6vw; + height: 16vw; + transform: translateZ(0.5vw); +} + +.sillon-c::before { + content: ""; + position: absolute; + top: -10%; + left: -10%; + width: 120%; + height: 120%; + background-color: rgba(11, 12, 31, 0.85); + filter: blur(0.75vw); +} + +.sillon-b { + position: absolute; + left: 0; + top: 1vw; + width: 6vw; + height: 14vw; +} + +.sillon-b__front { + width: 6vw; + height: 3vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(11vw); +} + +.sillon-b__back { + width: 6vw; + height: 3vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-6vw) translateY(-3vw); +} + +.sillon-b__right { + width: 14vw; + height: 3vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(6vw) translateX(-14vw) translateY(-3vw); +} + +.sillon-b__left { + width: 14vw; + height: 3vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-3vw); +} + +.sillon-b__top { + width: 6vw; + height: 14vw; + transform-origin: top left; + transform: translateZ(3vw); +} + +.sillon-b__bottom { + width: 6vw; + height: 14vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-6vw); +} + +.sillon-b__front { + background-color: #121332; +} + +.sillon-b__back { + background-color: #0b0c1f; +} + +.sillon-b__right { + background-color: #0b0c1f; +} + +.sillon-b__left { + background-image: linear-gradient(to bottom, #121332, #0b0c1f); +} + +.sillon-b__left::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to bottom, rgba(40, 125, 210, 0.1), transparent); +} + +.sillon-b__top { + background-image: linear-gradient(to right, #1f2158, #121332); + border-left: 0.1vw solid rgba(158, 153, 193, 0.5); +} + +.sillon-b__top::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to right, rgba(40, 125, 210, 0.25), transparent); +} + +.sillon-b__bottom { + background-color: #0b0c1f; +} + +.sillon-l, +.sillon-r { + position: absolute; + left: 0; + bottom: 0; + width: 6vw; + height: 1vw; +} + +.sillon-l__front, +.sillon-r__front { + width: 6vw; + height: 4.5vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(-3.5vw); +} + +.sillon-l__back, +.sillon-r__back { + width: 6vw; + height: 4.5vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-6vw) translateY(-4.5vw); +} + +.sillon-l__right, +.sillon-r__right { + width: 1vw; + height: 4.5vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(6vw) translateX(-1vw) translateY(-4.5vw); +} + +.sillon-l__left, +.sillon-r__left { + width: 1vw; + height: 4.5vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-4.5vw); +} + +.sillon-l__top, +.sillon-r__top { + width: 6vw; + height: 1vw; + transform-origin: top left; + transform: translateZ(4.5vw); +} + +.sillon-l__bottom, +.sillon-r__bottom { + width: 6vw; + height: 1vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-6vw); +} + +.sillon-l__front, +.sillon-r__front { + background-image: linear-gradient(to bottom, #121332, #0b0c1f); +} + +.sillon-l__back, +.sillon-r__back { + background-color: #0b0c1f; +} + +.sillon-l__right, +.sillon-r__right { + background-image: linear-gradient(to bottom, #0b0c1f, black); +} + +.sillon-l__left, +.sillon-r__left { + background-image: linear-gradient(to bottom, #121332, #0b0c1f); +} + +.sillon-l__top, +.sillon-r__top { + background-image: linear-gradient(to right, #1f2158, #0f102b); + border-bottom: 0.1vw solid rgba(158, 153, 193, 0.5); +} + +.sillon-l__top::before, +.sillon-r__top::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to right, rgba(40, 125, 210, 0.75), transparent); +} + +.sillon-l__bottom, +.sillon-r__bottom { + background-color: #0b0c1f; +} + +.sillon-r { + top: 0; +} + +.sillon-t { + position: absolute; + right: 0; + top: 1vw; + width: 1vw; + height: 1vw; + transform-origin: right; + transform: rotateY(7deg); +} + +.sillon-t__front { + width: 1vw; + height: 6.5vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(7.5vw); +} + +.sillon-t__back { + width: 1vw; + height: 6.5vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-1vw) translateY(-6.5vw); +} + +.sillon-t__right { + width: 14vw; + height: 6.5vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(1vw) translateX(-14vw) translateY(-6.5vw); +} + +.sillon-t__left { + width: 14vw; + height: 6.5vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-6.5vw); +} + +.sillon-t__top { + width: 1vw; + height: 14vw; + transform-origin: top left; + transform: translateZ(6.5vw); +} + +.sillon-t__bottom { + width: 1vw; + height: 14vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-1vw); +} + +.sillon-t__front { + background-image: linear-gradient(to bottom, #0b0c1f, #070814); +} + +.sillon-t__back { + background-image: linear-gradient(to bottom, #0b0c1f, #0b0c1f); +} + +.sillon-t__right { + background-image: linear-gradient(to bottom, #0b0c1f, black); +} + +.sillon-t__left { + background-color: #121332; +} + +.sillon-t__top { + background-image: linear-gradient(to right, #1f2158, #0f102b); + border-bottom: 0.1vw solid rgba(158, 153, 193, 0.5); +} + +.sillon-t__top::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(to right, rgba(40, 125, 210, 0.5), transparent); +} + +.sillon-t__bottom { + background-color: #0b0c1f; +} + +.mesa-c { + position: absolute; + left: 7vw; + top: 9.5vw; + width: 10vw; + height: 9vw; + transform: translateZ(0.5vw); +} + +.mesa-shadow { + position: absolute; + width: 100%; + height: 100%; + border-radius: 10%; + background-color: rgba(11, 12, 31, 0.95); + filter: blur(1vw); + transform: translateZ(0); +} + +.mesa { + position: absolute; + left: 0; + top: 0; + width: 10vw; + height: 9vw; + transform: translateZ(2vw); +} + +.mesa__front { + width: 10vw; + height: 0.5vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(8.5vw); +} + +.mesa__back { + width: 10vw; + height: 0.5vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-10vw) translateY(-0.5vw); +} + +.mesa__right { + width: 9vw; + height: 0.5vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(10vw) translateX(-9vw) translateY(-0.5vw); +} + +.mesa__left { + width: 9vw; + height: 0.5vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-0.5vw); +} + +.mesa__top { + width: 10vw; + height: 9vw; + transform-origin: top left; + transform: translateZ(0.5vw); +} + +.mesa__bottom { + width: 10vw; + height: 9vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-10vw); +} + +.mesa__front { + background-image: linear-gradient(to right, #0b0c1f, black); +} + +.mesa__front::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background-image: linear-gradient(45deg, rgba(81, 137, 251, 0.125), rgba(180, 205, 253, 0.25), transparent 55%); +} + +.mesa__back { + background-color: #0b0c1f; +} + +.mesa__right { + background-color: black; +} + +.mesa__left { + background-color: #121332; +} + +.mesa__top { + background-image: linear-gradient(45deg, #0e0f27, #04050d); + overflow: hidden; +} + +.mesa__top::before { + content: ""; + position: absolute; + bottom: 0; + width: 50%; + height: 50%; + background-image: linear-gradient(45deg, rgba(81, 137, 251, 0.5), rgba(251, 250, 254, 0.125) 50%, transparent 55%); + filter: blur(0.5vw); +} + +.mesa__top::after { + content: ""; + position: absolute; + left: 2vw; + top: 2vw; + width: 20%; + height: 50%; + border-radius: 50%; + background-color: rgba(40, 125, 210, 0.079); + transform: rotateZ(-40deg); + filter: blur(0.75vw); +} + +.mesa__bottom { + background-color: #0b0c1f; +} + +.mesa-p { + position: absolute; + width: 0.25vw; + height: 0.25vw; +} + +.mesa-p__front { + width: 0.25vw; + height: 1.75vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(-1.5vw); +} + +.mesa-p__back { + width: 0.25vw; + height: 1.75vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-0.25vw) translateY(-1.75vw); +} + +.mesa-p__right { + width: 0.25vw; + height: 1.75vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(0.25vw) translateX(-0.25vw) translateY(-1.75vw); +} + +.mesa-p__left { + width: 0.25vw; + height: 1.75vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-1.75vw); +} + +.mesa-p__top { + width: 0.25vw; + height: 0.25vw; + transform-origin: top left; + transform: translateZ(1.75vw); +} + +.mesa-p__bottom { + width: 0.25vw; + height: 0.25vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-0.25vw); +} + +.mesa-p__front { + background-color: #0b0c1f; +} + +.mesa-p__back { + background-color: #0b0c1f; +} + +.mesa-p__right { + background-color: black; +} + +.mesa-p__left { + background-color: #121332; +} + +.mesa-p__top { + background-color: #1f2158; +} + +.mesa-p__bottom { + background-color: #0b0c1f; +} + +.mesa-p__bottom::before { + content: ""; + position: absolute; + width: 600%; + height: 200%; + top: 0; + right: 0; + border-radius: 10%; + transform: translateZ(-0.1vw); + background-color: rgba(0, 0, 0, 0.75); + filter: blur(0.35vw); +} + +.mesa-p:nth-of-type(1) { + left: 0.5vw; + top: 0.5vw; +} + +.mesa-p:nth-of-type(2) { + right: 0.5vw; + top: 0.5vw; +} + +.mesa-p:nth-of-type(3) { + left: 0.5vw; + bottom: 0.5vw; +} + +.mesa-p:nth-of-type(4) { + right: 0.5vw; + bottom: 0.5vw; +} + +.tablet { + position: absolute; + left: 13vw; + top: 12vw; + width: 2vw; + height: 2.5vw; + transform: translateZ(3.01vw) rotateZ(15deg); +} + +.tablet__front { + width: 2vw; + height: 0.125vw; + transform-origin: bottom left; + transform: rotateX(-90deg) translateZ(2.375vw); +} + +.tablet__back { + width: 2vw; + height: 0.125vw; + transform-origin: top left; + transform: rotateX(-90deg) rotateY(180deg) translateX(-2vw) translateY(-0.125vw); +} + +.tablet__right { + width: 2.5vw; + height: 0.125vw; + transform-origin: top left; + transform: rotateY(90deg) rotateZ(-90deg) translateZ(2vw) translateX(-2.5vw) translateY(-0.125vw); +} + +.tablet__left { + width: 2.5vw; + height: 0.125vw; + transform-origin: top left; + transform: rotateY(-90deg) rotateZ(90deg) translateY(-0.125vw); +} + +.tablet__top { + width: 2vw; + height: 2.5vw; + transform-origin: top left; + transform: translateZ(0.125vw); +} + +.tablet__bottom { + width: 2vw; + height: 2.5vw; + transform-origin: top left; + transform: rotateY(180deg) translateX(-2vw); +} + +.tablet__front { + background-color: #8079ae; +} + +.tablet__back { + background-color: #383358; +} + +.tablet__right { + background-color: #383358; +} + +.tablet__left { + background-color: #9e99c1; +} + +.tablet__top { + background-color: #83abfc; + border: 0.2vw solid rgba(81, 137, 251, 0.25); + animation: pantalla-tablet 0.25s infinite; +} + +.tablet__bottom { + background-color: black; + box-shadow: 0.25vw 0.25vw 0.5vw rgba(24, 74, 124, 0.75), -0.25vw 0.25vw 0.5vw rgba(24, 74, 124, 0.75), + -0.25vw -0.25vw 0.5vw rgba(24, 74, 124, 0.75), 0.25vw -0.25vw 0.5vw rgba(24, 74, 124, 0.75); +} + +/**********************/ +/**********************/ +@keyframes pantalla-tablet { + from { + background-color: #6a9afb; + } +} + +@keyframes pantalla-tv { + from { + background-color: #6a9afb; + box-shadow: 0.125vw 0.125vw 0vw rgba(81, 137, 251, 0), -0.125vw 0.125vw 0vw rgba(81, 137, 251, 0), + 0.125vw -0.125vw 0vw rgba(81, 137, 251, 0), -0.125vw -0.125vw 0vw rgba(81, 137, 251, 0); + } +} + +@keyframes luz-tv { + from { + background-image: radial-gradient(rgba(36, 112, 188, 0.8), rgba(56, 121, 250, 0.8)); + } +} + +div#runtime { + width: 180px; + margin: auto; + color: #fff; + padding-inline: 5px; + border-radius: 10px; + background-color: rgba(0, 0, 0, 0.7); +} +#workboard { + font-size: 12px; +} +[data-theme="dark"] div#runtime { + color: #28b4c8; + box-shadow: 0 0 5px rgba(28, 69, 218, 0.71); + animation: flashlight 1s linear infinite alternate; +} +#ghbdages .github-badge img { + height: 20px; + max-width: 150px; + border-radius: 4px; + pointer-events: none; +} +#workboard img.boardsign { + width: 100%; + max-width: 130px; + border-radius: 0px; +} +@-moz-keyframes flashlight { + from { + box-shadow: 0 0 5px #1478d2; + } + to { + box-shadow: 0 0 2px #1478d2; + } +} +@-webkit-keyframes flashlight { + from { + box-shadow: 0 0 5px #1478d2; + } + to { + box-shadow: 0 0 2px #1478d2; + } +} +@-o-keyframes flashlight { + from { + box-shadow: 0 0 5px #1478d2; + } + to { + box-shadow: 0 0 2px #1478d2; + } +} +@keyframes flashlight { + from { + box-shadow: 0 0 5px #1478d2; + } + to { + box-shadow: 0 0 2px #1478d2; + } +} + +.author-content.author-content-item { + height: 19rem; + background-color: var(--anzhiyu-main); + background-position: left 28%; + background-repeat: no-repeat; + background-size: cover; + color: var(--anzhiyu-white); + overflow: hidden; + margin-top: 0; + background-image: linear-gradient(-45deg, var(--anzhiyu-main), #0f4667, #2a6973 150%, #67044d); + background-size: 400%; + animation: gradient 15s ease infinite; +} + +#skills-tags-group-all { + display: flex; + transform: rotate(0); + transition: 0.3s; +} +#skills-tags-group-all .tags-group-wrapper { + margin-top: 40px; + display: flex; + flex-wrap: nowrap; + animation: rowup 60s linear infinite; +} +#skills-tags-group-all .tags-group-icon-pair { + margin-left: 1rem; +} +#skills-tags-group-all .tags-group-icon { + display: flex; + align-items: center; + justify-content: center; + color: #fff; + font-size: 66px; + font-weight: 700; + box-shadow: var(--anzhiyu-shadow-blackdeep); + width: 120px; + height: 120px; + border-radius: 30px; +} +#skills-tags-group-all .tags-group-icon img { + width: 60px; + margin: 0 auto !important; +} +[data-theme="dark"] #skills-tags-group-all .tags-group-icon img { + filter: none; +} +#skills-tags-group-all .tags-group-icon-pair .tags-group-icon:nth-child(even) { + margin-top: 1rem; + transform: translate(-60px); +} + +#skills-tags-group-all .etc { + margin-right: 10px; + margin-top: 10px; +} + +@keyframes rowup { + 0% { + transform: translateX(0); + } + 100% { + transform: translateX(-50%); + } +} + +#article-container .tag-Link { + background: var(--anzhiyu-secondbg); + border-radius: 8px !important; + display: flex; + border: var(--style-border); + flex-direction: column; + padding: 0.5rem 1rem !important; + border-width: 1px !important; + margin: 1rem 0; +} + +#article-container .tag-Link:hover { + border: var(--style-border-hover); +} + +#article-container .tag-Link .tag-link-tips { + border-bottom: var(--style-border); + padding-bottom: 4px; + font-size: 0.6rem; + color: var(--anzhiyu-gray); + font-weight: normal; +} + +#article-container .tag-Link:hover .tag-link-tips { + color: var(--anzhiyu-white); +} + +#article-container .tag-Link .tag-link-bottom { + display: flex; + margin-top: 0.5rem; + align-items: center; + justify-content: space-around; +} + +#article-container .tag-Link .tag-link-bottom .tag-link-left { + width: 60px; + min-width: 60px; + height: 60px; + background-size: cover; + border-radius: var(--anzhiyu-border-radius); + background-color: var(--anzhiyu-card-bg); + display: flex; + align-items: center; + justify-content: center; +} +#article-container .tag-Link .tag-link-bottom .tag-link-left i { + margin: 0; + padding: 0; + margin: auto; + font-size: 24px; + color: var(--anzhiyu-fontcolor); +} + +#article-container .tag-Link .tag-link-bottom .tag-link-right { + margin-left: 1rem; + max-width: calc(100% - 76px - 1rem); +} + +#article-container .tag-Link .tag-link-bottom .tag-link-right .tag-link-title { + font-size: 1rem; + line-height: 1.2; +} + +#article-container .tag-Link .tag-link-bottom .tag-link-right .tag-link-sitename { + font-size: 0.7rem; + color: var(--anzhiyu-gray); + font-weight: normal; + margin-top: 4px; +} + +#article-container .tag-Link:hover .tag-link-bottom .tag-link-right .tag-link-sitename { + color: var(--anzhiyu-white); +} + +#article-container .tag-Link .tag-link-bottom i { + margin-left: auto; +} + +.site-card-group .site-card .info { + margin-top: 0; +} +.site-card-group > a { + width: calc(100% / 4 - 0.5rem); + height: 150px; + position: relative; + display: block; + margin: 0.5rem 0.25rem; + float: left; + overflow: hidden; + padding: 0; + border-radius: 8px; + transition: all 0.3s ease 0s, transform cubic-bezier(0.71, 0.15, 0.16, 1.15) 0.6s; + box-shadow: none; + border: var(--style-border) !important; +} + +.site-card-group > a .wrapper { + position: relative; +} + +.site-card-group > a .cover { + width: 100%; + -webkit-transition: -webkit-transform 0.5s ease-out; + -moz-transition: -moz-transform 0.5s ease-out; + -o-transition: -o-transform 0.5s ease-out; + -ms-transition: -ms-transform 0.5s ease-out; + transition: transform 0.5s ease-out; +} + +.site-card-group > a .info, +.site-card-group > a .wrapper .cover { + position: absolute; + top: 0; + left: 0; +} + +.site-card-group > a .info { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + width: 100%; + height: 100%; + overflow: hidden; + border-radius: 3px; + background-color: rgba(255, 255, 255, 0.7); + -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; + -moz-transition: -moz-transform 0.5s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; + -o-transition: -o-transform 0.5s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; + -ms-transition: -ms-transform 0.5s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; + transition: transform 0.5s cubic-bezier(0.6, 0.2, 0.1, 1) 0s; +} + +.site-card-group > a .info img { + position: relative; + top: 19px; + width: 80px; + height: 80px; + border-radius: 50%; + -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 30%); + box-shadow: 0 0 10px rgb(0 0 0 / 30%); + z-index: 1; + text-align: center; + pointer-events: none; +} + +.site-card-group > a .info span { + padding: 20px 10% 60px 10%; + font-size: 16px; + width: 100%; + text-align: center; + -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 30%); + box-shadow: 0 0 10px rgb(0 0 0 / 30%); + background-color: rgba(255, 255, 255, 0.7); + color: var(--font-color); + white-space: nowrap; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; +} + +.site-card-group .site-card:hover { + border-color: var(--anzhiyu-main) !important; + background-color: var(--anzhiyu-main) !important; + -webkit-box-shadow: var(--anzhiyu-shadow-theme) !important; + box-shadow: var(--anzhiyu-shadow-theme) !important; +} +.site-card-group > a:hover .wrapper img { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -o-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); +} + +.site-card-group > a .cover { + width: 100%; + -webkit-transition: -webkit-transform 0.5s ease-out; + -moz-transition: -moz-transform 0.5s ease-out; + -o-transition: -o-transform 0.5s ease-out; + -ms-transition: -ms-transform 0.5s ease-out; + transition: transform 0.5s ease-out; +} +.site-card-group > a .wrapper img { + height: 150px; + pointer-events: none; +} +.site-card-group .site-card .wrapper img { + -webkit-transition: -webkit-transform 0.5s ease-out !important; + -moz-transition: -moz-transform 0.5s ease-out !important; + -o-transition: -o-transform 0.5s ease-out !important; + -ms-transition: -ms-transform 0.5s ease-out !important; + transition: transform 0.5s ease-out !important; +} +.site-card-group > a .wrapper .fadeIn { + -webkit-animation: coverIn 0.8s ease-out forwards; + -moz-animation: coverIn 0.8s ease-out forwards; + -o-animation: coverIn 0.8s ease-out forwards; + -ms-animation: coverIn 0.8s ease-out forwards; + animation: coverIn 0.8s ease-out forwards; +} + +.site-card-group > a:hover .info { + -webkit-transform: translateY(-100%); + -moz-transform: translateY(-100%); + -o-transform: translateY(-100%); + -ms-transform: translateY(-100%); + transform: translateY(-100%); +} + diff --git a/placeholder b/css/var.css similarity index 100% rename from placeholder rename to css/var.css diff --git a/essay/index.html b/essay/index.html new file mode 100644 index 000000000..8fa2d518d --- /dev/null +++ b/essay/index.html @@ -0,0 +1,340 @@ +即刻短文 | Research • 呓语
加载头像

即刻短文

引用到评论
\ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..cd8205bc37febe8217fe7b384abaa69fb05cfadb GIT binary patch literal 4286 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 literal 0 HcmV?d00001 diff --git a/img/512.png b/img/512.png new file mode 100644 index 0000000000000000000000000000000000000000..c38a1c05bef99082b508113a90054e810788eac5 GIT binary patch literal 4172 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 D8#%s* literal 0 HcmV?d00001 diff --git a/img/algolia.svg b/img/algolia.svg new file mode 100644 index 000000000..fd1569187 --- /dev/null +++ b/img/algolia.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/img/comment_bg.png b/img/comment_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..3b0d5d5369377d756d149e8f975a09bff3e153f8 GIT binary patch literal 4246 zcmV;H5NYp;P)Px#{7_6(MMrQk)R#q6rb@V=*~ zsgZKIu&}t=|NsC0Mkgb;qorp>Ij56sBn1X91_OI)XSmS##o_;yfr0=3^H@MZOg&b( zqkFQLcaD~{e_ck4c6LD=7Wv`TRXIBT{Gy+(({*8C{rT!`SXjlfrH}NHDG(u(et2|X zV0mC$lx|!-LX@tYlwB$xM=&=_EiL%UzL9)=X<~fCriVEk8`f4*pt$HwH8);SVvmSb z)Wy5={QdH;sVEW;)baj)f0pIh%xza%VoywTaE31+OEVP|af8fwTU=&NPKz%uNLVf3 z(S4==vt>s}QFA)1L_X8Nz@<4`d;kCdRCH2KQvkEFv$M0avk9{mv$L}(v$M0ZD6_LW zvv0Grv$L~aud{@+vlX*Ev$M0XYO}Mmu(Pt3vrMzIowKtU ziLqyPX8*hxe|RA}DhnR{E>*cQe~Ho2IcotTh>goYr5ivhVQk#chc z1uwOoPUri7m-FtR_SA9g)IrZ5XIXiaN7G;4wbr}Vj=9|bc@);y*M779W|vp_tJ)l? zuf2liCuVtG9#nkoO$fDhPQ{f+zW3^Tw9PLy9;XA*+b!Gnmc1yKGdwk?jb3?q&7Rk4 zr9nk3*J^XJGe)kP8fBS{nmMEMNxiIgURg@MS*#5P`=x!+tkw33u`>yArA~Io9W`oQ z{FyUUgR80)v|lVqRb1$eIYXXJAlAy`oylmZ5D#C}o2scVzVd8$w(tKUV!^EGwc5a} znZ!n_Yr8AQDxhu+gST>Y(K1bdbqcS!P?K}jzStt0&u!>fuI>iV^L-$WqR}TKSI9*N z2Y({Z(fO86pT+A|CtA_k(ybE@uFYH;k|#4daPJDgP(OVHym_e&K1tHO)X23eDye zAB6({&d?r1Rd;?{s=slUabQ_NC{u(Z$+DzO;w)A}Vpm6_Q4~d;&U)?p>rRx#<>e*b z_Bd+2&avK5?!wpjEFKcJimB@e5<(FKDEK`BVntiw>WDXmd44p`Tz5uTNL{J`5CU>U zfI0}CaO%2oF!ug;WeCF1vR1AOFon}83P=?}7KH4Re=ECaB%dExZg1bee+nCCMgkcb zmSvfv30o|{;scrr{4LpWW2+i&g;Nko}D=pDeK^uLK0*eJ}`<`X>gS=UW(V% zYKQMc)9HFTJwLxb-|_R4b>e`KBT7H%7KgVqoejPL@Y|qLz4k|5;n_V5$Dthx>5!91KL;`lRtmT{jHR!>Tj&zVA7FdhZZXLo>Vj+1XNd ze$2C!m1ef=2-(nD1fVrVGAn&vF z7#5UqmM$O8PYp&=Xv(1!j>sD&3_y&sq#?O+FlLV51+kMr7EbUNw-LBpDRv8_T6VVk z&Jgz_WQaY9I*b_Ve;oqeYEoYZG~<&YkK#B#Gz(US85ufMkS8IzM#7dV6jx<x|;-ajKq);{Q!&y#Jt|c_z?&BHW!j@C_f%df~0qYCCv7<`;qd{EuLlD zWT&f6bBl;7OD1k8LMhba6GYu4^2$2V7mTciGZ(i&Cp{p#kp1cNI;~=hBI)c@MQh{A ze1GAH8;0J9XKnEi>wnS019>LYi`VJDE z(k&vHECcg2k(C6wRHW?0Cs9^z6!S&BELum!d_&J4p&mFQ65T_?gu@?Od>Bu-Arw;3$*r8)Hs>s_@s)V=l7sX;xZjBvwTEZF znaQ$6*Rmc})cDtxf8O8q=x=<{<+BabjD_Ndq8T{+uqyDgzJ#_wep{`@K~dKMn$H&( zc1UI3E>;hjb|*tFQg!T4*T>b)G5OFawkp;G;xR$i?dd;9Or9P3)kJoZGBDxYUkY4o5L*!YCTBJby{qQrn3Whm@luP^j`yWcB4`rM67pBd!l8WptVTBv# zb|bGp*!QHKW?t$zFH=xBjrrC2v6 z$sdP@zkeplSI;(2_kg&+x3^a+m2LB)pE7QddpS!kM*&;f89MVV@=i?LU`CkDug>B z6oZVq2&OgZxh-$if5^Y(ws&?J>s5v9qtW2iYe1Z5dj|rlLr7&sL@+zt+%mOQGy1~#Krya7*5s~f8u&3t9B-w_g5W;8P@Z52c zw2rRo%*18udbPKu9c5eiEtDPZMM5x15~yuE1?tQ&Om0URyb_ft142ODp}m4X+`Jlm zrrd?XXzq-w0C)Xp+j{itIo9sPq!s!^#u zPIK367i=P(GouYN|FAcM-x;D3?G$iUf`>o`on+7JwixV_pg|0vy9{o@iI~n|>T(LX zMYL@w-%!A9@S{rz(c>P|@%3R|f0D;F;N~p#@_Lvv{8(y|k@+n))h7N1VmU?MzrKY) z10uNVqY~kOIS<%4A-FNg>Rc4}==NqX!sYxlLIf=`t>%N@WtlpTL&yS*KuwGdwvBQn zXCsa?%oViGzs-6QY8T=&>K@r>X(EYt<+#^ePU`b6@g3cM_=_Qi2}8`VSR;xxVnNv7 z6+)CyfAhy@dK!%&b+v`uBFeU$It&pkE$viCkCigJ(k%s)nVkz*jdWYuTM zvm-WpRwMMaKq2vkKNFsdBH4Al*jhjm7H6SQ#`Bvu`sv;2M4=#-w$`K|{IcsvkBc#( z{-a5DonvbXy$t-~&wYta2UqI{Bgu|k z1q=Tn4(t0bB_}24S#h<8Yx;TZRg0YKNgCI(40+ZJQe=G4%L&hcfT3y)OQ&+~__&LS;Y zltxj>%B@{seO0-UQ+llABvG`hl@loYgz5~iuGAWzvF4Kr0dSOo((JI7KH|x z2|)mF=CgM1;QZ1f@4Dt za^G?3YM>0XvEn3RN7L#{w&EpYZ5@BUOJOYi`k$?j@NPTt?{k*yE+};&2sqt&TqbPQ z?6LXQSuCQ+6-bm8a#fjapd&6q_ZBM~>PxTZNPQ5}zq{Dq%-Z`pO}@Y~ayy&ATpck| zn8*^=Yh9gEigE%TETWJwHl`4S@aBF}Up0IAR^orz#hpEo)m7>II}F)E&-dBvts^)0 z4~C?oWw;9Q!d+ zda>57uKls{u>(Mq5|b1I00992K%WQT<0l|h)Xm%k0FaRZPy+w}NB}qxH~{360|Eel zej)$m{}I3jfc<+P08jF&FqhG_YST z$bUSL;y-d97XS`AVHLgp_F01hEZ8PI>Uf2MzVvVU2`1-!`B7(hMfi62zz z`J<4}$2uSo0REXEz#$+ZA)sMC4+MBvSa<|uKtFd6fYD|5fnO2S9=ZQUvw`0U`nbBLRUR0euVrSU;N;2<)Hc|DOZ~ z1Of^U0Sx(h6By)w5UUWjdxySh~k^?E_v zu(Nw$EuLkQllh`Y>z@+->kWrZ@d+1~>awZh3b;;!n#(fAkP6#LyrreKmqpvH-=U7% zIqhEURjTk&+aAiNUD|)70e|`wpD~Nx^rk!hQbuRLSmcIQaCq#}x5|~7xky;|>3hL& zRYl?ze8%Q;;@5P6KZ1~c|4^W6rlW#ar&m#%p^r71-w ze&+R^d-pDer%UD<@s3|x%PiY}6aat;|7D7chR-b(w0&|szPF4&<=;ek zBEih8mMgze*Gg^6=4)s&>481q)wNw--Aal4`bQQ3D)5gEAT)#@XLcLqoA@E+CXH~G z+Di5syNyHS9VvWMWxwZq533PbnB;(rDID;^8#s6A7( zq=vC|v57uLceC=uKwDCo5C2uOFN3!F>YAB zrgN57gw{0N7wA!?W++?#_3IcUfOCEDz#OS z;?l1i$-|#JZv;8TvR&JPT2Dvq-Q)Pg_q>8Ld#I?E=; zIPG#V7lS*W5_;v{-}roGuu_&q?({N@Q4`18ZO5(gtX-;qm!m&p5)IZge1Co-%e@OW z?9}CssciiQgJV#@xh>r`M(MD88`*#&lZ#&J(8*H!K$~*p|87iqj_fAOG~1z-jo%#W zEt%@~<*rP|6;2WpBa)uVFH5$3PZYWT;{T2SX#erHu5c_&oS*hJ3Y^BCYe*E-X+X5y z%TsMk!LzY{pv3Gmk@VAessX`_(o^dB=H^i#qnd1eRN*qf}oOOEv{|}6?_9yv&3XDD@TVex|DFx8)sB1f ziwU~%y$WvuA&~6}G#`Ll(S82_#7%db{wMZ#ke5xjIfpxI zmfut>rLnRW}9;O{odX{Vs4>`EPjv{4GhAzeM9O**QKg)IW2vUf%$$ z%YCZ`#qswW>nu0gWZmBa{(@yJQ^d6qx^s9^je)DuAe8p?j(8%%yr#&z2fE5D+6Dfg z|4vzLla3zj!;DE<^SPau%<&3r=^c}1Q+ONQ!uSZ`K|)QKyQ(#UTAd z8SAoa)U=CnNT7zPr(ByH=`K-+oON{H)YadUw4l!J6R;$m-zmh&(|cy1vpjM+SA(mJT*G9CuF}`j>-+%B=#;#b zRL{R}YHXLnv8aHwo;0-?dS=WjOBG-dMC7?0GAj@~|E9>z1L9qFxRw@c@3vSZIX%p- z%T+KeDek<0b&)6dIVDM4afqwvI8RsPt9V7%IiKB+uRg1wvDY4Ubtg**gO`g>2j3uH+=Knz~G& z(mWfqf6Oczj&6ixaTYt@$_iSOIFdzC8H^0P&(3`SAYaek0~#DQ8$cQiqUa-V;!lkc z`!Z<7_$Kkn9Tx6W^c$>8I6eSP$Jm3vZ&8O8MU*y*O{=uN$dh*|-L6#!E(yiP-PT<3 zk!`I^RK)mlt>&A%)f9q&xRSvqKSrU`qqTe^@Sc(>X;{IvYZR{w6aph=60P{ze1JXX zO_DKt_}=_QKPU%ZtSYnOv@tBZVDndLSp?q>_FCxsX)F)(y_s2Mbj8kFnof~hvg#V5iAXu~)Uf3}w+s@30ZOVt z-##blQB%t%9q#@w%Jt_BQ+6pK+O_B=fn!DUvVsWIO}9jw~jVai;NOHWP?x1#TD z@-{W6WxitwVpnR+cHijA%%Y6|{6ZlI5VoEk22O6j5&`&|2y?$y8!7F(%~dCNtx2?IDNKXfqM9<9hoPjo zXlWiol;3-?^dPu(j^&@fu9fPYw+Mf&Gk`kq$ObnXLwkFMeVXN~ciUgs{ z^o%;Nno zYoR^iA@7KoUyMuuk9VgV&z7>+FVk`O3=Ww`eGg2?_JdDT2;@-VHnDYwXOnm$FP!wj zrOiW{!>mg#(R|$s?oQ0vp^t8pX{Ipk-EZSPQ$BYSPnVOKORZOdlx@*2F6ZjM zw_$MCQf0>4cq=_^-BjvY#%y#~=7Ec%g5n}HX^s>XK|Ys_9<|cB9_?9|`bwH?yJmZs zB(~a(1GU}PD9=abU*Lpt%l>g;sbRrRWcbslXcPk({1_0IV``S(`xEHkCh{a4oEc{_ zF?j}yF4zNZcS>OYLK<7g7MX>qp(*pY>~F?RfcOw{)3HU36bq!8O8hyH_Sz@AG5mZaId_t^V|p z>o8~#7_J-Md>OvtZLe(BtYP=v-8itAa-=$>vaR!PYbhCHq}H6b&EruGaZ7FT;X1%d zOT%?led2pUBGmvo8(rc5rlm@yRp!tM+N8@k7aHmU_L$_>GH61w2#4m>gY5Pd7}^EQ zTW{g|w|DNM0~e4>)}B{)8DD|5h=6?oiXhnX1pwt`A~%g5*6xM-

z`bs5VAU5c@%p~30N(l`pmDlJl=SX5u3fsW=oHZ7>h=upx-?q<}4BCtdFEGYY24IC@ zrG}=ZoiRgi1q!Qw({0j*_1Fxhs*Ds6a)z3 zkOg4+J=QJlhSZIHCYoP|Rq#|PX)PXx2fwHzIKioDP}N#AWzcquj8y{eoM|OGflY|I zC&kVrqdc6}_p8rTXabTVkD;5B%o!G+^7#%NUxPz+pGo3xe%Z+XGS0KzQ?68mIcaWH zsZQ-xoD7yHIyQ3`=?OA(VXUuYO)4m%|!InGhkh&HSdk~;l6CNGNV?G3CZc% zda4>Il#Cp?UN_l?+IE{&!ABUl-GNI=J{)SMegSNk;_*#tvDFLOd=;;9^Vea2c<=7` zHAJT`){jWw+v2v*oN}PTRZ*smjI2c9V7RoHz5*<$`(q!uOxGOEo5$n#8=E9@C7+G_ zdlu-ESZVQQXYU1*IhGI@4W&nxw;I;Fuv>4>{z_k{EM zPD`r{2Dn~fpK38W1q={w{aaOxtwDfXLPAfwHk|t1gk30YWC@ZmOcGtj1X;6sfT}f(y{Tx*v}Tq`3}WXUW*#=s!m7T zbJ5s}V|9fKauZ>P(czw3$Y-_$hM6HS#2u3&OphsX(!^V;_cr80S*q>3_<_3CY~ z^@U@?9P6E;a|gjDa`>>st+_Vead=}7`|Y27`%crV`_N{f0GTi1{9zRqV%<8VY3W=q8OnHjo@N$#Urt{;)k>F4PfAb{cl;($v4dO~IQM zEB&=)G`OJ1+@Kt`MPvwznun3Y_VixS5k(DIgRWz85Zd4{PRoBwYG`QaDeY!24cuIn zClC2{li^gP1w4W@Ac9sB`@~03zl&f1;}eQ191Z*=7jhCf4*0HGKk)XOwU6WbGhMUPF!V~RX~%fU*5ic6gW zzQ<)qo@`9XkL@c5c}6mRsj8G>TDj%I4}eOA>3ZpFTl5X%GKO(Wlp#Y&oA(DGQH$Ek z(WKX>DUueHm`_LPsj7%Sjn`g+at||(U$5uR=L0bI%VQj3&n=g9kAH=VUKJe%l{LZqBFA|%g2I!jcGXx}pmb^^tibU6)$cEh1scs&JgCX( zviE!C#b5$W%3~t5l;MOVCyaP57f*coukUgkPwf*uM)cD3MO5~N*0ZZ+XNy!}FL#*G z8g(JSIG#4!ooo@4Xk2~!j`2X6TQa=VSQ)x#W&?$HcV+cg!ML*5?#DPMGC5EzJ0E~? zTeVozpw2==Z*I=2vsd=Ro-V7Y@BOmIdMbwq!arRpQZL6j%g@AP1_@JRRH}{3probg1dz_BXPOdntDx&hl`ob$RM0Ex;rP98ke}$8n%%s;ySkMK z)P;6i9*WmCAt(;0LxUXffR5dBnEWqz!WVvN52xjv?k{^}D~!eLYX`sHe{23C`EpRf zW?-q=2c%C(fDz(4-JERT8hd7&WuK|Vth%{MgPFMdHF&bf#q+ zmBba<-KOa^5nyl|=tPXi?AD7ZikOJmlai8>5$odL-frhQS2K5qY`M#-`b67WDjIrp zY9$y3qP?Dw(M6a+RSxvusla*1RcO$8XYxa9*)vW4P7fK#ffbG*G(6IX;D*JMi`bIYy4OqK3JTYj&mSKF6rC)2cH3J=hy{Nlo_) zC_zZZo7|Fj5B(O`^?K~$?A}6YQffwzeTzd83(AGMqRQ)2KVgS2qx@+K;g6oT>?ZaX z*EVn)IN%oN1Q5?5IAM}-ch&_=AC4&O`*O{_uDGGLWvu<#gQ+g$4}eJtA){yMp#a;e z{*eYngD8>v#SV|vm;{mmFMEHwBky937uN>>KH_1`RN?2W@0484^@*P1deefNdkQrX zFB}xD4QHRlvr2Pa#bEd%wTd>F#fiM9X$|(TMYSNN!s%Tv)QhzObM#Z5_;->~g^`=S zl}M28Em2@5CEkK~+qHd7=??w*2X&;8S(r`L<83GwIROU^^P|J@^@ z{+z%wCu_8ms{U-MDfD!=oB5|S(VnSW?BkIa&*R0Tv(H`5MQT`BSZL~XzmGEm@8rat z#*1%cxiUD2KE(7BA0Ac=>%h4Zp3n9%=kt;mz2_9L9zr0f!iY0O=R?eW&Zomg?$hA{ z1Plxg3Iz!U1@Z4Iy-x=W5-1Teqo9I;JtB&{KOr##laQieTplWkLqL38{SPI5$NX6^ zG*V^(;fB6B79*$c1^x5N#?A@5f1NOJ{DAYMT4zFh!nV+1(^Fz@ z%^Q29E-TZl9mdMyMhq8o|ETQG*c7IjYXrA`k{2$O~ zn%*WY(2w&!DL~HC-4?rc-@4m3qk?dsU!}5`e;J_jn?i!n~8Sh{h<< z&gmr}k#1qvSkF&WNm z-Fgw*OwSHBfyaWliy{3uk$@}Os4_&`N1(LQ%VWRSAxuw|g9_FVtxHBy5n+|V2mkmn5+Dkc89Qb~amv9GXJ)X60$k>`nYyke&yFa5 z_-0hqZoOMN(SREeO}bB0uEfGgI`Sf90Z#>&&8Ar0BdIyy4wM*HFS1r#2t}(17l=64 zAIjP+&DdbitMx82he#>}J&HyA;ADx$^GvFQjuHrX+ItApOX{#Od$)d*#9;B+lW)^7 z(VVXCS-*lV+l0tkJz#zKFus0ytL3l(IFzNcI~ zbFLxiEl{Lke2<;5>MSS`HSnIG-x(%3Hveu7Y{Oh*(2p%j%p)Q$ro8Xi`XKY8QaOM= znTRq5t$O@iYRe37HxU3>0IaU3qH~yqSFNtoeWBnJK4s3Eo!@He5E9g_ zM#te_ORUYOwMR}M?flM`*Q=VeA+`oKT&`{cLCrNzXy~5YmRH()0O9de(kcIIS3aS1 zH$CTcP~p`Vx&DYZ(+^mi%$q!K-=fvk1l0A~kl z!)YP6Hk|kzUTf>Cf~a=3si~oawV&=HzQ07DUqxQ}id9Q2ZI_FhWUM7TuRhPx5*LGi zHo|Ye$Xy=n)(Au~5v1A}c;UOS%Ch^VB9(8>{2Ds&een8An1QLKwf0rtKpbQ2TQ3SD zkLfEfcFUu!1S(meFn5(ryb79bN_#e2PC`IVo}i!@P>#FnGt-Ob`o>57ohahaabL`D zbc|w5!03IOY^g;HlGnLrrY4g?p8%hT0V*^s!c5bkcZvk2^;4b8zueGhsyns{m&gkl3hbo| zbL}5}Dl1WJApAupovOfw>jgSwfb(98kGegEDT*5g)(x{x4Q0aRhn1i=MS>R+8DB~3 zk0I?TXrr1v66s82WX=4;c|iirwuY`G>=p%3h4rgB!oG^!r$)Msc9_k?f`rMLGM^K` zPoyQA=M&P$8FP|5r>T$Wz&V4Jpq1255F$-cV*^?i#&@?)n{Q~|BHbD6}(-Rg9G&t0EI6`BPuIhTF3{a)OKozg(cl)8!P-klK0Z8}&M0aV6 z;WF~xpyr+Y)RTS-f%aa`eMo-d!kef{<$<#{%IXO#W^bNzO~-D5SE*tYVEPJ{X&T%&AH!W#fkeb1TWn3D`n+U0%twB<~C{f}# zbaGrN((&Hsv-4WwT$0K@7)O=dtI(*V))(FVvkkHL26=joyNg$f1Zb<=nNAOJBVGs0NQB`VS!II_Z6j&MwmLfZBSlY#XS`${D~d;um1 z$**NRf|}bRo9lDDOajNb8QO8>ujYw`EAAMqty7$cOGt}GE@WwW&T}%v&T)qcdZdFs z9H*028xs6rWz$Z*oUk-yuUT z)t7#Eyc1gnsL!s&qZ53)q_UscIyH&~wjN;rp6>*LjN05Q(G`R|zB`y}NR=QaNh_&H zgG3z34JU*8HJ=~>C$6t{1pz1X%D0UMgCQgycjGrDD|UG)@cuJ(Ia@+0bQYNbcAIPH zuvO+MY4B?4to)#DejL@pZL_@D#0;Q4Hv7OEYKnt|x>U)!S$6Z_DR3xj2)h$>pu!@K9dS(k!v&|tg zV$1d`jfrU|=Nl~R3?&ZhDJQ?}Nu)FMVp5shDWKvVQHRk^o{elVx9v_ymWWZaB`MNh z_I#zEGE^v-)BA=ta?_d_L|Ci9BHB%t#`2X4mPJEDCOoe8`pRUi?M&CQg}!cuyE=0{5isaxZk49*GvOMkrvL>Ei2Z3{4Gs5~ax}3is<|T0T4@0gcVsud(GEyabnnMVTLfBr2JKm1blH9+3T} zR<3Z4-opu;=R#8gL@weX0kwA{XPIl8*e{=vKB{U%Bi$58$Qc+s4w|6x6E+i{=de3( z@u^DUAtcw2VtafH^uy;{^&+E_b5%ZPQJ-?B(d6faDCrW5^wqFP6sV)hlBMyeuTg%; z#XtS5d5uz}gL$M%7r17GwK9l!aY(c}vZY#BpS8uhj~6z6$Egy^&_z&kBf`cyT*v>s zQN%IGBV5^dHuk7c51|hm>J}5{akT-Vz9+r`vo%zI^)Z~c9hQ|-8pfN6701Dk?AOZ#+B4viWy&sD6-@Z9w&ze^cu_(r7*AdoC>j;p5* zHrirY4FR(^VC|qO$6;af+-(#1gRISM%-nf(hu?DsH2!vgABsg_DZn7-JVNy-mI!as z;wP8dg=*_WB5R@T5_=oHuoF0cWIJo!kt5ApVC~~fD+1A-;7T}cIj1|`P~l*pP&xBy zEDeE=PU9mkGyLw^Our7Qf#vBODk^+5A@(zjZaJaJ=OS_@`8x>BQYTtC77KxVhnW*Y z-DsWUUD&)-Nz^utdo_Aa*7#v|zF%_k)rs^sk_3?BwEQt?{6t&%mwGt6xR`B^!=AqG ztnM9}br;_OOFMwOz)}M0-l5?KK+BUj^W-b@5oygC=S5S0LyCfnm>iadTL4qZ%^`_` zWAz4j-Ykj6=TgCYcr?B>SU|wmxv^^b0r(0<{6%(^`4x;fNJQbAJR5-9LHtR2TL@(r z{`av15(389+uDf$zz$zJ7MMPAAkz=XMv}#u=fFTNZ0=D3s~8V9l9MOR=R)1Lu{+({ z-#C{RO#t9>E79u2H$d_xy@^B=`$m2vesn;BXXwo_mHsL!5x#c@^PUTkk)8g0dFzP9 z&*wMh_lDN9g4iJ_MGwUn6YY`HpxEP6 zAa?mpRoE}mykBq+tWE3BmsCx)z_8!<2JG%bE0;JZQA>$Et#0Mrcj#C9CJ?EU73Eiw zl><+PZdYw1hy!+Smsbg)D2n1^I_lAaaSWAfl&Cr8oVsBWX)YUC$EPUrUID)?N;}~I zfE{JU;wK3_FsP_9IBV&3`XUKi8lWD0yb*!6QKbk60#6SedtwJG7NLN}hAuz*o8*Md zCIfo;cR~0bX`F9TMKI$BfTQA_Zu+hK*@6E_HMo^wMbci$JJAC!vtbaCmN!sn>3OKD zgwQppw#FD}E?FZVyClK_pG4EXtN;Ngs(dwiYiLYWZ)J!jr!6X_mupb>cmK$>Z?I}> z`{+AylYIoj=QgI56y$x=&RDN6AVYJSC%$IYK@?6Z7r-470wpcNgYFO*sEPa5Ie3F=X5p+2GdZUsVQ#X@F`h&U(+egd%Ru z%-m5onH9AfgKVzORG-0AJAo*c&%T5vuIcPt>Y(9i!482yDu5+YwOgLciM&>6DS{H# zuWJ?p0Whb-lP+Z7-5Y1m0HxLy9`G-y&q-w!(pV`9yP)y_8f-#DV@bKqZP((MW@Cu_5nQ|U*GmA z86n-B$~oAI?eqKy^)jE3KNHh?@7t+!J(-yFbp&hXmKq$jOS; z%nMVH#kQLOzD^_q>o6z+=S=hlKZ))$$3Mj7t!)`Sh2mVIueFf5t|Hdhg6Cf`o_?UfrlRR;EUN?Yx$CL1T(XiYc`;9P$_M z|1oTs8>Hq@;9PU92aY}$ExLqo2tO;asY^_+DENeDxdza_MJx9CigjlgFt4*A7A_DQiF)RW?lrg*I|@!}y}hmCBhR z3YL;Kni`2XMuoV>5ihZZbo#F(yYE^xhH)m#h>wpQY{M~9GSUV(zbK%^pdDm-K~iu(he_aVtnwG8q&J z2<|~kDx;}{)M8^E_W|d7dZE!#MOfx|fPUW$$0~)FBYwE}p7)I6*vdw)d#>$ zd4s7W*v7`{qVI4nlPVS`W62ATvyr1^@>insa$Vz;*>dU-rryIKW$)p-8gt7=8lyQ# zEOy0ruG%$*EY&3(1I2|D7jtu zcO5?t(4NbDLs-|T>CgC0&qmWpc$6JScuC&RZLf(9JN|v#R~4LmxX%K z`SL=Kt(PI3yk6zsc0_W5DbSm9#}Mucb<}-EyI{zO9s!xsxz0Y}U3EwLq)cOJ(VNPU z^q`_8kT}j8>f6C%w8<8SMg}CKVEx))Rjz^i((|=MhGshyH#jT=MbjflmSJG_WXL*Y z4V?LjQxwLFBfSH%>Oh79`Pu*YGbpjwPLUln&}QOfmh1PpK-u(3!z%OGwhgmo#<=X_ zEawxAdTxUrbp;hfJs7)u8`5oAk9jyhiFfN{rL~$|YoJx;IS^K+eAe$pGKbT^qXaH8%A>`c>n#P@Ll zbY+Dtv1mbMIg3}lUNlMG^2q4}hh}fDB$QSplb=0k&8u!kt~UZR?ng4>yC$1(eP$=ha6dX7?x5u6D9@jjOcfe zUj{z_!=9B(@xiBTDH7JR;y_$MN;rEZp4V?=%#)X)%1%?+0zf0=>@e6|_N2hjI=+ZWd<)enVJb7* zPZyvw@LE7+5E6vDaTbm!U9~EWRM`BUp!8B?tr%n$-?ZuyRgvGWv_qhPDdWrah97 zu?r6Mda=DGc8h+O<|IOqn8>ANx%x`+>2e$}A69I>ZT$tU-~cfO)wK~^B*#WmmqW%L zU5LeTPc?kchZcLumlwr`)y8`(Syp>oH9UWSqEdZCpwr(b4{&>Ufz@E_9u1lN02H*k zQj3RW51*3=q|$=_+$g(aUq7dvA&&v!4XDQ(%i;F!?v*mp_asLEQAz4Z0>!d^eDgcb zXN&SboT@j+24=ks(UF~7wOu|(YQPyTwy4gW#Pgpp3rtd;t|Mc%>00LWrQnz zf=3t4Ax<65WR&oIIxawm&gW6+coB{%!8Z(Wva)MPkDe~s-Svr-J^K9wen-q~)Xv1=Ua zPg{f?9;+|pPA;_iWlbHjj7 zT(-*Er651?fa6VV6t#aD&EvpY%EI18D-&yyBXRA;Sv)W0leqb-`a1arO?bq^mA0%t z(O2&nwWR4)IjZlLU8#KzL194oeS73`_{g^B*}~Ux&&juS+lhbk({?a@+73_v2pA*~ z=-)q?{9`+iK#_?M89z-2*k9Wrk4hq>$iN(D=+m22Jt;Nf(yyqlLr#(UJLz74H>{1m(R)G= zZgJ6Tnjp67S}6Ri$Jr{MOscR7>M9L)3<+=nUf-)#_#Hn7+^kp#h8AX{wyg(*K9@-~ zVBeLxPVX8JJ@J*9>Di5|Y>+?dd})C+yPH#8g9x|HjghbU)xK4niHC*`L?16@q^-vYtYY+lg@_L}7_|GL`U*F~yg>i1oZvMbZ)OBxZsDNHQV^*mcngR)!-T`; zgj*WoqS2(5R)u87rT)ca5DWY#;_wwE;b}@CPK)nct$fL*I5`i zqY345UF?4Mk_4+3TyrjzO@Zmz>E)rJthoNd7h4|vgtI9ctO1*$I$R~GGw+~8T=n-PvD{0l%6uOP5} zDt+fLfKN37jdF>x^GZh0DD*Oo{fhby*{zaxbKjb$ z&xNSE|La>lj!IP}ObrYcMSKS8lG)}lvW}_y`daG4A*}gE_HUk58u-_Qfy-zxkBr+g zBLmAl$E;2`j!xP`EWo~NxzV~;_#27jwjeV%CJFp)kRZ$~*qYlc=r_No@VLQC(!7R- z4$+_hPPtSY^++WWgMuovqCrXe(wo?agq^qvmn!jQ!m+u$3tZ+wi0WthbCf!U`tfXZ zie>|S-t9CQo`lh?Bc+{b^(! zkN9Re+_9TK`#%8uHND*SD_2_oTt(sCKLXPdI`dO)pSzCXV+z7`_xQWL4aY5V;B18W zm1^UzojgKq$1`gW(vs%0pG|%XHqik+2h3&n2>I5(p=f=Zqr&Z_%DD%&7CDdZ={3wc zH1dwcPQ-u6uqGKw?(&+!B9JuvwWy zU{kLr-^L$J%4B6%tZahN%2IxnCE&LDBIL1VK5zw-SF^MqFk=OIwIUiWi|Q8a$PEcf zw<=^V%c&{VIrIu=Z!VKmgoVw60w<0*Ibc;4r5IsY1E0aYX4`I5m3yA5<--x|(cKBV Tk#o%d^ZR_goZx56eXRa}1tAeP literal 0 HcmV?d00001 diff --git a/img/favicon.ico b/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..cd8205bc37febe8217fe7b384abaa69fb05cfadb GIT binary patch literal 4286 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

  • 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%0A=r*Dc}9;LU#+7##msnfSIVNPPLPhvS=8hw!7 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

    weNNvYU0DpyO(>WWvb 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

    e0}>ZhoOwbt(!z4*+KoS;8@(NIWPK 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 Xt}0sA4ezpIvQ|Y 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 Tdt?0E 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

    a)$xJ^Yud)wHu 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 b(b+{L(8J$d#Qf?F7Z;z4*Y!MH0Vn?#Ec#zk literal 0 HcmV?d00001 diff --git a/img/siteicon/16.png b/img/siteicon/16.png new file mode 100644 index 0000000000000000000000000000000000000000..16afd7ed577ad55010fcac1028a52e02b08a4631 GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM%BU0G|+7_X3}IU&qYb$@>faGjF9N_&O$Ldj9VW``;P<*&O$OdEWG@stGl1v4}>EZDz)!Ttt^1rBpp zirNFklRRATMou+N_+MmNmbNv;JnZ$=fM1jaaZ)`)Yh#Be(IPWbe4;&)jzb|W!>M& bE3dL2U&?;m&HPvd&^887S3j3^P6Px#T2M?>MMrQ>+hqU$|M-AR|EGcf;?@7ftMGS1h+IctO+w;iE$MDJuWL-S zvtHMGQk!H-c3ekDK?chJ000eiQchC)u@4muzF;CXl0!$wtQB+gY)r%99nF`c;I(#r=hz68J^ zrNpIf8fxRF@!C42h)V6(yKM=P`Z!J_KAeB36Tj~^;{J5sWBpU#Yot;USZs@oWDKxc za{$DEPWPCPZ~+|_09XPn55V^Xz5}NK*fJpVErceDzQ#Q><( Z{s4d-BKx(%Ja_;A002ovPDHLkV1n>Gw0Zyl literal 0 HcmV?d00001 diff --git a/img/siteicon/apple-icon-180.png b/img/siteicon/apple-icon-180.png new file mode 100644 index 0000000000000000000000000000000000000000..2007e6da968531187d8a884281fdf06752c59a59 GIT binary patch literal 2272 zcmcJQ={wX97sf|I)u{K#_lI)t9Y?Cd*APO^Oi6j)Vj+n9jiV8Cb zjXhh2u@}jVCENGsxt`}=c+Pd*_kDfdoEPWCxsz?J&3L&)xj-NgulaRj_)(JnqZ6!0 z&Ly~Y`A}gz?OA zWat~=ZT{TM^r!Wf%yy6A*Um4~5|M8ltLqRw6%i{o%SAY2m#imUc0U3@>!dTMu-LB?7Gau;YLWt{g!LoBLmynw(tEOTHzUsA zNdorQAq=DGHnJc#zweLnGKjR5%aX7*aLH)@=E;?La(H*rFTZBALh^D#kA7Q9X9rRd z==+3wGg{kmwr0jf-DTqIEaio#3dbeHk00H}+R2R{QhUL!zn{x0X3_Ks_tC~@&b5>^ zzJBraAui8N+4R&oC54+~nYf3zk1k#N_Q;(GcjXscbE*%})$79kJN`msH)jhgP%BH7)W*J&&=1s9u@Vw0ouu3Mo$EZg!20-C;@Bi#LE?T`TqPd~?f=3xlL?#s%4u*%8nf zg;b^5ZYXpq%8N}h#Hwr-OSoLIQ{b2hfi8W3lQ|F$8u2wTx34M}2vfP2*qFz5rwTbj zSwpD5wmVjPL1&pXN9G~h4*r6{FlMKrXa{4i`FG_KSNwAp7pHp$Vhx!Ik2o&1#BsEWp)XxyhJFaSO zl@t}B2KgKQP;Pc-XMZIaRuDc)v@eIUMbl*8`Lr#3Yoq7@;Oi_Jj0wIR)5_-~%gf7N zjJd@ZZSAF*MV_(+wcv}lUikR<^e$Xb&z`%I&fObE;dCvq7TiVZh-oReKH5`Dj?%<) zqf(H9p06*HViL#KDg*VCqYj-3`Y}1jYEct|?Cw8nJ` zoO$;Duu`U$Jp!eL1%@}guIt@xciW_lB+!>sT zJXI^V->upjNiQq#+}-vx3bq&uA+QW`7vX(-_?tWC4T*eq7!47pL@!fs_LWoV?7fP2 z>h&NZc<&JJ%=UD!P>67kp{tAt-d3fTKf+N+WBY`vcwmJ4vU9fmY@jZ+hkAa3&1f%6 zSC9z9xCw;dN~JV-#Ez{H|7mDwE`c9Q!|m?u`!j{89>t2f+ANjojGcQVQM> z%HrlYep;3Zju7B6i|F^zk4xEhQm7pwJsP?nfAagaLS8>A^7J2bc~pE?n%1$;oX>VZ zaP?P7?5C)_ne|^FRTM$6tj4*qeo{$Q^i%fmW*g2LI;Z${I;brb$=}G!?t>kO5Bn2u zO~Xnb*snakCp|Ma;2)#g{LgyHH%BG2lJMrl8y&6H>7*IDl1jT zmHSjPp!%>x-LmH%dv#+ODOAAjyg1d5V#Md&yZSTLXp^ z248H<#{a1=&Rt*>ha2Oo%wA(S&I9V!R!{-bg2n^R?Ufc0Np4s7Wk#E6Om7hw^75HOs53Xp#mJQg_$Bz=+(MgHupH0OZEPYmow&-_BL3CJ# zOZ@C)%9;841`%x$)8d zjX<}MgHCS34DxFtkwv1<0jrY>o<-&-6K}}(WxaO~M_jjIOc}LXQ$!}j=t#L#5@y>t xor(KBb>V=1F1N_wzL{HO^#f+z_0=VSwKV#@$8)vNmZLTXnVVP}6O8V}{R?#Vnu`Dc literal 0 HcmV?d00001 diff --git a/img/siteicon/manifest-icon-192.maskable.png b/img/siteicon/manifest-icon-192.maskable.png new file mode 100644 index 0000000000000000000000000000000000000000..a4d7056ae4566694e087ed01f1f5495065e359e6 GIT binary patch literal 2329 zcmb`I>p#5dWnnE%Z)8w4R#DVP6S zw!_5^dVxG1_{0N@bGvcDiWln){@DZ*Fq60S!Bi}`z6@5xgLC8H;_TK#Com%re3K47 z^8%X-!R~sH^>YPp1NJxLm{>6DJ~-UN!I`abSHXN@+(Zn{(`7sEa<(^WlH}aC_N^qB zRy|j~ytu#`|CRbElG2PB9vq0oVM8xl-->XYou6(jzPga;8tHzfmGQp!mHXHW*M`p6 zk2r^~9j#vZu$A3A$b~pLTmpW7CNb3vAzZ1gubKEg*2xTqyz#Y*IbI7Jxfm1x2vAYh z7U)nWhb9!vL`b!XRD7IL-%$B}&o4@hkrt?CXq#R=7!o$WwA0w>4#gRXE1xSKV2#q; zOslF0$eF9l2Zfq~wfm(C1AicVC?>KEl*x=AW$F3zg6i>OsJ!hwmD(mieFZnXxAB3L1MhN$TOE1gT|^oo-?Tj-k54Zk9zi)db?qR<3KNXeB$O8vl9_`zdw7`<)U!yY$=j z>WL}3jc$7_EloHLKcT*@SS zNDfSnWK?gG4h!!|(9rZ&y%P=iNA^ z{}yv^aD`iy5!+W+a{y?0d-yG&?;tJtlmK-#%X*~557)YW)m?y@llm2|V3zfKqp$Y} zvG*;E{dcSYk#%$aKxT-gD(NFk-MHt`mk-pOq>9j%HnuaYr}t23_wvAazVV9qQD8Q3 zr(td0e>;4jZRS~4hX~L#|JFQ@vl7mKvsy+6AJG0iEIYKG{L6T*%S{k4*mi>ygud;L zyPKMLCY9G0cF83`*&yt;=sN@5rbC3x2yeZZveBYzqZD*+NN139i!$KEq03|yeZ`Z$ zbQ5aJl+sHlkOo3;7wXkJeJdZ_cdyAe@cp9W)9=@T+mzU@8>l#ib9oPz_>cN?dXnF3#y!yXK@bRFH;hY2jmn8}cq~LLNP6%&!|qS4Eys><4M_ zkroA>hJX1>799=FmErC^63rMxPA2@pUH%y^-tfO?Cc=QLhya`ZOh!Pm0HMfoG2JF| zv{aHyF8ozj%-@LBXZxpr&)|!g@LRl+8Z~OB#9iN66mtY3qWL$itbZv_KzS;Po3^qf zq@6G~=-Q$fIw~SZanp)_OnFX_=V`xbn;wbuSU-Unk>Nr*7Zd8q5$y=>%@LGBpwefY z+rIvD%rVpSlzW*K$gVt(`*~L=i|=b~9EQ(I*FDtKme%%I&kLj0jBV3Tlmxqe>sWgs zezl`t@A5|v=99@Cv41X7vtOr_owM}YPu($->D8IupuS2p|D>NGe?#w*poxaD@T1~J z8W~@c)We2{>tPD}sfJTMvUezGgr9;T#{YQJ^#CP9(LG5{VIzM)AXP8-<87XL({7Ce NC>sasQcKUse*t9zq8$JL literal 0 HcmV?d00001 diff --git a/img/siteicon/manifest-icon-512.maskable.png b/img/siteicon/manifest-icon-512.maskable.png new file mode 100644 index 0000000000000000000000000000000000000000..2a24339f3beabd07fd24c0b9da13e2a0e30c434e GIT binary patch literal 6723 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 • 呓语 - Research

    加载头像
    引用到评论
    \ No newline at end of file diff --git a/js/anzhiyu/ai_abstract.js b/js/anzhiyu/ai_abstract.js new file mode 100644 index 000000000..e018047bd --- /dev/null +++ b/js/anzhiyu/ai_abstract.js @@ -0,0 +1,438 @@ +(function () { + const { + randomNum, + basicWordCount, + btnLink, + key: AIKey, + Referer: AIReferer, + gptName, + switchBtn, + mode: initialMode, + } = GLOBAL_CONFIG.postHeadAiDescription; + + const { title, postAI, pageFillDescription } = GLOBAL_CONFIG_SITE; + + let lastAiRandomIndex = -1; + let animationRunning = true; + let mode = initialMode; + let refreshNum = 0; + let prevParam; + let audio = null; + let isPaused = false; + let summaryID = null; + + const post_ai = document.querySelector(".post-ai-description"); + const aiTitleRefreshIcon = post_ai.querySelector(".ai-title .anzhiyufont.anzhiyu-icon-arrow-rotate-right"); + let aiReadAloudIcon = post_ai.querySelector(".anzhiyu-icon-circle-dot"); + const explanation = post_ai.querySelector(".ai-explanation"); + + let aiStr = ""; + let aiStrLength = ""; + let delayInit = 600; + let indexI = 0; + let indexJ = 0; + let timeouts = []; + let elapsed = 0; + + const observer = createIntersectionObserver(); + const aiFunctions = [introduce, aiTitleRefreshIconClick, aiRecommend, aiGoHome]; + + const aiBtnList = post_ai.querySelectorAll(".ai-btn-item"); + const filteredHeadings = Array.from(aiBtnList).filter(heading => heading.id !== "go-tianli-blog"); + filteredHeadings.forEach((item, index) => { + item.addEventListener("click", () => { + aiFunctions[index](); + }); + }); + + document.getElementById("ai-tag").addEventListener("click", onAiTagClick); + aiTitleRefreshIcon.addEventListener("click", onAiTitleRefreshIconClick); + document.getElementById("go-tianli-blog").addEventListener("click", () => { + window.open(btnLink, "_blank"); + }); + aiReadAloudIcon.addEventListener("click", readAloud); + + async function readAloud() { + if (!summaryID) { + anzhiyu.snackbarShow("摘要还没加载完呢,请稍后。。。"); + return; + } + aiReadAloudIcon = post_ai.querySelector(".anzhiyu-icon-circle-dot"); + aiReadAloudIcon.style.opacity = "0.2"; + if (audio && !isPaused) { + audio.pause(); + isPaused = true; + aiReadAloudIcon.style.opacity = "1"; + aiReadAloudIcon.style.animation = ""; + aiReadAloudIcon.style.cssText = "animation: ''; opacity: 1;cursor: pointer;"; + return; + } + + if (audio && isPaused) { + audio.play(); + isPaused = false; + aiReadAloudIcon.style.cssText = "animation: breathe .5s linear infinite; opacity: 0.2;cursor: pointer"; + return; + } + + const options = { + key: AIKey, + Referer: AIReferer, + }; + const requestParams = new URLSearchParams({ + key: options.key, + id: summaryID, + }); + + const requestOptions = { + method: "GET", + headers: { + "Content-Type": "application/json", + Referer: options.Referer, + }, + }; + + try { + const response = await fetch(`https://summary.tianli0.top/audio?${requestParams}`, requestOptions); + if (response.status === 403) { + console.error("403 refer与key不匹配。"); + } else if (response.status === 500) { + console.error("500 系统内部错误"); + } else { + const audioBlob = await response.blob(); + const audioURL = URL.createObjectURL(audioBlob); + audio = new Audio(audioURL); + audio.play(); + aiReadAloudIcon.style.cssText = "animation: breathe .5s linear infinite; opacity: 0.2;cursor: pointer"; + audio.addEventListener("ended", () => { + audio = null; + aiReadAloudIcon.style.opacity = "1"; + aiReadAloudIcon.style.animation = ""; + }); + } + } catch (error) { + console.error("请求发生错误❎"); + } + } + if (switchBtn) { + document.getElementById("ai-Toggle").addEventListener("click", changeShowMode); + } + + aiAbstract(); + showAiBtn(); + + function createIntersectionObserver() { + return new IntersectionObserver( + entries => { + let isVisible = entries[0].isIntersecting; + animationRunning = isVisible; + if (animationRunning) { + delayInit = indexI === 0 ? 200 : 20; + timeouts[1] = setTimeout(() => { + if (indexJ) { + indexI = 0; + indexJ = 0; + } + if (indexI === 0) { + explanation.innerHTML = aiStr.charAt(0); + } + requestAnimationFrame(animate); + }, delayInit); + } + }, + { threshold: 0 } + ); + } + + function animate(timestamp) { + if (!animationRunning) { + return; + } + if (!animate.start) animate.start = timestamp; + elapsed = timestamp - animate.start; + if (elapsed >= 20) { + animate.start = timestamp; + if (indexI < aiStrLength - 1) { + let char = aiStr.charAt(indexI + 1); + let delay = /[,.,。!?!?]/.test(char) ? 150 : 20; + if (explanation.firstElementChild) { + explanation.removeChild(explanation.firstElementChild); + } + explanation.innerHTML += char; + let div = document.createElement("div"); + div.className = "ai-cursor"; + explanation.appendChild(div); + indexI++; + if (delay === 150) { + post_ai.querySelector(".ai-explanation .ai-cursor").style.opacity = "0.2"; + } + if (indexI === aiStrLength - 1) { + observer.disconnect(); + explanation.removeChild(explanation.firstElementChild); + } + timeouts[0] = setTimeout(() => { + requestAnimationFrame(animate); + }, delay); + } + } else { + requestAnimationFrame(animate); + } + } + + function clearTimeouts() { + if (timeouts.length) { + timeouts.forEach(item => { + if (item) { + clearTimeout(item); + } + }); + } + } + + function startAI(str, df = true) { + indexI = 0; + indexJ = 1; + clearTimeouts(); + animationRunning = false; + elapsed = 0; + observer.disconnect(); + explanation.innerHTML = df ? "生成中. . ." : "请等待. . ."; + aiStr = str; + aiStrLength = aiStr.length; + observer.observe(post_ai); + } + + async function aiAbstract(num = basicWordCount) { + if (mode === "tianli") { + await aiAbstractTianli(num); + } else { + aiAbstractLocal(); + } + } + + async function aiAbstractTianli(num) { + indexI = 0; + indexJ = 1; + clearTimeouts(); + animationRunning = false; + elapsed = 0; + observer.disconnect(); + + num = Math.max(10, Math.min(2000, num)); + const options = { + key: AIKey, + Referer: AIReferer, + }; + const truncateDescription = (title + pageFillDescription).trim().substring(0, num); + + const requestBody = { + key: options.key, + content: truncateDescription, + url: location.href, + }; + + const requestOptions = { + method: "POST", + headers: { + "Content-Type": "application/json", + Referer: options.Referer, + }, + body: JSON.stringify(requestBody), + }; + console.info(truncateDescription.length); + try { + let animationInterval = null; + let summary; + if (animationInterval) clearInterval(animationInterval); + animationInterval = setInterval(() => { + const animationText = "生成中" + ".".repeat(indexJ); + explanation.innerHTML = animationText; + indexJ = (indexJ % 3) + 1; + }, 500); + const response = await fetch(`https://summary.tianli0.top/`, requestOptions); + let result; + if (response.status === 403) { + result = { + summary: "403 refer与key不匹配。", + }; + } else if (response.status === 500) { + result = { + summary: "500 系统内部错误", + }; + } else { + result = await response.json(); + } + + summary = result.summary.trim(); + summaryID = result.id; + + setTimeout(() => { + aiTitleRefreshIcon.style.opacity = "1"; + }, 300); + if (summary) { + startAI(summary); + } else { + startAI("摘要获取失败!!!请检查Tianli服务是否正常!!!"); + } + clearInterval(animationInterval); + } catch (error) { + console.error(error); + explanation.innerHTML = "发生异常" + error; + } + } + + function aiAbstractLocal() { + const strArr = postAI.split(",").map(item => item.trim()); + if (strArr.length !== 1) { + let randomIndex = Math.floor(Math.random() * strArr.length); + while (randomIndex === lastAiRandomIndex) { + randomIndex = Math.floor(Math.random() * strArr.length); + } + lastAiRandomIndex = randomIndex; + startAI(strArr[randomIndex]); + } else { + startAI(strArr[0]); + } + setTimeout(() => { + aiTitleRefreshIcon.style.opacity = "1"; + }, 600); + } + + function aiRecommend() { + indexI = 0; + indexJ = 1; + clearTimeouts(); + animationRunning = false; + elapsed = 0; + explanation.innerHTML = "生成中. . ."; + aiStr = ""; + aiStrLength = ""; + observer.disconnect(); + timeouts[2] = setTimeout(() => { + explanation.innerHTML = recommendList(); + }, 600); + } + + function recommendList() { + let thumbnail = document.querySelectorAll(".relatedPosts-list a"); + if (!thumbnail.length) { + const cardRecentPost = document.querySelector(".card-widget.card-recent-post"); + if (!cardRecentPost) return ""; + + thumbnail = cardRecentPost.querySelectorAll(".aside-list-item a"); + + let list = ""; + for (let i = 0; i < thumbnail.length; i++) { + const item = thumbnail[i]; + list += `
    ${ + i + 1 + }:${item.title}
    `; + } + + return `很抱歉,无法找到类似的文章,你也可以看看本站最新发布的文章:
    ${list}
    `; + } + + let list = ""; + for (let i = 0; i < thumbnail.length; i++) { + const item = thumbnail[i]; + list += `
    推荐${ + i + 1 + }:${item.title}
    `; + } + + return `推荐文章:
    ${list}
    `; + } + + function aiGoHome() { + startAI("正在前往博客主页...", false); + timeouts[2] = setTimeout(() => { + if (window.pjax) { + pjax.loadUrl("/"); + } else { + location.href = location.origin; + } + }, 1000); + } + + function introduce() { + if (mode == "tianli") { + startAI("我是文章辅助AI: TianliGPT,点击下方的按钮,让我生成本文简介、推荐相关文章等。"); + } else { + startAI(`我是文章辅助AI: ${gptName} GPT,点击下方的按钮,让我生成本文简介、推荐相关文章等。`); + } + } + + function aiTitleRefreshIconClick() { + aiTitleRefreshIcon.click(); + } + + function onAiTagClick() { + if (mode === "tianli") { + post_ai.querySelectorAll(".ai-btn-item").forEach(item => (item.style.display = "none")); + document.getElementById("go-tianli-blog").style.display = "block"; + startAI( + "你好,我是Tianli开发的摘要生成助理TianliGPT,是一个基于GPT-4的生成式AI。我在这里只负责摘要的预生成和显示,你无法与我直接沟通,如果你也需要一个这样的AI摘要接口,可以在下方购买。" + ); + } else { + post_ai.querySelectorAll(".ai-btn-item").forEach(item => (item.style.display = "block")); + document.getElementById("go-tianli-blog").style.display = "none"; + startAI( + `你好,我是本站摘要生成助理${gptName} GPT,是一个基于GPT-4的生成式AI。我在这里只负责摘要的预生成和显示,你无法与我直接沟通。` + ); + } + } + + function onAiTitleRefreshIconClick() { + const truncateDescription = (title + pageFillDescription).trim().substring(0, basicWordCount); + + aiTitleRefreshIcon.style.opacity = "0.2"; + aiTitleRefreshIcon.style.transitionDuration = "0.3s"; + aiTitleRefreshIcon.style.transform = "rotate(" + 360 * refreshNum + "deg)"; + if (truncateDescription.length <= basicWordCount) { + let param = truncateDescription.length - Math.floor(Math.random() * randomNum); + while (param === prevParam || truncateDescription.length - param === prevParam) { + param = truncateDescription.length - Math.floor(Math.random() * randomNum); + } + prevParam = param; + aiAbstract(param); + } else { + let value = Math.floor(Math.random() * randomNum) + basicWordCount; + while (value === prevParam || truncateDescription.length - value === prevParam) { + value = Math.floor(Math.random() * randomNum) + basicWordCount; + } + aiAbstract(value); + } + refreshNum++; + } + + function changeShowMode() { + mode = mode === "tianli" ? "local" : "tianli"; + if (mode === "tianli") { + document.getElementById("ai-tag").innerHTML = "TianliGPT"; + + aiReadAloudIcon.style.opacity = "1"; + aiReadAloudIcon.style.cursor = "pointer"; + } else { + aiReadAloudIcon.style.opacity = "0"; + aiReadAloudIcon.style.cursor = "auto"; + if ((document.getElementById("go-tianli-blog").style.display = "block")) { + document.querySelectorAll(".ai-btn-item").forEach(item => (item.style.display = "block")); + document.getElementById("go-tianli-blog").style.display = "none"; + } + document.getElementById("ai-tag").innerHTML = gptName + " GPT"; + } + aiAbstract(); + } + + function showAiBtn() { + if (mode === "tianli") { + document.getElementById("ai-tag").innerHTML = "TianliGPT"; + } else { + document.getElementById("ai-tag").innerHTML = gptName + " GPT"; + } + } +})(); diff --git a/js/anzhiyu/comment_barrage.js b/js/anzhiyu/comment_barrage.js new file mode 100644 index 000000000..b7e456fe3 --- /dev/null +++ b/js/anzhiyu/comment_barrage.js @@ -0,0 +1,179 @@ +if (document.querySelector(".comment-barrage")) { + var commentBarrageConfig = { + maxBarrage: GLOBAL_CONFIG.commentBarrageConfig.maxBarrage, + barrageTime: GLOBAL_CONFIG.commentBarrageConfig.barrageTime, + twikooUrl: GLOBAL_CONFIG.twikooEnvId, + accessToken: GLOBAL_CONFIG.commentBarrageConfig.accessToken, + mailMd5: GLOBAL_CONFIG.commentBarrageConfig.mailMd5, + pageUrl: window.location.pathname, + barrageTimer: [], + barrageList: [], + barrageIndex: 0, + dom: document.querySelector(".comment-barrage"), + }; + var commentInterval = null; + var hoverOnCommentBarrage = false; + + document.querySelector(".comment-barrage").addEventListener("mouseenter", function () { + hoverOnCommentBarrage = true; + }); + document.querySelector(".comment-barrage").addEventListener("mouseleave", function () { + hoverOnCommentBarrage = false; + }); + + function initCommentBarrage() { + if (!commentBarrageConfig.dom) return; + + var data = JSON.stringify({ + event: "COMMENT_GET", + "commentBarrageConfig.accessToken": commentBarrageConfig.accessToken, + url: commentBarrageConfig.pageUrl, + }); + var xhr = new XMLHttpRequest(); + xhr.withCredentials = true; + xhr.addEventListener("readystatechange", function () { + if (this.readyState === 4 && this.responseText) { + commentBarrageConfig.barrageList = commentLinkFilter(JSON.parse(this.responseText).data); + commentBarrageConfig.dom.innerHTML = ""; + } + }); + xhr.open("POST", commentBarrageConfig.twikooUrl); + xhr.setRequestHeader("Content-Type", "application/json"); + xhr.send(data); + + clearInterval(commentInterval); + commentInterval = null; + + commentInterval = setInterval(() => { + if (commentBarrageConfig.barrageList.length && !hoverOnCommentBarrage) { + popCommentBarrage(commentBarrageConfig.barrageList[commentBarrageConfig.barrageIndex]); + commentBarrageConfig.barrageIndex += 1; + commentBarrageConfig.barrageIndex %= commentBarrageConfig.barrageList.length; + } + if ( + commentBarrageConfig.barrageTimer.length > + (commentBarrageConfig.barrageList.length > commentBarrageConfig.maxBarrage + ? commentBarrageConfig.maxBarrage + : commentBarrageConfig.barrageList.length) && + !hoverOnCommentBarrage + ) { + removeCommentBarrage(commentBarrageConfig.barrageTimer.shift()); + } + }, commentBarrageConfig.barrageTime); + } + + function commentLinkFilter(data) { + data.sort((a, b) => { + return a.created - b.created; + }); + let newData = []; + data.forEach(item => { + newData.push(...getCommentReplies(item)); + }); + return newData; + } + + function getCommentReplies(item) { + if (item.replies) { + let replies = [item]; + item.replies.forEach(item => { + replies.push(...getCommentReplies(item)); + }); + return replies; + } else { + return []; + } + } + + function popCommentBarrage(data) { + let barrage = document.createElement("div"); + barrage.className = "comment-barrage-item"; + barrage.innerHTML = ` + + + ${data.comment} + + `; + + // 获取anzhiyu标签内的所有pre元素 + let anzhiyuPres = barrage.querySelectorAll("anzhiyu pre"); + + // 遍历每个pre元素,将其替换为"【代码】" + anzhiyuPres.forEach(pre => { + let codePlaceholder = document.createElement("span"); + codePlaceholder.innerText = "【代码】"; + pre.parentNode.replaceChild(codePlaceholder, pre); + }); + + // 获取anzhiyu标签内的所有图片元素 + let anzhiyuImages = barrage.querySelectorAll("anzhiyu img"); + + // 遍历每个图片元素,将其替换为"【图片】",但排除带有class=tk-owo-emotion的图片 + anzhiyuImages.forEach(image => { + if (!image.classList.contains("tk-owo-emotion")) { + image.style.display = "none"; // 隐藏图片 + let placeholder = document.createElement("span"); + placeholder.innerText = "【图片】"; + image.parentNode.replaceChild(placeholder, image); + } + }); + commentBarrageConfig.barrageTimer.push(barrage); + commentBarrageConfig.dom.append(barrage); + } + + function removeCommentBarrage(barrage) { + barrage.className = "comment-barrage-item out"; + + setTimeout(() => { + if (commentBarrageConfig.dom && commentBarrageConfig.dom.contains(barrage)) { + commentBarrageConfig.dom.removeChild(barrage); + } + }, 1000); + } + + // 自动隐藏 + const commentEntryCallback = entries => { + const commentBarrage = document.querySelector(".comment-barrage"); + const postComment = document.getElementById("post-comment"); + + entries.forEach(entry => { + if (postComment && commentBarrage && document.body.clientWidth > 768) { + commentBarrage.style.bottom = entry.isIntersecting ? `-${commentBarrageConfig.maxBarrage * 200}px` : "0"; + } + }); + }; + // 创建IntersectionObserver实例 + const observer = new IntersectionObserver(commentEntryCallback, { + root: null, + rootMargin: "0px", + threshold: 0, + }); + // 监视目标元素 + const postCommentTarget = document.getElementById("post-comment"); + if (postCommentTarget) { + observer.observe(postCommentTarget); + } + + initCommentBarrage(); + + if (localStorage.getItem("commentBarrageSwitch") !== "false") { + document.querySelector(".comment-barrage").style.display = "flex"; + document.querySelector(".menu-commentBarrage-text").textContent = "关闭热评"; + } else { + document.querySelector(".comment-barrage").style.display = "none"; + document.querySelector(".menu-commentBarrage-text").textContent = "显示热评"; + } + + document.addEventListener("pjax:send", function () { + clearInterval(commentInterval); + }); +} diff --git a/js/anzhiyu/people.js b/js/anzhiyu/people.js new file mode 100644 index 000000000..bf90d9b66 --- /dev/null +++ b/js/anzhiyu/people.js @@ -0,0 +1,271 @@ +"use strict"; +function _toConsumableArray(e) { + return _arrayWithoutHoles(e) || _iterableToArray(e) || _unsupportedIterableToArray(e) || _nonIterableSpread(); +} + +function _nonIterableSpread() { + throw new TypeError( + "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." + ); +} + +function _unsupportedIterableToArray(e, r) { + if (e) { + if ("string" == typeof e) return _arrayLikeToArray(e, r); + var t = Object.prototype.toString.call(e).slice(8, -1); + return ( + "Object" === t && e.constructor && (t = e.constructor.name), + "Map" === t || "Set" === t + ? Array.from(e) + : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) + ? _arrayLikeToArray(e, r) + : void 0 + ); + } +} + +function _iterableToArray(e) { + if (("undefined" != typeof Symbol && null != e[Symbol.iterator]) || null != e["@@iterator"]) return Array.from(e); +} + +function _arrayWithoutHoles(e) { + if (Array.isArray(e)) return _arrayLikeToArray(e); +} + +function _arrayLikeToArray(e, r) { + (null == r || r > e.length) && (r = e.length); + for (var t = 0, a = new Array(r); t < r; t++) a[t] = e[t]; + return a; +} + +function _classCallCheck(e, r) { + if (!(e instanceof r)) throw new TypeError("Cannot call a class as a function"); +} + +function _defineProperties(e, r) { + for (var t = 0; t < r.length; t++) { + var a = r[t]; + (a.enumerable = a.enumerable || !1), + (a.configurable = !0), + "value" in a && (a.writable = !0), + Object.defineProperty(e, a.key, a); + } +} + +function _createClass(e, r, t) { + return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), e; +} +var peopleConfig = { + src: GLOBAL_CONFIG.peoplecanvas.img, + rows: 15, + cols: 7, + }, + randomRange = function (e, r) { + return e + Math.random() * (r - e); + }, + randomIndex = function (e) { + return 0 | randomRange(0, e.length); + }, + removeFromArray = function (e, r) { + return e.splice(r, 1)[0]; + }, + removeItemFromArray = function (e, r) { + return removeFromArray(e, e.indexOf(r)); + }, + removeRandomFromArray = function (e) { + return removeFromArray(e, randomIndex(e)); + }, + getRandomFromArray = function (e) { + return e[0 | randomIndex(e)]; + }, + resetPeep = function (e) { + var r, + t, + a = e.stage, + n = e.peep, + o = 0.5 < Math.random() ? 1 : -1, + i = 100 - 250 * gsap.parseEase("power2.in")(Math.random()), + s = a.height - n.height + i; + return ( + 1 == o ? ((r = -n.width), (t = a.width), (n.scaleX = 1)) : ((r = a.width + n.width), (t = 0), (n.scaleX = -1)), + (n.x = r), + (n.y = s), + { + startX: r, + startY: (n.anchorY = s), + endX: t, + } + ); + }, + normalWalk = function (e) { + var r = e.peep, + t = e.props, + a = (t.startX, t.startY), + n = t.endX, + o = gsap.timeline(); + return ( + o.timeScale(randomRange(0.5, 1.5)), + o.to( + r, + { + duration: 10, + x: n, + ease: "none", + }, + 0 + ), + o.to( + r, + { + duration: 0.25, + repeat: 40, + yoyo: !0, + y: a - 10, + }, + 0 + ), + o + ); + }, + walks = [normalWalk], + Peep = (function () { + function a(e) { + var r = e.image, + t = e.rect; + _classCallCheck(this, a), + (this.image = r), + this.setRect(t), + (this.x = 0), + (this.y = 0), + (this.anchorY = 0), + (this.scaleX = 1), + (this.walk = null); + } + return ( + _createClass(a, [ + { + key: "setRect", + value: function (e) { + (this.rect = e), + (this.width = e[2]), + (this.height = e[3]), + (this.drawArgs = [this.image].concat(_toConsumableArray(e), [0, 0, this.width, this.height])); + }, + }, + { + key: "render", + value: function (e) { + e.save(), + e.translate(this.x, this.y), + e.scale(this.scaleX, 1), + e.drawImage.apply(e, _toConsumableArray(this.drawArgs)), + e.restore(); + }, + }, + ]), + a + ); + })(), + img = document.createElement("img"); +(img.onload = init), (img.src = peopleConfig.src); +let peoplecanvasEl = document.getElementById("peoplecanvas"); + +let ctx = peoplecanvasEl ? peoplecanvasEl.getContext("2d") : undefined, + stage = { + width: 0, + height: 0, + }, + allPeeps = [], + availablePeeps = [], + crowd = []; + +function init() { + if (!peoplecanvasEl) return; + createPeeps(), resize(), gsap.ticker.add(render), window.addEventListener("resize", resize); +} +document.addEventListener("pjax:success", e => { + peoplecanvasEl = document.getElementById("peoplecanvas"); + if (peoplecanvasEl) { + (ctx = peoplecanvasEl ? peoplecanvasEl.getContext("2d") : undefined), window.removeEventListener("resize", resize); + gsap.ticker.remove(render); + setTimeout(() => { + if (!peoplecanvasEl) return; + resize(), gsap.ticker.add(render), window.addEventListener("resize", resize); + }, 300); + } +}); + +function createPeeps() { + for ( + var e = peopleConfig.rows, + r = peopleConfig.cols, + t = e * r, + a = img.naturalWidth / e, + n = img.naturalHeight / r, + o = 0; + o < t; + o++ + ) + allPeeps.push( + new Peep({ + image: img, + rect: [(o % e) * a, ((o / e) | 0) * n, a, n], + }) + ); +} + +function resize() { + if (peoplecanvasEl && peoplecanvasEl.clientWidth != 0) { + (stage.width = peoplecanvasEl.clientWidth), + (stage.height = peoplecanvasEl.clientHeight), + (peoplecanvasEl.width = stage.width * devicePixelRatio), + (peoplecanvasEl.height = stage.height * devicePixelRatio), + crowd.forEach(function (e) { + e.walk.kill(); + }), + (crowd.length = 0), + (availablePeeps.length = 0), + availablePeeps.push.apply(availablePeeps, allPeeps), + initCrowd(); + } +} + +function initCrowd() { + for (; availablePeeps.length; ) addPeepToCrowd().walk.progress(Math.random()); +} + +function addPeepToCrowd() { + var e = removeRandomFromArray(availablePeeps), + r = getRandomFromArray(walks)({ + peep: e, + props: resetPeep({ + peep: e, + stage: stage, + }), + }).eventCallback("onComplete", function () { + removePeepFromCrowd(e), addPeepToCrowd(); + }); + return ( + (e.walk = r), + crowd.push(e), + crowd.sort(function (e, r) { + return e.anchorY - r.anchorY; + }), + e + ); +} + +function removePeepFromCrowd(e) { + removeItemFromArray(crowd, e), availablePeeps.push(e); +} + +function render() { + if (!peoplecanvasEl) return; + (peoplecanvasEl.width = peoplecanvasEl.width), + ctx.save(), + ctx.scale(devicePixelRatio, devicePixelRatio), + crowd.forEach(function (e) { + e.render(ctx); + }), + ctx.restore(); +} diff --git a/js/anzhiyu/random_friends_post.js b/js/anzhiyu/random_friends_post.js new file mode 100644 index 000000000..d717ec212 --- /dev/null +++ b/js/anzhiyu/random_friends_post.js @@ -0,0 +1,215 @@ +var fdata = { + apiurl: GLOBAL_CONFIG.friends_vue_info.apiurl, + defaultFish: 100, + hungryFish: 100, +}; +//可通过 var fdataUser 替换默认值 +if (typeof fdataUser !== "undefined") { + for (var key in fdataUser) { + if (fdataUser[key]) { + fdata[key] = fdataUser[key]; + } + } +} +var randomPostTimes = 0; +var randomPostWorking = false; +var randomPostTips = [ + "钓到了绝世好文!", + "在河边打了个喷嚏,吓跑了", + "你和小伙伴抢夺着", + "你击败了巨龙,在巢穴中发现了", + "挖掘秦始皇坟时找到了", + "在路边闲逛的时候随手买了一个", + "从学校班主任那拿来了孩子上课偷偷看的", + "你的同桌无情的从你的语文书中撕下了那篇你最喜欢的", + "考古学家近日发现了", + "外星人降临地球学习地球文化,落地时被你塞了", + "从图书馆顶层的隐秘角落里发现了闪着金光的", + "徒弟修炼走火入魔,为师立刻掏出了", + "在大山中唱山歌,隔壁的阿妹跑来了,带着", + "隔壁家的孩子数学考了满分,都是因为看了", + "隔壁家的孩子英语考了满分,都是因为看了", + "小米研发了全新一代MIX手机,据说灵感", + "修炼渡劫成功,还好提前看了", + "库克坐上了苹果CEO的宝座,因为他面试的时候看了", + "阿里巴巴大喊芝麻开门,映入眼帘的就是", + "师傅说练武要先炼心,然后让我好生研读", + "科考队在南极大陆发现了被冰封的", + "飞机窗户似乎被一张纸糊上了,仔细一看是", + "历史上满写的仁义道德四个字,透过字缝里却全是", + "十几年前的录音机似乎还能够使用,插上电发现正在播的是", + "新版语文书拟增加一篇熟读并背诵的", + "经调查,99%的受访者都没有背诵过", + "今年的高考满分作文是", + "唐僧揭开了佛祖压在五指山上的", + "科学家发现能够解决衰老的秘密,就是每日研读", + "英特尔发布了全新的至强处理器,其芯片的制造原理都是", + "新的iPhone产能很足,新的进货渠道是", + "今年亩产突破了八千万斤,多亏了", + "陆隐一统天上宗,在无数祖境高手的目光下宣读了", + "黑钻风跟白钻风说道,吃了唐僧肉能长生不老,他知道是因为看了", + "上卫生间没带纸,直接提裤跑路也不愿意玷污手中", + "种下一篇文章就会产生很多很多文章,我种下了", + "三十年河东,三十年河西,莫欺我没有看过", + "踏破铁血无觅处,得来全靠", + "今日双色球中了两千万,预测全靠", + "因为卷子上没写名字,老师罚抄", + "为了抗议世间的不公,割破手指写下了", + "在艺术大街上被贴满了相同的纸,走近一看是", + "这区区迷阵岂能难得住我?其实能走出来多亏了", + "今日被一篇文章顶上了微博热搜,它是", + "你送给乞丐一个暴富秘籍,它是", + "UZI一个走A拿下五杀,在事后采访时说他当时回想起了", + "科学家解刨了第一个感染丧尸病毒的人,发现丧尸抗体存在于", + "如果你有梦想的话,就要努力去看", + "决定我们成为什么样人的,不是我们的能力,而是是否看过", + "有信心不一定会成功,没信心就去看", + "你真正是谁并不重要,重要的是你看没看过", + "玄天境重要的是锻体,为师赠你此书,好好修炼去吧,这是", + "上百祖境高手在天威湖大战三天三夜为了抢夺", + "这化仙池水乃上古真仙对后人的考校,要求熟读并背诵", + "庆氏三千年根基差点竟被你小子毁于一旦,能够被我拯救全是因为我看了", + "我就是神奇宝贝大师!我这只皮卡丘可是", + "我就是神奇宝贝大师!我这只小火龙可是", + "我就是神奇宝贝大师!我这只可达鸭可是", + "我就是神奇宝贝大师!我这只杰尼龟可是", + "上古遗迹中写道,只要习得此书,便得成功。你定睛一看,原来是", + "奶奶的,玩阴的是吧,我就是双料特工代号穿山甲,", + "你的背景太假了,我的就逼真多了,学到这个技术全是因为看了", + "我是云南的,云南怒江的,怒江芦水市,芦水市六库,六库傈僳族,傈僳族是", + "我真的栓Q了,我真的会谢如果你看", + "你已经习得退退退神功,接下来的心法已经被记录在", + "人生无常大肠包小肠,小肠包住了", + "你抽到了普通文章,它是", + "你收到了稀有文章,它是", + "你抽到了金色普通文章,它是", + "你抽到了金色稀有文章,它是", + "你抽到了传说文章!它是", + "哇!金色传说!你抽到了金色传说文章,它是", + "报告!侦察兵说在前往300米有一个男子在偷偷看一本书,上面赫然写着", + "芷莲姑娘大摆擂台,谁若是能读完此书,便可娶了她。然后从背后掏出了", + "请问你的梦想是什么?我的梦想是能读到", + "读什么才能增智慧?当然是读", + "纳兰嫣然掏出了退婚书,可是发现出门带错了,结果拿出了一本", + "你要尽全力保护你的梦想。那些嘲笑你的人,他们必定会失败,他们想把你变成和他们一样的人。如果你有梦想的话,就要努力去读", + "走人生的路就像爬山一样,看起来走了许多冤枉的路,崎岖的路,但终究需要读完", + "游戏的规则就是这么的简单,你听懂了吗?管你听没听懂,快去看", +]; +var randomPostClick = 0; +function fetchRandomPost() { + if (!document.getElementById("random-post")) return; + if (randomPostWorking == false) { + randomPostWorking = true; + //获取旋转角度 + let randomRotate = randomPostTimes * 360; + let randomPostTipsItem = randomPostTips[Math.floor(Math.random() * randomPostTips.length)]; + let randomPostLevel = ""; + if (randomPostTimes > 10000) { + randomPostLevel = "愿者上钩"; + } else if (randomPostTimes > 1000) { + randomPostLevel = "俯览天下"; + } else if (randomPostTimes > 1000) { + randomPostLevel = "超越神了"; + } else if (randomPostTimes > 100) { + randomPostLevel = "绝世渔夫"; + } else if (randomPostTimes > 75) { + randomPostLevel = "钓鱼王者"; + } else if (randomPostTimes > 50) { + randomPostLevel = "钓鱼宗师"; + } else if (randomPostTimes > 20) { + randomPostLevel = "钓鱼专家"; + } else if (randomPostTimes > 5) { + randomPostLevel = "钓鱼高手"; + } else { + randomPostLevel = "钓鱼新手"; + } + if (randomPostTimes >= 5) { + document.getElementById("random-post").innerHTML = + `钓鱼中... (Lv.` + randomPostTimes + ` 当前称号:` + randomPostLevel + `)`; + } else { + document.getElementById("random-post").innerHTML = `钓鱼中...`; + } + + let randomTime = randomNum(1000, 3000); + + if (randomPostTimes == 0) { + randomTime = 0; + } + + document.querySelector(".random-post-start").style.opacity = "0.2"; + document.querySelector(".random-post-start").style.transitionDuration = "0.3s"; + document.querySelector(".random-post-start").style.transform = "rotate(" + randomRotate + "deg)"; + + //判断是否饥饿 + if ( + document.getElementById("random-post") && + randomPostClick * fdata.hungryFish + fdata.defaultFish < randomPostTimes && + Math.round(Math.random()) == 0 + ) { + document.getElementById("random-post").innerHTML = + "因为只钓鱼不吃鱼,过分饥饿导致本次钓鱼失败...(点击任意一篇钓鱼获得的文章即可恢复)"; + randomPostWorking = false; + } else { + var fetchUrl = fdata.apiurl + "randompost"; + fetch(fetchUrl) + .then(res => res.json()) + .then(json => { + var title = json.title; + var link = json.link; + var author = json.author; + if (document.getElementById("random-post")) { + window.setTimeout(function () { + document.getElementById("random-post").innerHTML = + randomPostTipsItem + + `来自友链 ` + + author + + ` 的文章:` + + title + + ``; + randomPostTimes += 1; + localStorage.setItem("randomPostTimes", randomPostTimes); + document.querySelector(".random-post-start").style.opacity = "1"; + }, randomTime); + } + }); + randomPostWorking = false; + } + } +} + +//初始化检查 +function initRandomPost() { + // 获取已经存储的数据 + if (localStorage.randomPostTimes) { + randomPostTimes = parseInt(localStorage.randomPostTimes); + randomPostClick = parseInt(localStorage.randomPostClick); + document.querySelector(".random-post-start").style.transitionDuration = "0.3s"; + document.querySelector(".random-post-start").style.transform = "rotate(" + 360 * randomPostTimes + "deg)"; + } + fetchRandomPost(); +} + +initRandomPost(); + +//添加点击统计 +function randomClickLink() { + randomPostClick += 1; + localStorage.setItem("randomPostClick", randomPostClick); +} + +// 生成随机数 +function randomNum(minNum, maxNum) { + switch (arguments.length) { + case 1: + return parseInt(Math.random() * minNum + 1, 10); + break; + case 2: + return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10); + break; + default: + return 0; + break; + } +} diff --git a/js/anzhiyu/right_click_menu.js b/js/anzhiyu/right_click_menu.js new file mode 100644 index 000000000..02def43b4 --- /dev/null +++ b/js/anzhiyu/right_click_menu.js @@ -0,0 +1,479 @@ +// 初始化函数 +let rm = {}; + +//禁止图片与超链接拖拽 +let aElements = document.getElementsByTagName("a"); +for (let i = 0; i < aElements.length; i++) { + aElements[i].setAttribute("draggable", "false"); + let imgElements = aElements[i].getElementsByTagName("img"); + for (let j = 0; j < imgElements.length; j++) { + imgElements[j].setAttribute("draggable", "false"); + } +} + +// 显示菜单 +rm.showRightMenu = function (isTrue, x = 0, y = 0) { + console.info(x, y); + let rightMenu = document.getElementById("rightMenu"); + rightMenu.style.top = x + "px"; + rightMenu.style.left = y + "px"; + if (isTrue) { + rightMenu.style.display = "block"; + stopMaskScroll(); + } else { + rightMenu.style.display = "none"; + } +}; + +// 隐藏菜单 +rm.hideRightMenu = function () { + rm.showRightMenu(false); + let rightMenuMask = document.querySelector("#rightmenu-mask"); + rightMenuMask.style.display = "none"; +}; + +// 尺寸 +let rmWidth = document.getElementById("rightMenu").offsetWidth; +let rmHeight = document.getElementById("rightMenu").offsetHeight; + +// 重新定义尺寸 +rm.reloadrmSize = function () { + rightMenu.style.visibility = "hidden"; + rightMenu.style.display = "block"; + // 获取宽度和高度 + rmWidth = document.getElementById("rightMenu").offsetWidth; + rmHeight = document.getElementById("rightMenu").offsetHeight; + rightMenu.style.visibility = "visible"; +}; + +// 获取点击的href +let domhref = ""; +let domImgSrc = ""; +let globalEvent = null; + +var oncontextmenuFunction = function (event) { + if (document.body.clientWidth > 768) { + let pageX = event.clientX + 10; //加10是为了防止显示时鼠标遮在菜单上 + let pageY = event.clientY; + + //其他额外菜单 + const $rightMenuOther = document.querySelector(".rightMenuOther"); + const $rightMenuPlugin = document.querySelector(".rightMenuPlugin"); + const $rightMenuCopyText = document.querySelector("#menu-copytext"); + const $rightMenuPasteText = document.querySelector("#menu-pastetext"); + const $rightMenuCommentText = document.querySelector("#menu-commenttext"); + const $rightMenuNewWindow = document.querySelector("#menu-newwindow"); + const $rightMenuNewWindowImg = document.querySelector("#menu-newwindowimg"); + const $rightMenuCopyLink = document.querySelector("#menu-copylink"); + const $rightMenuCopyImg = document.querySelector("#menu-copyimg"); + const $rightMenuDownloadImg = document.querySelector("#menu-downloadimg"); + const $rightMenuSearch = document.querySelector("#menu-search"); + const $rightMenuSearchBaidu = document.querySelector("#menu-searchBaidu"); + const $rightMenuMusicToggle = document.querySelector("#menu-music-toggle"); + const $rightMenuMusicBack = document.querySelector("#menu-music-back"); + const $rightMenuMusicForward = document.querySelector("#menu-music-forward"); + const $rightMenuMusicPlaylist = document.querySelector("#menu-music-playlist"); + const $rightMenuMusicCopyMusicName = document.querySelector("#menu-music-copyMusicName"); + + let href = event.target.href; + let imgsrc = event.target.currentSrc; + + // 判断模式 扩展模式为有事件 + let pluginMode = false; + $rightMenuOther.style.display = "block"; + globalEvent = event; + + // 检查是否需要复制 是否有选中文本 + if (selectTextNow && window.getSelection()) { + pluginMode = true; + $rightMenuCopyText.style.display = "block"; + $rightMenuCommentText.style.display = "block"; + $rightMenuSearch.style.display = "block"; + $rightMenuSearchBaidu.style.display = "block"; + } else { + $rightMenuCopyText.style.display = "none"; + $rightMenuCommentText.style.display = "none"; + $rightMenuSearchBaidu.style.display = "none"; + $rightMenuSearch.style.display = "none"; + } + + //检查是否右键点击了链接a标签 + if (href) { + pluginMode = true; + $rightMenuNewWindow.style.display = "block"; + $rightMenuCopyLink.style.display = "block"; + domhref = href; + } else { + $rightMenuNewWindow.style.display = "none"; + $rightMenuCopyLink.style.display = "none"; + } + + //检查是否需要复制图片 + if (imgsrc) { + pluginMode = true; + $rightMenuCopyImg.style.display = "block"; + $rightMenuDownloadImg.style.display = "block"; + $rightMenuNewWindowImg.style.display = "block"; + document.getElementById("rightMenu").style.width = "12rem"; + domImgSrc = imgsrc; + } else { + $rightMenuCopyImg.style.display = "none"; + $rightMenuDownloadImg.style.display = "none"; + $rightMenuNewWindowImg.style.display = "none"; + } + + // 判断是否为输入框 + if (event.target.tagName.toLowerCase() === "input" || event.target.tagName.toLowerCase() === "textarea") { + pluginMode = true; + $rightMenuPasteText.style.display = "block"; + } else { + $rightMenuPasteText.style.display = "none"; + } + const navMusicEl = document.querySelector("#nav-music"); + //判断是否是音乐 + if (navMusicEl && navMusicEl.contains(event.target)) { + pluginMode = true; + $rightMenuMusicToggle.style.display = "block"; + $rightMenuMusicBack.style.display = "block"; + $rightMenuMusicForward.style.display = "block"; + $rightMenuMusicPlaylist.style.display = "block"; + $rightMenuMusicCopyMusicName.style.display = "block"; + } else { + $rightMenuMusicToggle.style.display = "none"; + $rightMenuMusicBack.style.display = "none"; + $rightMenuMusicForward.style.display = "none"; + $rightMenuMusicPlaylist.style.display = "none"; + $rightMenuMusicCopyMusicName.style.display = "none"; + } + + // 如果不是扩展模式则隐藏扩展模块 + if (pluginMode) { + $rightMenuOther.style.display = "none"; + $rightMenuPlugin.style.display = "block"; + } else { + $rightMenuPlugin.style.display = "none"; + } + + rm.reloadrmSize(); + + // 鼠标默认显示在鼠标右下方,当鼠标靠右或靠下时,将菜单显示在鼠标左方\上方 + if (pageX + rmWidth > window.innerWidth) { + pageX -= rmWidth + 10; + } + if (pageY + rmHeight > window.innerHeight) { + pageY -= pageY + rmHeight - window.innerHeight; + } + + rm.showRightMenu(true, pageY, pageX); + document.getElementById("rightmenu-mask").style.display = "flex"; + return false; + } +}; + +// 监听右键初始化 +window.oncontextmenu = oncontextmenuFunction; + +// 下载图片状态 +rm.downloadimging = false; + +// 复制图片到剪贴板 +rm.writeClipImg = function (imgsrc) { + console.log("按下复制"); + rm.hideRightMenu(); + anzhiyu.snackbarShow("正在下载中,请稍后", false, 10000); + if (rm.downloadimging == false) { + rm.downloadimging = true; + setTimeout(function () { + copyImage(imgsrc); + anzhiyu.snackbarShow("复制成功!图片已添加盲水印,请遵守版权协议"); + rm.downloadimging = false; + }, "10000"); + } +}; + +function imageToBlob(imageURL) { + const img = new Image(); + const c = document.createElement("canvas"); + const ctx = c.getContext("2d"); + img.crossOrigin = ""; + img.src = imageURL; + return new Promise(resolve => { + img.onload = function () { + c.width = this.naturalWidth; + c.height = this.naturalHeight; + ctx.drawImage(this, 0, 0); + c.toBlob( + blob => { + // here the image is a blob + resolve(blob); + }, + "image/png", + 0.75 + ); + }; + }); +} + +async function copyImage(imageURL) { + const blob = await imageToBlob(imageURL); + const item = new ClipboardItem({ "image/png": blob }); + navigator.clipboard.write([item]); +} + +rm.copyUrl = function (id) { + const input = document.createElement("input"); // Create a new element + input.id = "copyVal"; // Set the id of the new element to "copyVal" + document.body.appendChild(input); // Append the new element to the end of the element + + const text = id; + input.value = text; + input.select(); + input.setSelectionRange(0, input.value.length); + document.execCommand("copy"); + + input.remove(); // Remove the element from the DOM +}; + +function stopMaskScroll() { + if (document.getElementById("rightmenu-mask")) { + let xscroll = document.getElementById("rightmenu-mask"); + xscroll.addEventListener( + "mousewheel", + function (e) { + //阻止浏览器默认方法 + rm.hideRightMenu(); + // e.preventDefault(); + }, + { passive: true } + ); + } + if (document.getElementById("rightMenu")) { + let xscroll = document.getElementById("rightMenu"); + xscroll.addEventListener( + "mousewheel", + function (e) { + //阻止浏览器默认方法 + rm.hideRightMenu(); + // e.preventDefault(); + }, + { passive: true } + ); + } +} + +rm.rightmenuCopyText = function (txt) { + if (navigator.clipboard) { + navigator.clipboard.writeText(txt); + } + rm.hideRightMenu(); +}; + +rm.copyPageUrl = function (url) { + if (!url) { + url = window.location.href; + } + rm.copyUrl(url); + anzhiyu.snackbarShow("复制链接地址成功", false, 2000); + rm.hideRightMenu(); +}; + +// 复制当前选中文本 +var selectTextNow = ""; +document.onmouseup = document.ondblclick = selceText; + +function selceText() { + var txt; + if (document.selection) { + txt = document.selection.createRange().text; + } else { + txt = window.getSelection().toString(); + } + selectTextNow = txt !== "" ? txt : ""; +} + +// 读取剪切板 +rm.readClipboard = function () { + if (navigator.clipboard) { + navigator.clipboard.readText().then(clipText => rm.insertAtCaret(globalEvent.target, clipText)); + } +}; + +// 粘贴文本到焦点 +rm.insertAtCaret = function (elemt, value) { + const startPos = elemt.selectionStart, + endPos = elemt.selectionEnd; + if (document.selection) { + elemt.focus(); + var sel = document.selection.createRange(); + sel.text = value; + elemt.focus(); + } else { + if (startPos || startPos == "0") { + var scrollTop = elemt.scrollTop; + elemt.value = elemt.value.substring(0, startPos) + value + elemt.value.substring(endPos, elemt.value.length); + elemt.focus(); + elemt.selectionStart = startPos + value.length; + elemt.selectionEnd = startPos + value.length; + elemt.scrollTop = scrollTop; + } else { + elemt.value += value; + elemt.focus(); + } + } +}; + +//粘贴文本 +rm.pasteText = function () { + const result = rm.readClipboard() || ""; + rm.hideRightMenu(); +}; + +//引用到评论 +rm.rightMenuCommentText = function (txt) { + rm.hideRightMenu(); + const postCommentDom = document.getElementById("post-comment"); + var domTop = postCommentDom.offsetTop; + window.scrollTo(0, domTop - 80); + if (txt == "undefined" || txt == "null") txt = "好棒!"; + function setText() { + setTimeout(() => { + var input = document.getElementsByClassName("el-textarea__inner")[0]; + if (!input) setText(); + let evt = document.createEvent("HTMLEvents"); + evt.initEvent("input", true, true); + let inputValue = replaceAll(txt, "\n", "\n> "); + input.value = "> " + inputValue + "\n\n"; + input.dispatchEvent(evt); + input.focus(); + input.setSelectionRange(-1, -1); + if (document.getElementById("comment-tips")) { + document.getElementById("comment-tips").classList.add("show"); + } + }, 100); + } + setText(); +}; + +//替换所有内容 +function replaceAll(string, search, replace) { + return string.split(search).join(replace); +} + +// 百度搜索 +rm.searchBaidu = function () { + anzhiyu.snackbarShow("即将跳转到百度搜索", false, 2000); + setTimeout(function () { + window.open("https://www.baidu.com/s?wd=" + selectTextNow); + }, "2000"); + rm.hideRightMenu(); +}; + +//分享链接 +rm.copyLink = function () { + rm.rightmenuCopyText(domhref); + anzhiyu.snackbarShow("已复制链接地址"); +}; + +function addRightMenuClickEvent() { + // 添加点击事件 + document.getElementById("menu-backward").addEventListener("click", function () { + window.history.back(); + rm.hideRightMenu(); + }); + + document.getElementById("menu-forward").addEventListener("click", function () { + window.history.forward(); + rm.hideRightMenu(); + }); + + document.getElementById("menu-refresh").addEventListener("click", function () { + window.location.reload(); + }); + + document.getElementById("menu-top").addEventListener("click", function () { + anzhiyu.scrollToDest(0, 500); + rm.hideRightMenu(); + }); + + document.getElementById("menu-translate").addEventListener("click", function () { + window.translateFn.translatePage(); + rm.hideRightMenu(); + }); + + const menuLinks = document.querySelectorAll(".menu-link"); + menuLinks.forEach(function (link) { + link.addEventListener("click", rm.hideRightMenu); + }); + + document.getElementById("menu-home") && + document.getElementById("menu-home").addEventListener("click", function () { + window.location.href = window.location.origin; + }); + + document.getElementById("menu-randomPost").addEventListener("click", function () { + toRandomPost(); + }); + + document.getElementById("menu-commentBarrage").addEventListener("click", anzhiyu.switchCommentBarrage); + + document.getElementById("rightmenu-mask").addEventListener("click", rm.hideRightMenu); + + document.getElementById("rightmenu-mask").addEventListener("contextmenu", function (event) { + rm.hideRightMenu(); + event.preventDefault(); // Prevent the default context menu from appearing + }); + + document.getElementById("menu-copy").addEventListener("click", () => { + rm.copyPageUrl(); + }); + + document.getElementById("menu-pastetext").addEventListener("click", rm.pasteText); + + document.getElementById("menu-copytext").addEventListener("click", function () { + rm.rightmenuCopyText(selectTextNow); + const copyright = GLOBAL_CONFIG.copyright; + if (copyright.copy) { + anzhiyu.snackbarShow(copyright.languages.copySuccess); + } + }); + + document.getElementById("menu-commenttext").addEventListener("click", function () { + rm.rightMenuCommentText(selectTextNow); + }); + + document.getElementById("menu-newwindow").addEventListener("click", function () { + window.open(domhref, "_blank"); + rm.hideRightMenu(); + }); + + document.getElementById("menu-copylink").addEventListener("click", rm.copyLink); + + document.getElementById("menu-downloadimg").addEventListener("click", function () { + anzhiyu.downloadImage(domImgSrc, "anzhiyu"); + }); + + document.getElementById("menu-newwindowimg").addEventListener("click", function () { + window.open(domImgSrc, "_blank"); + rm.hideRightMenu(); + }); + + document.getElementById("menu-copyimg").addEventListener("click", function () { + rm.writeClipImg(domImgSrc); + }); + + document.getElementById("menu-searchBaidu").addEventListener("click", rm.searchBaidu); + + //音乐 + document.getElementById("menu-music-toggle").addEventListener("click", anzhiyu.musicToggle); + + document.getElementById("menu-music-back").addEventListener("click", anzhiyu.musicSkipBack); + + document.getElementById("menu-music-forward").addEventListener("click", anzhiyu.musicSkipForward); + + document.getElementById("menu-music-copyMusicName").addEventListener("click", function () { + rm.rightmenuCopyText(anzhiyu.musicGetName()); + anzhiyu.snackbarShow("复制歌曲名称成功", false, 3000); + }); +} + +addRightMenuClickEvent(); diff --git a/js/main.js b/js/main.js new file mode 100644 index 000000000..90662d812 --- /dev/null +++ b/js/main.js @@ -0,0 +1,1832 @@ +// 第一次播放音乐 +var anzhiyu_musicFirst = false; +// 快捷键 +var anzhiyu_keyboard = null; +// 音乐播放状态 +var anzhiyu_musicPlaying = false; +var $bodyWrap = document.getElementById("body-wrap"); +var anzhiyu_intype = false; +var anzhiyu_keyUpEvent_timeoutId = null; +var anzhiyu_keyUpShiftDelayEvent_timeoutId = null; + +var popupWindowTimer = null; + +var adjectives = [ + "美丽的", + "英俊的", + "聪明的", + "勇敢的", + "可爱的", + "慷慨的", + "善良的", + "可靠的", + "开朗的", + "成熟的", + "稳重的", + "真诚的", + "幽默的", + "豁达的", + "有趣的", + "活泼的", + "优雅的", + "敏捷的", + "温柔的", + "温暖的", + "敬业的", + "细心的", + "耐心的", + "深沉的", + "朴素的", + "含蓄的", + "率直的", + "开放的", + "务实的", + "坚强的", + "自信的", + "谦虚的", + "文静的", + "深刻的", + "纯真的", + "朝气蓬勃的", + "慎重的", + "大方的", + "顽强的", + "迷人的", + "机智的", + "善解人意的", + "富有想象力的", + "有魅力的", + "独立的", + "好奇的", + "干净的", + "宽容的", + "尊重他人的", + "体贴的", + "守信的", + "有耐性的", + "有责任心的", + "有担当的", + "有远见的", + "有智慧的", + "有眼光的", + "有冒险精神的", + "有爱心的", + "有同情心的", + "喜欢思考的", + "喜欢学习的", + "具有批判性思维的", + "善于表达的", + "善于沟通的", + "善于合作的", + "善于领导的", + "有激情的", + "有幽默感的", + "有思想的", + "有个性的", + "有正义感的", + "有责任感的", + "有创造力的", + "有想象力的", + "有艺术细胞的", + "有团队精神的", + "有协调能力的", + "有决策能力的", + "有组织能力的", + "有学习能力的", + "有执行能力的", + "有分析能力的", + "有逻辑思维的", + "有创新能力的", + "有专业素养的", + "有商业头脑的", +]; +var vegetablesAndFruits = [ + "萝卜", + "白菜", + "芹菜", + "生菜", + "青椒", + "辣椒", + "茄子", + "豆角", + "黄瓜", + "西红柿", + "洋葱", + "大蒜", + "土豆", + "南瓜", + "豆腐", + "韭菜", + "花菜", + "西兰花", + "蘑菇", + "金针菇", + "苹果", + "香蕉", + "橙子", + "柠檬", + "猕猴桃", + "草莓", + "葡萄", + "桃子", + "杏子", + "李子", + "石榴", + "西瓜", + "哈密瓜", + "蜜瓜", + "樱桃", + "蓝莓", + "柿子", + "橄榄", + "柚子", + "火龙果", +]; + +// 已随机的歌曲 +var selectRandomSong = []; +// 音乐默认声音大小 +var musicVolume = 0.8; +// 是否切换了周杰伦音乐列表 +var changeMusicListFlag = false; +// 当前默认播放列表 +var defaultPlayMusicList = []; +var themeColorMeta, pageHeaderEl, navMusicEl, consoleEl; + +document.addEventListener("DOMContentLoaded", function () { + let headerContentWidth, $nav, $rightMenu; + let mobileSidebarOpen = false; + + const adjustMenu = init => { + const getAllWidth = ele => { + return Array.from(ele).reduce((width, i) => width + i.offsetWidth, 0); + }; + + if (init) { + const blogInfoWidth = getAllWidth(document.querySelector("#blog_name > a").children); + const menusWidth = getAllWidth(document.getElementById("menus").children); + headerContentWidth = blogInfoWidth + menusWidth; + $nav = document.getElementById("nav"); + } + + const hideMenuIndex = window.innerWidth <= 768 || headerContentWidth > $nav.offsetWidth - 120; + $nav.classList.toggle("hide-menu", hideMenuIndex); + }; + + // 初始化header + const initAdjust = () => { + adjustMenu(true); + $nav.classList.add("show"); + }; + + // sidebar menus + const sidebarFn = { + open: () => { + anzhiyu.sidebarPaddingR(); + anzhiyu.animateIn(document.getElementById("menu-mask"), "to_show 0.5s"); + document.getElementById("sidebar-menus").classList.add("open"); + mobileSidebarOpen = true; + }, + close: () => { + const $body = document.body; + $body.style.paddingRight = ""; + anzhiyu.animateOut(document.getElementById("menu-mask"), "to_hide 0.5s"); + document.getElementById("sidebar-menus").classList.remove("open"); + mobileSidebarOpen = false; + }, + }; + + /** + * 首頁top_img底下的箭頭 + */ + const scrollDownInIndex = () => { + const handleScrollToDest = () => { + const bbTimeList = document.getElementById("bbTimeList"); + if (bbTimeList) { + anzhiyu.scrollToDest(bbTimeList.offsetTop - 62, 300); + } else { + anzhiyu.scrollToDest(document.getElementById("home_top").offsetTop - 60, 300); + } + }; + + const $scrollDownEle = document.getElementById("scroll-down"); + $scrollDownEle && anzhiyu.addEventListenerPjax($scrollDownEle, "click", handleScrollToDest); + }; + + /** + * 代码 + * 只适用于Hexo默认的代码渲染 + */ + const addHighlightTool = function () { + const highLight = GLOBAL_CONFIG.highlight; + if (!highLight) return; + + const isHighlightCopy = highLight.highlightCopy; + const isHighlightLang = highLight.highlightLang; + const isHighlightShrink = GLOBAL_CONFIG_SITE.isHighlightShrink; + const highlightHeightLimit = highLight.highlightHeightLimit; + const isShowTool = isHighlightCopy || isHighlightLang || isHighlightShrink !== undefined; + const $figureHighlight = + highLight.plugin === "highlighjs" + ? document.querySelectorAll("figure.highlight") + : document.querySelectorAll('pre[class*="language-"]'); + + if (!((isShowTool || highlightHeightLimit) && $figureHighlight.length)) return; + + const isPrismjs = highLight.plugin === "prismjs"; + + let highlightShrinkEle = ""; + let highlightCopyEle = ""; + const highlightShrinkClass = isHighlightShrink === true ? "closed" : ""; + + if (isHighlightShrink !== undefined) { + highlightShrinkEle = ``; + } + + if (isHighlightCopy) { + highlightCopyEle = '
    '; + } + + const copy = (text, ctx) => { + if (document.queryCommandSupported && document.queryCommandSupported("copy")) { + document.execCommand("copy"); + if (GLOBAL_CONFIG.Snackbar !== undefined) { + anzhiyu.snackbarShow(GLOBAL_CONFIG.copy.success); + } else { + const prevEle = ctx.previousElementSibling; + prevEle.innerText = GLOBAL_CONFIG.copy.success; + prevEle.style.opacity = 1; + setTimeout(() => { + prevEle.style.opacity = 0; + }, 700); + } + } else { + if (GLOBAL_CONFIG.Snackbar !== undefined) { + anzhiyu.snackbarShow(GLOBAL_CONFIG.copy.noSupport); + } else { + ctx.previousElementSibling.innerText = GLOBAL_CONFIG.copy.noSupport; + } + } + }; + + // click events + const highlightCopyFn = ele => { + const $buttonParent = ele.parentNode; + $buttonParent.classList.add("copy-true"); + const selection = window.getSelection(); + const range = document.createRange(); + if (isPrismjs) range.selectNodeContents($buttonParent.querySelectorAll("pre code")[0]); + else range.selectNodeContents($buttonParent.querySelectorAll("table .code pre")[0]); + selection.removeAllRanges(); + selection.addRange(range); + const text = selection.toString(); + copy(text, ele.lastChild); + selection.removeAllRanges(); + $buttonParent.classList.remove("copy-true"); + }; + + const highlightShrinkFn = ele => { + const $nextEle = [...ele.parentNode.children].slice(1); + ele.firstChild.classList.toggle("closed"); + if (anzhiyu.isHidden($nextEle[$nextEle.length - 1])) { + $nextEle.forEach(e => { + e.style.display = "block"; + }); + } else { + $nextEle.forEach(e => { + e.style.display = "none"; + }); + } + }; + + const highlightToolsFn = function (e) { + const $target = e.target.classList; + if ($target.contains("expand")) highlightShrinkFn(this); + else if ($target.contains("copy-button")) highlightCopyFn(this); + }; + + const expandCode = function () { + this.classList.toggle("expand-done"); + }; + + const createEle = (lang, item, service) => { + const fragment = document.createDocumentFragment(); + + if (isShowTool) { + const hlTools = document.createElement("div"); + hlTools.className = `highlight-tools ${highlightShrinkClass}`; + hlTools.innerHTML = highlightShrinkEle + lang + highlightCopyEle; + anzhiyu.addEventListenerPjax(hlTools, "click", highlightToolsFn); + fragment.appendChild(hlTools); + } + + if (highlightHeightLimit && item.offsetHeight > highlightHeightLimit + 30) { + const ele = document.createElement("div"); + ele.className = "code-expand-btn"; + ele.innerHTML = ''; + anzhiyu.addEventListenerPjax(ele, "click", expandCode); + fragment.appendChild(ele); + } + + if (service === "hl") { + item.insertBefore(fragment, item.firstChild); + } else { + item.parentNode.insertBefore(fragment, item); + } + }; + + if (isHighlightLang) { + if (isPrismjs) { + $figureHighlight.forEach(function (item) { + const langName = item.getAttribute("data-language") ? item.getAttribute("data-language") : "Code"; + const highlightLangEle = `
    ${langName}
    `; + anzhiyu.wrap(item, "figure", { class: "highlight" }); + createEle(highlightLangEle, item); + }); + } else { + $figureHighlight.forEach(function (item) { + let langName = item.getAttribute("class").split(" ")[1]; + if (langName === "plain" || langName === undefined || langName === "plaintext") langName = "Code"; + const highlightLangEle = `
    ${langName}
    `; + createEle(highlightLangEle, item, "hl"); + }); + } + } else { + if (isPrismjs) { + $figureHighlight.forEach(function (item) { + anzhiyu.wrap(item, "figure", { class: "highlight" }); + createEle("", item); + }); + } else { + $figureHighlight.forEach(function (item) { + createEle("", item, "hl"); + }); + } + } + }; + + /** + * PhotoFigcaption + */ + function addPhotoFigcaption() { + document.querySelectorAll("#article-container img").forEach(function (item) { + const parentEle = item.parentNode; + const altValue = item.title || item.alt; + if (altValue && !parentEle.parentNode.classList.contains("justified-gallery")) { + const ele = document.createElement("div"); + ele.className = "img-alt is-center"; + ele.textContent = altValue; + parentEle.insertBefore(ele, item.nextSibling); + } + }); + } + + /** + * Lightbox + */ + const runLightbox = () => { + anzhiyu.loadLightbox(document.querySelectorAll("#article-container img:not(.no-lightbox)")); + }; + + /** + * justified-gallery 圖庫排版 + */ + const runJustifiedGallery = function (ele) { + const htmlStr = arr => { + let str = ""; + const replaceDq = str => str.replace(/"/g, """); // replace double quotes to " + arr.forEach(i => { + const alt = i.alt ? `alt="${replaceDq(i.alt)}"` : ""; + const title = i.title ? `title="${replaceDq(i.title)}"` : ""; + const address = i.address ? i.address : ""; + const galleryItem = ` + + `; + str += galleryItem; + }); + + return str; + }; + + const lazyloadFn = (i, arr, limit) => { + const loadItem = Number(limit); + const arrLength = arr.length; + if (arrLength > loadItem) i.insertAdjacentHTML("beforeend", htmlStr(arr.splice(0, loadItem))); + else { + i.insertAdjacentHTML("beforeend", htmlStr(arr)); + i.classList.remove("lazyload"); + } + window.lazyLoadInstance && window.lazyLoadInstance.update(); + return arrLength > loadItem ? loadItem : arrLength; + }; + + const fetchUrl = async url => { + const response = await fetch(url); + return await response.json(); + }; + + const runJustifiedGallery = (item, arr) => { + const limit = item.getAttribute("data-limit") ?? arr.length; + if (!item.classList.contains("lazyload") || arr.length < limit) { + // 不懒加载 + item.innerHTML = htmlStr(arr); + item.nextElementSibling.style.display = "none"; + } else { + if (!item.classList.contains("btn_album_detail_lazyload") || item.classList.contains("page_img_lazyload")) { + // 滚动懒加载 + lazyloadFn(item, arr, limit); + const clickBtnFn = () => { + const lastItemLength = lazyloadFn(item, arr, limit); + fjGallery( + item, + "appendImages", + item.querySelectorAll(`.fj-gallery-item:nth-last-child(-n+${lastItemLength})`) + ); + anzhiyu.loadLightbox(item.querySelectorAll("img")); + if (lastItemLength < Number(limit)) { + observer.unobserve(item.nextElementSibling); + } + }; + + // 创建IntersectionObserver实例 + const observer = new IntersectionObserver((entries, observer) => { + entries.forEach(entry => { + // 如果元素进入视口 + if (entry.isIntersecting) { + // 执行clickBtnFn函数 + setTimeout(clickBtnFn(), 100); + } + }); + }); + observer.observe(item.nextElementSibling); + } else { + // 相册详情 按钮懒加载 + lazyloadFn(item, arr, limit); + const clickBtnFn = () => { + const lastItemLength = lazyloadFn(item, arr, limit); + fjGallery( + item, + "appendImages", + item.querySelectorAll(`.fj-gallery-item:nth-last-child(-n+${lastItemLength})`) + ); + anzhiyu.loadLightbox(item.querySelectorAll("img")); + lastItemLength < limit && item.nextElementSibling.removeEventListener("click", clickBtnFn); + }; + item.nextElementSibling.addEventListener("click", clickBtnFn); + } + } + + anzhiyu.initJustifiedGallery(item); + anzhiyu.loadLightbox(item.querySelectorAll("img")); + window.lazyLoadInstance && window.lazyLoadInstance.update(); + }; + + const addJustifiedGallery = () => { + ele.forEach(item => { + item.classList.contains("url") + ? fetchUrl(item.textContent).then(res => { + runJustifiedGallery(item, res); + }) + : runJustifiedGallery(item, JSON.parse(item.textContent)); + }); + }; + + if (window.fjGallery) { + addJustifiedGallery(); + return; + } + + getCSS(`${GLOBAL_CONFIG.source.justifiedGallery.css}`); + getScript(`${GLOBAL_CONFIG.source.justifiedGallery.js}`).then(addJustifiedGallery); + }; + + /** + * 滚动处理 + */ + const scrollFn = function () { + const $rightside = document.getElementById("rightside"); + const innerHeight = window.innerHeight + 56; + let lastScrollTop = 0; + + if (document.body.scrollHeight <= innerHeight) { + $rightside.style.cssText = "opacity: 1; transform: translateX(-58px)"; + } + + // find the scroll direction + function scrollDirection(currentTop) { + const result = currentTop > initTop; // true is down & false is up + initTop = currentTop; + return result; + } + + let initTop = 0; + let isChatShow = true; + const $header = document.getElementById("page-header"); + const $popupWindow = document.getElementById("popup-window"); + const isChatBtnHide = typeof chatBtnHide === "function"; + const isChatBtnShow = typeof chatBtnShow === "function"; + + // 第一次滑动到底部的标识符 + let scrollBottomFirstFlag = false; + // 缓存常用dom元素 + const musicDom = document.getElementById("nav-music"), + footerDom = document.getElementById("footer"), + waterfallDom = document.getElementById("waterfall"), + $percentBtn = document.getElementById("percent"), + $navTotop = document.getElementById("nav-totop"), + $bodyWrap = document.getElementById("body-wrap"); + // 页面底部Dom是否存在 + let pageBottomDomFlag = document.getElementById("post-comment") || document.getElementById("footer"); + + function percentageScrollFn(currentTop) { + // 处理滚动百分比 + let docHeight = $bodyWrap.clientHeight; + const winHeight = document.documentElement.clientHeight; + const contentMath = + docHeight > winHeight ? docHeight - winHeight : document.documentElement.scrollHeight - winHeight; + const scrollPercent = currentTop / contentMath; + const scrollPercentRounded = Math.round(scrollPercent * 100); + const percentage = scrollPercentRounded > 100 ? 100 : scrollPercentRounded <= 0 ? 1 : scrollPercentRounded; + $percentBtn.textContent = percentage; + + function isInViewPortOfOneNoDis(el) { + if (!el) return; + const elDisplay = window.getComputedStyle(el).getPropertyValue("display"); + if (elDisplay == "none") { + return; + } + const viewPortHeight = + window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; + const offsetTop = el.offsetTop; + const scrollTop = document.documentElement.scrollTop; + const top = offsetTop - scrollTop; + return top <= viewPortHeight; + } + + if (isInViewPortOfOneNoDis(pageBottomDomFlag || percentage > 90) && currentTop > 20) { + $navTotop.classList.add("long"); + $percentBtn.textContent = "返回顶部"; + } else { + $navTotop.classList.remove("long"); + $percentBtn.textContent = percentage; + } + + // 如果当前页面需要瀑布流,就处理瀑布流 + if (waterfallDom) { + const waterfallResult = currentTop % document.documentElement.clientHeight; // 卷去一个视口 + if (!scrollBottomFirstFlag && waterfallResult + 100 >= document.documentElement.clientHeight) { + console.info(waterfallResult, document.documentElement.clientHeight); + setTimeout(() => { + waterfall("#waterfall"); + }, 500); + } else { + setTimeout(() => { + waterfallDom && waterfall("#waterfall"); + }, 500); + } + } + } + + const scrollTask = anzhiyu.throttle(() => { + const currentTop = window.scrollY || document.documentElement.scrollTop; + const isDown = scrollDirection(currentTop); + + const delta = Math.abs(lastScrollTop - currentTop); + if (currentTop > 60 && delta < 20 && delta != 0) { + // ignore small scrolls + return; + } + if ( + $popupWindow && + $popupWindow.classList.contains("show-popup-window") && + currentTop > 60 && + delta > 20 && + lastScrollTop != 0 + ) { + // 滚动后延迟1s关闭弹窗 + anzhiyu.throttle(() => { + if (popupWindowTimer) clearTimeout(popupWindowTimer); + popupWindowTimer = setTimeout(() => { + if (!$popupWindow.classList.contains("popup-hide")) { + $popupWindow.classList.add("popup-hide"); + } + setTimeout(() => { + $popupWindow.classList.remove("popup-hide"); + $popupWindow.classList.remove("show-popup-window"); + }, 1000); + }, 1000); + }, 1000)(); + } + lastScrollTop = currentTop; + + if (currentTop > 26) { + if (isDown) { + if ($header.classList.contains("nav-visible")) $header.classList.remove("nav-visible"); + if (isChatBtnShow && isChatShow === true) { + chatBtnHide(); + isChatShow = false; + } + } else { + if (!$header.classList.contains("nav-visible")) $header.classList.add("nav-visible"); + if (isChatBtnHide && isChatShow === false) { + chatBtnShow(); + isChatShow = true; + } + } + requestAnimationFrame(() => { + anzhiyu.initThemeColor(); + $header.classList.add("nav-fixed"); + }); + if (window.getComputedStyle($rightside).getPropertyValue("opacity") === "0") { + $rightside.style.cssText = "opacity: 0.8; transform: translateX(-58px)"; + } + } else { + if (currentTop <= 5) { + requestAnimationFrame(() => { + $header.classList.remove("nav-fixed"); + $header.classList.remove("nav-visible"); + // 修改顶栏颜色 + anzhiyu.initThemeColor(); + }); + } + $rightside.style.cssText = "opacity: ''; transform: ''"; + } + + if (document.body.scrollHeight <= innerHeight) { + $rightside.style.cssText = "opacity: 0.8; transform: translateX(-58px)"; + } + + percentageScrollFn(currentTop); + }, 96); + + // 进入footer隐藏音乐 + if (footerDom) { + anzhiyu + .intersectionObserver( + () => { + if (footerDom && musicDom && 768 < document.body.clientWidth) { + musicDom.style.bottom = "-10px"; + musicDom.style.opacity = "0"; + } + scrollBottomFirstFlag = true; + }, + () => { + if (footerDom && musicDom && 768 < document.body.clientWidth) { + musicDom.style.bottom = "20px"; + musicDom.style.opacity = "1"; + } + } + )() + .observe(footerDom); + } + + scrollTask(); + anzhiyu.addEventListenerPjax(window, "scroll", scrollTask, { passive: true }); + }; + + /** + * toc,anchor + */ + const scrollFnToDo = function () { + const isToc = GLOBAL_CONFIG_SITE.isToc; + const isAnchor = GLOBAL_CONFIG.isAnchor; + const $article = document.getElementById("article-container"); + + if (!($article && (isToc || isAnchor))) return; + + let $tocLink, $cardToc, autoScrollToc, isExpand; + if (isToc) { + const $cardTocLayout = document.getElementById("card-toc"); + $cardToc = $cardTocLayout.querySelector(".toc-content"); + $tocLink = $cardToc.querySelectorAll(".toc-link"); + $tocPercentage = $cardTocLayout.querySelector(".toc-percentage"); + isExpand = $cardToc.classList.contains("is-expand"); + + // toc元素點擊 + const tocItemClickFn = e => { + const target = e.target.closest(".toc-link"); + if (!target) return; + + e.preventDefault(); + anzhiyu.scrollToDest( + anzhiyu.getEleTop(document.getElementById(decodeURI(target.getAttribute("href")).replace("#", ""))), + 300 + ); + if (window.innerWidth < 900) { + $cardTocLayout.classList.remove("open"); + } + }; + + anzhiyu.addEventListenerPjax($cardToc, "click", tocItemClickFn); + + autoScrollToc = item => { + const activePosition = item.getBoundingClientRect().top; + const sidebarScrollTop = $cardToc.scrollTop; + if (activePosition > document.documentElement.clientHeight - 100) { + $cardToc.scrollTop = sidebarScrollTop + 150; + } + if (activePosition < 100) { + $cardToc.scrollTop = sidebarScrollTop - 150; + } + }; + } + + // find head position & add active class + const list = $article.querySelectorAll("h1,h2,h3,h4,h5,h6"); + const filteredHeadings = Array.from(list).filter(heading => heading.id !== "CrawlerTitle"); + let detectItem = ""; + const findHeadPosition = function (top) { + if (top === 0) { + return false; + } + + let currentId = ""; + let currentIndex = ""; + + filteredHeadings.forEach(function (ele, index) { + if (top > anzhiyu.getEleTop(ele) - 80) { + const id = ele.id; + currentId = id ? "#" + encodeURI(id) : ""; + currentIndex = index; + } + }); + if (detectItem === currentIndex) return; + if (isAnchor) anzhiyu.updateAnchor(currentId); + detectItem = currentIndex; + if (isToc) { + $cardToc.querySelectorAll(".active").forEach(i => { + i.classList.remove("active"); + }); + + if (currentId === "") { + return; + } + const currentActive = $tocLink[currentIndex]; + currentActive.classList.add("active"); + + setTimeout(() => { + autoScrollToc(currentActive); + }, 0); + + if (isExpand) return; + let parent = currentActive.parentNode; + + for (; !parent.matches(".toc"); parent = parent.parentNode) { + if (parent.matches("li")) parent.classList.add("active"); + } + } + }; + + // main of scroll + const tocScrollFn = anzhiyu.throttle(() => { + const currentTop = window.scrollY || document.documentElement.scrollTop; + findHeadPosition(currentTop); + }, 100); + + anzhiyu.addEventListenerPjax(window, "scroll", tocScrollFn, { passive: true }); + }; + + const handleThemeChange = mode => { + const globalFn = window.globalFn || {}; + const themeChange = globalFn.themeChange || {}; + if (!themeChange) { + return; + } + + Object.keys(themeChange).forEach(key => { + const themeChangeFn = themeChange[key]; + themeChangeFn(mode); + }); + + rm && rm.hideRightMenu(); + + const menuDarkmodeText = $rightMenu.querySelector(".menu-darkmode-text"); + if (mode === "light") { + menuDarkmodeText.textContent = "深色模式"; + } else { + menuDarkmodeText.textContent = "浅色模式"; + } + + if (!GLOBAL_CONFIG_SITE.isPost) { + const root = document.querySelector(":root"); + root.style.setProperty("--anzhiyu-bar-background", "var(--anzhiyu-meta-theme-color)"); + requestAnimationFrame(() => { + anzhiyu.initThemeColor(); + }); + + // 要改回来默认主色; + document.documentElement.style.setProperty( + "--anzhiyu-main", + getComputedStyle(document.documentElement).getPropertyValue("--anzhiyu-theme") + ); + document.documentElement.style.setProperty( + "--anzhiyu-theme-op", + getComputedStyle(document.documentElement).getPropertyValue("--anzhiyu-main") + "23" + ); + document.documentElement.style.setProperty( + "--anzhiyu-theme-op-deep", + getComputedStyle(document.documentElement).getPropertyValue("--anzhiyu-main") + "dd" + ); + } + }; + + /** + * Rightside + */ + const rightSideFn = { + readmode: () => { + // read mode + const $body = document.body; + $body.classList.add("read-mode"); + const newEle = document.createElement("button"); + newEle.type = "button"; + newEle.className = "fas fa-sign-out-alt exit-readmode"; + $body.appendChild(newEle); + + const clickFn = () => { + $body.classList.remove("read-mode"); + newEle.remove(); + newEle.removeEventListener("click", clickFn); + }; + + newEle.addEventListener("click", clickFn); + }, + darkmode: () => { + // switch between light and dark mode + const willChangeMode = document.documentElement.getAttribute("data-theme") === "dark" ? "light" : "dark"; + if (willChangeMode === "dark") { + activateDarkMode(); + GLOBAL_CONFIG.Snackbar !== undefined && anzhiyu.snackbarShow(GLOBAL_CONFIG.Snackbar.day_to_night); + } else { + activateLightMode(); + GLOBAL_CONFIG.Snackbar !== undefined && anzhiyu.snackbarShow(GLOBAL_CONFIG.Snackbar.night_to_day); + } + saveToLocal.set("theme", willChangeMode, 2); + handleThemeChange(willChangeMode); + }, + "rightside-config": item => { + // Show or hide rightside-hide-btn + const hideLayout = item.firstElementChild; + if (hideLayout.classList.contains("show")) { + hideLayout.classList.add("status"); + setTimeout(() => { + hideLayout.classList.remove("status"); + }, 300); + } + + hideLayout.classList.toggle("show"); + }, + "go-up": () => { + // Back to top + anzhiyu.scrollToDest(0, 500); + }, + "hide-aside-btn": () => { + // Hide aside + const $htmlDom = document.documentElement.classList; + const saveStatus = $htmlDom.contains("hide-aside") ? "show" : "hide"; + saveToLocal.set("aside-status", saveStatus, 2); + $htmlDom.toggle("hide-aside"); + }, + "mobile-toc-button": item => { + // Show mobile toc + const tocEle = document.getElementById("card-toc"); + tocEle.style.transformOrigin = `right ${item.getBoundingClientRect().top + 17}px`; + tocEle.style.transition = "transform 0.3s ease-in-out"; + tocEle.classList.toggle("open"); + tocEle.addEventListener( + "transitionend", + () => { + tocEle.style.transition = ""; + tocEle.style.transformOrigin = ""; + }, + { once: true } + ); + }, + "chat-btn": () => { + // Show chat + window.chatBtnFn(); + }, + translateLink: () => { + // switch between traditional and simplified chinese + window.translateFn.translatePage(); + }, + }; + + document.getElementById("rightside").addEventListener("click", function (e) { + const $target = e.target.closest("[id]"); + if ($target && rightSideFn[$target.id]) { + rightSideFn[$target.id](this); + } + }); + + //监听蒙版关闭 + document.addEventListener( + "touchstart", + e => { + anzhiyu.removeRewardMask(); + }, + { passive: true } + ); + + /** + * menu + * 側邊欄sub-menu 展開/收縮 + */ + const clickFnOfSubMenu = () => { + const handleClickOfSubMenu = e => { + const target = e.target.closest(".site-page.group"); + if (!target) return; + target.classList.toggle("hide"); + }; + + document.querySelector("#sidebar-menus .menus_items") && + document.querySelector("#sidebar-menus .menus_items").addEventListener("click", handleClickOfSubMenu); + }; + + /** + * 手机端目录点击 + */ + const openMobileMenu = () => { + const handleClick = () => { + sidebarFn.open(); + }; + anzhiyu.addEventListenerPjax(document.getElementById("toggle-menu"), "click", handleClick); + }; + + /** + * 複製時加上版權信息 + */ + const addCopyright = () => { + const { limitCount, languages, copy, copyrightEbable } = GLOBAL_CONFIG.copyright; + + const handleCopy = e => { + if (copy) { + anzhiyu.snackbarShow(languages.copySuccess); + } + if (copyrightEbable) { + e.preventDefault(); + const copyFont = window.getSelection(0).toString(); + let textFont = copyFont; + if (copyFont.length > limitCount) { + textFont = `${copyFont}\n\n\n${languages.author}\n${languages.link}${window.location.href}\n${languages.source}\n${languages.info}`; + } + if (e.clipboardData) { + return e.clipboardData.setData("text", textFont); + } else { + return window.clipboardData.setData("text", textFont); + } + } + }; + + document.body.addEventListener("copy", handleCopy); + }; + + /** + * 網頁運行時間 + */ + const addRuntime = () => { + const $runtimeCount = document.getElementById("runtimeshow"); + if ($runtimeCount) { + const publishDate = $runtimeCount.getAttribute("data-publishDate"); + $runtimeCount.textContent = `${anzhiyu.diffDate(publishDate)} ${GLOBAL_CONFIG.runtime}`; + } + }; + + /** + * 最後一次更新時間 + */ + const addLastPushDate = () => { + const $lastPushDateItem = document.getElementById("last-push-date"); + if ($lastPushDateItem) { + const lastPushDate = $lastPushDateItem.getAttribute("data-lastPushDate"); + $lastPushDateItem.textContent = anzhiyu.diffDate(lastPushDate, true); + } + }; + + /** + * table overflow + */ + const addTableWrap = () => { + const $table = document.querySelectorAll("#article-container table"); + if (!$table.length) return; + + $table.forEach(item => { + if (!item.closest(".highlight")) { + anzhiyu.wrap(item, "div", { class: "table-wrap" }); + } + }); + }; + + /** + * tag-hide + */ + const clickFnOfTagHide = () => { + const hideButtons = document.querySelectorAll("#article-container .hide-button"); + if (!hideButtons.length) return; + const handleClick = function (e) { + const $this = this; + $this.classList.add("open"); + const $fjGallery = $this.nextElementSibling.querySelectorAll(".gallery-container"); + $fjGallery.length && addJustifiedGallery($fjGallery); + }; + + hideButtons.forEach(item => { + item.addEventListener("click", handleClick, { once: true }); + }); + }; + + const tabsFn = () => { + const navTabsElement = document.querySelectorAll("#article-container .tabs"); + if (!navTabsElement.length) return; + + const removeAndAddActiveClass = (elements, detect) => { + Array.from(elements).forEach(element => { + element.classList.remove("active"); + if (element === detect || element.id === detect) { + element.classList.add("active"); + } + }); + }; + + const addTabNavEventListener = (item, isJustifiedGallery) => { + const navClickHandler = function (e) { + const target = e.target.closest("button"); + if (target.classList.contains("active")) return; + removeAndAddActiveClass(this.children, target); + this.classList.remove("no-default"); + const tabId = target.getAttribute("data-href"); + const tabContent = this.nextElementSibling; + removeAndAddActiveClass(tabContent.children, tabId); + if (isJustifiedGallery) { + const $isTabJustifiedGallery = tabContent.querySelectorAll(`#${tabId} .fj-gallery`); + if ($isTabJustifiedGallery.length > 0) { + anzhiyu.initJustifiedGallery($isTabJustifiedGallery); + } + } + }; + anzhiyu.addEventListenerPjax(item.firstElementChild, "click", navClickHandler); + }; + + const addTabToTopEventListener = item => { + const btnClickHandler = e => { + const target = e.target.closest("button"); + if (!target) return; + anzhiyu.scrollToDest(anzhiyu.getEleTop(item), 300); + }; + anzhiyu.addEventListenerPjax(item.lastElementChild, "click", btnClickHandler); + }; + + navTabsElement.forEach(item => { + const isJustifiedGallery = !!item.querySelectorAll(".gallery-container"); + addTabNavEventListener(item, isJustifiedGallery); + addTabToTopEventListener(item); + }); + }; + + const toggleCardCategory = () => { + const cardCategory = document.querySelector("#aside-cat-list.expandBtn"); + if (!cardCategory) return; + + const handleToggleBtn = e => { + const target = e.target; + if (target.nodeName === "I") { + e.preventDefault(); + target.parentNode.classList.toggle("expand"); + } + }; + anzhiyu.addEventListenerPjax(cardCategory, "click", handleToggleBtn, true); + }; + + const switchComments = () => { + const switchBtn = document.getElementById("switch-btn"); + if (!switchBtn) return; + let switchDone = false; + const commentContainer = document.getElementById("post-comment"); + const handleSwitchBtn = () => { + commentContainer.classList.toggle("move"); + if (!switchDone) { + switchDone = true; + loadOtherComment(); + } + }; + anzhiyu.addEventListenerPjax(switchBtn, "click", handleSwitchBtn); + }; + + const addPostOutdateNotice = function () { + const data = GLOBAL_CONFIG.noticeOutdate; + const diffDay = anzhiyu.diffDate(GLOBAL_CONFIG_SITE.postUpdate); + if (diffDay >= data.limitDay) { + const ele = document.createElement("div"); + ele.className = "post-outdate-notice"; + ele.textContent = data.messagePrev + " " + diffDay + " " + data.messageNext; + const $targetEle = document.getElementById("article-container"); + if (data.position === "top") { + $targetEle.insertBefore(ele, $targetEle.firstChild); + } else { + $targetEle.appendChild(ele); + } + } + }; + + const lazyloadImg = () => { + window.lazyLoadInstance = new LazyLoad({ + elements_selector: "img", + threshold: 0, + data_src: "lazy-src", + }); + }; + + const relativeDate = function (selector) { + selector.forEach(item => { + const timeVal = item.getAttribute("datetime"); + item.textContent = anzhiyu.diffDate(timeVal, true); + item.style.display = "inline"; + }); + }; + + const mouseleaveHomeCard = function () { + const topGroup = document.querySelector(".topGroup"); + if (!topGroup) return; + //首页大卡片恢复显示 + topGroup.addEventListener("mouseleave", function () { + document.getElementById("todayCard").classList.remove("hide"); + document.getElementById("todayCard").style.zIndex = 1; + }); + }; + + // 表情放大 + const owoBig = function () { + let flag = 1, // 设置节流阀 + owo_time = "", // 设置计时器 + m = 3; // 设置放大倍数 + // 创建盒子 + let div = document.createElement("div"); + // 设置ID + div.id = "owo-big"; + // 插入盒子 + let body = document.querySelector("body"); + body.appendChild(div); + + // 监听 post-comment 元素的子元素添加事件 + const observer = new MutationObserver(mutations => { + mutations.forEach(mutation => { + const addedNodes = mutation.addedNodes; + // 判断新增的节点中是否包含 OwO-body 类名的元素 + for (let i = 0; i < addedNodes.length; i++) { + const node = addedNodes[i]; + if ( + node.nodeType === Node.ELEMENT_NODE && + node.classList.contains("OwO-body") && + !node.classList.contains("comment-barrage") + ) { + const owo_body = node; + // 禁用右键(手机端长按会出现右键菜单,为了体验给禁用掉) + owo_body.addEventListener("contextmenu", e => e.preventDefault()); + // 鼠标移入 + owo_body.addEventListener("mouseover", handleMouseOver); + // 鼠标移出 + owo_body.addEventListener("mouseout", handleMouseOut); + } + } + }); + }); + + // 配置 MutationObserver 选项 + const config = { childList: true, subtree: true }; + + // 开始监听 + observer.observe(document.getElementById("post-comment"), config); + + function handleMouseOver(e) { + if (e.target.tagName == "IMG" && flag) { + flag = 0; + // 移入100毫秒后显示盒子 + owo_time = setTimeout(() => { + let height = e.target.clientHeight * m; // 盒子高 + let width = e.target.clientWidth * m; // 盒子宽 + let left = e.x - e.offsetX - (width - e.target.clientWidth) / 2; // 盒子与屏幕左边距离 + if (left + width > body.clientWidth) { + left -= left + width - body.clientWidth + 10; + } // 右边缘检测,防止超出屏幕 + if (left < 0) left = 10; // 左边缘检测,防止超出屏幕 + let top = e.y - e.offsetY; // 盒子与屏幕顶部距离 + + // 设置盒子样式 + div.style.height = height + "px"; + div.style.width = width + "px"; + div.style.left = left + "px"; + div.style.top = top + "px"; + div.style.display = "flex"; + // 在盒子中插入图片 + div.innerHTML = ``; + }, 100); + } + } + + function handleMouseOut(e) { + // 隐藏盒子 + div.style.display = "none"; + flag = 1; + clearTimeout(owo_time); + } + }; + + //封面纯色 + const coverColor = async () => { + const root = document.querySelector(":root"); + const path = document.getElementById("post-top-bg")?.src; + if (!path) { + // 非文章情况,直接设置不需要请求了 + root.style.setProperty("--anzhiyu-bar-background", "var(--anzhiyu-meta-theme-color)"); + requestAnimationFrame(() => { + anzhiyu.initThemeColor(); + }); + + // 要改回来默认主色 + document.documentElement.style.setProperty( + "--anzhiyu-main", + getComputedStyle(document.documentElement).getPropertyValue("--anzhiyu-theme") + ); + document.documentElement.style.setProperty( + "--anzhiyu-theme-op", + getComputedStyle(document.documentElement).getPropertyValue("--anzhiyu-main") + "23" + ); + document.documentElement.style.setProperty( + "--anzhiyu-theme-op-deep", + getComputedStyle(document.documentElement).getPropertyValue("--anzhiyu-main") + "dd" + ); + + return; + } + + // 文章内 + if (GLOBAL_CONFIG.mainTone) { + if (GLOBAL_CONFIG_SITE.postMainColor) { + let value = GLOBAL_CONFIG_SITE.postMainColor; + if (getContrastYIQ(value) === "light") { + value = LightenDarkenColor(colorHex(value), -40); + } + + root.style.setProperty("--anzhiyu-bar-background", value); + requestAnimationFrame(() => { + anzhiyu.initThemeColor(); + }); + + if (GLOBAL_CONFIG.mainTone.cover_change) { + document.documentElement.style.setProperty("--anzhiyu-main", value); + document.documentElement.style.setProperty( + "--anzhiyu-theme-op", + getComputedStyle(document.documentElement).getPropertyValue("--anzhiyu-main") + "23" + ); + document.documentElement.style.setProperty( + "--anzhiyu-theme-op-deep", + getComputedStyle(document.documentElement).getPropertyValue("--anzhiyu-main") + "dd" + ); + } + } else { + const fallbackValue = "var(--anzhiyu-theme)"; + let fetchPath = ""; + if (GLOBAL_CONFIG.mainTone.mode == "cdn" || GLOBAL_CONFIG.mainTone.mode == "both") { + fetchPath = path + "?imageAve"; + } else if (GLOBAL_CONFIG.mainTone.mode == "api") { + fetchPath = GLOBAL_CONFIG.mainTone.api + path; + } + // cdn/api模式请求 + try { + const response = await fetch(fetchPath); + if (response.ok && response.headers.get("content-type")?.includes("application/json")) { + const obj = await response.json(); + let value = + GLOBAL_CONFIG.mainTone.mode == "cdn" || GLOBAL_CONFIG.mainTone.mode == "both" + ? "#" + obj.RGB.slice(2) + : obj.RGB; + if (getContrastYIQ(value) === "light") { + value = LightenDarkenColor(colorHex(value), -40); + } + + root.style.setProperty("--anzhiyu-bar-background", value); + requestAnimationFrame(() => { + anzhiyu.initThemeColor(); + }); + + if (GLOBAL_CONFIG.mainTone.cover_change) { + document.documentElement.style.setProperty("--anzhiyu-main", value); + document.documentElement.style.setProperty( + "--anzhiyu-theme-op", + getComputedStyle(document.documentElement).getPropertyValue("--anzhiyu-main") + "23" + ); + document.documentElement.style.setProperty( + "--anzhiyu-theme-op-deep", + getComputedStyle(document.documentElement).getPropertyValue("--anzhiyu-main") + "dd" + ); + } + } else { + if (GLOBAL_CONFIG.mainTone.mode == "both") { + // both继续请求 + try { + const response = await fetch(GLOBAL_CONFIG.mainTone.api + path); + if (response.ok && response.headers.get("content-type")?.includes("application/json")) { + const obj = await response.json(); + let value = obj.RGB; + + if (getContrastYIQ(value) === "light") { + value = LightenDarkenColor(colorHex(value), -40); + } + + root.style.setProperty("--anzhiyu-bar-background", value); + requestAnimationFrame(() => { + anzhiyu.initThemeColor(); + }); + + if (GLOBAL_CONFIG.mainTone.cover_change) { + document.documentElement.style.setProperty("--anzhiyu-main", value); + document.documentElement.style.setProperty( + "--anzhiyu-theme-op", + getComputedStyle(document.documentElement).getPropertyValue("--anzhiyu-main") + "23" + ); + document.documentElement.style.setProperty( + "--anzhiyu-theme-op-deep", + getComputedStyle(document.documentElement).getPropertyValue("--anzhiyu-main") + "dd" + ); + } + } else { + root.style.setProperty("--anzhiyu-bar-background", fallbackValue); + requestAnimationFrame(() => { + anzhiyu.initThemeColor(); + }); + document.documentElement.style.setProperty("--anzhiyu-main", fallbackValue); + } + } catch { + root.style.setProperty("--anzhiyu-bar-background", fallbackValue); + requestAnimationFrame(() => { + anzhiyu.initThemeColor(); + }); + document.documentElement.style.setProperty("--anzhiyu-main", fallbackValue); + } + } else { + root.style.setProperty("--anzhiyu-bar-background", fallbackValue); + requestAnimationFrame(() => { + anzhiyu.initThemeColor(); + }); + document.documentElement.style.setProperty("--anzhiyu-main", fallbackValue); + } + } + } catch (err) { + console.error("Error fetching data:", err); + root.style.setProperty("--anzhiyu-bar-background", fallbackValue); + requestAnimationFrame(() => { + anzhiyu.initThemeColor(); + }); + document.documentElement.style.setProperty("--anzhiyu-main", fallbackValue); + } + } + } + }; + + //RGB颜色转化为16进制颜色 + const colorHex = str => { + const hexRegex = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/; + + if (/^(rgb|RGB)/.test(str)) { + const aColor = str.replace(/(?:\(|\)|rgb|RGB)*/g, "").split(","); + return aColor.reduce((acc, val) => { + const hex = Number(val).toString(16).padStart(2, "0"); + return acc + hex; + }, "#"); + } + + if (hexRegex.test(str)) { + if (str.length === 4) { + return Array.from(str.slice(1)).reduce((acc, val) => acc + val + val, "#"); + } + return str; + } + + return str; + }; + + // Lighten or darken a color + const LightenDarkenColor = (col, amt) => { + const usePound = col.startsWith("#"); + + if (usePound) { + col = col.slice(1); + } + + let num = parseInt(col, 16); + + const processColor = (colorValue, amount) => { + colorValue += amount; + return colorValue > 255 ? 255 : colorValue < 0 ? 0 : colorValue; + }; + + const r = processColor(num >> 16, amt); + const b = processColor((num >> 8) & 0x00ff, amt); + const g = processColor(num & 0x0000ff, amt); + + return (usePound ? "#" : "") + String("000000" + (g | (b << 8) | (r << 16)).toString(16)).slice(-6); + }; + + // Determine whether a color is light or dark + const getContrastYIQ = hexcolor => { + const colorRgb = color => { + const shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; + color = color.replace(shorthandRegex, (m, r, g, b) => r + r + g + g + b + b); + + const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(color); + return result ? `rgb(${parseInt(result[1], 16)}, ${parseInt(result[2], 16)}, ${parseInt(result[3], 16)})` : null; + }; + + const colorrgb = colorRgb(hexcolor); + const colors = colorrgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); + + const [_, red, green, blue] = colors; + + const brightness = (red * 299 + green * 587 + blue * 114) / 255000; + + return brightness >= 0.5 ? "light" : "dark"; + }; + + //监听跳转页面输入框是否按下回车 + const listenToPageInputPress = function () { + var input = document.getElementById("toPageText"); + if (input) { + input.addEventListener("keydown", event => { + if (event.keyCode === 13) { + // 如果按下的是回车键,则执行特定的函数 + anzhiyu.toPage(); + var link = document.getElementById("toPageButton"); + var href = link.href; + pjax.loadUrl(href); + } + }); + } + }; + + // 监听nav是否被其他音频暂停⏸️ + const listenNavMusicPause = function () { + const timer = setInterval(() => { + if (navMusicEl && navMusicEl.querySelector("#nav-music meting-js").aplayer) { + clearInterval(timer); + let msgPlay = '播放音乐'; + let msgPause = '暂停音乐'; + navMusicEl.querySelector("#nav-music meting-js").aplayer.on("pause", function () { + navMusicEl.classList.remove("playing"); + document.getElementById("menu-music-toggle").innerHTML = msgPlay; + document.getElementById("nav-music-hoverTips").innerHTML = "音乐已暂停"; + document.querySelector("#consoleMusic").classList.remove("on"); + anzhiyu_musicPlaying = false; + navMusicEl.classList.remove("stretch"); + }); + navMusicEl.querySelector("#nav-music meting-js").aplayer.on("play", function () { + navMusicEl.classList.add("playing"); + document.getElementById("menu-music-toggle").innerHTML = msgPause; + document.querySelector("#consoleMusic").classList.add("on"); + anzhiyu_musicPlaying = true; + // navMusicEl.classList.add("stretch"); + }); + } + }, 16); + }; + + // 开发者工具键盘监听 + window.onkeydown = function (e) { + 123 === e.keyCode && anzhiyu.snackbarShow("开发者模式已打开,请遵循GPL协议", !1); + }; + + // 欢迎语 + function greetingInit() { + const greetingBoxInfo = GLOBAL_CONFIG.greetingBox.list; + const greetingBoxDefault = GLOBAL_CONFIG.greetingBox.default; + //- 创建盒子 + let div = document.createElement("div"); + //- 设置ID + div.id = "greeting"; + //- 设置class + setTimeout(() => { + div.classList.add("shown"); + }, 1000); + //- 插入盒子 + let greetingBox = document.getElementById("greetingBox"); + if (!greetingBox) return; + greetingBox.appendChild(div); + const nowTime = new Date().getHours(); + let greetings = greetingBoxDefault; + for (let i = 0; i < greetingBoxInfo.length; i++) { + if (nowTime >= greetingBoxInfo[i].startTime && nowTime <= greetingBoxInfo[i].endTime) { + greetings = greetingBoxInfo[i].greeting; + break; + } + } + div.innerHTML = greetings; + setTimeout(() => { + div.classList.remove("shown"); + setTimeout(() => { + greetingBox.remove(); + }, 500); + }, 3000); + } + function statistics51aInit() { + const loadScript = (url, charset = "UTF-8", crossorigin, id) => { + return new Promise((resolve, reject) => { + const script = document.createElement("script"); + script.src = url; + script.async = true; + if (id) { + script.setAttribute("id", id); + } + if (charset) { + script.setAttribute("charset", charset); + } + if (crossorigin) { + script.setAttribute("crossorigin", crossorigin); + } + script.onerror = reject; + script.onload = script.onreadystatechange = function () { + const loadState = this.readyState; + if (loadState && loadState !== "loaded" && loadState !== "complete") return; + script.onload = script.onreadystatechange = null; + resolve(); + }; + document.head.appendChild(script); + }); + }; + + const scriptUrls = [ + { url: "https://sdk.51.la/js-sdk-pro.min.js", charset: "UTF-8", crossorigin: false, id: "LA_COLLECT" }, + { url: "https://sdk.51.la/perf/js-sdk-perf.min.js", crossorigin: "anonymous" }, + ]; + + Promise.all(scriptUrls.map(({ url, charset, crossorigin, id }) => loadScript(url, charset, crossorigin, id))) + .then(() => { + LA.init({ id: GLOBAL_CONFIG.LA51.ck, ck: GLOBAL_CONFIG.LA51.ck }); + new LingQue.Monitor().init({ id: GLOBAL_CONFIG.LA51.LingQueMonitorID, sendSuspicious: true }); + }) + .catch(error => { + console.error("加载51a统计异常,本地加载403是正常情况:", error); + }); + } + + function setInputFocusListener() { + const inputs = document.querySelectorAll("input, textarea"); + const filteredinputs = Array.from(inputs).filter(heading => { + if (heading.id !== "center-console" || heading.id !== "page-type") { + return; + } + }); + filteredinputs.forEach(input => { + input.addEventListener("focus", () => { + anzhiyu_intype = true; + }); + + input.addEventListener("blur", () => { + anzhiyu_intype = false; + }); + }); + } + + // 是否开启快捷键 + function executeShortcutKeyFunction() { + // 是否开启快捷键 + anzhiyu_keyboard = localStorage.getItem("keyboardToggle") ? localStorage.getItem("keyboardToggle") : false; + function addKeyShotListener() { + const windowObject = window; + windowObject.removeEventListener("keydown", keyDownEvent); + windowObject.removeEventListener("keyup", keyUpEvent); + windowObject.addEventListener("keydown", keyDownEvent); + windowObject.addEventListener("keyup", keyUpEvent); + } + + function keyDownEvent(event) { + const isEscapeKeyPressed = event.keyCode === 27; + const isShiftKeyPressed = event.shiftKey; + const isKeyboardEnabled = anzhiyu_keyboard; + const isInInputField = anzhiyu_intype; + + if (isEscapeKeyPressed) { + anzhiyu.hideLoading(); + anzhiyu.hideConsole(); + rm.hideRightMenu(); + } + const shortcutKeyDelay = GLOBAL_CONFIG.shortcutKey.delay ? GLOBAL_CONFIG.shortcutKey.delay : 100; + const shortcutKeyShiftDelay = GLOBAL_CONFIG.shortcutKey.shiftDelay ? GLOBAL_CONFIG.shortcutKey.shiftDelay : 200; + if (isKeyboardEnabled && isShiftKeyPressed && !isInInputField) { + anzhiyu_keyUpShiftDelayEvent_timeoutId = setTimeout(() => { + switch (event.keyCode) { + case 16: + anzhiyu_keyUpEvent_timeoutId = setTimeout(() => { + document.querySelector("#keyboard-tips").classList.add("show"); + }, shortcutKeyShiftDelay); + break; + case 65: + anzhiyu.switchConsole(); + break; + case 77: + anzhiyu.musicToggle(); + break; + case 75: + anzhiyu.keyboardToggle(); + break; + case 73: + anzhiyu.rightMenuToggle(); + break; + case 82: + toRandomPost(); + break; + case 72: + pjax.loadUrl("/"); + break; + case 68: + rightSideFn.darkmode(); + break; + case 70: + pjax.loadUrl("/fcircle/"); + break; + case 76: + pjax.loadUrl("/link/"); + break; + case 80: + pjax.loadUrl("/about/"); + break; + default: + break; + } + event.preventDefault(); + }, shortcutKeyDelay); + } + } + + window.onfocus = function () { + document.getElementById("keyboard-tips").classList.remove("show"); + }; + + function keyUpEvent(event) { + anzhiyu_keyUpEvent_timeoutId && clearTimeout(anzhiyu_keyUpEvent_timeoutId); + anzhiyu_keyUpShiftDelayEvent_timeoutId && clearTimeout(anzhiyu_keyUpShiftDelayEvent_timeoutId); + if (event.keyCode === 16) { + const keyboardTips = document.querySelector("#keyboard-tips"); + keyboardTips.classList.remove("show"); + } + } + + addKeyShotListener(); + } + + function changeDocumentTitle() { + let leaveTitle = GLOBAL_CONFIG.diytitle.leaveTitle; + let backTitle = GLOBAL_CONFIG.diytitle.backTitle; + let OriginTitile = document.title; + let titleTime; + + document.addEventListener("visibilitychange", function () { + if (document.hidden) { + //离开当前页面时标签显示内容 + document.title = leaveTitle; + clearTimeout(titleTime); + } else { + //返回当前页面时标签显示内容 + document.title = backTitle + OriginTitile; + //两秒后变回正常标题 + titleTime = setTimeout(function () { + document.title = OriginTitile; + }, 2000); + } + }); + } + + function addDarkModeEventListener(elementId, childSelector) { + const element = document.getElementById(elementId); + if (element && childSelector) { + const childElement = element.querySelector(childSelector); + childElement && childElement.addEventListener("click", rightSideFn.darkmode); + } else if (element) { + element.addEventListener("click", rightSideFn.darkmode); + } + } + + const unRefreshFn = function () { + window.addEventListener("resize", () => { + adjustMenu(false); + mobileSidebarOpen && anzhiyu.isHidden(document.getElementById("toggle-menu")) && sidebarFn.close(); + }); + + document.getElementById("menu-mask").addEventListener("click", e => { + sidebarFn.close(); + }); + + // 处理右键 + $rightMenu = document.getElementById("rightMenu"); + addDarkModeEventListener("menu-darkmode"); + addDarkModeEventListener("sidebar", ".darkmode_switchbutton"); + + clickFnOfSubMenu(); + GLOBAL_CONFIG.islazyload && lazyloadImg(); + GLOBAL_CONFIG.copyright !== undefined && addCopyright(); + GLOBAL_CONFIG.navMusic && listenNavMusicPause(); + if (GLOBAL_CONFIG.shortcutKey && document.getElementById("consoleKeyboard")) { + localStorage.setItem("keyboardToggle", "true"); + document.getElementById("consoleKeyboard").classList.add("on"); + anzhiyu_keyboard = true; + executeShortcutKeyFunction(); + } + if (GLOBAL_CONFIG.autoDarkmode) { + window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", e => { + if (saveToLocal.get("theme") !== undefined) return; + e.matches ? handleThemeChange("dark") : handleThemeChange("light"); + }); + } + // 欢迎语 + GLOBAL_CONFIG.greetingBox && greetingInit(); + // 51la统计&灵雀统计 + GLOBAL_CONFIG.LA51 && statistics51aInit(); + }; + + window.refreshFn = function () { + initAdjust(); + themeColorMeta = document.querySelector('meta[name="theme-color"]'); + pageHeaderEl = document.getElementById("page-header"); + navMusicEl = document.getElementById("nav-music"); + consoleEl = document.getElementById("console"); + + addDarkModeEventListener("console", ".darkmode_switchbutton"); + + if (GLOBAL_CONFIG_SITE.isPost) { + GLOBAL_CONFIG.noticeOutdate !== undefined && addPostOutdateNotice(); + GLOBAL_CONFIG.relativeDate.post && relativeDate(document.querySelectorAll("#post-meta time")); + } else { + if (GLOBAL_CONFIG.relativeDate.homepage) { + relativeDate(document.querySelectorAll("#recent-posts time")); + } else if (GLOBAL_CONFIG.relativeDate.simplehomepage) { + relativeDate(document.querySelectorAll("#recent-posts time"), true); + } + GLOBAL_CONFIG.runtime && addRuntime(); + addLastPushDate(); + toggleCardCategory(); + } + + GLOBAL_CONFIG.diytitle && changeDocumentTitle(); + scrollFnToDo(); + GLOBAL_CONFIG_SITE.isHome && scrollDownInIndex(); + addHighlightTool(); + GLOBAL_CONFIG.isPhotoFigcaption && addPhotoFigcaption(); + scrollFn(); + + // 刷新时第一次滚动百分比 + window.scrollCollect && window.scrollCollect(); + + const $jgEle = document.querySelectorAll("#content-inner .fj-gallery"); + $jgEle.length && runJustifiedGallery($jgEle); + + runLightbox(); + addTableWrap(); + clickFnOfTagHide(); + tabsFn(); + switchComments(); + document.getElementById("toggle-menu").addEventListener("click", () => { + sidebarFn.open(); + }); + + // 如果当前页有评论就执行函数 + if (document.getElementById("post-comment")) owoBig(); + + mouseleaveHomeCard(); + coverColor(); + listenToPageInputPress(); + openMobileMenu(); + + // needRefresh + // nav中间的标题变化 + document.getElementById("page-name").innerText = document.title.split(` | ${GLOBAL_CONFIG_SITE.configTitle}`)[0]; + anzhiyu.initIndexEssay(); + anzhiyu.changeTimeInEssay(); + anzhiyu.removeBodyPaceClass(); + anzhiyu.qrcodeCreate(); + anzhiyu.changeTimeInAlbumDetail(); + anzhiyu.reflashEssayWaterFall(); + anzhiyu.sayhi(); + anzhiyu.stopImgRightDrag(); + anzhiyu.addNavBackgroundInit(); + anzhiyu.setValueToBodyType(); + anzhiyu.catalogActive(); + anzhiyu.tagsPageActive(); + anzhiyu.categoriesBarActive(); + anzhiyu.topCategoriesBarScroll(); + anzhiyu.switchRightClickMenuHotReview(); + anzhiyu.getCustomPlayList(); + anzhiyu.addEventListenerConsoleMusicList(false); + anzhiyu.initPaginationObserver(); + + setTimeout(() => { + setInputFocusListener(); + if (typeof addFriendLinksInFooter === "function") { + addFriendLinksInFooter(); + } + }, 200); + }; + + refreshFn(); + unRefreshFn(); +}); diff --git a/js/search/algolia.js b/js/search/algolia.js new file mode 100644 index 000000000..e004701b3 --- /dev/null +++ b/js/search/algolia.js @@ -0,0 +1,192 @@ +window.addEventListener("load", () => { + const $searchMask = document.getElementById("search-mask"); + const $searchDialog = document.querySelector("#algolia-search .search-dialog"); + + const openSearch = () => { + anzhiyu.animateIn($searchMask, "to_show 0.5s"); + $searchDialog.style.display = "block"; + setTimeout(() => { + document.querySelector("#algolia-search .ais-SearchBox-input").focus(); + }, 100); + + // shortcut: ESC + document.addEventListener("keydown", function f(event) { + if (event.code === "Escape") { + closeSearch(); + document.removeEventListener("keydown", f); + } + }); + + fixSafariHeight(); + window.addEventListener("resize", fixSafariHeight); + }; + + // shortcut: shift+S + if (anzhiyu_keyboard) { + window.addEventListener("keydown", function (event) { + if (event.keyCode == 83 && event.shiftKey) { + console.info(selectTextNow); + if (selectTextNow) { + openSearch(); + const t = document.querySelector("#algolia-search-input > div > form > input"); + t.value = selectTextNow; + t.dispatchEvent(new Event("input")); + setTimeout(() => { + document.querySelector("#algolia-search-input > div > form > button.ais-SearchBox-submit").click(); + }, 64); + } else { + openSearch(); + } + + return false; + } + }); + } + + const closeSearch = () => { + anzhiyu.animateOut($searchDialog, "search_close .5s"); + anzhiyu.animateOut($searchMask, "to_hide 0.5s"); + window.removeEventListener("resize", fixSafariHeight); + }; + + // fix safari + const fixSafariHeight = () => { + if (window.innerWidth < 768) { + $searchDialog.style.setProperty("--search-height", window.innerHeight + "px"); + } + }; + + const searchClickFn = () => { + anzhiyu.addEventListenerPjax(document.querySelector("#search-button > .search"), "click", openSearch); + }; + + const searchFnOnce = () => { + $searchMask.addEventListener("click", closeSearch); + document.querySelector("#algolia-search .search-close-button").addEventListener("click", closeSearch); + }; + + const algolia = GLOBAL_CONFIG.algolia; + const isAlgoliaValid = algolia.appId && algolia.apiKey && algolia.indexName; + if (!isAlgoliaValid) { + return console.error("Algolia setting is invalid!"); + } + + const search = instantsearch({ + indexName: algolia.indexName, + /* global algoliasearch */ + searchClient: algoliasearch(algolia.appId, algolia.apiKey), + searchFunction(helper) { + if (helper.state.query) { + let innerLoading = ''; + document.getElementById("algolia-hits").innerHTML = innerLoading; + helper.search(); + } + }, + }); + + const configure = instantsearch.widgets.configure({ + hitsPerPage: algolia.hits.per_page ?? 5, + }); + + const searchBox = instantsearch.widgets.searchBox({ + container: "#algolia-search-input", + showReset: false, + showSubmit: false, + placeholder: algolia.languages.input_placeholder, + showLoadingIndicator: true, + searchOnEnterKeyPressOnly: true, + searchAsYouType: false, + }); + + const hits = instantsearch.widgets.hits({ + container: "#algolia-hits", + templates: { + item(data) { + const link = data.permalink ? data.permalink : GLOBAL_CONFIG.root + data.path; + const result = data._highlightResult; + const loadingLogo = document.querySelector("#algolia-hits .anzhiyu-spin"); + if (loadingLogo) { + loadingLogo.style.display = "none"; + } + setTimeout(() => { + document.querySelector("#algolia-search .ais-SearchBox-input").focus(); + }, 200); + return ` + + ${result.title.value || "no-title"} + `; + }, + empty: function (data) { + const loadingLogo = document.querySelector("#algolia-hits .anzhiyu-spin"); + console.info(loadingLogo); + if (loadingLogo) { + loadingLogo.style.display = "none"; + } + setTimeout(() => { + document.querySelector("#algolia-search .ais-SearchBox-input").focus(); + }, 200); + return ( + '
    ' + + GLOBAL_CONFIG.algolia.languages.hits_empty.replace(/\$\{query}/, data.query) + + "
    " + ); + }, + }, + cssClasses: { + item: "algolia-hit-item", + }, + }); + + const stats = instantsearch.widgets.stats({ + container: "#algolia-info > .algolia-stats", + templates: { + text: function (data) { + const stats = GLOBAL_CONFIG.algolia.languages.hits_stats + .replace(/\$\{hits}/, data.nbHits) + .replace(/\$\{time}/, data.processingTimeMS); + return `
    ${stats}`; + }, + }, + }); + + const powerBy = instantsearch.widgets.poweredBy({ + container: "#algolia-info > .algolia-poweredBy", + }); + + const pagination = instantsearch.widgets.pagination({ + container: "#algolia-pagination", + totalPages: algolia.hits.per_page ?? 5, + templates: { + first: '', + last: '', + previous: '', + next: '', + }, + scrollTo: false, + showFirstLast: false, + cssClasses: { + root: "pagination", + item: "pagination-item", + link: "page-number", + active: "current", + disabled: "disabled-item", + }, + }); + + search.addWidgets([configure, searchBox, hits, stats, powerBy, pagination]); // add the widgets to the instantsearch instance + + search.start(); + + searchClickFn(); + searchFnOnce(); + + window.addEventListener("pjax:complete", () => { + !anzhiyu.isHidden($searchMask) && closeSearch(); + searchClickFn(); + }); + + window.pjax && + search.on("render", () => { + window.pjax.refresh(document.getElementById("algolia-hits")); + }); +}); diff --git a/js/search/local-search.js b/js/search/local-search.js new file mode 100644 index 000000000..44b5d62ff --- /dev/null +++ b/js/search/local-search.js @@ -0,0 +1,270 @@ +window.addEventListener("load", () => { + let loadFlag = false; + let dataObj = []; + const $searchMask = document.getElementById("search-mask"); + + const openSearch = () => { + const bodyStyle = document.body.style; + bodyStyle.width = "100%"; + bodyStyle.overflow = "hidden"; + anzhiyu.animateIn($searchMask, "to_show 0.5s"); + anzhiyu.animateIn(document.querySelector("#local-search .search-dialog"), "titleScale 0.5s"); + setTimeout(() => { + document.querySelector("#local-search-input input").focus(); + }, 100); + if (!loadFlag) { + search(); + loadFlag = true; + } + // shortcut: ESC + document.addEventListener("keydown", function f(event) { + if (event.code === "Escape") { + closeSearch(); + document.removeEventListener("keydown", f); + } + }); + }; + + const closeSearch = () => { + const bodyStyle = document.body.style; + bodyStyle.width = ""; + bodyStyle.overflow = ""; + anzhiyu.animateOut(document.querySelector("#local-search .search-dialog"), "search_close .5s"); + anzhiyu.animateOut($searchMask, "to_hide 0.5s"); + }; + + const searchClickFn = () => { + document.querySelector("#search-button > .search").addEventListener("click", openSearch); + document.querySelector("#menu-search").addEventListener("click", openSearch); + }; + + const searchClickFnOnce = () => { + document.querySelector("#local-search .search-close-button").addEventListener("click", closeSearch); + $searchMask.addEventListener("click", closeSearch); + if (GLOBAL_CONFIG.localSearch.preload) dataObj = fetchData(GLOBAL_CONFIG.localSearch.path); + }; + + // check url is json or not + const isJson = url => { + const reg = /\.json$/; + return reg.test(url); + }; + + const fetchData = async path => { + let data = []; + const response = await fetch(path); + if (isJson(path)) { + data = await response.json(); + } else { + const res = await response.text(); + const t = await new window.DOMParser().parseFromString(res, "text/xml"); + const a = await t; + + data = [...a.querySelectorAll("entry")].map(item => { + let tagsArr = []; + if (item.querySelector("tags") && item.querySelector("tags").getElementsByTagName("tag")) { + Array.prototype.forEach.call(item.querySelector("tags").getElementsByTagName("tag"), function (item, index) { + tagsArr.push(item.textContent); + }); + } + let content = item.querySelector("content") && item.querySelector("content").textContent; + let imgReg = /|\/>)/gi; //匹配图片中的img标签 + let srcReg = /src=[\'\"]?([^\'\"]*)[\'\"]?/i; // 匹配图片中的src + let arr = content.match(imgReg); //筛选出所有的img + + let srcArr = []; + if (arr) { + for (let i = 0; i < arr.length; i++) { + let src = arr[i].match(srcReg); + // 获取图片地址 + if (!src[1].indexOf("http")) srcArr.push(src[1]); + } + } + + return { + title: item.querySelector("title").textContent, + content: content, + url: item.querySelector("url").textContent, + tags: tagsArr, + oneImage: srcArr && srcArr[0], + }; + }); + } + if (response.ok) { + const $loadDataItem = document.getElementById("loading-database"); + $loadDataItem.nextElementSibling.style.display = "block"; + $loadDataItem.remove(); + } + return data; + }; + + const search = () => { + if (!GLOBAL_CONFIG.localSearch.preload) { + dataObj = fetchData(GLOBAL_CONFIG.localSearch.path); + } + const $input = document.querySelector("#local-search-input input"); + const $resultContent = document.getElementById("local-search-results"); + const $loadingStatus = document.getElementById("loading-status"); + + $input.addEventListener("input", function () { + const keywords = this.value.trim().toLowerCase().split(/[\s]+/); + if (keywords[0] !== "") + $loadingStatus.innerHTML = ''; + + $resultContent.innerHTML = ""; + let str = '
    '; + if (keywords.length <= 0) return; + let count = 0; + // perform local searching + dataObj.then(data => { + data.forEach(data => { + let isMatch = true; + let dataTitle = data.title ? data.title.trim().toLowerCase() : ""; + let dataTags = data.tags; + let oneImage = data.oneImage ?? ""; + const dataContent = data.content + ? data.content + .trim() + .replace(/<[^>]+>/g, "") + .toLowerCase() + : ""; + const dataUrl = data.url.startsWith("/") ? data.url : GLOBAL_CONFIG.root + data.url; + let indexTitle = -1; + let indexContent = -1; + let firstOccur = -1; + // only match articles with not empty titles and contents + if (dataTitle !== "" || dataContent !== "") { + keywords.forEach((keyword, i) => { + indexTitle = dataTitle.indexOf(keyword); + indexContent = dataContent.indexOf(keyword); + if (indexTitle < 0 && indexContent < 0) { + isMatch = false; + } else { + if (indexContent < 0) { + indexContent = 0; + } + if (i === 0) { + firstOccur = indexContent; + } + } + }); + } else { + isMatch = false; + } + + // show search results + if (isMatch) { + if (firstOccur >= 0) { + // cut out 130 characters + // let start = firstOccur - 30 < 0 ? 0 : firstOccur - 30 + // let end = firstOccur + 50 > dataContent.length ? dataContent.length : firstOccur + 50 + let start = firstOccur - 30; + let end = firstOccur + 100; + let pre = ""; + let post = ""; + + if (start < 0) { + start = 0; + } + + if (start === 0) { + end = 100; + } else { + pre = "..."; + } + + if (end > dataContent.length) { + end = dataContent.length; + } else { + post = "..."; + } + + let matchContent = dataContent.substring(start, end); + + // highlight all keywords + keywords.forEach(keyword => { + const regS = new RegExp(keyword, "gi"); + matchContent = matchContent.replace(regS, '' + keyword + ""); + dataTitle = dataTitle.replace(regS, '' + keyword + ""); + }); + + str += '
    '; + if (oneImage) { + str += `
    ${dataTitle}`; + } else { + str += '
    '; + } + + str += "
    "; + + if (oneImage) { + str += + '
    ' + + dataTitle + + ""; + } else { + str += + '
    ' + + dataTitle + + ""; + } + + count += 1; + + if (dataContent !== "") { + str += + '

    ' + + pre + + matchContent + + post + + "

    "; + } + if (dataTags.length) { + str += '
    '; + + for (let i = 0; i < dataTags.length; i++) { + const element = dataTags[i].trim(); + + str += + '#' + + element + + ""; + } + + str += "
    "; + } + } + str += "
    "; + } + }); + if (count === 0) { + str += + '
    ' + + GLOBAL_CONFIG.localSearch.languages.hits_empty.replace(/\$\{query}/, this.value.trim()) + + "
    "; + } + str += "
    "; + $resultContent.innerHTML = str; + if (keywords[0] !== "") $loadingStatus.innerHTML = ""; + window.pjax && window.pjax.refresh($resultContent); + }); + }); + }; + + searchClickFn(); + searchClickFnOnce(); + + // pjax + window.addEventListener("pjax:complete", () => { + !anzhiyu.isHidden($searchMask) && closeSearch(); + searchClickFn(); + }); +}); diff --git a/js/tw_cn.js b/js/tw_cn.js new file mode 100644 index 000000000..86a0d7b03 --- /dev/null +++ b/js/tw_cn.js @@ -0,0 +1,130 @@ +document.addEventListener('DOMContentLoaded', function () { + const { defaultEncoding, translateDelay, msgToTraditionalChinese, msgToSimplifiedChinese } = GLOBAL_CONFIG.translate + const snackbarData = GLOBAL_CONFIG.Snackbar + let currentEncoding = defaultEncoding + const targetEncodingCookie = 'translate-chn-cht' + let targetEncoding = + saveToLocal.get(targetEncodingCookie) === undefined + ? defaultEncoding + : Number(saveToLocal.get('translate-chn-cht')) + let translateButtonObject, translateRightMenuButtonObject; + const isSnackbar = snackbarData !== undefined + + function setLang () { + document.documentElement.lang = targetEncoding === 1 ? 'zh-TW' : 'zh-CN' + } + + function translateText (txt) { + if (txt === '' || txt == null) return '' + if (currentEncoding === 1 && targetEncoding === 2) return Simplized(txt) + else if (currentEncoding === 2 && targetEncoding === 1) { + return Traditionalized(txt) + } else return txt + } + + function translateBody (fobj) { + let objs + if (typeof fobj === 'object') objs = fobj.childNodes + else objs = document.body.childNodes + for (let i = 0; i < objs.length; i++) { + const obj = objs.item(i) + if ( + '||BR|HR|'.indexOf('|' + obj.tagName + '|') > 0 || + obj === translateButtonObject + ) { + continue + } + if (obj.title !== '' && obj.title != null) { + obj.title = translateText(obj.title) + } + if (obj.alt !== '' && obj.alt != null) obj.alt = translateText(obj.alt) + if (obj.placeholder !== '' && obj.placeholder != null) { obj.placeholder = translateText(obj.placeholder) } + if ( + obj.tagName === 'INPUT' && + obj.value !== '' && + obj.type !== 'text' && + obj.type !== 'hidden' + ) { + obj.value = translateText(obj.value) + } + if (obj.nodeType === 3) obj.data = translateText(obj.data) + else translateBody(obj) + } + } + function translatePage () { + if (targetEncoding === 1) { + currentEncoding = 1 + targetEncoding = 2 + translateButtonObject.textContent = msgToTraditionalChinese + isSnackbar && anzhiyu.snackbarShow(snackbarData.cht_to_chs) + } else if (targetEncoding === 2) { + currentEncoding = 2 + targetEncoding = 1 + translateButtonObject.textContent = msgToSimplifiedChinese + isSnackbar && anzhiyu.snackbarShow(snackbarData.chs_to_cht) + } + saveToLocal.set(targetEncodingCookie, targetEncoding, 2) + setLang() + translateBody() + } + + function JTPYStr () { + return '万与丑专业丛东丝丢两严丧个丬丰临为丽举么义乌乐乔习乡书买乱争于亏云亘亚产亩亲亵亸亿仅从仑仓仪们价众优伙会伛伞伟传伤伥伦伧伪伫体余佣佥侠侣侥侦侧侨侩侪侬俣俦俨俩俪俭债倾偬偻偾偿傥傧储傩儿兑兖党兰关兴兹养兽冁内冈册写军农冢冯冲决况冻净凄凉凌减凑凛几凤凫凭凯击凼凿刍划刘则刚创删别刬刭刽刿剀剂剐剑剥剧劝办务劢动励劲劳势勋勐勚匀匦匮区医华协单卖卢卤卧卫却卺厂厅历厉压厌厍厕厢厣厦厨厩厮县参叆叇双发变叙叠叶号叹叽吁后吓吕吗吣吨听启吴呒呓呕呖呗员呙呛呜咏咔咙咛咝咤咴咸哌响哑哒哓哔哕哗哙哜哝哟唛唝唠唡唢唣唤唿啧啬啭啮啰啴啸喷喽喾嗫呵嗳嘘嘤嘱噜噼嚣嚯团园囱围囵国图圆圣圹场坂坏块坚坛坜坝坞坟坠垄垅垆垒垦垧垩垫垭垯垱垲垴埘埙埚埝埯堑堕塆墙壮声壳壶壸处备复够头夸夹夺奁奂奋奖奥妆妇妈妩妪妫姗姜娄娅娆娇娈娱娲娴婳婴婵婶媪嫒嫔嫱嬷孙学孪宁宝实宠审宪宫宽宾寝对寻导寿将尔尘尧尴尸尽层屃屉届属屡屦屿岁岂岖岗岘岙岚岛岭岳岽岿峃峄峡峣峤峥峦崂崃崄崭嵘嵚嵛嵝嵴巅巩巯币帅师帏帐帘帜带帧帮帱帻帼幂幞干并广庄庆庐庑库应庙庞废庼廪开异弃张弥弪弯弹强归当录彟彦彻径徕御忆忏忧忾怀态怂怃怄怅怆怜总怼怿恋恳恶恸恹恺恻恼恽悦悫悬悭悯惊惧惨惩惫惬惭惮惯愍愠愤愦愿慑慭憷懑懒懔戆戋戏戗战戬户扎扑扦执扩扪扫扬扰抚抛抟抠抡抢护报担拟拢拣拥拦拧拨择挂挚挛挜挝挞挟挠挡挢挣挤挥挦捞损捡换捣据捻掳掴掷掸掺掼揸揽揿搀搁搂搅携摄摅摆摇摈摊撄撑撵撷撸撺擞攒敌敛数斋斓斗斩断无旧时旷旸昙昼昽显晋晒晓晔晕晖暂暧札术朴机杀杂权条来杨杩杰极构枞枢枣枥枧枨枪枫枭柜柠柽栀栅标栈栉栊栋栌栎栏树栖样栾桊桠桡桢档桤桥桦桧桨桩梦梼梾检棂椁椟椠椤椭楼榄榇榈榉槚槛槟槠横樯樱橥橱橹橼檐檩欢欤欧歼殁殇残殒殓殚殡殴毁毂毕毙毡毵氇气氢氩氲汇汉污汤汹沓沟没沣沤沥沦沧沨沩沪沵泞泪泶泷泸泺泻泼泽泾洁洒洼浃浅浆浇浈浉浊测浍济浏浐浑浒浓浔浕涂涌涛涝涞涟涠涡涢涣涤润涧涨涩淀渊渌渍渎渐渑渔渖渗温游湾湿溃溅溆溇滗滚滞滟滠满滢滤滥滦滨滩滪漤潆潇潋潍潜潴澜濑濒灏灭灯灵灾灿炀炉炖炜炝点炼炽烁烂烃烛烟烦烧烨烩烫烬热焕焖焘煅煳熘爱爷牍牦牵牺犊犟状犷犸犹狈狍狝狞独狭狮狯狰狱狲猃猎猕猡猪猫猬献獭玑玙玚玛玮环现玱玺珉珏珐珑珰珲琎琏琐琼瑶瑷璇璎瓒瓮瓯电画畅畲畴疖疗疟疠疡疬疮疯疱疴痈痉痒痖痨痪痫痴瘅瘆瘗瘘瘪瘫瘾瘿癞癣癫癯皑皱皲盏盐监盖盗盘眍眦眬着睁睐睑瞒瞩矫矶矾矿砀码砖砗砚砜砺砻砾础硁硅硕硖硗硙硚确硷碍碛碜碱碹磙礼祎祢祯祷祸禀禄禅离秃秆种积称秽秾稆税稣稳穑穷窃窍窑窜窝窥窦窭竖竞笃笋笔笕笺笼笾筑筚筛筜筝筹签简箓箦箧箨箩箪箫篑篓篮篱簖籁籴类籼粜粝粤粪粮糁糇紧絷纟纠纡红纣纤纥约级纨纩纪纫纬纭纮纯纰纱纲纳纴纵纶纷纸纹纺纻纼纽纾线绀绁绂练组绅细织终绉绊绋绌绍绎经绐绑绒结绔绕绖绗绘给绚绛络绝绞统绠绡绢绣绤绥绦继绨绩绪绫绬续绮绯绰绱绲绳维绵绶绷绸绹绺绻综绽绾绿缀缁缂缃缄缅缆缇缈缉缊缋缌缍缎缏缐缑缒缓缔缕编缗缘缙缚缛缜缝缞缟缠缡缢缣缤缥缦缧缨缩缪缫缬缭缮缯缰缱缲缳缴缵罂网罗罚罢罴羁羟羡翘翙翚耢耧耸耻聂聋职聍联聩聪肃肠肤肷肾肿胀胁胆胜胧胨胪胫胶脉脍脏脐脑脓脔脚脱脶脸腊腌腘腭腻腼腽腾膑臜舆舣舰舱舻艰艳艹艺节芈芗芜芦苁苇苈苋苌苍苎苏苘苹茎茏茑茔茕茧荆荐荙荚荛荜荞荟荠荡荣荤荥荦荧荨荩荪荫荬荭荮药莅莜莱莲莳莴莶获莸莹莺莼萚萝萤营萦萧萨葱蒇蒉蒋蒌蓝蓟蓠蓣蓥蓦蔷蔹蔺蔼蕲蕴薮藁藓虏虑虚虫虬虮虽虾虿蚀蚁蚂蚕蚝蚬蛊蛎蛏蛮蛰蛱蛲蛳蛴蜕蜗蜡蝇蝈蝉蝎蝼蝾螀螨蟏衅衔补衬衮袄袅袆袜袭袯装裆裈裢裣裤裥褛褴襁襕见观觃规觅视觇览觉觊觋觌觍觎觏觐觑觞触觯詟誉誊讠计订讣认讥讦讧讨让讪讫训议讯记讱讲讳讴讵讶讷许讹论讻讼讽设访诀证诂诃评诅识诇诈诉诊诋诌词诎诏诐译诒诓诔试诖诗诘诙诚诛诜话诞诟诠诡询诣诤该详诧诨诩诪诫诬语诮误诰诱诲诳说诵诶请诸诹诺读诼诽课诿谀谁谂调谄谅谆谇谈谊谋谌谍谎谏谐谑谒谓谔谕谖谗谘谙谚谛谜谝谞谟谠谡谢谣谤谥谦谧谨谩谪谫谬谭谮谯谰谱谲谳谴谵谶谷豮贝贞负贠贡财责贤败账货质贩贪贫贬购贮贯贰贱贲贳贴贵贶贷贸费贺贻贼贽贾贿赀赁赂赃资赅赆赇赈赉赊赋赌赍赎赏赐赑赒赓赔赕赖赗赘赙赚赛赜赝赞赟赠赡赢赣赪赵赶趋趱趸跃跄跖跞践跶跷跸跹跻踊踌踪踬踯蹑蹒蹰蹿躏躜躯车轧轨轩轪轫转轭轮软轰轱轲轳轴轵轶轷轸轹轺轻轼载轾轿辀辁辂较辄辅辆辇辈辉辊辋辌辍辎辏辐辑辒输辔辕辖辗辘辙辚辞辩辫边辽达迁过迈运还这进远违连迟迩迳迹适选逊递逦逻遗遥邓邝邬邮邹邺邻郁郄郏郐郑郓郦郧郸酝酦酱酽酾酿释里鉅鉴銮錾钆钇针钉钊钋钌钍钎钏钐钑钒钓钔钕钖钗钘钙钚钛钝钞钟钠钡钢钣钤钥钦钧钨钩钪钫钬钭钮钯钰钱钲钳钴钵钶钷钸钹钺钻钼钽钾钿铀铁铂铃铄铅铆铈铉铊铋铍铎铏铐铑铒铕铗铘铙铚铛铜铝铞铟铠铡铢铣铤铥铦铧铨铪铫铬铭铮铯铰铱铲铳铴铵银铷铸铹铺铻铼铽链铿销锁锂锃锄锅锆锇锈锉锊锋锌锍锎锏锐锑锒锓锔锕锖锗错锚锜锞锟锠锡锢锣锤锥锦锨锩锫锬锭键锯锰锱锲锳锴锵锶锷锸锹锺锻锼锽锾锿镀镁镂镃镆镇镈镉镊镌镍镎镏镐镑镒镕镖镗镙镚镛镜镝镞镟镠镡镢镣镤镥镦镧镨镩镪镫镬镭镮镯镰镱镲镳镴镶长门闩闪闫闬闭问闯闰闱闲闳间闵闶闷闸闹闺闻闼闽闾闿阀阁阂阃阄阅阆阇阈阉阊阋阌阍阎阏阐阑阒阓阔阕阖阗阘阙阚阛队阳阴阵阶际陆陇陈陉陕陧陨险随隐隶隽难雏雠雳雾霁霉霭靓静靥鞑鞒鞯鞴韦韧韨韩韪韫韬韵页顶顷顸项顺须顼顽顾顿颀颁颂颃预颅领颇颈颉颊颋颌颍颎颏颐频颒颓颔颕颖颗题颙颚颛颜额颞颟颠颡颢颣颤颥颦颧风飏飐飑飒飓飔飕飖飗飘飙飚飞飨餍饤饥饦饧饨饩饪饫饬饭饮饯饰饱饲饳饴饵饶饷饸饹饺饻饼饽饾饿馀馁馂馃馄馅馆馇馈馉馊馋馌馍馎馏馐馑馒馓馔馕马驭驮驯驰驱驲驳驴驵驶驷驸驹驺驻驼驽驾驿骀骁骂骃骄骅骆骇骈骉骊骋验骍骎骏骐骑骒骓骔骕骖骗骘骙骚骛骜骝骞骟骠骡骢骣骤骥骦骧髅髋髌鬓魇魉鱼鱽鱾鱿鲀鲁鲂鲄鲅鲆鲇鲈鲉鲊鲋鲌鲍鲎鲏鲐鲑鲒鲓鲔鲕鲖鲗鲘鲙鲚鲛鲜鲝鲞鲟鲠鲡鲢鲣鲤鲥鲦鲧鲨鲩鲪鲫鲬鲭鲮鲯鲰鲱鲲鲳鲴鲵鲶鲷鲸鲹鲺鲻鲼鲽鲾鲿鳀鳁鳂鳃鳄鳅鳆鳇鳈鳉鳊鳋鳌鳍鳎鳏鳐鳑鳒鳓鳔鳕鳖鳗鳘鳙鳛鳜鳝鳞鳟鳠鳡鳢鳣鸟鸠鸡鸢鸣鸤鸥鸦鸧鸨鸩鸪鸫鸬鸭鸮鸯鸰鸱鸲鸳鸴鸵鸶鸷鸸鸹鸺鸻鸼鸽鸾鸿鹀鹁鹂鹃鹄鹅鹆鹇鹈鹉鹊鹋鹌鹍鹎鹏鹐鹑鹒鹓鹔鹕鹖鹗鹘鹚鹛鹜鹝鹞鹟鹠鹡鹢鹣鹤鹥鹦鹧鹨鹩鹪鹫鹬鹭鹯鹰鹱鹲鹳鹴鹾麦麸黄黉黡黩黪黾龙历志制一台皋准复猛钟注范签' + } + function FTPYStr () { + return '萬與醜專業叢東絲丟兩嚴喪個爿豐臨為麗舉麼義烏樂喬習鄉書買亂爭於虧雲亙亞產畝親褻嚲億僅從侖倉儀們價眾優夥會傴傘偉傳傷倀倫傖偽佇體餘傭僉俠侶僥偵側僑儈儕儂俁儔儼倆儷儉債傾傯僂僨償儻儐儲儺兒兌兗黨蘭關興茲養獸囅內岡冊寫軍農塚馮衝決況凍淨淒涼淩減湊凜幾鳳鳧憑凱擊氹鑿芻劃劉則剛創刪別剗剄劊劌剴劑剮劍剝劇勸辦務勱動勵勁勞勢勳猛勩勻匭匱區醫華協單賣盧鹵臥衛卻巹廠廳曆厲壓厭厙廁廂厴廈廚廄廝縣參靉靆雙發變敘疊葉號歎嘰籲後嚇呂嗎唚噸聽啟吳嘸囈嘔嚦唄員咼嗆嗚詠哢嚨嚀噝吒噅鹹呱響啞噠嘵嗶噦嘩噲嚌噥喲嘜嗊嘮啢嗩唕喚呼嘖嗇囀齧囉嘽嘯噴嘍嚳囁嗬噯噓嚶囑嚕劈囂謔團園囪圍圇國圖圓聖壙場阪壞塊堅壇壢壩塢墳墜壟壟壚壘墾坰堊墊埡墶壋塏堖塒塤堝墊垵塹墮壪牆壯聲殼壺壼處備複夠頭誇夾奪奩奐奮獎奧妝婦媽嫵嫗媯姍薑婁婭嬈嬌孌娛媧嫻嫿嬰嬋嬸媼嬡嬪嬙嬤孫學孿寧寶實寵審憲宮寬賓寢對尋導壽將爾塵堯尷屍盡層屭屜屆屬屢屨嶼歲豈嶇崗峴嶴嵐島嶺嶽崠巋嶨嶧峽嶢嶠崢巒嶗崍嶮嶄嶸嶔崳嶁脊巔鞏巰幣帥師幃帳簾幟帶幀幫幬幘幗冪襆幹並廣莊慶廬廡庫應廟龐廢廎廩開異棄張彌弳彎彈強歸當錄彠彥徹徑徠禦憶懺憂愾懷態慫憮慪悵愴憐總懟懌戀懇惡慟懨愷惻惱惲悅愨懸慳憫驚懼慘懲憊愜慚憚慣湣慍憤憒願懾憖怵懣懶懍戇戔戲戧戰戩戶紮撲扡執擴捫掃揚擾撫拋摶摳掄搶護報擔擬攏揀擁攔擰撥擇掛摯攣掗撾撻挾撓擋撟掙擠揮撏撈損撿換搗據撚擄摑擲撣摻摜摣攬撳攙擱摟攪攜攝攄擺搖擯攤攖撐攆擷擼攛擻攢敵斂數齋斕鬥斬斷無舊時曠暘曇晝曨顯晉曬曉曄暈暉暫曖劄術樸機殺雜權條來楊榪傑極構樅樞棗櫪梘棖槍楓梟櫃檸檉梔柵標棧櫛櫳棟櫨櫟欄樹棲樣欒棬椏橈楨檔榿橋樺檜槳樁夢檮棶檢欞槨櫝槧欏橢樓欖櫬櫚櫸檟檻檳櫧橫檣櫻櫫櫥櫓櫞簷檁歡歟歐殲歿殤殘殞殮殫殯毆毀轂畢斃氈毿氌氣氫氬氳彙漢汙湯洶遝溝沒灃漚瀝淪滄渢溈滬濔濘淚澩瀧瀘濼瀉潑澤涇潔灑窪浹淺漿澆湞溮濁測澮濟瀏滻渾滸濃潯濜塗湧濤澇淶漣潿渦溳渙滌潤澗漲澀澱淵淥漬瀆漸澠漁瀋滲溫遊灣濕潰濺漵漊潷滾滯灩灄滿瀅濾濫灤濱灘澦濫瀠瀟瀲濰潛瀦瀾瀨瀕灝滅燈靈災燦煬爐燉煒熗點煉熾爍爛烴燭煙煩燒燁燴燙燼熱煥燜燾煆糊溜愛爺牘犛牽犧犢強狀獷獁猶狽麅獮獰獨狹獅獪猙獄猻獫獵獼玀豬貓蝟獻獺璣璵瑒瑪瑋環現瑲璽瑉玨琺瓏璫琿璡璉瑣瓊瑤璦璿瓔瓚甕甌電畫暢佘疇癤療瘧癘瘍鬁瘡瘋皰屙癰痙癢瘂癆瘓癇癡癉瘮瘞瘺癟癱癮癭癩癬癲臒皚皺皸盞鹽監蓋盜盤瞘眥矓著睜睞瞼瞞矚矯磯礬礦碭碼磚硨硯碸礪礱礫礎硜矽碩硤磽磑礄確鹼礙磧磣堿镟滾禮禕禰禎禱禍稟祿禪離禿稈種積稱穢穠穭稅穌穩穡窮竊竅窯竄窩窺竇窶豎競篤筍筆筧箋籠籩築篳篩簹箏籌簽簡籙簀篋籜籮簞簫簣簍籃籬籪籟糴類秈糶糲粵糞糧糝餱緊縶糸糾紆紅紂纖紇約級紈纊紀紉緯紜紘純紕紗綱納紝縱綸紛紙紋紡紵紖紐紓線紺絏紱練組紳細織終縐絆紼絀紹繹經紿綁絨結絝繞絰絎繪給絢絳絡絕絞統綆綃絹繡綌綏絛繼綈績緒綾緓續綺緋綽緔緄繩維綿綬繃綢綯綹綣綜綻綰綠綴緇緙緗緘緬纜緹緲緝縕繢緦綞緞緶線緱縋緩締縷編緡緣縉縛縟縝縫縗縞纏縭縊縑繽縹縵縲纓縮繆繅纈繚繕繒韁繾繰繯繳纘罌網羅罰罷羆羈羥羨翹翽翬耮耬聳恥聶聾職聹聯聵聰肅腸膚膁腎腫脹脅膽勝朧腖臚脛膠脈膾髒臍腦膿臠腳脫腡臉臘醃膕齶膩靦膃騰臏臢輿艤艦艙艫艱豔艸藝節羋薌蕪蘆蓯葦藶莧萇蒼苧蘇檾蘋莖蘢蔦塋煢繭荊薦薘莢蕘蓽蕎薈薺蕩榮葷滎犖熒蕁藎蓀蔭蕒葒葤藥蒞蓧萊蓮蒔萵薟獲蕕瑩鶯蓴蘀蘿螢營縈蕭薩蔥蕆蕢蔣蔞藍薊蘺蕷鎣驀薔蘞藺藹蘄蘊藪槁蘚虜慮虛蟲虯蟣雖蝦蠆蝕蟻螞蠶蠔蜆蠱蠣蟶蠻蟄蛺蟯螄蠐蛻蝸蠟蠅蟈蟬蠍螻蠑螿蟎蠨釁銜補襯袞襖嫋褘襪襲襏裝襠褌褳襝褲襇褸襤繈襴見觀覎規覓視覘覽覺覬覡覿覥覦覯覲覷觴觸觶讋譽謄訁計訂訃認譏訐訌討讓訕訖訓議訊記訒講諱謳詎訝訥許訛論訩訟諷設訪訣證詁訶評詛識詗詐訴診詆謅詞詘詔詖譯詒誆誄試詿詩詰詼誠誅詵話誕詬詮詭詢詣諍該詳詫諢詡譸誡誣語誚誤誥誘誨誑說誦誒請諸諏諾讀諑誹課諉諛誰諗調諂諒諄誶談誼謀諶諜謊諫諧謔謁謂諤諭諼讒諮諳諺諦謎諞諝謨讜謖謝謠謗諡謙謐謹謾謫譾謬譚譖譙讕譜譎讞譴譫讖穀豶貝貞負貟貢財責賢敗賬貨質販貪貧貶購貯貫貳賤賁貰貼貴貺貸貿費賀貽賊贄賈賄貲賃賂贓資賅贐賕賑賚賒賦賭齎贖賞賜贔賙賡賠賧賴賵贅賻賺賽賾贗讚贇贈贍贏贛赬趙趕趨趲躉躍蹌蹠躒踐躂蹺蹕躚躋踴躊蹤躓躑躡蹣躕躥躪躦軀車軋軌軒軑軔轉軛輪軟轟軲軻轤軸軹軼軤軫轢軺輕軾載輊轎輈輇輅較輒輔輛輦輩輝輥輞輬輟輜輳輻輯轀輸轡轅轄輾轆轍轔辭辯辮邊遼達遷過邁運還這進遠違連遲邇逕跡適選遜遞邐邏遺遙鄧鄺鄔郵鄒鄴鄰鬱郤郟鄶鄭鄆酈鄖鄲醞醱醬釅釃釀釋裏钜鑒鑾鏨釓釔針釘釗釙釕釷釺釧釤鈒釩釣鍆釹鍚釵鈃鈣鈈鈦鈍鈔鍾鈉鋇鋼鈑鈐鑰欽鈞鎢鉤鈧鈁鈥鈄鈕鈀鈺錢鉦鉗鈷缽鈳鉕鈽鈸鉞鑽鉬鉭鉀鈿鈾鐵鉑鈴鑠鉛鉚鈰鉉鉈鉍鈹鐸鉶銬銠鉺銪鋏鋣鐃銍鐺銅鋁銱銦鎧鍘銖銑鋌銩銛鏵銓鉿銚鉻銘錚銫鉸銥鏟銃鐋銨銀銣鑄鐒鋪鋙錸鋱鏈鏗銷鎖鋰鋥鋤鍋鋯鋨鏽銼鋝鋒鋅鋶鐦鐧銳銻鋃鋟鋦錒錆鍺錯錨錡錁錕錩錫錮鑼錘錐錦鍁錈錇錟錠鍵鋸錳錙鍥鍈鍇鏘鍶鍔鍤鍬鍾鍛鎪鍠鍰鎄鍍鎂鏤鎡鏌鎮鎛鎘鑷鐫鎳鎿鎦鎬鎊鎰鎔鏢鏜鏍鏰鏞鏡鏑鏃鏇鏐鐔钁鐐鏷鑥鐓鑭鐠鑹鏹鐙鑊鐳鐶鐲鐮鐿鑔鑣鑞鑲長門閂閃閆閈閉問闖閏闈閑閎間閔閌悶閘鬧閨聞闥閩閭闓閥閣閡閫鬮閱閬闍閾閹閶鬩閿閽閻閼闡闌闃闠闊闋闔闐闒闕闞闤隊陽陰陣階際陸隴陳陘陝隉隕險隨隱隸雋難雛讎靂霧霽黴靄靚靜靨韃鞽韉韝韋韌韍韓韙韞韜韻頁頂頃頇項順須頊頑顧頓頎頒頌頏預顱領頗頸頡頰頲頜潁熲頦頤頻頮頹頷頴穎顆題顒顎顓顏額顳顢顛顙顥纇顫顬顰顴風颺颭颮颯颶颸颼颻飀飄飆飆飛饗饜飣饑飥餳飩餼飪飫飭飯飲餞飾飽飼飿飴餌饒餉餄餎餃餏餅餑餖餓餘餒餕餜餛餡館餷饋餶餿饞饁饃餺餾饈饉饅饊饌饢馬馭馱馴馳驅馹駁驢駔駛駟駙駒騶駐駝駑駕驛駘驍罵駰驕驊駱駭駢驫驪騁驗騂駸駿騏騎騍騅騌驌驂騙騭騤騷騖驁騮騫騸驃騾驄驏驟驥驦驤髏髖髕鬢魘魎魚魛魢魷魨魯魴魺鮁鮃鯰鱸鮋鮓鮒鮊鮑鱟鮍鮐鮭鮚鮳鮪鮞鮦鰂鮜鱠鱭鮫鮮鮺鯗鱘鯁鱺鰱鰹鯉鰣鰷鯀鯊鯇鮶鯽鯒鯖鯪鯕鯫鯡鯤鯧鯝鯢鯰鯛鯨鯵鯴鯔鱝鰈鰏鱨鯷鰮鰃鰓鱷鰍鰒鰉鰁鱂鯿鰠鼇鰭鰨鰥鰩鰟鰜鰳鰾鱈鱉鰻鰵鱅鰼鱖鱔鱗鱒鱯鱤鱧鱣鳥鳩雞鳶鳴鳲鷗鴉鶬鴇鴆鴣鶇鸕鴨鴞鴦鴒鴟鴝鴛鴬鴕鷥鷙鴯鴰鵂鴴鵃鴿鸞鴻鵐鵓鸝鵑鵠鵝鵒鷳鵜鵡鵲鶓鵪鶤鵯鵬鵮鶉鶊鵷鷫鶘鶡鶚鶻鶿鶥鶩鷊鷂鶲鶹鶺鷁鶼鶴鷖鸚鷓鷚鷯鷦鷲鷸鷺鸇鷹鸌鸏鸛鸘鹺麥麩黃黌黶黷黲黽龍歷誌製壹臺臯準復勐鐘註範籤' + } + function Traditionalized (cc) { + let str = '' + const ss = JTPYStr() + const tt = FTPYStr() + for (let i = 0; i < cc.length; i++) { + if (cc.charCodeAt(i) > 10000 && ss.indexOf(cc.charAt(i)) !== -1) { + str += tt.charAt(ss.indexOf(cc.charAt(i))) + } else str += cc.charAt(i) + } + return str + } + function Simplized (cc) { + let str = '' + const ss = JTPYStr() + const tt = FTPYStr() + for (let i = 0; i < cc.length; i++) { + if (cc.charCodeAt(i) > 10000 && tt.indexOf(cc.charAt(i)) !== -1) { + str += ss.charAt(tt.indexOf(cc.charAt(i))) + } else str += cc.charAt(i) + } + return str + } + + function translateInitialization() { + translateButtonObject = document.getElementById('translateLink'); + translateRightMenuButtonObject = document.getElementById('menu-translate').querySelector('span'); + + if (translateButtonObject || translateRightMenuButtonObject) { + if (currentEncoding !== targetEncoding) { + const textContent = targetEncoding === 1 ? msgToSimplifiedChinese : msgToTraditionalChinese; + + if (translateButtonObject) { + translateButtonObject.textContent = textContent; + } + + if (translateRightMenuButtonObject) { + translateRightMenuButtonObject.textContent = textContent; + } + + setLang(); + setTimeout(translateBody, translateDelay); + } + } + } + + window.translateFn = { + translatePage, + Traditionalized, + Simplized + } + + translateInitialization() + document.addEventListener('pjax:complete', translateInitialization) +}) \ No newline at end of file diff --git a/js/utils.js b/js/utils.js new file mode 100644 index 000000000..300888f8d --- /dev/null +++ b/js/utils.js @@ -0,0 +1,1435 @@ +const anzhiyu = { + debounce: (func, wait = 0, immediate = false) => { + let timeout; + return (...args) => { + const later = () => { + timeout = null; + if (!immediate) func(...args); + }; + const callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func(...args); + }; + }, + + throttle: function (func, wait, options = {}) { + let timeout, context, args; + let previous = 0; + + const later = () => { + previous = options.leading === false ? 0 : new Date().getTime(); + timeout = null; + func.apply(context, args); + if (!timeout) context = args = null; + }; + + const throttled = (...params) => { + const now = new Date().getTime(); + if (!previous && options.leading === false) previous = now; + const remaining = wait - (now - previous); + context = this; + args = params; + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + previous = now; + func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + }; + + return throttled; + }, + + sidebarPaddingR: () => { + const innerWidth = window.innerWidth; + const clientWidth = document.body.clientWidth; + const paddingRight = innerWidth - clientWidth; + if (innerWidth !== clientWidth) { + document.body.style.paddingRight = paddingRight + "px"; + } + }, + + snackbarShow: (text, showActionFunction = false, duration = 2000, actionText = false) => { + const { position, bgLight, bgDark } = GLOBAL_CONFIG.Snackbar; + const bg = document.documentElement.getAttribute("data-theme") === "light" ? bgLight : bgDark; + const root = document.querySelector(":root"); + root.style.setProperty("--anzhiyu-snackbar-time", duration + "ms"); + + Snackbar.show({ + text: text, + backgroundColor: bg, + onActionClick: showActionFunction, + actionText: actionText, + showAction: actionText, + duration: duration, + pos: position, + customClass: "snackbar-css", + }); + }, + + loadComment: (dom, callback) => { + if ("IntersectionObserver" in window) { + const observerItem = new IntersectionObserver( + entries => { + if (entries[0].isIntersecting) { + callback(); + observerItem.disconnect(); + } + }, + { threshold: [0] } + ); + observerItem.observe(dom); + } else { + callback(); + } + }, + + scrollToDest: (pos, time = 500) => { + const currentPos = window.pageYOffset; + if ("scrollBehavior" in document.documentElement.style) { + window.scrollTo({ + top: pos, + behavior: "smooth", + }); + return; + } + + let start = null; + pos = +pos; + window.requestAnimationFrame(function step(currentTime) { + start = !start ? currentTime : start; + const progress = currentTime - start; + if (currentPos < pos) { + window.scrollTo(0, ((pos - currentPos) * progress) / time + currentPos); + } else { + window.scrollTo(0, currentPos - ((currentPos - pos) * progress) / time); + } + if (progress < time) { + window.requestAnimationFrame(step); + } else { + window.scrollTo(0, pos); + } + }); + }, + + initJustifiedGallery: function (selector) { + const runJustifiedGallery = i => { + if (!anzhiyu.isHidden(i)) { + fjGallery(i, { + itemSelector: ".fj-gallery-item", + rowHeight: i.getAttribute("data-rowHeight"), + gutter: 4, + onJustify: function () { + this.$container.style.opacity = "1"; + }, + }); + } + }; + + if (Array.from(selector).length === 0) runJustifiedGallery(selector); + else + selector.forEach(i => { + runJustifiedGallery(i); + }); + }, + + animateIn: (ele, text) => { + ele.style.display = "block"; + ele.style.animation = text; + }, + + animateOut: (ele, text) => { + ele.addEventListener("animationend", function f() { + ele.style.display = ""; + ele.style.animation = ""; + ele.removeEventListener("animationend", f); + }); + ele.style.animation = text; + }, + + /** + * @param {*} selector + * @param {*} eleType the type of create element + * @param {*} options object key: value + */ + wrap: (selector, eleType, options) => { + const creatEle = document.createElement(eleType); + for (const [key, value] of Object.entries(options)) { + creatEle.setAttribute(key, value); + } + selector.parentNode.insertBefore(creatEle, selector); + creatEle.appendChild(selector); + }, + + isHidden: ele => ele.offsetHeight === 0 && ele.offsetWidth === 0, + + getEleTop: ele => { + let actualTop = ele.offsetTop; + let current = ele.offsetParent; + + while (current !== null) { + actualTop += current.offsetTop; + current = current.offsetParent; + } + + return actualTop; + }, + + loadLightbox: ele => { + const service = GLOBAL_CONFIG.lightbox; + + if (service === "mediumZoom") { + const zoom = mediumZoom(ele); + zoom.on("open", e => { + const photoBg = document.documentElement.getAttribute("data-theme") === "dark" ? "#121212" : "#fff"; + zoom.update({ + background: photoBg, + }); + }); + } + + if (service === "fancybox") { + Array.from(ele).forEach(i => { + if (i.parentNode.tagName !== "A") { + const dataSrc = i.dataset.lazySrc || i.src; + const dataCaption = i.title || i.alt || ""; + anzhiyu.wrap(i, "a", { + href: dataSrc, + "data-fancybox": "gallery", + "data-caption": dataCaption, + "data-thumb": dataSrc, + }); + } + }); + + if (!window.fancyboxRun) { + Fancybox.bind("[data-fancybox]", { + Hash: false, + Thumbs: { + autoStart: false, + }, + }); + window.fancyboxRun = true; + } + } + }, + + setLoading: { + add: ele => { + const html = ` +
    +
    +
    +
    +
    + `; + ele.insertAdjacentHTML("afterend", html); + }, + remove: ele => { + ele.nextElementSibling.remove(); + }, + }, + + updateAnchor: anchor => { + if (anchor !== window.location.hash) { + if (!anchor) anchor = location.pathname; + const title = GLOBAL_CONFIG_SITE.title; + window.history.replaceState( + { + url: location.href, + title, + }, + title, + anchor + ); + } + }, + + getScrollPercent: (currentTop, ele) => { + const docHeight = ele.clientHeight; + const winHeight = document.documentElement.clientHeight; + const headerHeight = ele.offsetTop; + const contentMath = + docHeight > winHeight ? docHeight - winHeight : document.documentElement.scrollHeight - winHeight; + const scrollPercent = (currentTop - headerHeight) / contentMath; + const scrollPercentRounded = Math.round(scrollPercent * 100); + const percentage = scrollPercentRounded > 100 ? 100 : scrollPercentRounded <= 0 ? 0 : scrollPercentRounded; + return percentage; + }, + + addGlobalFn: (key, fn, name = false, parent = window) => { + const globalFn = parent.globalFn || {}; + const keyObj = globalFn[key] || {}; + + if (name && keyObj[name]) return; + + name = name || Object.keys(keyObj).length; + keyObj[name] = fn; + globalFn[key] = keyObj; + parent.globalFn = globalFn; + }, + + addEventListenerPjax: (ele, event, fn, option = false) => { + ele.addEventListener(event, fn, option); + anzhiyu.addGlobalFn("pjax", () => { + ele.removeEventListener(event, fn, option); + }); + }, + + removeGlobalFnEvent: (key, parent = window) => { + const { globalFn = {} } = parent; + const keyObj = globalFn[key] || {}; + const keyArr = Object.keys(keyObj); + if (!keyArr.length) return; + keyArr.forEach(i => { + keyObj[i](); + }); + delete parent.globalFn[key]; + }, + + //更改主题色 + changeThemeMetaColor: function (color) { + // console.info(`%c ${color}`, `font-size:36px;color:${color};`); + if (themeColorMeta !== null) { + themeColorMeta.setAttribute("content", color); + } + }, + + //顶栏自适应主题色 + initThemeColor: function () { + let themeColor = getComputedStyle(document.documentElement) + .getPropertyValue("--anzhiyu-bar-background") + .trim() + .replace('"', "") + .replace('"', ""); + const currentTop = window.scrollY || document.documentElement.scrollTop; + if (currentTop > 26) { + if (anzhiyu.is_Post()) { + themeColor = getComputedStyle(document.documentElement) + .getPropertyValue("--anzhiyu-meta-theme-post-color") + .trim() + .replace('"', "") + .replace('"', ""); + } + if (themeColorMeta.getAttribute("content") === themeColor) return; + this.changeThemeMetaColor(themeColor); + } else { + if (themeColorMeta.getAttribute("content") === themeColor) return; + this.changeThemeMetaColor(themeColor); + } + }, + //是否是文章页 + is_Post: function () { + var url = window.location.href; //获取url + if (url.indexOf("/posts/") >= 0) { + //判断url地址中是否包含code字符串 + return true; + } else { + return false; + } + }, + //监测是否在页面开头 + addNavBackgroundInit: function () { + var scrollTop = 0, + bodyScrollTop = 0, + documentScrollTop = 0; + if ($bodyWrap) { + bodyScrollTop = $bodyWrap.scrollTop; + } + if (document.documentElement) { + documentScrollTop = document.documentElement.scrollTop; + } + scrollTop = bodyScrollTop - documentScrollTop > 0 ? bodyScrollTop : documentScrollTop; + + if (scrollTop != 0) { + pageHeaderEl.classList.add("nav-fixed"); + pageHeaderEl.classList.add("nav-visible"); + } + }, + // 下载图片 + downloadImage: function (imgsrc, name) { + //下载图片地址和图片名 + rm.hideRightMenu(); + if (rm.downloadimging == false) { + rm.downloadimging = true; + anzhiyu.snackbarShow("正在下载中,请稍后", false, 10000); + setTimeout(function () { + let image = new Image(); + // 解决跨域 Canvas 污染问题 + image.setAttribute("crossOrigin", "anonymous"); + image.onload = function () { + let canvas = document.createElement("canvas"); + canvas.width = image.width; + canvas.height = image.height; + let context = canvas.getContext("2d"); + context.drawImage(image, 0, 0, image.width, image.height); + let url = canvas.toDataURL("image/png"); //得到图片的base64编码数据 + let a = document.createElement("a"); // 生成一个a元素 + let event = new MouseEvent("click"); // 创建一个单击事件 + a.download = name || "photo"; // 设置图片名称 + a.href = url; // 将生成的URL设置为a.href属性 + a.dispatchEvent(event); // 触发a的单击事件 + }; + image.src = imgsrc; + anzhiyu.snackbarShow("图片已添加盲水印,请遵守版权协议"); + rm.downloadimging = false; + }, "10000"); + } else { + anzhiyu.snackbarShow("有正在进行中的下载,请稍后再试"); + } + }, + //禁止图片右键单击 + stopImgRightDrag: function () { + var img = document.getElementsByTagName("img"); + for (var i = 0; i < img.length; i++) { + img[i].addEventListener("dragstart", function () { + return false; + }); + } + }, + //滚动到指定id + scrollTo: function (id) { + var domTop = document.querySelector(id).offsetTop; + window.scrollTo(0, domTop - 80); + }, + //隐藏侧边栏 + hideAsideBtn: () => { + // Hide aside + const $htmlDom = document.documentElement.classList; + $htmlDom.contains("hide-aside") + ? saveToLocal.set("aside-status", "show", 2) + : saveToLocal.set("aside-status", "hide", 2); + $htmlDom.toggle("hide-aside"); + $htmlDom.contains("hide-aside") + ? document.querySelector("#consoleHideAside").classList.add("on") + : document.querySelector("#consoleHideAside").classList.remove("on"); + }, + // 热评切换 + switchCommentBarrage: function () { + let commentBarrage = document.querySelector(".comment-barrage"); + if (commentBarrage) { + if (window.getComputedStyle(commentBarrage).display === "flex") { + commentBarrage.style.display = "none"; + anzhiyu.snackbarShow("✨ 已关闭评论弹幕"); + document.querySelector(".menu-commentBarrage-text").textContent = "显示热评"; + document.querySelector("#consoleCommentBarrage").classList.remove("on"); + localStorage.setItem("commentBarrageSwitch", "false"); + } else { + commentBarrage.style.display = "flex"; + document.querySelector(".menu-commentBarrage-text").textContent = "关闭热评"; + document.querySelector("#consoleCommentBarrage").classList.add("on"); + anzhiyu.snackbarShow("✨ 已开启评论弹幕"); + localStorage.removeItem("commentBarrageSwitch"); + } + } + rm.hideRightMenu(); + }, + initPaginationObserver: () => { + const commentElement = document.getElementById("post-comment"); + const paginationElement = document.getElementById("pagination"); + + if (commentElement && paginationElement) { + new IntersectionObserver(entries => { + const commentBarrage = document.querySelector(".comment-barrage"); + + entries.forEach(entry => { + if (entry.isIntersecting) { + paginationElement.classList.add("show-window"); + if (commentBarrage) { + commentBarrage.style.bottom = "-200px"; + } + } else { + paginationElement.classList.remove("show-window"); + if (commentBarrage) { + commentBarrage.style.bottom = "0px"; + } + } + }); + }).observe(commentElement); + } + }, + // 初始化即刻 + initIndexEssay: function () { + if (!document.getElementById("bbTimeList")) return; + setTimeout(() => { + let essay_bar_swiper = new Swiper(".essay_bar_swiper_container", { + passiveListeners: true, + direction: "vertical", + loop: true, + autoplay: { + disableOnInteraction: true, + delay: 3000, + }, + mousewheel: true, + }); + + let essay_bar_comtainer = document.getElementById("bbtalk"); + if (essay_bar_comtainer !== null) { + essay_bar_comtainer.onmouseenter = function () { + essay_bar_swiper.autoplay.stop(); + }; + essay_bar_comtainer.onmouseleave = function () { + essay_bar_swiper.autoplay.start(); + }; + } + }, 100); + }, + scrollByMouseWheel: function ($list, $target) { + const scrollHandler = function (e) { + $list.scrollLeft -= e.wheelDelta / 2; + e.preventDefault(); + }; + $list.addEventListener("mousewheel", scrollHandler, { passive: false }); + if ($target) { + $target.classList.add("selected"); + $list.scrollLeft = $target.offsetLeft - $list.offsetLeft - ($list.offsetWidth - $target.offsetWidth) / 2; + } + }, + // catalog激活 + catalogActive: function () { + const $list = document.getElementById("catalog-list"); + if ($list) { + const pathname = decodeURIComponent(window.location.pathname); + const catalogListItems = $list.querySelectorAll(".catalog-list-item"); + + let $catalog = null; + catalogListItems.forEach(item => { + if (pathname.startsWith(item.id)) { + $catalog = item; + return; + } + }); + + anzhiyu.scrollByMouseWheel($list, $catalog); + } + }, + // Page Tag 激活 + tagsPageActive: function () { + const $list = document.getElementById("tag-page-tags"); + if ($list) { + const $tagPageTags = document.getElementById(decodeURIComponent(window.location.pathname)); + anzhiyu.scrollByMouseWheel($list, $tagPageTags); + } + }, + // 修改时间显示"最近" + diffDate: function (d, more = false, simple = false) { + const dateNow = new Date(); + const datePost = new Date(d); + const dateDiff = dateNow.getTime() - datePost.getTime(); + const minute = 1000 * 60; + const hour = minute * 60; + const day = hour * 24; + const month = day * 30; + + let result; + if (more) { + const monthCount = dateDiff / month; + const dayCount = dateDiff / day; + const hourCount = dateDiff / hour; + const minuteCount = dateDiff / minute; + + if (monthCount >= 1) { + result = datePost.toLocaleDateString().replace(/\//g, "-"); + } else if (dayCount >= 1) { + result = parseInt(dayCount) + " " + GLOBAL_CONFIG.date_suffix.day; + } else if (hourCount >= 1) { + result = parseInt(hourCount) + " " + GLOBAL_CONFIG.date_suffix.hour; + } else if (minuteCount >= 1) { + result = parseInt(minuteCount) + " " + GLOBAL_CONFIG.date_suffix.min; + } else { + result = GLOBAL_CONFIG.date_suffix.just; + } + } else if (simple) { + const monthCount = dateDiff / month; + const dayCount = dateDiff / day; + const hourCount = dateDiff / hour; + const minuteCount = dateDiff / minute; + if (monthCount >= 1) { + result = datePost.toLocaleDateString().replace(/\//g, "-"); + } else if (dayCount >= 1 && dayCount <= 3) { + result = parseInt(dayCount) + " " + GLOBAL_CONFIG.date_suffix.day; + } else if (dayCount > 3) { + result = datePost.getMonth() + 1 + "/" + datePost.getDate(); + } else if (hourCount >= 1) { + result = parseInt(hourCount) + " " + GLOBAL_CONFIG.date_suffix.hour; + } else if (minuteCount >= 1) { + result = parseInt(minuteCount) + " " + GLOBAL_CONFIG.date_suffix.min; + } else { + result = GLOBAL_CONFIG.date_suffix.just; + } + } else { + result = parseInt(dateDiff / day); + } + return result; + }, + + // 修改即刻中的时间显示 + changeTimeInEssay: function () { + document.querySelector("#bber") && + document.querySelectorAll("#bber time").forEach(function (e) { + var t = e, + datetime = t.getAttribute("datetime"); + (t.innerText = anzhiyu.diffDate(datetime, true)), (t.style.display = "inline"); + }); + }, + // 修改相册集中的时间 + changeTimeInAlbumDetail: function () { + document.querySelector("#album_detail") && + document.querySelectorAll("#album_detail time").forEach(function (e) { + var t = e, + datetime = t.getAttribute("datetime"); + (t.innerText = anzhiyu.diffDate(datetime, true)), (t.style.display = "inline"); + }); + }, + // 刷新瀑布流 + reflashEssayWaterFall: function () { + const waterfallEl = document.getElementById("waterfall"); + if (waterfallEl) { + setTimeout(function () { + waterfall(waterfallEl); + waterfallEl.classList.add("show"); + }, 800); + } + }, + sayhi: function () { + const $sayhiEl = document.getElementById("author-info__sayhi"); + + const getTimeState = () => { + const hour = new Date().getHours(); + let message = ""; + + if (hour >= 0 && hour <= 5) { + message = "睡个好觉,保证精力充沛"; + } else if (hour > 5 && hour <= 10) { + message = "一日之计在于晨"; + } else if (hour > 10 && hour <= 14) { + message = "吃饱了才有力气干活"; + } else if (hour > 14 && hour <= 18) { + message = "集中精力,攻克难关"; + } else if (hour > 18 && hour <= 24) { + message = "不要太劳累了,早睡更健康"; + } + + return message; + }; + + if ($sayhiEl) { + $sayhiEl.innerHTML = getTimeState(); + } + }, + + // 友链注入预设评论 + addFriendLink() { + var input = document.getElementsByClassName("el-textarea__inner")[0]; + if (!input) return; + const evt = new Event("input", { cancelable: true, bubbles: true }); + const defaultPlaceholder = + "昵称(请勿包含博客等字样):\n网站地址(要求博客地址,请勿提交个人主页):\n头像图片url(请提供尽可能清晰的图片,我会上传到我自己的图床):\n描述:\n站点截图(可选):\n"; + input.value = this.getConfigIfPresent(GLOBAL_CONFIG.linkPageTop, "addFriendPlaceholder", defaultPlaceholder); + input.dispatchEvent(evt); + input.focus(); + input.setSelectionRange(-1, -1); + }, + // 获取配置,如果为空则返回默认值 + getConfigIfPresent: function (config, configKey, defaultValue) { + if (!config) return defaultValue; + if (!config.hasOwnProperty(configKey)) return defaultValue; + if (!config[configKey]) return defaultValue; + return config[configKey]; + }, + //切换音乐播放状态 + musicToggle: function (changePaly = true) { + if (!anzhiyu_musicFirst) { + anzhiyu.musicBindEvent(); + anzhiyu_musicFirst = true; + } + let msgPlay = '播放音乐'; + let msgPause = '暂停音乐'; + if (anzhiyu_musicPlaying) { + navMusicEl.classList.remove("playing"); + document.getElementById("menu-music-toggle").innerHTML = msgPlay; + document.getElementById("nav-music-hoverTips").innerHTML = "音乐已暂停"; + document.querySelector("#consoleMusic").classList.remove("on"); + anzhiyu_musicPlaying = false; + navMusicEl.classList.remove("stretch"); + } else { + navMusicEl.classList.add("playing"); + document.getElementById("menu-music-toggle").innerHTML = msgPause; + document.querySelector("#consoleMusic").classList.add("on"); + anzhiyu_musicPlaying = true; + navMusicEl.classList.add("stretch"); + } + if (changePaly) document.querySelector("#nav-music meting-js").aplayer.toggle(); + rm.hideRightMenu(); + }, + // 音乐伸缩 + musicTelescopic: function () { + if (navMusicEl.classList.contains("stretch")) { + navMusicEl.classList.remove("stretch"); + } else { + navMusicEl.classList.add("stretch"); + } + }, + + //音乐上一曲 + musicSkipBack: function () { + navMusicEl.querySelector("meting-js").aplayer.skipBack(); + rm.hideRightMenu(); + }, + + //音乐下一曲 + musicSkipForward: function () { + navMusicEl.querySelector("meting-js").aplayer.skipForward(); + rm.hideRightMenu(); + }, + + //获取音乐中的名称 + musicGetName: function () { + var x = document.querySelector(".aplayer-title"); + var arr = []; + for (var i = x.length - 1; i >= 0; i--) { + arr[i] = x[i].innerText; + } + return arr[0]; + }, + + //初始化console图标 + initConsoleState: function () { + //初始化隐藏边栏 + const $htmlDomClassList = document.documentElement.classList; + $htmlDomClassList.contains("hide-aside") + ? document.querySelector("#consoleHideAside").classList.add("on") + : document.querySelector("#consoleHideAside").classList.remove("on"); + }, + + // 显示打赏中控台 + rewardShowConsole: function () { + // 判断是否为赞赏打开控制台 + consoleEl.classList.add("reward-show"); + anzhiyu.initConsoleState(); + }, + // 显示中控台 + showConsole: function () { + consoleEl.classList.add("show"); + anzhiyu.initConsoleState(); + }, + + //隐藏中控台 + hideConsole: function () { + if (consoleEl.classList.contains("show")) { + // 如果是一般控制台,就关闭一般控制台 + consoleEl.classList.remove("show"); + } else if (consoleEl.classList.contains("reward-show")) { + // 如果是打赏控制台,就关闭打赏控制台 + consoleEl.classList.remove("reward-show"); + } + // 获取center-console元素 + const centerConsole = document.getElementById("center-console"); + + // 检查center-console是否被选中 + if (centerConsole.checked) { + // 取消选中状态 + centerConsole.checked = false; + } + }, + // 取消加载动画 + hideLoading: function () { + document.getElementById("loading-box").classList.add("loaded"); + }, + // 将音乐缓存播放 + cacheAndPlayMusic() { + let data = localStorage.getItem("musicData"); + if (data) { + data = JSON.parse(data); + const currentTime = new Date().getTime(); + if (currentTime - data.timestamp < 24 * 60 * 60 * 1000) { + // 如果缓存的数据没有过期,直接使用 + anzhiyu.playMusic(data.songs); + return; + } + } + + // 否则重新从服务器获取数据 + fetch("/json/music.json") + .then(response => response.json()) + .then(songs => { + const cacheData = { + timestamp: new Date().getTime(), + songs: songs, + }; + localStorage.setItem("musicData", JSON.stringify(cacheData)); + anzhiyu.playMusic(songs); + }); + }, + // 播放音乐 + playMusic(songs) { + const anMusicPage = document.getElementById("anMusic-page"); + const metingAplayer = anMusicPage.querySelector("meting-js").aplayer; + const randomIndex = Math.floor(Math.random() * songs.length); + const randomSong = songs[randomIndex]; + const allAudios = metingAplayer.list.audios; + if (!selectRandomSong.includes(randomSong.name)) { + // 如果随机到的歌曲已经未被随机到过,就添加进metingAplayer.list + metingAplayer.list.add([randomSong]); + // 播放最后一首(因为是添加到了最后) + metingAplayer.list.switch(allAudios.length); + // 添加到已被随机的歌曲列表 + selectRandomSong.push(randomSong.name); + } else { + // 随机到的歌曲已经在播放列表中了 + // 直接继续随机直到随机到没有随机过的歌曲,如果全部随机过了就切换到对应的歌曲播放即可 + let songFound = false; + while (!songFound) { + const newRandomIndex = Math.floor(Math.random() * songs.length); + const newRandomSong = songs[newRandomIndex]; + if (!selectRandomSong.includes(newRandomSong.name)) { + metingAplayer.list.add([newRandomSong]); + metingAplayer.list.switch(allAudios.length); + selectRandomSong.push(newRandomSong.name); + songFound = true; + } + // 如果全部歌曲都已被随机过,跳出循环 + if (selectRandomSong.length === songs.length) { + break; + } + } + if (!songFound) { + // 如果全部歌曲都已被随机过,切换到对应的歌曲播放 + const palyMusicIndex = allAudios.findIndex(song => song.name === randomSong.name); + if (palyMusicIndex != -1) metingAplayer.list.switch(palyMusicIndex); + } + } + + console.info("已随机歌曲:", selectRandomSong, "本次随机歌曲:", randomSong.name); + }, + // 音乐节目切换背景 + changeMusicBg: function (isChangeBg = true) { + const anMusicBg = document.getElementById("an_music_bg"); + + if (isChangeBg) { + // player listswitch 会进入此处 + const musiccover = document.querySelector("#anMusic-page .aplayer-pic"); + anMusicBg.style.backgroundImage = musiccover.style.backgroundImage; + } else { + // 第一次进入,绑定事件,改背景 + let timer = setInterval(() => { + const musiccover = document.querySelector("#anMusic-page .aplayer-pic"); + // 确保player加载完成 + if (musiccover) { + clearInterval(timer); + // 绑定事件 + anzhiyu.addEventListenerMusic(); + // 确保第一次能够正确替换背景 + anzhiyu.changeMusicBg(); + + // 暂停nav的音乐 + if ( + document.querySelector("#nav-music meting-js").aplayer && + !document.querySelector("#nav-music meting-js").aplayer.audio.paused + ) { + anzhiyu.musicToggle(); + } + } + }, 100); + } + }, + // 获取自定义播放列表 + getCustomPlayList: function () { + if (!window.location.pathname.startsWith("/music/")) { + return; + } + const urlParams = new URLSearchParams(window.location.search); + const userId = "8152976493"; + const userServer = "netease"; + const anMusicPageMeting = document.getElementById("anMusic-page-meting"); + if (urlParams.get("id") && urlParams.get("server")) { + const id = urlParams.get("id"); + const server = urlParams.get("server"); + anMusicPageMeting.innerHTML = ``; + } else { + anMusicPageMeting.innerHTML = ``; + } + anzhiyu.changeMusicBg(false); + }, + //隐藏今日推荐 + hideTodayCard: function () { + if (document.getElementById("todayCard")) { + document.getElementById("todayCard").classList.add("hide"); + const topGroup = document.querySelector(".topGroup"); + const recentPostItems = topGroup.querySelectorAll(".recent-post-item"); + recentPostItems.forEach(item => { + item.style.display = "flex"; + }); + } + }, + + // 监听音乐背景改变 + addEventListenerMusic: function () { + const anMusicPage = document.getElementById("anMusic-page"); + const aplayerIconMenu = anMusicPage.querySelector(".aplayer-info .aplayer-time .aplayer-icon-menu"); + const anMusicBtnGetSong = anMusicPage.querySelector("#anMusicBtnGetSong"); + const anMusicRefreshBtn = anMusicPage.querySelector("#anMusicRefreshBtn"); + const anMusicSwitchingBtn = anMusicPage.querySelector("#anMusicSwitching"); + const metingAplayer = anMusicPage.querySelector("meting-js").aplayer; + //初始化音量 + metingAplayer.volume(0.8, true); + metingAplayer.on("loadeddata", function () { + anzhiyu.changeMusicBg(); + }); + + aplayerIconMenu.addEventListener("click", function () { + document.getElementById("menu-mask").style.display = "block"; + document.getElementById("menu-mask").style.animation = "0.5s ease 0s 1 normal none running to_show"; + anMusicPage.querySelector(".aplayer.aplayer-withlist .aplayer-list").style.opacity = "1"; + }); + + function anMusicPageMenuAask() { + if (window.location.pathname != "/music/") { + document.getElementById("menu-mask").removeEventListener("click", anMusicPageMenuAask); + return; + } + + anMusicPage.querySelector(".aplayer-list").classList.remove("aplayer-list-hide"); + } + + document.getElementById("menu-mask").addEventListener("click", anMusicPageMenuAask); + + // 监听增加单曲按钮 + anMusicBtnGetSong.addEventListener("click", () => { + if (changeMusicListFlag) { + const anMusicPage = document.getElementById("anMusic-page"); + const metingAplayer = anMusicPage.querySelector("meting-js").aplayer; + const allAudios = metingAplayer.list.audios; + const randomIndex = Math.floor(Math.random() * allAudios.length); + // 随机播放一首 + metingAplayer.list.switch(randomIndex); + } else { + anzhiyu.cacheAndPlayMusic(); + } + }); + anMusicRefreshBtn.addEventListener("click", () => { + localStorage.removeItem("musicData"); + anzhiyu.snackbarShow("已移除相关缓存歌曲"); + }); + anMusicSwitchingBtn.addEventListener("click", () => { + anzhiyu.changeMusicList(); + }); + + // 监听键盘事件 + //空格控制音乐 + document.addEventListener("keydown", function (event) { + //暂停开启音乐 + if (event.code === "Space") { + event.preventDefault(); + metingAplayer.toggle(); + } + //切换下一曲 + if (event.keyCode === 39) { + event.preventDefault(); + metingAplayer.skipForward(); + } + //切换上一曲 + if (event.keyCode === 37) { + event.preventDefault(); + metingAplayer.skipBack(); + } + //增加音量 + if (event.keyCode === 38) { + if (musicVolume <= 1) { + musicVolume += 0.1; + metingAplayer.volume(musicVolume, true); + } + } + //减小音量 + if (event.keyCode === 40) { + if (musicVolume >= 0) { + musicVolume += -0.1; + metingAplayer.volume(musicVolume, true); + } + } + }); + }, + // 切换歌单 + changeMusicList: async function () { + const anMusicPage = document.getElementById("anMusic-page"); + const metingAplayer = anMusicPage.querySelector("meting-js").aplayer; + const currentTime = new Date().getTime(); + const cacheData = JSON.parse(localStorage.getItem("musicData")) || { timestamp: 0 }; + let songs = []; + + if (changeMusicListFlag) { + songs = defaultPlayMusicList; + } else { + // 保存当前默认播放列表,以使下次可以切换回来 + defaultPlayMusicList = metingAplayer.list.audios; + // 如果缓存的数据没有过期,直接使用 + if (currentTime - cacheData.timestamp < 24 * 60 * 60 * 1000) { + songs = cacheData.songs; + } else { + // 否则重新从服务器获取数据 + const response = await fetch("/json/music.json"); + songs = await response.json(); + cacheData.timestamp = currentTime; + cacheData.songs = songs; + localStorage.setItem("musicData", JSON.stringify(cacheData)); + } + } + + // 清除当前播放列表并添加新的歌曲 + metingAplayer.list.clear(); + metingAplayer.list.add(songs); + + // 切换标志位 + changeMusicListFlag = !changeMusicListFlag; + }, + // 控制台音乐列表监听 + addEventListenerConsoleMusicList: function () { + const navMusic = document.getElementById("nav-music"); + if (!navMusic) return; + navMusic.addEventListener("click", e => { + const aplayerList = navMusic.querySelector(".aplayer-list"); + const listBtn = navMusic.querySelector( + "div.aplayer-info > div.aplayer-controller > div.aplayer-time.aplayer-time-narrow > button.aplayer-icon.aplayer-icon-menu svg" + ); + if (e.target != listBtn && aplayerList.classList.contains("aplayer-list-hide")) { + aplayerList.classList.remove("aplayer-list-hide"); + } + }); + }, + // 监听按键 + toPage: function () { + var toPageText = document.getElementById("toPageText"), + toPageButton = document.getElementById("toPageButton"), + pageNumbers = document.querySelectorAll(".page-number"), + lastPageNumber = Number(pageNumbers[pageNumbers.length - 1].innerHTML), + pageNumber = Number(toPageText.value); + + if (!isNaN(pageNumber) && pageNumber >= 1 && Number.isInteger(pageNumber)) { + var url = "/page/" + (pageNumber > lastPageNumber ? lastPageNumber : pageNumber) + "/"; + toPageButton.href = pageNumber === 1 ? "/" : url; + } else { + toPageButton.href = "javascript:void(0);"; + } + }, + + //删除多余的class + removeBodyPaceClass: function () { + document.body.className = "pace-done"; + }, + // 修改body的type类型以适配css + setValueToBodyType: function () { + const input = document.getElementById("page-type"); // 获取input元素 + const value = input.value; // 获取input的value值 + document.body.dataset.type = value; // 将value值赋值到body的type属性上 + }, + //匿名评论 + addRandomCommentInfo: function () { + // 从形容词数组中随机取一个值 + const randomAdjective = adjectives[Math.floor(Math.random() * adjectives.length)]; + + // 从蔬菜水果动物名字数组中随机取一个值 + const randomName = vegetablesAndFruits[Math.floor(Math.random() * vegetablesAndFruits.length)]; + + // 将两个值组合成一个字符串 + const name = `${randomAdjective}${randomName}`; + + function dr_js_autofill_commentinfos() { + var lauthor = [ + "#author", + "input[name='comname']", + "#inpName", + "input[name='author']", + "#ds-dialog-name", + "#name", + "input[name='nick']", + "#comment_author", + ], + lmail = [ + "#mail", + "#email", + "input[name='commail']", + "#inpEmail", + "input[name='email']", + "#ds-dialog-email", + "input[name='mail']", + "#comment_email", + ], + lurl = [ + "#url", + "input[name='comurl']", + "#inpHomePage", + "#ds-dialog-url", + "input[name='url']", + "input[name='website']", + "#website", + "input[name='link']", + "#comment_url", + ]; + for (var i = 0; i < lauthor.length; i++) { + var author = document.querySelector(lauthor[i]); + if (author != null) { + author.value = name; + author.dispatchEvent(new Event("input")); + author.dispatchEvent(new Event("change")); + break; + } + } + for (var j = 0; j < lmail.length; j++) { + var mail = document.querySelector(lmail[j]); + if (mail != null) { + mail.value = visitorMail; + mail.dispatchEvent(new Event("input")); + mail.dispatchEvent(new Event("change")); + break; + } + } + return !1; + } + + dr_js_autofill_commentinfos(); + var input = document.getElementsByClassName("el-textarea__inner")[0]; + input.focus(); + input.setSelectionRange(-1, -1); + }, + + // 跳转开往 + totraveling: function () { + anzhiyu.snackbarShow( + "即将跳转到「开往」项目的成员博客,不保证跳转网站的安全性和可用性", + element => { + element.style.opacity = 0; + travellingsTimer && clearTimeout(travellingsTimer); + }, + 5000, + "取消" + ); + travellingsTimer = setTimeout(function () { + window.open("https://www.travellings.cn/go.html", "_blank"); + }, "5000"); + }, + + // 工具函数替换字符串 + replaceAll: function (e, n, t) { + return e.split(n).join(t); + }, + + // 音乐绑定事件 + musicBindEvent: function () { + document.querySelector("#nav-music .aplayer-music").addEventListener("click", function () { + anzhiyu.musicTelescopic(); + }); + document.querySelector("#nav-music .aplayer-button").addEventListener("click", function () { + anzhiyu.musicToggle(false); + }); + }, + + // 判断是否是移动端 + hasMobile: function () { + let isMobile = false; + if ( + navigator.userAgent.match( + /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i + ) || + document.body.clientWidth < 800 + ) { + // 移动端 + isMobile = true; + } + return isMobile; + }, + + // 创建二维码 + qrcodeCreate: function () { + if (document.getElementById("qrcode")) { + document.getElementById("qrcode").innerHTML = ""; + var qrcode = new QRCode(document.getElementById("qrcode"), { + text: window.location.href, + width: 250, + height: 250, + colorDark: "#000", + colorLight: "#ffffff", + correctLevel: QRCode.CorrectLevel.H, + }); + } + }, + + // 判断是否在el内 + isInViewPortOfOne: function (el) { + if (!el) return; + const viewPortHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; + const offsetTop = el.offsetTop; + const scrollTop = document.documentElement.scrollTop; + const top = offsetTop - scrollTop; + return top <= viewPortHeight; + }, + //添加赞赏蒙版 + addRewardMask: function () { + if (!document.querySelector(".reward-main")) return; + document.querySelector(".reward-main").style.display = "flex"; + document.querySelector(".reward-main").style.zIndex = "102"; + document.getElementById("quit-box").style.display = "flex"; + }, + // 移除赞赏蒙版 + removeRewardMask: function () { + if (!document.querySelector(".reward-main")) return; + document.querySelector(".reward-main").style.display = "none"; + document.getElementById("quit-box").style.display = "none"; + }, + + keyboardToggle: function () { + const isKeyboardOn = anzhiyu_keyboard; + + if (isKeyboardOn) { + const consoleKeyboard = document.querySelector("#consoleKeyboard"); + consoleKeyboard.classList.remove("on"); + anzhiyu_keyboard = false; + } else { + const consoleKeyboard = document.querySelector("#consoleKeyboard"); + consoleKeyboard.classList.add("on"); + anzhiyu_keyboard = true; + } + + localStorage.setItem("keyboardToggle", isKeyboardOn ? "false" : "true"); + }, + rightMenuToggle: function () { + if (window.oncontextmenu) { + window.oncontextmenu = null; + } else if (!window.oncontextmenu && oncontextmenuFunction) { + window.oncontextmenu = oncontextmenuFunction; + } + }, + switchConsole: () => { + // switch console + const consoleEl = document.getElementById("console"); + //初始化隐藏边栏 + const $htmlDom = document.documentElement.classList; + $htmlDom.contains("hide-aside") + ? document.querySelector("#consoleHideAside").classList.add("on") + : document.querySelector("#consoleHideAside").classList.remove("on"); + if (consoleEl.classList.contains("show")) { + consoleEl.classList.remove("show"); + } else { + consoleEl.classList.add("show"); + } + const consoleKeyboard = document.querySelector("#consoleKeyboard"); + + if (consoleKeyboard) { + if (localStorage.getItem("keyboardToggle") === "true") { + consoleKeyboard.classList.add("on"); + anzhiyu_keyboard = true; + } else { + consoleKeyboard.classList.remove("on"); + anzhiyu_keyboard = false; + } + } + }, + // 定义 intersectionObserver 函数,并接收两个可选参数 + intersectionObserver: function (enterCallback, leaveCallback) { + let observer; + return () => { + if (!observer) { + observer = new IntersectionObserver(entries => { + entries.forEach(entry => { + if (entry.intersectionRatio > 0) { + enterCallback?.(); + } else { + leaveCallback?.(); + } + }); + }); + } else { + // 如果 observer 对象已经存在,则先取消对之前元素的观察 + observer.disconnect(); + } + return observer; + }; + }, + // CategoryBar滚动 + scrollCategoryBarToRight: function () { + // 获取需要操作的元素 + const items = document.getElementById("catalog-list"); + const nextButton = document.getElementById("category-bar-next"); + + // 检查元素是否存在 + if (items && nextButton) { + const itemsWidth = items.clientWidth; + + // 判断是否已经滚动到最右侧 + if (items.scrollLeft + items.clientWidth + 1 >= items.scrollWidth) { + // 滚动到初始位置并更新按钮内容 + items.scroll({ + left: 0, + behavior: "smooth", + }); + nextButton.innerHTML = ''; + } else { + // 滚动到下一个视图 + items.scrollBy({ + left: itemsWidth, + behavior: "smooth", + }); + } + } else { + console.error("Element(s) not found: 'catalog-list' and/or 'category-bar-next'."); + } + }, + // 分类条 + categoriesBarActive: function () { + const urlinfo = decodeURIComponent(window.location.pathname); + const $categoryBar = document.getElementById("category-bar"); + if (!$categoryBar) return; + + if (urlinfo === "/") { + $categoryBar.querySelector("#首页").classList.add("select"); + } else { + const pattern = /\/categories\/.*?\//; + const patbool = pattern.test(urlinfo); + if (!patbool) return; + + const nowCategorie = urlinfo.split("/")[2]; + $categoryBar.querySelector(`#${nowCategorie}`).classList.add("select"); + } + }, + topCategoriesBarScroll: function () { + const $categoryBarItems = document.getElementById("category-bar-items"); + if (!$categoryBarItems) return; + + $categoryBarItems.addEventListener("mousewheel", function (e) { + const v = -e.wheelDelta / 2; + this.scrollLeft += v; + e.preventDefault(); + }); + }, + // 切换菜单显示热评 + switchRightClickMenuHotReview: function () { + const postComment = document.getElementById("post-comment"); + const menuCommentBarrageDom = document.getElementById("menu-commentBarrage"); + if (postComment) { + menuCommentBarrageDom.style.display = "flex"; + } else { + menuCommentBarrageDom.style.display = "none"; + } + }, + // 切换作者卡片状态文字 + changeSayHelloText: function () { + const greetings = GLOBAL_CONFIG.authorStatus.skills; + + const authorInfoSayHiElement = document.getElementById("author-info__sayhi"); + + // 如果只有一个问候语,设置为默认值 + if (greetings.length === 1) { + authorInfoSayHiElement.textContent = greetings[0]; + return; + } + + let lastSayHello = authorInfoSayHiElement.textContent; + + let randomGreeting = lastSayHello; + while (randomGreeting === lastSayHello) { + randomGreeting = greetings[Math.floor(Math.random() * greetings.length)]; + } + authorInfoSayHiElement.textContent = randomGreeting; + }, +}; + +const anzhiyuPopupManager = { + queue: [], + processing: false, + Jump: false, + + enqueuePopup(title, tip, url, duration = 3000) { + this.queue.push({ title, tip, url, duration }); + if (!this.processing) { + this.processQueue(); + } + }, + + processQueue() { + if (this.queue.length > 0 && !this.processing) { + this.processing = true; + const { title, tip, url, duration } = this.queue.shift(); + this.popupShow(title, tip, url, duration); + } + }, + + popupShow(title, tip, url, duration) { + const popupWindow = document.getElementById("popup-window"); + if (!popupWindow) return; + const windowTitle = popupWindow.querySelector(".popup-window-title"); + const windowContent = popupWindow.querySelector(".popup-window-content"); + const cookiesTip = windowContent.querySelector(".popup-tip"); + if (popupWindow.classList.contains("show-popup-window")) { + popupWindow.classList.add("popup-hide"); + } + + // 等待上一个弹窗完全消失 + setTimeout(() => { + // 移除之前的点击事件处理程序 + popupWindow.removeEventListener("click", this.clickEventHandler); + if (url) { + if (window.pjax) { + this.clickEventHandler = event => { + event.preventDefault(); + pjax.loadUrl(url); + popupWindow.classList.remove("show-popup-window"); + popupWindow.classList.remove("popup-hide"); + this.Jump = true; + + // 处理队列中的下一个弹出窗口 + this.processing = false; + this.processQueue(); + }; + + popupWindow.addEventListener("click", this.clickEventHandler); + } else { + this.clickEventHandler = () => { + window.location.href = url; + }; + popupWindow.addEventListener("click", this.clickEventHandler); + } + if (popupWindow.classList.contains("no-url")) { + popupWindow.classList.remove("no-url"); + } + } else { + if (!popupWindow.classList.contains("no-url")) { + popupWindow.classList.add("no-url"); + } + + this.clickEventHandler = () => { + popupWindow.classList.add("popup-hide"); + setTimeout(() => { + popupWindow.classList.remove("popup-hide"); + popupWindow.classList.remove("show-popup-window"); + }, 1000); + }; + popupWindow.addEventListener("click", this.clickEventHandler); + } + + if (popupWindow.classList.contains("popup-hide")) { + popupWindow.classList.remove("popup-hide"); + } + popupWindow.classList.add("show-popup-window"); + windowTitle.textContent = title; + cookiesTip.textContent = tip; + }, 800); + + setTimeout(() => { + if (url && !this.Jump) { + this.Jump = false; + } + if (!popupWindow.classList.contains("popup-hide") && popupWindow.className != "") { + popupWindow.classList.add("popup-hide"); + } + + // 处理队列中的下一个弹出窗口 + this.processing = false; + this.processQueue(); + }, duration); + }, +}; diff --git a/page/2/index.html b/page/2/index.html new file mode 100644 index 000000000..788b437ab --- /dev/null +++ b/page/2/index.html @@ -0,0 +1,468 @@ +Research • 呓语 - Research
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/page/3/index.html b/page/3/index.html new file mode 100644 index 000000000..f8d502ac2 --- /dev/null +++ b/page/3/index.html @@ -0,0 +1,530 @@ +Research • 呓语 - Research
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/page/4/index.html b/page/4/index.html new file mode 100644 index 000000000..105eba73e --- /dev/null +++ b/page/4/index.html @@ -0,0 +1,545 @@ +Research • 呓语 - Research
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/page/5/index.html b/page/5/index.html new file mode 100644 index 000000000..0e87440eb --- /dev/null +++ b/page/5/index.html @@ -0,0 +1,571 @@ +Research • 呓语 - Research
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/page/6/index.html b/page/6/index.html new file mode 100644 index 000000000..26f99a047 --- /dev/null +++ b/page/6/index.html @@ -0,0 +1,506 @@ +Research • 呓语 - Research
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/page/7/index.html b/page/7/index.html new file mode 100644 index 000000000..c6968229c --- /dev/null +++ b/page/7/index.html @@ -0,0 +1,582 @@ +Research • 呓语 - Research
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/page/8/index.html b/page/8/index.html new file mode 100644 index 000000000..1a2a71bb6 --- /dev/null +++ b/page/8/index.html @@ -0,0 +1,418 @@ +Research • 呓语 - Research
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/search.xml b/search.xml new file mode 100644 index 000000000..61c3e66a0 --- /dev/null +++ b/search.xml @@ -0,0 +1,3524 @@ + + + + Hello World + /2023/10/14/hello-world/ + Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

    +

    Quick Start

    Create a new post

    $ hexo new "My New Post"
    + +

    More info: Writing

    +

    Run server

    $ hexo server
    + +

    More info: Server

    +

    Generate static files

    $ hexo generate
    + +

    More info: Generating

    +

    Deploy to remote sites

    $ hexo deploy
    + +

    More info: Deployment

    +]]>
    +
    + + git提示Timed out的解决办法 + /2022/09/26/error/2022-09-26-git%E6%8F%90%E7%A4%BATimed_out%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/ + 报错代码

    运行git代码会提示Timed out错误

    +
    使用git,会发生报错:Failed to connect to github.com port 443 after 21098 ms: Timed out
    + +

    解决办法

    设置代理

    +
    git config --global https.proxy
    + +

    取消代理

    +
    git config --global --unset https.proxy
    + +

    然后输入git 命令使用

    +]]>
    + + 经验分享 + + + Git + +
    + + 使用pip install报错的解决办法 + /2022/08/26/error/2022-11-08-%E4%BD%BF%E7%94%A8pip%20install%E6%8A%A5%E9%94%99%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/ + 报错提示

    今天使用PyCharm下载一个模块pip.exe install locust,有错误提示

    +
    https://visualstudio.microsoft.com/visual-cpp-build-tools/
    [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
    // 报错位置
    ERROR: Failed building wheel for psutil

    ERROR: Could not build wheels for psutil, which is required to install pyproject.toml-based projects
    WARNING: Ignoring invalid distribution -ip (d:\work software\python3.8\lib\site-packages)
    WARNING: Ignoring invalid distribution -ip (d:\work software\python3.8\lib\site-packages)
    WARNING: Ignoring invalid distribution -ip (d:\work software\python3.8\lib\site-packages)
    +

    原因

    +

    缺少对应的whl文件

    +
    +

    解决办法

    碰到了这个错误ERROR: Failed building wheel for psutil,就需要下载psutil.whl

    +

    下载网站点击进入网站

    +

    下载psutil-5.9.0-cp38-cp38-win_amd64.whl文件

    +

    然后使用(pip install 文件的绝对路径)进行安装,然后使用pip.exe install locust正常安装

    +

    pip.exe install D:\Appium\psutil-5.9.0-cp38-cp38-win_amd64.whl

    pip.exe install locust

    +]]>
    + + 经验分享 + + + error + +
    + + java基础之方法和函数 + /2022/09/21/java/2022-12-06-%E6%96%B9%E6%B3%95%E5%92%8C%E5%87%BD%E6%95%B0/ + 方法和函数 + + + + + + + + + + + + + + + + + + + + +
    定义方式作用调用方式
    函数public static void 函数名(){}封装指定功能的代码块函数名()
    方法public [static] void 方法名(){}类的行为,对象可以执行的一些功能对象名.方法名
    +

    定义函数

    +

    使用static修饰的内容成为静态的内容

    +
    +
    public static void function1(){
    }
    + +

    调用函数

    function1()
    + +

    定义方法

    public void class className1{

    String name;
    //静态变量
    static String age;

    //静态方法
    public static function1(){
    }

    //类方法
    //非静态方法可以调用静态变量和非静态变量、静态方法和非静态方法
    public function2(){
    }
    }
    +

    调用方法

      +
    • 调用静态方法,不需要实例化
    • +
    +
    className1.function1()
    + +
      +
    • 调用方法
    • +
    +
    className1的对象,需要实例化
    + + +

    静态方法注意事项:

      +
    • 静态方法无法直接引用非静态的变量
    • +
    • 静态方法不能直接调用非静态的方法
    • +
    +

    代码块

      +
    • 定义在方法内部,和局部变量处于平行的位置
    • +
    • 生命周期随着方法的调用而加载,随着方法的结束而消亡
    • +
    • 可以在局部代码块中定义一些使用范围和时间都很短的变量,用完就消失啦
    • +
    +
    public void class className1{

    String name;
    static String age;

    //类方法
    //非静态方法可以调用静态变量和非静态变量、静态方法和非静态方法
    public void function2(){

    //定义代码块
    {
    int i = 100;
    System.out.println("方法中的变量i=" + i);
    }

    }
    }
    + +

    构造代码块

      +
    • 构造代码快写在和构造方法平行的位置
    • +
    • 只要创建对象,构造代码块就会执行,不论是采用有参的还是无参数的构造方法
    • +
    +
    public void class{
    //有参构造
    class(String name){
    }
    //无参构造
    class(){
    }
    //构造代码块
    {
    int i=100;
    System.out.println("构造代码块i=" + i);
    }

    }
    +

    静态代码块

      +
    • 被static修饰的代码块称为静态代码块
    • +
    • 随着类的加载而加载
    • +
    • 静态代码块只执行一次,在程序中可以完成加载驱动等只执行一次的操作
    • +
    +
    public void className1{
    static{
    System.out.println("我是静态代码块i=" + i);
    }
    }
    ]]>
    + + 经验分享 + + + java + +
    + + 使用Java解析Properties文件 + /2022/09/21/java/2022-09-21-%E4%BD%BF%E7%94%A8Java%E8%A7%A3%E6%9E%90Properties%E6%96%87%E4%BB%B6/ + 主要函数 + + + + + + + + + + + + + + + + + + + + + + +
    文件后缀函数方法
    .Propertiesload加载文件
    setProperty设置
    getProperty获取
    +

    编写逻辑

    创建加载文件的方法

    +
    /**
    * 加载文件
    * @return Properties 对象
    * @throws IOException I/O输入异常
    */
    private Properties readProperties() throws IOException{
    // 实例化,创建 Properties 对象
    Properties properties = new Properties();
    try {
    // 创建文件输入对象 FileInputStream("testpro.properties")
    InputStream inputStream = new FileInputStream(filepath);
    // 把文件输入对象放入缓存输入对象 new BufferedInputStream 里面
    BufferedInputStream in = new BufferedInputStream(inputStream);
    // 加载文件 in = ParseProperties.class.getResourceAsStream("testpro.properties"),自动获取 resources 文件夹下路径
    properties.load(in);
    }catch (IOException e){
    e.printStackTrace();
    }
    return properties;
    }
    + +

    获取key后面的数据

    +
    /**
    * 获取数据
    * @param key 数据名称
    * @return 数据等号右边的值
    * @throws Exception 异常
    */
    public String getPro(String key) throws Exception {
    // 判断文件里面有没有这个 Key
    if (prop.containsKey(key)) {
    // 获得key后面的value值
    return prop.getProperty(key);
    }else {
    System.out.println("你获取的key值不对");
    return "";
    }
    }
    + +

    获取定位类型或者定位表达式

    +
    /**
    * 返回定位类型或者定位表达式
    * @param key 数据名称
    * @param num 输入0/1
    * @return num=0时,返回定位类型,num=1时,返回定位表达式
    */
    public String get_pro_element(String key, int num){
    return (num!=0 & num!=1) ? "num:参数输入错误" : prop.getProperty(key).split("->")[num];
    }
    + +]]>
    + + 经验分享 + + + java + Properties + +
    + + 包装类 + /2022/12/07/java/2022-12-07-%E5%8C%85%E8%A3%85%E7%B1%BB/ + +
  • 基本数据类型对应的包装类
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    基本数据类型包装类大小(字节)
    byteByte1–(-128~127)
    shortShort2–(-32768~32767)
    intInteger4
    longLong8
    floatFloat4
    doubleDouble8
    charCharacter2
    booleanBoolean1
    +

    包装类方法

      +
    • Integer的作用主要是对int、Integer、String几种类型的数据进行转换,还能获取一些常量
    • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    方法描述
    compareTo()用于将对象与方法的参数进行比较(相同类型)
    decode()将方法的参数转为包装类对象
    equals()判断对象是否与参数相等
    Integer.parseInt(“字符串’)将字符串转为Int类型
    Integer.toString(int数据)将Int类型转为字符串
    +

    compareTo()方法

      +
    • 如果指定的数与参数相等返回 0。
    • +
    • 如果指定的数小于参数返回 -1。
    • +
    • 如果指定的数大于参数返回 1。
    • +
    +]]>
    + + 经验分享 + + + java + +
    + + 字符串 + /2022/12/07/java/2022-12-07-%E5%AD%97%E7%AC%A6%E4%B8%B2/ + 字符串的方法 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    方法描述
    str.concat()将参数拼接到字符串上
    trim()去除字符串两端的字符串,不能去除中间
    replace(oldChar, newChar)将字符串的old参数替换为new参数
    length()返回此字符串的长度
    isEmpty()判断字符串是否为空
    +

    concat()方法

      +
    • 返回字符串类型
    • +
    • 字符串在后面拼接
      String str = "床前明月光";
      String str1 = str.concat("疑是地上霜。");
      System.out.println(str1);
    • +
    +

    trim()方法

    String str = "    床  前明   月光   ";
    String str1 = str.trim();
    System.out.println(str1);
    +

    replace(oldChar, newChar)方法

    String str = "床前明月光";
    String str1 = str.replace("床", "llll");
    System.out.println(str1);
    +

    length()方法

      +
    • 返回int类型
      String str = "床前明月光";
      int str1 = str.length();
      System.out.println(str1);
    • +
    +

    isEmpty()方法

      +
    • 返回布尔类型
      String str = "床前明月光";
      boolean str1 = str.isEmpty();
      System.out.println(str1);
    • +
    +]]>
    + + 经验分享 + + + java + +
    + + 抽象类与接口 + /2022/12/07/java/2022-12-07-%E6%8A%BD%E8%B1%A1%E7%B1%BB%E4%B8%8E%E6%8E%A5%E5%8F%A3/ + 抽象类

    使用abstract修饰一个类,把这个类变成抽象类,抽象类不能直接创建对象,需要其他类进行继承该抽象类

    +
      +
    • 抽象方法不能有方法体
    • +
    • 抽象方法必须使用abstract进行修饰,不能有方法体
    • +
    • 子类必须实现父抽象类的方法
      public abstract class Ahsse {
      String name;
      int age;

      //普通方法
      public String aaa(){
      return name;
      };
      // 抽象方法
      public abstract String bbb();
      }

      class sss extends Ahsse{

      @Override
      public String bbb() {
      System.out.println("实现抽象类的抽象方法");
      return "ces ";
      }
      }
    • +
    +

    接口

    使用interface定义接口,相当于class

    +
      +
    • 接口可以多继承
    • +
    • 变量全部默认使用public static final修饰,使用之前必须赋值
    • +
    • 类里面全部是抽象方法(默认使用public abstract修饰,没有方法体)需要被实现类进行实现
    • +
    • 接口可以被多实现–implements
    • +
    +]]>
    + + 经验分享 + + + java + +
    + + 继承、重写与重载 + /2022/12/07/java/2022-12-07-%E7%BB%A7%E6%89%BF%E3%80%81%E9%87%8D%E5%86%99%E4%B8%8E%E9%87%8D%E8%BD%BD/ + 继承

    继承是相对于类来说,通过关键字extends来实现

    +
      +
    • 可以获取父类的属性和方法
    • +
    • 提高代码的复用性
    • +
    • 父类修改了内容,子类也会修改
    • +
    +

    调用

    父类的属性和方法

    +
      +
    • this表示当前对象的引用
    • +
    • super表示父类对象的引用
    • +
    • 调用构造方法
        +
      • this(参数列表)表示调用当前类中的构造方法
      • +
      • super(参数列表)表示调用父类的构造方法,必须放在方法中的第一行
      • +
      +
    • +
    • 调用属性
        +
      • this.属性表示调用当前对象的属性
      • +
      • super.属性表示调用父类的属性,可以拿到被重写之前的数据
      • +
      +
    • +
    • 调用方法
        +
      • this.方法表示调用当前对象的方法
      • +
      • super.方法表示调用父类的方法,可以拿到被重写之前的方法,不用放在代码的第一行
      • +
      +
    • +
    +

    重写

    重写是子类可以重写父类的方法,使用override标识

    +
      +
    • 方法名和参数不变,只修改方法体
    • +
    • 访问权限不能比父类的范围更小
    • +
    • 私有的方法能被子类继承,但不能使用和重写
    • +
    • 静态的方法能被子类继承,能使用但不能被重写
      public class testeass {

      public void aa(String name, int age){
      System.out.println(name + age);
      }
      }

      class testaaa extends testeass{

      @Override
      public void aa(String name, int age) {
      System.out.println("这是重写方法,方法名、参数和返回数据都不变,只能修改方法体");
      System.out.println(name + age);
      }
      }
    • +
    +

    重载

    重载是同一个类下对方法进行重载

    +
      +
    • 方法名相同,参数不相同 (参数个数不同/参数类型不同/参数排列顺序不同)
    • +
    • 返回类型不限制
      public class jichu {

      // 原方法
      public void hello(String name, int aa){
      System.out.println("拼接起来的值是:"+ name + aa );
      }

      // 重载后的方法
      public void hello(int aa, String name){
      System.out.println("aaaaaaa:" + aa);
      }
      }
    • +
    +]]>
    + + 经验分享 + + + java + +
    + + _3主3从的`Redis集群`搭建(下) + /2022/08/26/docker/2022-08-25-_3%E4%B8%BB3%E4%BB%8E%E7%9A%84Redis%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA(%E4%B8%8B)/ + _3主3从的Redis集群搭建(下)

    进入主机6381

    +

    redis-cli -p 6381

    +
    +
    + +
    + +

    查看集群信息

    +

    cluster info

    +
    +
    + +
    + +

    查看主机和从机之间的主从关系

    +
    +

    cluster nodes

    +
    +

    image-20220509101455220

    +
    + +
    + + +]]>
    + + 经验分享 + + + docker + +
    + + _3主3从的`Redis集群`搭建之哈希槽算法 + /2022/08/26/docker/2022-08-25-_3%E4%B8%BB3%E4%BB%8E%E7%9A%84Redis%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA%E4%B9%8B%E5%93%88%E5%B8%8C%E6%A7%BD%E7%AE%97%E6%B3%95/ + _3主3从的Redis集群搭建之哈希槽算法

    目的

    解决一致性哈希算法数据倾斜问题

    +

    实质

    是一个数组,数组[0,2^14-1]形成hash slot空间

    +

    作用

    解决均匀分配问题,在数据和节点之间加入一层(哈希槽slot)用于管理数据和节点之间的关系,现在相当于节点里放槽,槽里放数据

    +
    + +
    + +

    方便数据移动

    +

    哈希解决的映射问题,使用key的哈希值来计算所在的槽,便于数据分配

    +

    多少个hash槽

    一个集群只能有16384个槽,编号0-16383(0-2^14-1)

    +

    这些槽会分配给集群中的所有主节点,分配策略没有要求。可以指定哪些编号的槽分配给哪个主节点。集群会记录节点和槽的对应关系。

    +

    接下来就需要对key求哈希值,然后对16384取余,余数是几key就落入对应的槽里。slot = CRC16(key) % 16384

    +

    以槽为单位移动数据,因为槽的数目是固定的,处理起来比较容易,这样数据移动问题就解决了。

    +

    举个栗子

    Redis 集群中内置了 16384 个哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,也就是映射到某个节点上。如下代码,key之A 、B在Node2, key之C落在Node3上

    +

    首先有几个redis就把0-16383分成几个

    +
    + +
    ]]>
    + + 经验分享 + + + docker + +
    + + _3主3从的`Redis集群`搭建(上) + /2022/08/26/docker/2022-08-25-_3%E4%B8%BB3%E4%BB%8E%E7%9A%84Redis%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA%EF%BC%88%E4%B8%8A%EF%BC%89/ + _3主3从的Redis集群搭建(上)
      +
    • 关闭防火墙,启动docker
    • +
    • 新建6个docker容器docker run -d --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386
        +
      • docker run 创建并运行docker容器实例
      • +
      • –name redis-node-6 容器名字
      • +
      • –net host 使用宿主机的IP和端口,默认
      • +
      • –privileged=true 获取宿主机root用户权限
      • +
      • -v /data/redis/share/redis-node-6:/data 容器卷,宿主机地址:docker内部地址
      • +
      • redis:6.0.8 redis镜像和版本号
      • +
      • –cluster-enabled yes 开启redis集群
      • +
      • –appendonly yes 开启持久化
      • +
      • –port 6386 redis端口号
      • +
      +
    • +
    +
    docker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381
    docker run -d --name redis-node-2 --net host --privileged=true -v /data/redis/share/redis-node-2:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6382
    docker run -d --name redis-node-3 --net host --privileged=true -v /data/redis/share/redis-node-3:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6383
    docker run -d --name redis-node-4 --net host --privileged=true -v /data/redis/share/redis-node-4:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6384
    docker run -d --name redis-node-5 --net host --privileged=true -v /data/redis/share/redis-node-5:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6385
    docker run -d --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386
    + +

    运行成功,使用docker ps查看

    +
      +
    • 进入容器redis-node-1并为6台机器构建集群关系

      +
        +
      • 进入一台redis进行配置docker exec -it redis-node-1 bash

        +
      • +
      • #进入后执行
        +redis-cli --cluster create 8.142.144.75:6381 8.142.144.75:6382 8.142.144.75:6383 8.142.144.75:6384 8.142.144.75:6385 8.142.144.75:6386 --cluster-replicas 1
        +
        + --cluster create	构建集群
        + --cluster-replicas 1	集群关联一比一的关系
        + 
        +--cluster-replicas 1 表示为每个master创建一个slave节点
        +# 注意:上面的ip为真实IP
        +
        +
      • +
      +

      有下面的绿色ok字样显示运行成功

      +
    • +
    +
    + +
    + +
    +

    如果运行不成功,一直显示Waiting for the cluster to join.. 一直………………………………….,则是端口没有全部开放,防火墙也要开放端口,以阿里云为例

    +
    +

    就是需要在安全组上面配置63816386的6个端口,还需要配置1638116386的6个端口,共12个端口都要开放,不然会一直提示等待

    +
      +
    • 一切OK的话,3主3从搭建搞定
    • +
    +]]>
    + + 经验分享 + + + docker + +
    + + _mysql主从复制docker版 + /2022/08/26/docker/2022-08-25-_mysql%E4%B8%BB%E4%BB%8E%E5%A4%8D%E5%88%B6docker%E7%89%88/ + _mysql主从复制docker版

    安装mysql主从复制(一主一从)

    新建主服务器容器实例3307

    +
    docker run -p 3307:3306 --name mysql-master -v /mydata/mysql-master/log/:/var/log/mysql -v /mydata/mysql-master/data:/var/lib/mysql -v /mydata/mysql-master/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
    + +

    进入/mydata/mysql-master/conf目录下新建my.cnf把下面内容粘贴到my.cnf

    +
    [mysqld]
    ## 设置server_id,同一局域网中需要唯一
    server_id=101
    ## 指定不需要同步的数据库名称
    binlog-ignore-db=mysql
    ## 开启二进制日志功能
    log-bin=mall-mysql-bin
    ## 设置二进制日志使用内存大小(事务)
    binlog_cache_size=1M
    ## 设置使用的二进制日志格式(mixed,statement,row)
    binlog_format=mixed
    ## 二进制日志过期清理时间。默认值为0,表示不自动清理。
    expire_logs_days=7
    ## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
    ## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
    slave_skip_errors=1062
    + +

    修改完配置后重启master容器

    +

    master容器实例内创建数据同步用户

    +
    # 建立一个用户
    CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
    # 对新建的用户进行授权
    GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
    + +
    + +
    + + +

    新建从服务器实例3308

    +
    docker run -p 3308:3306 --name mysql-slave -v /mydata/mysql-slave/log/:/var/log/mysql -v /mydata/mysql-slave/data:/var/lib/mysql -v /mydata/mysql-slave/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
    + +

    进入/mydata/mysql-slave/conf目录下新建my.cnf

    +
    ## 设置使用的二进制日志格式(mixed,statement,row)
    binlog_format=mixed
    ## 二进制日志过期清理时间。默认值为0,表示不自动清理。
    expire_logs_days=7
    ## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
    ## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
    slave_skip_errors=1062
    ## relay_log配置中继日志
    relay_log=mall-mysql-relay-bin
    ## log_slave_updates表示slave将复制事件写进自己的二进制日志
    log_slave_updates=1
    ## slave设置为只读(具有super权限的用户除外)
    read_only=1
    + +

    重启从机实例docker restart mysql-slave

    +

    在主数据库中查看主从同步状态show master status;

    +

    进入mysql-slave从机容器

    +

    在从数据库中配置主从复制change master to master_host='宿主机ip', master_user='slave', master_password='123456', master_port=3307, master_log_file='mall-mysql-bin.000001', master_log_pos=617, master_connect_retry=30;

    +
    # 说明:
    master_host:主数据库的IP地址;
    master_port:主数据库的运行端口;
    master_user:在主数据库创建的用于同步数据的用户账号;
    master_password:在主数据库创建的用于同步数据的用户密码;
    master_log_file:指定从数据库要复制数据的日志文件,通过查看主数据的状态,获取File参数;
    master_log_pos:指定从数据库从哪个位置开始复制数据,通过查看主数据的状态,获取Position参数;
    master_connect_retry:连接失败重试的时间间隔,单位为秒。
    + +

    在从数据库中查看主从同步状态show slave status \G;

    +

    在从数据库中开启主从同步start slave

    +

    查看从数据库状态发现已经同步

    +
    + +
    + + +

    主从复制测试

    +

    主机创建数据库,创建表,插入数据,搜索表的数据

    +

    从机直接搜索标的数据

    +]]>
    + + 经验分享 + + + docker + +
    + + _dockerfile + /2022/08/26/docker/2022-08-25-_dockerfile/ + _dockerfile

    以dockerfile的方法来进行对centos的具有vim,ifconfig和jdk8的镜像

    创建myfile文件夹

    创建Dockerfile文件

    +

    注意:jdk8需要和Dockerfile放到同一个文件夹

    +
    +
    FROM centos:7												
    MAINTAINER zzyy<zzyybs@126.com>

    ENV MYPATH /usr/local
    WORKDIR $MYPATH

    #安装vim编辑器
    RUN yum -y install vim
    #安装ifconfig命令查看网络IP
    RUN yum -y install net-tools
    #安装java8及lib库
    RUN yum -y install glibc.i686
    RUN mkdir /usr/local/java
    #ADD 是相对路径jar,把jdk-8u171-linux-x64.tar.gz添加到容器中,安装包必须要和Dockerfile文件在同一位置
    ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
    #配置java环境变量
    ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
    ENV JRE_HOME $JAVA_HOME/jre
    ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
    ENV PATH $JAVA_HOME/bin:$PATH

    EXPOSE 80

    CMD echo $MYPATH
    CMD echo "success--------------ok"
    CMD /bin/bash
    + +

    创建好Dockerfile后,运行docker build -t 新镜像名称:Tag .

    注意:Tag后面有个空格,有个点

    +

    虚悬镜像

    +

    仓库名和标签名全部为的镜像

    +
    +

    碰到它还是进行删除的好

    +

    使用docker image ls -f dangling=true查找虚悬镜像

    +

    使用docker image prune删除镜像

    +]]>
    + + 经验分享 + + + docker + +
    + + _主从容错切换迁移 + /2022/08/26/docker/2022-08-25-_%E4%B8%BB%E4%BB%8E%E5%AE%B9%E9%94%99%E5%88%87%E6%8D%A2%E8%BF%81%E7%A7%BB/ + _主从容错切换迁移

    进入redis集群

    +

    注意:进入集群环境后,不能使用单机版的redis-cli -p 6381

    +
    +

    因为这样会在增加数据时有error报错出现

    +
    + +
    + + +

    使用set k1 v1错误是因为1号主机里面的编号是0到5460,超过了这个范围就会报错

    +
    +

    正确进入的方法redis-cli -p 6381 -c

    +

    -c 的作用是优化路由

    +
    +
    + +
    + + +

    注:FLUSHALL:作用是清除之前添加的记录

    +

    集群检查

    +

    redis-cli –cluster check 8.142.144.75:6381

    +
    +

    注:可以进入任意一台主机

    +
    + +
    + + +

    主从容错切换迁移

    +

    主机宕机,从机自动切换成主机

    +
    +]]>
    + + 经验分享 + + + docker + +
    + + docker 帮助启动类命令(一) + /2022/08/26/docker/2022-08-25-docker%20%E5%B8%AE%E5%8A%A9%E5%90%AF%E5%8A%A8%E7%B1%BB%E5%91%BD%E4%BB%A4%EF%BC%88%E4%B8%80%EF%BC%89/ + docker 帮助启动类命令(一)

    启动docker

    +
    +

    systemctl start docker

    +
    +

    停止docker

    +
    +

    systemctl stop docker

    +
    +

    查看docker状态

    +
    +

    systemctl status docker

    +
    +

    重启 docker,没有任何提示说明启动成功

    +
    +

    systemctl restart docker

    +
    +]]>
    + + 经验分享 + + + docker + +
    + + docker 帮助启动类命令(二) + /2022/08/26/docker/2022-08-25-docker%20%E5%B8%AE%E5%8A%A9%E5%90%AF%E5%8A%A8%E7%B1%BB%E5%91%BD%E4%BB%A4%EF%BC%88%E4%BA%8C%EF%BC%89/ + docker 帮助启动类命令(二)

    docker 开机启动

    +
    +

    systemctl enable docker

    +
    +

    查看 docker 概要信息

    +
    +

    docker info

    +
    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker info
    Client:
    Context: default
    Debug Mode: false
    Plugins:
    app: Docker App (Docker Inc., v0.9.1-beta3)
    buildx: Docker Buildx (Docker Inc., v0.7.1-docker)
    scan: Docker Scan (Docker Inc., v0.12.0)

    Server:
    Containers: 6
    Running: 0
    Paused: 0
    Stopped: 6
    Images: 5
    Server Version: 20.10.12
    Storage Driver: overlay2
    Backing Filesystem: extfs
    Supports d_type: true
    Native Overlay Diff: true
    userxattr: false
    Logging Driver: json-file
    Cgroup Driver: cgroupfs
    Cgroup Version: 1
    Plugins:
    Volume: local
    Network: bridge host ipvlan macvlan null overlay
    Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
    Swarm: inactive
    Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
    Default Runtime: runc
    Init Binary: docker-init
    containerd version: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
    runc version: v1.0.2-0-g52b36a2
    init version: de40ad0
    Security Options:
    seccomp
    Profile: default
    Kernel Version: 3.10.0-1160.45.1.el7.x86_64
    Operating System: CentOS Linux 7 (Core)
    OSType: linux
    Architecture: x86_64
    CPUs: 1
    Total Memory: 1.795GiB
    Name: iZ8vbfaek3x3ogtpxnpnwfZ
    ID: NQOP:KCP6:LS6G:K52A:XOQX:E7FG:FEHL:K3QX:NSLP:VY5S:TFX5:UR42
    Docker Root Dir: /var/lib/docker
    Debug Mode: false
    Registry: https://index.docker.io/v1/
    Labels:
    Experimental: false
    Insecure Registries:
    127.0.0.0/8
    Registry Mirrors:
    https://qp747t9w.mirror.aliyuncs.com/
    Live Restore Enabled: false

    + +

    查看 docker 总体帮助文档

    +
    +

    docker –help

    +
    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker --help

    Usage: docker [OPTIONS] COMMAND

    A self-sufficient runtime for containers

    Options:
    --config string Location of client config files (default "/root/.docker")
    -c, --context string Name of the context to use to connect to the daemon (overrides DOCKER_HOST
    env var and default context set with "docker context use")
    -D, --debug Enable debug mode
    -H, --host list Daemon socket(s) to connect to
    -l, --log-level string Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
    --tls Use TLS; implied by --tlsverify
    --tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem")
    --tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem")
    --tlskey string Path to TLS key file (default "/root/.docker/key.pem")
    --tlsverify Use TLS and verify the remote
    -v, --version Print version information and quit

    Management Commands:
    app* Docker App (Docker Inc., v0.9.1-beta3)


    查看 docker 命令帮助文档
    > docker 具体命令 --help

    ```shell
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker ps --help

    Usage: docker ps [OPTIONS]

    List containers

    Options:
    -a, --all Show all containers (default shows just running)
    -f, --filter filter Filter output based on conditions provided
    --format string Pretty-print containers using a Go template
    -n, --last int Show n last created containers (includes all states) (default -1)
    -l, --latest Show the latest created container (includes all states)
    --no-trunc Don't truncate output
    -q, --quiet Only display container IDs
    -s, --size Display total file sizes
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]#

    +]]>
    + + 经验分享 + + + docker + +
    + + docker 镜像(一) + /2022/08/26/docker/2022-08-25-docker%20%E9%95%9C%E5%83%8F%EF%BC%88%E4%B8%80%EF%BC%89/ + 镜像(一)

    查询本地主机上的镜像

    +

    docker images
    OPTIONS说明:

    +
      +
      • +
      • a 列出本地所有的镜像(含历史镜像)
      • +
      +
    • +
      • +
      • q 只显示镜像ID
      • +
      +
    • +
    +
    +

    举个栗子

    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    tomcat 9.0 b8e65a4d736d 4 months ago 680MB
    tomcat latest fb5657adc892 4 months ago 680MB
    hello-world latest feb5d9fea6a5 7 months ago 13.3kB
    centos latest 5d0da3dc9764 7 months ago 231MB
    ubuntu 15.10 9b9cb95443b5 5 years ago 137MB
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]#
    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker images -a
    REPOSITORY TAG IMAGE ID CREATED SIZE
    tomcat 9.0 b8e65a4d736d 4 months ago 680MB
    tomcat latest fb5657adc892 4 months ago 680MB
    hello-world latest feb5d9fea6a5 7 months ago 13.3kB
    centos latest 5d0da3dc9764 7 months ago 231MB
    ubuntu 15.10 9b9cb95443b5 5 years ago 137MB
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]#
    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker images -q
    b8e65a4d736d
    fb5657adc892
    feb5d9fea6a5
    5d0da3dc9764
    9b9cb95443b5
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]#

    + +

    查询镜像仓库是否有该镜像

    +

    docker search 镜像名称

    +
    +

    举个栗子

    STARS 点赞数
    OFFICIAL 官方认证

    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker search hello-world
    NAME DESCRIPTION STARS OFFICIAL AUTOMATED
    hello-world Hello World! (an example of minimal Dockeriz… 1718 [OK]
    kitematic/hello-world-nginx A light-weight nginx container that demonstr… 151
    + +

    显示前n条镜像

    +

    docker search –limit n 镜像名称

    +
    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker search --limit 5 redis
    NAME DESCRIPTION STARS OFFICIAL AUTOMATED
    redis Redis is an open source key-value store that… 10851 [OK]
    bitnami/redis Bitnami Redis Docker Image 214 [OK]
    bitnami/redis-sentinel Bitnami Docker Image for Redis Sentinel 36 [OK]
    circleci/redis CircleCI images for Redis 12 [OK]
    bitnami/redis-exporter 6
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#

    + +

    下载安装镜像到本地

    +

    docker pull 镜像名称:标签版本号

    +
    +

    没有tag就是最新版

    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker pull redis:6.0.8
    6.0.8: Pulling from library/redis
    bb79b6b2107f: Pull complete
    1ed3521a5dcb: Pull complete
    5999b99cee8f: Pull complete
    3f806f5245c9: Pull complete
    f8a4497572b2: Pull complete
    eafe3b6b8d06: Pull complete
    Digest: sha256:21db12e5ab3cc343e9376d655e8eabbdbe5516801373e95a8a9e66010c5b8819
    Status: Downloaded newer image for redis:6.0.8
    docker.io/library/redis:6.0.8
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#

    +]]>
    + + 经验分享 + + + docker + +
    + + redis的3主3从扩容 + /2022/08/26/docker/2022-08-25-redis3%E4%B8%BB3%E4%BB%8E%E6%89%A9%E5%AE%B9/ + redis的3主3从扩容

    首先添加两个redis

    # 创建redis-node-7
    docler run -d --name redis-node-7 --net host --privileged=true -v /data/redis/share/redis-node-7:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6387
    # 创建redis-node-8
    docler run -d --name redis-node-8 --net host --privileged=true -v /data/redis/share/redis-node-8:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6388
    + +

    注:在阿里云的安全组和防火墙上添加6387,16387 6388,16388四个端口

    +

    配置步骤:

    执行docker exec -it redis-node-1 bash 进入redis-node-1里面
    执行redis-cli --cluster add-node 8.142.144.75:6387 8.142.144.75:6381
    + +
    + + + +

    6387 新加入的节点

    +

    6381 相当于6387的领路人

    +
    使用redis-cli --cluster check 8.142.144.75:6381检查
    + +
    + +
    重新分配槽号
    +

    redis-cli –cluster reshard IP地址:端口号

    +
    +
    + +
    + +

    注:上图的1指的是:对主机数平分16384个节点,16384/主机数(包含想要添加的主机)

    +

    注:上图的2指的是:新加入的6387节点的ID

    +
    + +
    + +

    all:表示全部进行重新分配

    +

    在重新加载过程会碰到Do you want to proceed with the proposed reshard plan (yes/no)?一句话,选择yes就可以

    +
    + +
    + +
    检查集群情况
    + +
    + +
    为主节点6387分配从节点6388
    +

    redis-cli –cluster add-node ip:新slave端口 ip:新master端口 –cluster-slave –cluster-master-id 新主机节点ID

    +
    +
    + +
    + +
    检查集群情况
    + +
    +]]>
    + + 经验分享 + + + docker + +
    + + docker 镜像(二) + /2022/08/26/docker/2022-08-25-docker%20%E9%95%9C%E5%83%8F%EF%BC%88%E4%BA%8C%EF%BC%89/ + 镜像(二)

    查看 镜像/容器/数据 卷所占的空间

    +

    docker system df

    +
    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker system df
    TYPE TOTAL ACTIVE SIZE RECLAIMABLE
    Images 6 3 1.173GB 921.1MB (78%)
    Containers 6 0 4.517MB 4.517MB (100%)
    Local Volumes 0 0 0B 0B
    Build Cache 0 0 0B 0B
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#

    + +

    删除镜像

    +

    docker rmi 镜像ID

    +
    +
    #### 如果提示报错
    +Error response from daemon: conflict: unable to delete feb5d9fea6a5 (must be forced) - image is being used by stopped container 13111f725991
    +
    +说明之前运行过这个镜像,生成了容器,需要先删除容器,再删除镜像
    +
    +#### 使用 -f 删除一个
    +> docker rmi -f 镜像id
    +
    +#### 使用 -f 删除多个
    +> xxxxxxxxxx # 没有任何提示说明启动成功[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# systemctl restart docker[root@iZ8vbfaek3x3ogtpxnpnwfZ /]#shell
    +
    +#### 使用 -f 删除全部
    +> docker rmi -f $(docker images -qa)
    +
    +]]>
    + + 经验分享 + + + docker + +
    + + redis的4主4从缩容 + /2022/08/26/docker/2022-08-25-redis%E7%9A%844%E4%B8%BB4%E4%BB%8E%E7%BC%A9%E5%AE%B9/ + redis的4主4从缩容
    目的:6387和6388下线
    检查集群情况获得6388的节点ID
    +

    redis-cli –cluster check 8.142.144.75:6382

    +
    +
    + +
    + +
    从集群中将4号从节点6388删除
    +

    redis-cli –cluster del-node ip:从机端口 从机6388节点ID

    +
    +
    + +
    + +
    使用redis-cli --cluster check 8.142.144.75:6382进行集群检查
    + +
    + +

    6388删除成功

    +
    将6387的槽号清空,重新分配

    本例将清出来的槽号都给6381

    +

    使用redis-cli --cluster reshard ip:6381进行节点的重组

    +
    + +
    + +

    注:

    +

    上图中1输入的4096是6387主机所拥有的槽点数量,把他们全部拿出来分掉

    +

    上图的2输入的ID是接收6387主机所放出的槽点数的主机id

    +

    上图中3输入的ID是放出槽点数的6387主机的id

    +

    上图中4输入的done指的是已经输入完所有的节点

    +
    使用redis-cli --cluster check 8.142.144.75:6382进行集群检查
    + +
    + +
    删除6387节点的主机
    +

    redis-cli –cluster del-node ip:端口 6387节点ID

    +
    +
    + +
    + +
    使用redis-cli --cluster check 8.142.144.75:6382进行集群检查
    + +
    ]]>
    + + 经验分享 + + + docker + +
    + + 使用docker安装常用软件:mysql + /2022/08/26/docker/2022-08-25-%E4%BD%BF%E7%94%A8docker%E5%AE%89%E8%A3%85%E5%B8%B8%E7%94%A8%E8%BD%AF%E4%BB%B6%EF%BC%9Amysql/ + 使用docker安装常用软件:mysql

    以mysql 5.7为例

    使用docker pull mysql:5.7拉取mysql 5.7镜像

    +

    使用镜像创建容器

    简单版

    使用docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7运行镜像创建容器

    +
    +

    因为linux系统自己装了mysql,避免端口冲突,先运行ps -ef|grep mysql查询

    +
    +

    使用docker ps查询容器编号

    +

    使用docker exec -it 容器编号 bash进入mysql容器

    +

    使用mysql -uroot -p,输入密码,登录mysql

    +
    验证

    show databases

    +
    mysql> show databases
    -> ;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | performance_schema |
    | sys |
    +--------------------+
    + +
    中文乱码问题
    INSERT INTo t1 VALUES(3, "张三");
    ---
    INSERT INTo t1 VALUES(3, "张三")
    > 1366 - Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'name' at row 1
    > 时间: 0.038s
    + +

    因为docker默认编码字符集隐患

    +
    mysql> SHOW VARIABLES LIKE 'character%';
    +--------------------------+----------------------------+
    | Variable_name | Value |
    +--------------------------+----------------------------+
    | character_set_client | latin1 |
    | character_set_connection | latin1 |
    | character_set_database | latin1 |
    | character_set_filesystem | binary |
    | character_set_results | latin1 |
    | character_set_server | latin1 |
    | character_set_system | utf8 |
    | character_sets_dir | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    mysql>
    + +

    解决中文乱码问题

    在宿主机的/ggls/mysql/conf目录下vim my.cnf文件,通过容器卷同步给容器实例

    +
    [client]
    default_character_set=utf8
    [mysqld]
    collation_server = utf8_general_ci
    character_set_server = utf8
    + +

    改完后重启mysql实例

    +
    服务器输入SHOW VARIABLES LIKE 'character%';验证

    docker安装好并run出容器后,先修改字符集编码在创建mysql库

    +
    删库备份问题

    只要本机上面的容器卷存在,容器卷位置没有改变的情况下,就算容器被删除,重新打开后,创建的数据库,表都还存在

    +

    工作使用版启动容器方法

    +
    docker run -d -p 3306:3306 --privileged=true
    -v /ggls/mysql/log:/var/log/mysql
    -v /ggls/mysql/data:/var/lib/mysql
    -v /ggls/mysql/conf:/etc/mysql/conf.d
    -e MYSQL_ROOT_PASSWORD=123456
    --name mysql
    mysql:5.7
    + + + +]]>
    + + 经验分享 + + + docker + +
    + + 使用docker安装常用软件:redis + /2022/08/26/docker/2022-08-25-%E4%BD%BF%E7%94%A8docker%E5%AE%89%E8%A3%85%E5%B8%B8%E7%94%A8%E8%BD%AF%E4%BB%B6%EF%BC%9Aredis/ + 使用docker安装常用软件:redis

    使用docker pull redis:6.0.8 拉取redis:6.0.8镜像

    +

    创建容器

    +
    +

    容器卷要加入--privileged=true

    +
    +

    在宿主机下新建目录mkdir -p /app/redis

    +]]>
    + + 经验分享 + + + docker + +
    + + 使用docker安装常用软件:tomcat + /2022/08/26/docker/2022-08-25-%E4%BD%BF%E7%94%A8docker%E5%AE%89%E8%A3%85%E5%B8%B8%E7%94%A8%E8%BD%AF%E4%BB%B6%EF%BC%9Atomcat/ + 使用docker安装常用软件:tomcat

    安装流程

    首先把tomcat在镜像源中pull下来,使用docker images 查看镜像

    +

    使用docker run -d -p 8080:8080 tomcat:9.0 新建容器运行tomcat

    +
    +

    运行后使用本地PC使用阿里云的ip和端口访问docker上面的tomcat

    +
    +
    + +
    + + + +

    这是什么原因呢

    使用docker ps查询到容器编号,docker exec -it 容器编号 bash 打开容器

    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    c52ab6b8b8df b8e65a4d736d "catalina.sh run" 7 minutes ago Up 7 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp inspiring_bohr
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker exec -it c52ab6b8b8df bash
    root@c52ab6b8b8df:/usr/local/tomcat#
    + +

    使用ls-l查看文件列表

    +
    root@c52ab6b8b8df:/usr/local/tomcat# ls -l
    total 156
    -rw-r--r-- 1 root root 18970 Dec 2 14:30 BUILDING.txt
    -rw-r--r-- 1 root root 6210 Dec 2 14:30 CONTRIBUTING.md
    -rw-r--r-- 1 root root 57092 Dec 2 14:30 LICENSE
    -rw-r--r-- 1 root root 2333 Dec 2 14:30 NOTICE
    -rw-r--r-- 1 root root 3378 Dec 2 14:30 README.md
    -rw-r--r-- 1 root root 6898 Dec 2 14:30 RELEASE-NOTES
    -rw-r--r-- 1 root root 16507 Dec 2 14:30 RUNNING.txt
    drwxr-xr-x 2 root root 4096 Dec 22 17:16 bin
    drwxr-xr-x 1 root root 4096 Apr 29 01:48 conf
    drwxr-xr-x 2 root root 4096 Dec 22 17:16 lib
    drwxrwxrwx 1 root root 4096 Apr 29 01:48 logs
    drwxr-xr-x 2 root root 4096 Dec 22 17:16 native-jni-lib
    drwxrwxrwx 2 root root 4096 Dec 22 17:16 temp
    drwxr-xr-x 2 root root 4096 Dec 22 17:16 webapps
    drwxr-xr-x 7 root root 4096 Dec 2 14:30 webapps.dist
    drwxrwxrwx 2 root root 4096 Dec 2 14:30 work
    root@c52ab6b8b8df:/usr/local/tomcat#
    + +

    从列表可以看到有两个文件夹webappswebapps.dist,数据全部在webapps.dist里面,需要将webapps删除,把webapps.dist重命名成webapps即可访问

    +

    使用rm -rf webapps删除webapps文件夹

    +

    使用mv webapps.dist webapps 重命名

    +

    再次使用本地访问

    +
    + +
    + + +

    使用免修改版的tomcat

    +

    docker pull billygoo/tomcat8-jdk8

    +

    docker run -d -p 8080:8080 –name tomcat8 billygoo/tomcat8-jdk8

    +
    +]]>
    + + 经验分享 + + + docker + +
    + + 容器数据卷 + /2022/08/26/docker/2022-08-25-%E5%AE%B9%E5%99%A8%E6%95%B0%E6%8D%AE%E5%8D%B7/ + 容器数据卷

    运行带有容器数据卷的容器实例

    docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名
    + +

    举个栗子

    +

    宿主vs容器之间映射添加容器卷

    +
    +
      +
    • 使用docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名 添加
    • +
    +
    docker run -it --privileged=true -v /tmp/host_data:/tmp/docker_data --name=ui ubuntu
    + +
      +
    • 查看数据卷是否挂载成功
    • +
    +
    `在容器内部创建一个dockerin.txt文件
    root@48955acecd79:/tmp/docker_data# touch dockerin.txt
    root@48955acecd79:/tmp/docker_data# ll
    total 8
    drwxr-xr-x 2 root root 4096 Apr 28 09:21 ./
    drwxrwxrwt 1 root root 4096 Apr 28 09:18 ../
    -rw-r--r-- 1 root root 0 Apr 28 09:21 dockerin.txt
    `在宿主机目录下查看该文件
    root@48955acecd79:/tmp/docker_data# [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# cd /tmp/host_data/
    [root@iZ8vbfaek3x3ogtpxnpnwfZ host_data]# ll
    total 0
    -rw-r--r-- 1 root root 0 Apr 28 17:21 dockerin.txt
    `在宿主机创建一个文件
    [root@iZ8vbfaek3x3ogtpxnpnwfZ host_data]# touch host.txt

    `在容器查看文件
    [root@iZ8vbfaek3x3ogtpxnpnwfZ host_data]# docker exec -it 48955acecd79 bash
    root@48955acecd79:/# cd /tmp/docker_data/

    + 容器和宿主机之间数据共享

    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker ps
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]#
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker commit -m="vim cmd add ok" -a="ggls" 356e32244966 ggls/ubuntu:1.5sha256:87e99e19eeef47d4f0daaffc8498690614e0d95eae60ef61b439abe97b62fd16[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker images
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# shell

    + 主机修改,docker同步获得

    + docker容器stop,主机修改,docker容器重启数据同步

    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -a -q | xargs docker rm -f562278524cdacdee90a8c77d

    + 默认是可读可写的

    ```shell
    docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw 镜像名
    + + + +
      +
    • 修改成容器只读
    • +
    +
    docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro 镜像名
    + +
    +

    卷的继承和共享

    +
    +
      +
    • 容器1完成和宿主机的映射
        +
      • 容器2继承容器1,则容器2操作后同步到容器1和宿主机
      • +
      • 宿主机操作同步到容器1,容器2
      • +
      • 容器1操作同步到宿主机,容器2
      • +
      +
    • +
    +
    docker run -it --privileged=true --volumes-from 父类 --name u2 ubuntu
    + + + +]]>
    + + 经验分享 + + + docker + +
    + + 容器(一) + /2022/08/26/docker/2022-08-25-%E5%AE%B9%E5%99%A8%EF%BC%88%E4%B8%80%EF%BC%89/ + 容器(一)

    新建和启动容器

    OPTIONS说明:

      +
    • – name = “容器新名称” 为容器制定一个名称
    • +
    • -d 后台运行容器并返回容器id, 即启动守护式容器(后台运行)
    • +
    • -i 以交互模式运行容器,通常与 -t 同时使用
    • +
    • -t 为容器重新分配一个伪输入终端,通常与 -i 连用,也就是启动交互式容器
    • +
    • -P 随机端口映射
    • +
    • -p 指定端口映射
    • +
    +

    举个栗子

    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    tomcat 9.0 b8e65a4d736d 4 months ago 680MB
    redis 6.0.8 16ecd2772934 18 months ago 104MB
    ubuntu 15.10 9b9cb95443b5 5 years ago 137MB
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker run -it ubuntu:15.10 /bin/bash
    root@4fb757f69adb:/# ps -ef
    UID PID PPID C STIME TTY TIME CMD
    root 1 0 0 03:26 pts/0 00:00:00 /bin/bash
    root 11 1 0 03:26 pts/0 00:00:00 ps -ef
    root@4fb757f69adb:/# ls
    bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
    root@4fb757f69adb:/# exit
    exit
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
    +

    docker run -it ubuntu:15.10 /bin/bash
    /bin/bash 希望有交互式shell 就用/bin/bash

    +

    查询正在运行的容器

    +

    docker ps [OPTIONS]

    +
    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -a
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    cdee90a8c77d ubuntu "bash" 3 minutes ago Exited (0) 3 minutes ago ubuntu
    0dcaa91afc0e ubuntu "/bin/bush" 5 minutes ago Created myubuntu
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
    +

    OPTIONS:

    +
      +
    • -a 展示所有容器,包含历史用过容器
    • +
    • -d 只展示容器id
    • +
    • -l 显示最近创建的容器
    • +
    • -n 展示最近创建的前n个容器
      List containers
      [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -n 1
      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
      cdee90a8c77d ubuntu "bash" 17 minutes ago Exited (0) 17 minutes ago ubuntu
      [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
      [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -an 1
      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
      cdee90a8c77d ubuntu "bash" 17 minutes ago Exited (0) 17 minutes ago ubuntu
      [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -an 2
      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
      cdee90a8c77d ubuntu "bash" 17 minutes ago Exited (0) 17 minutes ago ubuntu
      0dcaa91afc0e ubuntu "/bin/bush" 19 minutes ago Created myubuntu
      [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#

    • +
    +

    退出容器

      +
    • exit
    • +
    +

    run进入容器,exit退出容器, 容器停止

    +
      +
    • ctrl + p + q
    • +
    +

    run进入容器,exit退出容器, 容器不停止

    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker run -it ubuntu bash
    root@562278524cda:/# [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    562278524cda ubuntu "bash" 16 seconds ago Up 15 seconds loving_dewdney
    +]]>
    + + 经验分享 + + + docker + +
    + + 容器(二) + /2022/08/26/docker/2022-08-25-%E5%AE%B9%E5%99%A8%EF%BC%88%E4%BA%8C%EF%BC%89/ + 容器(二)

    启动已经停止运行的容器

    +

    docker start 容器id/容器名

    +
    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -a
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    562278524cda ubuntu "bash" 4 minutes ago Up 4 minutes loving_dewdney
    9a1a43aee837 ubuntu "bush" 4 minutes ago Created admiring_wiles
    cdee90a8c77d ubuntu "bash" 29 minutes ago Exited (0) 29 minutes ago ubuntu
    0dcaa91afc0e ubuntu "/bin/bush" 31 minutes ago Created myubuntu
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    562278524cda ubuntu "bash" 4 minutes ago Up 4 minutes loving_dewdney
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker start cdee90a8c77d
    cdee90a8c77d
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    562278524cda ubuntu "bash" 5 minutes ago Up 5 minutes loving_dewdney
    cdee90a8c77d ubuntu "bash" 30 minutes ago Up 3 seconds ubuntu
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#
    + +

    重启容器

    +

    docker restart 容器id/容器名

    +
    +

    停止容器

    +

    docker stop 容器id/容器名

    +
    +

    强制停止容器

    +

    docker kill 容器id/容器名

    +
    +

    删除已经停止的容器

    +

    docker rm 容器id

    +
    +

    一次性删除多个容器

      +
    • docker rm -f $(docker ps -a -q)
    • +
    • docker ps -a -q | xargs docker rm
    • +
    +

    注:xargs是linux系统的可变参数,把分隔符前面的结果传给xargs里面,然后执行分隔符后面的命令

    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    562278524cda ubuntu "bash" 20 minutes ago Up 20 minutes loving_dewdney
    cdee90a8c77d ubuntu "bash" 45 minutes ago Up 15 minutes ubuntu
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -a -q | xargs docker rm -f
    562278524cda
    cdee90a8c77d
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#

    +]]>
    + + 经验分享 + + + docker + +
    + + 容器(三) + /2022/08/26/docker/2022-08-25-%E5%AE%B9%E5%99%A8%EF%BC%88%E4%B8%89%EF%BC%89%EF%BC%88%E9%87%8D%E8%A6%81%EF%BC%89/ + 容器(三)

    创建后台守护式容器

    (问题):使用docker run -d ubuntu命令启动后台模式的容器ubuntu,然后用docker ps 查询提示没有找到运行的容器

    +
    +

    Docker容器后台运行就必须有一个前台进程,不然容器没事做,会自杀

    +
    +

    解决方法:将运行的程序以前台进程的方式运行
    常见方式:命令行模式

    +

    查看容器日志

    +

    docker logs 容器id

    +
    +

    查看容器的进程

    +

    docker top 容器id

    +
    +

    查看容器内部细节

    +

    docker inspect 容器id

    +
    +

    重新进入

      +
    • 进入正在运行的容器并以命令行交互

      +
      +

      docker exec -it 容器id bashShell

      +
      +
    • +
    • 重新进入

      +
      +

      docker attach 容器id

      +
      +
    • +
    +

    (区别)
    attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止
    exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止

    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
    CONTAINER ID   IMAGE     COMMAND   CREATED         STATUS         PORTS     NAME
    S562278524cda   ubuntu    "bash"    20 minutes ago   Up 20 minutes             loving_dewdn
    eycdee90a8c77d   ubuntu    "bash"    45 minutes ago   Up 15 minutes             ubuntu

    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps -a -q | xargs docker rm -f562278524cdacdee90a8c77d
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker ps
    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS   PORTS     NAMES

    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]#​shell
    + +

    从容器内拷贝文件到主机

    +

    docker cp 容器id:容器地址 主机地址

    +
    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# docker cp 26191ecfb227:/tmp/a.txt /opt/ab.txt
    [root@iZ8vbfaek3x3ogtpxnpnwfZ ~]# cd /opt/
    [root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# ll
    total 8
    -rw-r--r-- 1 root root 0 Apr 27 15:13 ab.txt
    drwx--x--x 4 root root 4096 Dec 28 16:17 containerd
    drwxr-xr-x 4 root root 4096 Dec 8 16:49 downfile
    [root@iZ8vbfaek3x3ogtpxnpnwfZ opt]#

    +

    导入和导出容器

      +
    • export 导出容器的内容留作为一个tar归档文件[对应import命令]

      +
      +

      docker export 容器id > 自定义文件名.tar

      +
      +
    • +
    • import从tar包中的内容创建一个新的文件系统再导入为镜像[export]

      +
      +

      cat 文件名.tar | docker import - 自定义/镜像名:3.5(3.5是自定义)

      +
      +
    • +
    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    26191ecfb227 ubuntu "bash" 7 minutes ago Up 7 minutes quirky_jemison
    [root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# docker export 26191ecfb227 > abcd.tar
    [root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# ll
    total 73408
    -rw-r--r-- 1 root root 75158016 Apr 27 15:21 abcd.tar
    -rw-r--r-- 1 root root 0 Apr 27 15:13 ab.txt
    drwx--x--x 4 root root 4096 Dec 28 16:17 containerd
    drwxr-xr-x 4 root root 4096 Dec 8 16:49 downfile
    [root@iZ8vbfaek3x3ogtpxnpnwfZ opt]#

    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    [root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# ll
    total 73408
    -rw-r--r-- 1 root root 75158016 Apr 27 15:21 abcd.tar
    -rw-r--r-- 1 root root 0 Apr 27 15:13 ab.txt
    drwx--x--x 4 root root 4096 Dec 28 16:17 containerd
    drwxr-xr-x 4 root root 4096 Dec 8 16:49 downfile
    [root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# cat abcd.tar | docker import - mytest/ubuntu:3.5
    sha256:a92a27affdde8ad7f07bef2fdc0f04b8e3aeacb9d6919a77da2921d552ab940b
    [root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    mytest/ubuntu 3.5 a92a27affdde 11 seconds ago 72.8MB
    tomcat 9.0 b8e65a4d736d 4 months ago 680MB
    ubuntu latest ba6acccedd29 6 months ago 72.8MB
    redis 6.0.8 16ecd2772934 18 months ago 104MB
    [root@iZ8vbfaek3x3ogtpxnpnwfZ opt]# docker run -it mytest/ubuntu:3.5 bash
    root@356e32244966:/#
    root@356e32244966:/# cd /tmp/
    root@356e32244966:/tmp# ll
    total 8
    drwxrwxrwt 2 root root 4096 Apr 27 07:13 ./
    drwxr-xr-x 1 root root 4096 Apr 27 07:32 ../
    -rw-r--r-- 1 root root 0 Apr 27 07:13 a.txt
    root@356e32244966:/tmp#

    ]]>
    + + 经验分享 + + + docker + +
    + + 本地镜像发布到阿里云 + /2022/08/26/docker/2022-08-25-%E6%9C%AC%E5%9C%B0%E9%95%9C%E5%83%8F%E5%8F%91%E5%B8%83%E5%88%B0%E9%98%BF%E9%87%8C%E4%BA%91/ + 本地镜像发布到阿里云
    +

    使用docker进行对docker镜像功能的新增后,需要发布到阿里云上对镜像进行同步,下次pull镜像就不要pull缩减版的镜像,直接pull更新后的镜像,方便后续使用

    +

    执行顺序

      +
    • 阿里云开发者平台
    • +
    • 点击镜像容器服务
    • +
    • 创建镜像仓库
        +
      • 创建命名空间
      • +
      • 创建镜像仓库
      • +
      +
    • +
    +

    然后在基本信息上面就可以看到仓库指南

    +
    +

    根据指南进行操作

    +
    +
    + +
    + +
    + +
    + +
    + +
    +]]>
    + + 经验分享 + + + docker + +
    + + 本地镜像发布到私有库 + /2022/08/26/docker/2022-08-25-%E6%9C%AC%E5%9C%B0%E9%95%9C%E5%83%8F%E5%8F%91%E5%B8%83%E5%88%B0%E7%A7%81%E6%9C%89%E5%BA%93/ + 本地镜像发布到私有库
    +

    步骤

    +
    +
      +
    • 下载Docker Registry
    • +
    +
    docker pull registry
    + +
      +
    • 运行私有库 Registry,相当于本地有Docker Registry
    • +
    +
    docker run -d -p 5000:5000 -v/ggls/myregistry/:/tmp/registry --privileged=true registry
    + +
      +
    • 新启动ubuntu容器,新增ifconfig命令

      +
        +
      • ​ 进入容器中输入apt-get update命令
      • +
      • ​ 输入apt-get install net-tools命令
      • +
      • xxxxxxxxxx [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker psCONTAINER ID   IMAGE               COMMAND   CREATED       STATUS       PORTS     NAMES356e32244966   mytest/ubuntu:3.5   “bash”    2 hours ago   Up 2 hours             elated_aryabhata[root@iZ8vbfaek3x3ogtpxnpnwfZ /]#[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker commit -m=”vim cmd add ok” -a=”ggls” 356e32244966 ggls/ubuntu:1.5sha256:87e99e19eeef47d4f0daaffc8498690614e0d95eae60ef61b439abe97b62fd16[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker imagesREPOSITORY     TAG       IMAGE ID       CREATED         SIZEggls/ubuntu     1.5       87e99e19eeef   7 seconds ago   176MBmytest/ubuntu   3.5       a92a27affdde   2 hours ago     72.8MBtomcat          9.0       b8e65a4d736d   4 months ago   680MBubuntu         latest   ba6acccedd29   6 months ago    72.8MBredis           6.0.8     16ecd2772934   18 months ago   104MB[root@iZ8vbfaek3x3ogtpxnpnwfZ /]# shell
      • +
      +
    • +
    • 容器外部执行docker commit -m="ifconfig cmd add" -a="ggls" ffcc5edf5071 ubuntu:1.6命令

      +
    • +
    • curl验证私服库上有什么镜像

      +
    • +
    +
    curl -XGET http://8.142.144.75:5000/v2/_catalog
    + +
      +
    • 将新镜像修改为符合私服库格式的镜像
    • +
    +
    docker tag 镜像:Tag Host:Port/Repository:Tag
    #
    docker tag ubuntu:1.6 8.142.144.75:5000/ubuntu:1.3
    + +
      +
    • 修改配置文件使之支持http

      +
      +

      docker 默认不允许http方式推送镜像,通过此配置取消这个限制,若不生效,重启docker

      +
      +
        +
      • 使用命令vim /etc/docker/daemon.json打开配置文件
      • +
      • 在阿里云加速后面新增一个json
      • +
      +
      {
      "registry-mirrors": ["https://qp747t9w.mirror.aliyuncs.com"],
      "insecure-registries": ["8.142.144.75:5000"]
      }
      + +
        +
      • 重启docker,重启docker私服仓库
      • +
      +
    • +
    • push推送到私服库

      +
    • +
    +
    docker push 符合私服库格式的镜像名称:tag
    + +
      +
    • curl验证私服库上有什么镜像
    • +
    • pull到本地并运行
    • +
    +
    docker pull 8.142.144.75:5000/ubuntu:1.6
    + + + +]]>
    + + 经验分享 + + + docker + +
    + + 镜像 + /2022/08/26/docker/2022-08-25-%E9%95%9C%E5%83%8F/ + 镜像

    背景

    docker镜像是最小的,被精简过的Linux系统,是不带vim命令的

    +
    +

    使用命令 ‘vim a.txt’ 进行新建编辑a.txt文件,就会提示找不到命令

    +
    +

    给镜像容器新增vim命令

      +
    1. 更新镜像

      +
      +

      apt-get update

      +
      +
    2. +
    3. 下载vim功能

      +
      +

      apt-get -y install vim

      +
      +
    4. +
    5. 提交副本使成为一个新镜像

      +
      +

      docker commit -m=”提交的描述信息” -a=”作者” 容器id 要创建的目标镜像名:[标签名]

      +
      +
    6. +
    +
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    356e32244966 mytest/ubuntu:3.5 "bash" 2 hours ago Up 2 hours elated_aryabhata
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]#
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker commit -m="vim cmd add ok" -a="ggls" 356e32244966 ggls/ubuntu:1.5
    sha256:87e99e19eeef47d4f0daaffc8498690614e0d95eae60ef61b439abe97b62fd16
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    ggls/ubuntu 1.5 87e99e19eeef 7 seconds ago 176MB
    mytest/ubuntu 3.5 a92a27affdde 2 hours ago 72.8MB
    tomcat 9.0 b8e65a4d736d 4 months ago 680MB
    ubuntu latest ba6acccedd29 6 months ago 72.8MB
    redis 6.0.8 16ecd2772934 18 months ago 104MB
    [root@iZ8vbfaek3x3ogtpxnpnwfZ /]#
    +]]>
    + + 经验分享 + + + docker + +
    + + 使用moko编写测试接口(无) + /2022/11/28/moko/2022-11-28-moko/ + 测试

    测试

    测试moko


    +

    测试

    +

    🐱

    +

    ❄️

    +]]>
    + + 经验分享 + + + java + +
    + + 使用moko编写包含cookie信息的测试接口(二) + /2022/11/28/moko/2022-11-28-%E4%BD%BF%E7%94%A8moko%E7%BC%96%E5%86%99%E5%8C%85%E5%90%ABcookie%E4%BF%A1%E6%81%AF%E7%9A%84%E6%B5%8B%E8%AF%95%E6%8E%A5%E5%8F%A3%EF%BC%88%E4%B8%89%EF%BC%89/ + 上一节已经写了规则,这次直接来编写Get和Post请求

    +

    这是一个会返回cookie的get请求

    {
    "description": "这是一个会返回cookie的get请求",
    "request": {
    "uri": "/getCookies",
    "method": "get"
    },
    "response": {
    "cookies": {
    "login": "true"
    },
    "text": "恭喜你获得cookies信息成功",
    "status": 200,
    "msg": "成功"
    }
    }
    + +

    这是一个携带cookies信息的get请求

    {
    "description": "这是一个带cookies信息的get请求",
    "request": {
    "uri": "/get/with/cookies",
    "method": "get",
    "cookies": {
    "login": "true"
    }
    },
    "response": {
    "text": "这是一个需要携带cookies信息才能访问的get请求"
    }
    }
    + +

    这是一个携带cookies信息的post请求

    {
    "description": "这是一个带cookies信息的post请求",
    "request": {
    "uri": "/post/with/cookies",
    "method": "post",
    "cookies": {
    "login": "true"
    },
    "json": {
    "name": "huhansan",
    "age": "18"
    }
    },
    "response": {
    "status": 200,
    "json": {
    "huhansan": "success",
    "status": "1"
    }
    }
    }
    + +]]>
    + + 经验分享 + + + java + +
    + + 使用moko编写测试接口(一) + /2022/11/28/moko/2022-11-28-%E4%BD%BF%E7%94%A8moko%E7%BC%96%E5%86%99%E6%B5%8B%E8%AF%95%E6%8E%A5%E5%8F%A3%EF%BC%88%E4%B8%80%EF%BC%89/ + 编写规则
      +
    • []包裹着以{}包起来的接口脚本

      +
    • +
    • description:接口简介

      +
    • +
    • request:使用{}包含接口的请求信息

      +
        +
      • uri:接口的地址名称
      • +
      • method:请求方法
      • +
      • queries:get请求参数
      • +
      • forms:post请求参数
      • +
      • headers:请求头信息
      • +
      +
    • +
    • response:返回的数据,使用{}

      +
        +
      • text:返回的文字数据
      • +
      • cookies:返回的cookie信息
      • +
      • status:返回的响应码
      • +
      +
    • +
    +

    举个栗子demo

    +
    [
    {
    "description": "这是我们的第一个mock栗子",
    "request": {
    "uri": "/demo"
    },
    "response": {
    "text": "第一个mock响应demo"
    }
    }
    ]
    +

    get请求demo

    +
    [
    {
    "description": "接口的get请求",
    "request": {
    "uri": "/#/test/xml",
    "method": "get"
    },
    "response": {
    "text": "get请求接口"
    }
    }
    ]
    ]]>
    + + 经验分享 + + + java + +
    + + 使用moko编写Get和Post测试接口(二) + /2022/11/28/moko/2022-11-28-%E4%BD%BF%E7%94%A8moko%E7%BC%96%E5%86%99Get%E5%92%8CPost%E6%B5%8B%E8%AF%95%E6%8E%A5%E5%8F%A3%EF%BC%88%E4%BA%8C%EF%BC%89/ + 上一节已经写了规则,这次直接来编写Get和Post请求

    +

    模拟一个没有参数的get请求

    +
    {
    "description": "模拟一个没有参数的get请求",
    "request": {
    "uri": "/getdemo",
    "method": "get"
    },
    "response": {
    "text": "这是一个没有参数的get请求"
    }
    }
    +

    模拟一个带参数的请求

    +
    {
    "description": "模拟一个带参数的请求",
    "request": {
    "uri": "getwithparam",
    "method": "get",
    "queries": {
    "name": "胡汉三",
    "age": "18"
    }
    },
    "response": {
    "text": "我胡汉三又回来了!!!!!"
    }
    }
    + +

    模拟一个Post请求

    +
    {
    "description": "模拟一个Post请求",
    "request": {
    "uri": "/postdemo",
    "method": "post"
    },
    "response": {
    "text": "这是我的第一个mosk的post请求"
    }
    }
    + +

    这是一个带参数的post请求

    +
    {
    "description": "这是一个带参数的post请求",
    "request": {
    "uri": "/postwithparam",
    "method": "post",
    "forms": {
    "name": "胡汉三",
    "sex": "男人"
    }
    },
    "response": {
    "text": "我胡汉三带着参数来了!!!!"
    }
    }
    ]]>
    + + 经验分享 + + + java + +
    + + 使用moko编写测试接口(五) + /2022/11/28/moko/2022-11-28-%E4%BD%BF%E7%94%A8moko%E7%BC%96%E5%86%99%E6%B5%8B%E8%AF%95%E6%8E%A5%E5%8F%A3%EF%BC%88%E4%BA%94%EF%BC%89/ + 下载jar包

    点击moke选择版本进行下载,我下载的的是moco-runner-0.11.0-standalone.jar

    +

    使用命令启动测试脚本

    java -jar jar包的存放路径 http -p 端口 -c json文件路径
    ]]>
    + + 经验分享 + + + java + +
    + + 使用moko编写重定向测试接口(四) + /2022/11/28/moko/2022-11-28-%E4%BD%BF%E7%94%A8moko%E7%BC%96%E5%86%99%E9%87%8D%E5%AE%9A%E5%90%91%E7%9A%84%E6%B5%8B%E8%AF%95%E6%8E%A5%E5%8F%A3%EF%BC%88%E5%9B%9B%EF%BC%89/ + 上一节已经写了规则,这次直接来编写Get和Post请求

    +

    重定向的测试接口

      +
    • 使用了redirectTo:目标地址
    • +
    +
    [
    {
    "description": "重定向到百度",
    "request": {
    "uri": "/redirect"
    },
    "redirectTo": "http://www.baidu.com"
    },
    {
    "description": "重定向到自己的网页上",
    "request": {
    "uri": "/redirect/topath"
    },
    "redirectTo": "/redirect/new"
    },
    {
    "description": "这是被重定到的请求",
    "request": {
    "uri": "/redirect/new"
    },
    "response": {
    "text": "重定向成功了"
    }
    }
    ]
    +]]>
    + + 经验分享 + + + java + +
    + + 使用jmeter录制压测 + /2022/08/26/jmeter/2022-10-30-%E7%AC%AC%E4%B8%80%E6%AC%A1%E4%BD%BF%E7%94%A8jmeter%E5%8E%8B%E6%B5%8B/ + 业务
      +
    • 压测对象:http://news.baidu.com
    • +
    • 压测页面:首页、国际频道、财经频道
    • +
    • 步骤
        +
      • 访问首页
      • +
      • 单击“国际”(频道)
      • +
      • 单击“财经”(频道)
      • +
      +
    • +
    • 操作手段:录制回放
    • +
    +

    操作步骤

      +
    • 添加录制器“HTTP(S) Test Script Recorder”

      +
        +
      • 右键Test Plan,点击add
      • +
      • 点击Non-Test Elements
      • +
      • 点击HTTP(S) Test Script Recorder
      • +
      +
    • +
    • 添加线程组“Thread Group”

      +
    • +
    • 添加录制控制器“Recording Controller”,

      +
        +
      • 右键线程组,点击and
      • +
      • 点击Logic Controller
      • +
      • 点击Recording Controller
      • +
      +
    • +
    • 录制脚本的配置(Test Plan Creation)

      +
        +
      • Port=8088
      • +
      • Target Controller = TestPlan > Tread Group > Recording Controller
      • +
      • 其他的配置保持默认
      • +
      +
    • +
    • 录制脚本的配置(Requests Filtering 请求过滤器)

      +
        +
      • URl Patterns to Include上添加正则.*\.(baidu\.com).*;表示只抓取百度URL的内容,不抓取其他网站的
      • +
      • URl Patterns to Exclude上添加正则.*\.(js|css|PNG|jpg|jpeg|ico|png|gif).*;去掉一些静态请求
      • +
      • 目的是:避免录制过多没必要的请求
      • +
      +
    • +
    • 单击保存按钮,将Jmeter脚本存储

      +
    • +
    • +
    • 打开浏览器,设置代理,将浏览器的代理服务地址指向http://localhost:8088,然后就可以进行访问录制了

      +
    • +
    • +
    • 访问百度新闻的首页、国际、财经页面

      +
    • +
    • +
    • 查看jmeter,录制结果在Recording Controller下面看到,然后停止录制

      +
    • +
    +

    校验

    录制结束后,要对录制的代码进行校验

    +
      +
    • 添加查看结果树组件
    • +
    +

    运行录制的代码,在查看结果树上查看运行的结果

    +]]>
    + + 工具教程 + + + jmeter + +
    + + Jmeter之断言和聚合报告 + /2022/11/16/jmeter/2022-11-16-Jmeter%E4%B9%8B%E6%96%AD%E8%A8%80/ + 怎么对请求进行响应断言
      +
    • 右键 HTTP Request

      +
    • +
    • 点击add --> Assertions --> Response Assertion

      +
    • +
    +

    断言组件就添加成功

    +

    配置响应断言

    Field to Test 下面就是断言的各种方法

    +
      +
    • Text Response 文本断言
    • +
    +
    +

    Patterns to Test输入title之间包含的文字,及配置成功

    +
    +
      +
    • Response Code 响应码断言
    • +
    +
    +

    Patterns to Test输入响应码,比如 200

    +
    +
      +
    • Response Message
    • +
    • Request Headers
    • +
    • URL Sampled
    • +
    • Document(text)
    • +
    • Request Data
    • +
    +

    然后运行但并发压测,验证断言添加是否正确,在View Results Tree 中查看结果

    +

    怎么使用聚合报告

      +
    • 右键 Thread Group

      +
    • +
    • 点击 Add --> Listener --> Aggregate Report

      +
    • +
    +

    聚合报告就添加了

    +

    性能指标解读

      +
    • Average: 单个请求的平均响应时间
    • +
    • Median: 中位数,也就是50%用户的响应时间
    • +
    • 90%Line: 90%用户的响应时间
    • +
    • 95%Line: 95%用户的响应时间
    • +
    • 99%Line: 99%用户的响应时间
    • +
    • Min: 最小的请求响应时间
    • +
    • Max: 最大的请求响应时间
    • +
    • Error%: 错误率
    • +
    • Throughput: 吞吐量
    • +
    • Received KB/sec: 每秒从服务器接收到的数据量
    • +
    • Sent KB/sec: 每秒从客户端发送的请求的数量
    • +
    +]]>
    + + 工具教程 + + + jmeter + +
    + + Jmeter之静默压测 + /2022/11/17/jmeter/2022-11-17-jmeter%E6%80%8E%E4%B9%88%E8%84%B1%E7%A6%BBUI%E8%BF%9B%E8%A1%8C%E5%8E%8B%E6%B5%8B/ + 静默压测
    +

    jmeter -n -t $jmx_file -l $jtl_file

    +
    +

    如: jmeter -n -t HTTP代理服务器luzhi.jmx -l result.jtl

    +

    jmx: Jmeter压测程序脚本文件
    jtl: Jmeter压测请求响应数据的原始文件,查看结果树和聚合报告可以导入该文件查看

    +]]>
    + + 工具教程 + + + jmeter + +
    + + jmeter自动化压力测试 + /2022/11/19/jmeter/2022-11-14-jmeter%E8%87%AA%E5%8A%A8%E5%8C%96%E5%8E%8B%E5%8A%9B%E6%B5%8B%E8%AF%95/ + 思路
      +
    • jmeter脚本实现压测逻辑
    • +
    • Shell控制逻辑
    • +
    • 使用jmeter进行静默压测
    • +
    +]]>
    + + 工具教程 + + + jmeter + +
    + + Jmeter之json数据提取和参数传递 + /2022/11/18/jmeter/2022-11-18-Jmeter%E4%B9%8Bjson%E6%95%B0%E6%8D%AE%E6%8F%90%E5%8F%96%E5%92%8C%E5%8F%82%E6%95%B0%E4%BC%A0%E9%80%92/ + 安装组件JSON Extractor
      +
    • 右键Http Request
    • +
    • 点击Add -> Post Processors -> JSON Extractor
    • +
    +

    组件安装成功

    +

    组件配置

      +
    • Names of created variables : 参数变量名称,提取出来的json使用这个变量
    • +
    • Json Path expressions : JSON提取的正则 比如:$.access_token这个是提取response里面的token
    • +
    • Match NO.(0 for Random):这个是写提取出json的第几条, 比如使用正则能匹配多条,使用这个输入数字就可以匹配对应的
    • +
    +
    引用json变量
      +
    • Jmeter中引用变量的方法${变量名}
    • +
    +

    调试脚本 Debug Sampler

    +

    帮助检查变量值,调试脚本

    +
    +
      +
    • 右键Thread Group
    • +
    • 点击Add -> Sampler -> Debug Sampler
    • +
    +

    注意:把Debug放到所有请求的最底下,运行的后可以查看变量参数,方便调试

    +]]>
    + + 工具教程 + + + jmeter + +
    + + Constant Timer定时器 + /2022/11/29/jmeter/2022-11-29-Constant%20Timer%E5%AE%9A%E6%97%B6%E5%99%A8/ + 作用

    就是loadrunner上面的思考时间,就是模拟真实用户操作过程的等待时间

    +

    生效范围

    定时器的父节点和子节点,如果想让一个请求强制停止一段时间,就把定时器放在这个请求的下面

    +

    单位是以ms为单位,1s=1000ms

    +]]>
    + + 工具教程 + + + jmeter + +
    + + Jmeter之全局参数设置和csv数据导入 + /2022/11/18/jmeter/2022-11-18-jmeter%E4%B9%8B%E5%85%A8%E5%B1%80%E5%8F%82%E6%95%B0%E8%AE%BE%E7%BD%AE%E5%92%8Ccsv%E6%95%B0%E6%8D%AE%E5%AF%BC%E5%85%A5/ + 全局参数设置
    添加组件
      +
    • 右键Thread Group
    • +
    • 点击Add -> Config Element -> User Defined Variables
    • +
    +
    添加对应的变量
      +
    • hostname:localhost
    • +
    • port:9090
    • +
    • protocol:http
    • +
    +

    然后再请求参数中使用对应的参数变量名

    +
      +
    • ${hostname}
    • +
    • ${port}
    • +
    • ${protocol}
    • +
    +

    csv数据导入

    创建csv文件
      +
    • 使用Excel创建csv文件
    • +
    • csv数据之间使用英文逗号来分割
    • +
    • 保存成.csv文件
    • +
    +
    添加csv导入组件
      +
    • 右键Thread Group
    • +
    • 点击Add -> Config Element -> CSV Data Set Config
    • +
    +
    配置
      +
    • Filename:文件位置
    • +
    • File encoding:编码格式
    • +
    • Variable Names(comma-delimited):数据参数 如:no,username,password
    • +
    • lgnore first lline (only user if Variable Names is not empty):是否忽略第一行(表头)
    • +
    • Delimiter(use "\t" for tab):分隔符
    • +
    • Allow quoted data?:是否允许双引号括住数据
    • +
    • Recycle on EOF?:到了文件结尾是否循环
    • +
    • Stop thread on EOF?:到了文件结尾是否停止
    • +
    • Sharinng mode:共享模式
    • +
    +

    注意:把请求的参数修改为:${变量}

    +]]>
    + + 工具教程 + + + jmeter + +
    + + Modeule Controller和Include Controller + /2022/11/29/jmeter/2022-11-29-Modeule%20Controller/ + Modeule Controller介绍]]> + + 工具教程 + + + jmeter + + + + 逻辑控制器Simple Controller + /2022/11/29/jmeter/2022-11-29-Simple%20Controller%E6%8E%A7%E5%88%B6%E5%99%A8/ + 作用

    把多个请求放入Simple Controller,可以多个请求进行同时操作

    +]]>
    + + 工具教程 + + + jmeter + +
    + + 循环控制器Loop Controller + /2022/11/29/jmeter/2022-11-29-Loop%20Controller%E6%8E%A7%E5%88%B6%E5%99%A8/ + 作用

    指定子节点运行的次数,使用变量或数值进行控制

    +
      +
    • Infinite:表示一直循环
    • +
    • 如果同时设置线程组循环次数和循环控制器的循环次数,那控制器子节点运行的次数为两个数值相乘的结果
    • +
    +

    添加

    ]]>
    + + 工具教程 + + + jmeter + +
    + + jmeter对数据库进行增删改查 + /2022/11/20/jmeter/2022-11-20-jmeter%E5%AF%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E6%95%B0%E6%8D%AE%E8%BF%9B%E8%A1%8C%E5%A2%9E%E5%88%A0%E6%94%B9%E6%9F%A5/ + 环境
      +
    • jmeter版本(5.1.1)
    • +
    • mysql-connector-java-8.0.15.jar
    • +
    +

    mysql.jar放在jmeter的lib目录下

    +

    配置

    连接配置组件

      +
    • 右键Thread Group
    • +
    • 点击Add -> Config Element -> JDBC Connection Configuration
    • +
    +

    参数配置

      +
    • ==Varianle Name for created pool==:db_connnection_pool # 连接池名称
    • +
    • ==Validation Query==:select 1
    • +
    • ==Database URL==:jdbc:mysql://8.142.144.75:3306/jmeter_class?alloMultiQueries = true&useSSL=false
    • +
    • ==JDBC Driver class==:选择com.mysql.jbc.Driver
    • +
    • 输入username
    • +
    • 输入password
    • +
    +

    Jmeter数据库JDBC请求

      +
    • 右键Thread Group
    • +
    • 点击Add -> Sampler -> JDBC Request
    • +
    +
    配置介绍

    Variable Name Bound to Pool: 配置参数区
    SQL Query:sql语句区
    其他:变量配置区

    +
    举个栗子:通过Insert语句,向数据库添加测试数据
      +
    • JDBC Connection Configuration: db_connnection_pool #输入连接池名称
    • +
    • Query Type:选择Prepared Updata Statement
    • +
    • Quert:输入sql语句
    • +
    +
    INSERT INTO jmeter_class.user (`username`,`password`) VALUES(?,?)
    +
      +
    • Paeameter values:testuser,aaaaaa
    • +
    • Paeameter types:varchar,varchar
    • +
    • Query timeout(s):6
    • +
    • 添加查看结果树
    • +
    • 运行
    • +
    +

    运行结果ResponseBody:

    +
    1 updates.
    +

    这就配置成功

    +]]>
    + + 工具教程 + + + jmeter + +
    + + 随机控制器Random Controller和Random Order Controller + /2022/11/29/jmeter/2022-11-29-Random%20Controller%E6%8E%A7%E5%88%B6%E5%99%A8/ + 作用
      +
    • Random Controller:控制器子节点随机运行一个请求
        +
      • lgnore sub-controller blocks:忽略子控制器块
      • +
      +
    • +
    • Random Order Controller:控制器子节点随机运行全部请求
    • +
    +]]>
    + + 工具教程 + + + jmeter + +
    + + 事务控制器Transcation Controller + /2022/11/29/jmeter/2022-11-29-Transcation%20Controller%E6%8E%A7%E5%88%B6%E5%99%A8/ + 作用

    一个事务会包含并请求,然后查看一个事务的QPS等性能指标

    +

    指标

    QPS:每秒处理完请求的次数,具体指1s内发出请求到服务器处理完成并返回结果的次数

    +

    TPS:每秒处理完的事务次数,一般TPS是对整个系统来讲的,一个应用系统1s能完成多少事务处理,一个事务在分布式处理中,可能对应多个请求,对于衡量单个接口服务的处理能力,一般使用QPS

    +

    参数

      +
    • Generate Parent sample:生成父样例,就是控制器里面的请求不展示
    • +
    +

    没有选中Generate Parent sample,运行后的结果是

    +
    + +
    +
    + +
    +选中后`Generate Parent sample`,运行后的结果是 +
    + +
    +
    + +
    + + +]]>
    + + 工具教程 + + + jmeter + +
    + + Constant Throughput Timer定时器 + /2022/11/30/jmeter/2022-11-30-Constant%20Throughput%20Timer%E5%AE%9A%E6%97%B6%E5%99%A8/ + 作用

    限制整个运行过程中的生成的吞吐量不要超过某一个值,防止压死系统

    +

    参数

      +
    • Target throughput(in samples per minute):目标吞吐量,指的是每分钟发送的请求数,对应测试要求的20 QPS,这里应该输入1200
    • +
    • Calculate Throughput based on:有5个选项
        +
      • This Thread only:控制每个线程的吞吐量,这个模式的作用是:总的吞吐量=Target throughput * 线程的数量
      • +
      • All active threads:设置的Target throughput将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理时间后再次运行。活跃线程指的是同一时刻同时运行的线程
      • +
      • All active threads in current thread group:设置的`Target throughput将分配在当前线程祖的每一个活跃线程上,当测试计划只有一个线程组,这个模式作用和All active threads一样
      • +
      • All active threads(shared):与All active threads选项基本一致,唯一区别是,每一个活跃线程都会在所有活跃线程上一次运行结束后等待合理时间再次运行
      • +
      • All active threads in current thread group(shared):与All active threads in current thread group选项基本一致,唯一区别是,每个活跃线程都会在所有活跃线程的上一次运行结束等待合理的时间后再次运行
      • +
      +
    • +
    +]]>
    + + 工具教程 + + + jmeter + +
    + + 逻辑控制器If Controller + /2022/11/29/jmeter/2022-11-29-if%20Controller%E6%8E%A7%E5%88%B6%E5%99%A8/ + 逻辑控制器If Controller]]> + + 工具教程 + + + jmeter + + + + Gaussian Random Timer定时器 + /2022/11/30/jmeter/2022-11-30-Gaussian%20Random%20Timer%E5%AE%9A%E6%97%B6%E5%99%A8/ + 作用

    生成随机等待时间

    +

    参数

      +
    • Deviation(in milliseconds) :高斯定时器参数,随机的
    • +
    • Constant Delay Offset(in milliseconds):固定等待时长
    • +
    +

    生成的时长是Deviation + Constant Delay Offset

    +]]>
    + + 工具教程 + + + jmeter + +
    + + Regular Expression Extractor正则表达式处理器 + /2022/11/30/jmeter/2022-11-30-%E5%90%8E%E7%BD%AE%E5%A4%84%E7%90%86%E5%99%A8%E4%B9%8B%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%A4%84%E7%90%86%E5%99%A8/ + 正则表达式规则
      +
    • ():括起来的部分是要提取的
    • +
    • .:匹配任何字符串
    • +
    • +:一次或多次
    • +
    • ?:在找到第一个匹配项后停止
    • +
    +

    模板

    用$$引用起来,如果正则表达式中有多个正则表达式,可以是$3$$2$等,表示解析到的第几个值给title,$1$表示第一个

    +

    匹配数字

    0代表随机,1代表全部取值,通常使用0

    +

    缺省值

    若参数没有取到值,那默认给一个值让他取

    +]]>
    + + 工具教程 + + + jmeter + +
    + + Groovy编写方法 + /2022/11/30/jmeter/2022-12-1-Groovy%E7%BC%96%E5%86%99%E6%96%B9%E6%B3%95/ + 关键字:
      +
    • **log**:写入信息到jmeterlog文件,使用方法:log.info(*Thisisloginfo
    • +
    • **ctx**:该变量引用了当前线程的上下文,使用方法可参考:org.apache.imeter.threads.JMeterContext。
    • +
    • vars-(JMeterVariables):操作imeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁,
      常用方法:
        +
      • a)vars.get(Stringkey):从imeter中获得变量值
      • +
      • b)vars.put(Stringkey,Stringvalue):数据存到imeter变量中
        更多方法可参考:org.apache.imeter.threads.JMeterVariables
      • +
      +
    • +
    • props-(JMeterProperties-classjava.util.Properties):操作imeter属性,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是只能put进去String类型的值,而不能是一个对象。
      对应于iava.util.Properties。
        +
      • a)props.get(“START.HMS”); 注:START.HMS为属性名,在文件imeter.properties中定义
      • +
      • b)props.put(“PROP1”,”1234”);
      • +
      +

      +
    • +
    • prey-(SampleResult):获取前面的sample返回的信息,
      常用方法:
        +
      • a)getResponseDataAsString():获取响应信息
      • +
      • b)getResponseCode():获取响应code
        更多方法可参考:org.apache.imeter.samplers.SampleResult
      • +
      +
    • +
    • sampler-(Sampler):gives access to the current sampler
    • +
    +]]>
    + + 工具教程 + + + jmeter + +
    + + 使用Postman如何做接口测试 + /2022/09/02/other/2022-09-02-%E4%BD%BF%E7%94%A8postman%E5%A6%82%E4%BD%95%E5%81%9A%E6%8E%A5%E5%8F%A3%E6%B5%8B%E8%AF%95/ + Postman安装
    +

    Postman下载:https://www.postman.com/downloads/

    +
    +

    image
    下载后双击即可安装,安装后需要创建账号,登录后可以在不同平台同步数据。

    +

    postman主要功能说明

    postman主要模块功能介绍

    image
    点击最上面的测试集的添加目录图标,来新增一个根目录,这样等于新建了一个项目.可以将一个项目或一个模块的用例都存放在这个目录之下,并且在根目录下还可以创建子目录进行用例的细分.
    image
    image
    image
    image
    创建了目录后可以进行用例的新建,具体是通过测试集右侧区域中的三个点来新增一个空的用例模板,当然也可以通过复制一个已有的用例来达到新建用例的目的.
    image
    image

    +

    发送http请求和分析响应数据

    +

    在postman中新建用例对应即将要执行的一次请求,默认为空,测试人员需要添加相应的请求信息,需要添加的信息包括:
    请求的方法:get或post
    请求的URL:协议+域名/IP+端口+资源路径

    +
    +

    不带参数的请求:
    image
    发送需要认证的get接口:
    image

    +

    ------------恢复内容开始------------

    ## Postman安装 +> Postman下载:https://www.postman.com/downloads/ + +

    image
    下载后双击即可安装,安装后需要创建账号,登录后可以在不同平台同步数据。

    +

    postman主要功能说明

    1、postman主要模块功能介绍

    image
    点击最上面的测试集的添加目录图标,来新增一个根目录,这样等于新建了一个项目.可以将一个项目或一个模块的用例都存放在这个目录之下,并且在根目录下还可以创建子目录进行用例的细分.
    image
    image
    image
    image
    创建了目录后可以进行用例的新建,具体是通过测试集右侧区域中的三个点来新增一个空的用例模板,当然也可以通过复制一个已有的用例来达到新建用例的目的.
    image
    image

    +

    发送http请求和分析响应数据

    +

    在postman中新建用例对应即将要执行的一次请求,默认为空,测试人员需要添加相应的请求信息,需要添加的信息包括:
    请求的方法:get或post
    请求的URL:协议+域名/IP+端口+资源路径

    +
    +

    get请求

    不带参数的请求:
    image
    发送需要认证的get接口:
    image

    +

    post请求

    选择请求格式为post
    传参:

    +
      +
    • Body中raw:支持任意格式的数据编辑,选json(也可xml或html传参)
    • +
    • Body中Form-data:以表单的方式进行数据编辑
    • +
    • Body中x-www-form-urlencoded:与form-data类似,也是以表单的方式进行数据编辑,但是表单中的每一条数据只能是键值对.
    • +
    • Body中Binary:用来上传文件.并且由于没有键值,因此一次只能上传一个文件.
    • +
    +

    Pre-request Scrip

    image

    +

    Tests

    image

    +

    postman保存测试用例

    image

    +

    postman批量运行

    image
    image

    +

    选择文件进行参数化

    json文件

    image

    +

    txt文件

    image
    使用参数时,变量名称要与文件里的变量名保持一致

    +

    postman环境管理

    image
    image
    引用环境信息:

    +

    postman全局变量

    image
    也可以用javascript写变量:
    image
    引用全局变量信息:
    image
    image
    Cookie用途:一个请求需要用到用户的登录状态(sessionid或token),一般 登录状态会记录在cookie ,postman会自动记录登录状态写入cookies.所以执行非登录接口的请求前,需要先执行登录接口请求。
    image

    +

    关联

    ------------恢复内容结束------------

    +

    ------------恢复内容开始------------

    ## Postman安装 +> Postman下载:https://www.postman.com/downloads/ + +

    image
    下载后双击即可安装,安装后需要创建账号,登录后可以在不同平台同步数据。

    +

    postman主要功能说明

    1、postman主要模块功能介绍

    image
    点击最上面的测试集的添加目录图标,来新增一个根目录,这样等于新建了一个项目.可以将一个项目或一个模块的用例都存放在这个目录之下,并且在根目录下还可以创建子目录进行用例的细分.
    image
    image
    image
    image
    创建了目录后可以进行用例的新建,具体是通过测试集右侧区域中的三个点来新增一个空的用例模板,当然也可以通过复制一个已有的用例来达到新建用例的目的.
    image
    image

    +

    发送http请求和分析响应数据

    +

    在postman中新建用例对应即将要执行的一次请求,默认为空,测试人员需要添加相应的请求信息,需要添加的信息包括:
    请求的方法:get或post
    请求的URL:协议+域名/IP+端口+资源路径

    +
    +

    get请求

    不带参数的请求:
    image
    发送需要认证的get接口:
    image

    +

    post请求

    选择请求格式为post
    传参:

    +
      +
    • Body中raw:支持任意格式的数据编辑,选json(也可xml或html传参)
    • +
    • Body中Form-data:以表单的方式进行数据编辑
    • +
    • Body中x-www-form-urlencoded:与form-data类似,也是以表单的方式进行数据编辑,但是表单中的每一条数据只能是键值对.
    • +
    • Body中Binary:用来上传文件.并且由于没有键值,因此一次只能上传一个文件.
    • +
    +

    Pre-request Scrip

    image

    +

    Tests

    image

    +

    postman保存测试用例

    image

    +

    postman批量运行

    image
    image

    +

    选择文件进行参数化

    json文件

    image

    +

    txt文件

    image
    使用参数时,变量名称要与文件里的变量名保持一致

    +

    postman环境管理

    image
    image
    引用环境信息:

    +

    postman全局变量

    image
    也可以用javascript写变量:
    image
    引用全局变量信息:
    image
    image
    Cookie用途:一个请求需要用到用户的登录状态(sessionid或token),一般 登录状态会记录在cookie ,postman会自动记录登录状态写入cookies.所以执行非登录接口的请求前,需要先执行登录接口请求。
    image

    +

    关联

    断言

    Postman通过tests插入断言
    image

    +

    关联

    +

    把上一个接口的返回数据作为下一个参数的输入参数使用

    +
    +
      +
    • 先发送一个接口,查看返回值
    • +
    • 在上一个接口的tests里面添加js脚本
        +
      • 获取上一个接口返回值并赋值给变量
      • +
      • 定义全局变量,并获取要作为下一个接口输入的数据字段
      • +
      +
    • +
    • 引用全局变量
    • +
    +

    生成并导出接口脚本

    导出接口测试脚本

    image

    +

    导出测试集

    image
    image

    +

    导入测试集

    image

    +]]>
    + + 工具教程 + + + postman + +
    + + Yaml的使用 + /2022/08/26/other/2020-08-26-Yaml%E4%BD%BF%E7%94%A8/ + 编写字符串
    #字符串
    #单行
    username: admin
    username1: "周杰\n伦" #双引号不转义
    username2: '周杰\n伦' ##单引号转义
    #多行
    william:



    william2: |




    william3: >



    + +

    回显的结果是:

    +
    { username: 'admin',
    username1: '周杰\n伦',
    username2: '周杰\\n伦',
    william: '一 二 三',
    william2: '一\n二\n三\n',
    william3: '一 二 三\n' }
    + +
    强制转换
    forceStr: !!str 123
    forceBoll: !!str true
    forceInt: !!int "123"
    + +

    回显的结果是:

    +
    forceStr: '123',
    forceBoll: 'true',
    forceInt: 123 }
    + +
    编写数组
    #数组
    myFavourite:
    - backaetball
    - football

    myFavourite2: ["bass","bahddd"]
    + +

    回显的结果是:

    +
    myFavourite: [ 'backaetball', 'football' ],
    myFavourite2: [ 'bass', 'bahddd' ],
    + +
    编写对象
    #对象
    autotest:
    username: root
    password: root
    age: 18
    male: true

    autotest2: [{username: admin, password: root, age: 22, male: false}]
    + +

    回显的结果是:

    +
    autotest: { username: 'root', password: 'root', age: 18, male: true },
    autotest2: [ { username: 'admin', password: 'root', age: 22, male: false } ],
    + +
    编写复合结构的
    #复合结构
    companies:
    -
    id: 1
    name: zhangsan
    value: 10e+11

    -
    id: 2
    name: lisi
    value: 10e+12


    websites:
    baidu: www.baidu.com
    google: www.google.com
    + +

    回显的结果是:

    +
    companies: 
    [ { id: 1, name: 'zhangsan', value: 1000000000000 },
    { id: 2, name: 'lisi', value: 10000000000000 } ],
    websites: { baidu: 'www.baidu.com', google: 'www.google.com' } }
    + +
    引用
    #引用
    father: &father_lastName
    lastName:

    son:
    <<: *father_lastName
    firstName:
    age: 18
    + +

    回显的结果是:

    +
    father: { lastName: '周' },
    son: { lastName: '周', firstName: '董', age: 18 } }
    + +]]>
    + + 经验分享 + + + yaml + +
    + + 测试必会的sql基本操作 + /2022/10/22/other/2022-10-22-SQL%E8%AF%AD%E8%A8%80%E7%9A%84%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/ + 1、创建数据库
    create database 数据库名;
    create database 数据库名 character set 字符集;
    + +
    2、查看全部的数据库
    show databases;   
    + +

    3、查看某个数据库的定义的信息:

    +
    show create database 数据库名;         
    + +
    4、删除数据库
    drop database 数据库名称;
    + +

    5、切换数据库:

    +
    use 数据库名;
    + +

    6、查看正在使用的数据库:

    +
    select database();          
    + +

    7、查看数据库中的所有表:

    +
    show tables;
    + +

    8、查看表结构:

    +
    desc 表名;    
    + +

    9、修改表删除列.

    +
    alter table 表名 drop 列名;            
    + +

    10、修改表名

    +
    rename table 表名 to 新表名;              
    + +

    11、修改表的字符集

    +
    alter table 表名 character set 字符集;
    + +

    12、数据类型与约束

    +
      +
    • int :整数 有符号和无符号,长度不受限制
    • +
    • varchar:字符串 中文/数字/字母都是一字字符,受长度限制
    • +
    • decimal :小数 decimal(5,2)总长度5位,整数3位,小数2位
    • +
    • 主键 id :int unsigned primary key auto_increment
    • +
    • 非空 :not null
    • +
    • 唯一 :unique
    • +
    • 默认 :default
    • +
    +

    SQL中表的操作

    1、创建表

    create table 表名(字段名 类型 约束,.....)
    + +

    2、删除表

    drop table 表名
    drop table if exists 表名
    + +

    3、表数据操作

    3.1、添加数据
    insert into 表名 values(值1,值2...)给表中所有字段插入数据
    insert into 表名(字段2,字段1values(值2,值1
    + +
    3.2、修改数据
    update 表名 set 字段1=1,字段2=2 where 条件
    isdelete 逻辑删除
    + +
    3.3、删除数据
    delete from 表名 where 条件
    + +
    3.4、查询数据
      +
    • 3.4.1、查询表中所有信息
      select * from 表名 where 条件
      +
    • +
    • 3.4.2、查询表中指定字段
      select 字段1,字段2,字段3...from 表名 where 条件
      +
    • +
    • 3.4.3、给字段取别名
      select 字段1as) 别名,字段2 别名 from 表名 where 条件
      +
    • +
    • 3.4.4、去重
      select distinct 字段 from 表名 where 条件
      +
    • +
    • 3.4.5、比较运算符
      select * from 表名 where age>20
      +
    • +
    • 3.4.6、逻辑运算符
        +
      • and 满足所有条件

        +
      • +
      • or 满足其中任意一个条件

        +
      • +
      • not 不满足条件

        +
      • +
      +
    • +
    • 3.4.7、模糊查询
        +
      • like
      • +
      • % 0到任意多个字符
      • +
      • _表示任意一个字符
      • +
      +
    • +
    • 3.4.8、范围查询
        +
      • in 在一个非连续的范围内
      • +
      • between and 在一个连续的范围内 闭区间 小的数据在前
      • +
      +
    • +
    • 3.4.9、空查询
        +
      • is null
      • +
      • ‘’空字符串
      • +
      +
    • +
    +
    3.5、多表查询
      +
    • 3.5.1、排序

      +
      select * from 表名 where 条件 order by1asc|desc,列2 asc|desc
      select * from student where 条件 order by convert(字段 using gbk)asc|desc 纯中文转换后排序
      +
    • +
    • 3.5.2、聚合函数

      +
      count: 总数 select count(*/字段)from 表名 where 条件 
      max: 最大值 select max(age) from 表名 where 条件
      min: 最小值 select min(age) from 表名 where 条件
      avg: 平均值 select avg(grade) from 表名 where 条件
      sum: 求和 select sum(grade) from 表名 where 条件
      select avg(age)as 平均年龄,max(age)最大年龄,min(age)最小年龄 from 表名 where 条件
      +
    • +
    • 3.5.3、分组

      +
      select * from 表名 group by 字段,字段2 having 条件
      +
    • +
    • 3.5.4、分页

      +
      select * from 表名 limit 05 从第一行数据开始,显示5
      select * from 表名 limit (n-1*m,m n代表第几页,m代表每页显示多少条数据
      +
    • +
    • 3.5.5、等值连接

      +
      方式一 :
      select * from1,表2,表3 where1.=2.and2.=3.where 条件
      方式二 内连接 取交集:
      select * from1 inner join2 on1.=2.inner join3 on2.=3.where 条件
      +
    • +
    • 3.5.6、左连接

      +
      +

      左边的表全显示,右边表能匹配的上的数据连接显示,匹配不上(没有的)以null补充

      +
      +
      select * from1 left join2 on1.=2.left join3 on2.=3.where 条件
      +
    • +
    • 3.5.7、右连接

      +
      +

      右边的表全显示,左边表能匹配上的数据连接显示,匹配不上(没有的)以null补充

      +
      +
      select * from1 right join2 on1.=2.right join3 on2.=3.where 条件
      +
    • +
    • 3.5.8、自关联

      +
      select * from 表 别名1 inner join 表 别名2 on 别名1.aid=别名2.pid
      +
    • +
    • 3.5.9、子查询
        +
      • 标量子查询
      • +
      +
      +

      子查询结果输出的是一行一列

      +
      +
      select * from student where age>(select avg(age) from student)
      + +
        +
      • 列子查询
      • +
      +
      +

      子查询的结果输出的是一列多行

      +
      +
      in:  
      select * from student where age in
      (select age from student where age=18)

      any/some: >:大于最小的; <: 小于最大的
      select * from student where age>/< any
      (select age from student where age between 18 and 22)

      all: >:大于最大的; <: 小于最小的
      select * from student where age>/<all
      (select age from student where age between 18 and 22
      + +
        +
      • 行子查询
      • +
      +
      +

      子查询的结果输出的是一行多列

      +
      +
      select * from student where(name,sex)=select name,sex from student where sex='男' order by age desc limit 1
      + +
        +
      • 表子查询
      • +
      +
      +

      子查询的输出结果是一个表

      +
      +
      select * from scores inner joinselect cno from courses where cname in('数据库',‘系统测试’) as c on scores.cno=c.cno
    • +
    +
    3.6、数据分表
    insert into goods_cate(cate_name) select distinct cate from goods;

    create table goods_cate (id int unsigned primary key auto_incremen,cate varchar(10)) select distinct cate from goods;

    update goods inner join goods_cate on goods_cate.cate=goods.cate set goods.cate=goods_cate.id
    ]]>
    + + 经验分享 + + + sql + +
    + + 性能测试主要关注点 + /2022/08/26/other/2022-10-22-%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95%E4%B8%BB%E8%A6%81%E5%85%B3%E6%B3%A8%E7%82%B9/ + 性能关注点

    接口响应时间

    +

    吞吐量

    +

    TPS: 事务处理能力,每秒处理事务数(打开页面、登录、选择商品、加入购物车、下单、付款)

    +

    注意:“日活” 每日活跃用户数,是运营数据,与性能无关

    +

    八二原则

    +
    +

    计算QPS/TPS

    +
    +

    相信80%会集中在20%时间内,24小时的流量集中在白天8小时内,同时在午高峰达到高峰

    +

    举个栗子

    根据相应耗时计算公式预估所需并发,一次请求100ms

    +

    根据 QPS = Vue * Rt

    +

    1000000 * 80% / 8 * 3600 * 20% = 277 QPS

    +

    需要27个并发

    +]]>
    + + 经验分享 + + + 性能测试 + +
    + + 自动化基础之Xpath定位 + /2022/09/05/other/%E8%87%AA%E5%8A%A8%E5%8C%96%E5%9F%BA%E7%A1%80%E4%B9%8BXpath%E5%AE%9A%E4%BD%8D/ + 常用函数定位 + + + + + + + + + + + + + + +
    定位函数position
    //*contains(text(),’文字’)/li[position()=3]找到第三个 li
    //*contains(text(),’文字’)/li[position()<=2]找到前两个 li
    +
    Xpath函数进行定位
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    定位方式描述实例
    contains匹配在元素文本中查找包含 ‘文字’ 的元素//*contains(text(),’文字’)
    starts-with匹配所有id开头为 ‘s’ 的元素//*[starts-with(@id,’s’)]
    ends-with匹配所有id结尾头为 ‘s’ 的元素//*[ends-with(@id,”s”)]
    following-sibling匹配和 ‘ul’ 元素同级别的下一个元素//div/following-sibling::ul
    preceding-sibling匹配当前节点之前的所有同级节点
    ancestor匹配当前节点的所有父级,祖父级还有更高级//div/ancestor::li[@role=”menuitem”]
    parent匹配当前节点的父节点,相当于 ..//div/parent::button
    +]]>
    + + 经验分享 + + + xpath + +
    + + 如何使用pyyaml获取yaml里面的数据 + /2022/08/31/python/2022-09-01-pyyaml%E8%8E%B7%E5%8F%96yaml%E6%95%B0%E6%8D%AE/ + 准备数据

    在config目录下创建environment.yaml文件

    +
    username: 周杰伦
    password: 123456
    + +
    使用pyyaml获取yaml中的数据
    解析yaml文件

    首先创建yaml_config文件,为了方便自动化后面的引用,需要创建一个类,在__init__里面打开yaml文件,使用yaml.load(文件名称, Loader=yaml.FullLoader )方法获取数据

    +

    打印出字典格式的数据{'username': '周杰伦', 'password': 123456}

    +
    import yaml
    from common.tools import get_project_path, sep


    class GetConf:
    def __init__(self):
    with open(../config.environment.yaml), "r", encoding="utf-8")\
    as env_file:
    self.env = yaml.load(env_file, Loader=yaml.FullLoader)
    + +

    现在使用的是相对路径,后期如果换系统,或者更换文件位置,就需要自己获得文件路径,下面对代码进行优化

    +
    优化项:获得项目名称的url地址

    创建get_project_path方法,获取项目根目录的绝对路径

    +

    首先定义一个变量,变量的值是项目的名称project_name = "trading_system_autotest"

    +

    获取当前文件的所在目录的绝对路径,需要使用python的os模块file_path=os.path.dirname(__file__)

    +

    在绝对路径中找到项目名称的下标位置file_path.find(project_name)

    +

    找到项目所在目录的绝对路径下标+项目名称的长度=项目根目录的绝对路径的下标file_path.find(project_name)+len(project_name)

    +

    然后对所在目录的绝对路径file_path进行切片获得项目根目录的绝对路径

    +

    file_path[: file_path.find(project_name)+len(project_name)]

    +
    def get_project_path():
    """
    获取项目根目录的绝对路径
    :return:
    """
    project_name = "trading_system_autotest"
    # 获取当前文件的所在目录的绝对路径
    file_path = os.path.dirname(__file__)
    # # 在绝对路径中找到项目名称的下标位置
    # print(file_path.find(project_name))
    # 找到项目所在目录的绝对路径+项目名称的长度=项目的绝对路径
    # print(len(project_name))
    return file_path[: file_path.find(project_name)+len(project_name)]
    + +
    优化项:获得拼接后的目录和文件

    创建sep(path, add_sep_before=False, add_sep_after=False)方法,获得文件和目录的拼接

    +

    变量

    +

    path变量需要传输一个列表,列表里面是文件所在目录和文件名称,如[文件所在目录,文件名称]

    +

    首先使用os.sep.join对列表的字段进行拼接all_path = os.sep.join(path)

    +

    add_sep_before进行判断,如果是True,就在前面添加拼接符all_path = os.sep + all_path

    +

    add_sep_after进行判断,如果是True,就在后面添加拼接符all_path = all_path + os.sep

    +

    windows格式拼接符有可能错误,就要对拼接符转换格式all_path = all_path.replace('\\', '/'),就算没有这个代码,也可以运行出来,只是调试该代码看起来不好看

    +

    然后返回all_path

    +
    def sep(path, add_sep_before=False, add_sep_after=False):
    """
    :param path: is list format:[Current directory , Current file]
    :param add_sep_before: Add before directory "/"
    :param add_sep_after: Add after directory "/"
    :return: Current directory/Current file
    """
    all_path = os.sep.join(path)
    # 在前面添加\
    if add_sep_before:
    all_path = os.sep + all_path
    # 在后面添加\
    if add_sep_after:
    all_path = all_path + os.sep
    # 转换格式 把\转换为/
    all_path = all_path.replace('\\', '/')
    return all_path
    + +
    优化后的代码
    class GetConf:
    def __init__(self):
    with open(get_project_path()+sep(["config", "environment.yaml"], add_sep_before=True), "r", encoding="utf-8")\
    as env_file:
    self.env = yaml.load(env_file, Loader=yaml.FullLoader)
    print(self.env)

    def get_username_password(self):
    return self.env["username"], self.env["password"]
    + +]]>
    + + 经验分享 + + + python + +
    + + 解析Excel用于数据驱动 + /2022/09/02/python/2022-09-02-%E8%A7%A3%E6%9E%90Excel%E7%94%A8%E4%BA%8E%E6%95%B0%E6%8D%AE%E9%A9%B1%E5%8A%A8/ + 新建Excel
    +

    创建Excel数据表:learn.xlsx

    +
    +
    + +
    + +

    解析excel

    +

    使用python的openpyxl模块来解析Excel

    +
    +

    1、读取Excel文件

    +

    openpyxl.load_workbook(‘文件路径’)

    +
    +
    excel = openpyxl.load_workbook('learn.xlsx')
    +

    2、获取sheet页里面的数据

    # 获取当前活动的表单
    sheet = excel.active
    # 获取指定的表单
    for sheets in excel.sheetnames: #获取所有表单的名称
    print(sheets)
    sheet = excel[sheets] #获取指定表单
    +

    3、获取单元格里面的内容

    for values in sheet.values:
    if type(value[0]) == int: #从第二行开始
    print(values)
    +

    运行代码:

    +
    + +
    + +

    把Excel表里面的数据以字典格式展示:

    +
    data = {}
    data["name"] = values[0]
    data["value"] = values[1]
    print(data)
    +

    运行代码:

    +
    + +
    +]]>
    + + 经验分享 + + + python + +
    + + 使用docker的ubuntu容器安装code-server + /2022/10/20/project/2022-10-20-%E4%BD%BF%E7%94%A8ubuntu%E5%AE%B9%E5%99%A8%E5%AE%89%E8%A3%85code-server/ + 搭建code-server

    拉取Ubuntu 镜像

    # 拉取镜像
    docker pull aliyun
    # 进入镜像
    docker run --name [自定义名称] -u root --privileged=true -p 3300:8881 -v /opt/testubuntu/:/opt/main_file -it [镜像id]
    +

    安装code-server

    github上下载安装包,解压后剪切到/home目录

    +

    运行code-server

    # 找到bin目录下的code-server*
    cd /home/code-server/bin
    # 输入运行命令
    export PASSWORD="123456" && ./code-server --host 0.0.0.0 --port 8881
    + +

    然后在浏览器输入http://ip:3000查看搭建情况

    +

    但是这样搭建有问题

    +
    +

    使用上面方法部署的code-server,因为是http的,导致一些功能不好用,比如写md文档无法预览

    +
    +

    下面就是配置使用https运行

    +

    配置HTTPS

    +

    使用openssl为IP签发证书

    +
    +

    安装openssl

    一般的linux系统已经内置openssl,可以输入openssl进行查看,没有的话就需要安装

    +

    创建证书请求文件

    新建openssl.cnf,并编辑如下内容

    +
    [req]
    distinguished_name = req_distinguished_name
    req_extensions = v3_req

    [req_distinguished_name]
    countryName = Country Name (2 letter code)
    countryName_default = CH
    stateOrProvinceName = State or Province Name (full name)
    stateOrProvinceName_default = ZJ
    localityName = Locality Name (eg, city)
    localityName_default = HangZhou
    organizationalUnitName = Organizational Unit Name (eg, section)
    organizationalUnitName_default = THS
    commonName = Internet Widgits Ltd
    commonName_max = 64

    [ v3_req ]
    # Extensions to add to a certificate request
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    subjectAltName = @alt_names

    [alt_names]

    # 改成自己的域名
    # DNS.1 = your_domain_name.com

    # 改成自己的ip
    IP.1 = 8.142.144.75
    IP.2 = 0.0.0.0
    + +

    生成私钥

    san_domain_com 为最终生成的文件名,一般以服务器命名,可改。

    +
    openssl genrsa -out san_domain_com.key 2048
    + +

    生成CSR文件

    openssl req -new -out san_domain_com.csr -key san_domain_com.key -config openssl.cnf
    + +

    执行后,系统提示输入组织等信息,按[]内容提示输入如即可。

    +

    需要测试CSR文件是否生成成功

    +
    > openssl req -text -noout -in san_domain_com.csr
    +

    有下面的信息,说明生成成功

    +
    Certificate Request:
    Data:
    Version: 0 (0x0)
    Subject: C=US, ST=MN, L=Minneapolis, OU=Domain Control Validated, CN=zz
    Subject Public Key Info:
    Public Key Algorithm: rsaEncryption
    Public-Key: (2048 bit)
    //...
    + +

    自签名并生成证书

    openssl x509 -req -days 3650 -in san_domain_com.csr -signkey san_domain_com.key -out san_domain_com.crt -extensions v3_req -extfile openssl.cnf
    +

    在当前目录会生成三个文件

    +
    san_domain_com.crt

    san_domain_com.csr

    san_domain_com.key
    + +

    在用户电脑安装证书

    .crt证书发给用户,用户双击进行安装,然后重启浏览器

    +

    code server启动

    在code-server的bin目录下运行如下命令,设置端口号为8881,指定对应生成的crt和key密钥文件,即可正常访问https域名

    +
    # 给ssh创建密码
    export PASSWORD="123456"
    # 启动ssh
    nohup ./code-server --port 8881 --host 0.0.0.0 --cert ../san_domain_com.crt --cert-key ../san_domain_com.key > vscode.log 2>&1 &
    +

    然后通过浏览器访问https://ip:3000

    +]]>
    + + 经验分享 + + + ubuntu + +
    + + 硬件性能监控平台 + /2022/12/01/project/2022-12-1-%E6%90%AD%E5%BB%BA%E7%A1%AC%E4%BB%B6%E6%80%A7%E8%83%BD%E7%9B%91%E6%8E%A7%E5%B9%B3%E5%8F%B0/ + 拉取prometheus镜像
    docker pull prom/prometheus
    +

    创建prometheus容器并启动

    docker run -itd --name=docker_prometheus --restart=always -p 3090:9090 -v /opt/prometheus:/ prom/prometheus
    +

    验证

    +

    通过浏览器访问http://ip:3090进行访问

    +

    方法一:服务器上直接安装node_export

    首先,用浏览器访问:node_export 下载,然后上传到被监控的服务器并解压
    进入解压文件夹,直接启动./node_exporter

    +

    方法二:拉取docker node_export镜像

    docker pull prom/node-exporter
    + +

    创建node_export容器并启动

    docker run -itd --name=node-exporter \
    --restart=always \
    -p 9100:9100 \
    -v "/proc:/host/proc:ro" \
    -v "/sys:/host/sys:ro" \
    -v "/:/rootfs:ro" \
    prom/node-exporter
    + +

    验证

    +

    在浏览器访问http://ip:9100/metrics进行访问

    +

    配置prometheus + node_export

    node_export的作用收集硬件数据

    +

    使用vim修改yum文件容器内:/etc/prometheus/prometheus.yml

    +
    scrape_configs:
    - job_name: prometheus
    static_configs:
    - targets: ['localhost:9090']
    labels:
    instance: prometheus

    - job_name: linux
    static_configs:
    - targets: ['被监控的服务器ip:9100']
    labels:
    instance: localhost
    + +

    重启prometheus容器

    docker restart docker_prometheus
    + +

    配置Grafana

    使用Grafana下载版本

    +

    配置数据源

      +
    • 数据源:选择prometheus

      +
    • +
    • URL输入http://prometheus机器ip:3090

      +
    • +
    • 点击Save & Test保存

      +
    • +
    +

    添加仪表盘

    使用官方仪表盘进行下载仪表盘
    导入仪表盘
    import via grafana.com输入框输入模板ID12884

    +

    ID:12633也可以使用。

    +

    点击 load,然后底部选择刚弄的数据源,点击import

    +

    注意:
    点击json下载12884的json文件

    +]]>
    + + 经验分享 + + + 监控 + +
    + + 解析ini文件用于数据驱动 + /2022/09/02/python/2022-09-21-python%E8%A7%A3%E6%9E%90ini%E6%96%87%E4%BB%B6/ + 背景
      +
    • PO设计模式是selenum自动化测试中比较好的设计模式
    • +
    • 在项目的开发过程中,UI界面上的元素不确定,会经常变化
    • +
    +

    过程解析

      +
    • 在PyCharm创建ini文件
    • +
    • 创建一个可以解析ini文件的python模块(parse_ini)
    • +
    • 其他模块引用parse_ini文件里面的方法把ini文件解析出来
    • +
    +

    创建ini文件

    image

    +

    创建parse_ini模块

    import configparser
    +
    +class Parse_Ini(object):
    +
    +    def __init__(self):
    +        self.file = r"D:\dingdang_project\test\config.ini"
    +        self.parse = configparser.ConfigParser()
    +        self.parse.read(self.file, encoding="utf-8")
    +
    +    def get_sections(self):
    +        """
    +        :return: 由sections组成的列表
    +        """
    +        return self.parse.sections()
    +
    +    def get_options(self, sections):
    +        """
    +        :return: 返回指定 section 中可用选项的列表。
    +        """
    +        return self.parse.options(sections)
    +
    +    def get_sections_options(self, sections, options):
    +        """
    +        :param sections: 元素名称
    +        :param options: 元素地址
    +        :return: 指定sections下的options
    +        """
    +        try:
    +            option = self.parse.get(sections, options)
    +            if ("-->" in option):
    +                option = tuple(option.split("-->"))
    +                return option
    +        except configparser.NoOptionError as e:
    +            return 'error: No option "{}" in section: "{}"'.format(options, sections)
    +
    +
    +if __name__ == "__init__":
    +    pass
    +
    +

    举个栗子:

    栗子1

    image

    +
    运行结果:

    image

    +
    栗子2

    image

    +
    运行结果:

    image

    +]]>
    + + 经验分享 + + + python + +
    + + 性能监控平台 + /2022/10/20/project/2022-11-24-%E6%90%AD%E5%BB%BA%E6%80%A7%E8%83%BD%E7%9B%91%E6%8E%A7%E5%B9%B3%E5%8F%B0/ + 搭建容器
    +

    拉取CentOS7镜像,下载安装Grafana和Influxdb

    +
    +
    
    +        # 拉取阿里云的centos7镜像
    +        git pull registry.cn-zhangjiakou.aliyuncs.com/ggls/centos:7.1
    +        # 运行镜像生成容器
    +        docker run -itd --name centos7-influx 
    +        -p 8083:8083 -p 8086:8086 
    +        -p 2003:2003 -p 3000:3000 
    +        -v /opt/centos7_influx:/opt 
    +        --privileged=true 
    +        registry.cn-zhangjiakou.aliyuncs.com/ggls/centos:7.1 /usr/sbin/init
    +        # 进入容器
    +        docker exec -it centos7-influx bash
    +    
    +
    +

    端口说明:

    +
      +
    • 8083:InfluxDB的UI界面展示的端口
    • +
    • 8086:Grafana用来从数据库取数据的端口
    • +
    • 2003:Jmeter往数据库发数据的端口
    • +
    • 3000:本地访问服务器内部docker容器的端口
    • +
    +

    安装Influxdb

      +
    1. 下载influxDB
    2. +
    +

    新版本可以点击influxDB官网进行下载

    + + # 下载安装包 + wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.3.x86_64.rpm + # 安装运行 + yum localinstall influxdb-1.6.3.x86_64.rpm + + + +
      +
    1. influxDB配置
    2. +
    +

    安装运行后,然后对influxDB进行配置,主要是配置Jmeter连接的数据库和端口号

    + + vim /etc/influxdb/influxdb.conf + + +

    找到graphite并且修改它的库与端口

    +
    enabled = true
    database = "jmeter"
    retention-policy = ""
    bind-address = ":2003"
    protocol = "tcp"
    consistency-level = "one"
    +
      +
    1. 找到[http],将前面的#号去掉
    2. +
    +
    + +
    + +
      +
    1. 配置成功,启动influxDB
    2. +
    +
      +
    • 启动命令: systemctl start influxdb.service
    • +
    • 查看状态命令: systemctl status influxdb.service
    • +
    +
    + +
    + +

    安装Grafana

    新版本下载位置:Grafana官网下载:https://grafana.com/grafana/download

    +
    wget https://dl.grafana.com/oss/release/grafana-6.5.2-1.x86_64.rpm

    sudo yum localinstall grafana-6.5.2-1.x86_64.rpm
    +

    然后启动

    启动命令: systemctl start grafana-server.service

    +

    查看状态命令: systemctl status grafana-server.service

    +

    然后在浏览器访问登录http://ip:3000

    +

    配置Jmeter

    一、添加监听器:Backend Listener

      +
    • 右键点击Thread Group
    • +
    • 点击Add -> Listener -> Backend Listener
    • +
    +

    二、配置监听器:Backend Listener

    Backend Listener implementation 默认选择GraphiteBackendListenerClient

    +
      +
    • graphiteHost:InfluxDB安装的服务器的ip
    • +
    • graphitePort:端口;默认就是2003,除非你自己安装InfluxDB时设置了其他端口是哦(可见上面安装InfluxDB后关于graphite的配置)
    • +
    • rootMetricsPrefix:指标的根前缀;将测试结果存入数据库时,不同指标会生成不同表,但这些表都最好要有一个共同的前缀,这个就是了;后面会讲到不同的指标的含义(重点哦)
    • +
    • summaryOnly:当你线程组有多个请求又想知道每个请求的结果数据时,最好填false,因为true只会返回所有请求的集合数据报告,不会输出每条请求的数据报告
    • +
    • samplersList:取样器列表;想收集哪些请求就填哪些,最好用正则去匹配,减轻工作量
    • +
    • useRegexpForSamplersList:是否使用正则;如果true则使用,samplersList里可以匹配正则表达式
    • +
    • percentiles:百分比;即类似聚合报告里90% Line,95% Line,99% Line的数据;倘若想要99.9时,需要写成【99_9】,用下划线代替点
    • +
    +

    三:运行Jmeter脚本,查看数据库

    数据库里面有两个库,jmeter库就是jmeter运行生成表的数据库

    +

    可以看到生成了三类前缀的表,分别是: jmeter.all 、 jmeter.[请求名称];最后还有 jmeter.test 开头的表,这个后面会单独拿出来说

    +

    前缀的含义

    +
      +
    • jmeter.all :代表了所有请求;当summaryOnly=true时,就只有samplerName=all的表了
    • +
    • jmeter.[请求名称]:代表了HTTP请求,即samplerName=[请求名称]
    • +
    +

    Thread/Virtual Users metrics - 线程/虚拟用户指标
    跟线程组设置相关的

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    指标全称含义
    jmeter.test.minATMin active threads最小活跃线程数
    jmeter.test.maxATMax active threads最大活跃线程数
    jmeter.test.meanATMean active threads平均活跃线程数
    jmeter.test.startedTStarted threads启动线程数
    jmeter.test.endedTFinished threads结束线程数
    +

    Response times metrics - 响应时间指标

    +

    划重点:每个sampler(请求)都包含了所有响应时间指标,每个sampler(请求)的每个指标都会有单独的一个表存储结果数据

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    指标含义
    .ok.countsampler的成功响应数
    .h.count服务器每秒命中次数(每秒点击数,即TPS)
    .ok.minsampler响应成功的最短响应时间
    .ok.maxsampler响应成功的最长响应时间
    .ok.avgsampler响应成功的平均响应时间
    .ok.pctsampler响应成功的所占百分比
    .ko.countsampler的失败响应数
    .ko.minsampler响应失败的最短响应时间
    .ko.maxsampler响应失败的最长响应时间
    .ko.avgsampler响应失败的平均响应时间
    .ko.pctsampler响应失败的所占百分比
    .a.countsampler响应数(ok.count+ko.count)
    .sb.bytes已发送字节
    .rb.bytes已接收字节
    .a.minsampler响应的最短响应时间(ok.count和ko.count的最小值)
    .a.maxsampler响应的最长响应时间(ok.count和ko.count的最大值)
    .a.avgsampler响应的平均响应时间(ok.count和ko.count的平均值)
    .a.pctsampler响应的百分比(根据成功和失败的总数来计算)
    +

    四、配置Grafana

    步骤:

    +
      +
    • 配置数据源

      +
    • +
    • 创建数据面板

      +
    • +
    +
    + +
    + +

    配置数据源

    点击首页的Create your first data source,然后进行配置

    +
    + +
    + +

    点击选择influxDB

    +
    + +
    + +
    + +
    + +

    配置数据面板

    + +
    + +

    选择Add Query,然后进行配置

    +
    + +
    + +

    当我们只想看数据而不想看数据趋势图的话,可以改变它的类型;

    +

    在同一个界面,点击左侧列表选中第二个icon,然后选择Singlestat即可

    +
    + +
    + +

    基本的配置完成,Jmeter使用GraphiteBackendListenerClient来采集数据的,因为请求多起来的时候会有非常多的表,维护成本也会增加;后面将会介绍如何通过InfluxDBBackendListenerClient来采集数据

    +

    给Jmeter的Backend Listener配置为InfluxDBBackendListenerClient

    +

    首先来看看每个配置项的含义

    +
      +
    1. influxdbUrl:安装influxdb的路径;主要格式:http://主机地址:8086/write?db=数据库名
    2. +
    3. application:应用名称;在 events 表中对应的字段是 application
    4. +
    5. measurement:表名;数据存储到哪个表,默认是jmeter,不用改即可
    6. +
    7. summaryOnly:同GraphiteBackendListenerClient
    8. +
    9. samplersRegex:同GraphiteBackendListenerClient
    10. +
    11. percentiles:同GraphiteBackendListenerClient
    12. +
    13. testTitle:测试名称;在 events 表中对应的字段是 text ,JMeter在测试的开始和结束时自动生成注释,该注释的值以’start’和’end’结尾
    14. +
    15. eventTags:Grafana允许为每个注释显示标签;在 events 表中对应的字段是 tags
    16. +
    +

    inDB数据库
    使用InfluxDBBackendListenerClient好处就是,再多的请求也只会生成两张表:

    +

    events :主要拿存事件的

    +

    jmeter :存测试结果数据的,Grafana也是从这个表获取数据再展示

    +

    配置数据面板

    +

    首先,进入官方模板库: https://grafana.com/dashboards ,然后跟着图片导入模板并初始化即可

    +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +

    然后jmeter再次执行一下测试计划

    +
    + +
    + +

    模板自带了三个下拉筛选框

    +
      +
    1. data_source:数据源,在Grafana配置了多少个就显示多少个

      +
    2. +
    3. application:在Jmeter配置好的application,如果每次测试计划执行时的application都不一样,你就可以通过这个筛选出对应测试时机的结果数据了

      +
    4. +
    5. transaction:在Jmeter配置好的sampleList,譬如我只发了get、post请求,这里就只会给你选get、post;可以滑到页面下面看到针对某个请求的数据展示

      +
    6. +
    +

    卸载Grafana

    停止Grafana服务。

    +
    systemctl stop grafana-server.service
    +
    systemctl disable grafana-server.service
    +

    查看要卸载的包的名称

    +
    yum list installed
    +

    输入命令行卸载Grafana

    +
    yum remove grafana.x86_64
    + +]]>
    + + 经验分享 + + + 监控 + +
    + + Shell脚本初探 + /2022/08/30/shell/2022-08-29-shell%E8%84%9A%E6%9C%AC%E5%88%9D%E6%8E%A2/ + 编写shell脚本时,必须以 #! /bin/bash 开头

    在linux创建helloworld.sh文件,在文件内输入:

    +
    #!/bin/bash
    #################
    echo "hello World"
    + +

    然后保存该文件

    +

    运行.sh文件时,有两种方法可以运行

    +
    第一种是给该文件添加可执行权限
    chmod +x ./helloworld.sh
    + +

    运行文件:./ 不能省略

    +
    ./helloworld.sh
    + +
    第二种是使用bash或sh 文件路径运行该文件
    bash helloworld.sh
    #
    sh helloworld.sh
    +]]>
    + + 经验分享 + + + shell + +
    + + Shell变量 + /2022/08/30/shell/2022-08-30-shell%E5%8F%98%E9%87%8F/ + shell变量分为系统变量和自定义变量,变量默认字符串类型
    系统变量

    $HOME 获取当前用户的家目录

    +

    $PWD 获取当前目录的路径

    +

    $SHELL 获取shell的执行引擎

    +

    $USER 获取当前用户的名称

    +
    自定义变量

    在linux系统中定义变量A=1,等号两边不能有空格,使用echo $A显示A的值

    +

    使用unset A命令,撤销变量

    +

    定义只读变量readonly b=3,使用echo $b显示b的值,不能unset

    +

    export命令进行设置全局变量,可以让其他shell命令进行使用

    +
    特殊变量:**$n**

    定义

    +

    n表示数字,范围是09,$0表示脚本名称,$19表示1~9个参数,10以上的参数要用花括号包裹,如${10}

    +

    运行apple.sh文件时可以传递参数

    +

    举个栗子

    +
    #!/bin/bash
    #
    echo "filename:" $0
    echo "filename_1:" $1
    echo "filename_2:" $2
    echo "filename_3:" $3
    echo "filename_4:" $4
    echo "filename_5:" $5
    + +

    运行后传递参数bash apple.sh 001 002 test "test sss" "hsgd_dee"

    +
    特殊变量:$#

    定义

    +

    获取所有输入参数的个数,常用于循环

    +

    举个栗子

    +
    #!/bin/bash
    #
    echo "filename:" $0
    echo "filename_1:" $1
    echo "filename_2:" $2
    echo "filename_3:" $3
    #
    echo $#
    + +
    特殊变量:$#,$*

    定义

    +

    $*代表命令行中所有参数,把参数作为一个整体

    +

    $@代表命令行中所有参数,把参数区分对待

    +
    特殊变量:$?

    定义

    +

    最后一次命令的返回状态,如果返回变量的值为0,则表示最后一次命令执行正确,如果变量的值非0,则证明上一条变量返回不正确

    +

    举个栗子

    +
    [root@b09ed0cc2c9d opt]# $?
    bash: 0: command not found
    [root@b09ed0cc2c9d opt]# echo $?
    127
    [root@b09ed0cc2c9d opt]# echo $?
    0
    [root@b09ed0cc2c9d opt]#
    + +]]>
    + + 经验分享 + + + shell + +
    + + 马哲 + /2022/08/26/%E6%88%90%E8%80%83%E5%AD%A6%E4%B9%A0/%E9%A9%AC%E5%93%B2/ + 马哲的基本特征
      +
    • 实践性
    • +
    • 阶级性
    • +
    • 革命性
    • +
    • 科学性
    • +
    +

    【主观题】主观能动性与规律的统一

      +
    • 尊重客观规律是正确发挥主观能动性的提前
    • +
    • 认识和利用客观规律必须充分发挥人的主观能动性
    • +
    • 在社会主义现代化建设中,必须把发挥人的主观能动性和尊重客观规律相结合
    • +
    +

    唯物辩证法的基本特征

    联系的观点和发展的观点

    +

    世界联系和发展的三个普遍规律

      +
    • 对立统一规律(唯物辩证法的实质和核心): 揭示事物发展的动力和源泉
      +

      矛盾的同一性和斗争性

      +
      +
    • +
    • 质量互变规律: 揭示事物发展的状态和形式
    • +
    • 否定之否定规律: 揭示事物发展的趋势和道路
    • +
    +

    【主观题】实践对认识的决定作用

      +
    • 实践是认识的来源
    • +
    • 实践是认识发展的动力
    • +
    • 实践是认识的目的
    • +
    • 实践是检验真理的唯一标准
    • +
    +]]>
    + + 学习日常 + + + 马哲 + +
    + + Shell脚本入门 + /2022/08/30/shell/2022-08-30-shell%E8%84%9A%E6%9C%AC%E5%85%A5%E9%97%A8/ + 创建txt文件并向txt文件追加数据

    首先创建test_shell.sh文件

    +
    touch test_shell.sh
    + +

    test_shell.sh文件输入shell脚本

    +
      +
    • 使用shell创建banzhang.txt文件

      +
    • +
    • 在文件中追加数据echo "aabbccdd" >> banzhang.txt

      +
    • +
    +
    #!/bin/bash
    # 指定目录
    cd /opt/
    # 创建文件
    touch banzhang.txt
    # 向文件追加数据
    echo "touch banzhang" >> banzhang.txt
    + +]]>
    + + 经验分享 + + + shell + +
    + + Shell条件判断 + /2022/08/31/shell/2022-08-31-shell%E6%9D%A1%E4%BB%B6%E5%88%A4%E6%96%AD/ + 基本语法

    [ condition ] (注意,condition 前后要有空格

    +

    注意:条件非空即为 true,[ atguigu ]返回 true, [] 返回 false.

    +
    常用条件判断
    两个整数之间进行比较
    = 字符串比较
    -lt 小于
    -le 小于等于
    -eq 等于
    -gt 大于
    -ge 大于等于
    -ne 不等于
    + +

    举个栗子

    +
    [23 -lt 80]
    echo $? # 判断上一步操作是不是正确
    + +
    按照文件权限进行判断
    -r 读
    -w 写
    -x 执行
    + +

    举个栗子

    +
    [ -w 1.sh ]
    echo $?
    + +
    文件类型判断
    -f 文件存在且是一个常规文件
    -e 文件存在
    -d 文件存在且是一个目录
    + +

    举个栗子

    +
    [ -e 2.sh ]
    echo $?
    + +
    多条件判断

    $$ 与 ,前对,才执行后

    +

    ||

    +]]>
    + + 经验分享 + + + shell + +
    + + Shell工具(一) + /2022/08/31/shell/2022-08-31-shell%E5%B7%A5%E5%85%B7%EF%BC%88%E4%B8%80%EF%BC%89/ + Cut工具
    +

    用于剪切数据

    +
    +
    基本用法

    cut[选项参数] filename

    +

    说明:默认分隔符是制表符

    + + + + + + + + + + + + + + + +
    选项参数功能
    -f列号,提取第几列
    -d分隔符,按照指定分隔符分割列
    +
    举个栗子

    准备数据

    +
    [root@b09ed0cc2c9d local]# touch cut.txt
    [root@b09ed0cc2c9d local]# vim cut.txt

    dong shen
    guan zhen
    wo wo
    lai lai
    le le
    + +

    切割第一列数据

    +
    [root@b09ed0cc2c9d local]# cut -d " " -f 1 cut.txt
    dong
    guan
    wo
    lai
    le
    + +

    切割第二,三列

    +
    [root@b09ed0cc2c9d local]# cut -d " " -f 2,3 cut.txt
    shen
    zhen
    wo
    lai
    le
    + +

    在cut.txt文件切割出guan

    +
    [root@b09ed0cc2c9d local]# cat cut.txt
    dong shen
    guan zhen
    wo wo
    lai lai
    le le
    [root@b09ed0cc2c9d local]#
    [root@b09ed0cc2c9d local]# cat cut.txt | grep guan
    guan zhen
    [root@b09ed0cc2c9d local]# cat cut.txt | grep guan | cut -d " " -f 1
    guan
    [root@b09ed0cc2c9d local]#
    + +

    选取系统PATH变量值,第二个“:”之后的所有路径

    +
    [root@b09ed0cc2c9d local]# echo $PATH
    /usr/local/java/jdk1.8.0_181/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    [root@b09ed0cc2c9d local]# echo $PATH | cut -d : -f 3- # 不加-表示第三列,加上-表示第三列之后
    /usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    + +

    切割ifconfig后打印的IP地址

    +
    [root@b09ed0cc2c9d local]# ifconfig
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 172.17.0.2 netmask 255.255.0.0 broadcast 0.0.0.0
    inet6 fe80::42:acff:fe11:2 prefixlen 64 scopeid 0x20<link>
    ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet)
    RX packets 8 bytes 656 (656.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 8 bytes 656 (656.0 B)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
    inet 127.0.0.1 netmask 255.0.0.0
    inet6 ::1 prefixlen 128 scopeid 0x10<host>
    loop txqueuelen 1000 (Local Loopback)
    RX packets 0 bytes 0 (0.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 0 bytes 0 (0.0 B)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    [root@b09ed0cc2c9d local]# ifconfig eth0 | grep "inet " | cut -d "t" -f 2 | cut -d " " -f 2
    172.17.0.2
    [root@b09ed0cc2c9d local]#
    + +
    sed工具
    +

    一种流编辑器,一次处理一行内容

    +
    +
    基本用法

    sed [选项参数] command filename

    +

    选项参数说明

    + + + + + + + + + + + +
    选项参数功能
    -a直接在指定列模式上进行sed的动作编辑
    +

    命令功能描述

    + + + + + + + + + + + + + + + + + + + +
    命令功能描述
    a新增,a的后面可以接字串,在下一行出现
    d删除
    s查找并替换
    +
    举个栗子

    数据准备

    +
    [root@b09ed0cc2c9d opt]# touch sed.txt
    [root@b09ed0cc2c9d opt]# vim sed.txt

    dong shen
    guan zhen
    wo wo
    lai lai

    le le
    + +

    将mei nv 这个单词插入到 sed.txt 第二行下,打印

    +
    [root@b09ed0cc2c9d opt]# sed "2a mei nv" sed.txt
    dong shen
    guan zhen
    mei nv
    wo wo
    lai lai

    le le
    [root@b09ed0cc2c9d opt]#
    + +

    删除sed.txt文件所有包含 wo 的行

    +
    [root@b09ed0cc2c9d opt]# sed "/wo/d" sed.txt
    dong shen
    guan zhen
    lai lai

    le le
    [root@b09ed0cc2c9d opt]#
    + +

    将sed.txt文件中 wo 替换为 ni

    +
    [root@b09ed0cc2c9d opt]# sed "s/wo/ni/g" sed.txt
    dong shen
    guan zhen
    ni ni
    lai lai

    le le
    [root@b09ed0cc2c9d opt]#
    + +

    注意:g表示global,全部替换

    +

    将sed.txt文件中的第二行删除并将wo替换成ni

    +
    [root@b09ed0cc2c9d opt]# sed -e "2d" -e "s/wo/ni/g" sed.txt
    dong shen
    ni ni
    lai lai

    le le
    [root@b09ed0cc2c9d opt]#
    + + + +]]>
    + + 经验分享 + + + shell + +
    + + Shell流程控制 + /2022/08/31/shell/2022-08-31-shell%E6%B5%81%E7%A8%8B%E6%8E%A7%E5%88%B6/ + if判断
    基本语法
      +
    • [ 条件判断式 ],中括号和条件判断式之间必须有空格

      +
    • +
    • if后要有空格

      +
    • +
    +
    if [ 条件判断式 ]:then
    程序
    fi
    #或者
    if[ 条件判断式 ]
    then
    程序
    fi
    + +
    举个栗子

    输入一个数字,如果是1,则输出 banzhang zhen shuai,如果是2,则输出 cls zhen mei ,如果是其他,则什么都不输出

    +
    #!/bin/bash
    if [ $1 -eq 1 ]
    then
    echo "banzhang zhen shuai"
    elif [ $1 -eq 2 ]
    then
    echo "cls zhen mei"
    fi
    + +
    case 语句
    基本语法
      +
    • case行尾必须是单词 “in”,每一个模式匹配必须以右括号 “)” 结束
    • +
    • 双分号 “;;” 表示命令序列结束,相当于java的break
    • +
    • 最后的 “*)” 表示默认模式,相当于java的default
    • +
    +
    case $变量名 in  
    "值 1")
    如果变量的值等于1,执行程序1
    ;;
    "值 2")
    如果变量的值等于2,执行程序2
    ;;
    *)
    如果变量的值不是以上的值,则执行此程序
    esac
    + +
    举个栗子

    输入一个数字,如果是 1,则输出 banzhang,如果是 2,则输出 cls,如果是其他,输出 renyao

    +
    #!/bin/bash
    case $1 in
    "1")
    echo "banzhang"
    ;;

    "2")
    echo "cls"
    ;;

    *)
    echo "renyou"
    esac
    + +
    For循环
    基本语法1
    for(( 初始值;循环控制添加;变量变化 ))
    do
    程序
    done
    + +
    举个栗子1

    输出从1加到100的值

    +
    #!/bin/bash

    s=0
    for ((i=1;i<=100;i++))
    do
    s=$[$s+$i]
    done
    echo "cong1jiadao100:$s"
    + +
    基本语法2
    for 变量 in 值1 值2 值3...
    do
    程序
    done
    + +
    举个栗子2

    打印所有输入参数

    +
    #!/bin/bash

    for i in "$*"
    do
    echo "banzhang xihuan $i"
    done
    #-----------------------------------
    for j in "$@"
    do
    echo "banzhang xihuan $j"
    done
    + +
    while 循环
    基本语法
    while[ 条件判断式 ]
    do
    程序
    done
    + +
    举个栗子

    输出从1加到100的值

    +
    #!/bin/bash

    i=1
    while [ $i -le 100 ]
    do
    s=$[$s + $i]
    i=$[$i + 1]
    done

    echo $s
    + +
    read 读取控制台输入
    基本语法
    read(选项)(参数)
    选项:
    -p:指定读取值时的提示符
    -t:指定读取值时的等待的时间(秒)
    参数:
    变量:指定读取值的变量名
    + +
    举个栗子

    提示7秒内,读取控制台输入的名称

    +
    #!/bin/bash

    read -t 7 -p "input your name" NAME

    echo $NAME
    + +]]>
    + + 经验分享 + + + shell + +
    + + Shell函数 + /2022/08/31/shell/2022-08-31-shell%E5%87%BD%E6%95%B0/ + 系统函数
    basename基本语法
    basename [string/ pathname][文件后缀] 
    + +

    basename命令会删掉所有的前缀,只留一个文件名

    +

    选项:

    +

    如果指定后缀,basename会将pathname或string中的文件后缀去掉

    +
    举个栗子

    截取该/opt/banzhang.txt路径的文件名称

    +
    [root@b09ed0cc2c9d opt]# basename /opt/banzhang.txt
    banzhang.txt
    [root@b09ed0cc2c9d opt]# basename /opt/banzhang.txt .txt
    banzhang
    [root@b09ed0cc2c9d opt]#
    + +
    dirname基本语法
    dirname 文件绝对路径
    + +

    从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录部分)

    +
    举个栗子
    [root@b09ed0cc2c9d opt]# dirname /opt/banzhang.txt
    /opt
    [root@b09ed0cc2c9d opt]#
    + +
    自定义函数
    基本语法
    [function] funname[()]
    {
    Action;
    [retion int;]
    }

    funname
    + +
    举个栗子
    #!/bin/bash

    function sum()
    {
    s=0;
    s=$[$1+$2]
    echo $s
    }

    read -p "input your paratemer1:" p1
    read -p "input your oaeayemer2:" p2

    sum $p1 $p2
    + + + + + +]]>
    + + 经验分享 + + + shell + +
    + + Shell运算符 + /2022/08/31/shell/2022-08-31-shell%E8%BF%90%E7%AE%97%E7%AC%A6/ + 基本语法
      +
    1. $((运算式)) 或 $[运算式]
    2. +
    3. expr + - * /
    4. +
    +

    注意,运算符号间要有空格

    +
    举个加法栗子
    expr 3 + 2
    5
    + +
    举栗子[(2+3)*4]

    需要使用键盘左上角的`,把需要提前运算的包起来

    +
    expr `expr 2 + 3` \* 4
    + +

    或者

    +
    s=$[(2+3)*4]
    echo $s
    + +]]>
    + + 经验分享 + + + shell + +
    + + Shell工具(二) + /2022/08/31/shell/2022-09-01-shell%E5%B7%A5%E5%85%B7%EF%BC%88%E4%BA%8C%EF%BC%89/ + awk工具
    +

    强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理。

    +
    +

    awk [选项参数] ‘pattern1{action1}’ filename

    +
      +
    • pattern:表示awk在数据中查找的内容
    • +
    • action:找到匹配内容时执行命令
    • +
    + + + + + + + + + + + + + + + +
    选项参数功能
    -F指定输入文件分隔符
    -v赋值一个用户定义变量
    +
    举个栗子

    数据准备的是/etc/passwd

    +
    [root@b09ed0cc2c9d opt]# cat passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    + +

    搜素passwd文件以root关键字开头的所有航,并输出该行的第7列

    +
    [root@b09ed0cc2c9d opt]# awk -F : '/^root/{print $7}' passwd
    /bin/bash
    [root@b09ed0cc2c9d opt]#
    + +

    搜素passwd文件以root关键字开头的所有航,并输出该行的第1列和第7列,输出时以逗号分隔

    +
    [root@b09ed0cc2c9d opt]# awk -F : '/^root/{print $1","$7}' passwd
    root,/bin/bash
    + +

    只显示/etc/passwd的第一列和第7列,以逗号分隔,且在所有航前面添加列名 user,shell在最后一行添加 ddd, /bin/zuishuai

    +
    [root@b09ed0cc2c9d opt]# awk -F : 'BEGIN{print "user,shell"} {print $1","$7} END{print "ddd,bin/zuishuai"}' passwd
    + +

    注意:BEGIN 在所有数据读取行之前执行; END 在所有数据执行之后执行

    +

    将passwd 文件中的用户id增加数值1并输出

    +
    [root@b09ed0cc2c9d opt]# awk -F : -v i=1 '{print $3+i}' passwd
    + +
    内置变量
    + + + + + + + + + + + + + + + + + + +
    变量说明
    filename文件名
    nr已读的记录数
    nf浏览记录的域的个数
    +
    举个栗子

    数据准备

    +
    [root@b09ed0cc2c9d opt]# cat sed.txt
    dong shen
    guan zhen
    wo wo
    lai lai

    le le
    + +

    统计passwd文件名,每行的行号,每列的列数

    +
    [root@b09ed0cc2c9d opt]# awk -F : '{print FILENAME "," NR "," NF}' passwd
    + +

    打印空行所在的行号

    +
    awk '/^$/ {print NR}' sed.txt
    + +
    sort工具
    +

    文件排序

    +
    +

    sort(选项)(参数)

    + + + + + + + + + + + + + + + + + + + + + + + +
    选项说明
    -n按照数值大小排序
    -r以相反的顺序排序
    -t设置排序使用的分隔字符
    -k指定需要排序的列
    +

    参数是指定待排序文件列表

    +]]>
    + + 经验分享 + + + shell + +
    + + 开发时遇到端口冲突解决办法 + /2022/10/21/springboot/2022-10-21-%E5%BC%80%E5%8F%91%E6%97%B6%E9%81%87%E5%88%B0%E7%AB%AF%E5%8F%A3%E5%86%B2%E7%AA%81%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/ + 解决办法

    resources下面新建文件application.properties,名称不能变,只能是这个,运行时系统会自动获取这个端口数据

    +

    在里面输入代码数据

    +
    server.port=${port:8888}
    +]]>
    + + 经验分享 + + + SpringBoot + +
    + + 接口开发环境部署 + /2022/10/21/springboot/2022-10-21-%E6%8E%A5%E5%8F%A3%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%83%A8%E7%BD%B2/ + 开发环境
      +
    • IDEA
    • +
    • Maven
    • +
    • Spring Boot
    • +
    • JDK_86001
    • +
    +

    在idea安装SpringBoot插件

    在maven下安装插件,需要在pox.xml文件输入下面的数据,然后更新文件

    +

    <properties>
    <maven.compiler.source>8</maven.compiler.source>
    <maven.compiler.target>8</maven.compiler.target>
    <springboot.version>2.5.6</springboot.version>
    <swagger.version>2.9.2</swagger.version>
    </properties>

    <dependencies>
    <!-- springboot 2.5.6 -->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>${springboot.version}</version>
    <type>pom</type>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>${springboot.version}</version>
    </dependency>
    </dependencies>

    +

    上面的${springboot.version}是在上面里面定义的版本信息,如果多个插件的版本一致就可以在属性上进行定义,然后使用变量进行引用

    +]]>
    + + 经验分享 + + + SpringBoot + +
    + + 返回cookie的Get接口开发 + /2022/10/21/springboot/2022-10-21-%E8%BF%94%E5%9B%9Ecookie%E7%9A%84Get%E6%8E%A5%E5%8F%A3%E5%BC%80%E5%8F%91/ + 位置布局
    - java
    - com.course.server
    - intertype
    MyGetMethod
    Application
    - resources
    - application.properties
    + +

    Application 类

    创建Application.java类,用来运行接口,类名只能是Application,不能自定义

    +
    @SpringBootApplication
    @Controller("com.course.server.intertype")
    public class Application {

    public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
    }
    }
    + +
      +
    • @SpringBootApplication 作用是给当前类标明是运行的主类,相当于被SpringBoot托管了
    • +
    • @Controller("com.course.server.intertype") 钩子标识符,扫描包下面的类,被Springboot托管
    • +
    +

    编写Get接口

    创建MyGetMethod

    +

    类名上有修饰符@RestController@Api(value = "/")

    +
      +
    • @RestController 标识该类会被扫描到,然后被SpringBoot托管
    • +
    • @Api(value = "/") 可加可不加
    • +
    • @RequestMapping(value = "访问路径", method = 访问方法) 定义接口的访问路径及访问方法
    • +
    • @ApiOperation(value = "接口信息", httpMethod = "接口的请求方法") 展示接口的基本信息和它的请求方法,可加可不加
    • +
    +

    下面是代码信息,之后的所有GET接口都在该类里面写接口方法

    +
    @RestController
    @Api(value = "/", tags = {SwaggerConfig.TagGet} )
    public class MyGetMethod {

    @RequestMapping(value = "/getCookies", method = RequestMethod.GET)
    @ApiOperation(value = "通过这个方法可以获得cookies", httpMethod = "GET")
    public String getCookies(HttpServletResponse response){

    // HttpServerletRequest 装请求信息类
    // HttpServerletResponse 装响应信息类

    Cookie cookie = new Cookie("login", "True");

    response.addCookie(cookie);

    return "恭喜获得cookies信息成功";
    }
    }
    + +

    上面就是返回cookie的get接口开发,接下来就是 需要携带cookies信息才能访问的get请求

    +]]>
    + + 经验分享 + + + SpringBoot + +
    + + 需要cookie访问的Get接口开发 + /2022/10/21/springboot/2022-10-21-%E9%9C%80%E8%A6%81cookie%E8%AE%BF%E9%97%AE%E7%9A%84Get%E6%8E%A5%E5%8F%A3%E5%BC%80%E5%8F%91/ + 编写需要cookie才能访问的接口

    这个接口还是在MyGetMethod类里面编写方法

    +
    /**
    * 要求客户端携带cookie访问
    * 这是一个需要携带cookies信息才能访问的get请求
    */
    @RequestMapping(value = "/get/with/cookies", method = RequestMethod.GET)
    @ApiOperation(value = "要求客户端携带cookie访问", httpMethod = "GET")
    public String getWithCookies(HttpServletRequest request){
    Cookie[] cookies = request.getCookies();
    if(Objects.isNull(cookies)){
    return "你必须携带cookies信息来";
    }
    for(Cookie cookie : cookies){
    if(cookie.getName().equals("login") && cookie.getValue().equals("True")){
    return "恭喜你,访问成功!,这是一个需要携带cookies信息才能访问的get请求";
    }
    }
    return "你必须携带cookies信息来";
    }
    ]]>
    + + 经验分享 + + + SpringBoot + +
    + + 需要参数才能访问的get请求 + /2022/10/21/springboot/2022-10-21-%E9%9C%80%E8%A6%81%E5%8F%82%E6%95%B0%E6%89%8D%E8%83%BD%E8%AE%BF%E9%97%AE%E7%9A%84get%E8%AF%B7%E6%B1%82/ + 编写需要参数才能访问的get请求

    使用参数就要用到@RequestParam 参数类型 参数变量,可以有多个参数

    +

    这个接口还是在MyGetMethod类里面编写方法,有两种方法

    +

    第一种url:key=value&&key=value

    +
    /**
    * 开发一个需要参数才能访问的get请求
    * 模拟获取商品列表
    */
    @RequestMapping(value = "/get/with/param", method = RequestMethod.GET)
    @ApiOperation(value = "需要参数才能访问的get请求的第一种实现方法", httpMethod = "GET")
    public Map<String, Integer> getList(@RequestParam Integer start,
    @RequestParam Integer end){

    Map<String, Integer> myList = new HashMap<>();

    myList.put("鞋",400);
    myList.put("电脑",5000);
    myList.put("手机",3500);

    return myList;

    }
    + +

    方法二url: ip:port/get/with/param/10/20

    +

    /**
    * 第二种需要携带参数访问的get请求
    */

    @RequestMapping(value = "/get/with/param/{start}/{end}", method = RequestMethod.GET)
    @ApiOperation(value = "需要参数才能访问的get请求的第二种实现方法", httpMethod = "GET")
    public Map<String,Integer> myGetList(@PathVariable Integer start,
    @PathVariable Integer end){

    Map<String, Integer> myList = new HashMap<>();

    myList.put("鞋",400);
    myList.put("电脑",5000);
    myList.put("手机",3500);

    return myList;
    }
    +]]>
    + + 经验分享 + + + SpringBoot + +
    + + 开发获取用户列表的Post接口 + /2022/10/22/springboot/2022-10-22-%E5%BC%80%E5%8F%91%E8%8E%B7%E5%8F%96%E7%94%A8%E6%88%B7%E5%88%97%E8%A1%A8%E7%9A%84post%E8%AF%B7%E6%B1%82/ + 开发获取用户列表的post请求

    开发添加人员信息时需要的字段数据

    首先,写一个User类,这将是添加时的字段数据

    +
    @Data
    public class User {
    private String userName;
    private String password;
    private String name;
    private String age;
    private String sex;
    }
    + +

    然后开始写怎么获取用户列表,相当于添加用户

    @RequestBody User u请求post接口时,在Body填写上传的数据

    +
    @RequestMapping(value = "/getUserList", method = RequestMethod.POST)
    @ApiOperation(value = "获取用户列表", httpMethod = "POST")
    public String getUserList(HttpServletRequest request,
    @RequestBody User u){
    User user;
    // 获取cookies
    Cookie[] cookies= request.getCookies();
    // 验证cookies是否合法
    for(Cookie c:cookies){
    if (c.getName().equals("login")
    && c.getValue().equals("true")
    && u.getUserName().equals("zhangsan")
    && u.getPassword().equals("123456")){
    user = new User();
    user.setName("lisi");
    user.setAge("18");
    user.setSex("man");
    return user.toString();
    }
    }
    return "参数不合法";
    }
    ]]>
    + + 经验分享 + + + SpringBoot + +
    + + 开发获得cookie的Post登录接口 + /2022/10/22/springboot/2022-10-22-%E5%BC%80%E5%8F%91%E8%8E%B7%E5%BE%97cookie%E7%9A%84Post%E7%99%BB%E5%BD%95%E6%8E%A5%E5%8F%A3/ + 开发获得cookie的Post登录接口

    @RequestMapping(value = "/v1")的作用是把这个value和方法上的登录地址进行拼接,比如:/v1/login

    +

    @RestController标识该接口可以被托管

    +

    方法参数@RequestParam(value = "userName", required = true) String userName,代码中的required = true起到必填的作用

    +

    举个栗子

    @RestController
    @Api(value = "/", tags = {SwaggerConfig.TagPost})
    @RequestMapping(value = "/v1")
    public class MyPostMethod {

    //这个变量用来装cookie信息的
    private static Cookie cookie;

    //用户登录成功获取到cookies,然后访问其他接口获取到列表
    @RequestMapping(value = "/login",method = RequestMethod.POST)
    @ApiOperation(value = "登录接口,成功后获取到cookies信息",httpMethod = "POST")
    public String login(HttpServletResponse response,
    @RequestParam(value = "userName", required = true) String userName,
    @RequestParam(value = "password", required = true) String password){
    if (userName.equals("zhangsan") && password.equals("123456")){
    cookie = new Cookie("login","true");
    response.addCookie(cookie);
    return "恭喜你登录成功!";
    }
    return "用户名或密码错误!";

    }
    ]]>
    + + 经验分享 + + + SpringBoot + +
    + + 2023立的flag + /2023/09/11/%E7%9B%AE%E6%A0%87&%E4%BC%98%E5%8C%96/2023%E7%9B%AE%E6%A0%87/ + 目前所拥有的进度
      +
    • 考研恋练有词必背词全部背锅一边

      +
    • +
    • 自动化测试已部署

      +
    • +
    • +
    • +
    +]]>
    + + 生活日常 + + + 目标&优化 + +
    + + 2023立的flag + /2023/09/11/English/english-1/ + + + 学习日常 + + + English + + + + Ultimate Thread Group的使用 + /2022/11/30/jmeter/jmeter_plugins/2022-12-07-Ultimate%20Thread%20Group%E7%9A%84%E4%BD%BF%E7%94%A8/ + 前提
      +
    • 安装插件,下载Custom Thread Groupsan插件

      +
    • +
    • 添加Ultimate Thread Group

      +
    • +
    +

    配置

      +
    • Start Threads Count : 线程数
    • +
    • Initial Delay,sec : 线程延迟启动,0指的是立即启动;5代表五秒后启动
    • +
    • Startup Time,sec : 线程及时启动,0代表立即启动,5代表五秒之内启动完成
    • +
    • Hold Load For,sec : 启动后运行的时间,120代表运行120秒
    • +
    • Shutdown Time : 代表运行结束后停止的时间,0代表运行结束后立即停止,5代表运行结束后五秒内停止
    • +
    +
    + +
    +]]>
    + + 工具教程 + + + jmeter + +
    + + Arrivals Thread Group的使用 + /2022/11/30/jmeter/jmeter_plugins/2022-12-07-Arrivals%20Thread%20Group%E7%9A%84%E4%BD%BF%E7%94%A8/ + 前提
      +
    • 安装插件,下载Custom Thread Groupsan插件

      +
    • +
    • 添加Arrivals Thread Group

      +
    • +
    +

    配置

      +
    • Target Rate (arrivals/sec) : 相当于QPS, 输入10就是10QPS
    • +
    • Ramp Up Time (sec) : 在多少秒内达到最大的QPS,4代表在4秒内获得最大的QPS
    • +
    • Ramp-Up Steps Count : 代表并发数,4代表实现4次的并发
    • +
    • Hold Target Rate Time (sec) : 对系统压多长时间就输入多长时间 ,10代表压上10s
    • +
    • Concurrency Limit : 最大启动多少线程,100代表最多启动100线程
    • +
    +
    + +
    ]]>
    + + 工具教程 + + + jmeter + +
    +
    diff --git a/self/css/essay_page.css b/self/css/essay_page.css new file mode 100644 index 000000000..e2964c297 --- /dev/null +++ b/self/css/essay_page.css @@ -0,0 +1,256 @@ +#icat-bber { + margin-top: 1.5rem; + width: 100%; +} +#icat-bber #waterfall.list { + display: flex; + flex-flow: row wrap; + justify-content: space-between; +} +#icat-bber .icat-timeline #waterfall { + opacity: 0; + transition: .3s; +} +#icat-bber .icat-timeline #waterfall.show { + opacity: 1; +} +#icat-bber .icat-timeline #waterfall .icat-bber-item { + position: relative; + width: 32%; + border: var(--style-border-always); + border-radius: 12px; + padding: 1rem 1rem 0.9rem; + transition: all 0.3s ease 0s; + display: flex; + flex-flow: column nowrap; + justify-content: space-between; + align-items: flex-start; + background: var(--icat-card-bg); + box-shadow: var(--icat-shadow-border); + margin-right: 2%; + animation: slide-in .6s .4s backwards; +} +#icat-bber > section > #waterfall > .icat-bber-item { + margin-bottom: 1rem; +} +#icat-bber .icat-timeline #waterfall .icat-bber-item:hover { + border: var(--style-border-hover); +} +@media screen and (max-width: 1300px) { + #icat-bber .icat-timeline #waterfall .icat-bber-item { + width: 49%; + margin-right: 1%; + } +} +@media screen and (max-width: 768px) { + #icat-bber .icat-timeline #waterfall .icat-bber-item { + width: 100%; + margin-right: 0px; + } +} +/* 响应式 */ + +#icat-bber div.icat-bber-content { + display: flex; + flex-flow: wrap; + border-radius: 12px; + width: 100%; + height: 100%; +} +#icat-bber p { + margin: 0px; +} +#icat-bber .icat-bber-content .datacont { + order: 0; + font-size: 0.8rem; + font-weight: 700; + color: var(--icat-fontcolor); + width: 100%; + line-height: 1.38; + border-radius: 12px; + margin-bottom: 0.8rem; + display: flex; + flex-direction: column; + text-align: justify; + padding: 0px 8px; +} +#icat-bber .icat-bber-container-img { + display: flex; + gap: 8px; + width: 100%; + flex-wrap: wrap; + margin-bottom: 10px; + padding-left: 8px; +} +#icat-bber .icat-bber-container-img .imgbox { + width: calc(100% / 4 - 8px); + aspect-ratio: 1 / 1; + overflow: hidden; + border-radius: 6px; +} +#icat-bber .icat-bber-container-img .imgbox .icat-bber-content-img { + height: 100px; + display: flex; + position: relative; +} +#icat-bber .icat-bber-container-img .imgbox .icat-bber-content-img img { + object-fit: cover; + width: 100%; + max-height: 100%; + border-radius: 6px; + animation: slide-in .6s .4s backwards; +} +#icat-bber .icat-bber-video { + position: relative; + padding: 30% 50%; + margin-bottom: 10px +} +#icat-bber .icat-bber-video video, +#icat-bber .icat-bber-video iframe { + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + margin: 0; + border-radius: 6px; + border: var(--style-border); +} +#icat-bber .icat-bber-music { + width: 100%; + height: 90px; + margin: 0 0 0.5rem; + border-radius: 8px; + overflow: hidden; + border: var(--style-border-always); + background: var(--icat-secondbg); +} +#icat-bber .aplayer { + margin: 0; +} +#icat-bber .aplayer.aplayer-withlrc .aplayer-pic { + height: 82px; + width: 82px; + margin: 4px; + border-radius: 4px; +} +.icat-bber-music .aplayer.aplayer-withlrc .aplayer-info { + padding: 5px 7px 0; +} +#icat-bber .aplayer .aplayer-info .aplayer-music { + height: 23px; + text-align: center; +} +#icat-bber .aplayer .aplayer-info .aplayer-music .aplayer-title { + font-size: 0.8rem; + font-weight: 700; + margin: 0; + color: var(--icat-fontcolor); +} +#icat-bber .aplayer .aplayer-info .aplayer-controller { + align-items: center; +} +#icat-bber .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap { + padding: 0; +} +#icat-bber .aplayer .aplayer-info .aplayer-controller .aplayer-time { + position: initial; +} +#icat-bber .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar { + background: var(--icat-gray); + height: 8px; + border-radius: 12px; + transition: 0.3s; + overflow: hidden; +} +#icat-bber .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-loaded { + height: 100%; + border-radius: 12px; +} +#icat-bber .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played { + height: 100%; + border-radius: 12px; +} +#icat-bber .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb { + display: none; +} +#icat-bber .aplayer .aplayer-info .aplayer-controller .aplayer-time { + position: initial; +} +#icat-bber .aplayer .aplayer-lrc p { + color: var(--icat-fontcolor); +} +#icat-bber .icat-timeline #waterfall .icat-bber-item hr { + display: flex; + position: relative; + margin: 8px 0px; + border: 1px dashed var(--icat-blue); + width: 100%; + opacity: 0.4; +} +#icat-bber .icat-bber-bottom { + display: flex; + justify-content: space-between; + width: 100%; + margin-top: 10px; +} +#icat-bber .icat-bber-info { + display: flex; +} +#icat-bber > section > #waterfall > .icat-bber-item > div .icat-bber-info-time, +#icat-bber > section > #waterfall > .icat-bber-item > div .icat-bber-info-from { + color: var(--icat-fontcolor); + font-size: 0.7rem; + background-color: var(--icat-gray-op); + padding: 0px 8px; + border-radius: 20px; + cursor: default; + display: flex; + align-items: center; + padding-right: 12px; +} +#icat-bber > section > #waterfall > .icat-bber-item > div .icat-bber-info-time > i { + padding-right: 4px; +} +#icat-bber > section > #waterfall > .icat-bber-item > div .icat-bber-info-from { + margin-left: 0.5rem; +} +#icat-bber > section > #waterfall > .icat-bber-item > div .icat-bber-info-from span { + margin-left: 0.35rem; +} +#icat-bber .icat-bber-content-link { + display: flex; + margin-left: 0.5rem; + font-size: 0.7rem; + align-items: center; + background-color: rgba(245, 108, 108, 0.13); + color: rgb(245, 108, 108); + padding: 0px 8px; + border-radius: 20px; + padding-right: 10px; +} +#icat-bber .icat-bber-content-link i { + margin-right: 4px; +} +#icat-bber .icat-bber-content-link:hover { + background-color: var(--icat-main); + color: var(--icat-white); +} +#icat-bber-tips { + font-size: 14px; + display: flex; + justify-content: center; + margin-bottom: 2rem; +} + +[data-theme="dark"] #icat-bber .icat-timeline #waterfall .icat-bber-item hr { + opacity: 0.2; +} +[data-theme="dark"] #icat-bber .icat-bber-music .aplayer, +[data-theme="dark"] #icat-bber .aplayer .aplayer-lrc:before, +[data-theme="dark"] #icat-bber .aplayer .aplayer-lrc:after { + background: var(--icat-card-bg); + color: var(--icat-fontcolor); +} + +/* 即刻短文样式 */ diff --git a/self/css/icat.css b/self/css/icat.css new file mode 100644 index 000000000..9bbeb3be1 --- /dev/null +++ b/self/css/icat.css @@ -0,0 +1,381 @@ +#page:has(#icat_page) { + border: 0; + box-shadow: none !important; + padding: 0 !important; + background: transparent !important; + } + #web_bg ~ .page:has(#icat_page) { + background: var(--card-bg); + } + /* ---------------------------------------------------------page背景调整--------------------------------------------------------- */ + + .icat-content.icat-content-item.icatPage { + height: 19rem; + color: var(--icat-white); + overflow: hidden; + margin-top: 0; + border-radius: 12px; + border: var(--style-border-always); + box-shadow: var(--icat-shadow-border); + } + .icat-content-item .icat-card-content { + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + padding: 1rem 2rem; + } + .icat-content-item .icat-content-item-tips { + opacity: .8; + font-size: .6rem; + margin-bottom: .5rem; + } + .icat-content-item .icat-card-content .icat-content-item-title { + margin-bottom: .5rem; + } + .icat-content-item .icat-content-item-title { + font-size: 36px; + font-weight: bold; + line-height: 1; + } + .icat-content-item .icat-content-bottom { + margin-top: auto; + display: flex; + align-items: center; + justify-content: space-between; + } + .icat-content-item .icat-content-bottom .icat-tips { + font-weight: bold; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + white-space: nowrap; + } + .icat-content-item .icat-card-content .icat-change-button-group .icat-change-button { + height: 40px; + width: auto; + padding: 0 22px; + border-radius: 20px; + justify-content: center; + background: var(--icat-white); + color: var(--icat-black); + display: flex; + align-items: center; + transition: .3s; + cursor: pointer; + backdrop-filter: saturate(180%) blur(20px); + -webkit-backdrop-filter: blur(20px); + transform: translateZ(0); + box-shadow: 0 8px 16px -4px var(--icat-black-op); + } + .icat-content-item .icat-card-content .icat-change-button-group .icat-change-button i { + margin-right: 4px; + font-weight: bold; + } + #page:has(#icat_page) .icat-content-item .icat-card-content .icat-change-button-group .icat-change-button:hover { + background: var(--icat-blue); + color: var(--icat-white); + } + + @media screen and (max-width: 768px) { + .icat-content-item .icat-card-content { + padding: 1rem 1rem; + } + .icat-content-item .icat-card-content .icat-change-button-group .icat-change-button { + width: 60px; + } + .icat-content-item .icat-card-content .icat-change-button-group .icat-change-button i { + margin-right: -3px; + } + .icat-content-item .icat-card-content .icat-change-button-group .icat-change-button-text { + display: none; + } + } + /* 响应式 */ + + /* icat-page顶部样式 */ + +/* --------------------------------------------------------------------------------------------------------------- */ +.layout{ + width: 100%; + max-width:1400px; +} +/* 重新定义宽度 */ + +.layout > div:first-child { + width: 100%; +} +#post { + width: 78%; +} +.aside-content { + max-width: 312px; + min-width: 300px; +} +.layout.hide-aside { + max-width: 1400px; +} +/* 定义是否侧边栏的宽度 */ + +#recent-posts > .recent-post-item { + height: 19em; + border: var(--style-border); +} +#recent-posts > .recent-post-item >.recent-post-info { + padding: 0 56px; + width: 64%; +} +@media screen and (max-width: 768px) { + #recent-posts > .recent-post-item { + height: auto; + } + #recent-posts > .recent-post-item >.recent-post-info { + padding: 20px 20px 30px; + width: 100%; + text-align: center; + } +} +/* 主页文章列表图片宽度 */ + + +/* ------------------------------------------------页脚梅花------------------------------------------------ */ + +#footer { + background: var(--icat-footer-background); +} + +#footer #footer-wrap { + color: var(--font-color) +} + +#footer #footer-wrap a { + color: var(--font-color) +} + +/* 页脚透明 */ + +/* ------------------------------------------------个人卡片梅花------------------------------------------------ */ + +[data-theme="light"] #aside-content > .card-widget.card-info { + background-image: url(https://z1.ax1x.com/2023/05/02/p9GWEin.jpg); + background-repeat: no-repeat; + background-attachment: inherit; + background-size: 100%; +} +[data-theme="dark"] #aside-content > .card-widget.card-info { + background-image: url(https://z1.ax1x.com/2023/05/02/p9GWVGq.jpg); + background-repeat: no-repeat; + background-attachment: inherit; + background-size: 100%; +} + +/* 个人信息卡片背景图 */ + +/* ------------------------------------------------侧边分类栏梅花------------------------------------------------ */ + +#aside-content .card-archives ul.card-archive-list, #aside-content .card-categories ul.card-category-list { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: justify; + -moz-box-pack: justify; + -o-box-pack: justify; + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + -webkit-box-pack: justify; +} +#aside-content .card-archives ul.card-archive-list > .card-archive-list-item, #aside-content .card-categories ul.card-category-list > .card-category-list-item { + width: 48%; + margin: 3px 0; +} +#aside-content .card-archives ul.card-archive-list > .card-archive-list-item a, #aside-content .card-categories ul.card-category-list > .card-category-list-item a { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + padding: 3px 10px; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + color: var(--font-color); + -webkit-transition: all 0.4s; + -moz-transition: all 0.4s; + -o-transition: all 0.4s; + -ms-transition: all 0.4s; + transition: all 0.4s; + border: 1px solid #cbcbcb; + border-radius: 6px; + -webkit-box-orient: vertical; +} */ + +/* 侧边栏分类(标签)样式调整 + +/* ------------------------------------------------文章页:版权样式梅花----------------------------------------------- */ + +#post .post-copyright { + background: var(--icat-card-bg); + padding: 1rem 1.3rem; + overflow: hidden; + border: var(--style-border); + border-width: 1px; + transition: 0.3s; + position: relative; + margin: 1.5rem 0px 0.5rem; + border-radius: 8px; +} +#post .post-copyright:before { + position: absolute; + right: 22px; + top: -77px; + content: "\e039"; + font-size: 180px; + font-family: "iconfont"; + color: var(--icat-fontcolor); + opacity: 0.1; + filter: blur(7px); +} + +/* 版权样式调整 */ + + +/* ----------------------------------------------------------分类页梅花--------------------------------------------------------- */ + +.category-lists .category-list { + text-align: center; + display: flex; + flex-wrap: wrap; + justify-content: center; + flex-direction: row; + margin: 5em 0 3em; +} +.category-lists ul { + padding: 0; +} +.category-lists ul li { + display: flex; + width: fit-content; + font-size: 1.2em !important; + padding: 0.2em 0.5em; + background: var(--icat-card-bg); + margin: 0.5em 0.5em; + border-radius: 12px; + -webkit-backface-visibility: hidden; + -webkit-transform-style: preserve-3d; + border: var(--style-border-always); + box-shadow: var(--icat-shadow-border); + align-items: center; +} +.category-lists .category-list a { + color: var(--icat-fontcolor) !important; +} +.category-lists .category-list a:hover { + color: var(--icat-blue) !important; +} +.category-lists ul li:before { + position: unset; + width: auto; + height: auto; + border: 0; + border-radius: 0; + background: 0; + color: var(--icat-fontcolor) !important; + cursor: pointer; + content: "\e038" !important; + font-family: "iconfont" !important; + opacity: 0.4; + padding-top: 2px; + padding-right: 2px; +} +.category-lists .category-list .category-list-count { + background: var(--icat-secondbg); + padding: 4px 4px; + border-radius: 6px; + color: var(--icat-secondtext); + line-height: 1; + text-align: center; + min-width: 35px; + display: inline-block; + font-size: 1rem; + box-shadow: var(--icat-shadow-border); +} +.category-lists .category-list .category-list-count:before, +.category-lists .category-list .category-list-count:after { + content: ''; +} + +/* 分类页样式 */ + +/* ------------------------------------------------标签页梅花----------------------------------------------- */ + +#page .tag-cloud-list { + margin: 5em 0 3em; +} +#page .tag-cloud-list a { + display: inline-flex; + color: var(--icat-fontcolor) !important; + font-size: 1.2em !important; + padding: 0.2em 0.5em; + background: var(--icat-card-bg); + margin: 0.5em 0.5em; + border-radius: 12px; + -webkit-backface-visibility: hidden; + -webkit-transform-style: preserve-3d; + border: var(--style-border-always); + box-shadow: var(--icat-shadow-border); + align-items: center; +} +#page .tag-cloud-list a:before { + color: var(--icat-fontcolor) !important; + cursor: pointer; + content: "\e038" !important; + font-family: "iconfont" !important; + opacity: 0.4; + padding-top: 2px; + padding-right: 2px; +} +#page .tag-cloud-list a:hover { + background: var(--icat-blue); +} +#page .tag-cloud-list a > sup{ + top: auto; + background: var(--icat-secondbg); + padding: 4px 4px; + margin-left: 8px; + border-radius: 6px; + color: var(--icat-secondtext); + line-height: 1; + text-align: center; + min-width: 35px; + display: inline-block; + font-size: 1rem; + box-shadow: var(--icat-shadow-border); +} + +/* 标签页样式 */ + +#nav-right{ + flex:1 1 auto; + justify-content: flex-end; + margin-left: auto; + display: flex; + flex-wrap:nowrap; +} + +/* 导航栏居中 */ + + diff --git a/self/css/main_bunner.css b/self/css/main_bunner.css new file mode 100644 index 000000000..f9df341db --- /dev/null +++ b/self/css/main_bunner.css @@ -0,0 +1,822 @@ +#home_top { + max-width: 1400px; + margin: auto; + margin-top: .5rem; + padding: 0 1.5rem; + width: 100% +} + +@media screen and (max-width: 768px) { + #home_top { + padding:0; + margin-top: 0 + } +} + +.recent-top-post-group { + border-radius: 12px; + overflow: hidden; + overflow-x: auto; + width: 100%; + margin-bottom: 0 +} + +.recent-post-top { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + width: 100%; + overflow-x: scroll +} + +.recent-post-top::-webkit-scrollbar { + display: none +} + +.recent-post-top .recent-post-item { + display: flex; + width: 200px; + flex-direction: column; + align-items: flex-start; + margin-left: .5rem; + background: var(--bywind-card-bg); + border-radius: 12px; + overflow: hidden; + min-width: 200px; + height: 164px; + max-height: 164px; + border: var(--style-border-always); + transition: .3s; + position: relative; + box-shadow: var(--bywind-shadow-border) +} + +@media screen and (max-width: 768px) { + .recent-post-top .recent-post-item { + border-radius:8px; + box-shadow: none; + clip-path: inset(0 0 0 0 round 8px) + } + + .recent-post-top .recent-post-item:last-child { + margin-right: 1rem + } +} + +@media screen and (min-width: 1300px) { + .recent-post-top .recent-post-item { + margin-right:0; + margin-bottom: .5rem + } + + .recent-post-top .recent-post-item:active { + transform: scale(.97) + } + + .recent-post-top { + overflow-x: visible + } + + .recent-top-post-group { + overflow: visible; + overflow-x: visible + } +} + +span.recent-post-top-text { + position: absolute; + top: 0; + left: -40px; + display: flex; + z-index: 1; + background: var(--bywind-theme); + color: var(--bywind-white); + padding: 2px 8px; + font-size: .6rem; + border-radius: 12px 0 12px 0; + transition: .3s; + cursor: pointer +} + +.recent-post-item:hover .recent-post-top-text { + left: 0 +} + +@media screen and (min-width: 1300px) { + .recent-post-top .recent-post-item:hover { + border:var(--style-border-hover); + box-shadow: var(--bywind-shadow-main); + transform: scale(1.03) + } + + .recent-post-top .recent-post-item:active { + transform: scale(.97) + } +} + +@media screen and (max-width: 768px) { + .recent-top-post-group { + border-radius:0; + background: var(--bywind-background) + } + + .recent-post-top-text { + display: none!important + } + + .recent-post-top .recent-post-item .post_cover img { + border-radius: 8px 8px 0 0!important + } +} + +.recent-post-top .recent-post-item .post_cover a { + height: 100px; + overflow: hidden; + display: flex +} + +.recent-post-top .recent-post-item .post_cover img { + object-fit: cover; + width: 100%; + background: var(--bywind-secondbg); + border-radius: 12px 12px 0 0 +} + +.recent-post-top .recent-post-item:hover .post_cover img { + transform: scale(1) +} + +.recent-post-top .recent-post-item .recent-post-info { + padding: .3rem .5rem .3rem .5rem!important; + transition: .3s +} + +.recent-post-top .recent-post-item:hover .recent-post-info a { + color: var(--bywind-fontcolor) +} + +@media screen and (max-width: 1300px) { + .recent-post-top .recent-post-item:hover .recent-post-info a { + color:var(--bywind-theme); + transition: .3s + } +} + +.recent-post-top .recent-post-item .recent-post-info .article-title { + -webkit-line-clamp: 2; + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + line-height: 1.5; + justify-content: center; + align-items: flex-end; + align-content: center; + padding-top: .5rem; + font-weight: 700; + font-size: .8rem!important; + padding: 0!important +} + +.categoryItem { + overflow: hidden; + transform: scale(1); + transition: all 0.8s cubic-bezier(0.65, 0.15, 0.37, 1.19); + height: 48%; + border-radius: 12px; +} + +a.categoryButton { + height: 100%; + width: 100%; + background: var(--bywind-card-bg); + border-radius: 12px; + display: inline-block; + text-align: left; + line-height: 4em; + font-weight: bold; + font-size: 0.9rem; + color: var(--bywind-white); + transition: all 0.8s cubic-bezier(0.39, 0.575, 0.565, 1); + transform: scale(1); + overflow: hidden; + font-family: PingFang SC, Hiragino Sans GB, Microsoft YaHei; +} + +a.categoryButton i { + transform: scale(1.0) rotate(15deg); +} + +@media screen and (min-width: 1300px) { + a.categoryButton:active { + transform: scale(0.97); + } +} + +@media screen and (max-width: 768px) { + a.categoryButton { + border-radius: 8px; + } + + .categoryItem { + border-radius: 0px; + height: 47%; + box-shadow: none !important; + } +} + +a.categoryButton:after { + top: 50px; + width: 1rem; + left: 21px; + height: 2px; + background: var(--bywind-white); + content: ""; + border-radius: 1px; + position: absolute; +} + +.categoryButtonText { + padding-left: 21px; +} + +a.categoryButton i { + font-size: 5rem; + opacity: 0.2; + position: absolute; + right: 0%; + top: 20%; + transition: 0.3s; + width: 100px; + text-align: center; + filter: blur(2px); +} + +@media screen and (max-width: 768px) { + a.categoryButton i { + display: none; + } + + .recent-post-top .categoryGroup { + min-width: 130px !important; + margin-bottom: 0.5rem; + margin-left: 1rem; + max-height: 164px; + overflow: hidden; + position: relative; + } +} + +.topGroup { + display: flex; +} + +#bannerGroup { + display: flex; +} + +div#banners { + display: none; +} +.topGroup .todayCard { + display: none; +} +@media screen and (min-width: 1300px) { + .topGroup { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-end; + height: calc(328px + 0.5rem); + align-content: space-between; + width: calc(600px + 1.5rem); + position: relative; + } + + div#bannerGroup { + width: calc(100% - 600px - 2rem); + margin-right: 0.5rem; + height: calc(328px + 0.5rem); + display: flex; + flex-direction: column; + justify-content: space-between; + } + + div#banners { + display: flex; + width: 100%; + height: 76%; + background: var(--bywind-card-bg); + margin-bottom: 0.5rem; + border: var(--style-border); + border-radius: 12px; + overflow: hidden; + position: relative; + box-shadow: var(--bywind-shadow-border); + flex-direction: column; + overflow: hidden; + transition: 0.3s; + clip-path: inset(0 0 0 0 round 12px); + } + + div#banners:hover { + box-shadow: var(--bywind-shadow-main); + } + + #banners.flink { + margin-bottom: 0.5rem; + } + + #banners .banner-button-group { + position: absolute; + right: 2rem; + top: 2rem; + display: flex; + } + + #banners .banner-button { + padding: 8px 12px; + background: var(--bywind-fontcolor); + border-radius: 12px; + color: var(--bywind-card-bg); + display: flex; + align-items: center; + z-index: 1; + transition: 0.3s; + cursor: pointer; + box-shadow: var(--bywind-shadow-black); + } + + #banners .banner-button.secondary { + background: var(--bywind-secondbg); + border: var(--style-border-always); + color: var(--bywind-lighttext); + margin-right: 1rem; + box-shadow: var(--bywind-shadow-border); + } + + #banners .banner-button:hover { + background: var(--bywind-theme); + color: var(--bywind-white); + } + + #banners .banner-button i { + margin-right: 8px; + font-size: 1rem; + } + + .banners-title { + top: 2rem; + left: 1.5rem; + position: absolute; + display: flex; + flex-direction: column; + } + + + .banners-title-big { + font-size: 36px; + line-height: 1; + font-weight: bold; + margin-bottom: 8px; + } + + .banners-title-small { + font-size: 12px; + line-height: 1; + color: var(--bywind-secondtext); + margin-top: 8px; + margin-bottom: 0.5rem; + } + + #banner-hover { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + background: var(--bywind-theme); + color: var(--bywind-white); + padding-left: 0.5rem; + display: flex; + flex-direction: column; + justify-content: center; + opacity: 0; + transition: cubic-bezier(0.71, 0.15, 0.16, 1.15) 0.6s; + } + + .bannerText { + font-size: 4rem; + line-height: 4rem; + font-weight: bold; + } + + .banner-righticon { + font-size: 4rem; + opacity: 0.6; + } + + #banners:hover #banner-hover { + opacity: 1; + padding-left: 2rem; + background: #4259efc9; + backdrop-filter: blur(15px); + -webkit-backdrop-filter: blur(15px); + -webkit-backface-visibility: hidden; + -webkit-transform-style: preserve-3d; + transition: 0.3s; + background-size: 200%; + cursor: pointer; + } + #banners #banner-hover i { + font-size: 80px; + opacity: 0.4; + } + + .topGroup .todayCard { + position: absolute; + width: calc(600px + 1rem); + height: 100%; + z-index: 1; + top: 0; + left: 0; + background: var(--bywind-card-bg); + border-radius: 12px; + margin-left: 0.5rem; + overflow: hidden; + transition: 0.3s; + display: flex; + cursor: pointer; + pointer-events: all; + } + + .topGroup .todayCard::after { + position: absolute; + content: ''; + width: 100%; + height: 100%; + top: 0; + left: 0; + } + + .topGroup .todayCard.hide { + opacity: 0; + pointer-events: none; + } + + .topGroup .todayCard .todayCard-info { + position: absolute; + bottom: 2rem; + left: 2rem; + z-index: 2; + color: var(--bywind-white); + max-width: 60%; + transition: 0.3s; + } + + .topGroup .todayCard.hide .todayCard-info { + bottom: 1rem; + opacity: 0; + } + + .topGroup .todayCard .todayCard-info .todayCard-tips { + opacity: 0.8; + font-size: 0.6rem; + } + + .topGroup .todayCard .todayCard-info .todayCard-title { + font-size: 28px; + font-weight: bold; + line-height: 36px; + } + + .topGroup .banner-button-group { + position: absolute; + right: 2rem; + bottom: 2rem; + display: flex; + transition: 0.3s; + } + + .topGroup .todayCard.hide .banner-button-group { + bottom: 1rem; + } + + .topGroup .banner-button { + background: var(--bywind-white-op); + border-radius: 20px; + color: var(--bywind-white); + display: flex; + align-items: center; + z-index: 1; + transition: 0.3s; + cursor: pointer; + backdrop-filter: saturate(180%) blur(20px); + -webkit-backdrop-filter: blur(20px); + transform: translateZ(0); + height: 40px; + width: 118px; + justify-content: center; + } + + .topGroup .banner-button:hover { + background: var(--bywind-theme); + color: var(--bywind-white); + } + + .topGroup .banner-button i { + margin-right: 8px; + font-size: 22px; + } + + .topGroup .todayCard .todayCard-cover { + position: absolute; + min-width: 100%; + min-height: 100%; + top: 0; + left: 0; + background-size: cover; + z-index: -1; + transition: 0.3s; + } + + .topGroup .todayCard.hide .todayCard-cover { + transform: scale(1.2); + } +} +.tags-group-icon { + width: 120px; + height: 120px; + border-radius: 30px +} + +.tags-group-all { + display: flex; + transform: rotate(-30deg) +} + +.tags-group-all.nowrapMove { + transform: rotate(0); + padding-bottom: 2rem +} + +.tags-group-wrapper { + margin-top: 5rem; + display: flex; + flex-wrap: nowrap; + animation: rowup 60s linear infinite +} + +.nowrapMove .tags-group-wrapper { + margin-top: 7rem; + animation: rowup 120s linear infinite +} + +.tags-group-icon-pair .tags-group-icon:nth-child(even) { + margin-top: 1rem; + transform: translate(-60px) +} + +.tags-group-icon-pair { + margin-left: 1rem +} + +.tags-group-icon { + display: flex; + align-items: center; + justify-content: center; + color: #fff; + font-size: 66px; + font-weight: 700; + box-shadow: var(--bywind-shadow-blackdeep) +} + +.nowrapMove .tags-group-icon { + border-radius: 50% +} + +.tags-group-icon img { + width: 60% +} +.nowrapMove .tags-group-icon img { + min-width: 100%; + min-height: 100%; + border-radius: 50%; + object-fit: cover +} + +.categoryItem:hover i { + opacity: .8; + transition: .8s; + transition-delay: .15s; + transform: scale(1.03) rotate(0); + font-size: 2.5rem; + filter: blur(0) +} + +@media screen and (min-width: 1300px) { + .categoryItem:hover i { + transform:scale(1.03) rotate(0) + } +} + +.cate-button-text { + box-shadow: var(--bywind-shadow-black) +} + +.recent-post-top .categoryGroup { + display: flex; + flex-direction: column; + justify-content: space-between; + min-width: 200px +} + +.categoryGroup .categoryItem:nth-child(3) { + display: none +} + +@media screen and (min-width: 1300px) { + .recent-post-top .categoryGroup { + flex-direction:row; + height: 24% + } + + .categoryItem { + width: calc(100% / 3 - .33rem); + height: 100%; + margin-right: .5rem + } + + .categoryItem:last-child { + margin-right: 0 + } + + .categoryItem:hover { + width: 50% + } + + .categoryGroup .categoryItem:nth-child(3) { + display: flex + } +} + +a.categoryButton.bikan { + background: linear-gradient(to right,#358bff,#15c6ff); + background-size: 200% +} + +a.categoryButton.remen { + background: linear-gradient(to right,#f65,#ffbf37); + background-size: 200% +} + +a.categoryButton.shiyong { + background: linear-gradient(to right,#18e7ae,#1eebeb); + background-size: 200% +} + +[data-theme=dark] a.categoryButton.bikan { + background: linear-gradient(to right,#0653b8,#2fcbff); + background-size: 200% +} + +[data-theme=dark] a.categoryButton.remen { + background: linear-gradient(to right,#e22a16,#da980c); + background-size: 200% +} + +[data-theme=dark] a.categoryButton.shiyong { + background: linear-gradient(to right,#099e74,#0ea4a4); + background-size: 200% +} + +a.categoryButton:hover { + background-position: 100% 0 +} +@keyframes rowup { + from { + transform: translateX(0) + } + + to { + transform: translateX(-50%) + } +} +#recent-post-top .recent-post-item .post_cover { + width: 100%; +} + + + + +:root { + --bywind-white: #fff; + --bywind-white-op: rgba(255, 255, 255, 0.2); + --bywind-black: #000; + --bywind-black-op: rgba(0, 0, 0, 0.2); + --bywind-none: #00000000; + --bywind-gray: #999999; + --bywind-gray-op: #9999992b; + --bywind-vip: #e5a80d; + --bywind-main: var(--bywind-theme); + --bywind-main-op: var(--bywind-theme-op); + --bywind-main-op-deep: var(--bywind-theme-op-deep); + --bywind-main-none: var(--bywind-theme-none); + --bywind-shadow-theme: 0 8px 12px -3px var(--bywind-theme-op); + --bywind-shadow-blackdeep: 0 2px 16px -3px rgba(0, 0, 0, .15); + --bywind-shadow-main: 0 8px 12px -3px var(--bywind-main-op); + --bywind-shadow-blue: 0 8px 12px -3px rgba(40, 109, 234, .20); + --bywind-shadow-white: 0 8px 12px -3px rgba(255, 255, 255, .20); + --bywind-shadow-black: 0 0 12px 4px rgba(0, 0, 0, .05); + --bywind-shadow-yellow: 0px 38px 77px -26px rgba(255, 201, 62, .12); + --bywind-shadow-red: 0 8px 12px -3px #ee7d7936; + --bywind-shadow-green: 0 8px 12px -3px #87ee7936; + --bywind-logo-color: linear-gradient(215deg, #4584ff 0%, #cf0db9 100%); + --bywind-snackbar-time: 2s; +} + +[data-theme=light] { + --bywind-theme: #425AEF; + --bywind-theme-op: #4259ef23; + --bywind-theme-op-deep: #4259efdd; + --bywind-theme-none: #4259ef01; + --bywind-blue: #425AEF; + --bywind-red: #f04a63; + --bywind-pink: #FF7C7C; + --bywind-green: #57bd6a; + --bywind-yellow: #c28b00; + --bywind-yellow-op: #d99c001a; + --bywind-orange: #e38100; + --bywind-purple: #7a60d2; + --bywind-fontcolor: #363636; + --bywind-background: #f7f9fe; + --bywind-reverse: #000; + --bywind-maskbg: rgba(255, 255, 255, 0.6); + --bywind-maskbgdeep: rgba(255, 255, 255, 0.85); + --bywind-hovertext: var(--bywind-main); + --bywind-ahoverbg: #F7F7FA; + --bywind-lighttext: var(--bywind-main); + --bywind-secondtext: rgba(60, 60, 67, 0.8); + --bywind-scrollbar: rgba(60, 60, 67, 0.4); + --bywind-card-btn-bg: #edf0f7; + --bywind-post-blockquote-bg: #fafcff; + --bywind-post-tabs-bg: #f2f5f8; + --bywind-secondbg: #f1f3f8; + --bywind-shadow-nav: 0 5px 12px -5px rgba(102, 68, 68, 0.05); + --bywind-card-bg: #fff; + --bywind-card-bg-op: var(--bywind-black-op); + --bywind-card-bg-none: rgba(255, 255, 255, 0); + --bywind-shadow-lightblack: 0 5px 12px -5px rgba(102, 68, 68, 0.00); + --bywind-shadow-light2black: 0 5px 12px -5px rgba(102, 68, 68, 0.00); + --bywind-card-border: #e3e8f7; + --bywind-shadow-border: 0 8px 16px -4px #2c2d300c; + --style-border: 1px solid var(--bywind-card-border); + --style-border-always: 1px solid var(--bywind-card-border); + --style-border-hover: 1px solid var(--bywind-main); + --style-border-hover-always: 1px solid var(--bywind-main); + --style-border-dashed: 1px dashed var(--bywind-theme-op); + --style-border-forever: 2px solid var(--bywind-main); +} + +[data-theme=dark] { + --bywind-theme: #f2b94b; + --bywind-theme-op: #f2b94b23; + --bywind-theme-op-deep: #f2b94bdd; + --bywind-theme-none: #f2b94b00; + --bywind-blue: #0084FF; + --bywind-red: #FF3842; + --bywind-pink: #d44040; + --bywind-green: #3e9f50; + --bywind-purple: #7a60d2; + --bywind-yellow: #ffc93e; + --bywind-yellow-op: #ffc93e30; + --bywind-orange: #ff953e; + --bywind-fontcolor: #F7F7FA; + --bywind-background: #18171d; + --bywind-reverse: #fff; + --bywind-maskbg: rgba(0, 0, 0, 0.6); + --bywind-maskbgdeep: rgba(0, 0, 0, 0.85); + --bywind-hovertext: #0A84FF; + --bywind-ahoverbg: #fff; + --bywind-lighttext: var(--bywind-theme); + --bywind-secondtext: #a1a2b8; + --bywind-scrollbar: rgba(200, 200, 223, 0.4); + --bywind-card-btn-bg: #30343f; + --bywind-post-blockquote-bg: #000; + --bywind-post-tabs-bg: #121212; + --bywind-secondbg: #30343f; + --bywind-shadow-nav: 0 5px 20px 0px rgba(28, 28, 28, 0.4); + --bywind-card-bg: #1d1e22; + --bywind-card-bg-op: var(--bywind-white-op); + --bywind-card-bg-none: #1d1b2600; + --bywind-shadow-lightblack: 0 5px 12px -5px rgba(102, 68, 68, 0.0); + --bywind-shadow-light2black: 0 5px 12px -5px rgba(102, 68, 68, 0.0); + --bywind-card-border: #3d3d3f; + --bywind-shadow-border: 0 8px 16px -4px #00000050; + --style-border: 1px solid var(--bywind-card-border); + --style-border-always: 1px solid var(--bywind-card-border); + --style-border-hover: 1px solid var(--bywind-theme); + --style-border-hover-always: 1px solid var(--bywind-theme); + --style-border-dashed: 1px dashed var(--bywind-theme-op); + --style-border-forever: 2px solid var(--bywind-lighttext); +} + diff --git a/self/css/meihua.css b/self/css/meihua.css new file mode 100644 index 000000000..bc787d47e --- /dev/null +++ b/self/css/meihua.css @@ -0,0 +1,263 @@ +/* ------------------------------------------------宽屏适配------------------------------------------------ */ + +/* 限制一下侧边栏卡片的尺寸 */ +.aside-content{ + max-width:312px; + min-width:300px; +} +.recent-posts{ +width:auto!important; +} + +.layout#content-inner { +max-width: 1400px; +padding: 20px 15px; +width: 100%; +} + +/* 在宽度小于900px时不设置max-width */ +@media screen and (max-width: 900px){ + .aside-content{ + max-width:none!important; + } +} +/* -------------------------------------------------文章页----------------------------------------------------------- */ +/* -------------------------------------------------------------文章页小风车转起来---------------------------------------------------------------------- */ + +/* 文章页H1-H6图标样式效果 */ +h1::before, +h2::before, +h3::before, +h4::before, +h5::before, +h6::before { +-webkit-animation: ccc 1.6s linear infinite; +animation: ccc 1.6s linear infinite; +} +@-webkit-keyframes ccc { +0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); +} +to { + -webkit-transform: rotate(-1turn); + transform: rotate(-1turn); +} +} +@keyframes ccc { +0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); +} +to { + -webkit-transform: rotate(-1turn); + transform: rotate(-1turn); +} +} +/* -------------------------------------------------------------小风车大小颜色修改------------------------------------------------------------- */ + +#content-inner.layout h1::before { +color: #ef50a8; +margin-left: -1.55rem; +font-size: 1.3rem; +margin-top: -0.23rem; +} +#content-inner.layout h2::before { +color: #fb7061; +margin-left: -1.35rem; +font-size: 1.1rem; +margin-top: -0.12rem; +} +#content-inner.layout h3::before { +color: #ffbf00; +margin-left: -1.22rem; +font-size: 0.95rem; +margin-top: -0.09rem; +} +#content-inner.layout h4::before { +color: #a9e000; +margin-left: -1.05rem; +font-size: 0.8rem; +margin-top: -0.09rem; +} +#content-inner.layout h5::before { +color: #57c850; +margin-left: -0.9rem; +font-size: 0.7rem; +margin-top: 0rem; +} +#content-inner.layout h6::before { +color: #5ec1e0; +margin-left: -0.9rem; +font-size: 0.66rem; +margin-top: 0rem; +} + +/* -------------------------------------------------------------鼠标碰到小风车样式------------------------------------------------------------- */ +#content-inner.layout h1:hover, +#content-inner.layout h2:hover, +#content-inner.layout h3:hover, +#content-inner.layout h4:hover, +#content-inner.layout h5:hover, +#content-inner.layout h6:hover { +color: #3b70fc; +} +#content-inner.layout h1:hover::before, +#content-inner.layout h2:hover::before, +#content-inner.layout h3:hover::before, +#content-inner.layout h4:hover::before, +#content-inner.layout h5:hover::before, +#content-inner.layout h6:hover::before { +color: #3b70fc; +-webkit-animation: ccc 3.2s linear infinite; +animation: ccc 3.2s linear infinite; +} +/* 页面设置icon转动速度调整 */ +#rightside_config i.fas.fa-cog.fa-spin { +animation: fa-spin 5s linear infinite; +} + +/* ------------------------------------------------------首页卡片适配--------------------------------------------------- */ +/* 首页卡片适配 */ +@media screen and (min-width: 1200px) { +#recent-posts{ + margin-top:-1rem; /*头部为空时抵消间隔,若有磁贴或日历请注释掉该行*/ + align-content:flex-start; + display: flex; + flex-wrap: wrap; /*规定灵活的项目在必要的时候拆行或拆列。*/ + justify-content: space-between; /*。*/ +} +#recent-posts > .recent-post-item { + /*max-height:324px;*/ /*文章容器最大高度*/ + margin-top: 1rem; /*最小间距*/ + display: inline-block; + height:auto; /*高度自动*/ + width:49%;/*文章容器容器宽度*/ +} +#recent-posts > .recent-post-item .post_cover { + width: 100%; /*图片封面宽度*/ + height: 200px;/*图片封面高度*/ +} +#recent-posts > .recent-post-item .post_cover img.post_bg { + width: 100%;/*图片宽度*/ + height: 100%;/*图片高度*/ +} +#recent-posts > .recent-post-item { + + -webkit-flex-direction: column; /*容器内部纵向排列*/ + -ms-flex-direction: column; /*容器内部纵向排列*/ + flex-direction: column; /*容器内部纵向排列*/ + +} +#recent-posts > .recent-post-item .left_radius { + border-radius: 8px 8px 0 0;/*圆角修改*/ +} +#recent-posts > .recent-post-item .right_radius { + border-radius: 8px 8px 0 0;/*圆角修改*/ +} +.recent-post-item{ + height:auto !important;/*容器高度自动*/ +} + +.recent-post-info { + padding: 0 40px;/*容器内部文字左右间距*/ + margin-top: 1em;/*容器内部文字上间距*/ + width: 100%!important;/*容器宽度*/ +} +#recent-posts > .recent-post-item > .recent-post-info > .article-title { + -webkit-line-clamp: 1;/*控制标题的行数*/ + margin-top: 0.3rem; /*控制标题的上间距*/ + margin-bottom: 0.3rem;/*控制标题的下间距*/ + font-size: 1.2em; /*控制标题的字体大小*/ + line-height: 1.4;/*控制标题的行高*/ + +} +#recent-posts > .recent-post-item >.recent-post-info > .article-meta-wrap { + margin-bottom: 1rem;/*控制标题meta信息的底部间距*/ +} +} + +/* 翻页按钮居中 */ +#pagination { +width: 100%; +margin: auto; +} + +/* -----------------------------------------主页双栏设置的css设置,添加了一些边框-----------------------------------------*/ + +:root { +--trans-light: rgba(255, 255, 255, 0.88); +--trans-dark: rgba(25, 25, 25, 0.88); +--border-style: 1px solid rgb(169, 169, 169); +--backdrop-filter: blur(5px) saturate(150%); +} + +/* 首页文章卡片 */ +#recent-posts > .recent-post-item { +background: var(--trans-light); +border-radius: 25px; +border: var(--border-style); +} + +/* 首页侧栏卡片 */ +#aside-content .card-widget { +background: var(--trans-light); +border-radius: 18px; +border: var(--border-style); +} + +/* 文章页、归档页、普通页面 */ +div#post, +div#page, +div#archive { +background: var(--trans-light); +border: var(--border-style); +border-radius: 20px; +--border-style: 2px solid rgb(82, 224, 132); +} + + +/* 导航栏 */ +#page-header.nav-fixed #nav { +background: rgba(255, 255, 255, 0.88); +} + +[data-theme="dark"] #page-header.nav-fixed #nav { +background: rgba(0, 0, 0, 0.7) !important; +} + +/* 夜间模式遮罩 */ +[data-theme="dark"] #recent-posts > .recent-post-item, +[data-theme="dark"] #aside-content .card-widget, +[data-theme="dark"] div#post, +[data-theme="dark"] div#archive, +[data-theme="dark"] div#page { +background: var(--trans-dark); +} + + +/* 夜间模式页脚页头遮罩透明 */ +[data-theme="dark"] #footer::before { +background: transparent !important; +} +[data-theme="dark"] #page-header::before { +background: transparent !important; +} + +/* 阅读模式 */ +.read-mode #aside-content .card-widget { +background: rgba(118, 238, 152, 0.5) !important; +} +.read-mode div#post { +background: rgba(114, 227, 146, 0.5) !important; +} + +/* 夜间模式下的阅读模式 */ +[data-theme="dark"] .read-mode #aside-content .card-widget { +background: rgba(25, 25, 25, 0.9) !important; +color: #ffffff; +} +[data-theme="dark"] .read-mode div#post { +background: rgba(25, 25, 25, 0.9) !important; +color: #ffffff; +} diff --git a/self/js/essay_page.js b/self/js/essay_page.js new file mode 100644 index 000000000..a5684627c --- /dev/null +++ b/self/js/essay_page.js @@ -0,0 +1,174 @@ +// -----------------------------------------用来处理即刻短文的逻辑----------------------------------------- +var percentFlag = false; // 节流阀 +function essayScroll() { + let a = document.documentElement.scrollTop || window.pageYOffset; // 卷去高度 + const waterfallResult = a % document.documentElement.clientHeight; // 卷去一个视口 + waterfallResult <= 99 || (waterfallResult = 99); + + if ( + !percentFlag && + waterfallResult + 100 >= document.documentElement.clientHeight && + document.querySelector("#waterfall") + ) { + // console.info(waterfallResult, document.documentElement.clientHeight); + setTimeout(() => { + waterfall("#waterfall"); + }, 500); + } else { + setTimeout(() => { + document.querySelector("#waterfall") && waterfall("#waterfall"); + }, 500); + } + + const r = window.scrollY + document.documentElement.clientHeight; + + let p = document.getElementById("post-comment") || document.getElementById("footer"); + + (p.offsetTop + p.offsetHeight / 2 < r || 90 < waterfallResult) && (percentFlag = true); +} + +function replaceAll(e, n, t) { + return e.split(n).join(t); +} + +var icatessay = { + diffDate: function (d, more = false) { + const dateNow = new Date(); + const datePost = new Date(d); + const dateDiff = dateNow.getTime() - datePost.getTime(); + const minute = 1000 * 60; + const hour = minute * 60; + const day = hour * 24; + const month = day * 30; + + let result; + + // Check if the suffix object and required properties exist + const suffix = GLOBAL_CONFIG.date_suffix || {}; + const daySuffix = suffix.day || '天前'; + const hourSuffix = suffix.hour || '小时前'; + const minSuffix = suffix.hour || '分钟前'; + + if (more) { + const monthCount = dateDiff / month; + const dayCount = dateDiff / day; + const hourCount = dateDiff / hour; + const minuteCount = dateDiff / minute; + + if (monthCount >= 1) { + result = datePost.toLocaleDateString().replace(/\//g, "-"); + } else if (dayCount >= 1) { + result = parseInt(dayCount) + " " + daySuffix; + } else if (hourCount >= 1) { + result = parseInt(hourCount) + " " + hourSuffix; + } else if (minuteCount >= 1) { + result = parseInt(minuteCount) + " " + minSuffix; + } else { + result = suffix.just; + } + } else { + result = parseInt(dateDiff / day); + } + return result; + }, + + changeTimeInEssay: function () { + document.querySelector("#icat-bber") && + document.querySelectorAll("#icat-bber time").forEach(function (e) { + var t = e, + datetime = t.getAttribute("datetime"); + (t.innerText = icatessay.diffDate(datetime, true)), (t.style.display = "inline"); + }); + }, + reflashEssayWaterFall: function () { + document.querySelector("#waterfall") && + setTimeout(function () { + waterfall("#waterfall"); + document.getElementById("waterfall").classList.add("show"); + }, 500); + }, + commentText: function (e) { + if (e == "undefined" || e == "null") e = "好棒!"; + var n = document.getElementsByClassName("el-textarea__inner")[0], + t = document.createEvent("HTMLEvents"); + if (!n) return; + t.initEvent("input", !0, !0); + var o = replaceAll(e, "\n", "\n> "); + (n.value = "> " + o + "\n\n"), n.dispatchEvent(t); + var i = document.querySelector("#post-comment").offsetTop; + window.scrollTo(0, i - 80), + n.focus(), + n.setSelectionRange(-1, -1), + document.getElementById("comment-tips") && document.getElementById("comment-tips").classList.add("show"); + }, +}; + +icatessay.changeTimeInEssay(); +icatessay.reflashEssayWaterFall(); +// 即刻短文处理逻辑 + +// -----------------------------------------用来处理即刻短文的处理瀑布流----------------------------------------- + +function waterfall(a) { + function b(a, b) { + var c = window.getComputedStyle(b); + return parseFloat(c["margin" + a]) || 0; + } + function c(a) { + return a + "px"; + } + function d(a) { + return parseFloat(a.style.top); + } + function e(a) { + return parseFloat(a.style.left); + } + function f(a) { + return a.clientWidth; + } + function g(a) { + return a.clientHeight; + } + function h(a) { + return d(a) + g(a) + b("Bottom", a); + } + function i(a) { + return e(a) + f(a) + b("Right", a); + } + function j(a) { + a = a.sort(function (a, b) { + return h(a) === h(b) ? e(b) - e(a) : h(b) - h(a); + }); + } + function k(b) { + f(a) != t && (b.target.removeEventListener(b.type, arguments.callee), waterfall(a)); + } + "string" == typeof a && (a = document.querySelector(a)); + var l = [].map.call(a.children, function (a) { + return (a.style.position = "absolute"), a; + }); + a.style.position = "relative"; + var m = []; + l.length && ((l[0].style.top = "0px"), (l[0].style.left = c(b("Left", l[0]))), m.push(l[0])); + for (var n = 1; n < l.length; n++) { + var o = l[n - 1], + p = l[n], + q = i(o) + f(p) <= f(a); + if (!q) break; + (p.style.top = o.style.top), (p.style.left = c(i(o) + b("Left", p))), m.push(p); + } + for (; n < l.length; n++) { + j(m); + var p = l[n], + r = m.pop(); + (p.style.top = c(h(r) + b("Top", p))), (p.style.left = c(e(r))), m.push(p); + } + j(m); + var s = m[0]; + a.style.height = c(h(s) + b("Bottom", s)); + var t = f(a); + window.addEventListener ? window.addEventListener("resize", k) : (document.body.onresize = k); + } + + // 瀑布流 + diff --git a/self/js/main_bunner.js b/self/js/main_bunner.js new file mode 100644 index 000000000..e53f9d06c --- /dev/null +++ b/self/js/main_bunner.js @@ -0,0 +1,11 @@ +var bywind = { + hideTodayCard: function() { + document.getElementById("todayCard") && document.getElementById("todayCard").classList.add("hide") + } +} +$(".topGroup").hover((function() {} +), (function() { + document.getElementById("todayCard").classList.remove("hide"), + document.getElementById("todayCard").style.zIndex = 1 + } +)) diff --git a/self/js/random.js b/self/js/random.js new file mode 100644 index 000000000..37c560407 --- /dev/null +++ b/self/js/random.js @@ -0,0 +1,12 @@ +hexo.extend.generator.register('random', function (locals) { + const config = hexo.config.random || {} + const posts = [] + for (const post of locals.posts.data) { + if (post.random !== false) posts.push(post.path) + } + return { + path: config.path || 'icat/random.js', + data: `var posts=${JSON.stringify(posts)};function toRandomPost(){pjax.loadUrl('/'+posts[Math.floor(Math.random() * posts.length)]);};` + } +}) + diff --git a/tags/English/index.html b/tags/English/index.html new file mode 100644 index 000000000..58d2a16ed --- /dev/null +++ b/tags/English/index.html @@ -0,0 +1,435 @@ +标签: English | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/Git/index.html b/tags/Git/index.html new file mode 100644 index 000000000..dfd7b13ca --- /dev/null +++ b/tags/Git/index.html @@ -0,0 +1,435 @@ +标签: Git | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/Properties/index.html b/tags/Properties/index.html new file mode 100644 index 000000000..ee5596ec7 --- /dev/null +++ b/tags/Properties/index.html @@ -0,0 +1,435 @@ +标签: Properties | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/SpringBoot/index.html b/tags/SpringBoot/index.html new file mode 100644 index 000000000..2c06f620a --- /dev/null +++ b/tags/SpringBoot/index.html @@ -0,0 +1,435 @@ +标签: SpringBoot | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/docker/index.html b/tags/docker/index.html new file mode 100644 index 000000000..e340e3684 --- /dev/null +++ b/tags/docker/index.html @@ -0,0 +1,435 @@ +标签: docker | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/docker/page/2/index.html b/tags/docker/page/2/index.html new file mode 100644 index 000000000..224265122 --- /dev/null +++ b/tags/docker/page/2/index.html @@ -0,0 +1,435 @@ +标签: docker | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/docker/page/3/index.html b/tags/docker/page/3/index.html new file mode 100644 index 000000000..e984c857c --- /dev/null +++ b/tags/docker/page/3/index.html @@ -0,0 +1,435 @@ +标签: docker | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/error/index.html b/tags/error/index.html new file mode 100644 index 000000000..ca2ff9c9d --- /dev/null +++ b/tags/error/index.html @@ -0,0 +1,435 @@ +标签: error | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 000000000..d0e0e6a42 --- /dev/null +++ b/tags/index.html @@ -0,0 +1,435 @@ +标签 | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/java/index.html b/tags/java/index.html new file mode 100644 index 000000000..4cc20db1e --- /dev/null +++ b/tags/java/index.html @@ -0,0 +1,435 @@ +标签: java | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/java/page/2/index.html b/tags/java/page/2/index.html new file mode 100644 index 000000000..d0c925268 --- /dev/null +++ b/tags/java/page/2/index.html @@ -0,0 +1,435 @@ +标签: java | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/jmeter/index.html b/tags/jmeter/index.html new file mode 100644 index 000000000..b1a418feb --- /dev/null +++ b/tags/jmeter/index.html @@ -0,0 +1,435 @@ +标签: jmeter | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/jmeter/page/2/index.html b/tags/jmeter/page/2/index.html new file mode 100644 index 000000000..d0b57af5e --- /dev/null +++ b/tags/jmeter/page/2/index.html @@ -0,0 +1,435 @@ +标签: jmeter | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/postman/index.html b/tags/postman/index.html new file mode 100644 index 000000000..d4f9849b3 --- /dev/null +++ b/tags/postman/index.html @@ -0,0 +1,435 @@ +标签: postman | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/python/index.html b/tags/python/index.html new file mode 100644 index 000000000..3ed747295 --- /dev/null +++ b/tags/python/index.html @@ -0,0 +1,435 @@ +标签: python | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/shell/index.html b/tags/shell/index.html new file mode 100644 index 000000000..d0a74d97b --- /dev/null +++ b/tags/shell/index.html @@ -0,0 +1,435 @@ +标签: shell | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/sql/index.html b/tags/sql/index.html new file mode 100644 index 000000000..887fdd310 --- /dev/null +++ b/tags/sql/index.html @@ -0,0 +1,435 @@ +标签: sql | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/ubuntu/index.html b/tags/ubuntu/index.html new file mode 100644 index 000000000..b566b32d3 --- /dev/null +++ b/tags/ubuntu/index.html @@ -0,0 +1,435 @@ +标签: ubuntu | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/xpath/index.html b/tags/xpath/index.html new file mode 100644 index 000000000..cd01eb2c5 --- /dev/null +++ b/tags/xpath/index.html @@ -0,0 +1,435 @@ +标签: xpath | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git a/tags/yaml/index.html b/tags/yaml/index.html new file mode 100644 index 000000000..11c9bb141 --- /dev/null +++ b/tags/yaml/index.html @@ -0,0 +1,435 @@ +标签: yaml | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git "a/tags/\346\200\247\350\203\275\346\265\213\350\257\225/index.html" "b/tags/\346\200\247\350\203\275\346\265\213\350\257\225/index.html" new file mode 100644 index 000000000..311b5a142 --- /dev/null +++ "b/tags/\346\200\247\350\203\275\346\265\213\350\257\225/index.html" @@ -0,0 +1,435 @@ +标签: 性能测试 | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git "a/tags/\347\233\221\346\216\247/index.html" "b/tags/\347\233\221\346\216\247/index.html" new file mode 100644 index 000000000..bfef1ac46 --- /dev/null +++ "b/tags/\347\233\221\346\216\247/index.html" @@ -0,0 +1,435 @@ +标签: 监控 | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git "a/tags/\347\233\256\346\240\207-\344\274\230\345\214\226/index.html" "b/tags/\347\233\256\346\240\207-\344\274\230\345\214\226/index.html" new file mode 100644 index 000000000..31a830d5f --- /dev/null +++ "b/tags/\347\233\256\346\240\207-\344\274\230\345\214\226/index.html" @@ -0,0 +1,435 @@ +标签: 目标&优化 | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git "a/tags/\351\251\254\345\223\262/index.html" "b/tags/\351\251\254\345\223\262/index.html" new file mode 100644 index 000000000..f36762111 --- /dev/null +++ "b/tags/\351\251\254\345\223\262/index.html" @@ -0,0 +1,435 @@ +标签: 马哲 | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file diff --git "a/\346\265\213\350\257\225\351\241\265\351\235\242/index.html" "b/\346\265\213\350\257\225\351\241\265\351\235\242/index.html" new file mode 100644 index 000000000..6e119816c --- /dev/null +++ "b/\346\265\213\350\257\225\351\241\265\351\235\242/index.html" @@ -0,0 +1,340 @@ +Research • 呓语 | Research • 呓语
    加载头像
    引用到评论
    \ No newline at end of file
    2023立的flag
  • PK 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