├── screenshot.png ├── assets ├── img │ ├── 404.jpg │ ├── head.png │ ├── loading.gif │ ├── avatar │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 100.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 13.png │ │ ├── 14.png │ │ ├── 15.png │ │ ├── 16.png │ │ ├── 17.png │ │ ├── 18.png │ │ ├── 19.png │ │ ├── 2.png │ │ ├── 20.png │ │ ├── 21.png │ │ ├── 22.png │ │ ├── 23.png │ │ ├── 24.png │ │ ├── 25.png │ │ ├── 26.png │ │ ├── 27.png │ │ ├── 28.png │ │ ├── 29.png │ │ ├── 3.png │ │ ├── 30.png │ │ ├── 31.png │ │ ├── 32.png │ │ ├── 33.png │ │ ├── 34.png │ │ ├── 35.png │ │ ├── 36.png │ │ ├── 37.png │ │ ├── 38.png │ │ ├── 39.png │ │ ├── 4.png │ │ ├── 40.png │ │ ├── 41.png │ │ ├── 42.png │ │ ├── 43.png │ │ ├── 44.png │ │ ├── 45.png │ │ ├── 46.png │ │ ├── 47.png │ │ ├── 48.png │ │ ├── 49.png │ │ ├── 5.png │ │ ├── 50.png │ │ ├── 51.png │ │ ├── 52.png │ │ ├── 53.png │ │ ├── 54.png │ │ ├── 55.png │ │ ├── 56.png │ │ ├── 57.png │ │ ├── 58.png │ │ ├── 59.png │ │ ├── 6.png │ │ ├── 60.png │ │ ├── 61.png │ │ ├── 62.png │ │ ├── 63.png │ │ ├── 64.png │ │ ├── 65.png │ │ ├── 66.png │ │ ├── 67.png │ │ ├── 68.png │ │ ├── 69.png │ │ ├── 7.png │ │ ├── 70.png │ │ ├── 71.png │ │ ├── 72.png │ │ ├── 73.png │ │ ├── 74.png │ │ ├── 75.png │ │ ├── 76.png │ │ ├── 77.png │ │ ├── 78.png │ │ ├── 79.png │ │ ├── 8.png │ │ ├── 80.png │ │ ├── 81.png │ │ ├── 82.png │ │ ├── 83.png │ │ ├── 84.png │ │ ├── 85.png │ │ ├── 86.png │ │ ├── 87.png │ │ ├── 88.png │ │ ├── 89.png │ │ ├── 9.png │ │ ├── 90.png │ │ ├── 91.png │ │ ├── 92.png │ │ ├── 93.png │ │ ├── 94.png │ │ ├── 95.png │ │ ├── 96.png │ │ ├── 97.png │ │ ├── 98.png │ │ ├── 99.png │ │ └── default.png │ ├── favicons │ │ ├── favicon.ico │ │ ├── favicon-32x32.ico │ │ └── favicon-64x64.ico │ ├── a-after.svg │ ├── close.svg │ ├── a-before-white.svg │ └── a-before.svg ├── layui │ ├── font │ │ ├── iconfont.eot │ │ ├── iconfont.ttf │ │ ├── iconfont.woff │ │ └── iconfont.woff2 │ └── css │ │ └── modules │ │ ├── layer │ │ └── default │ │ │ ├── icon.png │ │ │ ├── icon-ext.png │ │ │ ├── loading-0.gif │ │ │ ├── loading-1.gif │ │ │ └── loading-2.gif │ │ ├── code.css │ │ └── laydate │ │ └── default │ │ └── laydate.css ├── webfonts │ ├── fa-solid-900.ttf │ ├── fa-brands-400.ttf │ ├── fa-brands-400.woff2 │ ├── fa-regular-400.ttf │ ├── fa-solid-900.woff2 │ ├── fa-regular-400.woff2 │ ├── fa-v4compatibility.ttf │ └── fa-v4compatibility.woff2 ├── fontawesome │ ├── webfonts │ │ ├── fa-brands-400.woff2 │ │ ├── fa-solid-900.woff2 │ │ ├── fa-regular-400.woff2 │ │ └── fa-v4compatibility.woff2 │ └── LICENSE.txt ├── semantic │ └── themes │ │ └── default │ │ └── assets │ │ ├── fonts │ │ ├── icons.ttf │ │ ├── icons.woff │ │ ├── icons.woff2 │ │ ├── brand-icons.ttf │ │ ├── brand-icons.woff │ │ └── brand-icons.woff2 │ │ └── images │ │ └── flags.png ├── css │ ├── jquery.arcticmodal.min.css │ ├── jquery.arcticmodal.css │ ├── socials.min.css │ ├── styles.min.css │ ├── socials.css │ ├── search-section.min.css │ ├── styles.css │ ├── index.min.css │ ├── archive.min.css │ ├── buttons.min.css │ ├── search-section.css │ ├── index.css │ ├── comments.min.css │ ├── footer.min.css │ ├── modals.min.css │ ├── third │ │ ├── bearui.min.css │ │ └── toastr.min.css │ ├── archive.css │ ├── buttons.css │ ├── inputs.min.css │ ├── modals.css │ ├── comments.css │ ├── sidebar.min.css │ ├── share.min.css │ ├── inputs.css │ ├── wp-content.min.css │ └── footer.css └── js │ ├── bearui.min.js │ ├── webgl │ └── Detector.js │ ├── toastr.min.js │ └── lazyload.min.js ├── core ├── func.php ├── shortcode.php ├── backup.php ├── general.php └── commentsec.php ├── .github ├── workflows │ └── release.yml └── configuration.json ├── LICENSE ├── index.php ├── modules └── sticky.php ├── page-articles.php ├── README.md ├── page.php └── post.php /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/screenshot.png -------------------------------------------------------------------------------- /assets/img/404.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/404.jpg -------------------------------------------------------------------------------- /assets/img/head.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/head.png -------------------------------------------------------------------------------- /assets/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/loading.gif -------------------------------------------------------------------------------- /assets/img/avatar/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/1.png -------------------------------------------------------------------------------- /assets/img/avatar/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/10.png -------------------------------------------------------------------------------- /assets/img/avatar/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/100.png -------------------------------------------------------------------------------- /assets/img/avatar/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/11.png -------------------------------------------------------------------------------- /assets/img/avatar/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/12.png -------------------------------------------------------------------------------- /assets/img/avatar/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/13.png -------------------------------------------------------------------------------- /assets/img/avatar/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/14.png -------------------------------------------------------------------------------- /assets/img/avatar/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/15.png -------------------------------------------------------------------------------- /assets/img/avatar/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/16.png -------------------------------------------------------------------------------- /assets/img/avatar/17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/17.png -------------------------------------------------------------------------------- /assets/img/avatar/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/18.png -------------------------------------------------------------------------------- /assets/img/avatar/19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/19.png -------------------------------------------------------------------------------- /assets/img/avatar/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/2.png -------------------------------------------------------------------------------- /assets/img/avatar/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/20.png -------------------------------------------------------------------------------- /assets/img/avatar/21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/21.png -------------------------------------------------------------------------------- /assets/img/avatar/22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/22.png -------------------------------------------------------------------------------- /assets/img/avatar/23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/23.png -------------------------------------------------------------------------------- /assets/img/avatar/24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/24.png -------------------------------------------------------------------------------- /assets/img/avatar/25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/25.png -------------------------------------------------------------------------------- /assets/img/avatar/26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/26.png -------------------------------------------------------------------------------- /assets/img/avatar/27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/27.png -------------------------------------------------------------------------------- /assets/img/avatar/28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/28.png -------------------------------------------------------------------------------- /assets/img/avatar/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/29.png -------------------------------------------------------------------------------- /assets/img/avatar/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/3.png -------------------------------------------------------------------------------- /assets/img/avatar/30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/30.png -------------------------------------------------------------------------------- /assets/img/avatar/31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/31.png -------------------------------------------------------------------------------- /assets/img/avatar/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/32.png -------------------------------------------------------------------------------- /assets/img/avatar/33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/33.png -------------------------------------------------------------------------------- /assets/img/avatar/34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/34.png -------------------------------------------------------------------------------- /assets/img/avatar/35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/35.png -------------------------------------------------------------------------------- /assets/img/avatar/36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/36.png -------------------------------------------------------------------------------- /assets/img/avatar/37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/37.png -------------------------------------------------------------------------------- /assets/img/avatar/38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/38.png -------------------------------------------------------------------------------- /assets/img/avatar/39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/39.png -------------------------------------------------------------------------------- /assets/img/avatar/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/4.png -------------------------------------------------------------------------------- /assets/img/avatar/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/40.png -------------------------------------------------------------------------------- /assets/img/avatar/41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/41.png -------------------------------------------------------------------------------- /assets/img/avatar/42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/42.png -------------------------------------------------------------------------------- /assets/img/avatar/43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/43.png -------------------------------------------------------------------------------- /assets/img/avatar/44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/44.png -------------------------------------------------------------------------------- /assets/img/avatar/45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/45.png -------------------------------------------------------------------------------- /assets/img/avatar/46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/46.png -------------------------------------------------------------------------------- /assets/img/avatar/47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/47.png -------------------------------------------------------------------------------- /assets/img/avatar/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/48.png -------------------------------------------------------------------------------- /assets/img/avatar/49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/49.png -------------------------------------------------------------------------------- /assets/img/avatar/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/5.png -------------------------------------------------------------------------------- /assets/img/avatar/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/50.png -------------------------------------------------------------------------------- /assets/img/avatar/51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/51.png -------------------------------------------------------------------------------- /assets/img/avatar/52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/52.png -------------------------------------------------------------------------------- /assets/img/avatar/53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/53.png -------------------------------------------------------------------------------- /assets/img/avatar/54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/54.png -------------------------------------------------------------------------------- /assets/img/avatar/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/55.png -------------------------------------------------------------------------------- /assets/img/avatar/56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/56.png -------------------------------------------------------------------------------- /assets/img/avatar/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/57.png -------------------------------------------------------------------------------- /assets/img/avatar/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/58.png -------------------------------------------------------------------------------- /assets/img/avatar/59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/59.png -------------------------------------------------------------------------------- /assets/img/avatar/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/6.png -------------------------------------------------------------------------------- /assets/img/avatar/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/60.png -------------------------------------------------------------------------------- /assets/img/avatar/61.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/61.png -------------------------------------------------------------------------------- /assets/img/avatar/62.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/62.png -------------------------------------------------------------------------------- /assets/img/avatar/63.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/63.png -------------------------------------------------------------------------------- /assets/img/avatar/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/64.png -------------------------------------------------------------------------------- /assets/img/avatar/65.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/65.png -------------------------------------------------------------------------------- /assets/img/avatar/66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/66.png -------------------------------------------------------------------------------- /assets/img/avatar/67.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/67.png -------------------------------------------------------------------------------- /assets/img/avatar/68.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/68.png -------------------------------------------------------------------------------- /assets/img/avatar/69.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/69.png -------------------------------------------------------------------------------- /assets/img/avatar/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/7.png -------------------------------------------------------------------------------- /assets/img/avatar/70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/70.png -------------------------------------------------------------------------------- /assets/img/avatar/71.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/71.png -------------------------------------------------------------------------------- /assets/img/avatar/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/72.png -------------------------------------------------------------------------------- /assets/img/avatar/73.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/73.png -------------------------------------------------------------------------------- /assets/img/avatar/74.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/74.png -------------------------------------------------------------------------------- /assets/img/avatar/75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/75.png -------------------------------------------------------------------------------- /assets/img/avatar/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/76.png -------------------------------------------------------------------------------- /assets/img/avatar/77.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/77.png -------------------------------------------------------------------------------- /assets/img/avatar/78.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/78.png -------------------------------------------------------------------------------- /assets/img/avatar/79.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/79.png -------------------------------------------------------------------------------- /assets/img/avatar/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/8.png -------------------------------------------------------------------------------- /assets/img/avatar/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/80.png -------------------------------------------------------------------------------- /assets/img/avatar/81.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/81.png -------------------------------------------------------------------------------- /assets/img/avatar/82.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/82.png -------------------------------------------------------------------------------- /assets/img/avatar/83.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/83.png -------------------------------------------------------------------------------- /assets/img/avatar/84.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/84.png -------------------------------------------------------------------------------- /assets/img/avatar/85.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/85.png -------------------------------------------------------------------------------- /assets/img/avatar/86.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/86.png -------------------------------------------------------------------------------- /assets/img/avatar/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/87.png -------------------------------------------------------------------------------- /assets/img/avatar/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/88.png -------------------------------------------------------------------------------- /assets/img/avatar/89.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/89.png -------------------------------------------------------------------------------- /assets/img/avatar/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/9.png -------------------------------------------------------------------------------- /assets/img/avatar/90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/90.png -------------------------------------------------------------------------------- /assets/img/avatar/91.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/91.png -------------------------------------------------------------------------------- /assets/img/avatar/92.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/92.png -------------------------------------------------------------------------------- /assets/img/avatar/93.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/93.png -------------------------------------------------------------------------------- /assets/img/avatar/94.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/94.png -------------------------------------------------------------------------------- /assets/img/avatar/95.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/95.png -------------------------------------------------------------------------------- /assets/img/avatar/96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/96.png -------------------------------------------------------------------------------- /assets/img/avatar/97.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/97.png -------------------------------------------------------------------------------- /assets/img/avatar/98.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/98.png -------------------------------------------------------------------------------- /assets/img/avatar/99.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/99.png -------------------------------------------------------------------------------- /assets/img/avatar/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/avatar/default.png -------------------------------------------------------------------------------- /assets/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/layui/font/iconfont.eot -------------------------------------------------------------------------------- /assets/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /assets/img/favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/favicons/favicon.ico -------------------------------------------------------------------------------- /assets/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/layui/font/iconfont.woff -------------------------------------------------------------------------------- /assets/layui/font/iconfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/layui/font/iconfont.woff2 -------------------------------------------------------------------------------- /assets/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /assets/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /assets/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /assets/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /assets/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /assets/img/favicons/favicon-32x32.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/favicons/favicon-32x32.ico -------------------------------------------------------------------------------- /assets/img/favicons/favicon-64x64.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/img/favicons/favicon-64x64.ico -------------------------------------------------------------------------------- /assets/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /assets/webfonts/fa-v4compatibility.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/webfonts/fa-v4compatibility.ttf -------------------------------------------------------------------------------- /assets/webfonts/fa-v4compatibility.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/webfonts/fa-v4compatibility.woff2 -------------------------------------------------------------------------------- /assets/fontawesome/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/fontawesome/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /assets/fontawesome/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/fontawesome/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /assets/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /assets/fontawesome/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/fontawesome/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /assets/fontawesome/webfonts/fa-v4compatibility.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/fontawesome/webfonts/fa-v4compatibility.woff2 -------------------------------------------------------------------------------- /assets/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /assets/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /assets/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /assets/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /assets/semantic/themes/default/assets/fonts/icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/semantic/themes/default/assets/fonts/icons.ttf -------------------------------------------------------------------------------- /assets/semantic/themes/default/assets/fonts/icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/semantic/themes/default/assets/fonts/icons.woff -------------------------------------------------------------------------------- /assets/semantic/themes/default/assets/fonts/icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/semantic/themes/default/assets/fonts/icons.woff2 -------------------------------------------------------------------------------- /assets/semantic/themes/default/assets/images/flags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/semantic/themes/default/assets/images/flags.png -------------------------------------------------------------------------------- /assets/semantic/themes/default/assets/fonts/brand-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/semantic/themes/default/assets/fonts/brand-icons.ttf -------------------------------------------------------------------------------- /assets/semantic/themes/default/assets/fonts/brand-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/semantic/themes/default/assets/fonts/brand-icons.woff -------------------------------------------------------------------------------- /assets/semantic/themes/default/assets/fonts/brand-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fordes123/gleaner/HEAD/assets/semantic/themes/default/assets/fonts/brand-icons.woff2 -------------------------------------------------------------------------------- /assets/img/a-after.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/img/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/img/a-before-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/img/a-before.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/css/jquery.arcticmodal.min.css: -------------------------------------------------------------------------------- 1 | .arcticmodal-overlay, .arcticmodal-container {position: fixed;left: 0;top: 0;right: 0;bottom: 0;z-index: 1000;} .arcticmodal-container {overflow: auto;margin: 0;padding: 0;border: 0;border-collapse: collapse;} *:first-child + html .arcticmodal-container {height: 100%;} .arcticmodal-container_i {height: 100%;margin: 0 auto;} .arcticmodal-container_i2 {padding: 24px 0;margin: 0;border: 0;vertical-align: middle;} .arcticmodal-error {padding: 20px;border-radius: 10px;background: #000;color: #fff;} .arcticmodal-loading {width: 80px;height: 80px;border-radius: 10px;background: #000 no-repeat 50% 50%;} .arcticmodal-container.dark {background: rgba(0, 0, 0, 0.8);} 2 | -------------------------------------------------------------------------------- /core/func.php: -------------------------------------------------------------------------------- 1 | addItem($cover); 16 | } 17 | 18 | /* 主题初始化 */ 19 | function themeInit($self) 20 | { 21 | Helper::options()->commentsRequireMail = true; 22 | Helper::options()->commentsRequireURL = false; 23 | Helper::options()->commentsThreaded = true; 24 | Helper::options()->commentsMaxNestingLevels = 999; 25 | } -------------------------------------------------------------------------------- /assets/css/jquery.arcticmodal.css: -------------------------------------------------------------------------------- 1 | .arcticmodal-overlay, 2 | .arcticmodal-container { 3 | position: fixed; 4 | left: 0; 5 | top: 0; 6 | right: 0; 7 | bottom: 0; 8 | z-index: 1000; 9 | } 10 | .arcticmodal-container { 11 | overflow: auto; 12 | margin: 0; 13 | padding: 0; 14 | border: 0; 15 | border-collapse: collapse; 16 | } 17 | *:first-child + html .arcticmodal-container { 18 | height: 100%; 19 | } 20 | .arcticmodal-container_i { 21 | height: 100%; 22 | margin: 0 auto; 23 | } 24 | .arcticmodal-container_i2 { 25 | padding: 24px 0; 26 | margin: 0; 27 | border: 0; 28 | vertical-align: middle; 29 | } 30 | .arcticmodal-error { 31 | padding: 20px; 32 | border-radius: 10px; 33 | background: #000; 34 | color: #fff; 35 | } 36 | .arcticmodal-loading { 37 | width: 80px; 38 | height: 80px; 39 | border-radius: 10px; 40 | background: #000 no-repeat 50% 50%; 41 | } 42 | .arcticmodal-container.dark { 43 | background: rgba(0, 0, 0, 0.8); 44 | } 45 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | push: 5 | branches: [ main ] 6 | tags: 7 | - "v*" 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | permissions: 13 | contents: write 14 | discussions: write 15 | steps: 16 | - name: Checkout 17 | uses: actions/checkout@v3 18 | 19 | - name: Build Changelog 20 | id: changelog 21 | uses: mikepenz/release-changelog-builder-action@v3 22 | if: startsWith(github.ref, 'refs/tags/') 23 | with: 24 | configuration: ".github/configuration.json" 25 | env: 26 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 27 | 28 | - name: Release 29 | uses: softprops/action-gh-release@v1 30 | if: startsWith(github.ref, 'refs/tags/') 31 | with: 32 | # tag_name: ${{ env.release_tag }} 33 | body: ${{steps.changelog.outputs.changelog}} 34 | env: 35 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -------------------------------------------------------------------------------- /.github/configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "pr_template": "- ${{TITLE}} (#${{NUMBER}})", 3 | "categories": [ 4 | { 5 | "title": "## 🚀 Features", 6 | "labels": [ 7 | "feature" 8 | ], 9 | "exhaustive": true 10 | }, 11 | { 12 | "title": "## 🛠️ Minor Changes", 13 | "labels": [ 14 | "maintenance" 15 | ], 16 | "exhaustive": true 17 | }, 18 | { 19 | "title": "## 🐛 Fixes", 20 | "labels": [ 21 | "fix" 22 | ], 23 | "exhaustive": true 24 | }, 25 | { 26 | "title": "## 📄 Documentation", 27 | "labels": [ 28 | "documentation" 29 | ], 30 | "exhaustive": true 31 | }, 32 | { 33 | "title": "## 🔗 Dependency Updates", 34 | "labels": [ 35 | "dependency" 36 | ], 37 | "exhaustive": true 38 | } 39 | ], 40 | "ignore_labels": [ 41 | "ignore" 42 | ], 43 | "template": "${{CATEGORIZED_COUNT}} changes since ${{FROM_TAG}}\n\n${{CHANGELOG}}" 44 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 以谶 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /assets/js/bearui.min.js: -------------------------------------------------------------------------------- 1 | document.addEventListener("DOMContentLoaded",function(){var e=document.querySelectorAll(".bearui_config__aside .item"),t=document.querySelector(".bearui_config__notice"),s=document.querySelector(".bearui_config > form"),n=document.querySelectorAll(".bearui_content");if(e.forEach(function(o){o.addEventListener("click",function(){e.forEach(function(e){e.classList.remove("active")}),o.classList.add("active");var c=o.getAttribute("data-current");sessionStorage.setItem("bearui_config_current",c),"bearui_notice"===c?(t.style.display="block",s.style.display="none"):(t.style.display="none",s.style.display="block"),n.forEach(function(e){e.style.display="none";var t=e.classList.contains(c);t&&(e.style.display="block")})})}),sessionStorage.getItem("bearui_config_current")){var o=sessionStorage.getItem("bearui_config_current");"bearui_notice"===o?(t.style.display="block",s.style.display="none"):(s.style.display="block",t.style.display="none"),e.forEach(function(e){var t=e.getAttribute("data-current");t===o&&e.classList.add("active")}),n.forEach(function(e){e.classList.contains(o)&&(e.style.display="block")})}else e[0].classList.add("active"),t.style.display="block",s.style.display="none";}) -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | typecho-bearcool 4 | * 主题演示:fordes.top 5 | * Github:fordes123/gleaner 6 | * 7 | * @package gleaner 8 | * @author fordes 9 | * @version 1.2.4 10 | * @link https://blog.fordes.top/ 11 | */ 12 | if (!defined('__TYPECHO_ROOT_DIR__')) exit; 13 | ?> 14 | 15 | need('header.php'); ?> 16 |
17 |
18 |
19 | 23 |

options->bcool_nickname(); ?>

24 |

options->bcool_slogan() ?>

25 |
26 |
27 |
28 | need('footer.php'); ?> 29 | -------------------------------------------------------------------------------- /assets/layui/css/modules/code.css: -------------------------------------------------------------------------------- 1 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #eee;border-left-width:6px;background-color:#FAFAFA;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:40px;line-height:40px;border-bottom:1px solid #eee}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 10px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view .layui-code-ol li:first-child{padding-top:10px}.layui-code-view .layui-code-ol li:last-child{padding-bottom:10px}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}.layui-code-demo .layui-code{visibility:visible!important;margin:-15px;border-top:none;border-right:none;border-bottom:none}.layui-code-demo .layui-tab-content{padding:15px;border-top:none} -------------------------------------------------------------------------------- /assets/css/socials.min.css: -------------------------------------------------------------------------------- 1 | .socials {display: block;float: left;width: auto;} .socials .soc-link {width: 32px;height: 32px;border-radius: 50%;background: #ebebeb;margin-right: 13px;position: relative;display: -ms-flexbox;display: flex;-ms-flex-pack: center;justify-content: center;-ms-flex-align: center;align-items: center;float: left;} .socials .soc-link:last-child {margin-right: 0;} .socials .soc-link img, .socials .soc-link svg {max-width: 18px;max-height: 18px;} .socials .soc-link * {fill: #747B88;transition: all 0.2s linear;} .socials .soc-link:hover {background: #0D84FB;} .socials .soc-link:hover * {fill: #fff;transition: all 0.1s linear;} .dark .socials .soc-link {background: rgba(255, 255, 255, 0.17);} .dark .socials .soc-link:hover {background: #0D84FB;} .dark .socials .soc-link * {fill: #DBDDE1;} .mobile .socials .soc-link:hover, .tablet .socials .soc-link:hover {background: #ebebeb;} .mobile .socials .soc-link:hover *, .tablet .socials .soc-link:hover * {fill: #747B88;} .mobile .dark .socials .soc-link:hover, .tablet .dark .socials .soc-link:hover {background: rgba(255, 255, 255, 0.17);} .mobile .dark .socials .soc-link:hover *, .tablet .dark .socials .soc-link:hover * {fill: #DBDDE1;} @media screen and (max-width: 1024px) { .socials .soc-link {width: 44px;height: 44px;} .socials .soc-link:after {display: none;} .socials .soc-link:hover {background: #dbdde1;} } 2 | -------------------------------------------------------------------------------- /assets/css/styles.min.css: -------------------------------------------------------------------------------- 1 | /* BearCool Theme */ @import "jquery.arcticmodal.min.css"; @import "general.min.css"; @import "buttons.min.css"; @import "inputs.min.css"; @import "socials.min.css"; @import "top-panel.min.css"; @import "search-section.min.css"; @import "posts-section.min.css"; @import "footer.min.css"; @import "single.min.css"; @import "comments.min.css"; @import "wp-content.min.css"; @import "sidebar.min.css"; @import "archive.min.css"; @import "share.min.css"; @import "modals.min.css"; @import "index.min.css"; .page-load-status {display: none; /* hidden by default */padding-top: 20px;border-top: 1px solid #DDD;text-align: center;color: #777;} .loader-ellips {font-size: 20px; /* change size here */position: relative;width: 4em;height: 1em;margin: 10px auto;float: initial;} .loader-ellips__dot {display: block;width: 1em;height: 1em;border-radius: 0.5em;background: #555; /* change color here */position: absolute;animation-duration: 0.5s;animation-timing-function: ease;animation-iteration-count: infinite;} .loader-ellips__dot:nth-child(1), .loader-ellips__dot:nth-child(2) {left: 0;} .loader-ellips__dot:nth-child(3) {left: 1.5em;} .loader-ellips__dot:nth-child(4) {left: 3em;} @keyframes reveal { from {transform: scale(0.001);} to {transform: scale(1);} } @keyframes slide { to {transform: translateX(1.5em)} } .loader-ellips__dot:nth-child(1) {animation-name: reveal;} .loader-ellips__dot:nth-child(2), .loader-ellips__dot:nth-child(3) {animation-name: slide;} .loader-ellips__dot:nth-child(4) {animation-name: reveal;animation-direction: reverse;} -------------------------------------------------------------------------------- /modules/sticky.php: -------------------------------------------------------------------------------- 1 | options->sticky_cid; 4 | if($sticky && $this->is('index') || $this->is('front')|| $this->is('archive')){ 5 | $sticky_cids = explode(',', strtr($sticky, ' ', ',')); 6 | $sticky_html = "
置顶
"; 7 | $db = Typecho_Db::get(); 8 | $pageSize = $this->options->pageSize; 9 | $select1 = $this->select()->where('type = ?', 'post'); 10 | $select2 = $this->select()->where('type = ? && status = ? && created < ?', 'post','publish',time()); 11 | //清空原有文章的列队 12 | $this->row = []; 13 | $this->stack = []; 14 | $this->length = 0; 15 | $order = ''; 16 | foreach($sticky_cids as $i => $cid) { 17 | if($i == 0) $select1->where('cid = ?', $cid); 18 | else $select1->orWhere('cid = ?', $cid); 19 | $order .= " when $cid then $i"; 20 | $select2->where('table.contents.cid != ?', $cid); //避免重复 21 | } 22 | if ($order) $select1->order(null,"(case cid$order end)"); //置顶文章的顺序 按 $sticky 中 文章ID顺序 23 | if ($this->_currentPage == 1) foreach($db->fetchAll($select1) as $sticky_post){ //首页第一页才显示 24 | $sticky_post['sticky'] = $sticky_html; 25 | $this->push($sticky_post); //压入列队 26 | } 27 | $uid = $this->user->uid; //登录时,显示用户各自的私密文章 28 | if($uid) $select2->orWhere('authorId = ? && status = ?',$uid,'private'); 29 | $sticky_posts = $db->fetchAll($select2->order('table.contents.created', Typecho_Db::SORT_DESC)->page($this->_currentPage, $this->parameter->pageSize)); 30 | foreach($sticky_posts as $sticky_post) $this->push($sticky_post); //压入列队 31 | $this->setTotal($this->getTotal()-count($sticky_cids)); //置顶文章不计算在所有文章内 32 | } -------------------------------------------------------------------------------- /assets/js/webgl/Detector.js: -------------------------------------------------------------------------------- 1 | /** * @author alteredq / http://alteredqualia.com/ * @author mr.doob / http://mrdoob.com/ */ Detector = { canvas: !!window.CanvasRenderingContext2D, webgl: (function () { try { return !!window.WebGLRenderingContext && !!document.createElement('canvas').getContext('experimental-webgl'); } catch (e) { return false; } })(), workers: !!window.Worker, fileapi: window.File && window.FileReader && window.FileList && window.Blob, getWebGLErrorMessage: function () { var domElement = document.createElement('div'); domElement.style.fontFamily = 'monospace'; domElement.style.fontSize = '13px'; domElement.style.textAlign = 'center'; domElement.style.background = '#eee'; domElement.style.color = '#000'; domElement.style.padding = '1em'; domElement.style.width = '475px'; domElement.style.margin = '5em auto 0'; if (!this.webgl) { domElement.innerHTML = window.WebGLRenderingContext ? [ 'Sorry, your graphics card doesn\'t support WebGL' ].join('\n') : [ 'Sorry, your browser doesn\'t support WebGL
', 'Please try with', 'Chrome 10, ', 'Firefox 4 or', 'Safari 6' ].join('\n'); } return domElement; }, addGetWebGLMessage: function (parameters) { var parent, id, domElement; parameters = parameters || {}; parent = parameters.parent !== undefined ? parameters.parent : document.body; id = parameters.id !== undefined ? parameters.id : 'oldie'; domElement = Detector.getWebGLErrorMessage(); domElement.id = id; parent.appendChild(domElement); } }; -------------------------------------------------------------------------------- /assets/css/socials.css: -------------------------------------------------------------------------------- 1 | .socials { 2 | display: block; 3 | float: left; 4 | width: auto; 5 | } 6 | .socials .soc-link { 7 | width: 32px; 8 | height: 32px; 9 | border-radius: 50%; 10 | background: #ebebeb; 11 | margin-right: 13px; 12 | position: relative; 13 | display: -ms-flexbox; 14 | display: flex; 15 | -ms-flex-pack: center; 16 | justify-content: center; 17 | -ms-flex-align: center; 18 | align-items: center; 19 | float: left; 20 | } 21 | .socials .soc-link:last-child { 22 | margin-right: 0; 23 | } 24 | .socials .soc-link img, 25 | .socials .soc-link svg { 26 | max-width: 18px; 27 | max-height: 18px; 28 | } 29 | .socials .soc-link * { 30 | fill: #747B88; 31 | transition: all 0.2s linear; 32 | } 33 | .socials .soc-link:hover { 34 | background: #0D84FB; 35 | } 36 | .socials .soc-link:hover * { 37 | fill: #fff; 38 | transition: all 0.1s linear; 39 | } 40 | .dark .socials .soc-link { 41 | background: rgba(255, 255, 255, 0.17); 42 | } 43 | .dark .socials .soc-link:hover { 44 | background: #0D84FB; 45 | } 46 | .dark .socials .soc-link * { 47 | fill: #DBDDE1; 48 | } 49 | .mobile .socials .soc-link:hover, 50 | .tablet .socials .soc-link:hover { 51 | background: #ebebeb; 52 | } 53 | .mobile .socials .soc-link:hover *, 54 | .tablet .socials .soc-link:hover * { 55 | fill: #747B88; 56 | } 57 | .mobile .dark .socials .soc-link:hover, 58 | .tablet .dark .socials .soc-link:hover { 59 | background: rgba(255, 255, 255, 0.17); 60 | } 61 | .mobile .dark .socials .soc-link:hover *, 62 | .tablet .dark .socials .soc-link:hover * { 63 | fill: #DBDDE1; 64 | } 65 | @media screen and (max-width: 1024px) { 66 | .socials .soc-link { 67 | width: 44px; 68 | height: 44px; 69 | } 70 | .socials .soc-link:after { 71 | display: none; 72 | } 73 | .socials .soc-link:hover { 74 | background: #dbdde1; 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /assets/css/search-section.min.css: -------------------------------------------------------------------------------- 1 | .search-section {position: fixed;top: 0;left: 0;} .search-section .wrap_float {height: 440px;display: -ms-flexbox;display: flex;-ms-flex-pack: center;justify-content: center;-ms-flex-align: center;align-items: center;position: relative;} .search-section.search--open {z-index: 2;} .search-section.search--open .search-form {opacity: 1;transform: translate3d(0, 0, 0);} .search-section.search--open .search-close {opacity: 1;} .search-form {width: auto;opacity: 0;transform: translate3d(0, 150px, 0);transition: opacity 1s, transform 1s;transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);} .search-input {width: 744px;height: 74px;background: #2b2b2b;display: block;float: left;border-radius: 8px;border: 0;padding: 0 30px;font-size: 25px;font-family: 'Roboto', sans-serif;font-weight: 400;color: #fff;padding-right: 80px;} .search-submit {width: 74px;height: 74px;position: absolute;right: 0;top: 0;background: none;color: #FFF;font-size: 1.5em;} .search-close {width: 32px;height: 32px;background: rgba(255, 255, 255, 0.17);border-radius: 50%;position: absolute;top: 44px;right: 0;opacity: 0;transition: opacity 1s;transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);} .search-close:hover {cursor: pointer;} .search-close:hover * {cursor: pointer;} .search-close .fa-solid {width: 10px;height: 16px; /*background: url(../img/close.svg) center center no-repeat;*//*background-size: contain;*/color: #FFF;position: absolute;content: '';left: 50%;top: 50%;transform: translate(-50%, -50%);} .dark .search-input {background: #cecece;color: #000;} .dark .search-section.search--open .search-close {background: #1d1d1d;} /*.dark .search-section .search-submit:before {*//*background-image: url(../img/search.svg);*//*}*/ @media screen and (max-width: 1000px) { .search-input {width: 92vw;} .search-section .wrap_float {height: 360px;} } @media screen and (max-width: 590px) { .search-input {height: 60px;font-size: 20px;padding: 0 20px;padding-right: 65px;} .search-submit {width: 60px;height: 60px;} .search-close {top: 30px;} } 2 | -------------------------------------------------------------------------------- /assets/css/styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | BearCool Theme 3 | */ 4 | @import "jquery.arcticmodal.css"; 5 | @import "general.css"; 6 | @import "buttons.css"; 7 | @import "inputs.css"; 8 | @import "socials.css"; 9 | @import "top-panel.css"; 10 | @import "search-section.css"; 11 | @import "posts-section.css"; 12 | @import "footer.css"; 13 | @import "single.css"; 14 | @import "comments.css"; 15 | @import "wp-content.css"; 16 | @import "sidebar.css"; 17 | @import "archive.css"; 18 | @import "share.css"; 19 | @import "modals.css"; 20 | @import "index.css"; 21 | 22 | .page-load-status { 23 | display: none; /* hidden by default */ 24 | padding-top: 20px; 25 | border-top: 1px solid #DDD; 26 | text-align: center; 27 | color: #777; 28 | } 29 | 30 | .loader-ellips { 31 | font-size: 20px; /* change size here */ 32 | position: relative; 33 | width: 4em; 34 | height: 1em; 35 | margin: 10px auto; 36 | float: initial; 37 | } 38 | 39 | .loader-ellips__dot { 40 | display: block; 41 | width: 1em; 42 | height: 1em; 43 | border-radius: 0.5em; 44 | background: #555; /* change color here */ 45 | position: absolute; 46 | animation-duration: 0.5s; 47 | animation-timing-function: ease; 48 | animation-iteration-count: infinite; 49 | } 50 | 51 | .loader-ellips__dot:nth-child(1), 52 | .loader-ellips__dot:nth-child(2) { 53 | left: 0; 54 | } 55 | 56 | .loader-ellips__dot:nth-child(3) { 57 | left: 1.5em; 58 | } 59 | 60 | .loader-ellips__dot:nth-child(4) { 61 | left: 3em; 62 | } 63 | 64 | @keyframes reveal { 65 | from { 66 | transform: scale(0.001); 67 | } 68 | to { 69 | transform: scale(1); 70 | } 71 | } 72 | 73 | @keyframes slide { 74 | to { 75 | transform: translateX(1.5em) 76 | } 77 | } 78 | 79 | .loader-ellips__dot:nth-child(1) { 80 | animation-name: reveal; 81 | } 82 | 83 | .loader-ellips__dot:nth-child(2), 84 | .loader-ellips__dot:nth-child(3) { 85 | animation-name: slide; 86 | } 87 | 88 | .loader-ellips__dot:nth-child(4) { 89 | animation-name: reveal; 90 | animation-direction: reverse; 91 | } -------------------------------------------------------------------------------- /page-articles.php: -------------------------------------------------------------------------------- 1 | need('header.php'); ?> 10 |
11 |
12 |
13 |
14 |
15 |
16 | 17 |
options->bcool_animate)) : ?>animate__animated animate__options->bcool_animate() ?>"> 19 | widget('Widget_Contents_Post_Recent', 'pageSize=' . $stat->publishedPostsNum)->to($archives); 22 | $year = 0; 23 | $mon = 0; 24 | $i = 0; 25 | $j = 0; 26 | $output = '
'; 27 | while ($archives->next()) { 28 | $year_tmp = date('Y', $archives->created); 29 | if ($year != $year_tmp) { 30 | $year = $year_tmp; 31 | $output .= '

' . $year . '

'; 32 | } 33 | if ($this->options->PjaxOption && $archives->hidden) { 34 | $output .= '

' . $archives->title . '

'; 35 | } else { 36 | $output .= '

' . $archives->title . '

'; 37 | } 38 | } 39 | $output .= '
'; 40 | echo $output; 41 | ?> 42 |
43 | 44 |
45 |
46 |
47 |
48 | 49 | need('footer.php'); ?> -------------------------------------------------------------------------------- /core/shortcode.php: -------------------------------------------------------------------------------- 1 | fetchAll($db->select()->from('table.comments')->where('cid = ?', $t->cid)->where('mail = ?', $t->remember('mail', true))->limit(1)); 8 | if ($hasComment || $login) { 9 | $content = preg_replace("/\{bcool-hide\}(.*?)\{\/bcool-hide\}/sm", '

$1

', $post); 10 | } else { 11 | $content = preg_replace("/\{bcool-hide\}(.*?)\{\/bcool-hide\}/sm", '

此处内容需要评论回复后方可阅读。

', $post); 12 | } 13 | }/*Todolist*/ 14 | if (strpos($content, '{bcool-todo') !== false) { 15 | if (strpos($content, '{bcool-todo type=true') !== false) { 16 | $content = preg_replace('/\{bcool-todo type=true\}(.*?)\{\/bcool-todo\}/sm', '', $content); 17 | } 18 | if (strpos($content, '{bcool-todo type=false') !== false) { 19 | $content = preg_replace('/\{bcool-todo type=false\}(.*?)\{\/bcool-todo\}/sm', '', $content); 20 | } 21 | }/*手风琴折叠*/ 22 | if (strpos($content, '{bcool-accordion') !== false) { 23 | if (strpos($content, '{bcool-accordion type=stand') !== false) { 24 | $content = preg_replace('/\{bcool-accordion type=stand title=(.*?)\}(.*?)\{\/bcool-accordion\}/sm', '
$1
', $content); 25 | } 26 | if (strpos($content, '{bcool-accordion type=line') !== false) { 27 | $content = preg_replace('/\{bcool-accordion type=line title=(.*?)\}(.*?)\{\/bcool-accordion\}/sm', '
$1
', $content); 28 | } 29 | } 30 | $pattern = '/\]*>/i'; 31 | $replacement = ''.$t->title.''; 32 | $content = preg_replace($pattern, $replacement, "
" . $content . "
"); 33 | echo $content; 34 | } -------------------------------------------------------------------------------- /assets/css/index.min.css: -------------------------------------------------------------------------------- 1 | .index-anchor .top-panel *, .index-anchor .top-panel .menu .first-level-menu:before {background: transparent;} .index-anchor .top-panel *, .index-anchor .mobile-panel * {color: #FFF;} .index-anchor .top-panel .menu .first-level-menu, .index-anchor .top-panel .menu .first-level-menu:before {box-shadow: none !important;} .index-anchor .top-panel .mode-checkbox-label:after {background: #FFF;} .index-anchor .top-panel.opened .mode-checkbox-label:after {background: #747B88;} .index-anchor .mode-checkbox-input:checked + .mode-checkbox-label:after {background: #0D84FB;} .index-anchor .footer .wrap_float {border-top: none;} .index-anchor .footer {bottom: 0;position: absolute;} .index-anchor .top-panel {position: fixed;} .index-anchor, .index-anchor.content-container-wrap.relative {position: fixed ;padding-top: 0;} .index-anchor .centered {display: flex;position: absolute;align-items: center;justify-content: center;top: 50%;left: 50%;-webkit-transform: translate(-50%, -50%);-moz-transform: translate(-50%, -50%);transform: translate(-50%, -50%);} .index-anchor .centered .about {width: 25rem;text-align: center;} .index-anchor .centered .about h1, .index-anchor .centered .about h2, .index-anchor .centered .about ul, .index-anchor .centered .about ul li, .index-anchor .centered .about a {float: none;} .dark .index-anchor .footer *, .dark .index-anchor .centered .about * {color: #2B2B2B;} .index-anchor .centered .about h1 {font-size: 1.8rem;font-weight: 700;margin-bottom: 1rem;padding: 0 2rem;} .index-anchor .centered .about h2 {font-size: 1.5rem;max-width: 100%;margin: 0 auto;font-family: fangsong;} .index-anchor .centered .about ul {list-style: none;margin: 0.5rem 0 0.5rem 0;padding: 0;} .index-anchor .centered .about ul li {display: inline;position: relative;} .index-anchor .centered .about ul li a {color: #212121;text-transform: uppercase;margin-left: 0.5rem;margin-right: 0.5rem;font-size: 2rem;} .index-anchor .centered .about ul li a:hover, .centered .about ul li a:focus {color: #1565c0;} .index-anchor .centered .avatar {margin-bottom: 1rem;} .index-anchor .centered .avatar img {width: 11rem;height: auto;transition: transform 1s ease 0s;border-radius: 50%;box-shadow: 0 0 0 0.5em rgb(0 0 0 / 5%);} .index-anchor .centered .avatar img:hover {transform: scale(1.05);box-shadow: none;} @media screen and (max-width: 1000px) { .index-anchor .footer .menu > ul > li:not(:first-child) {display: none;} .index-anchor .opened * {color: #000;} .dark .index-anchor .opened * {color: #FFF;} .dark .index-anchor .mode-checkbox-label:after {background: #FFF;} } -------------------------------------------------------------------------------- /assets/css/archive.min.css: -------------------------------------------------------------------------------- 1 | .archive-page .posts-section {margin-bottom: 44px;} .archive-header {display: block;float: left;width: 100%;} .portfolio {color: #FFF;} .portfolio .portfolio-item .content {position: relative;color: white;border-radius: 12px;border: 1px solid #ccc;box-shadow: 0 0 10px rgba(204, 204, 204, 0.2);} .dark .portfolio .portfolio-item .content {border: 1px solid #3B3b3b;box-shadow: 0 0 10px rgba(59, 59, 59, 0.2);} .portfolio .thumb {border-radius: 12px;overflow: hidden;} .portfolio .thumb img {width: 100%;height: auto;vertical-align: middle;border-radius: 12px;display: block;transform: scale(1);transition: transform 1s ease 0s;} .portfolio .thumb:hover img {transform: scale(1.15);} .portfolio .portfolio-item .widget {opacity: 1;color: #FFF;position: absolute;border-radius: 12px;margin: 1rem 1rem 0.75rem 1rem;width: auto;bottom: 0;left: 0;right: 0;float: bottom;-webkit-transition: all .5s;transition: all .5s;z-index: 1;} .portfolio .portfolio-item .thumb:before {width: 100%;height: 100%;position: absolute;content: '';left: 0;top: 0;border-radius: 12px;background: rgba(0, 0, 0, 0.5);opacity: 0;z-index: 1;transition: all 1s linear;} .portfolio .portfolio-item .thumb:hover:before, .portfolio .portfolio-item .thumb:hover:after {opacity: 1;} .portfolio .post-title {font-weight: 400;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: 1.125rem;margin: .45rem 0;} .portfolio svg {width: 250px;margin: 0 auto;} .portfolio .post-tags {margin-bottom: 0;} .portfolio .post-date .fa-regular {font-size: 18px;margin-right: 5px;} .portfolio .post-tags .tag a {white-space: nowrap;text-overflow: ellipsis;overflow: hidden;max-width: 4rem;} .portfolio .post-tags > * {margin-bottom: 0;} .portfolio .post-tags > *:nth-child(n+3) {display: none;} .portfolio .post-tags .tag {padding: 0 8px;font-size: 0.5rem;} .portfolio .widget .tag {background: transparent;color: #FFF;border: 1px solid #FFF;} .portfolio .post-tags .tag:hover {cursor: pointer;color: #FFF;background-color: #0D84FB;border: 1px solid #0D84FB;} .portfolio .post-tags .tag a:hover {color: #FFF;} .portfolio .post-tags .tag:not(:has(a)) {display: none;} .portfolio .post-info > * {font-size: 1rem;} .portfolio .widget .post-info > * {color: #FFF;} .widget:hover .widget-item {opacity: 1;} .portfolio .thumb:hover img {transform: scale(1.15);} @media screen and (max-width: 1000px) { .archive-header .wrap-center {max-width: 720px;} } @media screen and (max-width: 760px) { .archive-body {overflow: hidden;} .portfolio .portfolio-item .widget {margin: .5rem .5rem 0.5rem .5rem;} } @media screen and (max-width: 590px) { .portfolio {padding: 0;margin: 1rem auto;columns: 10rem auto;;} .portfolio .post-info {display: none;} } @media screen and (max-width: 400px) { .archive-panel {-ms-flex-direction: column;flex-direction: column;border-bottom: 0;-ms-flex-align: start;align-items: flex-start;} .portfolio .portfolio-item .widget {margin: .25rem .25rem 0.25rem .25rem;} } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | [![Contributors][contributors-shield]][contributors-url] 6 | [![Forks][forks-shield]][forks-url] 7 | [![Stargazers][stars-shield]][stars-url] 8 | [![Issues][issues-shield]][issues-url] 9 | [![MIT License][license-shield]][license-url] 10 | 11 | 12 |
13 |
14 | 15 | Logo 16 | 17 | 18 |

拾穗

19 | 20 |

21 | 一个很棒的 Typecho 主题,不来试试吗? 22 |
23 | 演示站点 » 24 |
25 |
26 | 项目说明 27 | · 28 | 快速开始 29 | · 30 | 问题反馈 31 |

32 |
33 | 34 | 35 | 36 | 37 | 38 |

🎉 项目说明

39 | 40 | [![Product Name Screen Shot][product-screenshot]](https://example.com) 41 | 42 | Gleaner 主题修改自开源项目:[typecho-bearcool](https://www.github.com/whitebearcode/typecho-bearcool),不同于原版 43 | 摄影类瀑布流主题 的定位,Gleaner 在保留基础框架的情况下, 使得其更趋向传统博客, 也即文字内容为主. 44 | 45 | 修改内容: 46 | 47 | * 全新基于 canvas 的动态首页 48 | * 分类页更改为瀑布流,完美契合懒加载和无限滚动 49 | * 全新的归档页模板、更灵活的夜间模式配置等... 50 | 51 | 52 | 53 |

🛠️ 快速开始

54 | 55 | 克隆主题:git clone https://github.com/fordes123/gleaner.git 或下载最新 [Releases](https://github.com/fordes123/gleaner/releases), 将文件夹命名为 gleaner 并移动至 56 | typecho 根目录 57 | usr/themes 文件夹中, 然后在 typecho 后台应用主题即可. 58 | 59 | #### 注意事项 60 | 61 | - ~~主题备份与恢复暂不可用~~ 62 | - 部分资源使用了 jsDelivr 加速, 如速度较慢可于设置中 开启本地模式 63 | 64 | 65 |

💬 问题反馈

66 | 67 | Issues - [https://github.com/fordes123/gleaner/issues](https://github.com/fordes123/gleaner/issues) 68 | 69 | 博客 - [https://fordes.top](https://fordes.top) 70 | 71 | 72 |

📃 开源许可

73 | 74 | 基于 MIT License. 详见项目根目录:LICENSE.txt文件 75 | 76 | 77 | 78 | [contributors-shield]:https://img.shields.io/github/contributors/fordes123/gleaner.svg?style=for-the-badge 79 | 80 | [contributors-url]:https://github.com/fordes123/gleaner/graphs/contributors 81 | 82 | [forks-shield]:https://img.shields.io/github/forks/fordes123/gleaner.svg?style=for-the-badge 83 | 84 | [forks-url]:https://github.com/fordes123/gleaner/network/members 85 | 86 | [stars-shield]:https://img.shields.io/github/stars/fordes123/gleaner.svg?style=for-the-badge 87 | 88 | [stars-url]:https://github.com/fordes123/gleaner/stargazers 89 | 90 | [issues-shield]:https://img.shields.io/github/issues/fordes123/gleaner.svg?style=for-the-badge 91 | 92 | [issues-url]:https://github.com/fordes123/gleaner/issues 93 | 94 | [license-shield]:https://img.shields.io/github/license/fordes123/gleaner.svg?style=for-the-badge 95 | 96 | [license-url]:https://github.com/fordes123/gleaner/blob/master/LICENSE.txt 97 | 98 | [product-screenshot]:screenshot.png 99 | -------------------------------------------------------------------------------- /assets/css/buttons.min.css: -------------------------------------------------------------------------------- 1 | @keyframes spin { from {transform: rotate(0) translate(-50%, -50%);} to {transform: rotate(360deg) translate(-50%, -50%);} } @keyframes rot { 100% {transform: rotate(360deg);} } @keyframes dash { 0% {stroke-dasharray: 1, 200;stroke-dashoffset: 0;} 50% {stroke-dasharray: 89, 200;stroke-dashoffset: -35px;} 100% {stroke-dasharray: 89, 200;stroke-dashoffset: -124px;} } @keyframes bouncy { from, to {transform: scale(1, 1);} 25% {transform: scale(0.9, 1.1);} 50% {transform: scale(1.1, 0.9);} 75% {transform: scale(0.95, 1.05);} } .bouncy {animation: bouncy 0.6s;animation-duration: 0.6s;animation-fill-mode: both;} .loader {position: relative;width: 100%;height: 58px;float: left;display: none;} .loader:before {content: '';display: block;padding-top: 100%;} .circular {animation: rot 2s linear infinite;height: 58px;transform-origin: center center;width: 58px;position: absolute;top: 0;bottom: 0;left: 50%;margin-left: -29px;right: 0;} .path {stroke-dasharray: 1, 200;stroke-dashoffset: 0;stroke: #0D84FB;animation: dash 1.5s ease-in-out infinite;stroke-linecap: round;} button {display: block;float: left;border: 0;padding: 0;transition: all 0.2s linear;} button:focus {outline: 0;} button:active {outline: 0;} button:hover {transition: all 0.2s linear;} .btn {display: -ms-flexbox;display: flex;-ms-flex-pack: center;justify-content: center;-ms-flex-align: center;align-items: center;float: left;height: 57px;background: #0D84FB;border-radius: 8px;font-size: 17px;color: #fff;font-family: 'Roboto', sans-serif;font-weight: 500;padding: 0 30px;white-space: nowrap;position: relative;} .btn:hover {background: #E1F0FF;color: #0D84FB;} .btn:after {content: '';display: none;position: absolute;top: 50%;left: 50%;width: 20px;height: 20px;border: solid 2px;border-color: #fff transparent transparent transparent;border-radius: 100%;transition: 0.3s ease;animation: spin 1s infinite;transform-origin: 0 0;} .btn.load {background: #0D84FB;pointer-events: none;} .btn.load span {opacity: 0;} .btn.load:after {display: block;} .btn.border-btn {background: none;} .buttons {display: block;float: left;} .buttons .btn {margin-right: 20px;} .buttons .btn:last-child {margin-right: 0;} .show-more {display: block;float: left;width: 100%;margin-top: 30px;} .show-more-btn {height: 58px;background: #ebebeb;border-radius: 8px;font-size: 17px;font-family: 'Roboto', sans-serif;font-weight: 500;display: -ms-flexbox;display: flex;-ms-flex-pack: center;justify-content: center;-ms-flex-align: center;align-items: center;transition: all 0.2s linear;} .show-more-btn:hover {cursor: pointer;} .show-more-btn:hover * {cursor: pointer;} .show-more-btn:hover {background: #DBDBDB;} .dark .show-more-btn {background: #434343;} .dark .show-more-btn:hover {background: #ebebeb;color: #1d1d1d;} .mobile .show-more-btn:hover, .table .show-more-btn:hover {background: #ebebeb;} .mobile .btn:hover, .table .btn:hover {background: #0D84FB;color: #fff;} .mobile .dark .show-more-btn:hover, .table .dark .show-more-btn:hover {background: #434343;color: #fff;} @media screen and (max-width: 480px) { .buttons {display: -ms-flexbox;display: flex;} .buttons .btn {padding: 0 15px;width: 100%;} } @media screen and (max-width: 350px) { .buttons .btn {margin-right: 12px;} } 2 | -------------------------------------------------------------------------------- /core/backup.php: -------------------------------------------------------------------------------- 1 | fetchRow($db->select()->from('table.options')->where('name = ?', 'theme:' . $name))['value']; 6 | if ($db->fetchRow($db->select()->from('table.options')->where('name = ?', 'theme:' . $name . '_backup'))) { 7 | $db->query($db->update('table.options')->rows(array('value' => $value))->where('name = ?', 'theme:' . $name . '_backup')); ?> 8 | 12 | 13 | query($db->insert('table.options')->rows(array('name' => 'theme:' . $name . '_backup', 'user' => '0', 'value' => $value))); 16 | ?> 17 | 21 | fetchRow($db->select()->from('table.options')->where('name = ?', 'theme:' . $name . '_backup'))) { 26 | $_value = $db->fetchRow($db->select()->from('table.options')->where('name = ?', 'theme:' . $name . '_backup'))['value']; 27 | $db->query($db->update('table.options')->rows(array('value' => $_value))->where('name = ?', 'theme:' . $name)); ?> 28 | 32 | 33 | 37 | 38 | 39 | fetchRow($db->select()->from('table.options')->where('name = ?', 'theme:' . $name . '_backup'))) { 41 | $db->query($db->delete('table.options')->where('name = ?', 'theme:' . $name . '_backup')); ?> 42 | 46 | 47 | 51 | 52 | 53 | 54 |
57 | 58 | 59 |
'; 60 | -------------------------------------------------------------------------------- /assets/css/search-section.css: -------------------------------------------------------------------------------- 1 | .search-section { 2 | position: fixed; 3 | top: 0; 4 | left: 0; 5 | } 6 | 7 | .search-section .wrap_float { 8 | height: 440px; 9 | display: -ms-flexbox; 10 | display: flex; 11 | -ms-flex-pack: center; 12 | justify-content: center; 13 | -ms-flex-align: center; 14 | align-items: center; 15 | position: relative; 16 | } 17 | .search-section.search--open { 18 | z-index: 2; 19 | } 20 | 21 | .search-section.search--open .search-form { 22 | opacity: 1; 23 | transform: translate3d(0, 0, 0); 24 | } 25 | 26 | .search-section.search--open .search-close { 27 | opacity: 1; 28 | } 29 | 30 | .search-form { 31 | width: auto; 32 | opacity: 0; 33 | transform: translate3d(0, 150px, 0); 34 | transition: opacity 1s, transform 1s; 35 | transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); 36 | } 37 | 38 | .search-input { 39 | width: 744px; 40 | height: 74px; 41 | background: #2b2b2b; 42 | display: block; 43 | float: left; 44 | border-radius: 8px; 45 | border: 0; 46 | padding: 0 30px; 47 | font-size: 25px; 48 | font-family: 'Roboto', sans-serif; 49 | font-weight: 400; 50 | color: #fff; 51 | padding-right: 80px; 52 | } 53 | 54 | .search-submit { 55 | width: 74px; 56 | height: 74px; 57 | position: absolute; 58 | right: 0; 59 | top: 0; 60 | background: none; 61 | color: #FFF; 62 | font-size: 1.5em; 63 | } 64 | 65 | .search-close { 66 | width: 32px; 67 | height: 32px; 68 | background: rgba(255, 255, 255, 0.17); 69 | border-radius: 50%; 70 | position: absolute; 71 | top: 44px; 72 | right: 0; 73 | opacity: 0; 74 | transition: opacity 1s; 75 | transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); 76 | } 77 | 78 | .search-close:hover { 79 | cursor: pointer; 80 | } 81 | 82 | .search-close:hover * { 83 | cursor: pointer; 84 | } 85 | 86 | .search-close .fa-solid { 87 | width: 10px; 88 | height: 16px; 89 | /*background: url(../img/close.svg) center center no-repeat;*/ 90 | /*background-size: contain;*/ 91 | color: #FFF; 92 | position: absolute; 93 | content: ''; 94 | left: 50%; 95 | top: 50%; 96 | transform: translate(-50%, -50%); 97 | } 98 | 99 | .dark .search-input { 100 | background: #cecece; 101 | color: #000; 102 | } 103 | 104 | .dark .search-section.search--open .search-close { 105 | background: #1d1d1d; 106 | } 107 | 108 | /*.dark .search-section .search-submit:before {*/ 109 | /*background-image: url(../img/search.svg);*/ 110 | /*}*/ 111 | 112 | @media screen and (max-width: 1000px) { 113 | .search-input { 114 | width: 92vw; 115 | } 116 | 117 | .search-section .wrap_float { 118 | height: 360px; 119 | } 120 | } 121 | 122 | @media screen and (max-width: 590px) { 123 | .search-input { 124 | height: 60px; 125 | font-size: 20px; 126 | padding: 0 20px; 127 | padding-right: 65px; 128 | } 129 | 130 | .search-submit { 131 | width: 60px; 132 | height: 60px; 133 | } 134 | 135 | .search-close { 136 | top: 30px; 137 | } 138 | } 139 | -------------------------------------------------------------------------------- /assets/css/index.css: -------------------------------------------------------------------------------- 1 | .index-anchor .top-panel *, 2 | .index-anchor .top-panel .menu .first-level-menu:before { 3 | background: transparent; 4 | } 5 | 6 | .index-anchor .top-panel *, 7 | .index-anchor .mobile-panel * { 8 | color: #FFF; 9 | } 10 | 11 | .index-anchor .top-panel .menu .first-level-menu, 12 | .index-anchor .top-panel .menu .first-level-menu:before { 13 | box-shadow: none !important; 14 | } 15 | 16 | .index-anchor .top-panel .mode-checkbox-label:after { 17 | background: #FFF; 18 | } 19 | 20 | .index-anchor .top-panel.opened .mode-checkbox-label:after { 21 | background: #747B88; 22 | } 23 | 24 | .index-anchor .mode-checkbox-input:checked + .mode-checkbox-label:after { 25 | background: #0D84FB; 26 | } 27 | 28 | .index-anchor .footer .wrap_float { 29 | border-top: none; 30 | } 31 | 32 | .index-anchor .footer { 33 | bottom: 0; 34 | position: absolute; 35 | } 36 | 37 | .index-anchor .top-panel { 38 | position: fixed; 39 | } 40 | 41 | .index-anchor, 42 | .index-anchor.content-container-wrap.relative { 43 | position: fixed ; 44 | padding-top: 0; 45 | } 46 | 47 | .index-anchor .centered { 48 | display: flex; 49 | position: absolute; 50 | align-items: center; 51 | justify-content: center; 52 | top: 50%; 53 | left: 50%; 54 | -webkit-transform: translate(-50%, -50%); 55 | -moz-transform: translate(-50%, -50%); 56 | transform: translate(-50%, -50%); 57 | } 58 | 59 | .index-anchor .centered .about { 60 | width: 25rem; 61 | text-align: center; 62 | } 63 | 64 | .index-anchor .centered .about h1, 65 | .index-anchor .centered .about h2, 66 | .index-anchor .centered .about ul, 67 | .index-anchor .centered .about ul li, 68 | .index-anchor .centered .about a { 69 | float: none; 70 | } 71 | 72 | .dark .index-anchor .footer *, 73 | .dark .index-anchor .centered .about * { 74 | color: #2B2B2B; 75 | } 76 | 77 | .index-anchor .centered .about h1 { 78 | font-size: 1.8rem; 79 | font-weight: 700; 80 | margin-bottom: 1rem; 81 | padding: 0 2rem; 82 | } 83 | 84 | .index-anchor .centered .about h2 { 85 | font-size: 1.5rem; 86 | max-width: 100%; 87 | margin: 0 auto; 88 | font-family: fangsong; 89 | } 90 | 91 | .index-anchor .centered .about ul { 92 | list-style: none; 93 | margin: 0.5rem 0 0.5rem 0; 94 | padding: 0; 95 | } 96 | 97 | .index-anchor .centered .about ul li { 98 | display: inline; 99 | position: relative; 100 | } 101 | 102 | .index-anchor .centered .about ul li a { 103 | color: #212121; 104 | text-transform: uppercase; 105 | margin-left: 0.5rem; 106 | margin-right: 0.5rem; 107 | font-size: 2rem; 108 | } 109 | 110 | .index-anchor .centered .about ul li a:hover, 111 | .centered .about ul li a:focus { 112 | color: #1565c0; 113 | } 114 | 115 | .index-anchor .centered .avatar { 116 | margin-bottom: 1rem; 117 | } 118 | 119 | .index-anchor .centered .avatar img { 120 | width: 11rem; 121 | height: auto; 122 | transition: transform 1s ease 0s; 123 | border-radius: 50%; 124 | box-shadow: 0 0 0 0.5em rgb(0 0 0 / 5%); 125 | } 126 | 127 | .index-anchor .centered .avatar img:hover { 128 | transform: scale(1.05); 129 | box-shadow: none; 130 | } 131 | 132 | @media screen and (max-width: 1000px) { 133 | .index-anchor .footer .menu > ul > li:not(:first-child) { 134 | display: none; 135 | } 136 | 137 | .index-anchor .opened * { 138 | color: #000; 139 | } 140 | 141 | .dark .index-anchor .opened * { 142 | color: #FFF; 143 | } 144 | 145 | .dark .index-anchor .mode-checkbox-label:after { 146 | background: #FFF; 147 | } 148 | } 149 | 150 | -------------------------------------------------------------------------------- /page.php: -------------------------------------------------------------------------------- 1 | need('header.php'); ?> 2 |
options->bcool_animate)): ?>animate__animated animate__options->bcool_animate() ?>"> 3 |
4 |
5 | 7 |

title() ?>

8 | 25 |
26 |
27 |
28 |
29 |
30 |
31 | 54 |
55 |
56 |
57 |

content, $this, $this->user->hasLogin()); ?>

58 |
59 |
60 |
need('comments.php'); ?> need('footer.php'); ?> 61 | -------------------------------------------------------------------------------- /assets/css/comments.min.css: -------------------------------------------------------------------------------- 1 | .comments-section {display: block;float: left;width: 100%;} .comments-section .title {width: auto;} .comments-count {border: 2px solid #DBDDE1;border-radius: 8px 8px 0 8px;font-size: 12px;font-family: 'Roboto', sans-serif;font-weight: 500;display: inline-block;line-height: 24px;padding: 0 6px;vertical-align: middle;margin-left: 12px;} .comments-form {display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;-ms-flex-pack: justify;justify-content: space-between;margin-bottom: 60px;} .comments-form .input-wrap {width: 362px;} .comments-form .input-wrap.textarea-wrap {width: 100%;} .comments-form .input {background: #ebebeb;} .comments-form .textarea {margin-bottom: 17px;width: 100%;} .comments-form .agreement {margin-top: 20px;} .comments-form .submit-btn {margin-top: 24px;} .comments-section {padding-bottom: 50px;} .comments-section .show-more-btn {margin-top: 0;} .comments-list {display: block;float: left;width: 100%;} .comments-list-item {display: block;float: left;width: 100%;margin-bottom: 20px;background: #ebebeb;border-radius: 8px;} .comment-item {padding: 38px 35px 38px 86px;position: relative;display: block;float: left;width: 100%;} .comment-item-userpic {width: 42px;height: 42px;border-radius: 50%;position: absolute;top: 38px;left: 35px;overflow: hidden;} .comment-item-name {display: block;float: left;font-size: 17px;font-family: 'Roboto', sans-serif;font-weight: 500;width: auto;line-height: 18px;margin-right: 10px;} .comment-item-date {display: block;float: left;font-size: 12px;color: #8E8E8E;width: auto;line-height: 20px;} .comment-item-reply-for {display: block;float: left;font-size: 12px;color: #8E8E8E;width: auto;line-height: 20px;} .comment-item-text {display: block;float: left;font-size: 14px;line-height: 22px;margin-top: 5px;} .comment-item .reply-link {font-size: 12px;color: #0D84FB;display: block;float: left;clear: both;margin-top: 12px;width: auto;} .comment-item .reply-link:hover {cursor: pointer;} .comment-item .reply-link:hover * {cursor: pointer;} .comment-item .reply-link:hover {text-decoration: underline;} .comment-item.reply {border-top: 1px solid #DCDEE1;} .comment-item.reply .comment-item-date {margin-right: 15px;} .comment-item-user-ratings {display: block;float: left;font-size: 14px;margin-top: 9px;margin-bottom: 8px;} .comment-item-user-ratings .user-rating-result {width: auto;margin-right: 17px;display: inline-block;margin-top: 3px;margin-bottom: 3px;} .comment-item-user-ratings .user-rating-result .val {color: #0D84FB;} .closed-comments-text {background: #FFEAEA;border-radius: 4px;padding: 15px 55px;font-size: 15px;font-family: 'Roboto', sans-serif;font-weight: 500;position: relative;} .closed-comments-text:before {width: 18px;height: 22px;background: url(../img/closed-comments.svg) center left no-repeat;background-size: contain;position: absolute;left: 25px;top: 50%;margin-top: -11px;content: '';} #cancel-comment-reply-link {float: right;} .dark .comments-form .input {background: #2b2b2b;} .dark .comments-list-item {background: #2b2b2b;} .dark .comment-item.reply {border-color: #3C3C3C;} .dark .comments-count {border-color: #747B88;} .dark .fb-comments {background: #ebebeb;} @media screen and (max-width: 1230px) { .comments-form .input-wrap {width: 317px;} } @media screen and (min-width: 1001px) and (max-width: 1230px) { .with-sidebar .comments-form .input-wrap {width: 292px;} .with-sidebar .comments-form .input-wrap.textarea-wrap {width: 100%;} } @media screen and (max-width: 1000px) { .comments-section .wrap-center {max-width: 720px;} .comments-form .input-wrap {width: 352px;} } @media screen and (max-width: 760px) { .comments-form .input-wrap {width: 100%;margin-bottom: 12px;} .comments-form .input-wrap.name-field {-ms-flex-order: -1;order: -1;} .comments-form .input-wrap.email-field {-ms-flex-order: -1;order: -1;} .comments-form .input-wrap.comment-field {margin-bottom: 0;} .comments-form .input-wrap.comment-field .textarea {margin-bottom: 0;} .comments-form {-ms-flex-direction: column;flex-direction: column;} .comment-item-userpic {left: 28px;} } @media screen and (max-width: 480px) { .comment-item {padding: 30px 25px 30px 80px;} .comment-item-userpic {left: 22px;top: 30px;} .comment-item-text {margin-top: 10px;} } 2 | -------------------------------------------------------------------------------- /assets/css/footer.min.css: -------------------------------------------------------------------------------- 1 | .footer {margin-top: 50px;display: block;float: left;width: 100%;} .footer.absolute {position: absolute;bottom: 0;left: 0;} .footer .menu > ul > li:not(:last-child) {margin-right: 15px;} .footer .menu > ul > li a {display: initial;float: none;padding: 0;} .footer .footer-right {width: auto;max-width: 225px;display: -ms-flexbox;display: flex;-ms-flex-pack: end;justify-content: flex-end;position: absolute;right: 0;top: 0;} .footer .wrap_float {padding: 17.5px 0;} .footer .footer-content {display: -ms-flexbox;display: flex;-ms-flex-pack: center;justify-content: center;position: relative;} .footer .wrap-center {display: -ms-flexbox;display: flex;-ms-flex-pack: justify;justify-content: center;} .footer .socials .soc-link {margin-bottom: 12px;} .footer .footer-column {display: block;float: left;width: 20%;padding-right: 40px;} .footer .footer-column:last-child {padding-right: 0;} .footer .footer-column .column-title {font-size: 19px;font-family: 'Roboto', sans-serif;font-weight: 500;margin-bottom: 30px;} .footer .footer-column.contacts-column .footer-ul li {margin-bottom: 34px;} .footer .footer-column.contacts-column .footer-ul li:last-child {margin-bottom: 0;} .footer .footer-column.socials-column .socials {float: right;width: 225px;} .footer .footer-column.socials-column .socials .soc-link {margin-right: 0;margin-left: 13px;} .footer .footer-column .text {clear: both;margin-top: 25px;} .footer .footer-column .logo {position: relative;margin-top: -7px;} .footer .footer-ul li {color: #8E8E8E;margin-bottom: 9px;} .footer .footer-ul li:last-child {margin-bottom: 0;} .footer .contacts-link {display: inline-block;font-family: 'Roboto', sans-serif;font-weight: 700;color: #1d1d1d;margin-top: 8px;} .footer .footer-footnote {display: block;float: left;width: 100%;padding-bottom: 30px;} .dark .footer .wrap_float {border-color: #3C3C3C;} .dark .footer .contacts-link {color: #fff;} @media screen and (max-width: 1000px) { .footer .footer-content {-ms-flex-pack: center;justify-content: center;} .footer .wrap-center {display: -ms-flexbox;display: flex;-ms-flex-direction: column;flex-direction: column;-ms-flex-align: center;align-items: center;} .footer .socials {margin-bottom: 30px;} .footer .wrap_float {padding: 22.5px 0; /*border-top: 1px solid #DCDEE1;*/} .footer .footer-content {display: -ms-flexbox;display: flex;-ms-flex-direction: column;flex-direction: column;-ms-flex-align: center;align-items: center;} .footer .logo, .footer .footer-right {position: relative;} .footer .footer-right {margin-top: 40px;} .footer .logo {display: none;margin-bottom: 36px;} .footer .footer-column {width: 50%;margin-top: 60px;} .footer .footer-column:nth-child(-n+2) {margin-top: 0;} .footer .footer-column:nth-child(odd) {clear: both;} .footer .footer-column.socials-column {width: 100%;} .footer .footer-column.socials-column .socials {float: left;width: 100%;} .footer .footer-column.socials-column .socials .soc-link {margin-left: 0;margin-right: 12px;} .footer .footer-column .logo {margin-bottom: 0;} } @media screen and (max-width: 590px) { .footer {margin-top: 30px;} .footer .menu li {width: 100%;text-align: center;} .footer .menu li a {padding: 0;display: inline-block;float: none;} .footer .menu li {margin-bottom: 10px;} .footer .menu li a {font-size: 18px;} .footer .menu li:last-child {margin-bottom: 0;} .footer .footer-right {margin-top: 22px;} } @media screen and (max-width: 590px) { .footer .footer-column {width: 100%;padding-right: 0;margin-top: 44px;} .footer .footer-column:nth-child(2) {margin-top: 44px;} .footer-top {display: -ms-flexbox;display: flex;-ms-flex-direction: column;flex-direction: column;} .footer .footer-column.socials-column {-ms-flex-order: -1;order: -1;} .footer .footer-column.socials-column .socials {margin-bottom: 0;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;-ms-flex-pack: center;justify-content: center;} .footer .footer-column.socials-column .socials .soc-link {margin-right: 0;margin: 6px;} .footer .footer-column.first-column {-ms-flex-order: -1;order: -1;text-align: center;display: -ms-flexbox;display: flex;-ms-flex-direction: column;flex-direction: column;-ms-flex-align: center;align-items: center;} .footer .footer-column .column-title {margin-bottom: 20px;} .footer .contacts-link {font-size: 22px;} } 2 | -------------------------------------------------------------------------------- /assets/css/modals.min.css: -------------------------------------------------------------------------------- 1 | .modal {width: 460px;position: relative;} .modal .title {margin-bottom: 15px;} .modal .subtitle {margin-bottom: 22px;font-size: 14px;line-height: 22px;} .modal-form {float: left;margin-top: 5px;} .modal_wrap {float: left;background: #fff;border-radius: 13px;padding: 44px 48px;} .modal .input-wrap {margin-right: 0;margin-bottom: 17px;} .modal .input {background: #ebebeb;border-color: #ebebeb;} .modal .agreement {margin-top: 0;margin-bottom: 17px;} .modal .footnote {color: #8E8E8E;text-align: center;line-height: 24px;margin-top: 20px;} .modal .footnote a {color: #fff;} .modal .btn {width: 100%;} .modal-info {float: left;border-top: 1px solid #DCDEE1;margin-top: 36px;padding-top: 40px;text-align: center;line-height: 1.4;} .modal-info p {margin: 5px 0;} .modal-info p:first-child {margin-top: 0;} .modal-info p:last-child {margin-bottom: 0;} .modal-info a {color: #0D84FB;display: inline-block;} .modal_close {background: rgba(255, 255, 255, 0.17);border-radius: 50%;position: absolute;width: 32px;height: 32px;top: -32px;right: -32px;} .modal_close:hover {cursor: pointer;} .modal_close:hover * {cursor: pointer;} .modal_close:before {width: 12px;height: 12px;background: url(../img/close.svg) center center no-repeat;background-size: contain;position: absolute;content: '';left: 50%;top: 50%;margin-top: -6px;margin-left: -6px;} .modal input:-webkit-autofill, .modal input:-webkit-autofill:hover, .modal input:-webkit-autofill:focus, .modal textarea:-webkit-autofill, .modal textarea:-webkit-autofill:hover, .modal textarea:-webkit-autofill:focus, .modal select:-webkit-autofill, .modal select:-webkit-autofill:hover, .modal select:-webkit-autofill:focus {-webkit-box-shadow: 0 0 0px 1000px #fff inset;transition: background-color 5000s ease-in-out 0s;} .modal.modal_order {width: 744px;} .modal.modal_order .input-wrap {width: 48%;} .modal.modal_order .modal-form {display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;-ms-flex-pack: justify;justify-content: space-between;} .success-icon {width: 58px;height: 58px;background: #E1F0FF;border-radius: 50%;margin-bottom: 12px;position: relative;} .success-icon:before {width: 24px;height: 24px;background: url(../img/check-list-before.svg) center center no-repeat;background-size: contain;position: absolute;content: '';margin-top: -12px;margin-left: -12px;top: 50%;left: 50%;} .authorization-socials {float: left;margin-top: 36px;} .authorization-socials ._title {font-size: 19px;font-family: 'Roboto', sans-serif;font-weight: 500;margin-bottom: 20px;} .authorization-socials-variants {display: -ms-flexbox;display: flex;-ms-flex-pack: center;justify-content: center;} .authorization-socials-variants .soc-link {width: 38px;height: 38px;margin-right: 15px;} .authorization-socials-variants .soc-link:hover {cursor: pointer;} .authorization-socials-variants .soc-link:hover * {cursor: pointer;} .authorization-socials-variants .soc-link:last-child {margin-right: 0;} .authorization-socials-variants .soc-link.active {background: #0D84FB;} .authorization-socials-variants .soc-link.active:hover {background: #1d1d1d;} .arcticmodal-overlay {background: rgba(0, 0, 0, 0.8);} .dark .modal_wrap {background: #2b2b2b;} .dark .modal .input {background: #222;border-color: #222;} .dark .modal .input-wrap.active label {background: #2b2b2b;} .dark .modal .input-wrap.active .input {background: none;} .dark .modal input:-webkit-autofill, .dark .modal input:-webkit-autofill:hover, .dark .modal input:-webkit-autofill:focus, .dark .modal textarea:-webkit-autofill, .dark .modal textarea:-webkit-autofill:hover, .dark .modal textarea:-webkit-autofill:focus, .dark .modal select:-webkit-autofill, .dark .modal select:-webkit-autofill:hover, .dark .modal select:-webkit-autofill:focus {-webkit-box-shadow: 0 0 0px 1000px #2b2b2b inset;transition: background-color 5000s ease-in-out 0s;-webkit-text-fill-color: white;} @media screen and (max-width: 1400px) { .modal_close {top: 0;right: -43px;} } @media screen and (max-width: 760px) { .modal.modal_order {width: 100%;} .modal.modal_order .input-wrap {width: 100%;} } @media screen and (max-width: 590px) { .modal {width: 100%;} .modal_wrap {padding: 40px 20px;} .modal_close {right: 10px;top: 10px;background: rgba(0, 0, 0, 0.77);} .authorization-socials {margin-top: 28px;} .modal-info {margin-top: 28px;} .modal-info {padding-top: 30px;} } 2 | -------------------------------------------------------------------------------- /assets/css/third/bearui.min.css: -------------------------------------------------------------------------------- 1 | .col-mb-12.col-tb-8.col-tb-offset-2{margin-left:0;width:100%}.bearui_config{display:flex}.bearui_config *{margin:0;padding:0;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent}.bearui_config li{list-style:none}.bearui_config__aside{position:-webkit-sticky;position:sticky;top:15px;width:200px;background:#fff;padding:10px;box-shadow:0px 0px 20px -5px rgba(158,158,158,0.22);border-radius:8px}.bearui_config__aside .logo{color:#303133;font-weight:500;font-size:24px;text-align:center;margin-bottom:10px;border-bottom:1px solid #ebeef5;padding-bottom:10px}.bearui_config__aside .tabs{margin-bottom:10px}.bearui_config__aside .tabs .item{border-radius:20px;text-align:center;height:40px;line-height:40px;color:#606266;cursor:pointer;transition:background 0.35s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bearui_config__aside .tabs .item:hover{background:#f2f6fc}.bearui_config__aside .tabs .item.active{color:#409eff;font-weight:500}.bearui_config__aside .backup input{width:170px;height:40px;line-height:40px;margin-bottom:10px;color:#fff;font-size:14px;border-radius:20px;transition:opacity 0.35s;border:none;cursor:pointer}.bearui_config__aside .backup input:hover{opacity:0.85}.bearui_config__aside .backup input:nth-child(1){background:#5cb85c}.bearui_config__aside .backup input:nth-child(2){background:#f0ad4e}.bearui_config__aside .backup input:nth-child(3){margin-bottom:0;background:#d9534f}.bearui_config>form{position:relative;display:none;background:#fff;min-width:0;flex:1;margin-left:15px;box-shadow:0px 0px 20px -5px rgba(158,158,158,0.22);border-radius:8px}.bearui_config>form .typecho-option{position:-webkit-sticky;position:sticky;bottom:0;display:flex;align-items:center;justify-content:center;margin:0;padding:15px;background:#fff;border-top:1px solid #ebebeb;border-radius:0 0 8px 8px}.bearui_config>form .typecho-option button{width:170px;height:40px;background-color:#111111;border-radius:20px}.bearui_config>form .typecho-option button:hover{-webkit-animation:pulse 1s;animation:pulse 1s;box-shadow:0 0 0 20px rgba(255,255,255,0)}.bearui_config>form .bearui_content{display:none;padding:15px}.bearui_config>form .bearui_content li{border:1px solid #e9e9eb;padding:15px}.bearui_config>form .bearui_content li .typecho-label{display:block;border-left:4px solid #111111;background:#ecf5ff;line-height:26px;margin-bottom:15px;padding:5px 15px;color:#111111;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:0 4px 4px 0}.bearui_config>form .bearui_content li select{min-width:200px;height:34px;line-height:34px;border:1px solid #e9e9eb;color:#666;border-radius:4px;padding-left:5px}.bearui_config>form .bearui_content li .multiline{display:flex;align-items:center;color:#666}.bearui_config>form .bearui_content li .multiline input[type='checkbox']{margin-right:5px}.bearui_config>form .bearui_content li textarea,.bearui_config>form .bearui_content li input[type='text']{width:100%;padding:10px;color:#666;border:1px solid #e9e9eb;-webkit-appearance:none}.bearui_config>form .bearui_content li textarea{height:125px}.bearui_config>form .bearui_content li .description{background:#f8f8f8;color:#999;padding:10px 15px;margin-top:15px;line-height:26px;border-radius:4px;word-break:break-all}.bearui_config__notice{display:none;margin-left:15px;background:#fff;padding:15px;flex:1;box-shadow:0px 0px 20px -5px rgba(158,158,158,0.22);border-radius:8px;line-height:28px;color:#606266}.bearui_config__notice .title{text-align:center;padding-bottom:15px;border-bottom:1px solid #e4e7ed;font-weight:500;font-size:22px;margin-bottom:15px;color:#67C23A}.bearui_config__notice ol{padding:0 40px;margin-bottom:15px}.bearui_config__notice ol li{list-style:decimal}@-webkit-keyframes pulse{0%{box-shadow:0 0 0 0 #409eff}}@keyframes pulse{0%{box-shadow:0 0 0 0 #409eff}}@media (max-width: 768px){.bearui_config{display:block}.bearui_config__aside{width:100%;margin-bottom:15px}.bearui_config__aside .tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid #ebeef5;padding-bottom:10px}.bearui_config__aside .tabs .item{width:33.33333333%;height:36px;line-height:36px;border-radius:18px}.bearui_config__aside .backup{display:flex;align-items:center;justify-content:space-between}.bearui_config__aside .backup input{width:auto;flex:1;margin-bottom:0;height:36px;line-height:36px;border-radius:18px}.bearui_config__aside .backup input:nth-child(2){margin:0 10px}.bearui_config>form{margin-left:0}.bearui_config>form .typecho-option{padding:10px 0}.bearui_config>form .typecho-option button{width:150px;height:38px;border-radius:19px}.bearui_config__notice{margin-left:0}} 2 | -------------------------------------------------------------------------------- /assets/css/archive.css: -------------------------------------------------------------------------------- 1 | .archive-page .posts-section { 2 | margin-bottom: 44px; 3 | } 4 | 5 | .archive-header { 6 | display: block; 7 | float: left; 8 | width: 100%; 9 | } 10 | 11 | .portfolio { 12 | color: #FFF; 13 | } 14 | 15 | .portfolio .portfolio-item .content { 16 | position: relative; 17 | color: white; 18 | border-radius: 12px; 19 | border: 1px solid #ccc; 20 | box-shadow: 0 0 10px rgba(204, 204, 204, 0.2); 21 | } 22 | 23 | .dark .portfolio .portfolio-item .content { 24 | border: 1px solid #3B3b3b; 25 | box-shadow: 0 0 10px rgba(59, 59, 59, 0.2); 26 | } 27 | 28 | .portfolio .thumb { 29 | border-radius: 12px; 30 | overflow: hidden; 31 | } 32 | 33 | .portfolio .thumb img { 34 | width: 100%; 35 | height: auto; 36 | vertical-align: middle; 37 | border-radius: 12px; 38 | display: block; 39 | transform: scale(1); 40 | transition: transform 1s ease 0s; 41 | } 42 | 43 | .portfolio .thumb:hover img { 44 | transform: scale(1.15); 45 | } 46 | 47 | .portfolio .portfolio-item .widget { 48 | opacity: 1; 49 | color: #FFF; 50 | position: absolute; 51 | border-radius: 12px; 52 | margin: 1rem 1rem 0.75rem 1rem; 53 | width: auto; 54 | bottom: 0; 55 | left: 0; 56 | right: 0; 57 | float: bottom; 58 | -webkit-transition: all .5s; 59 | transition: all .5s; 60 | z-index: 1; 61 | } 62 | 63 | .portfolio .portfolio-item .thumb:before { 64 | width: 100%; 65 | height: 100%; 66 | position: absolute; 67 | content: ''; 68 | left: 0; 69 | top: 0; 70 | border-radius: 12px; 71 | background: rgba(0, 0, 0, 0.5); 72 | opacity: 0; 73 | z-index: 1; 74 | transition: all 1s linear; 75 | } 76 | 77 | .portfolio .portfolio-item .thumb:hover:before, 78 | .portfolio .portfolio-item .thumb:hover:after { 79 | opacity: 1; 80 | } 81 | 82 | .portfolio .post-title { 83 | font-weight: 400; 84 | overflow: hidden; 85 | text-overflow: ellipsis; 86 | white-space: nowrap; 87 | font-size: 1.125rem; 88 | margin: .45rem 0; 89 | } 90 | 91 | .portfolio svg { 92 | width: 250px; 93 | margin: 0 auto; 94 | } 95 | 96 | .portfolio .post-tags { 97 | margin-bottom: 0; 98 | } 99 | 100 | .portfolio .post-date .fa-regular { 101 | font-size: 18px; 102 | margin-right: 5px; 103 | } 104 | 105 | .portfolio .post-tags .tag a { 106 | white-space: nowrap; 107 | text-overflow: ellipsis; 108 | overflow: hidden; 109 | max-width: 4rem; 110 | } 111 | 112 | .portfolio .post-tags > * { 113 | margin-bottom: 0; 114 | } 115 | 116 | .portfolio .post-tags > *:nth-child(n+3) { 117 | display: none; 118 | } 119 | 120 | .portfolio .post-tags .tag { 121 | padding: 0 8px; 122 | font-size: 0.5rem; 123 | } 124 | 125 | .portfolio .widget .tag { 126 | background: transparent; 127 | color: #FFF; 128 | border: 1px solid #FFF; 129 | } 130 | 131 | .portfolio .post-tags .tag:hover { 132 | cursor: pointer; 133 | color: #FFF; 134 | background-color: #0D84FB; 135 | border: 1px solid #0D84FB; 136 | } 137 | 138 | .portfolio .post-tags .tag a:hover { 139 | color: #FFF; 140 | } 141 | 142 | .portfolio .post-tags .tag:not(:has(a)) { 143 | display: none; 144 | } 145 | 146 | .portfolio .post-info > * { 147 | font-size: 1rem; 148 | } 149 | 150 | .portfolio .widget .post-info > * { 151 | color: #FFF; 152 | } 153 | 154 | .widget:hover .widget-item { 155 | opacity: 1; 156 | } 157 | 158 | .portfolio .thumb:hover img { 159 | transform: scale(1.15); 160 | } 161 | 162 | @media screen and (max-width: 1000px) { 163 | .archive-header .wrap-center { 164 | max-width: 720px; 165 | } 166 | } 167 | 168 | @media screen and (max-width: 760px) { 169 | .archive-body { 170 | overflow: hidden; 171 | } 172 | 173 | .portfolio .portfolio-item .widget { 174 | margin: .5rem .5rem 0.5rem .5rem; 175 | } 176 | } 177 | 178 | @media screen and (max-width: 590px) { 179 | .portfolio { 180 | padding: 0; 181 | margin: 1rem auto; 182 | columns: 10rem auto;; 183 | } 184 | 185 | .portfolio .post-info { 186 | display: none; 187 | } 188 | } 189 | 190 | @media screen and (max-width: 400px) { 191 | .archive-panel { 192 | -ms-flex-direction: column; 193 | flex-direction: column; 194 | border-bottom: 0; 195 | -ms-flex-align: start; 196 | align-items: flex-start; 197 | } 198 | 199 | .portfolio .portfolio-item .widget { 200 | margin: .25rem .25rem 0.25rem .25rem; 201 | } 202 | } -------------------------------------------------------------------------------- /assets/css/buttons.css: -------------------------------------------------------------------------------- 1 | @keyframes spin { 2 | from { 3 | transform: rotate(0) translate(-50%, -50%); 4 | } 5 | to { 6 | transform: rotate(360deg) translate(-50%, -50%); 7 | } 8 | } 9 | @keyframes rot { 10 | 100% { 11 | transform: rotate(360deg); 12 | } 13 | } 14 | @keyframes dash { 15 | 0% { 16 | stroke-dasharray: 1, 200; 17 | stroke-dashoffset: 0; 18 | } 19 | 50% { 20 | stroke-dasharray: 89, 200; 21 | stroke-dashoffset: -35px; 22 | } 23 | 100% { 24 | stroke-dasharray: 89, 200; 25 | stroke-dashoffset: -124px; 26 | } 27 | } 28 | @keyframes bouncy { 29 | from, 30 | to { 31 | transform: scale(1, 1); 32 | } 33 | 25% { 34 | transform: scale(0.9, 1.1); 35 | } 36 | 50% { 37 | transform: scale(1.1, 0.9); 38 | } 39 | 75% { 40 | transform: scale(0.95, 1.05); 41 | } 42 | } 43 | .bouncy { 44 | animation: bouncy 0.6s; 45 | animation-duration: 0.6s; 46 | animation-fill-mode: both; 47 | } 48 | .loader { 49 | position: relative; 50 | width: 100%; 51 | height: 58px; 52 | float: left; 53 | display: none; 54 | } 55 | .loader:before { 56 | content: ''; 57 | display: block; 58 | padding-top: 100%; 59 | } 60 | .circular { 61 | animation: rot 2s linear infinite; 62 | height: 58px; 63 | transform-origin: center center; 64 | width: 58px; 65 | position: absolute; 66 | top: 0; 67 | bottom: 0; 68 | left: 50%; 69 | margin-left: -29px; 70 | right: 0; 71 | } 72 | .path { 73 | stroke-dasharray: 1, 200; 74 | stroke-dashoffset: 0; 75 | stroke: #0D84FB; 76 | animation: dash 1.5s ease-in-out infinite; 77 | stroke-linecap: round; 78 | } 79 | button { 80 | display: block; 81 | float: left; 82 | border: 0; 83 | padding: 0; 84 | transition: all 0.2s linear; 85 | } 86 | button:focus { 87 | outline: 0; 88 | } 89 | button:active { 90 | outline: 0; 91 | } 92 | button:hover { 93 | transition: all 0.2s linear; 94 | } 95 | .btn { 96 | display: -ms-flexbox; 97 | display: flex; 98 | -ms-flex-pack: center; 99 | justify-content: center; 100 | -ms-flex-align: center; 101 | align-items: center; 102 | float: left; 103 | height: 57px; 104 | background: #0D84FB; 105 | border-radius: 8px; 106 | font-size: 17px; 107 | color: #fff; 108 | font-family: 'Roboto', sans-serif; 109 | font-weight: 500; 110 | padding: 0 30px; 111 | white-space: nowrap; 112 | position: relative; 113 | } 114 | .btn:hover { 115 | background: #E1F0FF; 116 | color: #0D84FB; 117 | } 118 | .btn:after { 119 | content: ''; 120 | display: none; 121 | position: absolute; 122 | top: 50%; 123 | left: 50%; 124 | width: 20px; 125 | height: 20px; 126 | border: solid 2px; 127 | border-color: #fff transparent transparent transparent; 128 | border-radius: 100%; 129 | transition: 0.3s ease; 130 | animation: spin 1s infinite; 131 | transform-origin: 0 0; 132 | } 133 | .btn.load { 134 | background: #0D84FB; 135 | pointer-events: none; 136 | } 137 | .btn.load span { 138 | opacity: 0; 139 | } 140 | .btn.load:after { 141 | display: block; 142 | } 143 | .btn.border-btn { 144 | background: none; 145 | } 146 | .buttons { 147 | display: block; 148 | float: left; 149 | } 150 | .buttons .btn { 151 | margin-right: 20px; 152 | } 153 | .buttons .btn:last-child { 154 | margin-right: 0; 155 | } 156 | .show-more { 157 | display: block; 158 | float: left; 159 | width: 100%; 160 | margin-top: 30px; 161 | } 162 | .show-more-btn { 163 | height: 58px; 164 | background: #ebebeb; 165 | border-radius: 8px; 166 | font-size: 17px; 167 | font-family: 'Roboto', sans-serif; 168 | font-weight: 500; 169 | display: -ms-flexbox; 170 | display: flex; 171 | -ms-flex-pack: center; 172 | justify-content: center; 173 | -ms-flex-align: center; 174 | align-items: center; 175 | transition: all 0.2s linear; 176 | } 177 | .show-more-btn:hover { 178 | cursor: pointer; 179 | } 180 | .show-more-btn:hover * { 181 | cursor: pointer; 182 | } 183 | .show-more-btn:hover { 184 | background: #DBDBDB; 185 | } 186 | .dark .show-more-btn { 187 | background: #434343; 188 | } 189 | .dark .show-more-btn:hover { 190 | background: #ebebeb; 191 | color: #1d1d1d; 192 | } 193 | .mobile .show-more-btn:hover, 194 | .table .show-more-btn:hover { 195 | background: #ebebeb; 196 | } 197 | .mobile .btn:hover, 198 | .table .btn:hover { 199 | background: #0D84FB; 200 | color: #fff; 201 | } 202 | .mobile .dark .show-more-btn:hover, 203 | .table .dark .show-more-btn:hover { 204 | background: #434343; 205 | color: #fff; 206 | } 207 | @media screen and (max-width: 480px) { 208 | .buttons { 209 | display: -ms-flexbox; 210 | display: flex; 211 | } 212 | .buttons .btn { 213 | padding: 0 15px; 214 | width: 100%; 215 | } 216 | } 217 | @media screen and (max-width: 350px) { 218 | .buttons .btn { 219 | margin-right: 12px; 220 | } 221 | } 222 | -------------------------------------------------------------------------------- /assets/css/inputs.min.css: -------------------------------------------------------------------------------- 1 | input::-webkit-input-placeholder {font-size: 1em;color: rgba(131, 131, 131, 0.49);} input::-moz-placeholder {font-size: 1em;color: rgba(131, 131, 131, 0.49);} input:-moz-placeholder {font-size: 1em;color: rgba(131, 131, 131, 0.49);} input:-ms-input-placeholder {font-size: 1em;color: rgba(131, 131, 131, 0.49);} textarea::-webkit-input-placeholder {font-size: 1em;color: rgba(131, 131, 131, 0.49);} textarea::-moz-placeholder {font-size: 1em;color: rgba(131, 131, 131, 0.49);} textarea:-moz-placeholder {font-size: 1em;color: rgba(131, 131, 131, 0.49);} textarea:-ms-input-placeholder {font-size: 1em;color: rgba(131, 131, 131, 0.49);} input:focus::-webkit-input-placeholder {color: transparent;} input:focus::-moz-placeholder {color: transparent;} input:focus:-moz-placeholder {color: transparent;} input:focus:-ms-input-placeholder {color: transparent;} textarea:focus::-webkit-input-placeholder {color: transparent;} textarea:focus::-moz-placeholder {color: transparent;} textarea:focus:-moz-placeholder {color: transparent;} textarea:focus:-ms-input-placeholder {color: transparent;} input::-webkit-input-placeholder {opacity: 1;transition: opacity 0.3s ease;-o-transition: opacity 0.3s ease;-moz-transition: opacity 0.3s ease;-webkit-transition: opacity 0.3s ease;-ms-transition: opacity 0.3s ease;} input::-moz-placeholder {opacity: 1;transition: opacity 0.3s ease;-o-transition: opacity 0.3s ease;-moz-transition: opacity 0.3s ease;-webkit-transition: opacity 0.3s ease;-ms-transition: opacity 0.3s ease;} input:-moz-placeholder {opacity: 1;transition: opacity 0.3s ease;-o-transition: opacity 0.3s ease;-moz-transition: opacity 0.3s ease;-webkit-transition: opacity 0.3s ease;-ms-transition: opacity 0.3s ease;} input:-ms-input-placeholder {opacity: 1;transition: opacity 0.3s ease;-o-transition: opacity 0.3s ease;-moz-transition: opacity 0.3s ease;-webkit-transition: opacity 0.3s ease;-ms-transition: opacity 0.3s ease;} input:focus::-webkit-input-placeholder {opacity: 0;transition: opacity 0.5s ease;-o-transition: opacity 0.5s ease;-moz-transition: opacity 0.5s ease;-webkit-transition: opacity 0.5s ease;-ms-transition: opacity 0.5s ease;} input:focus::-moz-placeholder {opacity: 0;transition: opacity 0.5s ease;-o-transition: opacity 0.5s ease;-moz-transition: opacity 0.5s ease;-webkit-transition: opacity 0.5s ease;-ms-transition: opacity 0.5s ease;} input:focus:-moz-placeholder {opacity: 0;transition: opacity 0.5s ease;-o-transition: opacity 0.5s ease;-moz-transition: opacity 0.5s ease;-webkit-transition: opacity 0.5s ease;-ms-transition: opacity 0.5s ease;} input:focus:-ms-input-placeholder {opacity: 0;transition: opacity 0.5s ease;-o-transition: opacity 0.5s ease;-moz-transition: opacity 0.5s ease;-webkit-transition: opacity 0.5s ease;-ms-transition: opacity 0.5s ease;} input {border-radius: 0;} input:focus {outline: 0;} input[type="text"], input[type="email"], input[type="tel"], input[type="password"], textarea {-webkit-appearance: none;-moz-appearance: none;appearance: none;box-shadow: none;} input[type=submit], button {-webkit-appearance: none;} input[type=submit]:hover, button:hover {cursor: pointer;} input:hover {cursor: text;} input[type="date"]::-webkit-datetime-edit {color: transparent;} input[type="date"]:focus::-webkit-datetime-edit {color: #1d1d1d;} input[type="date"] {display: block;-webkit-appearance: unset;-moz-appearance: unset;box-shadow: none;} input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-results-button, input[type="search"]::-webkit-search-results-decoration {-webkit-appearance: none;} textarea:focus {outline: 0;} textarea:hover {cursor: text;} .input {width: 100%;border-radius: 8px;display: block;float: left;height: 58px;padding: 0 25px;font-size: 16px;font-family: 'Roboto', sans-serif;font-weight: 400;color: #1d1d1d;border: 0;border: 1px solid #fff;} .input[type="date"] {line-height: 58px;} .textarea {height: 100px;resize: none;padding-top: 20px;padding-bottom: 20px;} .input-wrap {display: block;float: left;position: relative;} .input-wrap label {padding: 0;line-height: 58px;color: #8E8E8E;font-size: 16px;display: block;width: auto;left: 25px;font-family: 'Roboto', sans-serif;font-weight: 400;transition: all 0.1s linear;z-index: 1;position: relative;} .input-wrap label:hover {cursor: text;} .input-wrap.active label {font-size: 14px;line-height: 20px;top: -10px;left: 20px;background: #ebebeb;padding: 0 6px;transition: all 0.1s linear;} .input-wrap.active .input {background: none;border-color: #B5B9BF;transition: all 0.1s linear;} .input-wrap.white-label.active label {background: #fff;} .input-wrap.fullwidth {width: 100% !important;} .input-wrap.date-wrap.active input[type="date"]::-webkit-datetime-edit {color: #1d1d1d;} .dark .input {background: #222;color: #fff;border-color: #222;} .dark .input-wrap.date-wrap.active input[type="date"]::-webkit-datetime-edit {color: #fff;} .dark ::-webkit-calendar-picker-indicator {filter: invert(1);} @media screen and (max-width: 480px) { .input-wrap label {left: 20px;} .input {padding-left: 20px;padding-right: 20px;} .input-wrap.active label {left: 14px;} } 2 | -------------------------------------------------------------------------------- /assets/js/toastr.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Note that this is toastr v2.1.3, the "latest" version in url has no more maintenance, 3 | * please go to https://cdnjs.com/libraries/toastr.js and pick a certain version you want to use, 4 | * make sure you copy the url from the website since the url may change between versions. 5 | * */ 6 | !function(e){e(["jquery"],function(e){return function(){function t(e,t,n){return g({type:O.error,iconClass:m().iconClasses.error,message:e,optionsOverride:n,title:t})}function n(t,n){return t||(t=m()),v=e("#"+t.containerId),v.length?v:(n&&(v=d(t)),v)}function o(e,t,n){return g({type:O.info,iconClass:m().iconClasses.info,message:e,optionsOverride:n,title:t})}function s(e){C=e}function i(e,t,n){return g({type:O.success,iconClass:m().iconClasses.success,message:e,optionsOverride:n,title:t})}function a(e,t,n){return g({type:O.warning,iconClass:m().iconClasses.warning,message:e,optionsOverride:n,title:t})}function r(e,t){var o=m();v||n(o),u(e,o,t)||l(o)}function c(t){var o=m();return v||n(o),t&&0===e(":focus",t).length?void h(t):void(v.children().length&&v.remove())}function l(t){for(var n=v.children(),o=n.length-1;o>=0;o--)u(e(n[o]),t)}function u(t,n,o){var s=!(!o||!o.force)&&o.force;return!(!t||!s&&0!==e(":focus",t).length)&&(t[n.hideMethod]({duration:n.hideDuration,easing:n.hideEasing,complete:function(){h(t)}}),!0)}function d(t){return v=e("
").attr("id",t.containerId).addClass(t.positionClass),v.appendTo(e(t.target)),v}function p(){return{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,closeMethod:!1,closeDuration:!1,closeEasing:!1,closeOnHover:!0,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",escapeHtml:!1,target:"body",closeHtml:'',closeClass:"toast-close-button",newestOnTop:!0,preventDuplicates:!1,progressBar:!1,progressClass:"toast-progress",rtl:!1}}function f(e){C&&C(e)}function g(t){function o(e){return null==e&&(e=""),e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function s(){c(),u(),d(),p(),g(),C(),l(),i()}function i(){var e="";switch(t.iconClass){case"toast-success":case"toast-info":e="polite";break;default:e="assertive"}I.attr("aria-live",e)}function a(){E.closeOnHover&&I.hover(H,D),!E.onclick&&E.tapToDismiss&&I.click(b),E.closeButton&&j&&j.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&e.cancelBubble!==!0&&(e.cancelBubble=!0),E.onCloseClick&&E.onCloseClick(e),b(!0)}),E.onclick&&I.click(function(e){E.onclick(e),b()})}function r(){I.hide(),I[E.showMethod]({duration:E.showDuration,easing:E.showEasing,complete:E.onShown}),E.timeOut>0&&(k=setTimeout(b,E.timeOut),F.maxHideTime=parseFloat(E.timeOut),F.hideEta=(new Date).getTime()+F.maxHideTime,E.progressBar&&(F.intervalId=setInterval(x,10)))}function c(){t.iconClass&&I.addClass(E.toastClass).addClass(y)}function l(){E.newestOnTop?v.prepend(I):v.append(I)}function u(){if(t.title){var e=t.title;E.escapeHtml&&(e=o(t.title)),M.append(e).addClass(E.titleClass),I.append(M)}}function d(){if(t.message){var e=t.message;E.escapeHtml&&(e=o(t.message)),B.append(e).addClass(E.messageClass),I.append(B)}}function p(){E.closeButton&&(j.addClass(E.closeClass).attr("role","button"),I.prepend(j))}function g(){E.progressBar&&(q.addClass(E.progressClass),I.prepend(q))}function C(){E.rtl&&I.addClass("rtl")}function O(e,t){if(e.preventDuplicates){if(t.message===w)return!0;w=t.message}return!1}function b(t){var n=t&&E.closeMethod!==!1?E.closeMethod:E.hideMethod,o=t&&E.closeDuration!==!1?E.closeDuration:E.hideDuration,s=t&&E.closeEasing!==!1?E.closeEasing:E.hideEasing;if(!e(":focus",I).length||t)return clearTimeout(F.intervalId),I[n]({duration:o,easing:s,complete:function(){h(I),clearTimeout(k),E.onHidden&&"hidden"!==P.state&&E.onHidden(),P.state="hidden",P.endTime=new Date,f(P)}})}function D(){(E.timeOut>0||E.extendedTimeOut>0)&&(k=setTimeout(b,E.extendedTimeOut),F.maxHideTime=parseFloat(E.extendedTimeOut),F.hideEta=(new Date).getTime()+F.maxHideTime)}function H(){clearTimeout(k),F.hideEta=0,I.stop(!0,!0)[E.showMethod]({duration:E.showDuration,easing:E.showEasing})}function x(){var e=(F.hideEta-(new Date).getTime())/F.maxHideTime*100;q.width(e+"%")}var E=m(),y=t.iconClass||E.iconClass;if("undefined"!=typeof t.optionsOverride&&(E=e.extend(E,t.optionsOverride),y=t.optionsOverride.iconClass||y),!O(E,t)){T++,v=n(E,!0);var k=null,I=e("
"),M=e("
"),B=e("
"),q=e("
"),j=e(E.closeHtml),F={intervalId:null,hideEta:null,maxHideTime:null},P={toastId:T,state:"visible",startTime:new Date,options:E,map:t};return s(),r(),a(),f(P),E.debug&&console&&console.log(P),I}}function m(){return e.extend({},p(),b.options)}function h(e){v||(v=n()),e.is(":visible")||(e.remove(),e=null,0===v.children().length&&(v.remove(),w=void 0))}var v,C,w,T=0,O={error:"error",info:"info",success:"success",warning:"warning"},b={clear:r,remove:c,error:t,getContainer:n,info:o,options:{},subscribe:s,success:i,version:"2.1.3",warning:a};return b}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):window.toastr=t(window.jQuery)}); 7 | //# sourceMappingURL=toastr.js.map 8 | -------------------------------------------------------------------------------- /assets/css/modals.css: -------------------------------------------------------------------------------- 1 | .modal { 2 | width: 460px; 3 | position: relative; 4 | } 5 | .modal .title { 6 | margin-bottom: 15px; 7 | } 8 | .modal .subtitle { 9 | margin-bottom: 22px; 10 | font-size: 14px; 11 | line-height: 22px; 12 | } 13 | .modal-form { 14 | float: left; 15 | margin-top: 5px; 16 | } 17 | .modal_wrap { 18 | float: left; 19 | background: #fff; 20 | border-radius: 13px; 21 | padding: 44px 48px; 22 | } 23 | .modal .input-wrap { 24 | margin-right: 0; 25 | margin-bottom: 17px; 26 | } 27 | .modal .input { 28 | background: #ebebeb; 29 | border-color: #ebebeb; 30 | } 31 | .modal .agreement { 32 | margin-top: 0; 33 | margin-bottom: 17px; 34 | } 35 | .modal .footnote { 36 | color: #8E8E8E; 37 | text-align: center; 38 | line-height: 24px; 39 | margin-top: 20px; 40 | } 41 | .modal .footnote a { 42 | color: #fff; 43 | } 44 | .modal .btn { 45 | width: 100%; 46 | } 47 | .modal-info { 48 | float: left; 49 | border-top: 1px solid #DCDEE1; 50 | margin-top: 36px; 51 | padding-top: 40px; 52 | text-align: center; 53 | line-height: 1.4; 54 | } 55 | .modal-info p { 56 | margin: 5px 0; 57 | } 58 | .modal-info p:first-child { 59 | margin-top: 0; 60 | } 61 | .modal-info p:last-child { 62 | margin-bottom: 0; 63 | } 64 | .modal-info a { 65 | color: #0D84FB; 66 | display: inline-block; 67 | } 68 | .modal_close { 69 | background: rgba(255, 255, 255, 0.17); 70 | border-radius: 50%; 71 | position: absolute; 72 | width: 32px; 73 | height: 32px; 74 | top: -32px; 75 | right: -32px; 76 | } 77 | .modal_close:hover { 78 | cursor: pointer; 79 | } 80 | .modal_close:hover * { 81 | cursor: pointer; 82 | } 83 | .modal_close:before { 84 | width: 12px; 85 | height: 12px; 86 | background: url(../img/close.svg) center center no-repeat; 87 | background-size: contain; 88 | position: absolute; 89 | content: ''; 90 | left: 50%; 91 | top: 50%; 92 | margin-top: -6px; 93 | margin-left: -6px; 94 | } 95 | .modal input:-webkit-autofill, 96 | .modal input:-webkit-autofill:hover, 97 | .modal input:-webkit-autofill:focus, 98 | .modal textarea:-webkit-autofill, 99 | .modal textarea:-webkit-autofill:hover, 100 | .modal textarea:-webkit-autofill:focus, 101 | .modal select:-webkit-autofill, 102 | .modal select:-webkit-autofill:hover, 103 | .modal select:-webkit-autofill:focus { 104 | -webkit-box-shadow: 0 0 0px 1000px #fff inset; 105 | transition: background-color 5000s ease-in-out 0s; 106 | } 107 | .modal.modal_order { 108 | width: 744px; 109 | } 110 | .modal.modal_order .input-wrap { 111 | width: 48%; 112 | } 113 | .modal.modal_order .modal-form { 114 | display: -ms-flexbox; 115 | display: flex; 116 | -ms-flex-wrap: wrap; 117 | flex-wrap: wrap; 118 | -ms-flex-pack: justify; 119 | justify-content: space-between; 120 | } 121 | .success-icon { 122 | width: 58px; 123 | height: 58px; 124 | background: #E1F0FF; 125 | border-radius: 50%; 126 | margin-bottom: 12px; 127 | position: relative; 128 | } 129 | .success-icon:before { 130 | width: 24px; 131 | height: 24px; 132 | background: url(../img/check-list-before.svg) center center no-repeat; 133 | background-size: contain; 134 | position: absolute; 135 | content: ''; 136 | margin-top: -12px; 137 | margin-left: -12px; 138 | top: 50%; 139 | left: 50%; 140 | } 141 | .authorization-socials { 142 | float: left; 143 | margin-top: 36px; 144 | } 145 | .authorization-socials ._title { 146 | font-size: 19px; 147 | font-family: 'Roboto', sans-serif; 148 | font-weight: 500; 149 | margin-bottom: 20px; 150 | } 151 | .authorization-socials-variants { 152 | display: -ms-flexbox; 153 | display: flex; 154 | -ms-flex-pack: center; 155 | justify-content: center; 156 | } 157 | .authorization-socials-variants .soc-link { 158 | width: 38px; 159 | height: 38px; 160 | margin-right: 15px; 161 | } 162 | .authorization-socials-variants .soc-link:hover { 163 | cursor: pointer; 164 | } 165 | .authorization-socials-variants .soc-link:hover * { 166 | cursor: pointer; 167 | } 168 | .authorization-socials-variants .soc-link:last-child { 169 | margin-right: 0; 170 | } 171 | .authorization-socials-variants .soc-link.active { 172 | background: #0D84FB; 173 | } 174 | .authorization-socials-variants .soc-link.active:hover { 175 | background: #1d1d1d; 176 | } 177 | .arcticmodal-overlay { 178 | background: rgba(0, 0, 0, 0.8); 179 | } 180 | .dark .modal_wrap { 181 | background: #2b2b2b; 182 | } 183 | .dark .modal .input { 184 | background: #222; 185 | border-color: #222; 186 | } 187 | .dark .modal .input-wrap.active label { 188 | background: #2b2b2b; 189 | } 190 | .dark .modal .input-wrap.active .input { 191 | background: none; 192 | } 193 | .dark .modal input:-webkit-autofill, 194 | .dark .modal input:-webkit-autofill:hover, 195 | .dark .modal input:-webkit-autofill:focus, 196 | .dark .modal textarea:-webkit-autofill, 197 | .dark .modal textarea:-webkit-autofill:hover, 198 | .dark .modal textarea:-webkit-autofill:focus, 199 | .dark .modal select:-webkit-autofill, 200 | .dark .modal select:-webkit-autofill:hover, 201 | .dark .modal select:-webkit-autofill:focus { 202 | -webkit-box-shadow: 0 0 0px 1000px #2b2b2b inset; 203 | transition: background-color 5000s ease-in-out 0s; 204 | -webkit-text-fill-color: white; 205 | } 206 | @media screen and (max-width: 1400px) { 207 | .modal_close { 208 | top: 0; 209 | right: -43px; 210 | } 211 | } 212 | @media screen and (max-width: 760px) { 213 | .modal.modal_order { 214 | width: 100%; 215 | } 216 | .modal.modal_order .input-wrap { 217 | width: 100%; 218 | } 219 | } 220 | @media screen and (max-width: 590px) { 221 | .modal { 222 | width: 100%; 223 | } 224 | .modal_wrap { 225 | padding: 40px 20px; 226 | } 227 | .modal_close { 228 | right: 10px; 229 | top: 10px; 230 | background: rgba(0, 0, 0, 0.77); 231 | } 232 | .authorization-socials { 233 | margin-top: 28px; 234 | } 235 | .modal-info { 236 | margin-top: 28px; 237 | } 238 | .modal-info { 239 | padding-top: 30px; 240 | } 241 | } 242 | -------------------------------------------------------------------------------- /assets/css/comments.css: -------------------------------------------------------------------------------- 1 | .comments-section { 2 | display: block; 3 | float: left; 4 | width: 100%; 5 | } 6 | .comments-section .title { 7 | width: auto; 8 | } 9 | .comments-count { 10 | border: 2px solid #DBDDE1; 11 | border-radius: 8px 8px 0 8px; 12 | font-size: 12px; 13 | font-family: 'Roboto', sans-serif; 14 | font-weight: 500; 15 | display: inline-block; 16 | line-height: 24px; 17 | padding: 0 6px; 18 | vertical-align: middle; 19 | margin-left: 12px; 20 | } 21 | .comments-form { 22 | display: -ms-flexbox; 23 | display: flex; 24 | -ms-flex-wrap: wrap; 25 | flex-wrap: wrap; 26 | -ms-flex-pack: justify; 27 | justify-content: space-between; 28 | margin-bottom: 60px; 29 | } 30 | .comments-form .input-wrap { 31 | width: 362px; 32 | } 33 | .comments-form .input-wrap.textarea-wrap { 34 | width: 100%; 35 | } 36 | .comments-form .input { 37 | background: #ebebeb; 38 | } 39 | .comments-form .textarea { 40 | margin-bottom: 17px; 41 | width: 100%; 42 | } 43 | .comments-form .agreement { 44 | margin-top: 20px; 45 | } 46 | .comments-form .submit-btn { 47 | margin-top: 24px; 48 | } 49 | .comments-section { 50 | padding-bottom: 50px; 51 | } 52 | .comments-section .show-more-btn { 53 | margin-top: 0; 54 | } 55 | .comments-list { 56 | display: block; 57 | float: left; 58 | width: 100%; 59 | } 60 | .comments-list-item { 61 | display: block; 62 | float: left; 63 | width: 100%; 64 | margin-bottom: 20px; 65 | background: #ebebeb; 66 | border-radius: 8px; 67 | } 68 | .comment-item { 69 | padding: 38px 35px 38px 86px; 70 | position: relative; 71 | display: block; 72 | float: left; 73 | width: 100%; 74 | } 75 | .comment-item-userpic { 76 | width: 42px; 77 | height: 42px; 78 | border-radius: 50%; 79 | position: absolute; 80 | top: 38px; 81 | left: 35px; 82 | overflow: hidden; 83 | } 84 | .comment-item-name { 85 | display: block; 86 | float: left; 87 | font-size: 17px; 88 | font-family: 'Roboto', sans-serif; 89 | font-weight: 500; 90 | width: auto; 91 | line-height: 18px; 92 | margin-right: 10px; 93 | } 94 | .comment-item-date { 95 | display: block; 96 | float: left; 97 | font-size: 12px; 98 | color: #8E8E8E; 99 | width: auto; 100 | line-height: 20px; 101 | } 102 | .comment-item-reply-for { 103 | display: block; 104 | float: left; 105 | font-size: 12px; 106 | color: #8E8E8E; 107 | width: auto; 108 | line-height: 20px; 109 | } 110 | .comment-item-text { 111 | display: block; 112 | float: left; 113 | font-size: 14px; 114 | line-height: 22px; 115 | margin-top: 5px; 116 | } 117 | .comment-item .reply-link { 118 | font-size: 12px; 119 | color: #0D84FB; 120 | display: block; 121 | float: left; 122 | clear: both; 123 | margin-top: 12px; 124 | width: auto; 125 | } 126 | .comment-item .reply-link:hover { 127 | cursor: pointer; 128 | } 129 | .comment-item .reply-link:hover * { 130 | cursor: pointer; 131 | } 132 | .comment-item .reply-link:hover { 133 | text-decoration: underline; 134 | } 135 | .comment-item.reply { 136 | border-top: 1px solid #DCDEE1; 137 | } 138 | .comment-item.reply .comment-item-date { 139 | margin-right: 15px; 140 | } 141 | .comment-item-user-ratings { 142 | display: block; 143 | float: left; 144 | font-size: 14px; 145 | margin-top: 9px; 146 | margin-bottom: 8px; 147 | } 148 | .comment-item-user-ratings .user-rating-result { 149 | width: auto; 150 | margin-right: 17px; 151 | display: inline-block; 152 | margin-top: 3px; 153 | margin-bottom: 3px; 154 | } 155 | .comment-item-user-ratings .user-rating-result .val { 156 | color: #0D84FB; 157 | } 158 | .closed-comments-text { 159 | background: #FFEAEA; 160 | border-radius: 4px; 161 | padding: 15px 55px; 162 | font-size: 15px; 163 | font-family: 'Roboto', sans-serif; 164 | font-weight: 500; 165 | position: relative; 166 | } 167 | .closed-comments-text:before { 168 | width: 18px; 169 | height: 22px; 170 | background: url(../img/closed-comments.svg) center left no-repeat; 171 | background-size: contain; 172 | position: absolute; 173 | left: 25px; 174 | top: 50%; 175 | margin-top: -11px; 176 | content: ''; 177 | } 178 | #cancel-comment-reply-link { 179 | float: right; 180 | } 181 | .dark .comments-form .input { 182 | background: #2b2b2b; 183 | } 184 | .dark .comments-list-item { 185 | background: #2b2b2b; 186 | } 187 | .dark .comment-item.reply { 188 | border-color: #3C3C3C; 189 | } 190 | .dark .comments-count { 191 | border-color: #747B88; 192 | } 193 | .dark .fb-comments { 194 | background: #ebebeb; 195 | } 196 | @media screen and (max-width: 1230px) { 197 | .comments-form .input-wrap { 198 | width: 317px; 199 | } 200 | } 201 | @media screen and (min-width: 1001px) and (max-width: 1230px) { 202 | .with-sidebar .comments-form .input-wrap { 203 | width: 292px; 204 | } 205 | .with-sidebar .comments-form .input-wrap.textarea-wrap { 206 | width: 100%; 207 | } 208 | } 209 | @media screen and (max-width: 1000px) { 210 | .comments-section .wrap-center { 211 | max-width: 720px; 212 | } 213 | .comments-form .input-wrap { 214 | width: 352px; 215 | } 216 | } 217 | @media screen and (max-width: 760px) { 218 | .comments-form .input-wrap { 219 | width: 100%; 220 | margin-bottom: 12px; 221 | } 222 | .comments-form .input-wrap.name-field { 223 | -ms-flex-order: -1; 224 | order: -1; 225 | } 226 | .comments-form .input-wrap.email-field { 227 | -ms-flex-order: -1; 228 | order: -1; 229 | } 230 | .comments-form .input-wrap.comment-field { 231 | margin-bottom: 0; 232 | } 233 | .comments-form .input-wrap.comment-field .textarea { 234 | margin-bottom: 0; 235 | } 236 | .comments-form { 237 | -ms-flex-direction: column; 238 | flex-direction: column; 239 | } 240 | .comment-item-userpic { 241 | left: 28px; 242 | } 243 | } 244 | @media screen and (max-width: 480px) { 245 | .comment-item { 246 | padding: 30px 25px 30px 80px; 247 | } 248 | .comment-item-userpic { 249 | left: 22px; 250 | top: 30px; 251 | } 252 | .comment-item-text { 253 | margin-top: 10px; 254 | } 255 | } 256 | -------------------------------------------------------------------------------- /post.php: -------------------------------------------------------------------------------- 1 | 2 | need('header.php'); ?> 3 | 4 |
options->bcool_animate)): ?>animate__animated animate__options->bcool_animate() ?>"> 5 |
6 |
7 | 11 | 15 |

16 | title() ?> 17 |

18 | 36 | 37 |
38 |
39 |
40 |
41 |
42 |
43 | 72 |
73 |
74 |
75 | content, $this, $this->user->hasLogin()); ?> 76 |
77 |
78 |
79 |
80 |
81 | 82 | 84 |
85 | 86 | widget('Widget_Archive@recommend' . $prevId, 'pageSize=1&type=post', 'cid=' . $prevId)->to($prev); ?> 87 | 96 | 97 | 98 | widget('Widget_Archive@recommend' . $nextId, 'pageSize=1&type=post', 'cid=' . $nextId)->to($next); ?> 99 | 108 | 109 |
110 | need('comments.php'); ?> 111 | need('footer.php'); ?> 112 | -------------------------------------------------------------------------------- /assets/css/third/toastr.min.css: -------------------------------------------------------------------------------- 1 | /* * Note that this is toastr v2.1.3, the "latest" version in url has no more maintenance, * please go to https://cdnjs.com/libraries/toastr.js and pick a certain version you want to use, * make sure you copy the url from the website since the url may change between versions. * */ .toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#FFF}.toast-message a:hover{color:#CCC;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#FFF;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#FFF;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51A351}.toast-error{background-color:#BD362F}.toast-info{background-color:#2F96B4}.toast-warning{background-color:#F89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}} -------------------------------------------------------------------------------- /assets/css/sidebar.min.css: -------------------------------------------------------------------------------- 1 | .page-wrap {position: relative;display: block;float: left;width: 100%;margin-top: 20px;} .page-wrap.with-sidebar {max-width: 1200px;margin: 0 auto;float: none;} .page-wrap-content, .post-single-wrap {display: block;float: left;width: 100%;} .with-sidebar .page-wrap-content {width: 744px;float: left;} .with-sidebar .page-wrap-sidebar {width: 386px;float: right;position: relative;} .with-sidebar .post-image-large {width: 100%;margin-left: 0;} .with-sidebar .articles-controls-item.next-article {padding-left: 25px;} .with-sidebar .articles-controls-item.prev-article {padding-right: 25px;} .with-sidebar .articles-controls-item-wrapper {width: 337px;} .with-sidebar .wide {width: 100%;margin-left: 0;} .left-sidebar .page-wrap-content {float: right;} .left-sidebar .page-wrap-sidebar {float: left;} .sidebar-item {display: block;float: left;width: 100%;margin-bottom: 42px;border-radius: 8px;} .sidebar-item-title {font-size: 25px;font-family: 'Roboto', sans-serif;font-weight: 700;margin-bottom: 14px;} .sidebar .sidebar-part:last-child .sidebar-item:last-child {margin-bottom: 0;} .popular-posts-item {min-height: 200px;height: auto;border-radius: 13px;margin-bottom: 10px;} .popular-posts-item:last-child {margin-bottom: 0;} .popular-posts-item .post-title {font-size: 15px;line-height: 20px;margin-bottom: 8px;} .popular-posts-item .post-tags {margin-bottom: 10px;} .widget_social_links .social-links {width: 100%;} .widget_social_links .social-links-item {background: #ebebeb;border-radius: 8px;display: block;float: left;margin-right: 7px;margin-top: 7px;display: -ms-flexbox;display: flex;-ms-flex-pack: center;justify-content: center;-ms-flex-align: center;align-items: center;width: 57px;height: 57px;transition: all 0.2s linear;} .widget_social_links .social-links-item:hover {cursor: pointer;} .widget_social_links .social-links-item:hover * {cursor: pointer;} .widget_social_links .social-links-item:nth-child(6n) {margin-right: 0;} .widget_social_links .social-links-item:nth-child(-n+6) {margin-top: 0;} .widget_social_links .social-links-item svg, .widget_social_links .social-links-item img {max-width: 22px;max-height: 22px;} .dark .widget_social_links .social-links-item{background: #2b2b2b;} .dark .widget_social_links .social-links-item:hover {background: #0D84FB;} @media screen and (min-width: 1001px) { } @media screen and (max-width: 1230px) { .widget_social_links .social-links-item {width: 54px;height: 54px;} .widget_social_links .social-links-item:nth-child(6n) {margin-right: 7px;} .widget_social_links .social-links-item:nth-child(5n) {margin-right: 0;} .widget_social_links .social-links-item:nth-child(6) {margin-top: 7px;} } @media screen and (min-width: 1001px) and (max-width: 1230px) { } @media screen and (max-width: 1000px) { .widget_social_links .social-links-item {width: 63px;height: 63px;} .widget_social_links .social-links-item img, .widget_social_links .social-links-item svg {max-width: 26px;max-height: 26px;} } @media screen and (max-width: 760px) { .widget_social_links .social-links-item {margin-top: 0;margin-bottom: 7px;} .widget_social_links .social-links-item:nth-child(5n) {margin-right: 7px;} .widget_social_links .social-links-item:nth-child(6) {margin-top: 0;} } @media screen and (max-width: 590px) { .widget_social_links .social-links-item {width: 15%;height: 14vw;margin-right: 2%;margin-top: 0;margin-bottom: 0;margin-top: 2%;} .widget_social_links .social-links-item:nth-child(6) {margin-top: 0;} .widget_social_links .social-links-item:nth-child(5n) {margin-right: 2%;} .widget_social_links .social-links-item:nth-child(6n) {margin-right: 0;} .widget_social_links .social-links-item:nth-child(-n+6) {margin-top: 0;} } @media screen and (max-width: 480px) { } @media screen and (max-width: 400px) { } @media screen and (max-width: 350px) { .widget_social_links .social-links-item img, .widget_social_links .social-links-item svg {max-width: 20px;max-height: 20px;} } .catalog-container {position: sticky;float: right; /* right: 20px; */top: 300px;padding: 10px 0;margin-right: 20px;height: 300px;width: 200px;overflow: scroll;scrollbar-width: none;-ms-overflow-style: none;overscroll-behavior: contain;} .catalog-container::-webkit-scrollbar {display: none;} .catalog {width: auto;} @media screen and (max-width: 1111px) { .catalog-container {display: none} } .catalog-container:hover {overflow: auto} .catalog-container:hover .item .title {display: inline-block;opacity: 1;cursor: pointer} .catalog-container .item {text-align: right;margin-bottom: 10px} .catalog-container .item:last-child {margin-bottom: 0} .catalog-container .item .title {margin-left: 4px;font-size: 12px;line-height: 17px;color: #8e8787;display: inline-block;opacity: 0;width: 150px;vertical-align: middle;text-align: left;-webkit-transition: opacity .5s;transition: opacity .5s;margin-top: -2px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;padding-left: 10px;font-weight: 600;margin-bottom: 0;float: none;} .catalog-container .item .title.hover, .catalog-container .item .title.show {color: #655e5e;display: inline-block;opacity: 1;cursor: pointer} .catalog-container .item .circle {width: 16px;height: 4px;border-radius: 20px;background: #e5e5e5;display: inline-block;vertical-align: middle;cursor: pointer;-webkit-transition: background .5s;transition: background .5s} .catalog-container .item .circle:hover {background: #8e8787} .catalog-container .item .circle.h3 {width: 10px;height: 4px;margin-right: 2px} .catalog-container .item .circle.h3.show {background: #8e8787} .catalog-container .item .circle.h3:hover {background: #655e5e} .catalog-container .item .circle.show {background: #8e8787} .catalog-container .item.sub-catalog {margin-bottom: 10px;} .catalog-container .item.sub-catalog .title {margin-left: 8px;font-weight: 400} .catalog-container .item.sub-catalog:hover .title {font-weight: 400} .catalog-container .item:hover .circle {background: #8e8787} .catalog-container .item:hover .title {color: #655e5e;font-weight: 600} .theme-dark .catalog-container .item .title {color: #7f7f7f} .theme-dark .catalog-container .item .title.show {color: #cac3c3} .theme-dark .catalog-container .item .circle {background: #373737} .theme-dark .catalog-container .item .circle.show {background: #7f7f7f} .theme-dark .catalog-container .item .circle.h3 {background: #373737} .theme-dark .catalog-container .item .circle.h3.show {background: #7f7f7f} .theme-dark .catalog-container .item.sub-catalog:hover .title {color: #fafafa} .theme-dark .catalog-container .item:hover .title {color: #cac3c3} .theme-dark .catalog-container .item:hover .circle {background: #7f7f7f} .theme-dark .catalog-container .item:hover .circle.h3 {background: #fafafa} -------------------------------------------------------------------------------- /assets/css/share.min.css: -------------------------------------------------------------------------------- 1 | .share-block {display: block;float: left;width: 100%;position: -webkit-sticky;position: sticky;top: 20px;width: 57px;left: 50%;margin-left: -825px;z-index: 7;padding-bottom: 20px;transform: translateX(-825px);} .share-block-item {background: #ebebeb;border-radius: 8px;margin-top: 13px;width: 57px;height: 57px;display: -ms-flexbox;display: flex;float: left;-ms-flex-pack: center;justify-content: center;-ms-flex-align: center;align-items: center;position: relative;transition: all 0.2s linear;} .share-block-item:hover {cursor: pointer;} .share-block-item:hover * {cursor: pointer;} .share-block-item .comments-count {margin-left: 0;width: auto;border-color: #ababab;} .share-block-item:last-child {margin-bottom: 0;} .share-block-item .favorites-tag {top: 0;left: 0;} .share-block-item .favorites-tag:hover {background: #C4C9D3;} .share-block-item.mobile-item {display: none;} .share-block-item.link-to-comments {display: none;} .share-block-item:hover {background: #C4C9D3;} .share-block .socials {transition: all 0.2s linear;} .share-block .socials-hidden {display: none;} .share-block .socials-hidden .soc-link {border-radius: 0 !important;} .share-block .soc-link {width: 57px;height: 57px;border-radius: 0;display: none;margin-right: 0;transition: all 0.2s linear;position: relative;} .share-block .soc-link i {color: #747B88} .share-block .soc-link:hover i {color: #0D84FB} .share-block .soc-link:hover {cursor: pointer;} .share-block .soc-link:hover * {cursor: pointer;} .share-block .soc-link.hover:before {display: block;opacity: 1;} .share-block .soc-link:before {height: 24px;line-height: 24px;background: #1d1d1d;border-radius: 12px;content: attr(data-title);font-size: 12px;color: #fff;padding: 0 8px;white-space: nowrap;left: 100%;top: 50%;margin-top: -12px;margin-left: 14px;position: absolute;opacity: 0;transition: opacity 0.2s linear;transition-delay: 0.1s;display: none;box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.27);} .share-block .soc-link:first-child {border-radius: 8px 8px 0 0;} .share-block .soc-link:nth-child(-n+2) {display: -ms-flexbox;display: flex;} .share-block .soc-link:hover {background: #C4C9D3;} .share-block .soc-link:hover * {fill: #1D1D1D;} .share-block .soc-link img, .share-block.few .soc-link:last-of-type {border-radius: 0 0 8px 8px;} .share-block .show-more-socials {position: relative;border-radius: 0 0 8px 8px;width: 57px;height: 57px;display: none;margin-right: 0;transition: all 0.2s linear;} .share-block .show-more-socials div {width: 1.5rem;height: 1.5rem;position: absolute;left: 0;top: 0;bottom: 0;right: 0;margin: auto;transition: all 0.2s linear;font-size: 1.25rem;text-align: center;} .share-block .show-more-socials .fas {text-align: center;} .share-block .show-mobile-icon .fas {color: #747B88;width: 28px;height: 32px;position: absolute;left: 0;top: 0;bottom: 0;right: 0;margin: auto;transition: all 0.2s linear;} .with-fixed-panel .share-block, .top-panel-is-fixed .share-block {top: 85px;} .dark .share-block-item {background: #2b2b2b;} .dark .share-block .socials .soc-link {background: #2b2b2b;} .dark .share-block .socials .soc-link:hover {background: #3b3b3b;} .dark .share-block .socials .soc-link:hover * {fill: #1D1D1D;} .dark .share-block .socials .soc-link * {fill: #DBDDE1;} .dark .share-block-item:hover {background: #DBDDE1;} .dark .share-block .soc-link:not(.show-more-socials):before {background: #747B88;} .dark .share-block-item.link-to-comments:hover .comments-count {color: #000;} .dark .share-block-item .favorites-tag:hover {background: #dbdde1;} @media screen and (min-width: 1001px) { .share-block-main {display: block !important;} } @media screen and (min-width: 1301px) and (max-width: 1400px) { .with-share-block .with-sidebar .page-wrap-content {margin-left: 30px;} .with-share-block .with-sidebar .page-wrap-sidebar {margin-right: -30px;} .with-share-block .with-sidebar.left-sidebar .page-wrap-sidebar {margin-left: 30px;} } @media screen and (max-width: 1300px) and (min-width: 1001px) { .with-sidebar .share-block {transform: none;margin-left: 0;position: relative;top: auto;left: auto;width: 100%;} .with-sidebar .share-block-main {width: auto;} .with-sidebar .share-block-item {margin-top: 0;margin-right: 13px;} .with-sidebar .share-block .show-more-socials {display: none !important;} .with-sidebar .share-block .socials-hidden {display: block;width: auto;float: left;} .with-sidebar .share-block .socials-hidden .soc-link:last-child {border-radius: 0 8px 8px 0 !important;} .with-sidebar .share-block .soc-link:first-child {border-radius: 8px 0 0 8px;} .with-sidebar .share-block .socials {margin-right: 13px;} .with-sidebar .share-block .soc-link:before {top: 100%;margin-top: 12px;left: 50%;margin-left: 0;transform: translateX(-50%);} } @media screen and (min-width: 1301px) and (max-width: 1400px) { .with-sidebar .share-block {transform: translateX(-650px);} } @media screen and (min-width: 1401px) { .with-sidebar .share-block {transform: translateX(-686px);} } @media screen and (min-width: 1541px) { .with-sidebar .share-block {transform: translateX(-730px);} } @media screen and (min-width: 1601px) { .with-sidebar .share-block {transform: translateX(-700px);} } @media screen and (min-width: 1701px) { .with-sidebar .share-block {transform: translateX(-825px);} } @media screen and (max-width: 1700px) { .share-block {margin-left: -600px;transform: translateX(-600px);} } @media screen and (max-width: 1400px) { .with-fixed-panel .share-block, .top-panel-is-fixed .share-block {top: 70px;} } @media screen and (max-width: 1230px) { .share-block {margin-left: -480px;transform: translateX(-480px);} } @media screen and (max-width: 1000px) { .share-block {left: auto;margin-left: 0;top: 100%;left: 100%;transform: translate(-132%, -100%);margin-right: -500px;} .with-fixed-panel .share-block, .top-panel-is-fixed .share-block {top: 100%;} .share-block-main {position: absolute;bottom: 100%;right: 0;} .share-block .soc-link.hover:before {display: none;} .share-block-main {display: none;} .share-block-item.mobile-item {display: block;} .share-block-item.mobile-item.mobile-share-show-btn {margin-top: 0;margin-bottom: 13px;} .share-block-main {padding-bottom: 13px;} .share-block .socials-hidden {display: block;} .share-block .show-more-socials {display: none !important;} .share-block .socials-hidden .soc-link:last-child {border-radius: 0 0 8px 8px !important;} .share-block-item.add-to-favorites {margin-top: 0;} } @media screen and (max-width: 760px) { .share-block-item .favorites-tag {width: 57px;height: 57px;} } @media screen and (max-width: 480px) { .share-block-item .favorites-tag, .share-block-item, .share-block .soc-link {width: 50px;height: 50px;} .share-block {width: 50px;} .share-block-item {margin-top: 8px;} .share-block-main {padding-bottom: 8px;} .share-block .show-mobile-icon:before {width: 20px;height: 20px;margin-top: -10px;margin-left: -10px;} .share-block-item.mobile-item.mobile-share-show-btn {margin-bottom: 8px;} } 2 | -------------------------------------------------------------------------------- /assets/css/inputs.css: -------------------------------------------------------------------------------- 1 | input::-webkit-input-placeholder { 2 | font-size: 1em; 3 | color: rgba(131, 131, 131, 0.49); 4 | } 5 | input::-moz-placeholder { 6 | font-size: 1em; 7 | color: rgba(131, 131, 131, 0.49); 8 | } 9 | input:-moz-placeholder { 10 | font-size: 1em; 11 | color: rgba(131, 131, 131, 0.49); 12 | } 13 | input:-ms-input-placeholder { 14 | font-size: 1em; 15 | color: rgba(131, 131, 131, 0.49); 16 | } 17 | textarea::-webkit-input-placeholder { 18 | font-size: 1em; 19 | color: rgba(131, 131, 131, 0.49); 20 | } 21 | textarea::-moz-placeholder { 22 | font-size: 1em; 23 | color: rgba(131, 131, 131, 0.49); 24 | } 25 | textarea:-moz-placeholder { 26 | font-size: 1em; 27 | color: rgba(131, 131, 131, 0.49); 28 | } 29 | textarea:-ms-input-placeholder { 30 | font-size: 1em; 31 | color: rgba(131, 131, 131, 0.49); 32 | } 33 | input:focus::-webkit-input-placeholder { 34 | color: transparent; 35 | } 36 | input:focus::-moz-placeholder { 37 | color: transparent; 38 | } 39 | input:focus:-moz-placeholder { 40 | color: transparent; 41 | } 42 | input:focus:-ms-input-placeholder { 43 | color: transparent; 44 | } 45 | textarea:focus::-webkit-input-placeholder { 46 | color: transparent; 47 | } 48 | textarea:focus::-moz-placeholder { 49 | color: transparent; 50 | } 51 | textarea:focus:-moz-placeholder { 52 | color: transparent; 53 | } 54 | textarea:focus:-ms-input-placeholder { 55 | color: transparent; 56 | } 57 | input::-webkit-input-placeholder { 58 | opacity: 1; 59 | transition: opacity 0.3s ease; 60 | -o-transition: opacity 0.3s ease; 61 | -moz-transition: opacity 0.3s ease; 62 | -webkit-transition: opacity 0.3s ease; 63 | -ms-transition: opacity 0.3s ease; 64 | } 65 | input::-moz-placeholder { 66 | opacity: 1; 67 | transition: opacity 0.3s ease; 68 | -o-transition: opacity 0.3s ease; 69 | -moz-transition: opacity 0.3s ease; 70 | -webkit-transition: opacity 0.3s ease; 71 | -ms-transition: opacity 0.3s ease; 72 | } 73 | input:-moz-placeholder { 74 | opacity: 1; 75 | transition: opacity 0.3s ease; 76 | -o-transition: opacity 0.3s ease; 77 | -moz-transition: opacity 0.3s ease; 78 | -webkit-transition: opacity 0.3s ease; 79 | -ms-transition: opacity 0.3s ease; 80 | } 81 | input:-ms-input-placeholder { 82 | opacity: 1; 83 | transition: opacity 0.3s ease; 84 | -o-transition: opacity 0.3s ease; 85 | -moz-transition: opacity 0.3s ease; 86 | -webkit-transition: opacity 0.3s ease; 87 | -ms-transition: opacity 0.3s ease; 88 | } 89 | input:focus::-webkit-input-placeholder { 90 | opacity: 0; 91 | transition: opacity 0.5s ease; 92 | -o-transition: opacity 0.5s ease; 93 | -moz-transition: opacity 0.5s ease; 94 | -webkit-transition: opacity 0.5s ease; 95 | -ms-transition: opacity 0.5s ease; 96 | } 97 | input:focus::-moz-placeholder { 98 | opacity: 0; 99 | transition: opacity 0.5s ease; 100 | -o-transition: opacity 0.5s ease; 101 | -moz-transition: opacity 0.5s ease; 102 | -webkit-transition: opacity 0.5s ease; 103 | -ms-transition: opacity 0.5s ease; 104 | } 105 | input:focus:-moz-placeholder { 106 | opacity: 0; 107 | transition: opacity 0.5s ease; 108 | -o-transition: opacity 0.5s ease; 109 | -moz-transition: opacity 0.5s ease; 110 | -webkit-transition: opacity 0.5s ease; 111 | -ms-transition: opacity 0.5s ease; 112 | } 113 | input:focus:-ms-input-placeholder { 114 | opacity: 0; 115 | transition: opacity 0.5s ease; 116 | -o-transition: opacity 0.5s ease; 117 | -moz-transition: opacity 0.5s ease; 118 | -webkit-transition: opacity 0.5s ease; 119 | -ms-transition: opacity 0.5s ease; 120 | } 121 | input { 122 | border-radius: 0; 123 | } 124 | input:focus { 125 | outline: 0; 126 | } 127 | input[type="text"], 128 | input[type="email"], 129 | input[type="tel"], 130 | input[type="password"], 131 | textarea { 132 | -webkit-appearance: none; 133 | -moz-appearance: none; 134 | appearance: none; 135 | box-shadow: none; 136 | } 137 | input[type=submit], 138 | button { 139 | -webkit-appearance: none; 140 | } 141 | input[type=submit]:hover, 142 | button:hover { 143 | cursor: pointer; 144 | } 145 | input:hover { 146 | cursor: text; 147 | } 148 | input[type="date"]::-webkit-datetime-edit { 149 | color: transparent; 150 | } 151 | input[type="date"]:focus::-webkit-datetime-edit { 152 | color: #1d1d1d; 153 | } 154 | input[type="date"] { 155 | display: block; 156 | -webkit-appearance: unset; 157 | -moz-appearance: unset; 158 | box-shadow: none; 159 | } 160 | input[type="search"]::-webkit-search-decoration, 161 | input[type="search"]::-webkit-search-cancel-button, 162 | input[type="search"]::-webkit-search-results-button, 163 | input[type="search"]::-webkit-search-results-decoration { 164 | -webkit-appearance: none; 165 | } 166 | textarea:focus { 167 | outline: 0; 168 | } 169 | textarea:hover { 170 | cursor: text; 171 | } 172 | .input { 173 | width: 100%; 174 | border-radius: 8px; 175 | display: block; 176 | float: left; 177 | height: 58px; 178 | padding: 0 25px; 179 | font-size: 16px; 180 | font-family: 'Roboto', sans-serif; 181 | font-weight: 400; 182 | color: #1d1d1d; 183 | border: 0; 184 | border: 1px solid #fff; 185 | } 186 | .input[type="date"] { 187 | line-height: 58px; 188 | } 189 | .textarea { 190 | height: 100px; 191 | resize: none; 192 | padding-top: 20px; 193 | padding-bottom: 20px; 194 | } 195 | .input-wrap { 196 | display: block; 197 | float: left; 198 | position: relative; 199 | } 200 | .input-wrap label { 201 | padding: 0; 202 | line-height: 58px; 203 | color: #8E8E8E; 204 | font-size: 16px; 205 | display: block; 206 | width: auto; 207 | left: 25px; 208 | font-family: 'Roboto', sans-serif; 209 | font-weight: 400; 210 | transition: all 0.1s linear; 211 | z-index: 1; 212 | position: relative; 213 | } 214 | .input-wrap label:hover { 215 | cursor: text; 216 | } 217 | .input-wrap.active label { 218 | font-size: 14px; 219 | line-height: 20px; 220 | top: -10px; 221 | left: 20px; 222 | background: #ebebeb; 223 | padding: 0 6px; 224 | transition: all 0.1s linear; 225 | } 226 | .input-wrap.active .input { 227 | background: none; 228 | border-color: #B5B9BF; 229 | transition: all 0.1s linear; 230 | } 231 | .input-wrap.white-label.active label { 232 | background: #fff; 233 | } 234 | .input-wrap.fullwidth { 235 | width: 100% !important; 236 | } 237 | .input-wrap.date-wrap.active input[type="date"]::-webkit-datetime-edit { 238 | color: #1d1d1d; 239 | } 240 | .dark .input { 241 | background: #222; 242 | color: #fff; 243 | border-color: #222; 244 | } 245 | .dark .input-wrap.date-wrap.active input[type="date"]::-webkit-datetime-edit { 246 | color: #fff; 247 | } 248 | .dark ::-webkit-calendar-picker-indicator { 249 | filter: invert(1); 250 | } 251 | @media screen and (max-width: 480px) { 252 | .input-wrap label { 253 | left: 20px; 254 | } 255 | .input { 256 | padding-left: 20px; 257 | padding-right: 20px; 258 | } 259 | .input-wrap.active label { 260 | left: 14px; 261 | } 262 | } 263 | -------------------------------------------------------------------------------- /core/general.php: -------------------------------------------------------------------------------- 1 | cid; 4 | $db = Typecho_Db::get(); 5 | $prefix = $db->getPrefix(); 6 | if (!array_key_exists('views', $db->fetchRow($db->select()->from('table.contents')))) { 7 | $db->query('ALTER TABLE `' . $prefix . 'contents` ADD `views` INT(10) DEFAULT 0;'); 8 | if ($display) { 9 | echo 0; 10 | } 11 | return; 12 | } 13 | $row = $db->fetchRow($db->select('views')->from('table.contents')->where('cid = ?', $cid)); 14 | if ($archive->is('single')) { 15 | $views = Typecho_Cookie::get('extend_contents_views'); 16 | if (empty($views)) { 17 | $views = array(); 18 | } else { 19 | $views = explode(',', $views); 20 | } 21 | if (!in_array($cid, $views)) { 22 | $db->query($db->update('table.contents')->rows(array('views' => (int)$row['views'] + 1))->where('cid = ?', $cid)); 23 | array_push($views, $cid); 24 | $views = implode(',', $views); 25 | Typecho_Cookie::set('extend_contents_views', $views); //记录查看cookie 26 | } 27 | } 28 | if ($display) { 29 | echo $row['views']; 30 | } 31 | }/*Gravatar头像*/ 32 | function Gravatar($email) 33 | { 34 | $options = Helper::options(); 35 | $b = str_replace('@qq.com', '', $email); 36 | if (stristr($email, '@qq.com') && is_numeric($b) && strlen($b) < 11 && strlen($b) > 4) { 37 | $nk = 'https://s.p.qq.com/pub/get_face?img_type=3&uin=' . $b; 38 | $c = get_headers($nk, true); 39 | $d = $c['Location']; 40 | $q = json_encode($d); 41 | $k = explode("&k=", $q)[1]; 42 | echo 'https://q.qlogo.cn/g?b=qq&k=' . $k . '&s=100'; 43 | } else { 44 | $email = md5($email); 45 | if ($options->bcool_Gravatar == '1') { 46 | echo "//cn.gravatar.com/gravatar/" . $email . "?"; 47 | } else if ($options->bcool_Gravatar == '2') { 48 | echo "//gravatar.loli.top/avatar/" . $email . "?"; 49 | } else if ($options->bcool_Gravatar == '3') { 50 | echo "//cdn.v2ex.com/gravatar/" . $email . "?"; 51 | } else if ($options->bcool_Gravatar == '4') { 52 | echo "//gravatar.loli.net/avatar/" . $email . "?"; 53 | } else if ($options->bcool_Gravatar == '5') { 54 | echo "//sdn.geekzu.org/avatar/" . $email . "?"; 55 | } else if ($options->bcool_Gravatar == '6') { 56 | echo "//dn-qiniu-avatar.qbox.me/avatar/" . $email . "?"; 57 | } else { 58 | echo "//gravatar.loli.top/avatar/" . $email . "?"; 59 | } 60 | } 61 | } 62 | 63 | function fallbackGravatar() 64 | { 65 | $options = Helper::options(); 66 | $options->themeUrl('./assets/img/avatar/' . rand(1, 100) . '.png'); 67 | }/*简介图文获取图片*/ 68 | function thumb($obj) 69 | {/*获取附件首张图片*/ 70 | $attach = $obj->attachments(1)->attachment;/*获取文章首张图片*/ 71 | preg_match_all("/\]*>/i", $obj->content, $thumbUrl); 72 | $img_src = $thumbUrl[1][0];/*获取自定义随机图片*/ 73 | $options = Typecho_Widget::widget('Widget_Options'); 74 | $thumbs = explode("|", $options->bcool_cover);/*获取文章封面*/ 75 | $cover = $obj->fields->cover; 76 | if ($cover) { 77 | $thumb = $cover; 78 | } elseif (isset($attach->isImage) && $attach->isImage == 1) { 79 | $thumb = $attach->url; 80 | } else if ($img_src) { 81 | $thumb = $img_src; 82 | } else if ($options->bcool_cover && count($thumbs) > 0) { 83 | $thumb = $thumbs[rand(0, count($thumbs) - 1)]; 84 | } else { 85 | $thumb = 'https://tuapi.eees.cc/api.php?category={dongman,fengjing,meinv,biying}&type=302&t=' . rand(1, 1000); 86 | } 87 | return $thumb; 88 | } 89 | 90 | function sticky() 91 | { 92 | $options = Typecho_Widget::widget('Widget_Options'); 93 | $sticky = explode(",", $options->sticky_cid); 94 | return $sticky; 95 | } 96 | 97 | function pic_show() 98 | { 99 | $options = Typecho_Widget::widget('Widget_Options'); 100 | $picshows = explode("|", $options->bcool_pic); 101 | $picnum = count($picshows); 102 | $picshow = []; 103 | if ($picnum !== 7) { 104 | $rand = '400?t=' . rand(1, 1000); 105 | $picshow = 'https://picapi.bear-studio.net/200/' . $rand; 106 | } else { 107 | $picshow['type'] = 'no_auto'; 108 | $picshow['url'] = $picshows; 109 | $picshow = json_encode($picshow); 110 | } 111 | return $picshow; 112 | } 113 | 114 | /** 显示上一篇 如果没有下一篇,返回null */ 115 | function thePrevCid($widget, $default = NULL) 116 | { 117 | $db = Typecho_Db::get(); 118 | $sql = $db->select()->from('table.contents')->where('table.contents.created < ?', $widget->created)->where('table.contents.status = ?', 'publish')->where('table.contents.type = ?', $widget->type)->where('table.contents.password IS NULL')->order('table.contents.created', Typecho_Db::SORT_DESC)->limit(1); 119 | $content = $db->fetchRow($sql); 120 | if ($content) { 121 | return $content["cid"]; 122 | } else { 123 | return $default; 124 | } 125 | } 126 | 127 | ; 128 | /** 获取下一篇文章mid 如果没有下一篇,返回null */ 129 | function theNextCid($widget, $default = NULL) 130 | { 131 | $db = Typecho_Db::get(); 132 | $sql = $db->select()->from('table.contents')->where('table.contents.created > ?', $widget->created)->where('table.contents.status = ?', 'publish')->where('table.contents.type = ?', $widget->type)->where('table.contents.password IS NULL')->order('table.contents.created', Typecho_Db::SORT_ASC)->limit(1); 133 | $content = $db->fetchRow($sql); 134 | if ($content) { 135 | return $content["cid"]; 136 | } else { 137 | return $default; 138 | } 139 | }/*留言加@*/ 140 | function getPermalinkFromCoid($coid) 141 | { 142 | $db = Typecho_Db::get(); 143 | $row = $db->fetchRow($db->select('author')->from('table.comments')->where('coid = ? AND status = ?', $coid, 'approved')); 144 | if (empty($row)) return ''; 145 | return '@' . $row['author'] . ''; 146 | }/*第三方分享*/ 147 | function share($t, $type) 148 | { 149 | if ($type == 'qq') { 150 | echo 'http://connect.qq.com/widget/shareqq/index.html?url=' . $t->permalink . '&sharesource=qzone&title=' . $t->title . '&pics=' . thumb($t) . '&summary=' . $t->title . '&desc=' . $t->title; 151 | } else if ($type == 'weibo') { 152 | echo 'https://service.weibo.com/share/share.php?url=' . $t->permalink . '&title=' . $t->title . '&pic=' . thumb($t); 153 | } else { 154 | echo 'https://www.facebook.com/sharer/sharer.php?u=' . $t->permalink; 155 | } 156 | }/*首页图标输出*/ 157 | function indexAppInfo() 158 | { 159 | $options = Helper::options(); 160 | $apps = explode("\r\n", $options->bcool_app); 161 | foreach ($apps as $app) { 162 | if ($app != null) { 163 | $items = explode("|", $app); 164 | echo "
  • "; 165 | } 166 | } 167 | } -------------------------------------------------------------------------------- /assets/css/wp-content.min.css: -------------------------------------------------------------------------------- 1 | .caption-text, .wp-caption-text {font-size: 12px;color: #8E8E8E;font-family: 'Roboto', sans-serif;font-weight: 500;font-style: italic;line-height: 16px;display: inline-block;margin-top: 7px;} .wp-content p {font-size: 20px;line-height: 34px;margin: 30px 0;float: none;} .wp-content p a {color: #0D84FB;text-decoration: underline;} .wp-content p a:hover {text-decoration: none;} .wp-content h1, .wp-content h2, .wp-content h3, .wp-content h4, .wp-content h5, .wp-content h6 {margin-top: 40px;margin-bottom: 30px;font-family: 'Roboto', sans-serif;font-weight: 700;clear: both;} .wp-content h1 {font-size: 50px;} .wp-content h2 {font-size: 32px;} .wp-content h3 {font-size: 28px;} .wp-content h4 {font-size: 26px;} .wp-content h5 {font-size: 24px;} .wp-content h6 {font-size: 22px;} .wp-content li {font-size: 20px;line-height: 34px;} .wp-content ol {margin: 30px 0;} .wp-content ul li {padding-left: 30px;position: relative;} .wp-content ul li:before {width: 9px;height: 9px;background: #8E8E8E;border-radius: 50%;position: absolute;content: '';left: 0;top: 13px;} .wp-content ol {padding-left: 30px;} .wp-content ol li {display: list-item;padding-left: 8px;} .wp-content ol li::marker {font-size: 20px;font-family: 'Roboto', sans-serif;font-weight: 700;color: #8E8E8E;position: absolute;left: 0;} .wp-content img, .wp-content picture {display: block;max-width: 100%;border-radius: 13px;margin-top: 20px;margin-bottom: 20px;} .wp-content blockquote {background: #ebebeb;border-radius: 13px;display: block;width: 100%;margin: 30px 0;padding: 50px 55px 40px;word-wrap: break-word;overflow: auto;} .wp-content blockquote p:first-child {margin-top: 0;} .wp-content blockquote cite {font-size: 19px;font-family: 'Roboto', sans-serif;font-weight: 500;margin-top: 30px;font-style: normal;} .wp-content blockquote .position {font-size: 12px;color: #8E8E8E;margin-top: 7px;display: block;clear: both;} .wp-content blockquote.blue-bg {background: #0D84FB;color: #fff;} .wp-content blockquote.blue-bg .position {color: #fff;} .wp-content code {background: #ebebeb;width: 100%;padding: 0.25rem 0.5rem;line-height: 24px;border-radius: 5px;margin: 30px 5px;overflow: auto;word-wrap: break-word;word-break: break-all;} .wp-content code[class] {background: #1d1d1d;display: block;color: #fff;padding: 25px;border-radius: 13px;margin: 30px 0;} .wp-content table {border-collapse: collapse;margin: 30px 0;} .wp-content table:after {clear: both;content: '';display: inline-block;position: absolute;} .wp-content table td, .wp-content table th {border: 1px solid #ebebeb;padding: 15px;} .block-columns {display: -ms-flexbox;display: flex;-ms-flex-wrap: nowrap;flex-wrap: nowrap;margin: 15px 0;} .block-columns.wide-columns {width: 1200px;margin-left: -228px;} .block-column {display: block;float: left;word-break: break-word;overflow-wrap: break-word;margin-left: 70px;} .block-column p {margin: 15px 0;} .block-column:first-child {margin-left: 0;} .block-caption {margin: 20px 0;display: block;float: left;width: 100%;position: relative;} .block-caption img {margin: 0 !important;} .fb_iframe_widget {margin: 30px 0;} .alignleft {float: left;margin-right: 25px;} .alignright {float: right;margin-left: 25px;} .map-block {display: block;position: relative;height: 460px;border-radius: 13px;margin: 30px 0;} .map-block iframe {width: 100%;position: absolute;top: 0;left: 0;height: 100%;border-radius: 13px;border: 0;} .dark .wp-content table.large-table.with-thead tr td:before, .dark .wp-content table.large-table tr td:last-child {border-color: #3c3c3c;} .dark .wp-content table.large-table.with-thead tr td:before {color: #fff;} @media screen and (min-width: 761px) { .wp-content .post-preview-item, .wp-content table {margin: 35px 0;} .wp-content .post-preview-item, .wp-content table, .wp-content li {float: none;} } @media screen and (max-width: 1230px) { .wp-content h1 {font-size: 40px;line-height: 46px;} .wp-content blockquote {padding: 35px 45px 30px;} .block-column {margin-left: 50px;} .wide {width: 960px;margin-left: -155px;} } @media screen and (max-width: 1000px) { .wp-content .wrap-center {max-width: 720px;} .wide {position: relative;width: 100vw;left: 50%;margin-left: 0;transform: translateX(-50%);} } @media screen and (max-width: 760px) { .wp-content p {font-size: 18px;line-height: 32px;margin: 15px 0;float: left;} .map-block {float: left;margin: 15px 0;} .wp-content img, .wp-content picture, .wp-content blockquote, .wp-content code {margin: 15px 0;} .block-column {width: 48%;margin-left: 0;} .block-column:nth-child(even) {margin-left: 4%;} .block-columns {-ms-flex-wrap: wrap;flex-wrap: wrap;margin: 0;} .block-column {margin-left: 0;margin-top: 15px;margin-bottom: 15px;} .wp-content table.large-table {display: block;float: left;width: 100%;} .wp-content table.large-table .thead {display: none;} .wp-content table.large-table tr {display: block;float: left;width: 100%;margin-bottom: 17px;} .wp-content table.large-table tr:last-child {margin-bottom: 0;} .wp-content table.large-table tr td {display: block;float: left;width: 100%;border-bottom: 0;position: relative;} .wp-content table.large-table tr td:last-child {border-bottom: 1px solid #ebebeb;} .wp-content table.large-table.with-thead tr td {padding-left: 150px;} .wp-content table.large-table.with-thead tr td:before {width: 130px;height: 100%;content: attr(data-title);color: #1d1d1d;font-family: 'Roboto', sans-serif;font-weight: 700;font-size: 18px;position: absolute;left: 0;top: 0;display: -ms-flexbox;display: flex;-ms-flex-align: center;align-items: center;padding-left: 20px;border-right: 1px solid #ebebeb;box-sizing: border-box;} .wp-content h1, .wp-content h2, .wp-content h3, .wp-content h4, .wp-content h5, .wp-content h6 {margin-top: 20px;margin-bottom: 15px;} .fb_iframe_widget {margin: 15px 0;} .wp-content li {font-size: 18px;line-height: 32px;} } @media screen and (max-width: 590px) { .wp-content p {font-size: 17px;line-height: 30px;} .wp-content h1 {font-size: 34px;} .wp-content h2 {font-size: 30px;} .wp-content h1, .wp-content h2, .wp-content h3, .wp-content h4, .wp-content h5, .wp-content h6 {margin-top: 20px;} .wp-content li {font-size: 17px;line-height: 30px;} .wp-content ol li::marker {font-size: 17px;} .wp-content ol li {padding-left: 2px;} .wp-content ol {padding-left: 20px;} .wp-content blockquote {padding: 33px 30px;} .wp-content table td, .wp-content table th {padding: 10px;font-size: 16px;} .wp-content ul li:before {top: 11px;} .wp-content ul li {padding-left: 24px;} .block-column {width: 100%;} .block-column:nth-child(even) {margin-left: 0;} .block-column {margin-top: 0;margin-bottom: 0;} .wp-content ul.checklist-ul li:before {top: 5px;} .wp-content ul.checklist-ul li {padding-left: 30px;} } @media screen and (max-width: 480px) { .wp-content h1 {font-size: 30px;} .wp-content h2 {font-size: 28px;} .wp-content h3 {font-size: 26px;} .wp-content h4 {font-size: 24px;} .wp-content h5 {font-size: 23px;} .wp-content table td, .wp-content table th {font-size: 15px;} .wp-content li {margin-bottom: 6px;} .wp-content ul li {padding-left: 20px;} .wp-content table.large-table.with-thead tr td:before {font-size: 15px;width: 110px;padding-left: 10px;} .wp-content table.large-table.with-thead tr td {padding-left: 120px;} .map-block {height: 385px;} } 2 | -------------------------------------------------------------------------------- /assets/layui/css/modules/laydate/default/laydate.css: -------------------------------------------------------------------------------- 1 | .laydate-set-ym,.layui-laydate,.layui-laydate *,.layui-laydate-list{box-sizing:border-box}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate{position:absolute;z-index:66666666;margin:5px 0;border-radius:2px;font-size:14px;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;animation-name:laydate-downbit}.layui-laydate-main{width:272px}.layui-laydate-content td,.layui-laydate-header *,.layui-laydate-list li{transition-duration:.3s;-webkit-transition-duration:.3s}@keyframes laydate-downbit{0%{opacity:.3;transform:translate3d(0,-5px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}.layui-laydate-static{position:relative;z-index:0;display:inline-block;margin:0;-webkit-animation:none;animation:none}.laydate-ym-show .laydate-next-m,.laydate-ym-show .laydate-prev-m{display:none!important}.laydate-ym-show .laydate-next-y,.laydate-ym-show .laydate-prev-y{display:inline-block!important}.laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-time-show .layui-laydate-header .layui-icon,.laydate-ym-show .laydate-set-ym span[lay-type=month]{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.layui-laydate-header *{display:inline-block;vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;padding:0 5px;color:#999;font-size:18px;cursor:pointer}.layui-laydate-header i.laydate-prev-y{left:15px}.layui-laydate-header i.laydate-prev-m{left:45px}.layui-laydate-header i.laydate-next-y{right:15px}.layui-laydate-header i.laydate-next-m{right:45px}.laydate-set-ym{width:100%;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate-set-ym span{padding:0 10px;cursor:pointer}.laydate-time-text{cursor:default!important}.layui-laydate-content{position:relative;padding:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content td,.layui-laydate-content th{width:36px;height:30px;padding:5px;text-align:center}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;line-height:30px;font-size:12px;overflow:hidden}.laydate-day-mark::after{position:absolute;content:'';right:2px;top:2px;width:5px;height:5px;border-radius:50%}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px}.layui-laydate-footer span{display:inline-block;vertical-align:top;height:26px;line-height:24px;padding:0 10px;border:1px solid #C9C9C9;border-radius:2px;background-color:#fff;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .3s}.layui-laydate-list>li,.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle}.layui-laydate-footer span:hover{color:#5FB878}.layui-laydate-footer span.layui-laydate-preview{cursor:default;border-color:transparent!important}.layui-laydate-footer span.layui-laydate-preview:hover{color:#666}.layui-laydate-footer span:first-child.layui-laydate-preview{padding-left:0}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{margin:0 0 0 -1px}.layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;background-color:#fff}.layui-laydate-list>li{position:relative;width:33.3%;height:36px;line-height:36px;margin:3px 0;text-align:center;cursor:pointer}.laydate-month-list>li{width:25%;margin:17px 0}.laydate-time-list>li{height:100%;margin:0;line-height:normal;cursor:default}.laydate-time-list p{position:relative;top:-4px;line-height:29px}.laydate-time-list ol{height:181px;overflow:hidden}.laydate-time-list>li:hover ol{overflow-y:auto}.laydate-time-list ol li{width:130%;padding-left:33px;height:30px;line-height:30px;text-align:left;cursor:pointer}.layui-laydate-hint{position:absolute;top:115px;left:50%;width:250px;margin-left:-125px;line-height:20px;padding:15px;text-align:center;font-size:12px}.layui-laydate-range{width:546px}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content,.layui-laydate-range .laydate-main-list-1 .layui-laydate-header{border-left:1px solid #e2e2e2}.layui-laydate,.layui-laydate-hint{border:1px solid #d2d2d2;box-shadow:0 2px 4px rgba(0,0,0,.12);background-color:#fff;color:#666}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#5FB878}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{font-weight:400;color:#333}.layui-laydate-content td{color:#666}.layui-laydate-content td.laydate-selected{background-color:#B5FFF8}.laydate-selected:hover{background-color:#00F7DE!important}.layui-laydate-content td:hover,.layui-laydate-list li:hover{background-color:#eee;color:#333}.laydate-time-list li ol{margin:0;padding:0;border:1px solid #e2e2e2;border-left-width:0}.laydate-time-list li:first-child ol{border-left-width:1px}.laydate-time-list>li:hover{background:0 0}.layui-laydate-content .laydate-day-next,.layui-laydate-content .laydate-day-prev{color:#d2d2d2}.laydate-selected.laydate-day-next,.laydate-selected.laydate-day-prev{background-color:#f8f8f8!important}.layui-laydate-footer{border-top:1px solid #e2e2e2}.layui-laydate-hint{color:#FF5722}.laydate-day-mark::after{background-color:#5FB878}.layui-laydate-content td.layui-this .laydate-day-mark::after{display:none}.layui-laydate-footer span[lay-type=date]{color:#5FB878}.layui-laydate .layui-this{background-color:#009688!important;color:#fff!important}.layui-laydate .laydate-disabled,.layui-laydate .laydate-disabled:hover{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.laydate-theme-molv{border:none}.laydate-theme-molv.layui-laydate-range{width:548px}.laydate-theme-molv .layui-laydate-main{width:274px}.laydate-theme-molv .layui-laydate-header{border:none;background-color:#009688}.laydate-theme-molv .layui-laydate-header i,.laydate-theme-molv .layui-laydate-header span{color:#f6f6f6}.laydate-theme-molv .layui-laydate-header i:hover,.laydate-theme-molv .layui-laydate-header span:hover{color:#fff}.laydate-theme-molv .layui-laydate-content{border:1px solid #e2e2e2;border-top:none;border-bottom:none}.laydate-theme-molv .laydate-main-list-1 .layui-laydate-content{border-left:none}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li,.laydate-theme-grid .layui-laydate-content td,.laydate-theme-grid .layui-laydate-content thead,.laydate-theme-molv .layui-laydate-footer{border:1px solid #e2e2e2}.laydate-theme-grid .laydate-selected,.laydate-theme-grid .laydate-selected:hover{background-color:#f2f2f2!important;color:#009688!important}.laydate-theme-grid .laydate-selected.laydate-day-next,.laydate-theme-grid .laydate-selected.laydate-day-prev{color:#d2d2d2!important}.laydate-theme-grid .laydate-month-list,.laydate-theme-grid .laydate-year-list{margin:1px 0 0 1px}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li{margin:0 -1px -1px 0}.laydate-theme-grid .laydate-year-list>li{height:43px;line-height:43px}.laydate-theme-grid .laydate-month-list>li{height:71px;line-height:71px} -------------------------------------------------------------------------------- /assets/css/footer.css: -------------------------------------------------------------------------------- 1 | .footer { 2 | margin-top: 50px; 3 | display: block; 4 | float: left; 5 | width: 100%; 6 | } 7 | 8 | .footer.absolute { 9 | position: absolute; 10 | bottom: 0; 11 | left: 0; 12 | } 13 | 14 | .footer .menu > ul > li:not(:last-child) { 15 | margin-right: 15px; 16 | } 17 | 18 | .footer .menu > ul > li a { 19 | display: initial; 20 | float: none; 21 | padding: 0; 22 | } 23 | 24 | .footer .footer-right { 25 | width: auto; 26 | max-width: 225px; 27 | display: -ms-flexbox; 28 | display: flex; 29 | -ms-flex-pack: end; 30 | justify-content: flex-end; 31 | position: absolute; 32 | right: 0; 33 | top: 0; 34 | } 35 | 36 | .footer .wrap_float { 37 | padding: 17.5px 0; 38 | } 39 | 40 | .footer .footer-content { 41 | display: -ms-flexbox; 42 | display: flex; 43 | -ms-flex-pack: center; 44 | justify-content: center; 45 | position: relative; 46 | } 47 | 48 | .footer .wrap-center { 49 | display: -ms-flexbox; 50 | display: flex; 51 | -ms-flex-pack: justify; 52 | justify-content: center; 53 | } 54 | 55 | .footer .socials .soc-link { 56 | margin-bottom: 12px; 57 | } 58 | 59 | .footer .footer-column { 60 | display: block; 61 | float: left; 62 | width: 20%; 63 | padding-right: 40px; 64 | } 65 | 66 | .footer .footer-column:last-child { 67 | padding-right: 0; 68 | } 69 | 70 | .footer .footer-column .column-title { 71 | font-size: 19px; 72 | font-family: 'Roboto', sans-serif; 73 | font-weight: 500; 74 | margin-bottom: 30px; 75 | } 76 | 77 | .footer .footer-column.contacts-column .footer-ul li { 78 | margin-bottom: 34px; 79 | } 80 | 81 | .footer .footer-column.contacts-column .footer-ul li:last-child { 82 | margin-bottom: 0; 83 | } 84 | 85 | .footer .footer-column.socials-column .socials { 86 | float: right; 87 | width: 225px; 88 | } 89 | 90 | .footer .footer-column.socials-column .socials .soc-link { 91 | margin-right: 0; 92 | margin-left: 13px; 93 | } 94 | 95 | .footer .footer-column .text { 96 | clear: both; 97 | margin-top: 25px; 98 | } 99 | 100 | .footer .footer-column .logo { 101 | position: relative; 102 | margin-top: -7px; 103 | } 104 | 105 | .footer .footer-ul li { 106 | color: #8E8E8E; 107 | margin-bottom: 9px; 108 | } 109 | 110 | .footer .footer-ul li:last-child { 111 | margin-bottom: 0; 112 | } 113 | 114 | .footer .contacts-link { 115 | display: inline-block; 116 | font-family: 'Roboto', sans-serif; 117 | font-weight: 700; 118 | color: #1d1d1d; 119 | margin-top: 8px; 120 | } 121 | 122 | .footer .footer-footnote { 123 | display: block; 124 | float: left; 125 | width: 100%; 126 | padding-bottom: 30px; 127 | } 128 | 129 | .dark .footer .wrap_float { 130 | border-color: #3C3C3C; 131 | } 132 | 133 | .dark .footer .contacts-link { 134 | color: #fff; 135 | } 136 | 137 | @media screen and (max-width: 1000px) { 138 | .footer .footer-content { 139 | -ms-flex-pack: center; 140 | justify-content: center; 141 | } 142 | 143 | .footer .wrap-center { 144 | display: -ms-flexbox; 145 | display: flex; 146 | -ms-flex-direction: column; 147 | flex-direction: column; 148 | -ms-flex-align: center; 149 | align-items: center; 150 | } 151 | 152 | .footer .socials { 153 | margin-bottom: 30px; 154 | } 155 | 156 | .footer .wrap_float { 157 | padding: 22.5px 0; 158 | /*border-top: 1px solid #DCDEE1;*/ 159 | } 160 | 161 | .footer .footer-content { 162 | display: -ms-flexbox; 163 | display: flex; 164 | -ms-flex-direction: column; 165 | flex-direction: column; 166 | -ms-flex-align: center; 167 | align-items: center; 168 | } 169 | 170 | .footer .logo, 171 | .footer .footer-right { 172 | position: relative; 173 | } 174 | 175 | .footer .footer-right { 176 | margin-top: 40px; 177 | } 178 | 179 | .footer .logo { 180 | display: none; 181 | margin-bottom: 36px; 182 | } 183 | 184 | .footer .footer-column { 185 | width: 50%; 186 | margin-top: 60px; 187 | } 188 | 189 | .footer .footer-column:nth-child(-n+2) { 190 | margin-top: 0; 191 | } 192 | 193 | .footer .footer-column:nth-child(odd) { 194 | clear: both; 195 | } 196 | 197 | .footer .footer-column.socials-column { 198 | width: 100%; 199 | } 200 | 201 | .footer .footer-column.socials-column .socials { 202 | float: left; 203 | width: 100%; 204 | } 205 | 206 | .footer .footer-column.socials-column .socials .soc-link { 207 | margin-left: 0; 208 | margin-right: 12px; 209 | } 210 | 211 | .footer .footer-column .logo { 212 | margin-bottom: 0; 213 | } 214 | } 215 | 216 | @media screen and (max-width: 590px) { 217 | .footer { 218 | margin-top: 30px; 219 | } 220 | 221 | .footer .menu li { 222 | width: 100%; 223 | text-align: center; 224 | } 225 | 226 | .footer .menu li a { 227 | padding: 0; 228 | display: inline-block; 229 | float: none; 230 | } 231 | 232 | .footer .menu li { 233 | margin-bottom: 10px; 234 | } 235 | 236 | .footer .menu li a { 237 | font-size: 18px; 238 | } 239 | 240 | .footer .menu li:last-child { 241 | margin-bottom: 0; 242 | } 243 | 244 | .footer .footer-right { 245 | margin-top: 22px; 246 | } 247 | } 248 | 249 | @media screen and (max-width: 590px) { 250 | .footer .footer-column { 251 | width: 100%; 252 | padding-right: 0; 253 | margin-top: 44px; 254 | } 255 | 256 | .footer .footer-column:nth-child(2) { 257 | margin-top: 44px; 258 | } 259 | 260 | .footer-top { 261 | display: -ms-flexbox; 262 | display: flex; 263 | -ms-flex-direction: column; 264 | flex-direction: column; 265 | } 266 | 267 | .footer .footer-column.socials-column { 268 | -ms-flex-order: -1; 269 | order: -1; 270 | } 271 | 272 | .footer .footer-column.socials-column .socials { 273 | margin-bottom: 0; 274 | display: -ms-flexbox; 275 | display: flex; 276 | -ms-flex-wrap: wrap; 277 | flex-wrap: wrap; 278 | -ms-flex-pack: center; 279 | justify-content: center; 280 | } 281 | 282 | .footer .footer-column.socials-column .socials .soc-link { 283 | margin-right: 0; 284 | margin: 6px; 285 | } 286 | 287 | .footer .footer-column.first-column { 288 | -ms-flex-order: -1; 289 | order: -1; 290 | text-align: center; 291 | display: -ms-flexbox; 292 | display: flex; 293 | -ms-flex-direction: column; 294 | flex-direction: column; 295 | -ms-flex-align: center; 296 | align-items: center; 297 | } 298 | 299 | .footer .footer-column .column-title { 300 | margin-bottom: 20px; 301 | } 302 | 303 | .footer .contacts-link { 304 | font-size: 22px; 305 | } 306 | } 307 | -------------------------------------------------------------------------------- /core/commentsec.php: -------------------------------------------------------------------------------- 1 | comment = array('BearcoolSpam', 'filter'); 2 | 3 | class BearcoolSpam 4 | { 5 | public static function xsscheck($text) 6 | { 7 | $xsscheck = false; 8 | $list = array('/onabort/is', '/onblur/is', '/onchange/is', '/onclick/is', '/ondblclick/is', '/onerror/is', '/onfocus/is', '/onkeydown/is', '/onkeypress/is', '/onkeyup/is', '/onload/is', '/onmousedown/is', '/onmousemove/is', '/onmouseout/is', '/onmouseover/is', '/onmouseup/is', '/onreset/is', '/onresize/is', '/onselect/is', '/onsubmit/is', '/onunload/is', '/eval/is', '/ascript:/is', '/style=/is', '/width=/is', '/width:/is', '/height=/is', '/height:/is', '/src=/is',); 9 | if (strip_tags($text)) { 10 | for ($i = 0; $i < count($list); $i++) { 11 | if (preg_match($list[$i], $text) > 0) { 12 | $xsscheck = true; 13 | break; 14 | } 15 | } 16 | } else { 17 | $xsscheck = true; 18 | }; 19 | return $xsscheck; 20 | } 21 | 22 | /** PHP获取字符串中英文混合长度 */ 23 | public static function strLength($str) 24 | { 25 | preg_match_all('/./us', $str, $match); 26 | return count($match[0]); 27 | } 28 | 29 | /** 检查$str中是否含有$words_str中的词汇 */ 30 | public static function check_in($words_str, $str) 31 | { 32 | $words = explode("\n", $words_str); 33 | if (empty($words)) { 34 | return false; 35 | } 36 | foreach ($words as $word) { 37 | if (false !== strpos($str, trim($word))) { 38 | return true; 39 | } 40 | } 41 | return false; 42 | } 43 | 44 | /** 检查$ip中是否在$words_ip的IP段中 */ 45 | public static function check_ip($words_ip, $ip) 46 | { 47 | $words = explode("\n", $words_ip); 48 | if (empty($words)) { 49 | return false; 50 | } 51 | foreach ($words as $word) { 52 | $word = trim($word); 53 | if (false !== strpos($word, '*')) { 54 | $word = "/^" . str_replace('*', '\d{1,3}', $word) . "$/"; 55 | if (preg_match($word, $ip)) { 56 | return true; 57 | } 58 | } else { 59 | if (false !== strpos($ip, $word)) { 60 | return true; 61 | } 62 | } 63 | } 64 | return false; 65 | } 66 | 67 | public static function filter($comment, $post) 68 | { 69 | $options = Typecho_Widget::widget('Widget_Options'); 70 | if (strlen(trim(preg_replace('/\xc2\xa0/', ' ', $comment['text']))) == 0) { 71 | Typecho_Cookie::set('__typecho_remember_text', $comment['text']); 72 | throw new Typecho_Widget_Exception("抱歉,系统检测到您的评论内容只有空格,请返回修改后再试。"); 73 | } 74 | if (BearcoolSpam::xsscheck($comment['text'])) { 75 | Typecho_Cookie::set('__typecho_remember_text', $comment['text']); 76 | throw new Typecho_Widget_Exception("抱歉,系统检测到您的评论包含危险内容,请返回修改后再试。"); 77 | } 78 | if (!empty($options->BearSpam_IP)) { 79 | if (BearcoolSpam::check_ip($options->BearSpam_IP, $comment['ip'])) { 80 | throw new Typecho_Widget_Exception("抱歉,系统检测到您的IP处于屏蔽范围内,已拦截本条评论。"); 81 | Typecho_Cookie::set('__typecho_remember_text', $comment['text']); 82 | } 83 | } 84 | if (!empty($options->BearSpam_EMAIL)) { 85 | if (BearcoolSpam::check_in($options->BearSpam_EMAIL, $comment['mail'])) { 86 | throw new Typecho_Widget_Exception("抱歉,系统检测到您的邮箱处于屏蔽范围内,已拦截本条评论。"); 87 | Typecho_Cookie::set('__typecho_remember_text', $comment['text']); 88 | } 89 | } 90 | if (!empty($options->BearSpam_NAME)) { 91 | if (BearcoolSpam::check_in($options->BearSpam_NAME, $comment['author'])) { 92 | throw new Typecho_Widget_Exception("抱歉,系统检测到您的昵称存在敏感禁止词汇,已拦截本条评论。"); 93 | Typecho_Cookie::set('__typecho_remember_text', $comment['text']); 94 | } 95 | } 96 | if (!empty($options->BearSpam_URL)) { 97 | if (BearcoolSpam::check_in($options->BearSpam_URL, $comment['url'])) { 98 | throw new Typecho_Widget_Exception("抱歉,系统检测到您的网址处于屏蔽范围内,已拦截本条评论。"); 99 | Typecho_Cookie::set('__typecho_remember_text', $comment['text']); 100 | } 101 | } 102 | if ($options->BearSpam_ArticleTitle) { 103 | $db = Typecho_Db::get();/*获取评论所在文章*/ 104 | $pot = $db->fetchRow($db->select('title')->from('table.contents')->where('cid = ?', $comment['cid'])); 105 | if (strstr($comment['text'], $pot['title'])) { 106 | throw new Typecho_Widget_Exception("抱歉,系统检测到您的评论内容疑似存在灌水内容,已自动拦截。"); 107 | Typecho_Cookie::set('__typecho_remember_text', $comment['text']); 108 | } 109 | } 110 | if (!empty($options->BearSpam_NAMEMIN)) { 111 | if (BearcoolSpam::strLength($comment['author']) < $options->BearSpam_NAMEMIN) { 112 | throw new Typecho_Widget_Exception("抱歉,系统检测到您的评论昵称过短,已自动拦截。"); 113 | Typecho_Cookie::set('__typecho_remember_text', $comment['text']); 114 | } 115 | } 116 | if (!empty($options->BearSpam_NAMEMAX)) { 117 | if (BearcoolSpam::strLength($comment['author']) > $options->BearSpam_NAMEMAX) { 118 | throw new Typecho_Widget_Exception("抱歉,系统检测到您的评论昵称过长,已自动拦截。"); 119 | Typecho_Cookie::set('__typecho_remember_text', $comment['text']); 120 | } 121 | } 122 | if ($options->BearSpam_NAMEURL) { 123 | if (preg_match(" /^((https?|ftp|news):\/\/)?([a-z]([a-z0-9\-]*[\.。])+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)|(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?(#[a-z][a-z0-9_]*)?$/ ", $comment['author']) > 0) { 124 | throw new Typecho_Widget_Exception("抱歉,系统检测到您的评论昵称异常,已自动拦截。"); 125 | Typecho_Cookie::set('__typecho_remember_text', $comment['text']); 126 | } 127 | } 128 | if ($options->BearSpam_Chinese) { 129 | if (preg_match("/[\x{4e00}-\x{9fa5}]/u", $comment['text']) == 0) { 130 | throw new Typecho_Widget_Exception("抱歉,系统检测到您的评论内容不包含中文,已自动拦截。"); 131 | Typecho_Cookie::set('__typecho_remember_text', $comment['text']); 132 | } 133 | } 134 | if (!empty($options->BearSpam_MIN)) { 135 | if (BearcoolSpam::strLength($comment['text']) < $options->BearSpam_MIN) { 136 | throw new Typecho_Widget_Exception("抱歉,系统检测到您的评论内容字数过少,已自动拦截。"); 137 | Typecho_Cookie::set('__typecho_remember_text', $comment['text']); 138 | } 139 | } 140 | if (!empty($options->BearSpam_MAX)) { 141 | if (BearcoolSpam::strLength($comment['text']) > $options->BearSpam_MAX) { 142 | throw new Typecho_Widget_Exception("抱歉,系统检测到您的评论内容字数过多,已自动拦截。"); 143 | Typecho_Cookie::set('__typecho_remember_text', $comment['text']); 144 | } 145 | } 146 | if (!empty($options->BearSpam_Words)) { 147 | if (BearcoolSpam::check_in($options->BearSpam_Words, $comment['text'])) { 148 | throw new Typecho_Widget_Exception("抱歉,系统检测到您的评论内容包含敏感禁止词汇,已自动拦截。"); 149 | Typecho_Cookie::set('__typecho_remember_text', $comment['text']); 150 | } 151 | } 152 | Typecho_Cookie::delete('__typecho_remember_text'); 153 | return $comment; 154 | } 155 | } 156 | -------------------------------------------------------------------------------- /assets/fontawesome/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Fonticons, Inc. (https://fontawesome.com) 2 | 3 | -------------------------------------------------------------------------------- 4 | 5 | Font Awesome Free License 6 | 7 | Font Awesome Free is free, open source, and GPL friendly. You can use it for 8 | commercial projects, open source projects, or really almost whatever you want. 9 | Full Font Awesome Free license: https://fontawesome.com/license/free. 10 | 11 | -------------------------------------------------------------------------------- 12 | 13 | # Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) 14 | 15 | The Font Awesome Free download is licensed under a Creative Commons 16 | Attribution 4.0 International License and applies to all icons packaged 17 | as SVG and JS file types. 18 | 19 | -------------------------------------------------------------------------------- 20 | 21 | # Fonts: SIL OFL 1.1 License 22 | 23 | In the Font Awesome Free download, the SIL OFL license applies to all icons 24 | packaged as web and desktop font files. 25 | 26 | Copyright (c) 2022 Fonticons, Inc. (https://fontawesome.com) 27 | with Reserved Font Name: "Font Awesome". 28 | 29 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 30 | This license is copied below, and is also available with a FAQ at: 31 | http://scripts.sil.org/OFL 32 | 33 | SIL OPEN FONT LICENSE 34 | Version 1.1 - 26 February 2007 35 | 36 | PREAMBLE 37 | The goals of the Open Font License (OFL) are to stimulate worldwide 38 | development of collaborative font projects, to support the font creation 39 | efforts of academic and linguistic communities, and to provide a free and 40 | open framework in which fonts may be shared and improved in partnership 41 | with others. 42 | 43 | The OFL allows the licensed fonts to be used, studied, modified and 44 | redistributed freely as long as they are not sold by themselves. The 45 | fonts, including any derivative works, can be bundled, embedded, 46 | redistributed and/or sold with any software provided that any reserved 47 | names are not used by derivative works. The fonts and derivatives, 48 | however, cannot be released under any other type of license. The 49 | requirement for fonts to remain under this license does not apply 50 | to any document created using the fonts or their derivatives. 51 | 52 | DEFINITIONS 53 | "Font Software" refers to the set of files released by the Copyright 54 | Holder(s) under this license and clearly marked as such. This may 55 | include source files, build scripts and documentation. 56 | 57 | "Reserved Font Name" refers to any names specified as such after the 58 | copyright statement(s). 59 | 60 | "Original Version" refers to the collection of Font Software components as 61 | distributed by the Copyright Holder(s). 62 | 63 | "Modified Version" refers to any derivative made by adding to, deleting, 64 | or substituting — in part or in whole — any of the components of the 65 | Original Version, by changing formats or by porting the Font Software to a 66 | new environment. 67 | 68 | "Author" refers to any designer, engineer, programmer, technical 69 | writer or other person who contributed to the Font Software. 70 | 71 | PERMISSION & CONDITIONS 72 | Permission is hereby granted, free of charge, to any person obtaining 73 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 74 | redistribute, and sell modified and unmodified copies of the Font 75 | Software, subject to the following conditions: 76 | 77 | 1) Neither the Font Software nor any of its individual components, 78 | in Original or Modified Versions, may be sold by itself. 79 | 80 | 2) Original or Modified Versions of the Font Software may be bundled, 81 | redistributed and/or sold with any software, provided that each copy 82 | contains the above copyright notice and this license. These can be 83 | included either as stand-alone text files, human-readable headers or 84 | in the appropriate machine-readable metadata fields within text or 85 | binary files as long as those fields can be easily viewed by the user. 86 | 87 | 3) No Modified Version of the Font Software may use the Reserved Font 88 | Name(s) unless explicit written permission is granted by the corresponding 89 | Copyright Holder. This restriction only applies to the primary font name as 90 | presented to the users. 91 | 92 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 93 | Software shall not be used to promote, endorse or advertise any 94 | Modified Version, except to acknowledge the contribution(s) of the 95 | Copyright Holder(s) and the Author(s) or with their explicit written 96 | permission. 97 | 98 | 5) The Font Software, modified or unmodified, in part or in whole, 99 | must be distributed entirely under this license, and must not be 100 | distributed under any other license. The requirement for fonts to 101 | remain under this license does not apply to any document created 102 | using the Font Software. 103 | 104 | TERMINATION 105 | This license becomes null and void if any of the above conditions are 106 | not met. 107 | 108 | DISCLAIMER 109 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 110 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 111 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 112 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 113 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 114 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 115 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 116 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 117 | OTHER DEALINGS IN THE FONT SOFTWARE. 118 | 119 | -------------------------------------------------------------------------------- 120 | 121 | # Code: MIT License (https://opensource.org/licenses/MIT) 122 | 123 | In the Font Awesome Free download, the MIT license applies to all non-font and 124 | non-icon files. 125 | 126 | Copyright 2022 Fonticons, Inc. 127 | 128 | Permission is hereby granted, free of charge, to any person obtaining a copy of 129 | this software and associated documentation files (the "Software"), to deal in the 130 | Software without restriction, including without limitation the rights to use, copy, 131 | modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 132 | and to permit persons to whom the Software is furnished to do so, subject to the 133 | following conditions: 134 | 135 | The above copyright notice and this permission notice shall be included in all 136 | copies or substantial portions of the Software. 137 | 138 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 139 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 140 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 141 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 142 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 143 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 144 | 145 | -------------------------------------------------------------------------------- 146 | 147 | # Attribution 148 | 149 | Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font 150 | Awesome Free files already contain embedded comments with sufficient 151 | attribution, so you shouldn't need to do anything additional when using these 152 | files normally. 153 | 154 | We've kept attribution comments terse, so we ask that you do not actively work 155 | to remove them from files, especially code. They're a great way for folks to 156 | learn about Font Awesome. 157 | 158 | -------------------------------------------------------------------------------- 159 | 160 | # Brand Icons 161 | 162 | All brand icons are trademarks of their respective owners. The use of these 163 | trademarks does not indicate endorsement of the trademark holder by Font 164 | Awesome, nor vice versa. **Please do not use brand logos for any purpose except 165 | to represent the company, product, or service to which they refer.** 166 | -------------------------------------------------------------------------------- /assets/js/lazyload.min.js: -------------------------------------------------------------------------------- 1 | !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n="undefined"!=typeof globalThis?globalThis:n||self).LazyLoad=t()}(this,(function(){"use strict";function n(){return n=Object.assign||function(n){for(var t=1;t1,r={elements_selector:".lazy",container:e||t?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_bg_set:"bg-set",data_poster:"poster",class_applied:"applied",class_loading:"loading",class_loaded:"loaded",class_error:"error",class_entered:"entered",class_exited:"exited",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1,restore_on_error:!1},c=function(t){return n({},r,t)},l=function(n,t){var e,i="LazyLoad::Initialized",o=new n(t);try{e=new CustomEvent(i,{detail:{instance:o}})}catch(n){(e=document.createEvent("CustomEvent")).initCustomEvent(i,!1,!1,{instance:o})}window.dispatchEvent(e)},u="src",s="srcset",d="sizes",f="poster",_="llOriginalAttrs",g="data",v="loading",b="loaded",m="applied",p="error",h="native",E="data-",I="ll-status",y=function(n,t){return n.getAttribute(E+t)},k=function(n){return y(n,I)},w=function(n,t){return function(n,t,e){var i="data-ll-status";null!==e?n.setAttribute(i,e):n.removeAttribute(i)}(n,0,t)},A=function(n){return w(n,null)},L=function(n){return null===k(n)},O=function(n){return k(n)===h},x=[v,b,m,p],C=function(n,t,e,i){n&&(void 0===i?void 0===e?n(t):n(t,e):n(t,e,i))},N=function(n,t){o?n.classList.add(t):n.className+=(n.className?" ":"")+t},M=function(n,t){o?n.classList.remove(t):n.className=n.className.replace(new RegExp("(^|\\s+)"+t+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},z=function(n){return n.llTempImage},T=function(n,t){if(t){var e=t._observer;e&&e.unobserve(n)}},R=function(n,t){n&&(n.loadingCount+=t)},G=function(n,t){n&&(n.toLoadCount=t)},j=function(n){for(var t,e=[],i=0;t=n.children[i];i+=1)"SOURCE"===t.tagName&&e.push(t);return e},D=function(n,t){var e=n.parentNode;e&&"PICTURE"===e.tagName&&j(e).forEach(t)},H=function(n,t){j(n).forEach(t)},V=[u],F=[u,f],B=[u,s,d],J=[g],P=function(n){return!!n[_]},S=function(n){return n[_]},U=function(n){return delete n[_]},$=function(n,t){if(!P(n)){var e={};t.forEach((function(t){e[t]=n.getAttribute(t)})),n[_]=e}},q=function(n,t){if(P(n)){var e=S(n);t.forEach((function(t){!function(n,t,e){e?n.setAttribute(t,e):n.removeAttribute(t)}(n,t,e[t])}))}},K=function(n,t,e){N(n,t.class_applied),w(n,m),e&&(t.unobserve_completed&&T(n,t),C(t.callback_applied,n,e))},Q=function(n,t,e){N(n,t.class_loading),w(n,v),e&&(R(e,1),C(t.callback_loading,n,e))},W=function(n,t,e){e&&n.setAttribute(t,e)},X=function(n,t){W(n,d,y(n,t.data_sizes)),W(n,s,y(n,t.data_srcset)),W(n,u,y(n,t.data_src))},Y={IMG:function(n,t){D(n,(function(n){$(n,B),X(n,t)})),$(n,B),X(n,t)},IFRAME:function(n,t){$(n,V),W(n,u,y(n,t.data_src))},VIDEO:function(n,t){H(n,(function(n){$(n,V),W(n,u,y(n,t.data_src))})),$(n,F),W(n,f,y(n,t.data_poster)),W(n,u,y(n,t.data_src)),n.load()},OBJECT:function(n,t){$(n,J),W(n,g,y(n,t.data_src))}},Z=["IMG","IFRAME","VIDEO","OBJECT"],nn=function(n,t){!t||function(n){return n.loadingCount>0}(t)||function(n){return n.toLoadCount>0}(t)||C(n.callback_finish,t)},tn=function(n,t,e){n.addEventListener(t,e),n.llEvLisnrs[t]=e},en=function(n,t,e){n.removeEventListener(t,e)},on=function(n){return!!n.llEvLisnrs},an=function(n){if(on(n)){var t=n.llEvLisnrs;for(var e in t){var i=t[e];en(n,e,i)}delete n.llEvLisnrs}},rn=function(n,t,e){!function(n){delete n.llTempImage}(n),R(e,-1),function(n){n&&(n.toLoadCount-=1)}(e),M(n,t.class_loading),t.unobserve_completed&&T(n,e)},cn=function(n,t,e){var i=z(n)||n;on(i)||function(n,t,e){on(n)||(n.llEvLisnrs={});var i="VIDEO"===n.tagName?"loadeddata":"load";tn(n,i,t),tn(n,"error",e)}(i,(function(o){!function(n,t,e,i){var o=O(t);rn(t,e,i),N(t,e.class_loaded),w(t,b),C(e.callback_loaded,t,i),o||nn(e,i)}(0,n,t,e),an(i)}),(function(o){!function(n,t,e,i){var o=O(t);rn(t,e,i),N(t,e.class_error),w(t,p),C(e.callback_error,t,i),e.restore_on_error&&q(t,B),o||nn(e,i)}(0,n,t,e),an(i)}))},ln=function(n,t,e){!function(n){return Z.indexOf(n.tagName)>-1}(n)?function(n,t,e){!function(n){n.llTempImage=document.createElement("IMG")}(n),cn(n,t,e),function(n){P(n)||(n[_]={backgroundImage:n.style.backgroundImage})}(n),function(n,t,e){var i=y(n,t.data_bg),o=y(n,t.data_bg_hidpi),r=a&&o?o:i;r&&(n.style.backgroundImage='url("'.concat(r,'")'),z(n).setAttribute(u,r),Q(n,t,e))}(n,t,e),function(n,t,e){var i=y(n,t.data_bg_multi),o=y(n,t.data_bg_multi_hidpi),r=a&&o?o:i;r&&(n.style.backgroundImage=r,K(n,t,e))}(n,t,e),function(n,t,e){var i=y(n,t.data_bg_set);if(i){var o=i.split("|"),a=o.map((function(n){return"image-set(".concat(n,")")}));n.style.backgroundImage=a.join(),""===n.style.backgroundImage&&(a=o.map((function(n){return"-webkit-image-set(".concat(n,")")})),n.style.backgroundImage=a.join()),K(n,t,e)}}(n,t,e)}(n,t,e):function(n,t,e){cn(n,t,e),function(n,t,e){var i=Y[n.tagName];i&&(i(n,t),Q(n,t,e))}(n,t,e)}(n,t,e)},un=function(n){n.removeAttribute(u),n.removeAttribute(s),n.removeAttribute(d)},sn=function(n){D(n,(function(n){q(n,B)})),q(n,B)},dn={IMG:sn,IFRAME:function(n){q(n,V)},VIDEO:function(n){H(n,(function(n){q(n,V)})),q(n,F),n.load()},OBJECT:function(n){q(n,J)}},fn=function(n,t){(function(n){var t=dn[n.tagName];t?t(n):function(n){if(P(n)){var t=S(n);n.style.backgroundImage=t.backgroundImage}}(n)})(n),function(n,t){L(n)||O(n)||(M(n,t.class_entered),M(n,t.class_exited),M(n,t.class_applied),M(n,t.class_loading),M(n,t.class_loaded),M(n,t.class_error))}(n,t),A(n),U(n)},_n=["IMG","IFRAME","VIDEO"],gn=function(n){return n.use_native&&"loading"in HTMLImageElement.prototype},vn=function(n,t,e){n.forEach((function(n){return function(n){return n.isIntersecting||n.intersectionRatio>0}(n)?function(n,t,e,i){var o=function(n){return x.indexOf(k(n))>=0}(n);w(n,"entered"),N(n,e.class_entered),M(n,e.class_exited),function(n,t,e){t.unobserve_entered&&T(n,e)}(n,e,i),C(e.callback_enter,n,t,i),o||ln(n,e,i)}(n.target,n,t,e):function(n,t,e,i){L(n)||(N(n,e.class_exited),function(n,t,e,i){e.cancel_on_exit&&function(n){return k(n)===v}(n)&&"IMG"===n.tagName&&(an(n),function(n){D(n,(function(n){un(n)})),un(n)}(n),sn(n),M(n,e.class_loading),R(i,-1),A(n),C(e.callback_cancel,n,t,i))}(n,t,e,i),C(e.callback_exit,n,t,i))}(n.target,n,t,e)}))},bn=function(n){return Array.prototype.slice.call(n)},mn=function(n){return n.container.querySelectorAll(n.elements_selector)},pn=function(n){return function(n){return k(n)===p}(n)},hn=function(n,t){return function(n){return bn(n).filter(L)}(n||mn(t))},En=function(n,e){var o=c(n);this._settings=o,this.loadingCount=0,function(n,t){i&&!gn(n)&&(t._observer=new IntersectionObserver((function(e){vn(e,n,t)}),function(n){return{root:n.container===document?null:n.container,rootMargin:n.thresholds||n.threshold+"px"}}(n)))}(o,this),function(n,e){t&&(e._onlineHandler=function(){!function(n,t){var e;(e=mn(n),bn(e).filter(pn)).forEach((function(t){M(t,n.class_error),A(t)})),t.update()}(n,e)},window.addEventListener("online",e._onlineHandler))}(o,this),this.update(e)};return En.prototype={update:function(n){var t,o,a=this._settings,r=hn(n,a);G(this,r.length),!e&&i?gn(a)?function(n,t,e){n.forEach((function(n){-1!==_n.indexOf(n.tagName)&&function(n,t,e){n.setAttribute("loading","lazy"),cn(n,t,e),function(n,t){var e=Y[n.tagName];e&&e(n,t)}(n,t),w(n,h)}(n,t,e)})),G(e,0)}(r,a,this):(o=r,function(n){n.disconnect()}(t=this._observer),function(n,t){t.forEach((function(t){n.observe(t)}))}(t,o)):this.loadAll(r)},destroy:function(){this._observer&&this._observer.disconnect(),t&&window.removeEventListener("online",this._onlineHandler),mn(this._settings).forEach((function(n){U(n)})),delete this._observer,delete this._settings,delete this._onlineHandler,delete this.loadingCount,delete this.toLoadCount},loadAll:function(n){var t=this,e=this._settings;hn(n,e).forEach((function(n){T(n,t),ln(n,e,t)}))},restoreAll:function(){var n=this._settings;mn(n).forEach((function(t){fn(t,n)}))}},En.load=function(n,t){var e=c(t);ln(n,e)},En.resetStatus=function(n){A(n)},t&&function(n,t){if(t)if(t.length)for(var e,i=0;e=t[i];i+=1)l(n,e);else l(n,t)}(En,window.lazyLoadOptions),En})); 2 | --------------------------------------------------------------------------------